3. 刚体变换与齐次矩阵:旋转矩阵、平移向量、齐次坐标、4x4齐次变换矩阵的数学原理与组合运算

在机器人手眼标定与点云配准中,核心任务是将一个坐标系下的点或刚体,精确地映射到另一个坐标系下。这种映射在三维空间中被称为刚体变换,它由旋转和平移两部分组成。本章将系统讲解其数学表达——从旋转矩阵、平移向量,到齐次坐标与4x4齐次变换矩阵,并深入探讨其组合运算规则。

3.1 旋转矩阵:三维空间中的姿态描述

旋转矩阵是一个3x3的正交矩阵(RTR = I,且行列式为+1),用于描述一个坐标系相对于另一个坐标系的纯旋转关系。其每一列代表原坐标系基向量在目标坐标系中的投影。

关键性质: 旋转矩阵的逆等于其转置(R-1 = RT),这使得反向旋转计算极为高效。

绕三个坐标轴的基本旋转矩阵如下:

旋转轴 旋转矩阵(角度 θ) 特点
绕 X 轴
R_x(θ) = [[1, 0, 0],
           [0, cosθ, -sinθ],
           [0, sinθ, cosθ]]
X 坐标不变
绕 Y 轴
R_y(θ) = [[cosθ, 0, sinθ],
           [0, 1, 0],
           [-sinθ, 0, cosθ]]
Y 坐标不变
绕 Z 轴
R_z(θ) = [[cosθ, -sinθ, 0],
           [sinθ, cosθ, 0],
           [0, 0, 1]]
Z 坐标不变
应用提示: 在点云配准中,旋转矩阵常用于对齐两个点云的主方向。例如,通过主成分分析(PCA)计算出的特征向量矩阵,本质上就是一个旋转矩阵。

3.2 平移向量:三维空间中的位置偏移

平移向量是一个3x1的列向量 t = [tx, ty, tz]T,表示从一个坐标系原点到另一个坐标系原点的位移。它只改变点的位置,不改变点的方向。

对于一个三维点 p = [x, y, z]T,平移变换后的新坐标为:

p' = p + t = [x + t_x, y + t_y, z + t_z]^T

3.3 齐次坐标:统一旋转与平移的数学工具

为了将旋转和平移统一为一种线性运算(矩阵乘法),我们引入齐次坐标。齐次坐标将一个三维点 [x, y, z]T 表示为四维向量 [x, y, z, 1]T。

使用齐次坐标的核心优势在于:

  • 统一运算: 旋转和平移可以合并为一个4x4矩阵,通过一次乘法完成变换。
  • 链式组合: 多个变换矩阵可以预先相乘,形成复合变换矩阵,避免逐点重复计算。
  • 表示无穷远点: 当 w=0 时,齐次坐标表示方向向量,这在处理相机投影时非常有用。

3.4 4x4齐次变换矩阵:刚体变换的完整表达

一个完整的刚体变换(旋转 + 平移)可以用一个4x4齐次变换矩阵 T 表示:

T = [[R, t],
     [0, 1]]

其中:
R: 3x3 旋转矩阵
t: 3x1 平移向量
0: 1x3 零向量
1: 标量 1

展开形式为:

T = [[r11, r12, r13, t_x],
     [r21, r22, r23, t_y],
     [r31, r32, r33, t_z],
     [0,   0,   0,   1  ]]

对点 ph = [x, y, z, 1]T 应用变换:

p'_h = T * p_h

结果 p'_h 的前三个分量即为变换后的三维坐标。

常见误区: 变换矩阵的乘法顺序不可交换。先旋转后平移与先平移后旋转的结果完全不同。在组合变换时,必须严格按照变换发生的顺序左乘矩阵。
刚体变换与齐次矩阵结构图 旋转矩阵 R (3x3) 描述姿态 正交矩阵 (RTR = I) 行列式 = +1 绕 X/Y/Z 轴基本旋转 平移向量 t (3x1) 描述位置 t = [tx, ty, tz]T 齐次坐标 点: [x, y, z, 1]T 方向: [x, y, z, 0]T 统一旋转与平移 支持链式组合 可表示无穷远点 4x4 变换矩阵 T ┌─────┬───┐ │ R │ t │ ├─────┼───┤ │ 0 │ 1 │ └─────┴───┘ p' = T · p 一次乘法完成变换 核心公式:齐次变换矩阵 T = [R, t; 0, 1] 组合变换时,按顺序左乘矩阵:T复合 = Tn · ... · T2 · T1

3.5 变换矩阵的组合运算

在实际应用中,一个刚体往往需要经过多次连续的旋转和平移。齐次变换矩阵的强大之处在于,可以将这些连续的变换预先组合成一个复合矩阵。

假设有变换序列:先进行变换 T1,再进行变换 T2,则复合变换为:

T_复合 = T_2 * T_1

对点 p 应用复合变换:

p' = T_复合 * p = T_2 * (T_1 * p)
链式法则: 在机器人运动链中,从基座到末端执行器的总变换等于各关节变换矩阵的连乘:Tbase→end = Tn · Tn-1 · ... · T1。

组合运算的关键规则:

  • 顺序敏感: 矩阵乘法不满足交换律,T2 · T1 ≠ T1 · T2。
  • 结合律: 矩阵乘法满足结合律,(T3 · T2) · T1 = T3 · (T2 · T1)。
  • 逆变换: 变换矩阵 T 的逆 T-1 表示反向变换,用于将点从目标坐标系变换回源坐标系。

逆变换的计算公式:

T^(-1) = [[R^T,  -R^T * t],
          [0,     1       ]]
变换矩阵组合运算流程 初始点 p 坐标系 A T1 中间点 p' 坐标系 B T2 最终点 p'' 坐标系 C 复合变换:T复合 = T2 · T1 p'' = T复合 · p = T2 · (T1 · p) 关键规则:矩阵乘法顺序与变换发生顺序相反(右乘先发生) 逆变换:T-1 = [RT, -RTt; 0, 1],用于坐标系反向映射

3.6 本章小结

概念 数学表示 维度 作用
旋转矩阵 R 3x3 描述坐标系间的姿态关系
平移向量 t 3x1 描述坐标系原点的位置偏移
齐次坐标 [x, y, z, w]T 4x1 统一旋转和平移为线性运算
齐次变换矩阵 T 4x4 完整描述刚体变换,支持链式组合
实战要点: 在Eye-to-Hand标定中,相机坐标系与机器人基坐标系之间的变换关系,正是通过求解一个4x4齐次变换矩阵来建立的。理解本章的数学原理,是后续进行标定计算和点云配准的基石。