自动驾驶多传感器融合--同步标定知识整理

2022-03-15 15:03:15 浏览数 (1)

最近学习了一些自动驾驶的课程和教材,整理了同步标定的知识点,确实帮我解答了很多刚入行疑惑,对于新手小白而言,有用

  • 所谓的时间硬同步,就是通过唯一的时钟源给各传感器 提供相同的基准时间,各传感器根据提供的基准时间校准各自的时钟时间,从硬件上实现时间同步,也就是我们说的统一时钟源,目前自动驾驶中主流时间同步是以GPS时间为基准时间 ,采用PTP/gPTP时钟同步协议来完成各传感器之间的时间同步,PTP 前提是需要交换机支持PTP协议,才能实现高精度同步。与PTP同时出现的还有一种NTP,即网络时间协议,不同的是PTP是在硬件级实现的,NTP是在应用层级别实现的

  • 由于每种传感器的采样频率不一致,如lidar通常为10Hz,camera通常为25/30Hz,不同传感器之间的数据传输还存在一定的延迟,那么可以通过寻找相邻时间戳的方法找到最近邻帧,如果误差很大,可以采用硬同步触发,调整传感器的固有频率来达到一致性

  • 时间软同步,分为帧率具有整数倍数关系的传感器之间和非整数倍关系传感器之间的时间对齐,整数倍的比较好处理,非整数倍的可以用内插外推法,主要利用两个传感器帧上的时间标签,计算出时间差,然后通过包含有运动信息的目标帧与时间差结合,推算出新的帧时各个目标的位置,并于原有的两帧 之间建立新的帧。

  • 空间同步,也就是不同传感器坐标系下的测量值转换到同一坐标系下,通俗理解为传感器在整车坐标系下的标定参数,其中一部分就是运动补偿,比如纯估计补偿,用ICP(Iterative Closest Point,迭代最近点算法)以及其相关的变种(VICP)来线性补偿,但这是基于匀速运动假设基础上的
  • 运动补偿方法之里程计辅助方法,是利用IMU信息对激光数据中每个激光点对应的传感器位姿进行求解,即求 解对应时刻传感器的位姿,然后根据求解的位姿把所有激光点转换到同一坐标系下,然后封装成一帧激光数据,发布出去(可以理解为激光点云 的去畸变) 1)通过IMU与点云数据时间对齐,然后对每个点进行速度补偿,通过时间戳进行线性插值,然后将所有点云数据转换到初始点云的IMU坐标下 2)与上一帧的去完畸变的点云数据进行帧间匹配,计算激光姿态。并通过计算的姿态对每个点云进行线性补偿,将所有的点云数据根据时间戳转换到最 后一个点云数据时间戳下,即完成了里程计方法的补偿
  • 传感器标定分为单传感器的标定和多传感器之间的标定,主要是外参标定和内参标定,目的是为了保证确定不同传感器的空间关系,并统一在整车坐标系下,这样就能获取不同传感器采集的同一障碍物的信息,便于后续融合处理
  • 一般传感器安装完,需要对车辆进行整车的标定。标定分为基于标定设备的标定和基于自然场景的标定。基于标定设备的比较容易理解,如 棋盘格, aruco码或April tag,采用这种方式,需要很大的整车标定间和摆正器
  • 基于自然场景的标定方法,是利用场景中静止的物体(如树木、电线杆、路灯杆、交 通标识牌等)和清晰车道线进行标定
  • 多相机标定主要是长中短焦距标定,相机和Lidar标定,最常见的激光与相机联合标定方法是将激光产生的点云投影到图像内,然后寻找标记物(可能是标定设备,也可能是具有明显边缘的静止物体),查看其边缘轮廓对齐情况,如果在一定距离内(一般选50-60m) 的目标,点云边缘和图像边缘能够重合,则可以证明标定结果的精度很高
  • 标定相机的时候为什么会有标定板,标定板为什么这么黑白棋盘设计,主要是为了角点检测

0 人点赞