介绍一下 机器人坐标转换的 RT 矩阵
好的,我们来详细介绍一下机器人学和计算机视觉中至关重要的 RT矩阵,也常被称为刚体变换矩阵 或 位姿矩阵。
1. 什么是 RT 矩阵?
RT矩阵 的核心作用是描述一个刚体(比如机器人的手臂、末端执行器、自动驾驶车辆上的传感器)在三维空间中的位置和姿态,即 位姿。
R 代表 旋转:一个 3x3 的矩阵,描述了物体是如何相对于参考坐标系旋转的。
T 代表 平移:一个 3x1 的向量,描述了物体相对于参考坐标系的位移。
为了将旋转和平移统一在一个矩阵运算中(便于连续变换和计算),我们使用一个 4x4 的齐次坐标变换矩阵,这就是我们通常所说的 RT 矩阵。
它的标准形式如下:
[ r11 r12 r13 tx ] T = [ r21 r22 r23 ty ][ r31 r32 r33 tz ][ 0 0 0 1 ]
其中:
左上角的 3x3 子矩阵
[r11, r12, r13; r21, r22, r23; r31, r32, r33]就是旋转矩阵 R。最右边的 3x1 列向量
[tx, ty, tz]^T就是平移向量 T。最后一行
[0, 0, 0, 1]是为了满足齐次坐标计算而固定的。
2. RT 矩阵的数学原理:为什么要用 4x4 矩阵?
在三维空间中,一个点的坐标通常用 [x, y, z]^T 表示。如果我们只想进行旋转,用 3x3 矩阵乘法就够了:
P_rotated = R * P
如果我们只想进行平移,用向量加法就够了:
P_translated = P + T
但是,当我们既需要旋转又需要平移时,运算就变成了:
P_new = R * P + T
这虽然正确,但不是线性的,不便于将多个变换合并成一个。为了解决这个问题,我们引入了齐次坐标。
齐次坐标 将三维点 [x, y, z] 扩展为四维 [x, y, z, 1]。这样,旋转和平移就可以通过一个单一的矩阵乘法来完成:
[ P_new ] [ R T ] [ P ] [ ] = [ ] * [ ] [ 1 ] [ 0, 0, 0 1 ] [ 1 ]
展开后就是:P_new = R * P + T
看到了吗?我们用一次矩阵乘法,优雅地实现了 R * P + T 这个操作。这使得连续变换变得非常简单。
3. RT 矩阵的几何意义与作用
RT 矩阵描述了一个坐标系(目标坐标系 B)到另一个坐标系(参考坐标系 A)的变换关系。
通常我们写作 ᴀTʙ,它的含义是:
“我知道一个点在坐标系 B 下的坐标,那么通过 ᴀTʙ,我就可以计算出该点在坐标系 A 下的坐标。”
数学表达:Point_A = ᴀTʙ * Point_B
几何解释:
旋转部分 R:描述了如何将坐标系 B 的三个轴
(X_b, Y_b, Z_b)旋转,才能与坐标系 A 的三个轴(X_a, Y_a, Z_a)对齐。平移部分 T:描述了坐标系 B 的原点在坐标系 A 中的坐标位置。
举个例子:
想象机器人的基座是坐标系 Base,机器人的手爪是坐标系 Gripper。
ᴮTɢ 这个矩阵就描述了手爪相对于机器人基座的位置和朝向。
如果你知道一个物体(比如一个螺丝)在手爪坐标系下的坐标
P_gripper,那么通过P_base = ᴮTɢ * P_gripper,你就能算出这个螺丝在基座坐标系下的坐标,从而让机器人知道如何移动整个身体去接近它。
4. RT 矩阵的运算
a. 变换的复合(连锁变换)
这是 RT 矩阵最大的优势之一。如果你有多个坐标系,比如从 A 到 B,再从 B 到 C,那么从 A 到 C 的变换矩阵就是:
ᴀTᴄ = ᴀTʙ * ʙTᴄ
注意顺序:矩阵乘法是右乘的,即最先发生的变换在最右边。这个顺序非常重要,不能颠倒。
例子:在机器人学中,从基座到末端执行器的变换,是由一系列连杆变换复合而成的:ᴮTᴱ = ᴮT₁ * ¹T₂ * ²T₃ * ... * ᴺ⁻¹Tᴺ * ᴺTᴱ
b. 逆变换
如果你有 ᴀTʙ,想知道 ʙTᴀ(即从坐标系 A 变换到 B 的逆过程),不需要直接求逆矩阵,有一个快速计算方法:
[ R^T -R^T * T ] T = [ ][ 0 1 ]
其中 R^T 是旋转矩阵 R 的转置。因为旋转矩阵是正交矩阵,所以它的逆就等于它的转置。
5. 实际应用场景
RT 矩阵在机器人和计算机视觉领域无处不在:
机器人运动学:描述机器人各个连杆之间的位姿关系,是机器人控制和轨迹规划的基础。
手眼标定:确定相机安装在机器人手上(Eye-in-Hand)或机器人外部(Eye-to-Hand)时,相机坐标系与机器人基座坐标系之间的变换关系。核心就是求解一个
AX = XB的矩阵方程。自动驾驶:将激光雷达、摄像头、GPS/IMU 等不同传感器坐标系的数据统一到车体坐标系下,进行融合感知。这里的 RT 矩阵通常由传感器外参标定得到。
计算机图形学:用于移动、旋转和放置三维模型中的物体。
增强现实:将虚拟物体准确地叠加到真实世界的视频画面上,需要计算相机相对于真实世界标记物的 RT 矩阵。
6. 与其他姿态表示法的关系
旋转矩阵 R 只是描述旋转的一种方式,其他常见的还有:
欧拉角:直观,但有万向节死锁问题。
四元数:紧凑,计算高效,常用于插值和避免死锁。
轴角/旋转向量:用一根旋转轴和一个旋转角度来表示。
这些表示法都可以与旋转矩阵 R 相互转换。RT 矩阵因其统一和规范的形式,成为了在系统内部存储和传递位姿信息的标准方式。
总结
RT矩阵 是一个强大而优雅的数学工具,它将三维空间中的旋转和平移统一在一个 4x4 的矩阵中。它不仅是描述物体位姿的标准语言,更是连接不同坐标系、实现复杂空间计算的桥梁,是机器人学和计算机视觉领域的基石概念之一。
