视觉SLAM中的数学基础第三篇李群与李代数

开通VIP,畅享免费电子书等14项超值服

首页

好书

留言交流

下载APP

联系客服

2016.01.18

在SLAM中,除了表达3D旋转与位移之外,我们还要对它们进行估计,因为SLAM整个过程就是在不断地估计机器人的位姿与地图。为了做这件事,需要对变换矩阵进行插值、求导、迭代等操作。例如,在经典ICP问题中,给定了两组3D点,我们要计算它们之间的变换矩阵。假设第一组的3D点为P={pi|i=[1,2,…,N]},第二组3D点为Q={qi|i=[1,2,…,N]},那我们实际要做的事情是求一个欧氏变换T,使得T满足:

i,qi=Tpi(1)注意这里使用了齐次坐标表示。通常,这许多个匹配过的点是通过特征匹配得到的,构成了一个超定方程。而由于噪声的存在,这个方程往往是无解的。因此我们转而计算一个最小二乘:

这时问题就来了:如果用迭代方式求解这个优化时(尽管可以不用迭代方式来求),如何求目标函数u相对于T的导数呢?首先,T只有6个自由度,最好能够在一个六维空间表达它,那么u(T)相对于这个六维空间的导数(雅可比矩阵)是一个6×6的矩阵。其次,T对于乘法是封闭的,但对加法不封闭,即任意两个变换矩阵相加后并不是一个变换矩阵,这主要是因为旋转矩阵对加法是不封闭的。

首先,我们来讨论较为简单的三维旋转群。为了说明它的结构,首先介绍群的概念。

群(Group)是一种集合加上一种运算的代数结构,记作(A,)。其中A代表集合,是定义在该集合上的二元运算。那么,如果这个运算满足以下几个条件,则称G=(A,)为群。

读者可以记作“封结幺逆”(谐音凤姐咬你),并可以把一些常见的群放进去验证。例如整数的加法(幺元为0),去掉0后的有理数的乘法(幺元为1)。对于矩阵,可以找到一些常见的矩阵群,例如:

SO(n)={R∈Rn×n|RRT=I,det(R)=1}(3)SE(3)={T=[R0Tt1]∈R4×4|R∈SO(3),t∈R3}(4)群结构保证了在群上的运算具有良好的性质,而群论则研究群的各种结构和性质,但我们在此不多加介绍。感兴趣的读者可以参考任意一本近世代数教材。

李群是指具有连续性质的群。并且,一般连续群上的运算还是无限可微,乃至解析的(解析比无限可微更强,它还要求任意点邻域的泰勒展开都收敛)。这个问题在20世纪初被称为希尔伯特第五问题,并已得到了解决。而李群,则指实数空间上的连续群。常见的李群包括上边提到的GL(n),SO(n),SE(n),以及其他的如酉群U(n),辛群Sp(2n)等等。

R˙(t)R(t)T+R(t)R˙(t)T=0(5)于是:R˙(t)R(t)T=(R˙(t)R(t)T)T(6)可以看出R˙(t)R(t)T是一个反对称矩阵。注意到对于任意一个3×3的反对称矩阵,我们记它为A。由于AT=A,所以它主对角线元素必为0,而非对角线元素则只有三个自由度。我们可以把它对应到一个向量a=[a1,a2,a3]T中去:

其中∧符号表示由向量转换为矩阵,反之我们也可以用符号∨定义由矩阵转换为向量的方式:

注意到这样定义的好处之一,是它与叉积的兼容性。我们可以直接把矩阵与任意向量的乘积Ab写成a×b。读者可以自行验证这个兼容性。除此之外,这样定义的向量还有一些较好的性质,后文会提到。

现在,由于R˙(t)R(t)T是一个反对称矩阵,我们可以找到一个三维向量(t)∈R3与之对应。于是有:

R˙(t)R(t)T=(t)∧(9)左右各右乘R(t),由于R为正交阵,有:

可以看到,每对旋转矩阵求一次导数,只需左乘一个矩阵即可。由于反映了R的导数性质,故称它在SO(3)的正切空间(tangentspace)上。同时,将上式类比于一个关于R的微分方程,可得:

R(t)=exp((t))R(t0)(11)由此我们可以引出两个概念。(1)求的方法以及它的结构?——是对应到SO(3)上的李代数so(3);(2)exp()如何计算?——李群与李代数间的指数/对数映射。下面我们一一加以介绍。

对于SO(3)和SE(3),李代数可定义于李群的正切空间上,描述了李群中元素局部性质,分别把它们记作小写的so(3)和se(3)。首先,给出通用的李代数的定义。

李代数由一个集合V,一个数域F和一个二元运算[]组成。如果它们满足以下几条性质,称(V,F,[])为一个李代数,记作g。

从表面上来看,李代数所需要的性质还是挺多的。其中二元运算被称为李括号。相比于群中的较为简单的二元运算,李括号表达了两个集合元素的差异。它不要求结合律,而满足反对称性,以及元素和自己做李括号之后为零的性质。作为类比,三维向量R3上定义的叉积×是一种李括号,因此g=(R3,R,×)构成了一个李代数。读者可以尝试将叉积的性质代入到上面四条性质中。

三维旋转群与对应的李代数SO(3)对应的李代数是定义在R3上的向量,我们记作(注意这是个向量,虽然希腊字母的粗体不明显)。根据前面的推导,每个都可以生成一个反对称矩阵:

Φ=∧=032301210∈R3×3(12)在此定义下,两个向量1,2的李括号为:

[1,2]=Φ1Φ2Φ2Φ1(13)读者可以去验证该定义下的李括号满足上面的几条性质。由于与反对称矩阵关系很紧密,在不引起歧义的情况下,就说so(3)的元素是3维向量或者3维反对称矩阵,不加区别:

反对称矩阵有一些重要的性质,重点包括以下两条:

T=∧∧+∥∥2I3×3(15)当为单位向量时,进而有:

以及

∧∧∧=∧(17)这两条性质读者也可以自行验证,我们在指数映射中会用到。

至此,我们已清楚了so(3)的结构。它们是一个由三维向量组成的集合,每个向量对应到一个反对称矩阵,可以表达旋转矩阵的导数。现在来考虑exp(∧)是如何计算的,为此我们引入指数映射。

首先,回忆任意矩阵的指数映射。它可以写成一个泰勒展开,但是只有在收敛的情况下才会有结果,其结果仍是一个矩阵。

同样地,对so(3)中任意一元素,我们亦可按此方式定义它的指数映射:

exp(∧)=∑n=0∞1n!(∧)n(19)现在我们来仔细看看它的含义。由于是三维向量,我们可以定义它的模长和它的方向,分别记作θ和a(注意这里记号是有含义的,此时a是一个单位长度的向量),那么按照上式,可以推出如下公式,注意中间使用了上面讲到了两个反对称矩阵的性质:

exp(∧)=exp(θa∧)=∑n=0∞1n!(θa∧)n=I+θa∧+12!θ2a∧a∧+13!θ3a∧a∧a∧+14!θ4(a∧)4+...=aaTa∧a∧+θa∧+12!θa∧a∧13!θ3a∧14!θ4(a∧)4+...=aaT+(θ13!θ3+15!θ5...)a∧(112!θ2+14!θ4...)a∧a∧=a∧a∧+I+sinθa∧cosθa∧a∧=(1cosθ)a∧a∧+I+sinθa∧=cosθI+(1cosθ)aaT+sinθa∧最后我们得到了一个似曾相识的式子:

回忆前一节内容,它和罗德里格斯公式(参观本系列第一篇)如出一辄。这表明,so(3)实际上就是由所谓的旋转向量组成的空间。特别地,当转轴取一定顺序时,李代数so(3)还会变为对应的欧拉角。通过罗德里格斯公式或者指数映射,我们把R3中的一个向量对应到了一个位于SO(3)中的3D旋转。

反之,如果定义对数映射,我们也能把SO(3)中的元素对应到so(3)中:

=ln(R)∨=(∑n=0∞(1)nn+1(RI)n+1)∨(21)其中∨表示从反对称矩阵到向量的对应关系,为∧的逆运算。

读者可能会问,指数映射性质如何呢?它是一个双射吗?很遗憾,它只是一个满射。每个SO(3)中的元素,都可以找到so(3)中至少一个与之对应;但是可能存在多个so(3)中的元素,对应到同一个SO(3)元素上。至少对于旋转角θ,我们知道它具有周期性。

SO(3)与so(3)的结论似乎在我们意料之中。它和我们前面讲的旋转向量与旋转矩阵很相似,而指数映射即是罗德里格斯公式。旋转向量可以视为旋转矩阵的导数,指导如何在旋转矩阵中进行微积分运算。

下面我们来介绍三维欧氏群SE(3)以及对应的李代数se(3)。有了前面的基础,我们可以直接介绍它们的结构及运算了。SE(3)的结构已经在前面介绍群的时候给出:

SE(3)={T=[R0Tt1]∈R4×4|R∈SO(3),t∈R3}(22)每个变换矩阵有六个四由度,故对应的李代数位于R6中:

但是∧不再对应到一个反对称关系,而是:

可以看到,ξ的前三维为旋转向量,后三维为平移向量,其定义也十分的直观。该李代数对应于微分方程:

T˙(t)=ξ∧(t)T(t)(25)因此

那么se(3)上的指数映射如何呢?略加推导可得:

exp(ξ∧)=∑n=0∞1n!(∧)n0T∑n=0∞1(n+1)!(∧)nρ1=[Φ0TJρ1](27)(28)左上角的Φ是我们熟知的so(3)中的元素,前文已经介绍过了。而右上角的J则可整理为(设=θa):

J=sinθθI+(1sinθθ)aaT+1cosθθa∧(29)因此我们就得到了se(3)的指数映射的关系。其对数映射亦可类比推得。

最后,我们对之前介绍的李群李代数进行一个简单的小结。概而言之,李群有以下两个重要用处:

下篇中,我们将教大家用Eigen和Sophus库处理变换矩阵与李代数。敬请期待。

如果你觉得我的博客有帮助,可以进行几块钱的小额赞助,帮助我把博客写得更好。

THE END
1.一阶系统lesomob6454cc6e8f43的技术博客可以利用官方的dmp来解算姿态,但是代码移植是个问题,我用的是恩智浦的RT1064,手头只有MSP430和STM32的dmp库,在采用卡尔曼滤波算法发现收敛太慢的情况下,我决定采用经典的一阶互补滤波算法和简单的自适应一阶互补滤波算法来试试看,也从数学原理到代码彻底的把一阶互补滤波原理捋一遍。https://blog.51cto.com/u_16099257/12855930
2.Nat.Methods压缩比高达10^48!清华药学院张数一团队仅用82个今天为大家介绍的是来自清华大学药学院张数一团队的一篇论文。设计功能更强大的蛋白质需要深入了解序列与功能之间的关系,但这个关系空间范围庞大,难以探索。因此,通过识别功能上重要的特征来有效压缩这个空间就显得极其重要。作者建立了一种称为EvoScan的方法,用于全面分割和扫描高适应度序列空间,从而获得能够捕获其基本特https://cloud.tencent.com/developer/article/2479923
3.从一般线性群GLn(F)到GLm(F)(n>m≥1)的同态(英文)【摘要】:设F是域,n是正整数,GLn(F)表示域F上的n阶一般线性群.对于两个正整数m和n,若映射f:GLn(F)→GLm(F)满足f(AB)=f(A)f(B),A,B∈GLn(F),则称f是从GLn(F)到GLm(F)的群同态.当n>m≥1,所有从GLn(F)到GLm(F)的群同态的结构被刻画。 https://www.cnki.com.cn/Article/CJFDTotal-hldz200806032.htm
4.一般线性群族谱新闻向量空间的一般线性群如果V是在域F上的向量空间,V的一般线性群,写为GL(V)或Aut(V),是V的所有自同构的群,就是说所有双射线性变换V→V的集合,和与之一起的函数复合作为群运算。如果V有有限维n,则GL(V)和GL(n,F)是同构的。这个同构不是规范的;它依赖于在V中对基的选择。给定V的一个基(e1,,enhttps://www.zupu.cn/renwu/20201016/534035.html
5.一般射影线性群(PGL(n,F))的一些性质一般射影线性群,简称为PGL(n,F),是线性群在除以其中心后形成的商群。定义为GL(n,F)/Z(GL(n,F)),其中GL(n,F)代表n阶可逆方阵的全体集合,Z(GL(n,F))是中心,即所有可逆标量乘以单位矩阵的集合。通过商掉中心,我们可以得到等价类,这些等价类由共线向量构成。通过中心定义的验证,我们https://zhidao.baidu.com/question/1937116872335249667.html
6.群论概念列举——从群到唯一分解环一般线性群gl(n,r)是不是循环群阿贝尔(Abel)群= 群 + 交换律 群阶= 群元素个数 常见群:整数加群( Z , + ) (\Z,+)(Z,+)、剩余加群Z n \Z_nZn?、剩余乘群Z n ? \Z_n^*Zn、一般线性群G L ( n , R ) GL(n,\R)GL(n,R)、特殊线性群S L ( n , R ) SL(n,\R)SL(n,R) https://blog.csdn.net/2203_75907074/article/details/134808690
7.一般线性群更一般的说,向量空间的一般线性群GL(V)仍是抽象自同构群,不必需写为矩阵。 特殊线性群,写为 SL(n, F)或 SLn(F),是由行列式=1的矩阵构成的 GL(n, F)的子群。 群GL(n, F)和它的子群经常叫做线性群或矩阵群(抽象群 GL(V)是线性群但不是矩阵群)。这些群在群表示理论中是重要的,并引发对空间对称和http://mp2.allhistory.com/detail/592413ec55b54278ac00140f
8.一般有限域GFpm上线性码的自同构群.doc该【一般有限域GFpm上线性码的自同构群 】是由【书犹药也】上传分享,文档一共【14】页,该文档可以免费在线阅读,需要了解更多关于【一般有限域GFpm上线性码的自同构群 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备https://www.taodocs.com/p-984933878.html
9.科学网—群论提纲有限群的生成元;连续群的生成元。 2.5 它们都是群 运动群;转动群;伽利略群;洛伦兹群;晶体的点阵平移群;整数、实数和复数的加法群:Z+、R+和C+;非零实数和复数的乘法群:Rx和Cx;四元数的Q8群;矢量空间V 中的所有线性变换构成的群GL(V )(GL(n,K));置换构成的群:对称群和它的子群置换群;分式线性变换构https://blog.sciencenet.cn/blog-311388-257205.html
10.量子一般线性超群的连通性硕士量子群及其表示理论是二十世纪八十年代新起的一个数学分支.它有着丰富的物理背景,同时与其他数学分支有着紧密的联系,如李代数,表示论,数论和可积系统等.本学位论文主要考虑的是量子一般线性超群GLq(m|n)的连通性(Connectedness). 在经典理论中,仿射代数群的连通性是由它的Zariski拓扑决定的,而Zariski拓扑可以完全通https://www.zhangqiaokeyan.com/academic-degree-domestic_mphd_thesis/020316987027.html
11.体上线性群平延换位子生成长度设K为体,n∈Z~+,SL_n(K)与GL_n(K)分别表示K上n级特殊线性群与n级一般线性群。由平延形成的换位子称为平延换位子。首先,我们指出SL_n(K)是由平延换位子生成,当且仅当n≥3以及n=2时,|K|>3。我们又定义了拟伸缩与S-伸缩的概念,指出在n≥3时,对于不是拟伸缩的A∈SL_n(K),A可表示[resA/2https://wap.cnki.net/touch/web/Dissertation/Article/-2001005568.nh.html
12.一般人群,中文例句,英文例句17. Lie Group GL(V) Induced by GL(n); 由一般线性群GL(n)诱导的李群GL(V) 18. Common population, especially for those with coarse and wrinkled skin and those with overworking pressure and pressed spirits. 适宜人群一般人都可以吃,特别适用于皮肤粗糙、裂起皱,工作和精神压力大的人群。?http://dictall.com/st/7/31/731999140A.htm
13.GL(2,Z[i])的有限交换子群.pdf综合论文全文在确定了其中的有限阶元和有限循环子群的共轭类,由 此构造出GL(2,ZEi]的有限交换群,进而确定了GL(2,z[门)的所有有限交换子群的共轭类. 关键词:共轭 ;特征值;生成关系;同构 中图分类号:0152.3;O151.21 文献标志码 :A 1 引言及预备知识 线性群是群论 中的基本研究对象,对整数环上 的线性群,我们 已有 https://max.book118.com/html/2014/0312/6525247.shtm
14.上世纪九十年代成果中国科学院数学与系统科学研究院应用数学研究所系统地研究了周期反应扩散生态系统的持久性和正周期解的存在性;对于无穷维Banach空间上的周期半流 (包括自治半流),证明了"一致持久性蕴含共存态"这一一般定理,这一结果也为证明正平衡态存在性提供了一个动力系统的方法;对于有序Banach空间上的单调动力系统研究了全局吸引性和稳定性,对于具有严格次线性的系统得到了系http://amt.amss.cas.cn/yjcg/zycg/201310/t20131023_130538.html
15.栈与一般线性表的区别主要在()方面。B. 公民只有取得最基本的人权,才能将一般人权转化为法律权利 C. 人权只有以法律权利的形式存在,才具有【单选题】大肠菌群是反映食品被( )污染的指标。 查看完整题目与答案 【单选题】下列关于角膜生理功能https://www.shuashuati.com/ti/7a6184fe27134a6eb28f7724963598e1.html?fm=bdbds55cf7ef15b9833803959d91342818672
16.用于肺癌(包括非小细胞肺癌和其他癌症)免疫治疗的新型肽和肽组合9.预后一般较差。在所有肺癌患者中,10% ? 15%的患者在确诊后存活五年。肺癌患者生存期差是因为(dyrk477ryleagaaglrw23640hspbp178iytrvtyyl64499,7177tpsb2,tpsab179ryggsfael23135kdm6b80aylkeveql该基因的编码区突变与布鲁克征候群相关。根据描述,plod2在结直肠癌(nicastri et al.,2014)、多发性http://mip.xjishu.com/zhuanli/27/202011636461.html