第3讲 三维空间刚体运动
3.1 理论基础
刚体运动由 旋转(Rotation) 和 平移(Translation) 组成。
3.1.1 基础向量运算
-
向量:空间中的实体,其坐标值取决于选取的坐标系(基底)。
-
坐标系:通常使用右手系(Right-hand system)。
-
外积与反对称矩阵:
-
在三维空间中,向量的外积 可以写成矩阵与向量的乘法 。
-
符号: (hat) 操作符将向量映射为反对称矩阵。
-
公式:
- 设向量 ,则:
-
3.1.2 旋转矩阵 (Rotation Matrix)
-
定义:描述两个坐标系基底之间的变换关系。
-
数学性质:
-
属于特殊正交群
-
对于三维空间
-
是正交矩阵:
-
-
缺点:
- 冗余性:用 9 个量描述 3 个自由度的旋转。
- 约束性:自身带有约束(正交且行列式为1),优化求解困难。
3.1.3 旋转向量 (Rotation Vector / Axis-Angle)
-
定义:用一个旋转轴 和旋转角 来描述旋转。
-
表示:向量 (方向为轴,模长为角)。
-
旋转向量 旋转矩阵 (罗德里格斯公式)
-
旋转矩阵 旋转向量
-
求旋转角 :利用矩阵的迹(Trace,对角线元素之和)。
-
求旋转轴 : 是矩阵 特征值 1 对应的特征向量,即满足:
-
-
优点:紧凑(3个量),无约束。
-
缺点:具有奇异性(周期性问题)。
3.1.4 欧拉角 (Euler Angles)
-
定义:将旋转分解为三次绕不同轴的旋转。
- Z - Yaw - 偏航
- Y - Pitch - 俯仰
- X - Roll - 滚转
-
优点:直观,易于人机交互理解。
-
缺点:万向锁 (Gimbal Lock)。
- 当俯仰角(Pitch)为 时,第三次旋转轴与第一次重合,丢失一个自由度。
- 不适合用于插值、迭代或 SLAM 的核心计算,仅用于显示。
3.1.5 四元数 (Quaternion)
-
定义:一种扩展的复数, 。
向量形式记为 ,其中 为实部, 为虚部。 -
单位四元数:模长为 1 的四元数可表示三维旋转。
-
运算:
-
乘法:设
注意:四元数乘法不可交换。
-
共轭:
-
模长:
-
逆:
若为单位四元数(描述旋转),,则 。
-
-
优点:紧凑(4个量),无奇异性(Gimbal Lock),计算效率高。
-
注意: 和 表示同一个旋转。
-
用四元数旋转一个点
-
设空间点 ,旋转由单位四元数 描述。
-
将点 扩展为虚四元数:。
-
旋转公式:
(若 为单位四元数,即 )
-
取出 的虚部即为旋转后的坐标。
-
-
旋转向量 四元数
-
设旋转轴 ,角度 :
-
-
四元数 旋转矩阵
-
设 (归一化后),对应的 为:
-
3.1.6 变换矩阵 (Transform Matrix)
-
欧氏变换:。
- 这不是线性变换,多次变换累加形式复杂。
-
齐次坐标:在三维向量末尾加 1,变为四维向量 。
-
变换矩阵 :
-
数学性质:属于特殊欧氏群 。
-
坐标变换
-
设点 在坐标系 2 的坐标为 ,变换到坐标系 1 的坐标 :
即非齐次形式:。
-
-
变换矩阵的逆
-
给定 ,其逆矩阵 为:
-
推导思路: 若 ,反求 :
左右同乘 (即 ):
这就对应了 的结构。
-
3.2 基础变换方式对比
| 变换方式 | 表达形式 | 自由度 | 优点 | 缺点 | 适用场景 |
|---|---|---|---|---|---|
| 旋转矩阵 | 矩阵 | 3 | 描述直接,无奇异 | 冗余(9参数),有约束 | 坐标变换推导 |
| 旋转向量 | 3维向量 | 3 | 紧凑 | 也就是轴角,不直观 | 李代数优化 |
| 欧拉角 | 3维向量 | 3 | 非常直观 | 万向锁,定义不唯一 | 人机交互 |
| 四元数 | 4维向量 | 3 | 紧凑,无奇异 | 运算稍复杂,不直观 | 存储、插值、快速计算 |
| 变换矩阵 | 矩阵 | 6 | 线性表达,级联方便 | 冗余(16参数) | 描述位姿 (SE3) |
3.3 理论补充
三维空间中的变换除了刚体运动(欧氏变换)外,还有更一般的形式。它们的关系是包含关系: 欧氏 相似 仿射 射影。
以下均使用齐次坐标表示,设变换前的点为 ,变换后的点为 。
3.3.1 相似变换 (Similarity Transformation)
在欧氏变换的基础上,允许物体进行均匀的缩放。
-
直观理解:刚体运动 + 均匀缩放(保持形状不变,只改变大小和位置)。
-
矩阵形式:
- :缩放因子 (Scalar)。
- :旋转矩阵。
- :平移向量。
-
自由度 (DoF):7
- 3 (旋转) + 3 (平移) + 1 (缩放)。
-
不变性 (Invariants):
- 保角性:两条直线的夹角不变。
- 平行性:平行线变换后仍平行。
- 距离比:两段线段长度的比值不变(虽然绝对长度变了)。
-
应用:单目 SLAM 的尺度漂移(Sim3优化)。
3.3.2 仿射变换 (Affine Transformation)
仿射变换是线性变换(旋转、缩放、切变)加上平移的组合。
-
直观理解:把正方体压扁成平行六面体(立体的平行四边形)。它可以拉伸、剪切(shear),但不产生透视效果。
-
矩阵形式:
- :只要是可逆矩阵即可,不必是正交矩阵。
- :平移。
-
自由度 (DoF):12
- 9 (矩阵 的元素) + 3 (平移 )。
-
不变性 (Invariants):
- 平行性:平行线变换后依然平行(这是与射影变换最大的区别)。
- 体积比:物体体积的比值不变。
- 共线性:直线变换后还是直线。
-
注意:正交投影(Orthographic Projection)属于一种特殊的仿射变换(丢弃了Z轴信息)。
3.3.3 射影变换 (Projective Transformation)
最一般的线性变换,也称为单应性变换 (Homography)。
-
直观理解:真实世界(3D)投影到照片(2D)的过程就是射影变换的一种降维形式。在3D-3D变换中,想象光线从一点发散投影,正方体可能变成不规则的四棱台(Frustum)。
-
矩阵形式:
- 。
- 。
- :导致透视失真(近大远小)的关键部分。
- 。
-
自由度 (DoF):15
- 矩阵原本有 个参数。
- 但是在齐次坐标下, 和 () 表示同一个变换。我们需要扣除一个缩放因子的自由度,通常令右下角 或矩阵模长为1,所以是 。
-
不变性 (Invariants):
- 共线性:直线变换后还是直线(但平行线可能会相交于“消隐点”)。
- 交比 (Cross-ratio):直线上四个点的交比保持不变。
- 不保持:不保平行(两条平行线在照片里会相交),不保角度,不保距离比。
3.4 补充变换方式对比
| 变换名称 | 矩阵结构 | 自由度 (3D) | 不变性质 (Invariant Properties) | 几何形变举例 |
|---|---|---|---|---|
| 欧氏变换 | 6 | 长度、夹角、体积、平行性 | 刚体移动/旋转 | |
| 相似变换 | 7 | 夹角、平行性、长度比 | 均匀放大/缩小 | |
| 仿射变换 | 12 | 平行性、体积比 | 正方形 平行四边形 | |
| 射影变换 | 15 | 共线性、交比 | 正方形 不规则四边形 |