点击上方“计算机视觉life”,选择“星标”
快速获得最新干货
点击预约直播,开播第一时间提醒

作者:iGear
本文转载自知乎,原文链接:https://www.zhihu.com/question/542773778/answer/2570907013
自动驾驶中,哪些功能和模块需要进行时间同步,如何进行时间同步?

作者:iGear

为什么需要时间同步:
在自动驾驶中,需要用到很多传感器的数据(Lidar,Camera,GPS/IMU),如果计算单元接收到的各传感器的消息时间不统一,则会造成例如障碍物识别不准等问题。
时间同步包含哪些内容:
自动驾驶中,时间同步可以分为几部分的内容:统一时钟源,硬件同步,软件同步。其中硬件时间同步主要针对相机。

Part1统一时钟源

图片来源:见水印,来自于 @喝苦咖啡的小阿飞在自动驾驶领域,如何实现激光雷达和相机的时间同步呢?下的回答
假设各传感器都有自己的内部时钟,但由于每个时钟的钟漂不一样,导致各时钟之间存在时间差,所以需要统一各传感器的时间源。
一般采用GPS时间作为统一时间源,通过GPS给各个传感器提供基准时间,各传感器根据提供的基准时间校准各自的时钟时间。
各传感器根据已经校准后的各自时间为各自独立采集的数据加上时间戳信息,来做到所有传感器时间戳同步。
统一时钟源的常见方式有两种,一种是基于GPS的“PPS+NMEA”,另一种是基于以太网的IEEE 1588(或IEEE 802.1AS)时钟同步协议

1PPS+NMEA

GPS能够从卫星获得高精度的时钟信号,因此通常作为整个系统的时钟源。常规的GPS单元都支持输出精确到毫秒的秒脉冲信号PPS和包含年月日时分秒信息的NMEA指令,通过PPS和NMEA的组合就能够实现对激光雷达或主机的毫秒级时钟同步。具体可参考:时间同步,自动驾驶里的花好月圆
PPS+NMEA的优点是协议简单,容易实现;缺点是必须基于RS232。多个设备之间实现同步比较困难。

2PTP(IEEE 1588或IEEE 802.1AS)

PTP(Precision Time Protocol,1588 V2)是基于以太网的高精度时钟同步协议,能够实现以太网中多个从节点(各种传感器)与主节点(主机)之间的亚微秒级时钟同步,前提是所有节点之间都通过以太网互联,交换机支持PTP协议,并且每个节点都支持PTP协议。
与PTP同时出现的还有一种NTP,即网络时间协议,不同的是PTP是在硬件级实现的,NTP是在应用层级别实现的。

Part2硬件同步

图片来源:见水印,来自于@喝苦咖啡的小阿飞 在自动驾驶领域,如何实现激光雷达和相机的时间同步呢?下的回答
由于每种传感器的采样频率不一致,如lidar通常为10Hz,camera通常为25/30Hz,不同传感器之间的数据传输还存在一定的延迟,那么可以通过寻找相邻时间戳的方法找到最近邻帧,但如果两个时间戳相差较大,且传感器或障碍物又在运动,那么最终会得到较大的同步误差。这个情况可以采用硬件同步触发的方法来缓解查找时间戳造成的误差现象。引用@喝苦咖啡的小阿飞在自动驾驶领域,如何实现激光雷达和相机的时间同步呢?下的回答
那如何实现硬件同步呢?也就是在激光雷达和相机的时间源都统一到GPS时间后,如何保证他们同步触发采集呢?方式是以PPS信号为触发信号,实现激光雷达和相机均在PPS信号上升沿的时候采集数据,且打上各自时钟的时间戳。由于PPS的频率只有1Hz,所以通常需要一个设备把PPS信号转发为任意频率、但是跟PPS信号同相位的方波,这样就可以控制相机的采集频率了。
用外部信号触发相机比较好理解,那如何保证激光雷达在PPS信号上升沿的时候采集数据呢?激光雷达制造商想出了一个相位锁定功能,也就是输入PPS,但PPS上升沿到来时,激光雷达的激光束恰好旋转到一定的角度。
于是乎,我们设置激光雷达的相位锁定角度为相机视野中央,如果相机视野朝着车辆正前方,激光雷达的坐标系也是朝着车辆正前方的话,相位锁定角度应该是0度。那么问题就这样解决了,每当激光雷达的激光束旋转到0度位置,也就是相机视野正中央,PPS上升沿刚好到来,相机也因此触发,就这样就实现了激光雷达和相机的同步采集。
但是,由于激光雷达和相机采集数据的方式不同,我们只能近似地保证激光雷达和相机的同步采集。如下图所示,激光雷达的激光束不断地360度旋转,假设帧率为10Hz的话,那么一帧点云中采集时刻最早的一个点和采集时刻最晚的一个点时间相差100ms。而相机就不同了,相机是瞬间曝光的,因此图像里面所有像素点的采集时刻都是一样的。这就导致了我们只能近似地保证激光雷达和相机的同步采集。具体方法就是当激光束旋转到相机视野中央的时候,触发相机,这样就保证了相机视野内的点云采集时间是跟图像采集时间是近似的。为什么说是近似的呢?对于相机视野中央的那些点云,它们的采集时间是跟图像采集时间一致的,但是对于相机视野边缘的那些点云,它们的采集时间就跟图像采集时间要有一定的时间偏差了,根据相机视野的大小和点云采集帧率的不同,时间偏差可能会有5ms~20ms左右。
另外还涉及到点云分帧的概念,详情参考激光雷达与相机时间同步问题的低成本完整解决方案 以及相机的曝光读出概念,详情参考激光雷达与相机标定的时间戳同步问题
图片来源:来自于CSDN打工人小谢的文章
关于软件同步及自动驾驶常用的时间同步方案:已更新:iGear:自动驾驶中的时间同步(下)
在学习过程中也参考了很多大佬的介绍,参考链接附下:
激光雷达与相机标定时的时间同步问题怎么进行解决? - 知乎
在自动驾驶领域,如何实现激光雷达和相机的时间同步呢? - 知乎
时间同步,自动驾驶里的花好月圆
关于GPS的1PPS时间同步功能探索与测试_学一点IOT-CSDN博客_1pps
激光雷达与相机时间同步问题的低成本完整解决方案_打工人小谢的博客-CSDN博客
“长按”“扫描”下方二维码,加入【小六的机器人SLAM圈】即可开始学习~3天内无条件退款~ 购买后务必加客服领取其他权益和加交流群,现在加入免费送近千页5年机器人SLAM答疑手册
全国最大的机器人SLAM开发者社区
最后介绍一下我们最近的几个学习活动:(点击下方标题即可快速获取)
计算机视觉life线下交流会(西安站)来啦!这是我们平台首次在西安举办线下活动,感谢西安知象光电科技提供活动场地~期待技术分享,交个朋友。大家一起交流,一起进步,欢迎小伙伴们参与~ 报名链接 【限额报名】计算机视觉life线下交流会(西安站)来啦!
管道内单目视觉SLAM尺度漂移较明显,定位挑战很大。学完本项目,你可以动手做到:利用管道的圆柱形结构约束,基于ORB-SLAM2改进地图点位置估计,从而优化SLAM算法精度。详情点击 实战:基于ORB-SLAM2的管道机器人圆柱约束的位姿估计
LVI-SAM是MIT团队的TixiaoShan等人开源的一个紧耦合的激光雷达视觉惯导SLAM系统,可以实时高精度鲁棒的进行状态估计和建图。哈工大博士带你学习,1个月的学习挑战赛,详情点击 MIT团队开源的这个激光雷达视觉惯导SLAM系统,太香了!
FAST-LIO2是香港大学火星实验室(MARS)发表在IEEE-RAL和IEEE-TRO的两篇论文,是一种具有高计算效率、高鲁棒性的雷达惯性里程计(LIO)本课程中上海交通大学博士王泽霖推出为期1个月的学习挑战赛第2期,从原理到实战快速掌握,详情点击 香港大学开源的这个激光雷达惯性SLAM,太强了!
继续阅读
阅读原文