前言:
李群李代数的引入,实际上就是将空间变换关系由矩阵相乘转化为了向量相加,可以方便slam问题中对变换矩阵的求导和求极限,解决优化问题。
1 李群李代数介绍
由于空间中旋转和变换矩阵可以相乘构成物理意义上的闭环,正好对应了群的概念。
群的性质如下:
此处需要注意幺元并不是单位矩阵,只要符合幺元性质的代数结构,都是。
李群是具有连续(光滑性质的群),由物体可在空间中连续变化的物理意义可知,正交群和欧式群都是李群。
由于李群的性质中只有乘法没有加法,对旋转和变换的取极限和求导就很困难,因此引入李代数的概念。(李代数只是个数学工具,为了方便对矩阵的求导)
李代数的性质如下:
正交群和欧式群是方阵R。而李代数的物理意义为向量φ。可以理解为用向量表示了矩阵(因为旋转矩阵本身就只有3个自由度)。
相互之间的关系推导过程如下:
可见 ,正交群R与其对应的李代数为指数关系。
正交群和欧式群对应的李代数,以及反对称矩阵的关系如下:
2 李群李代数的指数与对数映射关系
前面得到了李群和李代数之间的指数关系,由于李代数为一个向量,可以写为代表方向的单位向量a乘以模长θ。并有以下性质:
由上面的性质,将李群对应的带有李代数的指数模型进行泰勒展开,化简,再通过三角函数展开式合并,如下:
由李群矩阵R反推李代数关系有:
四阶的欧式群对应关系有:
映射关系总结:
3 李群(矩阵)相乘与李代数(向量)相加之间的关系
来到实际解决问题环节,如果要对一个旋转或变换矩阵求导或求极限,根据倒数模型,旋转矩阵的增量应该是相乘而不是相加,计算就会变得很麻烦。
因此可以转化为李代数,将变换关系对应的乘法增量变为加法,简化求导过程。
给旋转矩阵添加一个增量,就相当于乘以一个矩阵。
所以,对于两个旋转矩阵相乘,可用BHC公式进行展开:
正常的两个矩阵相乘,化简是非常复杂的,但对于空间变换问题中,如果一个量只是一个很小的增量(下图中的小量)时,可以有如下线性近似关系:
都转化为指数形式,就有如下关系:
下图以左乘为例,列出了李群对应的矩阵相乘和李代数对应的向量相加之间的关系,可作为结论直接代入后续计算。
4 求导模型与扰动模型
关系推导结束,来解决一个实际问题:
问题的解决大体流程相同,求导模型和扰动模型的不同在于,在哪一步将矩阵乘法转换为向量加法。
4.1 倒数模型的推导
4.2 扰动模型的推导
欧式群,即变换关系对应的扰动模型(最常用):
这里需要注意:近似这一步是借助了李代数到李群的转换关系,去掉了θ平方的二阶无穷小量。
如下图中推导:
最后:
倒数模型和扰动模型最后差了个Jl,还未验证这两种对精度的影响。欢迎有研究的大佬补充。。。