1. 什么是群

群(group)是一种集合加上一种运算的代数结构。集合记作A,运算记作 · ,那么群可以记作第4讲 李群与李代数 - 图1。群需要满足四个条件(封结幺逆,凤姐要你)

  1. 封闭性:第4讲 李群与李代数 - 图2
  2. 结合律:第4讲 李群与李代数 - 图3
  3. 幺元:第4讲 李群与李代数 - 图4
  4. 逆:第4讲 李群与李代数 - 图5

2. 什么是李群

李群是指具有连续(光滑)性质的群。像整数群第4讲 李群与李代数 - 图6那样离散的群没有连续性质,所以不是李群。而SO(n)和SE(n)在实数空间上是连续的。我们能够直观地想想一个刚体能够在空间中连续地运动,所以它们都是李群。

关键是连续的群。自己可以简单记住特殊正交群SO(3)、旋转矩阵是李群,旋转向量是李代数。

3. 什么是李代数

每个李群都有预支对应的李代数。李代数描述了李群的局部性质,准确地说,是单位元附近的正切空间。一般的李代数定义如下:

李代数由一个集合第4讲 李群与李代数 - 图7、一个数域第4讲 李群与李代数 - 图8和一个二元运算第4讲 李群与李代数 - 图9组成,这个二元运算被称为李括号。 对于李代数第4讲 李群与李代数 - 图10,需要满足四条性质(封双自雅,风霜之牙)

  1. 封闭性:第4讲 李群与李代数 - 图11
  2. 双线性:第4讲 李群与李代数 - 图12,有:
    第4讲 李群与李代数 - 图13
  3. 自反性:第4讲 李群与李代数 - 图14
  4. 雅克比等价:第4讲 李群与李代数 - 图15

对于李括号[,],由如下性质:第4讲 李群与李代数 - 图16
可以用这个性质证明雅克比等价。

4. 指数映射和对数映射

4.1 SO(3)

李代数的指数映射为李群。比如对于旋转向量A属于SO(3),对应的李代数第4讲 李群与李代数 - 图17,有指数映射:
第4讲 李群与李代数 - 图18

指数映射怎么求解?可以根据以下思路进行推导:

  1. 任意矩阵的指数映射都可以写成一个泰勒展开
  2. 将矩阵写成so(3)中的第4讲 李群与李代数 - 图19形式
  3. phi是一个三维向量,可以写成角度乘以单位向量的形式第4讲 李群与李代数 - 图20
  4. 根据反对称矩阵的性质,可以推断出两条性质
    第4讲 李群与李代数 - 图21**第4讲 李群与李代数 - 图22
  5. 把指数映射泰勒展开,凑cosine和sine的泰勒展开形式,就能得到罗德里格斯公式(罗德里格斯公式就是指数映射):
    第4讲 李群与李代数 - 图23

每一个李代数元素都指数映射到唯一的李群元素,但是一个李群元素可能对应好几个李代数元素,比如旋转角加360度的效果是一样的。

4.2 SE(3)

类似的,也能推导处SE(3)上的指数映射:
第4讲 李群与李代数 - 图24

其中J也是可以通过展开后,凑cosine和sine的泰勒展开形式,得到J的表达式。J的表达式和罗德里格斯公式类似,但不完全一样。
第4讲 李群与李代数 - 图25

4.3 对数映射

对于对数映射,不太希望使用推导的方式,可以用等式两边求迹,然后求R的特征值为1的特征向量来求。

5. 李代数求导与扰动模型

使用李代数的一大动机是进行优化,而在优化过程中导数是非常必要的信息。我们现在知道了李代数so(3)和SO(3)之间是指数映射关系。那么李代数的加法是否等于李群的乘积呢第4讲 李群与李代数 - 图26

答案是否定的,两个李代数指数映射的乘积的完整形式,由Baker-Campbell-Hausdorff公式(BCH公式)给出。BCH公式告诉我们,当处理两个矩阵指数之积时,它们会产生一些由李括号组成的余项。如果两个李代数其中之一为小量,那么小量二次以上的项都可以被忽略(在连续的运动中,旋转矩阵对应的李代数就是小量),此时,BCH拥有线性近似表达:
第4讲 李群与李代数 - 图27
左乘BCH近似雅可比第4讲 李群与李代数 - 图28事实上就是式(4.6)的内容:
第4讲 李群与李代数 - 图29
它的逆为(看书)。而右乘雅可比仅需要对自变量取负号即可:
第4讲 李群与李代数 - 图30

如果将小量表示为第4讲 李群与李代数 - 图31,则乘法第4讲 李群与李代数 - 图32加法的BCH近似可以表示为:
第4讲 李群与李代数 - 图33
反过来,加法第4讲 李群与李代数 - 图34乘法的BCH近似可以表示为(记住这里没有逆的符号):
第4讲 李群与李代数 - 图35

5.1 李代数求导

前面提到,使用李代数的一大动机是为了优化,导数就很重要。比如要求解第4讲 李群与李代数 - 图36,这个时候就需要计算SE(3)T的导数。重点是,我们经常会构建与位姿有关的函数,然后讨论该函数关于位姿的导数,以调整当前的估计值。然而,SO(3)SE(3)没有定义良好的加法,所以可以利用李代数(加法到乘法的指数映射)和扰动模型来求解这个问题:

  1. 用李代数表示姿态,根据李代数加法求李代数求导(求导模型)
  2. 对李群左乘或右乘微小扰动,然后对该扰动求导(扰动模型)

李代数求导请看书P84,其中运用到了泰勒展开,反对称矩阵性质。对于李代数求导的结果第4讲 李群与李代数 - 图37,仍然有复杂的J,我们不想计算他,所以可以使用扰动模型来求解。扰动模型求解中也运用到了泰勒展开和反对称矩阵性质,结果是:第4讲 李群与李代数 - 图38

6. 什么是Sophus

Sophus是一个李代数库,支持SO(2)SE(2)及Sim(3)的内容(求导等),是直接在Eigen的基础上开发的。

7. 未完善

关于相似变换Sim(3)的求导和扰动没有深入理解。
课后习题没有每道题都做。