3. 刚体变换与齐次矩阵:旋转矩阵、平移向量、齐次坐标、4x4齐次变换矩阵的数学原理与组合运算
在机器人手眼标定与点云配准中,核心任务是将一个坐标系下的点或刚体,精确地映射到另一个坐标系下。这种映射在三维空间中被称为刚体变换,它由旋转和平移两部分组成。本章将系统讲解其数学表达——从旋转矩阵、平移向量,到齐次坐标与4x4齐次变换矩阵,并深入探讨其组合运算规则。
3.1 旋转矩阵:三维空间中的姿态描述
旋转矩阵是一个3x3的正交矩阵(RTR = I,且行列式为+1),用于描述一个坐标系相对于另一个坐标系的纯旋转关系。其每一列代表原坐标系基向量在目标坐标系中的投影。
关键性质: 旋转矩阵的逆等于其转置(R-1 = RT),这使得反向旋转计算极为高效。
绕三个坐标轴的基本旋转矩阵如下:
| 旋转轴 | 旋转矩阵(角度 θ) | 特点 |
|---|---|---|
| 绕 X 轴 | |
X 坐标不变 |
| 绕 Y 轴 | |
Y 坐标不变 |
| 绕 Z 轴 | |
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 的前三个分量即为变换后的三维坐标。
常见误区: 变换矩阵的乘法顺序不可交换。先旋转后平移与先平移后旋转的结果完全不同。在组合变换时,必须严格按照变换发生的顺序左乘矩阵。
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 ]]
3.6 本章小结
| 概念 | 数学表示 | 维度 | 作用 |
|---|---|---|---|
| 旋转矩阵 | R | 3x3 | 描述坐标系间的姿态关系 |
| 平移向量 | t | 3x1 | 描述坐标系原点的位置偏移 |
| 齐次坐标 | [x, y, z, w]T | 4x1 | 统一旋转和平移为线性运算 |
| 齐次变换矩阵 | T | 4x4 | 完整描述刚体变换,支持链式组合 |
实战要点: 在Eye-to-Hand标定中,相机坐标系与机器人基坐标系之间的变换关系,正是通过求解一个4x4齐次变换矩阵来建立的。理解本章的数学原理,是后续进行标定计算和点云配准的基石。