回顾一下SLAM中的几何基础。 ##
李群李代数():
- 李群李代数对应的都是三维矩阵,在SLAM中,李群
对应旋转矩阵(方向余弦阵,3×3
正交阵),而李代数对应的为三维向量的反对称矩阵,只不过任何一个反对称矩阵都和一个三维向量是一一对应的,因此有时候也会直接用三维向量来指代的元素。
- 一般来说反对称矩阵与向量之间的转换用与运算符表示。有三维向量,则它与其对应的反对称矩阵转化关系为:
$$
\mathbf w^{\wedge}=\left[\begin{array}{l}w_ {1} \\w_ {2} \\w_
{3}\end{array}\right]^{^{\wedge}}=\left[\begin{array}{ccc}0 & -w_
{3} & w_ {2} \\w_ {3} & 0 & -w_ {1} \\-w_ {2} & w_ {1}
& 0\end{array}\right]=\mathbf{W}\\\mathbf{W}^{\vee}=\mathbf w
$$
关于反对称矩阵的一个性质:
- 指数映射将映射到:
特别,当很小的时,有一阶近似:
- 对数映射将映射到:
其中:。有,其中是旋转角,而为旋转轴的单位向量,且。因此,每一个旋转矩阵对应一个旋转向量。很奇妙的事情是一个旋转向量对应的旋转矩阵,也就是罗德里格斯公式求得的旋转矩阵(从几何关系上推导出来并不难),正是该旋转向量的反对称矩阵在上的映射。
有意思的事情,任何一个三维向量实际上都可以看作是一个旋转向量(方向为旋转轴,而大小为旋转角度),因此任何一个三维向量都可以对应到一个旋转矩阵。但是不是所有的三维矩阵都是旋转矩阵,因此尽管三维向量与三维矩阵都是无穷多个,但是三维矩阵的个数就是比三维向量“多”,这个也是非常直观的,因为三维矩阵有9个变量,同时,旋转矩阵所在的这个空间实际上就“摊”满了三维向量的空间。
- 当时(或者被限制在一个连续的范围内),指数映射与对数映射是双射,而也就是旋转角度。
- 从上面的内容可以得知,实际上任何一个旋转矩阵都和一个三维向量是对应的,因此为了方便,我们规定把映射到,而把映射到,也就是:
- 对于以及一个微小量,有:
也就是三维向量上加一个微小量,对应了上乘一个,而在上乘一个也就对应了在上加一个。其中,
是属于空间的右Jacobian,有:
当很小时,有
$$
\mathbf{J}_ {r}(\delta\vec{\phi}) \approx\mathbf{J}^{-1}_
{r}(\delta\vec{\phi})\approx \mathbf I\\\operatorname{Exp}\left(\delta
\vec{\phi}_ {i}\right) \approx \mathbf{I}+(\delta\vec\phi_i)^{\wedge}
$$
为了证明伴随性质,我们首先要知道一个前提:。令,根据罗德里格斯公式,可得:
那么有(伴随性质第一行的证明):
对于第二行: