3. 坐标系与标定:让传感器“说同一种语言”

做自动驾驶感知,第一个绕不开的坎儿就是坐标系。你想想看,车上装了激光雷达、摄像头、毫米波雷达,每个传感器都有自己的“小世界”——它们各自定义原点在哪、哪个方向是X轴。如果不把这些坐标系统一到同一个框架下,那感知结果就是鸡同鸭讲。

我个人习惯把坐标系比作“方言”。每个传感器说自己的方言,标定就是请一个翻译,让所有方言都变成普通话。这个普通话,就是世界坐标系。

3.1 三大坐标系:你总得认识它们

先搞清楚三个最常用的坐标系。我在项目中见过不少新人搞混,结果融合出来的数据全是乱的。

3.1.1 车辆坐标系

车辆坐标系是整车的“基准坐标系”。一般定义如下:

  • 原点:通常在后轴中心,或者车辆质心。不同车厂习惯不同,我建议统一用后轴中心,因为和运动学模型更匹配。
  • X轴:车辆前进方向为正。
  • Y轴:车辆左侧为正(右手系)。
  • Z轴:车辆上方为正。

重要: 车辆坐标系是动态的。车在转弯时,坐标系也跟着转。所以做路径规划时,一定要考虑坐标系的变化。

3.1.2 传感器坐标系

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

  • 激光雷达:原点在激光雷达中心,X轴朝前,Y轴朝左,Z轴朝上。但有些雷达厂商把Z轴朝下,嗯,这里要注意。
  • 摄像头:原点在光心,Z轴沿光轴方向朝前,X轴朝右,Y轴朝下(图像坐标系)。
  • 毫米波雷达:原点在雷达天线中心,X轴朝前,Y轴朝左。

我曾经在项目里遇到过一个问题:某款激光雷达的坐标系定义和常规不一样,Z轴是朝下的。结果融合模块一直报错,查了两天才发现是坐标系符号反了。从那以后,我拿到新传感器第一件事就是看坐标系定义文档。

3.1.3 世界坐标系

世界坐标系是“绝对坐标系”。它不随车辆移动而改变。一般用UTM坐标系或者经纬度+高程。

  • UTM坐标系:把地球投影到平面上,用东向和北向来表示位置。适合局部路径规划。
  • 经纬度坐标系:WGS-84标准,适合全局导航。

说白了,世界坐标系就是一张大地图。车辆坐标系是你在车上的视角,传感器坐标系是你手里的工具。标定就是把工具测量的结果,映射到大地图上。

3.2 传感器外参标定原理

外参标定,就是求传感器坐标系到车辆坐标系的旋转矩阵和平移向量。数学上很简单:

P_vehicle = R * P_sensor + T

其中R是3x3旋转矩阵,T是3x1平移向量。但实际做起来,坑不少。

3.2.1 旋转矩阵的表示方式

旋转矩阵有几种表示方式,我建议用欧拉角或者四元数:

表示方式 优点 缺点
欧拉角(Roll, Pitch, Yaw) 直观,容易理解 有万向锁问题
四元数 无万向锁,插值平滑 不够直观
旋转矩阵 数学上严谨 参数多,冗余

我个人习惯用四元数做内部计算,用欧拉角做调试和可视化。为什么呢?因为四元数插值平滑,不会出现万向锁。但调试时看欧拉角更直观,一眼就能看出传感器装歪了多少度。

3.2.2 标定流程

外参标定一般分两步:

  1. 粗标定:用尺子量传感器安装位置,估算平移向量。旋转角度用水平仪或者直接目测。精度大概在厘米级和度级。
  2. 精标定:用标定板或者自然特征点,通过优化算法求精确的外参。精度可以达到毫米级和0.1度级。

小技巧: 粗标定别太随意。我见过有人直接用目测,结果精标定算法死活不收敛。粗标定误差控制在5厘米和2度以内,精标定才能稳定工作。

3.3 标定板与目标物标定方法

标定板是精标定的核心工具。常见的标定板有:

  • 棋盘格:角点检测容易,适合摄像头标定。
  • 圆形阵列:圆心检测精度高,适合激光雷达和摄像头联合标定。
  • AprilTag:自带ID,可以同时做位姿估计和标定。

3.3.1 摄像头-激光雷达联合标定

这是最常见的标定场景。流程如下:

  1. 放置标定板,确保摄像头和激光雷达都能看到。
  2. 摄像头检测标定板角点,得到像素坐标。
  3. 激光雷达检测标定板平面,得到点云中的平面方程。
  4. 通过优化算法,最小化重投影误差,求外参。

我曾经在项目里遇到一个问题:标定板反光太强,激光雷达打上去全是噪点。后来换了哑光材质的标定板,问题就解决了。嗯,细节决定成败。

3.3.2 目标物标定方法

如果没有标定板,也可以用自然目标物。比如:

  • 建筑物角点:用激光雷达检测墙角,摄像头也检测同一个墙角,然后匹配。
  • 车道线:用摄像头检测车道线,激光雷达也检测车道线,然后对齐。
  • 杆状物:路灯杆、交通标志杆,都是很好的标定目标。

注意: 自然目标物标定精度不如标定板。一般只用于在线标定或者粗标定。如果要做高精度融合,还是老老实实用标定板。

3.4 标定后的验证

标定完了,怎么知道标得准不准?我一般做三步验证:

  1. 可视化验证:把激光雷达点云投影到图像上,看边缘是否对齐。如果标定准确,点云应该刚好落在物体的轮廓上。
  2. 距离验证:在标定板前放一个已知距离的物体,看融合后的距离是否准确。
  3. 重复性验证:多次标定,看外参是否稳定。如果每次标定结果差异很大,说明标定流程有问题。

我记得有一次,标定结果看起来很好,可视化也对齐了。但实际跑车时,融合结果总是有偏差。后来发现是标定板放得太近,远距离的外参误差被放大了。从那以后,我标定时会放多个距离的标定板,确保远近都准。

3.5 本章知识体系

下面这张图总结了坐标系与标定的核心逻辑。你可以把它当作一个快速参考:

坐标系与标定知识体系 三大坐标系 车辆坐标系 传感器坐标系 世界坐标系 外参标定原理 旋转矩阵 R 平移向量 T P_vehicle = R*P_sensor + T 标定方法 标定板 目标物 标定验证:可视化 + 距离 + 重复性 核心逻辑:统一坐标系 → 求解外参 → 验证精度 标定精度直接影响感知融合的最终效果

好了,坐标系与标定这部分就讲到这里。记住一句话:标定是感知融合的基石。标定不准,后面所有工作都是白费。我建议你在项目初期就建立一套标准的标定流程,并且定期验证标定精度。这样能省去后面很多排查问题的时间。

核心要点回顾:

  • 三大坐标系:车辆、传感器、世界,必须统一
  • 外参标定:求R和T,粗标定+精标定两步走
  • 标定方法:标定板精度高,目标物灵活但精度低
  • 验证三步走:可视化、距离、重复性

可可精品资料库