3. 刚体变换与齐次矩阵

在机器人手眼标定中,相机与机器人末端之间的空间关系本质上是刚体变换——即物体在三维空间中只发生旋转和平移,不发生形变。本章将系统建立刚体变换的数学语言:旋转矩阵、平移向量、齐次坐标变换矩阵,以及如何通过链式法则串联多个坐标系。

3.1 旋转矩阵:姿态的数学表示

旋转矩阵 R 是一个 3×3 的正交矩阵(RᵀR = I,det(R) = +1),用于描述一个坐标系相对于另一个坐标系的姿态。其每一列是目标坐标系基向量在源坐标系中的投影。

属性 数学表达 物理含义
正交性 RᵀR = I 列向量单位正交,保证长度与角度不变
行列式 det(R) = +1 右手系,无镜像
逆矩阵 R⁻¹ = Rᵀ 逆旋转等于转置,计算高效
自由度 3 绕 X、Y、Z 轴的三个旋转角
标定实战要点: 旋转矩阵的数值正交性会因传感器噪声而退化。在手眼标定中,通常将估计出的旋转矩阵投影到 SO(3) 流形上(如 SVD 正交化),以保证物理合法性。

3.2 平移向量:位置偏移

平移向量 t = [tx, ty, tz]ᵀ 表示一个坐标系原点在另一个坐标系中的三维位置偏移。旋转与平移共同构成刚体变换的 6 个自由度(3 旋转 + 3 平移)。

3.3 齐次坐标变换矩阵:统一旋转与平移

为了将旋转和平移统一为线性运算,引入齐次坐标。三维点 P = [x, y, z]ᵀ 的齐次表示为 [x, y, z, 1]ᵀ。刚体变换矩阵 T 为 4×4 矩阵:

T = [ R   t ]
    [ 0ᵀ  1 ]

其中:
R : 3×3 旋转矩阵
t : 3×1 平移向量
0ᵀ: 1×3 零行向量

点 P 从坐标系 {A} 变换到 {B}:PB = TB←A · PA。

为什么用齐次矩阵? 齐次形式将旋转与平移合并为一次矩阵乘法,避免了旋转后加平移的混合运算,使得多个变换可以连续左乘,形成简洁的链式法则。
刚体变换几何示意:旋转 + 平移 XA YA ZA {A} XB YB ZB {B} t R P

3.4 链式法则:串联多个变换

在机器人系统中,一个物体往往经过多个坐标系传递。例如,相机看到标定板上的点,需要经过相机→机械臂末端→机械臂基座→世界坐标系的多次变换。链式法则规定:

T_世界←标定板 = T_世界←基座 · T_基座←末端 · T_末端←相机 · T_相机←标定板

其中每个 T 都是 4×4 齐次矩阵,乘法顺序从右向左依次作用。注意:矩阵乘法不满足交换律,顺序错误会导致完全不同的空间映射。

常见错误: 初学者容易混淆“左乘”与“右乘”的含义。在齐次变换中,左乘表示将当前变换叠加到已有变换的外侧(即更靠近世界坐标系),右乘表示叠加到内侧(即更靠近物体坐标系)。手眼标定中,AX = XB 方程正是利用了这种链式关系。
链式变换:坐标系串联 标定板 相机 末端 基座 Tcam←cal Tend←cam Tbase←end 链式乘法顺序(从右向左) Tbase←cal = Tbase←end · Tend←cam · Tcam←cal 每个 T 都是 4×4 齐次矩阵,顺序不可交换

3.5 逆变换与误差传播

已知 TB←A,其逆变换为:

T_A←B = (T_B←A)⁻¹ = [ Rᵀ  -Rᵀ·t ]
                     [ 0ᵀ     1    ]

在标定优化中,逆变换用于将误差从观测空间映射回参数空间。链式法则的误差传播遵循:

  • 旋转误差:随链式长度增加,旋转误差会累积放大,尤其在远距离变换中。
  • 平移误差:受旋转误差耦合影响,即使平移本身精确,旋转偏差也会导致平移投影偏差。
  • 优化策略:手眼标定通常采用两步法(先解旋转,再解平移)或整体非线性优化,以抑制误差传播。
实战建议: 在标定数据采集时,尽量让机械臂末端姿态多样化(避免奇异位形),并保证标定板在相机视野中分布均匀。这能提高旋转矩阵的估计条件数,降低链式误差放大效应。

3.6 本章小结

概念 数学形式 标定中的作用
旋转矩阵 R 3×3 正交矩阵 描述坐标系间姿态关系
平移向量 t 3×1 向量 描述坐标系间位置偏移
齐次矩阵 T 4×4 [R t; 0ᵀ 1] 统一旋转+平移,支持链式乘法
链式法则 连续左乘 串联相机、末端、基座坐标系
逆变换 T⁻¹ = [Rᵀ, -Rᵀt; 0ᵀ 1] 误差反向传播与参数优化