第4讲 李群与李代数
本节目标
- 理解李群与李代数的概念,掌握 S O ( 3 ) SO(3) SO(3), S E ( 3 ) SE(3) SE(3)与对应李代数的表示方式。
- 理解BCH近似的意义
- 学会在李代数上的扰动模型
- 使用Sophus对李代数进行运算
上一讲重点介绍了旋转的表示,但是在SLAM中,除了表示之外,我们还要对它们进行估计和优化。因为在SLAM中位姿是未知的,而我们需要解决什么样的相机位姿最符合当前观测数据这样的问题。一种典型的方式是把它构建成一个优化问题,求解最优的 R , t R,\mathbf{t} R,t,使得误差最小化。
如前所言,旋转矩阵自身是带有约束的(正交且行列式为 1 1 1)。它们作为优化变量时,会引入额外的约束,使优化变得困难。通过李群-李代数间的转换关系,我们希望把位姿估计变成无约束的优化问题,简化求解方式。由于我没有李群李代数的基本知识,从最基础的开始看起。
4.1 李群与李代数基础
上一讲,我们介绍了旋转矩阵和变换矩阵的定义。当时,我们说三维旋转矩阵构成了特殊正交群 S O ( 3 ) SO(3) SO(3),而变换矩阵构成了特殊欧氏群 S E ( 3 ) SE(3) SE(3):
S O ( n ) = { R ∈ R n × n ∣ R R T = I , d e t ( R ) = 1 } (4.1) SO(n)=\{R\in\mathbb{R}^{n\times n}|RR^T=I,det(R)=1\} \quad \text{(4.1)} SO(n)={
R∈Rn×n∣RRT=I,det(R)=1}(4.1)
S E ( 3 ) = { T = [ R t 0 T 1 ] ∈ R 4 × 4 ∣ R ∈ S O ( 3 ) , t ∈ R 3 } . (4.2) SE(3) = \{T=\begin{bmatrix}R&t\\ \mathbf{0}^T & 1 \end{bmatrix} \in \mathbb{R}^{4\times 4} | R \in SO(3), \mathbf{t} \in \mathbb{R}^3 \}. \quad \text{(4.2)} SE(3)={
T=[R0Tt1]∈R4×4∣R∈SO(3),t∈R3}.(4.2)
不过,当时我们并没有详细解释群的含义。我们会发现他们只有一种较好的运算:乘法。 S O ( 3 ) SO(3) SO(3)和 S E ( 3 ) SE(3) SE(3)关于乘法是封闭的。对于这种只有一个运算的集合。我们把它叫做群。
4.1.1 群
群(Group)是一种集合加上一种运算的代数结构。我们把集合记作 A A A,运算记作 ⋅ \cdot ⋅,那么群可以记作 G = ( A , ⋅ ) G=(A,\cdot) G=(A,⋅)。群要求这个运算满足一下几个条件:
- 封闭性: ∀ a 1 , a 2 ∈ A , a 1 ⋅ a 2 ∈ A \forall a_1,a_2\in A, a_1 \cdot a_2 \in A ∀a1,a2∈A,a1⋅a2∈A
- 结合律: ∀ a 1 , a 2 , a 3 ∈ A , ( a 1 ⋅ a 2 ) ⋅ a 3 = a 1 ⋅ ( a 2 ⋅ a 3 ) . \forall a_1, a_2, a_3 \in A, (a_1 \cdot a_2) \cdot a_3 = a_1 \cdot (a_2 \cdot a_3). ∀a1,a2,a3∈A,(a1⋅a2)⋅a3=a1⋅(a2⋅a3).
- 幺元: ∃ a 0 ∈ A , s . t . ∀ a ∈ A , a 0 ⋅ a = a ⋅ a 0 = a \exists a_0 \in A, s.t. \forall a \in A, a_0 \cdot a = a \cdot a_0 = a ∃a0∈A,s.t.∀a∈A,a0⋅a=a⋅a0=a
- 逆: ∀ a ∈ A , ∃ a − 1 ∈ A , s . t . a ⋅ a − 1 = a 0 \forall a \in A, \exists a^{-1} \in A, s.t. a \cdot a^{-1} = a_0 ∀a∈A,∃a−1∈A,s.t.a⋅a−1=a0
李群是指具有连续(光滑)性质的群。像整数群 Z \mathbb{Z} Z那样离散的群没有连续性质,所以不是李群。而 S O ( n ) SO(n) SO(n)和 S E ( n ) SE(n) SE(n),它们在实数空间上是连续的。我们能够直观地想象一个刚体能够连续地在空间中运动,所以它们都是李群。由于 S O ( 3 ) SO(3) SO(3)和 S E ( 3 ) SE(3) SE(3)对于相机姿态估计尤为重要,我们主要讨论这两个李群。
下面,我们先从较简单的 S O ( 3 ) SO(3) SO(3)开始讨论,我们将会发现每个李群都有对应的李代数。我们首先引出 S O ( 3 ) SO(3) SO(3)上面的李代数 s o ( 3 ) \mathfrak{so}(3) so(3)。
4.1.2 李代数的引出
考虑任意旋转矩阵 R R R,我们知道它满足:
R R T = I ( 4.5 ) RR^T = I \quad (4.5) RR

本文介绍了李群SO(3)和SE(3)及其对应的李代数so(3)和se(3)的基础概念。通过BCH近似,文章探讨了如何在李代数上进行扰动和求导,并给出了Sophus库的使用示例。
最低0.47元/天 解锁文章
2278

被折叠的 条评论
为什么被折叠?



