视觉slam十四讲 学习笔记-3(李群和李代数)

第一次听没有怎么懂这一章节,后来又重新学习了一遍才弄懂了一点。我发现pdf教材一行一行抠细节全部看一遍还是能够理解的,很多推导和逻辑都比视频清晰很多。

目录

李群和李代数:

李群 :

李代数引出:

李代数定义:

指数和对数的映射

以上总结


总结:

旋转矩阵这东西呢属于李群(T由Rt组成),用李群的性质一推,发现旋转矩阵可以映射成指数函数,指数函数上面的指数即李代数,而指数函数可以泰勒展开,展开完的结论发现李代数这东西其实就是旋转向量。再引入个bch公式,旋转矩阵的乘法就转换成李代数形式的加法,最后就可以定义导数了。所以归根结底,引入李群李代数是为了定义怎么对变换过程求导。

 每对旋转矩阵求一次导数,只需左乘一个 φ ∧ (t) 矩阵即可

得出:

 其中R(t)为旋转矩阵(李群),之后会推出 φ为李代数。上式称为指数映射。

我们对进行泰勒展开:

 

再对其化简得到:

 它和罗德里格斯公式一样,所以so(3) (李代数)实际上就是由所谓的旋转向量组成的空间。

BCH公式: 

 

其中

解释:

其中J为:

 

现有一个观测数据:

理想观测和实际观测的误差为:

现在有多组这样的观测,每组都有一个误差,我们想要找到一个T让这个误差的和也就是整体误差尽量小:

J是关于T的函数,所以我们需要对T求导才可以求出J的最小值。

这里我们利用导数的定义分为两种思路求解:

第一种:

 第二种

结论:

李群和李代数:

用于在a'=Ra+t中对于R进行微调的情况,因为R是一个正交矩阵,不能像向量一样对其进行直接的简单相加。其中det表示的是行列式。

SO3(只有旋转矩阵)和SE3(旋转和平移):

 其中表示3*3的矩阵

 群是一种集合加上一种运算的代数结构

李群 :

每个李群都有对应的李代数

李代数引出:

可以看出 是一个反对称矩阵

 之前两个向量进行叉乘出来的矩阵就是一个反对称矩阵,这里我们引入了∧符号,将一个向量变成了反对称矩阵。同理,对于任意反对称矩阵,我们亦能找到一个与之对应的向量。把这个运算用符号∨表示。即:

 向量a叉乘出来的反对称矩阵就是A,反对称矩阵A的乘出来的向量就是a。

可以看到,每对旋转矩阵求一次导数,只需左乘一个 φ ∧ (t) 矩阵即可

为方便讨论,我们设t_0=0(为了方便讨论),并设此时旋转矩阵为 R(0) = I。按照导数定义,可以把 R(t) 在 0 附近进行一阶泰勒展开:

因为上式,我们就说\phi 反映了 R 的导数性质,就称\phi在 SO(3) 原点附近的正切空间 (Tangent
Space) 上
。 

t_0=0

我们看到,旋转矩阵 R 与另一个反对称矩阵 \phi_0 通过指数关系发生了联系。也就是说,当我们知道某个时刻的 R 时,那么就一定存在一个向量 \phi,它们满足这个矩阵指数关系,此时的\phi就是一个种李代数

李代数定义:

李代数描述的是李群的局部性质,就像上面的SO(3)的李群的李代数so(3)(一个三维向量或者是三维向量组成的反对称矩阵)就是描述的SO(3)的局部性质。

此时的\phi就是一个种李代数,SO(3) 对应的李代数是定义在上的向量,我们记作 \phi

由于 φ 与反对称矩阵关系很紧密,在不引起歧义的情况下,就说 so(3) 的元素是 3 维向量或者 3 维反对称矩阵,两者不进行区分。

至此,我们已清楚了 so(3) 的内容。它们是一个由三维向量组成的集合,每个向量对应了一个反对称矩阵,这个矩阵表达的是旋转矩阵的导数。它与 SO(3) 的关系由指数映射给定:

同理SE(3)也对应一个李代数se(3)(书中没有进行详细介绍)

我们把每个 se(3) 元素记作 ξ,它是一个六维向量。前三维为平移,记作 ρ;后三维为旋转,记作 φ,实质上是 so(3) 元素  。

在这里我们拓展了∧符号的含义,在这里不在表示向量和反对城矩阵之间叉乘的关系,我们使用∧和∨符号来指代“从向量到矩阵”和“从矩阵到向量”的关系(之前的SO3的对应的向量到矩阵的关系是进行自我叉乘形成反对城矩阵的关系),以保持和 so(3) 上的一致性。

指数和对数的映射

由于 φ 是三维向量,我们可以定义它的模长和它的方向,分别记作 θ 和 a,于是有 φ = θa,这里 a 是一个长度为 1 的方向向量。首先,对于a^ \wedge ,有以下两条性质:

所以4.19中的式子可以变成:

同理se(3)也可以进行相应的推导

BCH 公式与近似形式

虽然我们已经清楚了 SO(3) 和 SE(3)上的李群与李代数关系,但是,当我们在 SO(3) 中完成两个矩阵乘法时,李代数中 so(3)上发生了什么改变呢?反过来说,当 so(3) 上做两个李代数的加法时,SO(3) 上是否对应着两个矩阵的乘积?

他们并没有满足如下的简单的相加相乘关系

两个李代数指数映射乘积的完整形式,由BCH公式给出

其中 [] 为李括号

BCH 公式告诉我们,当处理两个矩阵指数之积时,它们会产生一些由李括号组成的余项

当 φ 1 或φ 2 为小量时,小量二次以上的项都可以被忽略掉。此时,BCH 拥有线性近似表达:

以第一个近似为例:该式告诉我们,当对一个旋转矩阵 R 2 (李代数为\phi_2)左乘一个微小旋转矩阵 R 1 (李代数为 \phi_1 )时,可以近似地看作,在原有的李代数\phi_2上,加上了一项

同理,第二个近似描述了右乘一个微小位移的情况。

J的解释在下面:

这样,我们就可以谈论李群乘法与李代数加法的关系了。

综上结论为:

同理SE(3)也有响应的结论:

求导

使用李代数解决求导问题的思路分为两种:

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

1李代数求导

2扰动模型求导

为什么这里是Rp而不是\Delta RRp

参考:

视觉SLAM十四讲_4李群与李代数_哔哩哔哩_bilibili

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值