3. 传感器标定
传感器标定这件事,说白了就是让激光雷达、IMU、相机这几双「眼睛」能对齐看同一个世界。我刚开始做多传感器融合时,总觉得算法调参才是核心,结果数据一进来,点云和图像对不上,IMU轨迹飘得离谱——嗯,那会儿我才明白,标定没做好,后面全是白搭。
核心观点:标定不是一次性工作,而是贯穿整个系统生命周期的持续任务。我习惯把标定分为三个层次:内参标定(单传感器自身校准)、外参标定(传感器间空间对齐)、时间同步(传感器间时间对齐)。
3.1 激光雷达内参标定:让每一束激光都听话
激光雷达的内参,主要包括激光发射器的安装角度偏差、距离测量偏移、以及强度响应曲线。你想想看,一个64线激光雷达,64个发射器不可能完全平行安装,总会有那么几度甚至零点几度的偏差。
我常用的内参标定方法:
- 平面法标定:让激光雷达扫描一个已知的平整墙面,通过点云拟合平面,反算每个激光束的俯仰角偏差。我在项目中遇到过,某款16线雷达的底部几线角度偏差达到0.3°,直接导致建图时地面出现「波浪」。
- 球体法标定:放置多个标准球体,利用球心拟合来校准距离偏移。这个方法对近距离精度提升明显,我建议在1-5米范围内做。
- 强度响应标定:用不同反射率的标定板,建立反射强度与实际距离、入射角的关系模型。说实话,大部分商用雷达出厂时已经做了,但如果你自己DIY雷达,这一步逃不掉。
我的小技巧:内参标定最好在恒温环境下做,温度变化会导致激光器波长漂移,影响测距精度。我曾经在夏天室外标定,数据反复不过,后来发现是地面热辐射干扰了激光传播路径。
3.2 激光雷达与IMU外参标定:让旋转和平移对齐
IMU和激光雷达的外参,就是它们之间的旋转矩阵R和平移向量t。这个标定做不好,LIO-SAM、FAST-LIO这类紧耦合算法基本没法用。
我推荐的标定流程:
| 步骤 | 操作 | 注意事项 |
|---|---|---|
| 1 | 采集静止数据(30秒以上) | IMU的bias会随时间漂移,静止数据用于初始化 |
| 2 | 做「8」字运动采集 | 充分激励IMU的加速度计和陀螺仪,避免退化运动 |
| 3 | 使用LiDAR-IMU标定工具(如lidar_align) | 注意检查优化后的残差分布,异常值要剔除 |
| 4 | 验证标定结果 | 将点云投影到IMU坐标系,看运动轨迹是否平滑 |
这里有个坑:IMU和激光雷达的时间戳必须对齐。我遇到过最头疼的问题,就是两个传感器的时间基准差了50毫秒,结果标定出来的外参旋转角差了2°。后来我强制要求所有传感器用同一个PPS信号同步,问题才解决。
避坑指南:我曾经在标定时只做了平移标定,忽略了旋转标定。结果点云和IMU数据在剧烈运动时完全对不上。记住,旋转误差比平移误差更致命,尤其是在远距离场景。
3.3 激光雷达与相机外参标定:让点云和图像「结婚」
激光雷达和相机的联合标定,本质上是找3D点云到2D图像的投影关系。说白了,就是让激光点能准确落在图像上对应的像素位置。
主流标定方法对比:
| 方法 | 原理 | 优点 | 缺点 |
|---|---|---|---|
| 棋盘格法 | 检测棋盘格角点,建立3D-2D对应 | 精度高,成熟稳定 | 需要人工干预,棋盘格尺寸要精确 |
| 自然场景法 | 利用边缘、平面等特征自动匹配 | 自动化程度高 | 对场景纹理要求高,鲁棒性一般 |
| 深度学习法 | 用神经网络直接回归外参 | 端到端,无需人工特征 | 需要大量标注数据,泛化性存疑 |
我个人习惯用棋盘格法,原因很简单:可解释性强。标定结果好不好,看一眼投影误差就知道。我建议棋盘格尺寸选300mm×300mm以上,格子数9×7或11×8,这样激光雷达能扫到足够多的点。
标定步骤(我常用的流程):
- 固定好传感器组合,确保相对位置不变
- 在不同距离(1m、3m、5m)和角度(正对、斜45°)采集10-20组数据
- 用OpenCV提取棋盘格角点,同时提取激光雷达在棋盘格平面上的点云
- 用PnP算法求解外参,再用非线性优化(如Levenberg-Marquardt)精化
- 验证:将点云投影到图像上,看边缘对齐情况
你想想看,如果标定误差在1个像素以内,那基本算合格了。我见过最夸张的案例,标定误差达到15个像素,结果点云投影到图像上,车尾灯的位置对到了车牌上——这要是做目标检测融合,肯定出大问题。
3.4 标定验证与质量评估
标定做完不等于万事大吉。我习惯做三件事来验证:
- 重投影误差检查:计算所有标定点投影到图像后的平均像素误差,<1像素为优秀,<3像素为可用
- 运动一致性检查:让传感器做旋转运动,看IMU积分轨迹和激光雷达里程计轨迹是否一致
- 长距离漂移测试:在100米外放置一个标志物,看标定后的投影是否稳定
我的经验:标定质量评估最好用独立数据集,不要用标定时的数据。我见过有人用训练集评估,结果误差很小,一换场景就崩——这是典型的过拟合。
这张图把传感器标定的知识体系串起来了。你会发现,内参标定是基础,外参标定是桥梁,验证评估是保障。三者缺一不可。
最后说一句:标定这件事,别指望一次搞定。传感器会老化,安装结构会松动,温度变化会影响精度。我建议每隔3-6个月重新标定一次,或者在系统出现异常时立即检查标定参数。
本章小结:传感器标定是激光雷达SLAM系统的基石。内参标定保证单传感器精度,外参标定实现多传感器对齐,验证评估确保标定质量。记住,标定不是终点,而是持续优化的起点。