半闲居士视觉SLAM十四讲笔记(3)三维空间刚体运动 - part 1 旋转矩阵
本系列文章由 youngpan1101 出品,转载请注明出处。
文章链接: http://blog.****.net/youngpan1101/article/details/71086500
作者:宋洋鹏(youngpan1101)
邮箱: [email protected]
该讲详细资料下载链接 【Baidu Yun】【Video】【Code】
若您觉得本博文对您有帮助,请支持高博的新书《视觉SLAM十四讲》,【点击购买】
若您觉得本博文对您有帮助,请支持高博的新书《视觉SLAM十四讲》,【点击购买】
若您觉得本博文对您有帮助,请支持高博的新书《视觉SLAM十四讲》,【点击购买】
三维空间的刚体运动描述方式
1. 旋转矩阵
-
点和向量,坐标系
- 点:在几何学上点是 没有大小而只有位置,即点存在于三维空间中的某一个位置。
-
向量: 可以形象化地表示为 带箭头的线段。箭头所指:代表向量的方向;线段长度:代表向量的大小。
(请勿将 向量 与它的 坐标 两个概念混淆,只有确定向量所在的坐标系,才能讨论它在该坐标系下的坐标) - 定义坐标系后,也就是一个线性空间的 基
(e1,e2,e3) ,向量a 在该坐标系下的坐标为:a=[e1,e2,e3]⎡⎣⎢a1a2a3⎤⎦⎥=a1e1+a2e2+a3e3(3.1) -
左手坐标系 和 右手坐标系(更为常见)
- 向量的运算
- 加减法
-
内积(inner product): 可以描述向量间的投影关系
对于a,b∈R3 ,内积可以表示为:a⋅b=aTb=∑i=13aibi=|a||b|cos⟨a,b⟩(3.2) -
外积,亦称叉乘(cross product)
- 对于
a,b∈R3 ,外积可以表示为:a×b=∣∣∣∣ia1b1ja2b2ka3b3∣∣∣∣=⎡⎣⎢a2b3−a3b2a3b1−a1b3a1b2−a2b1⎤⎦⎥=⎡⎣⎢0a3−a2−a30a1a2−a10⎤⎦⎥b=a∧b(3.3)
式中∧ 为反对称符号(可以读作“上尖”),a∧ 表示向量a 的 反对称矩阵。 - 外积可以表示向量的旋转:向量
a 到b 的旋转向量w 的方向就是a×b 的方向
- 对于
-
坐标系间的欧氏变换
对于同一个向量
p ,它在世界坐标系下的坐标pw 和在相机坐标系下的坐标pc 是不同的,它们的变换关系由两坐标系间的变换矩阵T 来描述。(如下图所示,下图来自视觉SLAM十四讲 图3-2)- 欧氏变换 = 旋转 + 平移
- 旋转
设某个单位正交基(e1,e2,e3) 经过一次旋转变成(e′1,e′2,e′3) 。对于同一个向量a (该向量不会因坐标系的旋转而发生运动),它在两个坐标系下的坐标分别为[a1,a2,a3]T 和[a′1,a′2,a′3]T ,两坐标点满足:[e1,e2,e3]⎡⎣⎢a1a2a3⎤⎦⎥=[e′1,e′2,e′3]⎡⎣⎢a′1a′2a′3⎤⎦⎥(3.4)
式 (3.4) 左右两边同时左乘⎡⎣⎢⎢eT1eT2eT3⎤⎦⎥⎥ ,得⎡⎣⎢a1a2a3⎤⎦⎥=⎡⎣⎢⎢eT1e′1eT2e′1eT3e′1eT1e′2eT2e′2eT3e′2eT1e′3eT2e′3eT3e′3⎤⎦⎥⎥⎡⎣⎢a′1a′2a′3⎤⎦⎥=Ra′(3.5)
式 (3.5) 中的旋转矩阵R 的特殊性质:- 旋转矩阵是行列式为 1 的正交矩阵
- 旋转矩阵的逆为自身转置,逆矩阵
RT 表示一个相反的旋转 - 旋转矩阵的集合定义为:
SO(n)={R∈Rn×n|RRT=I,det(R)=1}(3.6) SO(n) 是特殊正交群(Special Orthogonal Group),SO(3) 就是由三维空间的旋转矩阵组成。
- 平移
向量a 经过一次旋转R 和一次平移t 后,得到a′ :a′=Ra+t(3.7)
所以,两个坐标系的刚体运动可以由R 和t 完全描述。
-
变换矩阵与齐次坐标
欧氏变换多次之后的变换矩阵表示过于复杂,引入齐次坐标和变换矩阵重写式 (3.7):
[a′1]=[R0Tt1][a1]=T[a1](3.8)
式 (3.8) 中的T 称为变换矩阵,这种矩阵又称为特殊欧式群(Special Euclidean Group):SE(3)={T=[R0Tt1]∈R4×4|R∈SO(3),t∈R3}(3.9)
与SO(3) 一样,该矩阵的逆表示一个反向的变换:T−1=[R0T−RTt1](3.10)