李群和李代数以及李代数求导(扰动模型)

目录

  • 1、李群和李代数
    • 李群
  • 2、李代数的引出
  • 3、为什么要用李代数
  • 4、李群与李代数间的指数映射
  • 5、李代数求导(扰动模型)
    • 扰动模型(左扰动为例)
  • 6、下节预告
  • 7、==非常感谢您的阅读!==

1、李群和李代数

三维旋转矩阵构成了特殊正交群SO(3),变换矩阵构成了特殊欧式群SE(3),表示如下:
李群和李代数以及李代数求导(扰动模型)_第1张图片

但是什么是呢?
群(Group)是一种集合加上一种运算的代数结构。
我们把集合记作A,运算记作 ·,那么群可以记作G = (A, ·)。群要求这个运算满足以下几个条件:

李群和李代数以及李代数求导(扰动模型)_第2张图片

简单验证可知旋转矩阵和变换矩阵都是群。

李群

李群是指具有连续(光滑)性质的群。SO(n) 和 SE(n),它们在实数空间上是连续的。我们能够直观地想象一个刚体能够连续地在空间中运动,所以它们都是李群。由于 SO(3) 和 SE(3) 对于相机姿态估计尤其重要,所以主要讨论这两个李群。
先从较简单的 SO(3) 开始讨论,将发现每个李群都有对应的李代数。

2、李代数的引出

考虑任意旋转矩阵 R,满足:RRT = I.
R是某个相机的旋转,它会随时间连续地变化,即为时间的函数:R(t)。

在这里插入图片描述

在其两边对时间求导,可得:

在这里插入图片描述
进一步整理,得到:
在这里插入图片描述
仔细观察上式,发现满足A = -AT的形式,即:在这里插入图片描述

记得上一节引入一个^符号,可以将一个向量转换为一个反对称矩阵。同理,对于任意反对称矩阵,我们也能找到一个与之对应的向量。所以有:

在这里插入图片描述
在等式两边右乘R(t),由于R是正交阵,所以可以得到:李群和李代数以及李代数求导(扰动模型)_第3张图片
我们设 t0=0 时的旋转矩阵 R(0)=I。按照导数定义,对R(t)在 0 附近进行一阶泰勒展开:
李群和李代数以及李代数求导(扰动模型)_第4张图片
可以看到ϕ反映了 R 的导数性质,故称它在 SO(3) 原点附近的正切空间 (Tangent Space) 上。同时在 t0 附近,设 ϕ 保持为常数 ϕ(t0) = ϕ0
这是一个关于 R 的微分方程,而且初始值 R(0) = I,解之,得:
在这里插入图片描述
在这个式子中我们发现,在t=0附近,只要知道某时刻的R,则会存在一个向量ϕ,他们满足这个矩阵指数关系!
它描述了 R 在局部的导数关系。与 R 对应的 ϕ 有什么含义呢?ϕ 正是对应到 SO(3) 上的李代数 so(3)

注意SO(3) 对应的李代数是定义在 R3上的三维向量,我们记作 ϕ。根据前面的推导,每个 ϕ 都可以生成一个反对称矩阵:

李群和李代数以及李代数求导(扰动模型)_第5张图片

总结:SO(3)对应的李代数so(3)表示为:

在这里插入图片描述

对于 SE(3),它也有对应的李代数 se(3)。与 so(3) 相似,se(3) 位于 R6 空间中:

在这里插入图片描述

3、为什么要用李代数

在 SLAM 中,除了位姿的表示之外,我们还要对它们进行估计和优化。因为在 SLAM 中位姿是未知的,而我们需要解决什么样的相机位姿最符合当前观测数据这样的问题。一种典型的方式是把它构建成一个优化问题,求解最优的 R, t,使得误差最小化。旋转矩阵自身是带有约束的(正交且行列式为 1)。它们作为优化变量时,会引入额外的约束,使优化变得困难。通过李群——李代数间的转换关系,我们希望把位姿估计变成无约束的优化问题,简化求解方式。再有,优化问题是要误差函数对状态变量求导的,对于旋转矩阵的导数,由于其对加法不封闭,不好定义其导数,而李代数对加法封闭并且其用3个参数就可以表达旋转,6个量就能表达欧式变换,比旋转矩阵和变换矩阵的参数少得多。

4、李群与李代数间的指数映射

exp(ϕ^) 是如何计算的?它是一个矩阵的指数,在李群和李
代数中,称为指数映射(Exponential Map)。

任意矩阵的指数映射可以写成一个泰勒展开,但是只有在收敛的情况下才会有结果,其结果仍是一个矩阵。
在这里插入图片描述

同样,对 so(3) 中任意一元素 ϕ,我们也能按此方式定义它的指数映射:
李群和李代数以及李代数求导(扰动模型)_第6张图片
由于 ϕ 是三维向量,我们可以定义它的模长和它的方
向,分别记作 θ 和 a,于是有 ϕ = θa。这里 a 是一个长度为 1 的方向向量。对于a^,有以下两条性质:

在这里插入图片描述
在这里插入图片描述
由第一条性质可得:I = aaT - aa

于是,完整推导为:李群和李代数以及李代数求导(扰动模型)_第7张图片
最后得到:在这里插入图片描述
形式正好就是罗德里格斯公式。这表明,so(3) 实际上就是由所谓的旋转向量组成的空间,而指数映射即罗德里格斯公式。通过它们,我们把so(3) 中任意一个向量对应到了一个位于 SO(3) 中的旋转矩阵。反之,如果定义对数映射,我们也能把 SO(3) 中的元素对应到 so(3) 中:(直接用罗德里格斯公式反推
在这里插入图片描述
关于SO(3)和SE(3)上的指数映射和对数映射,关系如下:
李群和李代数以及李代数求导(扰动模型)_第8张图片

5、李代数求导(扰动模型)

使用李代数的一大动机是为了进行优化,而在优化过程中导数是非常必要的信息。在SLAM中,我们经常会构建与位姿有关的函数,然后讨论该函数关于位姿的导数,以调整当前的估计值。
使用李代数解决求导问题的思路分为两种:

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

第一种方式对应到李代数的求导模型,而第二种则对应到扰动模型。

①求导模型
按照导数的定义由:
李群和李代数以及李代数求导(扰动模型)_第9张图片
得到:
在这里插入图片描述
可见,等式里包含一个形式相当复杂的雅可比矩阵,而扰动模型能完美的避免他的计算。

扰动模型(左扰动为例)

R 进行一次扰动 ∆R,设左扰动 ∆R 对应的李代数为φ。然后,对 φ 求导,即:
李群和李代数以及李代数求导(扰动模型)_第10张图片
可见,扰动模型相比于直接对李代数求导,省去了一个雅可比 的计算。这使得扰动模型更为实用。
对于SE(3) 上的李代数求导:

6、下节预告

视觉SLAM中,我们研究的主要是观测方程,见SLAM的数学描述。也就是“机器人如何观测外部世界”,在以相机为主的视觉 SLAM 中,观测主要是指相机成像的过程。所以下一节学习经典的针孔相机模型,搞清楚一个空间点是如何投影到相机成像平面的。

7、非常感谢您的阅读!

你可能感兴趣的:(视觉SLAM基础,矩阵,抽象代数)