这里以SO3为例子,用于SLAM之类的3d视觉中。SE3基本雷同,如有特殊会专门提出。
Lie群和Lie代数的理解:
- SO3就是旋转矩阵,代表以x,y,z三个轴旋转的分量。如果在单位旋转矩阵附近分别对这三个轴的旋转求导可以得到下面三个矩阵:
- 把三维旋转矩阵用
表示出来,然后分别对
求导就能得到上面三个矩阵。
- 把这三个矩阵当作空间的基,再分别乘以3个系数,就能组成一个三维向量空间。
- 因为上面三个基是旋转矩阵在原点的倒数。所以so3形成的空间就是SO3在原点附近的切空间。并且在原点附近,so3可以用来近似SO3。
- 注意:只有在原点附近so3和SO3是可以直接相等的。不在原点附近的话,就需要用到exp和log的关系来换算SO3和so3了。
- 矩阵exp的表达类似于无穷阶的泰勒近似。所以在原点附近,so3是SO3的零阶近似。而在远离原点的位置,就必须用无穷阶才能近似SO3了。
- so3是一个三维向量,这个向量的模刚好是旋转的角度,而向量的方向刚好是旋转轴。
- Adjoint(R)可以线性的把在原点展开得到的so3表示成在R位置展开得到的so3。
。
是在R处的零阶近视。也是在R处分别对应x,y,z三个轴旋转量的导数。
雅克比矩阵推导
- 所有求导的对象只能是so3向量。
- 对一个变换的求导可以分为两种方式:
- 左乘一个微扰,然后对这个微扰求导。重点:优化的时候,更新量也是左乘到状态上。
- 直接对so3求导。重点:优化的时候,更新量是加到状态上的。
- 左乘一个微扰,然后对这个微扰求导。重点:优化的时候,更新量也是左乘到状态上。