第一次听没有怎么懂这一章节,后来又重新学习了一遍才弄懂了一点。我发现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) 矩阵即可。
为方便讨论,我们设(为了方便讨论),并设此时旋转矩阵为 R(0) = I。按照导数定义,可以把 R(t) 在 0 附近进行一阶泰勒展开:
因为上式,我们就说 反映了 R 的导数性质,就称
在 SO(3) 原点附近的正切空间 (Tangent
Space) 上。
我们看到,旋转矩阵 R 与另一个反对称矩阵 通过指数关系发生了联系。也就是说,当我们知道某个时刻的 R 时,那么就一定存在一个向量
,它们满足这个矩阵指数关系,此时的
就是一个种李代数。
李代数定义:
李代数描述的是李群的局部性质,就像上面的SO(3)的李群的李代数so(3)(一个三维向量或者是三维向量组成的反对称矩阵)就是描述的SO(3)的局部性质。
此时的就是一个种李代数,SO(3) 对应的李代数是定义在
上的向量,我们记作
由于 φ 与反对称矩阵关系很紧密,在不引起歧义的情况下,就说 so(3) 的元素是 3 维向量或者 3 维反对称矩阵,两者不进行区分。
至此,我们已清楚了 so(3) 的内容。它们是一个由三维向量组成的集合,每个向量对应了一个反对称矩阵,这个矩阵表达的是旋转矩阵的导数。它与 SO(3) 的关系由指数映射给定:
同理SE(3)也对应一个李代数se(3)(书中没有进行详细介绍)
我们把每个 se(3) 元素记作 ξ,它是一个六维向量。前三维为平移,记作 ρ;后三维为旋转,记作 φ,实质上是 so(3) 元素 。
在这里我们拓展了∧符号的含义,在这里不在表示向量和反对城矩阵之间叉乘的关系,我们使用∧和∨符号来指代“从向量到矩阵”和“从矩阵到向量”的关系(之前的SO3的对应的向量到矩阵的关系是进行自我叉乘形成反对城矩阵的关系),以保持和 so(3) 上的一致性。
指数和对数的映射
由于 φ 是三维向量,我们可以定义它的模长和它的方向,分别记作 θ 和 a,于是有 φ = θa,这里 a 是一个长度为 1 的方向向量。首先,对于 ,有以下两条性质:
所以4.19中的式子可以变成:
同理se(3)也可以进行相应的推导
BCH 公式与近似形式
虽然我们已经清楚了 SO(3) 和 SE(3)上的李群与李代数关系,但是,当我们在 SO(3) 中完成两个矩阵乘法时,李代数中 so(3)上发生了什么改变呢?反过来说,当 so(3) 上做两个李代数的加法时,SO(3) 上是否对应着两个矩阵的乘积?
他们并没有满足如下的简单的相加相乘关系
两个李代数指数映射乘积的完整形式,由BCH公式给出:
其中 [] 为李括号
BCH 公式告诉我们,当处理两个矩阵指数之积时,它们会产生一些由李括号组成的余项
当 φ 1 或φ 2 为小量时,小量二次以上的项都可以被忽略掉。此时,BCH 拥有线性近似表达:
以第一个近似为例:该式告诉我们,当对一个旋转矩阵 R 2 (李代数为
)左乘一个微小旋转矩阵 R 1 (李代数为
)时,可以近似地看作,在原有的李代数
上,加上了一项
。
同理,第二个近似描述了右乘一个微小位移的情况。
J的解释在下面:
这样,我们就可以谈论李群乘法与李代数加法的关系了。
综上结论为:
同理SE(3)也有响应的结论:
求导
使用李代数解决求导问题的思路分为两种:
1. 用李代数表示姿态,然后对根据李代数加法来对李代数求导。
2. 对李群左乘或右乘微小扰动,然后对该扰动求导,称为左扰动和右扰动模型。
1李代数求导
2扰动模型求导
为什么这里是Rp而不是
?
参考: