一种无人驾驶车辆传感器数据离线同步方法与流程

文档序号:18084904发布日期:2019-07-06 10:25阅读:610来源:国知局
一种无人驾驶车辆传感器数据离线同步方法与流程

本发明涉及无人驾驶技术领域,更具体的说是涉及一种无人驾驶车辆传感器数据离线同步方法。



背景技术:

目前,无人驾驶车辆是一种可以连续自主行驶的新型智能车辆,它通过安装多种不同类型的车载传感器感知车辆周边环境信息,在此基础上结合实际实时规划路线,并控制车辆到达终点,在国防军事和民用交通领域都有广阔的应用前景;然而,无人驾驶车辆在行进的过程中有时会遇到突发状况,研发人员将车辆行驶过程中传感器采集的数据进行回放,针对行驶过程中出现的问题,离线同步数据可以复现当时的场景并查找原因。

但是,当前应用于无人驾驶领域的数据离线同步方法主要是基于时间戳的方法,该方法在记录每一帧点云或图像数据的同时也记录当时系统的walltime,并将其存储为一种新的数据格式,离线运行时将按照时间戳的先后关系进行回放;这种数据同步方法破坏了原始数据的组织形式,无法将传感器产生的原始数据作为输入,存在一定的局限性;另外,数据回放与处理程序之间并无交互,虽然利用时间戳保证了数据之间的时序关系,但如果离线仿真时的参考时钟设置不当或运行离线程序的平台与车载平台计算性能差异较大,将导致各传感器处理线程之间的混乱,无法仿真出程序在线运行时的真实状态。

因此,如何提供一种不受多个传感器频率差异和硬件性能影响的车载多传感器数据离线同步方法是本领域技术人员亟需解决的问题。



技术实现要素:

有鉴于此,本发明提供了一种无人驾驶车辆传感器数据离线同步方法,实现对无人驾驶车辆的各个传感器的离线数据同步。

为了实现上述目的,本发明采用如下技术方案:

一种无人驾驶中车辆传感器数据离线同步方法,包括如下步骤:

s1:设定传感器的种类及数量,并设置处理其中一个传感器数据的线程为主线程,其余每一个传感器的数据对应一个子线程;

s2:传感器实时采集数据,所述主线程生成并实时存储同步节点文件及相应的主传感器原始数据文件,所述子线程生成并实时存储对应的传感器原始数据文件;

s3:采集结束后,在离线模式下,重新加载所述原始数据文件以及所述同步节点文件,所述主线程读取所述同步节点文件中的同步节点计数及每个节点中各个传感器的数据帧计数;

s4:如果所述主线程与所述子线程处理完成的帧数小于当前节点中记录的帧数,则线程继续读取传感器下一帧数据,保证所述主线程及所述子线程按照同步节点文件记录的帧信息进行同步回放。

采用上述方法的有益效果为:通过同步节点文件实现帧节点同步,从而实现对无人驾驶中车辆传感器的数据离线同步,不需要传感器数据绝对的时刻信息。

优选的,所述步骤s4中,如果所述主线程处理完成的帧数大于当前节点中记录的帧数,则所述主线程运行至下一个节点。

优选的,所述步骤s2及所述步骤s3中,所述同步节点文件内容为同步节点表,所述同步节点表中存储信息为:同步节点计数及每个节点对应的各个传感器的数据帧计数。当进行离线数据加载时,按照每个节点上记录的各个传感器帧数来读取相同大小的传感器数据,以此来实现每个节点的同步,所有节点的同步组成整个过程上的同步。

优选的,所述步骤s2中,所述子线程只存储对应的传感器原始数据文件。各个传感器的线程是并列的,同步节点表的信息由主线程统一维护,其中已经包含了其它子线程中的信息,虽然涉及到多个线程,但是同步节点表只需有一个,不需要每个线程均存储。

优选的,所述步骤s1中:通过设置一个全局变量来记录传感器的种类及数量。

经由上述的技术方案可知,本发明公开了一种无人驾驶车辆传感器数据离线同步方法,在多传感器离线同步时不依赖绝对的时钟信息,可以解决基于时间戳的同步方法易受硬件性能影响的缺陷;不受不同种类传感器频率差异以及不同硬件平台计算性能差异的影响,可以较好的复现出车辆行驶时在同一节点上程序各线程的真实状态,便于查找问题和后期算法改进;另外,本发明不限制无人驾驶车辆所配置的传感器种类和数量,并且在各个传感器的原始数据文件中不添加同步信息,因此适用范更广泛,能够满足实际工程随时变更传感器种类或增删传感器数量需要。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1附图为本发明无人驾驶车辆传感器数据离线同步方法的流程图;

图2附图为本发明无人驾驶车辆传感器数据离线同步方法的节点帧数处理流程图;

图3附图为本发明实施例2的原理框图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例1

参见附图1-2所示,本发明实施例1提供了一种无人驾驶车辆传感器数据离线同步方法,包括如下步骤:

s1:设定传感器的种类及数量,并设置处理其中一个传感器数据的线程为主线程,其余每一个传感器的数据对应一个子线程;

s2:传感器实时采集数据,所述主线程生成并实时存储同步节点文件及相应的主传感器原始数据文件,所述子线程生成并实时存储对应的传感器原始数据文件;

s3:采集结束后,在离线模式下,重新加载所述原始数据文件以及所述同步节点文件,所述主线程读取所述同步节点文件中的同步节点计数及每个节点中各个传感器的数据帧计数;

s4:如果所述主线程与所述子线程处理完成的帧数小于当前节点中记录的帧数,则线程继续读取传感器下一帧数据,否则等待程序运行至下一个节点。保证所述主线程及所述子线程按照同步节点文件记录的帧信息进行同步回放。

在一个具体的实施例中,所述步骤s4中,如果所述主线程与所述子线程处理完成的帧数均不小于当前节点中记录的帧数,则所述主线程运行至下一个节点。

在一个具体的实施例中,所述步骤s2及所述步骤s3中,所述同步节点文件内容为同步节点表,所述同步节点表中存储包括同步节点计数及每个节点对应的各个传感器的数据帧计数。

在一个具体的实施例中,所述步骤s2中,所述子线程只存储对应的传感器原始数据文件。

在一个具体的实施例中,所述步骤s1中,通过设置一个全局变量来记录传感器的种类及数量。

实施例2

参见附图3所示,本发明实施例2为无人驾驶车辆传感器数据离线同步方法的应用实例,本实施例中系统处理的车载传感器有:

(1)激光雷达,激光雷达可以架设于车顶前方的位置,用于检测行驶环境中的各种障碍物,可以选用velodyne公司生产的型号为hdl-64e高精度激光雷达;

(2)相机,相机可以安装于车顶前方车辆轴线上,用于目标识别或可通行区域检测,可以选用映美精公司生产的型号为dfk23g274工业相机,分辨率640×480;

(3)高精度组合定位系统,组合定位系统的信号接收天线位于车顶后方的位置,用于获得车辆在某一时刻的gps以及姿态信息,可以选用novatel公司生产的型号为span-cpt的惯性组合导航系统,其为集成gps+ins的紧耦合系统。

传感器数据的整个同步过程主要包括如下步骤:

步骤1,设置传感器的种类和数量,将处理64线激光雷达采集数据的线程设置为主线程,剩余的每一个采集的传感器对应一个子线程,具体实现方法是通过设置一个全局变量来实现,全局变量用来记录程序回放时的传感器种类,无固定参数,不同的智能车辆配置有不同的传感器,只需修改该全局变量的值即可完成传感器种类与数量的设置,之后程序完成初始化并与各个传感器建立连接;

步骤2,在线模式下开启数据存储功能,传感器处理线程将产生相应的离线仿真文件,包括激光雷达pcap源数据文件、gps位置文件、相机的mp4格式源数据文件、相机的gps位置文件以及帧同步节点文件;上述的原始数据文件存储的均为各传感器的原始输出数据,这些数据在开启存储功能后便不间断存储直到关闭功能,结束存储功能后,各线程完成对离线同步所需要的各个文件的存储。

在线模式下,传感器采集的数据不需要人为的同步,传感器数据实时输出,可以认为程序里面存储的最近一帧数据既是当下时刻的传感器输出,由于传感器输出频率较高,误差可以忽略。

步骤3,在离线模式下,首先加载上述数据文件与同步文件,当处于多传感器离线仿真模式时,将按照附图1所示流程进行节点同步管理,设置处理激光雷达数据的线程为主线程,并由其控制着节点的移动。

步骤4,如果主线程与子线程中数据的帧数小于节点中记录的相应传感器帧数,线程继续逐帧读取数据,否则线程挂起,线程不再执行相应的功能,处于睡眠状态。

步骤5,如果所述主线程与所述子线程处理完成的帧数均不小于当前节点中记录的对应传感器帧数,则所述主线程运行至下一个节点,当读取完所有节点的帧数据后,自动结束读取。

上述多传感器离线同步方法,可以应用于具有不同传感器配置的智能车辆,通过上述步骤可以重新加载车载传感器采集的数据,复现车辆行驶时的状态,针对不同的传感器数据有不同的分析方法,如gps数据可以得到车辆的位置信息,不同时刻的位置信息可以进一步得到车辆的速度以及运动方向等,便于科研人员查找无人驾驶过程中出现的问题并可以对多传感器融合算法进行优化开发,程序数据文件均没有添加用于同步的信息,因此这些文件可以在其他软件上加载,同时本方法对原始数据无特殊格式要求,对于其他来源的相同类型的数据也可以加载;本发明利用帧节点进行同步保证离线仿真可以最大限度的还原程序在线运行时的状态,可以克服基于时间戳同步对硬件平台的依赖。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1