學習IMU預積分(1)李羣

背景:目前開始學習IMU的預積分與Christian Forster 與其組員的論文:IMU Preintegration on Manifold for Efficient Visual-Inertial Maximum-a-Posteriori Estimation。

 

這文章涉及到基礎知識李羣與李代數,此文章先鋪墊一下基礎知識,大部分東西都從《視覺SLAM十四講》搬運過來。

 

1.什麼是羣

在普通的算術中,常數a,b 相乘相加相減都能使得結構仍擁有同樣屬性,即常數。但是有一些羣體它們只有一種運算使得結果仍然保有同樣屬性。例如,旋轉矩陣(R)加旋轉矩陣的結果不擁有旋轉矩陣的屬性,即正交性,但旋轉矩陣相乘可以得到另一個旋轉矩陣。

爲了方便,我們把這一些羣體與一種運算給綁定在一起,並且稱之爲羣。

所以,羣=一個集合+一個運算。用數學去描述的話,我們可以這樣描述:G = (A, * )G = ( A, * )。當然這裏的星號不一定指的是乘號,也可以是任意一種運算。

除此之外,一個羣之所以爲羣,它的運算必須滿足以下性質:

1. 封閉性:\forall a_1, a_2 \in A, a1 * a2 \in A

2. 結合律:\forall a_1, a_2, a_3 \in A, (a_1*a_2)*a_3 = a_1*(a_2*a_3)

3. 幺元: \exists a_0 \in A, s.t. \ \forall a \in A, a_0*a = a*a_0 = a

4. 逆:  \forall a \in A, \exists a^{-1}\inA, s.t. \ a*a^{-1}=a_0

讓我們舉個符合例子:

旋轉矩陣與矩陣乘法

1.R_1, R_2 \in \mathbb{R}^{3\times3}, R_1 \times R_2 \in \mathbb{R}^{3\times3}

2.R_1, R_2,R_3 \in \mathbb{R}^{3\times3}, (R_1 \times R_2)\times R_3 = R_1 \times (R_2\times R_3 )

3.I \times R = R \times I = R

4.R \times R^{-1} = I

 

再比如整數與算術加法

1. 1+1 = 2 而1,2都是整數

2. 1+2+3 = 6 = 1+(2+3)

3. 0+1=1+0=1

4. 1+(-1)=0

 

所以,這些都是羣。

 

2.什麼是李羣

李羣指的是在光滑的流形裏的羣,這裏可以簡單的認爲是在連續空間(即非離散空間裏的羣)。

 

兩個常見的李羣:SO(n) 與 SE(n)。n指的是維度。例如SO(3), SE(3)這兩個在SLAM裏面常見的李羣,它們都可以用來描述剛體在3D連續空間裏的運動。

 

SO(3) = 特殊正交羣 = \{ R\in \mathbb{R}^{^{3\times 3}}|RR^{T}=I,det(R)=1\}.

用更直觀的話來說,SO(3)的元素是3x3正交矩陣。運算是矩陣乘法。

 

SE(3) = 特殊歐氏羣 = \{T= \begin{bmatrix} R& t\\ 0^T&1 \end{bmatrix}\in\mathbb{R}^{4\times4}\mid R \in SO(3), t \in \mathbb{R}^3\}.

用更直觀的話來說,SE(3)的元素是一個4x4的矩陣,而矩陣中包括了3x3正交矩陣與3x1的矢量。運算是矩陣乘法。


 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章