- 第一层理解:旋转矩阵是群,每个旋转矩阵对应一个李代数。他们中间通过Exp和Log加上一个^相互转换。而李代数和欧拉角以及四元素之间又有很多有意义的关系,以及怎么用极小旋转来理解群和代数之间的关系,但现不在这里展开了。
- 第二层理解:两个群的积和两个代数的和之间有简单的关系,这个就是BCH公式。但这个公司比较复杂:是一个级数展开。而且对我们来说也不需要这个无条件的表达式。反而我们需要的是一个很小的旋转矩阵和一个大旋转矩阵相乘的情况下的表达。这个就是BCH近似公式。最终能够把群的乘法表达为代数的和,但是那个小的代数需要乘以一个
。
- 第三层理解:群没有加法的定义,但是代数有。所以在求和旋转有关的导数的时候,因为导数的定义中有加法运算。所以一种思路是把对群求导改为对代数求导。于是把代数的求导定义表达出来后,用BCH和泰勒展开变化下最终能够把导数用旋转矩阵(当前点的值)和
表达出来。具体推到见视觉SLAM十四讲。
- 第四层理解:我们最终关心的是旋转矩阵,对于对谁求导其实不重要。只要这个求导的对象能够计算出旋转矩阵,并且目标函数的减小同时能让我们关心的误差减小就行。所以另外一种做法是给旋转矩阵乘以一个旋转矩阵微扰,然后对微扰求导数。注意这里目标函数和自变量都变了。但如果我们能求得一个微扰并使误差减小。然后我们把这个微扰用作更新量也是可以的,不一定非要把直接的变量的导数作为更新值。所以同样把微扰的导数表达出来后,用一次泰勒展开,并保留一阶项就能把导数用旋转矩阵表示出来。因为没用BCH近似,所以表达式里面没有复杂的
。
李群李代数在姿态优化中的作用
最新推荐文章于 2022-08-25 01:05:51 发布