激光雷达与相机标定时的时间戳同步问题

常见的同步技术有两种,一种是基于GPS的“PPS+NMEA”,另一种是基于以太网的IEEE 1588(或IEEE 802.1AS)时钟同步协议。

GPS能够从卫星获得高精度的时钟信号,因此通常作为整个系统的时钟源。常规的GPS单元都支持输出精确到毫秒的秒脉冲信号PPS和包含年月日时分秒信息的NMEA指令,通过PPS和NMEA的组合就能够实现对激光雷达或主机的毫秒级时钟同步。只要激光雷达支持基于RS232接口的PPS+NMEA时钟同步输入信号,就可以实现毫秒级的时钟同步。

PPS+NMEA的优点是协议简单,容易实现;缺点是必须基于RS232。多个设备之间实现同步比较困难。IEEE 1588(或IEEE 802.1AS)就成了最好的选择,1588是基于以太网的高精度时钟同步协议,能够实现以太网中多个从节点(各种传感器)与主节点(主机)之间的亚微秒级时钟同步,前提是所有节点之间都通过以太网互联,并且每个节点都支持1588协议

如果激光雷达支持1588协议,就可以使用如下的架构实现时钟同步:

  1. 主机通过PPS+NMEA实现与GPS的时钟同步;
  2. 激光雷达等其他节点通过1588协议实现与主机的时钟同步;

激光雷达输出的数据中,除了每个点的(x,y,z)坐标之外,还有一个重要的字段就是时间戳。相对于相机,激光雷达是一个慢速扫描设备,每一帧点云中的不同点的时间戳是不一样的,以每秒10帧的激光雷达为例,每帧点云耗时100毫秒,每帧点云中的第一个点和最后一个点之间相差约100毫秒。扫描高速运动的物体时,原始点云是“变形”的,类似于用普通相机(非全局快门)在高铁上拍摄景物时都是歪的一样,必须利用点云中的时间戳对点云进行校正才能恢复被扫描物体的本来面貌。

激光雷达与主机或GPS实现高精度的时钟同步之后,就会基于这个时钟为每个激光点生成一个时间戳,有了这个时间戳,很多工作开展起来就方便多了,例如多传感器的融合等等。

相机的时钟同步要麻烦一些,常规相机(除非是定制的)都不支持与主机或其他传感器的时钟同步。解决方法是测量相机的平均延时d,然后以在主机上获取到图像帧时的主机时刻t减去这个延时(t-d)作为该帧图像的时间戳,用这个时间戳去找最匹配的点云。以帧率为25fps的相机为例,与任意帧率的激光雷达同步匹配的结果是,最大偏差≤20ms。

这种方法的缺点很明显:相机图像的延时是不稳定的,尤其是通过以太网传输、需要编码/解码的相机。因此比较理想的方法是选择支持IEEE 1588(或IEEE 802.1AS)时钟同步协议的相机,确保相机的时钟与主机完全同步。然后为每一帧图像都增加一个时间戳,并确保在主机上能够读取到这个时间戳,这样就可以避免编码/解码、以及传输延时引入的同步误差。

通过上述方法能够将雷达和相机的同步精度控制在小于等于20ms的水平,对于慢速场景基本够了。如果要求更高的同步精度,就必须在雷达和相机的帧率和帧同步上下功夫了。通常激光雷达内含机械部件,帧率和帧同步都是不可控的,只有在相机上想办法。

简单的办法是选择更高帧率的相机,相机帧率从25fps增加到50fps时,最大同步偏差从≤20ms提升到≤10ms。

更彻底的解决方法是选择可以触发拍摄的相机(必须是硬件线控),根据激光雷达的帧周期同步触发相机的拍摄,实现雷达和相机的完全帧同步,实现完全的毫秒级同步。

  • 5
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值