不同传感器间工作频率同步问题研究
0 前言
最近在写专利,在叙述不同传感器间工作频率及同步问题时需要研究方法原理,遂记录如此文。
1 传感器时间同步
参考连接:1.从零开始做自动驾驶定位(六): 传感器时间同步
只要牵扯到多个传感器,那么时间同步就是一件必做的事情。
-
时间同步包括两个步骤:
1)首先保证时钟源是一致的
因为时钟源都有钟漂,而且每个时钟源钟漂不同,所以即使把各个传感器时间戳在初始时刻对齐,运行一段时间之后,之前对齐的结果仍会偏离。解决这个问题的办法就是在硬件上把时钟源统一,常见的做法是做一个脉冲发生器,所有传感器都被这个脉冲触发,每次触发都校正一次自己的时钟,这样就可以消除时钟源的累计误差。
在自动驾驶的传感器配置里,GNSS是一个必备的传感器,它自带秒脉冲发生器,所以可以直接使用。而且GNSS信号能够达到定位要求时,自身时钟也会受到卫星上原子钟的校正,从而进一步提高精度。大家可能对GNSS的定位功能比较熟悉,其实它的授时功能是和定位同等重要的功能,现在很多系统里都已经改变说法,不再把这类东西只称作定位系统,而是称作定位授时系统。感兴趣的可以自行去搜一些资料看看。
2)获取同一时刻的信息
在解决硬件同步以后,我们只能保证时间差没有累计漂移了,但是各个传感器的采集时刻并不是相同的。比如,在kitti数据集了,雷达和IMU都是10HZ,也就是100ms的周期,但是雷达每次采集的时间要比IMU慢个几十毫秒,当我们想获得在雷达采集时刻的车体角速度和加速度信息时,就要根据雷达前后时刻的IMU信息,通过插值计算出一个等效值,这就是获取同一时刻信息的含义。
由于kitti已经做好了第一步,所以我们本次的工作就是围绕第二步来做的。 -
同步方法
按照刚才所说,同步就是插值。
关于插入时刻问题,因为我们是以雷达作为核心传感器,所以每收到一次雷达数据,就以当前雷达数据采集时刻作为要插入的时间点,从而获得除雷达以外的其他传感器的同一时刻等效信息。
在动手做之前,我们可以拆解一下任务,想插值获取某一时间点的等效信息,就需要索引获得这一时间点前后的两帧数据,有了前后两帧数据的采集时刻,以及要插入的时刻,那么就是一个比例计算的问题了。所以一共被拆解成了两步:索引和插值计算。
//TODO:这一系列文章代码要再研究
1.从零开始做自动驾驶定位(六): 传感器时间同步
2.关于LiDAR的时间同步
再研究