System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及数据处理领域,特别涉及一种自然驾驶多源异构数据同步处理方法。
技术介绍
1、自然驾驶数据是智能汽车算法模型的基础,多源异构数据综合了多种传感器信息的信号输入,在多传感器融合领域具有更高的应用价值,区别于单一传感器,多传感器数据需要进行同步处理,得到同一时刻下不同传感器采集的数据才能用于后续融合算法。然而由于各种传感器的采集频率、运行效率的不同,带来了多源异构数据的同步问题。在之前的时间同步任务中,只能针对同一时刻t下的高频和低频传感器进行同步,忽略了第t-1帧到第t帧之间的所有高频传感器同步数据,而这对于要用到高频传感器数据的多传感器融合算法,会因为丢失了大量数据,而导致结果的不准确,并且由于时间同步后的不同传感器数据是分别保存的,不便于一次获取所需的所有同步数据,也对后续研究带来了不便。比如,在智能汽车的里程计估计问题中,要用到相机两帧之间的多帧imu、轮速计信号做积分,从而正确估计同一时间段内的车辆里程计结果,因此需要对多传感器做时间同步,并进行数据处理,将同步后的数据作为一组,这样更便于后续算法研究。
2、时间同步主要包括硬同步和软同步,本研究主要围绕软同步技术和数据处理展开,即在为不同传感器提供同一时钟源的基础上,从软件层面获取同一时刻不同传感器数据,并保留无法和低频传感器数据同步的高频传感器数据。目前针对这一部分的研究,主要问题在于没有区分不同频率传感器采集的数据,导致时间同步后的同一时刻下,一个传感器仅保留了一份数据,比如,对于imu这种频率在100hz以上的传感器因为要与频率为30hz的相
技术实现思路
1、为了解决上述技术问题,本专利技术提供一种自然驾驶多源异构数据同步处理方法,包括以下步骤:
2、(1)多线程数据采集模块实时预采集高频传感器数据和低频传感器数据,并将传感器的采集数据暂存到车载计算设备的内存中;每一种传感器数据,都有对应的一个线程去采集处理;通过统一的时钟源给各传感器提供相同的基准时间,根据时间信息在所采集数据中加入时间戳,得到校时数据;将所述校时数据封装为智能指针,得到不同传感器信号的指针数据,最后将不同传感器指针数据发送给采集数据缓冲区模块;
3、(2)高频传感器数据同步模块接收采集数据缓冲区模块中的数个高频传感器缓冲区中的指针数据,再对所有高频传感器指针数据进行时间软同步,即将同一时刻采集的高频传感器数据存储在一起,得到高频传感器同步指针数据;低频传感器数据同步模块接收采集数据缓冲区模块中的数个低频传感器缓冲区中的指针数据,再对所有低频传感器指针数据进行时间软同步,即将同一时刻采集的低频传感器数据存储在一起,得到低频传感器同步指针数据;
4、(3)将所述高频传感器同步指针数据和低频传感器同步指针数据分别发送给高频传感器数据缓冲区模块和低频传感器数据缓冲区模块中;所述高频传感器数据缓冲区模块接收所述高频传感器数据同步模块中的所述高频传感器同步指针数据,构建线程安全的高效环形缓冲区,将高频传感器同步指针数据顺序存储到对应的所述环形缓冲区的尾部,从环形缓冲区头部,将所述高频传感器同步指针数据发送给所述多源异构数据同步模块;所述低频传感器数据缓冲区模块接收所述低频传感器数据同步模块中的所述低频传感器同步指针数据,构建线程安全的高效环形缓冲区,将低频传感器同步指针数据顺序存储到对应的所述环形缓冲区的尾部,从环形缓冲区头部,将所述低频传感器同步指针数据发送给多源异构数据同步模块;
5、(4)多源异构数据同步模块对高频传感器数据缓冲区模块和低频传感器数据缓冲区模块中的数据进行二次同步:多源异构数据同步模块接收高频和低频传感器数据缓冲区模块中的高频传感器同步指针数据和低频传感器同步指针数据,将高频和低频传感器同步指针数据进行初始时间对齐,再对指针数据进行时间软同步,以低频传感器同步指针数据的时间戳为基准,找到低频传感器在第t帧时的同步指针数据,并通过差值法得到同一时间戳下的高频传感器指针数据,再找到在第t-1帧到第t帧之间的高频传感器同步指针数据,将这些数据储存在一起,得到一帧多源异构同步指针数据,最后将所述多源异构同步指针数据发送给同步数据存储模块。
6、本专利技术所述的高频传感器和低频传感器并不局限于某一种频率,仅是当一种传感器采集频率高于另一种两倍以上,并且需要获取同步后的一帧低频传感器数据和对应的多帧高频传感器数据时,便可以使用本专利技术方法。
7、此外本方法不限于做二次同步,所述二次同步的方法可以看做一个整体,如果需要对三种频率等级的传感器进行数据同步处理,可以对相对更高频的两种传感器数据先进行二次同步处理,得到的结果再与最低频的传感器做二次同步,即通过三次同步即可实现三种频率等级传感器数据的同步处理,更多频率等级的传感器都可以按照此方法以此类推。
8、进一步的,所述高频传感器是指采集频率高于某一预设频率的传感器,包括但不限于:gnss接收机、惯性测量单元等;所述的高频传感器数据包括但不限于gnss接收机采集的经纬度、海拔数据和惯性测量单元采集的角速度、加速度数据;
9、所述低频传感器是指采集频率低于某一预设频率的传感器,包括但不限于:双目相机、激光雷达等;所述的低频传感器数据包括但不限于双目相机采集的图像数据和激光雷达采集的点云数据。
10、进一步的,所述的采集数据缓冲区模块,用于缓存所述多线程数据采集模块中采集的数据,并将数据传输给高频传感器数据同步模块和低频传感器数据同步模块;采集数据缓冲区模块接收不同传感器信号的指针数据,对不同传感器信号的指针数据构建单独的、线程安全的高效环形缓冲区,将所述指针数据顺序存储到对应的环形缓冲区的尾部;从环形缓冲区头部将高频传感器指针数据输出到高频传感器数据同步模块,将低频传感器指针数据输出到低频传感器数据同步模块;根据多线程数据采集模块中采集的数据种类,所述采集数据缓冲区模块中对应设有数个环形缓冲区。
11、进一步的,步骤(2)中所述的高频传感器数据同步模块的工作流程如下:
12、高频传感器数据同步模块中执行一个循环,所述循环内部主要包括3个步骤:循环开始、时间同步和高频传感器同步指针数据输出;
13、所述循环开始步骤:在每次执行循环开始时,判断各传感器数据缓冲区是否均不为空,当且仅当缓冲区均不为空时才执行后面步骤,否则线程等待一定时间后再重复循环;
14、所述时间同步步骤:首先使用采集数据缓冲区模块中的查找接口,将高频传感器数据缓冲区头部最旧一帧数据作为一组,得到待同步本文档来自技高网...
【技术保护点】
1.一种自然驾驶多源异构数据同步处理方法,其特征在于:包括以下步骤:
2.根据权利要求1所述的一种自然驾驶多源异构数据同步处理方法,其特征在于:所述高频传感器是指采集频率高于某一预设频率的传感器;所述低频传感器是指采集频率低于某一预设频率的传感器。
3.根据权利要求1所述的一种自然驾驶多源异构数据同步处理方法,其特征在于:所述的采集数据缓冲区模块,用于缓存所述多线程数据采集模块中采集的数据,并将数据传输给高频传感器数据同步模块和低频传感器数据同步模块;采集数据缓冲区模块接收不同传感器信号的指针数据,对不同传感器信号的指针数据构建单独的、线程安全的高效环形缓冲区,将所述指针数据顺序存储到对应的环形缓冲区的尾部;从环形缓冲区头部将高频传感器指针数据输出到高频传感器数据同步模块,将低频传感器指针数据输出到低频传感器数据同步模块;根据多线程数据采集模块中采集的数据种类,所述采集数据缓冲区模块中对应设有数个环形缓冲区。
4.根据权利要求1所述的一种自然驾驶多源异构数据同步处理方法,其特征在于:步骤(2)中所述的高频传感器数据同步模块的工作流程如下:
>5.根据权利要求1所述的一种自然驾驶多源异构数据同步处理方法,其特征在于:步骤(2)中所述的低频传感器数据同步模块的工作流程如下:
6.根据权利要求1所述的一种自然驾驶多源异构数据同步处理方法,其特征在于:步骤(4)中所述的多源异构数据同步模块的工作流程如下:
7.根据权利要求6所述的一种自然驾驶多源异构数据同步处理方法,其特征在于:所述步骤(4.2)初始同步步骤如下:
8.根据权利要求6所述的一种自然驾驶多源异构数据同步处理方法,其特征在于:所述步骤(4.3)高频传感器数据插值步骤如下:
9.根据权利要求8所述的一种自然驾驶多源异构数据同步处理方法,其特征在于:所述插值采用线性插值的方法,是利用位于t低旧时间戳两侧的两个高频传感器数据d1、d2和对应的时间戳t1、t2进行线性插值,得到t低旧时间戳处的高频传感器插值数据d,公式表示为:
10.根据权利要求1所述的一种自然驾驶多源异构数据同步处理方法,其特征在于:所述采集数据缓冲区模块、高频传感器数据缓冲区模块和低频传感器数据缓冲区模块中的线程安全的高效环形缓冲区,用于两个独立运行的线程之间进行数据通信;所述线程安全的高效环形缓冲区是一种数据结构;所述环形缓冲区采用线程锁机制以提供全面的线程安全性;所述环形缓冲区主要包括:输入接口、存储单元、指针单元、查找接口和删除接口;
...【技术特征摘要】
1.一种自然驾驶多源异构数据同步处理方法,其特征在于:包括以下步骤:
2.根据权利要求1所述的一种自然驾驶多源异构数据同步处理方法,其特征在于:所述高频传感器是指采集频率高于某一预设频率的传感器;所述低频传感器是指采集频率低于某一预设频率的传感器。
3.根据权利要求1所述的一种自然驾驶多源异构数据同步处理方法,其特征在于:所述的采集数据缓冲区模块,用于缓存所述多线程数据采集模块中采集的数据,并将数据传输给高频传感器数据同步模块和低频传感器数据同步模块;采集数据缓冲区模块接收不同传感器信号的指针数据,对不同传感器信号的指针数据构建单独的、线程安全的高效环形缓冲区,将所述指针数据顺序存储到对应的环形缓冲区的尾部;从环形缓冲区头部将高频传感器指针数据输出到高频传感器数据同步模块,将低频传感器指针数据输出到低频传感器数据同步模块;根据多线程数据采集模块中采集的数据种类,所述采集数据缓冲区模块中对应设有数个环形缓冲区。
4.根据权利要求1所述的一种自然驾驶多源异构数据同步处理方法,其特征在于:步骤(2)中所述的高频传感器数据同步模块的工作流程如下:
5.根据权利要求1所述的一种自然驾驶多源异构数据同步处理方法,其特征在于:步骤(2)中所述的低频传...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。