[SLAM](3-4):四元數的定義與計算
結合 高翔老師的著作《視覺SLAM十四講:從理論到實踐》,加上小白的工程經驗共同完成。
1.四元數的定義
旋轉矩陣用九個量描述三自由度的旋轉,具有冗餘性:尤拉角與旋轉向量是緊湊的,但是具有奇異性。事實上,我們找不到不帶奇異性的三維向量描述方式。
奇異性舉例解釋為:
當我們想用兩個座標表示地球表面時(如經度和維度),必定存在奇異性(維度為°時經度無意義)。
我們用複數集表示複平面上的向量,而複數的乘法則能表示複平面上的旋轉:例如,乘上覆數 i 相當於逆時針把一個復向量旋轉90度。四元數是Hamilton找到的一種擴充套件的複數,它既是緊湊的,也沒有奇異性。如果說缺點的話,四元數不夠直觀,其運算稍微複雜一些。
一個四元數 q 擁有一個實部和三個虛部。如:
其中 i , j , k 為四元數的三個虛部。這三個虛部滿足關係式:
有時人們也用一個標量和一個向量來表達四元數:
這裡s稱為四元數的實部,而 v 稱為它的虛部。如果一個四元數的實部為零,稱之為實四元數。反之,若讓門的實部為零,稱之為虛四元數。
我們能用單位四元數表示三維空間中任意一個旋轉。乘以 i 對應著旋轉180度,而
假設某個旋轉是繞單位向量 進行了角度 的旋轉,那麼這個旋轉的四元數形式為:
.
反之,我們亦可從單位是四元數中計算出對應旋轉軸與夾角。
在四元數中嗎,任意的旋轉都可以由兩個互為相反數的四元數表示。同理,取 為0,則得到一個沒有旋轉的四元數:
《視覺SLAM十四講:從理論到實踐》 PDF資源
下載連結:https://download.csdn.net/user/robot_starscream/uploads
此資源僅供各位研究員試讀,請購買紙質書籍。