SLAM——ch3
点和向量,坐标系
- 坐标系
三维空间中的某个向量的坐标可以用 R3 当中的三个数来描述。某个点的坐标也可以用 R3来描述。怎么描述的呢?如果我们确定一个坐标系,也就是一个线性空间的基 (e1; e2; e3),那就可以谈论向量 a 在这组基下的坐标了:

坐标系通常由三个正交的坐标轴组成(尽管也可以有非正交的,但实际中很少见)。例如,我们给定 x 和 y 轴时, z 就可以通过右手(或左手)法则由 x × y 定义出来。
*向量的运算
- 内积:内积可以描述向量间的投影关系

2.外积

坐标系间的欧式变换
坐标系之间如何变换?
进而:如何计算同一个向量在不同坐标系里的坐标?
在SLAM中:
- 一个惯性坐标系(或者叫世界坐标系),可以认为它是固定不动的;
相机或机器人则是一个移动坐标系 - 机器人坐标系随着机器人运动而改变,每个时刻都有新的坐标系
那两个不同的坐标系如何从左侧变化成右侧?
直观来看由两部分组成: - 原点间的平移
*三个轴的旋转

相机或机器人则是一个移动坐标系。这样一个欧氏变换由一个旋转和一个平移两部分组成。
首先来考虑旋转。我们设某个单位正交基
(e1; e2; e3) 经过一次旋转,变成了 (e′ 1; e′ 2; e′ 3)。那么,对于同一个向量 a(注意该向量并没有随着坐标系的旋转而发生运动),它在两个坐标系下的坐标为 [a1; a2; a3]T 和 [a′ 1; a′ 2; a′ 3]T。根据坐标的定义,有:


我们把中间的阵拿出来,定义成一个矩阵 R。这个矩阵由两组基之间的内积组成,刻画了旋转前后同一个向量的坐标变换关系。只要旋转是一样的,那么这个矩阵也是一样的。可以说,矩阵 R 描述了旋转本身。因此它又称为旋转矩阵。
旋转矩阵它是一个行列式为 1 的正交矩阵。反之,行列式为 1 的正交矩阵也是一个旋转矩阵。所以,我们可以把旋转矩阵的集合定义如下:

SO(n) 是特殊正交群(Special Orthogonal Group)。这个集合由n维空间的旋转矩阵组成。
SO(3)就是三维空间的旋转矩阵组成的特殊正交群。旋转矩阵可以描述相机的旋转
由于旋转矩阵为正交阵,它的逆(即转置)描述了一个相反的旋转。有:


通过上式,我们用一个旋转矩阵 R 和一个平移向量 t 完整地描述了一个欧氏空间的坐标变换关系。
变换矩阵与齐次坐标
完整地表达了欧氏空间的旋转与平移,不过还存在一个小问题:这里的变换
关系不是一个线性关系。假设我们进行了两次变换: R1; t1 和 R2; t2,满足:

但是从a到c的变换为:

上面的公式在变换多次后会过于复杂。因此引入了齐次坐标和变换矩阵重写式:

运用数学技巧:把一个三维向量的末尾添加1,变成四维向量,称为齐次坐标。对于这个四维向量,我们可以把旋转和平移写在一个矩阵里面,使得整个关系变成了线性关系。该式中,矩阵** T** 称为变换矩阵(Transform Matrix) 。我们暂时用 a~ 表
示 a 的齐次坐标。

浙公网安备 33010602011771号