学习slam需要了解的一些知识。
旋转矩阵
一个单位正交基 $(\pmb{e_1}, \pmb{e_2}, \pmb{e_3})$ 经过一定的旋转得到 $(\pmb{e’_1}, \pmb{e’_2}, \pmb{e’_3})$, 它们之间的旋转矩阵为:
旋转矩阵有一个重要的性质,它是一个行列式为1的正交矩阵。因此,旋转矩阵的集合可表示为:
有了旋转矩阵,就可以表示一个向量在不同旋转坐标系之间的关系。
对于一个向量$\pmb{a}$, 它在两个坐标系中的坐标为$\pmb{a}=[a_1, a_2, a_3]^T$和$\pmb{a’}=[a’_1, a’_2, a’_3]^T$,可以得出:
由于旋转矩阵是正交矩阵,因此它的逆表示了一个相反的旋转,可得:
变换矩阵
现在我们除了旋转外,再加上平移。对于一个世界坐标系中的向量$\pmb{a}$,经过一次旋转和平移后得到$\pmb{a’}$。可表示为 $\pmb{a’} = \pmb{Ra} + \pmb{t}$。但其中有一个比较麻烦的是,如果进行多次变换,表达式会变得过于复杂。因此,我们引入变换矩阵T:
然后,我们就可以得出:
通过上式,我们可以看出,对于多次的变换,表达式会相对简单。
变换矩阵T是一个特殊欧式群 $SE(3)$.