本技术涉及一种车流轨迹位置仿真时间同步的方法,属于车流轨迹位置仿真时间同步。
背景技术:
1、实时车辆位置展示可以帮助交通管理人员及时了解道路拥堵情况、车辆流量分布等信息,并根据这些信息做出相应的治理决策。
2、在进行车辆位置计算时,需要考虑系统间的时间同步误差、计算延迟和数据传输延迟造成的数据时间误差,以保证仿真时间与数据时间在一定差值范围内保持同步。计算延迟是指在采集系统在生成数据时,因为采集系统多数是算力较低的arm架构系统,会导致生成的数据时间,实际比世界时间有延迟,数量级可能达到秒级。数据传输延迟是指数据在传输过程中,由于网络传输造成的时间延迟,数量级可达秒级。
3、系统间时钟误差:不同计算机时间系统存在时钟偏差,导致每秒钟定义的时长存在误差。类似于有些钟走得快,有些钟走得慢。
4、计算延迟误差:数据产生系统在生成数据时,数据的标记时间可能是计算机程序开始处理数据的时间,但考虑到数据量大的情况,程序在处理数据时需要花费一定的时间,导致数据实际发出的时间要落后于数据的标记时间。
5、数据延迟:理论上,如果数据发送模块与数据接收模块的时间是完全同步的,那么数据在接收端接收的这一时刻的时间减去数据包中解析出来的数据时间就是数据传输的延迟时间。
6、以上情况可能会存在不稳定和累计效果,导致在仿真系统收到数据时,仿真系统的仿真时间与数据中的数据时间相差越来越大。
7、如果仿真时间大于数据包中的数据时间,会导致插值失败;例如,在一个10秒钟的时间段内,平均每秒钟收到了4帧数据,总共约40帧数据。但是最后一帧数据可能是第9秒的数据,在第10秒时没有车辆的位置信息,导致插值失败。数据传输延迟可能会有累计效果,造成延迟越来越多,实时性降低。
技术实现思路
1、在下文中给出了关于本发明的简要概述,以便提供关于本发明的某些方面的基本理解。应当理解,这个概述并不是关于本发明的穷举性概述。它并不是意图确定本发明的关键或重要部分,也不是意图限定本发明的范围。其目的仅仅是以简化的形式给出某些概念,以此作为稍后论述的更详细描述的前序。
2、鉴于此,为解决现有技术中存在的无法高效的保证实现车辆轨迹位置的实时性的技术问题,本发明提供一种车流轨迹位置仿真时间同步的方法,本发明可以有效解决实时车流数据的时间同步问题,避免车辆停止运动等异常情况的发生,同时保证了实时性。
3、方案一、一种车流轨迹位置仿真时间同步的方法,包括以下步骤:
4、s1.设计接收车辆实时数据结构用于解析接收数据的信息,设计车辆实时数据缓存结构用于存储车辆信息;
5、s2.仿真开始,接收车辆实时数据,对车辆实时数据进行解析,并更新车辆信息;
6、s3.给定仿真起始时间,计算所有车辆给定时刻的位置,并行遍历车辆列表中的每辆车辆,根据车辆的位置对车辆在给定时刻的位置进行插值计算,获得车辆的位置;
7、s4.接收车辆实时数据时,根据仿真时间与接收车辆实时数据的时间戳进行比较,当差值满足条件1或条件2时,对仿真时间进行修正;
8、条件1.如果仿真时间大于或等于数据时间,根据数据的时间重新计算仿真时间,保持时间同步;
9、条件2.如果仿真时间小于数据时间,并且差距超过了时间间隔阈值,则重新设置仿真时间。
10、优选的,设计接收车辆实时数据结构方法是:车辆实时数据结构包括数据时间和车辆的位置信息,解析后的信息存储在对应的数据结构内;
11、数据时间为:当前数据包产生的时刻,如果接收到的数据没有时间信息,则以接收到数据的时间作为该数据的时间;
12、车辆的位置信息:在数据时间下的车辆的位置;
13、车辆的位置信息包括车辆id、车辆所在的道路信息和车辆的坐标;
14、设计车辆实时数据缓存结构方法是:
15、设置车辆列表保存车辆id,并以车辆id为key,每辆车生成一个以时间顺序的队列来保存车辆视区范围内的时序数据;
16、优选的,仿真开始,接收车辆实时数据,对车辆实时数据进行解析,并更新车辆信息方法是:
17、s21.遍历数据中的所有车辆信息,判断车辆是否存在于车辆列表中,如果车辆存在,则将位置和时间信息添加到车辆相应的位置数组中,并对数组按时间进行排序;如果车辆不存在,则将该车辆的id添加到车辆列表,并创建新的位置数组记录车的位置,同时添加车辆位置和数据产生的时间信息;
18、s22.遍历车辆列表中的车辆,新数据中没有出现的车辆从车辆列表中移除,并删除相应的位置数组;
19、优选的,给定仿真起始时间的方法是:在收到的第一个数据包中的数据时间加至少一个周期的延迟,作为位置仿真起始时间。
20、优选的,给定仿真起始时间,计算所有车辆给定时刻的位置,并行遍历车辆列表中的每辆车辆,根据车辆的位置对车辆在给定时刻的位置进行插值计算,获得车辆的位置方法是:包括以下步骤:
21、s31.设要计算车辆在目标时刻t时的位置,获取车辆的位置,对数组按照时间顺序排序;
22、s32.遍历车辆位置数组中,找到目标时刻t相邻两个已知位置点,位置点p1和位置点p2,位置点p1和位置点p2的时间值分别小于和大于等于目标时刻,即t1 23、s33.从车辆的位置数据中获取的两个位置点为p1=(t1,x)和p2=(t2,x2),其中t1 24、s34.使用线性插值算法,计算目标时刻的位置x,x=x1+(x2-x1)*(t-t1)/(t2-t1);根据时间差和位置差的比例推断目标时刻的位置x,其中,(x2-x1)表示位置差,(t-t1)表示时间差(t2-t1)表示时间间隔,将目标时刻t带入公式,计算出车辆在目标时刻的位置x; 25、s35.根据s34插值得出的车辆位置为x,x=(x,y),x为车辆沿道路方向距离道路起点的距离,y为车辆偏离道路中心线的距离,左侧为负,右侧为正;获取到车辆在t时刻的位置x后,再将x坐标经过坐标转换,转到仿真模型坐标系下的坐标x',用x'来更新车辆的位置。 26、方案二、一种电子设备,包括存储器和处理器,存储器存储有计算机程序,所述的处理器执行所述计算机程序时实现方案一所述的一种车流轨迹位置仿真时间同步的方法的步骤。 27、方案三、一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现方案一所述的一种车流轨迹位置仿真时间同步的方法。 28、本发明的有益效果如下:本发明的技术方案考虑了系统间的时钟误差、计算延迟误差和数据传输延迟的影响,通过定期比较仿真时间与数据时间,解决时间延迟偏移问题,防止时间延迟越来越大,确保计算的准确性和实时性,可以为交通管理和驾驶员提供准确的车辆位置信息,帮助优化交通流量,减少拥堵,提高交通安全性。