3、坐标系与标定:各传感器坐标系定义、内参外参标定方法及统一坐标变换

多传感器融合的前提是让所有传感器“说同一种语言”,而坐标系定义与标定正是建立这种语言的基础工程。摄像头、超声波、IMU和编码器各自拥有独立的测量基准:摄像头输出像素坐标,超声波返回极坐标形式的距离信息,IMU提供载体坐标系下的加速度与角速度,编码器则直接报告轮体旋转量。若缺乏统一的坐标变换框架,即便每个传感器都工作正常,融合结果也会因空间基准不一致而产生系统性偏差。本章围绕坐标系定义、内参外参标定流程以及统一坐标变换展开,帮助读者建立从传感器原始数据到车体统一坐标系的完整技术链路。

多传感器坐标系与标定链路 摄像头 像素坐标系 (u,v) 相机坐标系 O_c 超声波 极坐标 (r, θ) 传感器坐标系 O_s IMU 载体坐标系 O_i 加速度/角速度 编码器 轮速/里程增量 内参标定 焦距/主点/畸变 安装角度/零偏 轮径/齿数比 外参标定 旋转矩阵 R 平移向量 t 传感器间位姿 车体坐标系 O_v (后轴中心) X前 Y左 Z上 统一融合基准 内参矩阵K 外参T R, t R, t

上图展示了本章的核心逻辑:四种传感器各自独立采集数据,经过内参标定消除自身测量误差,再通过外参标定获得传感器坐标系到车体坐标系的旋转与平移关系,最终将所有数据投影到统一的车体坐标系下进行融合。下面逐一展开坐标系定义、标定方法和变换实现。

3.1 各传感器坐标系定义

坐标系定义是标定工作的起点,不同传感器遵循不同的坐标约定,需要明确统一到同一参考框架下。

  • 摄像头坐标系(O_c):以相机光心为原点,Z轴沿光轴向前,X轴向右,Y轴向下(遵循右手定则)。像素坐标系(u,v)以图像左上角为原点,u向右,v向下。内参矩阵K将三维点投影到像素平面:
    [fx  0  cx]
K = [ 0 fy  cy]
    [ 0  0   1]

其中fx、fy为归一化焦距,cx、cy为主点坐标。畸变模型通常采用径向畸变(k1,k2,k3)和切向畸变(p1,p2)描述。

  • 超声波坐标系(O_s):以探头中心为原点,Z轴指向探测方向,X-Y平面垂直于声束轴线。超声波返回的距离值r对应目标点在传感器坐标系下的Z坐标,而水平开角θ和垂直开角φ则定义了波束覆盖范围。实际应用中,通常将超声波简化为扇形或锥形区域,目标位置表示为(r, θ, φ)的球坐标形式。
  • IMU坐标系(O_i):以IMU芯片封装中心为原点,三轴方向与芯片标注一致。加速度计测量比力,陀螺仪测量角速度,均以IMU自身坐标系为参考。IMU的安装位置通常不在车体几何中心,因此需要外参标定确定其相对于车体坐标系的位姿。
  • 编码器坐标系(O_e):编码器直接安装在轮轴上,其测量值为轮轴旋转角度或角速度。通过轮径模型可转换为轮心处的线速度。编码器坐标系通常以轮轴中心为原点,Z轴沿轮轴方向,X轴指向车辆前进方向。
关键约定:车体坐标系(O_v)通常定义在后轴中心,X轴指向车辆前进方向,Y轴指向车辆左侧,Z轴垂直向上。所有传感器数据最终都要变换到该坐标系下,才能进行有效的空间对齐与融合。

3.2 内参标定方法

内参标定解决的是传感器自身的测量精度问题,不同传感器的内参标定方法差异较大。

3.2.1 摄像头内参标定

采用张正友标定法,使用棋盘格或圆点标定板,采集10-20张不同姿态的图像,通过角点检测和单应性矩阵求解内参矩阵和畸变系数。操作流程如下:

  1. 打印高精度棋盘格标定板(如10×7格,格边长30mm),粘贴在平面硬板上。
  2. 固定摄像头,移动标定板使其出现在视野不同位置和角度,采集15张以上图像。
  3. 使用OpenCV的findChessboardCorners检测角点,亚像素精细化。
  4. 调用calibrateCamera求解内参矩阵K和畸变系数。
  5. 验证重投影误差,通常要求小于0.5像素。

3.2.2 超声波内参标定

超声波内参主要指探头的安装角度和波束开角。标定时将超声波对准已知距离的平面障碍物,记录不同距离下的回波强度,拟合出波束轮廓,确定实际开角。安装角度可通过测量已知位置目标的回波方向来反推。

3.2.3 IMU内参标定

IMU内参包括加速度计零偏、比例因子、安装误差角,以及陀螺仪零偏和比例因子。标定方法:

  • 六位置法:将IMU分别以六个面朝上静止放置,采集加速度计输出,求解零偏和比例因子。
  • 转台法:使用高精度转台提供已知角速度,标定陀螺仪比例因子和安装误差。
  • 艾伦方差法:长时间静止采集数据,分析噪声特性,分离量化噪声、角度随机游走和零偏不稳定性。

3.2.4 编码器内参标定

编码器内参主要是轮径有效值和齿数比。标定方法:让车辆沿直线行驶已知距离L,记录编码器脉冲数N,则轮径d = L / (π × N / 每转脉冲数)。为提高精度,可多次往返取平均。

传感器内参内容标定方法精度要求
摄像头焦距、主点、畸变张正友标定法重投影误差<0.5px
超声波安装角度、波束开角已知距离目标回波拟合角度误差<1°
IMU零偏、比例因子、安装误差六位置法+转台法零偏稳定性<10°/h
编码器轮径、齿数比已知距离行驶标定轮径误差<0.5%

3.3 外参标定方法

外参标定确定各传感器坐标系相对于车体坐标系的旋转矩阵R和平移向量t。这是多传感器融合中最关键也最容易出错的环节。

3.3.1 摄像头-车体外参标定

常用方法包括:

  • 手动测量法:使用卷尺和角度尺直接测量相机安装位置和姿态,精度较低但简单快速。
  • 标定板法:在车辆前方放置已知尺寸的标定板,同时获取标定板在车体坐标系下的位置(通过测量)和相机图像中的位置,利用PnP算法求解外参。
  • 手眼标定法:借鉴机器人领域的AX=XB方法,通过车辆移动和相机观测固定特征点,迭代求解外参。

3.3.2 IMU-车体外参标定

IMU外参标定通常利用车辆运动约束:车辆在平面上行驶时,IMU测量的加速度在车体坐标系下的投影应满足特定关系。具体步骤:

  1. 车辆静止,记录IMU加速度输出,确定重力方向在IMU坐标系下的投影,从而求解俯仰角和横滚角。
  2. 车辆直线加速行驶,利用加速度计输出和编码器速度变化,求解航向角。
  3. 通过多组不同运动状态的数据,使用最小二乘法优化R和t。

3.3.3 超声波-车体外参标定

超声波外参标定相对简单:将超声波对准已知距离的平面墙,测量实际距离与传感器读数之差,即可确定安装位置偏移。安装角度可通过测量不同角度下的回波强度峰值来确定。

3.3.4 编码器-车体外参标定

编码器通常直接安装在轮轴上,其坐标系与车体坐标系的关系由车辆几何结构决定。若编码器安装在非转向轮上,其坐标系与车体坐标系仅存在平移关系,旋转矩阵为单位阵。若安装在转向轮上,则需要考虑转向角的影响。

常见风险:外参标定误差是融合系统最大的误差来源之一。例如,摄像头外参旋转误差1°,在10米处的目标位置偏差可达17cm,足以导致障碍物检测框错位。因此外参标定后必须进行验证,通常使用重投影误差或已知距离目标的测距误差来评估。

3.4 统一坐标变换实现

完成内外参标定后,需要实现从各传感器原始数据到车体坐标系的统一变换。变换流程如下:

3.4.1 摄像头数据变换

像素坐标(u,v)到车体坐标(X_v, Y_v, Z_v)的变换分三步:

1. 像素坐标 → 归一化相机坐标:
   x_c = (u - cx) / fx
   y_c = (v - cy) / fy

2. 去畸变:
   r² = x_c² + y_c²
   x_d = x_c * (1 + k1*r² + k2*r⁴ + k3*r⁶) + 2*p1*x_c*y_c + p2*(r² + 2*x_c²)
   y_d = y_c * (1 + k1*r² + k2*r⁴ + k3*r⁶) + p1*(r² + 2*y_c²) + 2*p2*x_c*y_c

3. 相机坐标 → 车体坐标:
   [X_v]   [R_cv | t_cv]   [x_d]
   [Y_v] = [     |     ] * [y_d]
   [Z_v]   [     |     ]   [ 1 ]

其中R_cv和t_cv为摄像头到车体的外参。由于单目相机无法直接获得深度Z_c,通常需要结合地面平面假设或与其他传感器融合获取深度信息。

3.4.2 超声波数据变换

超声波返回的距离r和角度(θ, φ)在传感器坐标系下表示为:

X_s = r * sin(θ) * cos(φ)
Y_s = r * sin(φ)
Z_s = r * cos(θ) * cos(φ)

然后通过外参变换到车体坐标系。需要注意的是,超声波测距存在波束宽度导致的角分辨率限制,通常将目标建模为具有一定宽度的区域而非点。

3.4.3 IMU数据变换

IMU输出的加速度和角速度在IMU坐标系下,需要变换到车体坐标系:

a_v = R_iv * a_i + ω × (ω × r_iv) + α × r_iv

其中R_iv为IMU到车体的旋转矩阵,r_iv为IMU相对于车体坐标系原点的位置向量,ω为角速度,α为角加速度。当车辆运动速度较低时,后两项可忽略,但高速或急转弯时必须考虑。

3.4.4 编码器数据变换

编码器输出轮速ω_wheel,通过轮径r_wheel计算轮心线速度v_wheel = ω_wheel × r_wheel。对于非转向轮,轮心速度直接投影到车体坐标系X轴方向。对于差速驱动车辆,左右轮速可计算车体速度和横摆角速度:

v = (v_left + v_right) / 2
ω = (v_right - v_left) / L_wheelbase

3.5 实战案例:园区无人车传感器标定与坐标变换

某园区物流无人车配备前视摄像头、4个超声波雷达(前保险杠2个、后保险杠2个)、IMU和双轮编码器,需要完成全套标定并验证融合效果。

背景与约束:车辆轴距1.2m,轮距0.8m,摄像头安装于前挡风玻璃顶部中心,距地面1.4m,前向安装。超声波探头安装于前后保险杠,距地面0.5m。IMU安装于车辆几何中心。要求障碍物测距精度优于±10cm。

标定过程:

  1. 摄像头内参标定:使用12×9棋盘格(格边长25mm),采集20张图像,重投影误差0.32像素,满足要求。
  2. 摄像头外参标定:在车辆前方5m处放置1.5m×1.5m标定板,标定板中心距地面1.0m。通过测量标定板在车体坐标系下的位置(X=5m, Y=0, Z=1.0m),结合图像中角点位置,使用PnP求解外参。得到旋转角:俯仰-2.3°,横滚0.1°,航向0.5°。
  3. IMU外参标定:车辆静止时记录加速度计输出,计算俯仰角0.8°、横滚角-0.3°。车辆直线加速至2m/s,利用加速度计和编码器速度差求解航向角0.2°。
  4. 超声波外参标定:将车辆停放在距墙面2m处,调整车辆朝向使超声波垂直对准墙面,记录距离读数2.03m,确定安装偏移3cm。
  5. 编码器标定:车辆直线行驶10m,记录编码器脉冲数,计算轮径0.198m(标称值0.2m),误差1%。

验证结果:在车辆前方3m、5m、8m处放置障碍物,分别用摄像头和超声波测量距离,融合后测距误差分别为4cm、7cm、9cm,满足±10cm要求。摄像头与超声波在5m处的测量差值为12cm,经坐标变换对齐后差值缩小至3cm。

复盘经验:外参标定误差对远距离目标影响显著,建议在标定后使用已知距离的多个目标进行验证。IMU外参标定中,车辆必须保持水平路面行驶,否则重力分量会污染加速度计数据。编码器轮径标定受轮胎气压影响较大,建议在不同胎压下多次标定取平均值。

3.6 常见误区与总结

坐标系与标定环节的常见误区包括:

  • 忽略IMU杆臂效应:IMU安装位置与车体中心不重合时,角运动会产生附加线加速度,必须补偿。
  • 超声波波束建模过于简化:将超声波视为理想射线会导致边缘目标测距偏差,应使用扇形模型。
  • 摄像头畸变校正不彻底:仅校正径向畸变而忽略切向畸变,在图像边缘区域仍存在较大误差。
  • 外参标定后未验证:标定结果必须通过独立测量验证,不能仅依赖重投影误差。
  • 坐标系约定不一致:不同传感器可能采用不同的坐标轴方向约定,统一变换前必须仔细核对。

总结而言,坐标系定义是融合系统的“语法规则”,内参标定保证每个传感器“说准话”,外参标定让所有传感器“说同一句话”。只有完成这三步,后续的传感器融合算法才能建立在可靠的数据基础之上。建议在实际项目中建立标定记录表,记录每次标定的时间、环境条件、标定参数和验证结果,便于后续排查问题。