- 智能駕駛之激光雷達算法詳解
- 揭皓翔編著
- 1130字
- 2024-05-24 17:29:58
2.1.4 旋轉的單位四元數表示
本節介紹空間旋轉的另一種表示形式,即單位四元數。四元數是將二維空間中的復數擴展至三維空間中得到的超復數,具體可表示為

(2-26)
其中為四元數
的實部,
、
和
為虛部。若實部為0,則該四元數又稱為虛四元數;若虛部各項均為0,則該四元數又稱為實四元數。
、
和
則為虛數單位,分別對應坐標系的三個軸,并滿足下述Hamilton表達約束[1]:
,
,
,
,
,
,
(2-27)
同時,我們也可以采用矢量形式來表示上述四元數,于是有
,
,
(2-28)
1.四元數的運算
1)模長
通過對四元數中各元素求平方和并開根號處理,可得到其模長:

(2-29)
當時,我們稱
為單位四元數。我們知道,在二維空間中,單位復數
實際上可以描述極坐標系下的二維旋轉,如圖2-9所示。

圖2-9 單位復數和二維旋轉

(2-30)
因此,對于單位四元數,我們可以將其改寫成下述形式,以描述三維空間的任意旋轉變換:
,
=1 (2-31)
2)加減法
四元數的加減法與普通向量的加減法類似,具體如下:

(2-32)
3)乘法(點乘)
四元數的點乘和向量的點乘類似,將兩個四元數的每一項相乘再取和,即有

(2-33)
4)共軛
四元數的共軛可用
表示,相當于在
的基礎上對虛部取負數,即

(2-34)
進一步可以計算得知,一個四元數與其共軛四元數的乘積為一個實數,即

(2-35)
5)逆
四元數的逆定義如下:

(2-36)
由式(2-32)可以看出,四元數與其逆的點乘結果為實數1。
進一步地,對于單位四元數,由于其模長為1,因此有

(2-37)
6)數乘
四元數和實數相乘,表示對四元數進行縮放,并有

(2-38)
2.基于單位四元數的連續旋轉
假設我們有三維空間中的一個點,基于單位四元數
對點
進行旋轉操作的過程可以通過下式來表示:

(2-39)
若有多個單位四元數可用來表示對點的連續空間旋轉,如
和
,則該過程可表示為

(2-40)
3.單位四元數和其他旋轉表示之間的轉換
這里我們省去具體的推導過程,直接給出單位四元數和其他旋轉表示之間的轉換方程。
1)單位四元數和旋轉向量的轉換
若已知繞單位向量旋轉
角度的旋轉變換,則可通過單位四元數表示該旋轉為

(2-41)
有了式(2-41)中單位四元數和旋轉向量的轉換關系,回頭看式(2-39),就可以分析出:基于單位四元數對P點旋轉的過程可看作繞
軸對P點旋轉
角度。
2)單位四元數和旋轉矩陣的轉換
由于在式(2-39)中,我們基于四元數得到了對點的旋轉表達,而基于前面所述的旋轉矩陣同樣可以實現該旋轉過程,因此有

(2-42)
由此我們便可以推導出由單位四元數到旋轉矩陣
的轉換公式:

(2-43)
實際上,在得到單位四元數和旋轉向量的轉換關系后,根據羅德里格斯旋轉公式[見式(2-22)],我們可以由旋轉向量進一步得到旋轉矩陣:

(2-44)
在這里,我們基本了解了多種空間變換的描述方式和基本原理,在具體代碼實現方面,許多經典的函數庫均已實現了高效的旋轉變換和齊次變換操作供讀者使用,如C++環境中的Eigen庫、Python環境中的tf.transformations和scipy.spatial.transform庫等。
- AutoCAD 2022室內設計從入門到精通(升級版)
- 計算機輔助設計:AutoCAD2017
- Pro/ENGINEER Wildfire 5.0輔助設計與制作技能基礎教程
- MATLAB R2020a從入門到精通(升級版)
- AutoCAD 2014建筑設計:從入門到精通
- CATIA V5從入門到精通(第二版)
- CAE分析大系:ABAQUS工程實例詳解
- 項目實踐精解:ASP.NET應用開發
- 機械CAD/CAM實習考證通用圖冊
- 天正建筑精品教程(TArch 7.5版)
- Protel 99 SE原理圖與PCB設計及仿真(全彩版)
- AutoCAD 2009寶典(中文版)
- CAE分析大系:ABAQUS巖土工程實例詳解
- ANSYS CFX 14.0超級學習手冊
- 大話設計模式