SLAM十四讲学习之路(三)---三维空间刚体运动

Target:
1.理解三维空间的缸体运动描述方式:旋转矩阵、变换矩阵、四元数和欧拉角
2.掌握EIgen库的矩阵、几何模块使用方法
3.1旋转矩阵
3.1.1 点和向量、坐标系
向量不等于坐标
向量=线性空间的基(e1,e2,e3)*向量a在该坐标系空间内的坐标
SLAM十四讲学习之路(三)---三维空间刚体运动_第1张图片向量的加减与内外积:

SLAM十四讲学习之路(三)---三维空间刚体运动_第2张图片向量的加法
SLAM十四讲学习之路(三)---三维空间刚体运动_第3张图片
向量的减法
在这里插入图片描述向量的内积(可以描述向量间的投影关系,高中数学内容)
SLAM十四讲学习之路(三)---三维空间刚体运动_第4张图片向量的外积(外积的方向垂直于这两个向量,大小为 |a| |b| sin ⟨a, b⟩,是两个向量张成的四边形的有向面积)
外积只对三维向量存在定义,用外积表示向量的旋转
在这里插入图片描述3.1.2 坐标系间的欧氏变换
欧式变换:同一个向量在各个坐标系下的长度和夹角都不会
发生变化
与向量间的旋转类似,坐标系间的变换关系即:坐标系的旋转加平移
SLAM十四讲学习之路(三)---三维空间刚体运动_第5张图片旋转矩阵:
设某个单位正交基
(e 1 , e 2 , e 3 ) 经过一次旋转,变成了 (e 1‘ , e 2 ’, e 3‘ )。那么,对于同一个向量 a (注意该向量并没有随着坐标系的旋转而发生运动),它在两个坐标系下的坐标为 [a 1 , a 2 , a 3 ] T 和 [a 1 , a 2 , a 3 ] T 。
根据坐标的定义,有:
SLAM十四讲学习之路(三)---三维空间刚体运动_第6张图片SLAM十四讲学习之路(三)---三维空间刚体运动_第7张图片旋转矩阵性质:行列式为 1 的正交矩阵(反之,行列式为 1 的正交矩阵也是一个旋转矩阵)(正交矩阵:AAT=E)
SO(n) 是特殊正交群(Special Orthogonal Group)的意思。我们把解释“群”的内容留到下一讲。这个集合由 n 维空间的旋转矩阵组成,特别的,SO(3) 就是三维空间的旋转了。通过旋转矩阵,我们可以直接谈论两个坐标系之间的旋转变换,而不用再从基开始谈起了。换句话说,旋转矩阵可以描述相机的旋转。
在这里插入图片描述所以从某个坐标系中的a点与另外一个世界的b点,关系式为
在这里插入图片描述
3.1.3 变换矩阵与齐次坐标

齐次坐标:在三维向量的末尾添加1
引入齐次坐标的目的:为了简化两次或多次变换的坐标运算,将坐标运算转变为线性运算。
引入齐次坐标后,两个坐标系中的向量描述,就由第一幅图转变为第二副图,整个关系变成了线性关系。该式中,矩阵 T 称为变换矩阵(Transform Matrix)
在这里插入图片描述
在这里插入图片描述
齐次坐标性质:齐次坐标中,某个点 x 的每个分量同乘一个非零常数 k 后,仍然表示的是同一个点。因此,一个点的具体坐标值不是唯一的。如 [1, 1, 1, 1]T 和 [2, 2, 2, 2] T是同一个点。但当最后一项不为零时,我们总可以把所有坐标除以最后一项,强制最后一项为 1,从而得到一个点唯一的坐标表示(也就是转换成非齐次坐标):
在这里插入图片描述这时,忽略掉最后一项,这个点的坐标和欧氏空间就是一样的。
所以有了变换矩阵T后,可以用线性关系描述两个坐标系中的坐标关系,因此两次变换后的坐标就可以描述为:
在这里插入图片描述(为了简化,所以默认b = T a中是其次坐标

关于变换矩阵 T ,它具有比较特别的结构:左上角为旋转矩阵,右侧为平移向量,左下角为 0 向量,右下角为 1。这种矩阵又称为特殊欧氏群(Special Euclidean Group):
SLAM十四讲学习之路(三)---三维空间刚体运动_第8张图片最后,为了保持符号的简洁,在不引起歧义的情况下,我们以后不区别齐次坐标与普通的坐标的符号,默认我们使用的是符合运算法则的那一种。例如,当我们**写 T a 时,使用的是齐次坐标(不然没法计算)。而写 Ra 时,使用的是非齐次坐标。**如果写在一个等式中,我们就假设齐次坐标到普通坐标的转换,是已经做好了的——因为齐次坐标和非齐次坐标之间的转换事实上非常容易。

你可能感兴趣的:(SLAM)