视觉SLAM中的李群李代数基础
前言
在做SLAM研究的時候,會涉及到對旋轉矩陣求導的問題。這時候需要使用矩陣李群的知識,將旋轉或者變換等矩陣李群形式,映射到李代數上求解。本文主要涉及兩個特殊矩陣李群:特殊正交群(special orthogonal group)SO(3),表示旋轉;特殊歐幾里得群(special Euclidean group)SE(3),表示位姿。
?
1 群的定義
群(Group)是一個集合加上一種運算所構成的代數結構。該運算將兩個元素a和b組成另外一個元素,記為a·b或者ab。記集合為G,運算為· ,則當滿足一下四個性質的時候,稱(G, ?)為一個群。
(1)封閉性(closure):任意a,b屬于G,有a·b仍然屬于G;
(2)結合性(associativity):任意a,b,c屬于G,有(a·b)·c = a·(b·c);
(3)單位元(幺元)(identity):存在a0屬于G,對任意b屬于G,均有a0·b = b·a0= b;
(4)逆元(invertibility):任意a屬于G,存在a-1屬于G,使得a·a-1= a0?。
?
?
2 特殊正交群和特殊歐幾里得群
特殊正交群:
?
特殊歐幾里得群:
?
?
李群:
?????李群是一個微分流形,群上的操作是光滑的。
?????矩陣李群的元素是矩陣,群上的運算是矩陣乘法,元素的逆即矩陣的逆。
?????SO(3)和SE(3)都是李群,但是只對乘法封閉,對加法不封閉,不適合做微分、求導運算。
?
3 李代數
3.1 李代數定義
對于任意一個李群,都存在一個李代數與之對應。李代數是一種位于向量空間的代數結構。李代數包含一個集合V,一個數域F和一個二元運算[ , ]。如果它們滿足一下四條性質(封閉性、雙線性、自反性、雅克比等價),就稱(V, F, [ , ]) 為一個李代數。
(1)封閉性(closure):[X,?Y]屬于V,
(2)雙線性(bilinearity):[aX+bY,Z] = a[X,Z]+b[Y,Z], [Z, aX+bY]= a[Z,X]+b[Z,Y],
(3)自反性(alternating):[X,?X] =0,
(4)雅克比等價(Jacobi identity):[X, [Y,Z]] + [Z, [X,Y]] +[Y, [Z,X]] =0
?
?
3.2 李代數的引出過程
?
?
3.3 ?旋轉和變換的李代數so(3)和se(3)
與SO(3)對應的李代數是so(3):
?
與SE(3)對應的李代數是se(3):
?
4 指數映射和對數映射
4.1 指數映射
指數映射是從李代數映射到李群的一種方式。
?
為了定義矩陣指數運算,需要用到泰勒展開式。
?
令,關于有如下性質:
?
關于?進行泰勒展開:
?
即羅德里格斯公式。這說明so(3)的物理意義就是旋轉向量。
?
對于se(3)和SE(3),也能得到類似的指數映射關系。
?
?
4.2 對數映射
同理,給定旋轉矩陣(李群元素),也能求出對應的李代數。
實際中可以采用下面的公式來求解。
?
?
小結
本文的內容參考了《state estimation for robotics》,以及高博(半閑居士)的SLAM公開課,如有錯誤,敬請指正。
總結
以上是生活随笔為你收集整理的视觉SLAM中的李群李代数基础的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [SDOI2009]学校食堂Dining
- 下一篇: swagger中没有新加的实体类属性(新