视觉SLAM十四讲读书笔记:Ch03三维空间刚体运动
这是我系列博客《视觉SLAM十四讲》的读书笔记中的一篇,总结了第三章“三维空间刚体运动”相关的内容
1. 刚体运动基本表示
三维空间中的刚体运动(Rigid Body Motion)可以分解为旋转和平移两个部分。
设某点在世界坐标系下的位置为
是旋转矩阵,表示刚体的朝向; 是平移向量,表示刚体的位移。
我们可以使用齐次坐标将上述公式统一为矩阵形式:
2. 群论视角:SO(3)与SE(3)
2.1 特殊正交群 SO(3)
旋转矩阵
- 保持向量模长(正交性);
- 保持右手系(行列式为正);
- 可复合、可逆,构成群结构。
2.2 特殊欧氏群 SE(3)
刚体变换矩阵
3. 旋转的表示方式与转换
3.1 旋转向量与Rodrigues公式
三维旋转可以用旋转轴
3.2 欧拉角
欧拉角使用三个旋转角(绕固定坐标轴或本体坐标轴)描述旋转,例如:
- Roll-Pitch-Yaw (rpy):绕
- - 轴旋转; - ZYX 欧拉角:先绕
,再绕 ,再绕 。
⚠️ 欧拉角存在奇异性(万向锁问题):当两个旋转轴对齐时,导致自由度丢失。
详见推荐视频:万向锁解释 - B站
3.3 四元数
四元数为三维旋转提供了连续、无奇异性的参数化方式。一个单位四元数定义为:
- 单位四元数:
- 共轭:
- 逆:
用四元数表示旋转时:
四元数乘法可用矩阵形式表示:
4. 四元数与旋转矩阵互相转换
4.1 四元数 → 旋转矩阵
取迹得:
4.2 旋转矩阵 → 四元数
设
5. 常见变换模型分类
变换类型 | 维度 | 旋转 | 平移 | 缩放 | 投影 |
---|---|---|---|---|---|
欧式变换 |
6 DoF | ✅ | ✅ | ❌ | ❌ |
相似变换 |
7 DoF | ✅ | ✅ | ✅ | ❌ |
仿射变换 |
12 DoF | ✅ | ✅ | ✅ | ❌ |
射影变换 |
15 DoF | ✅ | ✅ | ✅ | ✅ |
总结
- 刚体运动的本质是
群上的变换; - 旋转可用
、旋转向量、欧拉角、四元数等多种方式表示; - 四元数优雅地避免了奇异性,常用于SLAM、IMU、图优化中。