视觉SLAM十四讲读书笔记:Ch03三维空间刚体运动

这是我系列博客《视觉SLAM十四讲》的读书笔记中的一篇,总结了第三章“三维空间刚体运动”相关的内容


1. 刚体运动基本表示

三维空间中的刚体运动(Rigid Body Motion)可以分解为旋转和平移两个部分。

设某点在世界坐标系下的位置为 ,其在相机坐标系下的位置为 ,则它们满足: 其中:

  • 是旋转矩阵,表示刚体的朝向;
  • 是平移向量,表示刚体的位移。

我们可以使用齐次坐标将上述公式统一为矩阵形式:


2. 群论视角:SO(3)与SE(3)

2.1 特殊正交群 SO(3)

旋转矩阵 属于 ,即: 性质:

  • 保持向量模长(正交性);
  • 保持右手系(行列式为正);
  • 可复合、可逆,构成群结构。

2.2 特殊欧氏群 SE(3)

刚体变换矩阵 属于


3. 旋转的表示方式与转换

3.1 旋转向量与Rodrigues公式

三维旋转可以用旋转轴 旋转角 表示,即旋转向量 。Rodrigues公式给出了旋转矩阵的形式: 其中 的反对称矩阵(“帽子运算”): 利用 的迹(trace),可以求出旋转角: 几何意义上,旋转轴是旋转不变的方向,即: 说明 的特征值为 的特征向量。


3.2 欧拉角

欧拉角使用三个旋转角(绕固定坐标轴或本体坐标轴)描述旋转,例如:

  • Roll-Pitch-Yaw (rpy):绕 -- 轴旋转;
  • ZYX 欧拉角:先绕 ,再绕 ,再绕

⚠️ 欧拉角存在奇异性(万向锁问题):当两个旋转轴对齐时,导致自由度丢失。

详见推荐视频:万向锁解释 - B站


3.3 四元数

四元数为三维旋转提供了连续、无奇异性的参数化方式。一个单位四元数定义为: 其中 是实部, 是虚部。

  • 单位四元数:
  • 共轭:
  • 逆:

用四元数表示旋转时: 其中 是纯虚四元数

四元数乘法可用矩阵形式表示: 其中,


4. 四元数与旋转矩阵互相转换

4.1 四元数 → 旋转矩阵

取迹得: 推得: 旋转轴为: 完整表示为:


4.2 旋转矩阵 → 四元数

是已知的旋转矩阵,可以用如下公式恢复四元数: 注意数值稳定性需要特判,具体实现详见开源库(如 Sophus、Eigen)。


5. 常见变换模型分类

变换类型 维度 旋转 平移 缩放 投影
欧式变换 6 DoF
相似变换 7 DoF
仿射变换 12 DoF
射影变换 15 DoF

总结

  • 刚体运动的本质是 群上的变换;
  • 旋转可用 、旋转向量、欧拉角、四元数等多种方式表示;
  • 四元数优雅地避免了奇异性,常用于SLAM、IMU、图优化中。