扰动模型
BCH公式与近似模型
李群李代数的关系已知,当我们将两个李群的矩阵相乘时,李代数的运算应该时什么呢。
我们知道李群的形式为:
对于上式,我们等价变换:
那么这个式子是否成立呢,显然在标量时是成立的,但是在矩阵形式时不成立,应该以BCH(baker Campbell hausdorff)给出:
其中[,]为李括号,李括号的运算为:
BCH公式中,当向量为小量时,小量二次以上的项都将被忽略,所以BCH公式的近似表达式为:
近似的BCH公式按φ的大小不同,可以将两式分为左乘和右乘。
左乘时,近似雅可比可以表示成下式:
它的逆为:
右乘时为:
假定对某个旋转R,对应的李代数为φ,为它左乘一个微小旋转△R,对应的李代数为△φ,那么李群与李代数的关系可以简单写成:
相应的李代数的加法与李群的乘法之间的关系:
同理在SE3的李群与se3的李代数的关系为:
通过以上的知识我们就可以计算李代数的导数。
SO(3)李代数上的求导,假设对空间点p进行旋转,可以在相机坐标系下得到Rp,计算旋转之后的坐标,相对与旋转之间的导数,而旋转矩阵不能求导,所以转变为李代数进行求导:
按照导数的定义可以得到:
上式中我们可以看到,通过第一行与第二行是近似BCH公式的李群与李代数之间的运算,而第三行是泰勒公式展开去除二阶以上得到的结果,四到五行为叉积运算之后的结果,因为叉积的运算,axb=-bxa。
所以可以得到第四行与第五行的过程。
可以看出上式的有一个J的形式比较发杂,可以用扰动的方式消除,计算方式如下如下:
扰动模型
对旋转矩阵R进行一次扰动△R,这个扰动左乘,设对应的△R的李代数为φ,则对φ求导可以得到:
根据前面推导的过程,可以知道第二行到第三行之间是因为泰勒公式的展开:
同理:
SE(3)上的李代数求导
可以通过增加扰动的方式计算,如下: