写在前面
我们都知道,无人车上有很多状态检测装置,典型的有里程计、毫米波雷达、激光扫描器、相机和GPS。为了有效地进行数据融合,这些装置之间的相对位姿标定,具有重要的意义。
理论上讲,虽然可以通过测量来获取各检测装置之间的转换关系,但由于以下原因导致无法直接使用人工测量的数据:
1)人工测量精度差、易受仪器质量和使用者水平影响;
2)专业检测设备价格贵、在狭窄空间的特殊情况也不容易实施;
3)安装结构的松动或调整导致需要定期调校,对标定步骤的简易性提出了要求;
4)量产化需求引出的自动参数调校需求,对标定结果的可信度提出了要求;
基于以上原因,在业内,一般以人工测量或从设计图纸得到的理论数据作为基础值,再使用相应的方法进行优化,以得到检测装置之间更准确的转换关系。
为了便于后续学习与提高,特意开此帖子,持续更新业内主流的解决方法。
围绕SLAM的两大分支,我们将外参标定分成激光扫描器和相机两部分,分别总结激光扫描器和相机与其他检测装置之间的参考标定方法。
注:本文只总结方法,提炼思路,不做公式推导,请轻松食用!
1. 激光雷达的标定
激光雷达的标定有2种,分为激光雷达到IMU的标定和激光雷达之间的标定。
1.1 激光雷达到IMU的标定可使用经典的手眼标定法
外参标定也分两部进行。先找初值,再进行优化。
1.1.1 外参初值
外参找初值的基本原理是,激光雷达到IMU的标定是一个经典的手眼标定问题 AX=XB 。
其中,X 为激光雷达到IMU的坐标转换矩阵, A 为激光雷达2次移动的坐标转换, B 为IMU2次移动的坐标转换,最后用最小二乘法,求解出激光雷达到IMU的坐标转换关系 X 。
可以自己写一个,也可以试试OpenCV的calibrateHandEye
手眼标定接口。
1.1.2 外参优化
有了外参初值后,进行外参优化。
基于前一步求得的外参初值,对激光雷达点云进行拼接。由于初值求解误差的存在,不同位置采集的点云拼接后存在对齐误差。具体表现为拼接点云视觉效果模糊、场景中的边缘结构不锐利。为此,算法第二部分将利用优化