多传感器时间同步方案(时序闭环)

多传感器时间同步方案(时序闭环)

这个章节开始讲多传感器的时间同步方案,即多传感器时钟闭环问题,如何让所有传感器在同一个时钟下工作?

在进行多传感器融合之前,首先要对多传感器进行时空同步,空间上的同步就是多传感器标定,时间上的同步便是时序闭环。

附赠自动驾驶最全的学习资料和量产经验:链接

问题提出

我们从问题描述、误差分析、需求分析三个角度来谈论:

问题描述

每种电子设备都有各自的时钟,起始时间均不相同,而且因晶振质量的差异,频率也不同。

同步误差分析

传感器之间的时钟偏差,会导致各传感器检测到的障碍物位置发生偏差,自车速度越大,偏差越大。

比如车速为120km/h,∆t = 0.1s,∆s = v ∗ ∆t = 3.33m,能达到3m左右的误差。

需求分析

自动驾驶完整系统的误差需要控制在0.3m以内,通常需要将闭环时钟同步误差控制在微秒级别。(因为还有其他误差来源)

基于这些考虑,我们有两个选择:

  1. 网络NTP时钟同步

  2. GNSS的PPS+GPRMC同步

而网络NTP时钟其实也是需要接入GNSS的,最终还是基于原子钟时钟源,所以本质上我们的时钟同步来源只有一个:卫星原子钟。

根据NTP的原理和协议,我们能够从NTP Server计算出和client的偏差offset,根据offset调整client时钟,可将时钟误差稳定控制在微秒级别。

但是,目前的车载传感器不一定支持NTP以太网接入:

LiDAR

支持两种时钟同步方式:

• IEEE 1588-2008(PTPv2):以太网接口同步;

• PPS脉冲信号+NMEA消息(GPS)。

Camera

非定制相机模组不支持时钟同步,定制相机可选择支持。

Radar

非定制Radar不支持时钟同步,量产可定制。

超声波雷达

非定制超声波雷达不支持时钟同步,量产可定制。

因此,在目前的多传感器系统中,时钟无法做到微秒级同步。

而在多传感器定位和感知系统中,LiDAR和Camera的融合所占比例和重要性是最大的。所以,提高LiDAR和Camera的时序同步性能是很有必要的。

多传感器系统成像同步能力分析

由于时钟域未完全同步,所以未同步传感器的数据,时间戳只能定为计算平台接收到数据时的时间戳;这中间的误差∆t,通常在几ms到几十ms之间。

各传感器成像的时间不一致,导致成像结果之间无法有效对齐。所以多传感器系统需要尽量降低时间戳与真实成像时间之间的误差。

时间戳误差分析:

• Camera、Radar和超声波成像结果和时间戳间存在不可控误差。

• LiDAR:成像的点云中,由于已经完成时间同步,每个点的成像时间与时间戳之间无误差。

为达到尽量减少误差的目的,我们可以通过第一个方法:离线统计&在线补偿

分别在驱动中加入对 ∆t-camera、 ∆t-radar、 ∆t-us的时间戳补偿,可以达到∆t < 20 s的效果。

这里有一个提高这个估计的参数的方法(一般只适用于激光雷达和相机,因为它们的成像都比较丰富):

即选取一段有合适标志物(如广告牌)的道路场景,在激光雷达和相机外参已经标定好的前提下,在一段时间序列下对这个场景进行成像(包含广告牌等合适标志物),将∆t 作为时间域上的外参,在空间外参已知的情况下将三维点云投在二维平面上,或者将二维图像对应三维空间的点转换到三维空间上,然后两个传感器对这个标志物在二维或三维上有了成像的结果,就可以构建误差代价函数,求解的参数为∆t。理论上如果没有标定时间参数,雷达和图像在二维或三维上在一段时间序列中会错位,而标定了时间参数并补偿过去能够很好地解决这个问题。这在一些论文中也有这些问题的解决方案。

但这种离线估计,在线补偿的方式很容易出现问题,比如计算平台接收到数据的延迟时间不是很可控,有可能会变动比较大。

所以,一个比较好的方式就是硬件时间同步

即构造一个触发装置,在指定的时刻,发送触发信号,让所有的传感器触发成像,减少成像时刻误差。该设备功能如下:

• 连接GPS信号或NTP server,确保时钟实现微秒级同步

• 设置触发逻辑(如LiDAR正前方的成像相位),同时触发LiDAR和Camera成像

• 支持多LiDAR和多Camera,暂不支持Radar和超声波雷达

优点:系统精度更高,可将系统同步精度控制在∆t< 5 s;

硬件时间同步

基于这个方式,这里说一下我做过的几个方案:

方案1:

• 组合导航模块将GPRMC-Tx输出引脚和PPS秒脉冲接入雷达。

• 同时硬件时间同步装置接收GNSS信号或者使用NTP server,对齐到绝对时间上,将秒脉冲和相机触发脉冲控制在绝对时间域上。

• 分频控制相机抓拍,将此时的时间,包括秒以上和秒以下,精确到ms,通过串口发送给工控机,这样工控机接收的每张图像都带有时间戳了,就可以利用图像和雷达的时间戳进行融合了。

• 可以支持多相机多雷达,且相机的频率可调。

• 时间同步精度有限,受限于单片机的时钟精度。

• 这个方案的缺点是增加了串口的需求,比较麻烦。还有就是由于串口通讯,会存在一些微小的延迟,虽然影响不是很大,但是如果帧率大,速度快就会影响很大,但是用于离线融合系统是可以的。

方案2:

参考论文:FAST-LIVO: Fast and Tightly-coupled Sparse-Direct LiDAR-Inertial-Visual Odometry

image

• 组合导航模块只将GPRMC-Tx输出引脚接入雷达,而PPS秒脉冲由单片机提供,相机的触发脉冲也由单片机分频提供。相机和雷达的秒以上绝对时间由组合导航提供(雷达的帧已经有了GNSS绝对时间-秒以上),秒以下时间对齐到单片机秒脉冲。

• 可以支持多相机多雷达,且相机的频率可调。

• 时间同步精度有限,受限于单片机的时钟精度,但胜在方案简单有效,可直接实时运行。

• 存在系统上电时间误差,即单片机输出秒脉冲是在系统上电后,会有很小的上电延迟,不像组合导航的秒脉冲是严格对齐到原子钟的。

• 存在与组合导航GPRMC绝对时间的误差,是因为单片机的秒脉冲是上电就开启的。但是如果不需要对齐到绝对时间上,是不影响的。

这个硬件时间同步装置可以优化:接收GNSS信号或者使用NTP server,对齐到绝对时间上,将秒脉冲和相机触发脉冲控制在绝对时间域上。

这里我们可以提升硬件时间同步精度指标的点有:

  1. 采用FPGA来进行计数、分频、触发,普通STM单片机的时间精度还是太低了。

2. 硬件时间同步装置接收GNSS信号或者使用NTP server不仅是为了对齐到一个绝对时间上,同时也可以利用高精度原子钟对嵌入式时钟进行定期时间矫正。(这个有专门的模块,专门的技术,例如电波钟)

参考:深蓝学院《多传感器融合感知》

此外,我要强烈推荐深蓝学院的**《自动驾驶与机器人中的SLAM技术》**课程。我自己也从这门课程中受益匪浅。课程涵盖了现代自动驾驶和机器人领域中的Simultaneous Localization and Mapping (SLAM) 技术,这是实现车辆和机器人自主导航所必需的关键技术之一。深蓝学院的专业讲师团队深入浅出地讲解了SLAM的基本原理、常用算法以及实际应用,无论是初学者还是有一定经验的人都能够受益良多。如果您对移动机器人、自动驾驶或者SLAM技术有兴趣,这门课程绝对值得一试!

  • 31
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值