3. 坐标系与标定:世界坐标系、车辆坐标系、传感器坐标系,以及联合标定方法

各位同学,咱们今天聊一个绕不开的话题——坐标系与标定。

说实话,我刚开始做感知融合那会儿,觉得标定就是个“配准”的活儿,没啥技术含量。直到有一次,我花了整整两周排查一个融合结果抖动的问题,最后发现是激光雷达和相机的外参偏了0.1度。嗯,从那以后,我再也不敢小看标定了。

3.1 为什么需要这么多坐标系?

你想想看,一辆自动驾驶车上,传感器各管各的。摄像头看到的是像素坐标,激光雷达扫到的是三维点云,毫米波雷达给的是径向距离和速度。这些数据要融合到一起,就得有个“共同语言”。

说白了,坐标系就是那个共同语言。我们得把每个传感器的数据,都翻译到同一个参考系下。

核心原则:所有传感器数据最终都要统一到车辆坐标系下,再根据需求转换到世界坐标系。

3.2 四大坐标系详解

3.2.1 世界坐标系

世界坐标系是全局的参考系。它固定在地球上,不随车辆移动而改变。通常我们使用ENU(东-北-天)坐标系,或者UTM坐标系。

我个人习惯用UTM,因为它是平面直角坐标系,计算起来方便。但要注意,UTM在不同带区之间会有跳变,跨区域行驶时得做特殊处理。

3.2.2 车辆坐标系

车辆坐标系是跟着车走的。一般定义:

  • X轴:车头方向(前进方向)
  • Y轴:车辆左侧方向
  • Z轴:车辆上方(符合右手定则)

原点通常在后轴中心,或者车辆质心。我在项目中遇到过,不同车厂对原点的定义不一样,有的放在前保险杠中心,有的放在GPS天线位置。这个一定要提前确认清楚,否则融合结果会整体偏移。

3.2.3 传感器坐标系

每个传感器都有自己的坐标系:

  • 相机坐标系:光心为原点,Z轴指向拍摄方向,X轴向右,Y轴向下(图像坐标系)
  • 激光雷达坐标系:通常以激光发射中心为原点,X轴指向车头,Y轴向左,Z轴向上
  • 毫米波雷达坐标系:以雷达天线中心为原点,X轴指向雷达法线方向

小技巧:我建议你在项目初期就画一张传感器布局图,标注每个传感器的安装位置和朝向。这张图后面调试标定参数时会反复用到。

3.3 联合标定方法

标定说白了就是求两个坐标系之间的变换关系——一个旋转矩阵R和一个平移向量t。

3.3.1 激光雷达到相机的标定

这是最常用的标定对。核心思路是利用标定板上的特征点:

  1. 在激光雷达点云中提取标定板的角点或中心点
  2. 在相机图像中提取对应的像素坐标
  3. 构建3D-2D对应关系,求解PnP问题
# 伪代码示例:激光雷达到相机的标定
def lidar_to_camera_calibration(lidar_points_3d, image_points_2d):
    # 使用OpenCV的solvePnP求解
    # 需要已知相机内参矩阵K
    success, rvec, tvec = cv2.solvePnP(
        lidar_points_3d, 
        image_points_2d, 
        camera_matrix, 
        dist_coeffs
    )
    R, _ = cv2.Rodrigues(rvec)
    return R, tvec

避坑指南:我曾经遇到过标定板反光导致角点提取不准的问题。后来改用哑光材质的标定板,并在不同光照条件下多次采集数据,才把重投影误差降到0.5像素以内。

3.3.2 激光雷达到毫米波雷达的标定

这个相对简单,因为两者都是3D传感器。通常的做法是:

  • 在场景中放置角反射器(毫米波雷达能检测到)
  • 同时用激光雷达扫描同一个角反射器
  • 获取两组3D点,用ICP或SVD求解变换矩阵

3.3.3 多传感器联合标定

当传感器数量超过两个时,我们通常采用“链式标定”或“全局优化”策略。

我个人更推荐全局优化。把所有传感器的外参一起优化,能避免误差累积。比如用因子图优化,把每一对标定结果作为约束,同时优化所有外参。

3.4 标定流程与工具

步骤 操作 注意事项
1 安装传感器并固定 确保机械结构稳定,标定后不要松动
2 采集标定数据 多角度、多距离采集,覆盖整个视场
3 特征提取与匹配 检查特征点对应关系是否正确
4 求解变换矩阵 使用RANSAC剔除异常匹配
5 验证与微调 用未参与标定的数据验证重投影误差

常用的标定工具有:

  • Apollo标定工具:功能全面,支持多传感器联合标定
  • Kalibr:相机-IMU标定的利器
  • Autoware标定工具:开源,适合快速验证

3.5 知识体系总览

下面这张图,是我自己总结的坐标系与标定的核心逻辑。你看一眼就能明白整个流程。

坐标系与标定知识体系 激光雷达 相机 毫米波雷达 激光雷达坐标系 相机坐标系 雷达坐标系 联合标定(外参求解) 车辆坐标系(统一参考系) 世界坐标系(全局定位) 内参已知 融合基础

3.6 标定验证与常见问题

标定做完不等于万事大吉。我每次标定完都会做两件事:

  1. 重投影验证:把激光雷达点云投影到图像上,看边缘是否对齐。误差超过2个像素就要重新标定。
  2. 动态验证:让车辆在不同场景下行驶,观察融合结果是否稳定。我曾经发现标定参数在颠簸路面会变化,后来加了紧固件才解决。

我的经验:标定不是一次性的工作。车辆使用一段时间后,机械结构可能发生微小形变。我建议每3个月或每1万公里重新标定一次,确保融合精度。

好了,坐标系与标定就聊到这儿。记住一句话:标定精度决定了融合效果的上限。这块儿花再多时间都值得。

核心要点回顾:

  • 世界坐标系、车辆坐标系、传感器坐标系是三大核心参考系
  • 联合标定本质是求解坐标系间的旋转和平移变换
  • 标定精度直接影响融合效果,需要定期维护
  • 多传感器标定推荐使用全局优化方法

可可精品资料库