SE(3) 和 se(3)
SE(3) 是旋轉加上位移, 也稱歐式變換(Euclidean transformation),剛體變換(Rigid Transformation),一般我們用矩陣
來表示,其中
為旋轉, t 為位移,所以有6個自由度,3個旋轉,3個位置。
SO(3) 和 so(3) 的數學推導
在開始 SE(3) 和 se(3) 之前,我們先在此複習 SO(3) 和 so(3), 上篇寫到指數對映的式子可以寫成:
和
我們是根據之前的
和 把
分解成大小和方向推論出來的,這裡我們將再次推導指數對映的結論,因為在推導 se(3) 的指數對映之時也會用到。
先再次觀察 so(3),so(3) 中的元素可以看成矩陣,這個矩陣為反對稱矩陣,我們用
來表示:
這個矩陣可以看成是
組合而成,
也就是:
觀察
, 作為向量,它的模長:
計算
:
這裡我們可以觀察到
計算
所以有
, 繼續:
所以有
展開:
有尤拉公式:
所以:
如果我們需要更嚴密一點的話 expso(3) → SO(3):
同樣 SO(3) → so(3),也就是旋轉矩陣到旋轉向量。如果也更嚴密一點,首先就是我們限制旋轉角度在[0,π]之間,畢竟可能要用acos函式和保證一對一,否則角度加上2π 計算出來的sin cos 總是相等,其次就是當
足夠小的時候的處理:
se(3) → SE(3)
模仿之前對於$so(3)$ 中的元素的看法, se(3) 中的元素可以這樣看:
其中:
那麼計算它的指數對映:
所以:
其中
在根據之前的結論:
同樣展開和利用尤拉公式:
所以可得公式:
同樣,嚴密一點寫出結論:
SE(3) → se(3)
SE(3) 到 se(3) 同樣是用對數對映可以得到,不過我們繼續用已經得到的結論:
也有closed form,可以透過計算得到,可以寫成如下:
參考:
Lie Groups for 2D and 3D Transformations Ethan Eade