三維旋轉矩陣 機械人剛體運動 三維空間中的旋轉運動

2021-10-12 09:28:54 字數 1946 閱讀 7916

設a為慣性座標系,b為與剛體固聯的動座標系,

旋轉矩陣是正交矩陣

2. 對於右手座標系

(左手系等於-1)

更一般的情況,

空間中的旋轉矩陣可定義為

符號so是 special orthogonal(特殊正交)的縮寫,其中 special指的是detr=+1,而非±1。so(3)是乙個以單位矩陣作為單位元素、以矩陣乘法作為群運算的群。so(3)稱為三維旋轉群。

自由剛體相對於定座標系旋轉後的位形可由唯一的r∈so(3)表示。鑑於這一特性,旋轉群so(3)又稱為系統的位形空間( configuration space),系統的運動軌跡為曲線r(t)∈so(3),其中t∈【0,t】。更為一般的情況是,對於集合q,如果其中每乙個元素對應於系統的乙個有效位形,則稱q為位形空間,系統的每個位形都對應於q中的唯一元素。

旋轉矩陣r∈so(3)也可用於實現同一點在不同座標系中的座標變換。如果q點在座標系b中的座標為

,那麼,q點在座標系a中的座標可用下列方法求得:因

是q點在b座標系中相應座標軸上的投影,如果座標系b相對於座標系a的座標為

,則q點在a座標系中的座標為:

或換句話說,當考慮

到 的變換時,r即表示一點從b座標系到a座標系座標的旋轉變換。

旋轉矩陣可以通過矩陣相乘加以組合,從而形成新的旋轉矩陣。如果座標系c相對座標系b的姿態為

,座標系b相對於另一座標係a的姿態為

,那麼,座標系c相對於座標系a的位形為:

旋轉矩陣實際上是標準正交基下的正交變換矩陣,向量在進行旋轉變換後,長度不變。

同時,旋轉矩陣也可以視為在三維線性空間中的兩個標準正交基之間的基變換矩陣,兩個標椎正交基變換前後都為右手座標系(這是由detr=+1保證的)。

長度不變和變換前後都為右手系則保證了旋轉運動是剛體變換,有關剛體變換的數學定義參見:

凌波洞主:機械人剛體運動-剛體變換​zhuanlan.zhihu.com

機械人學中所遇到的一般運動形式是物體繞給定軸轉過一定角度的旋轉運動。例如,希望描述機械人的連桿繞固定軸的旋轉運動。設

為表示旋轉方向的單位向量,

為旋轉角度。因物體的每一次轉動都存在某個r∈so(3)與之對應,對此將r寫成

和θ的函式。

為便於推導,考慮旋轉體上一點q的速度。如果物體是以單位速度繞的軸作勻速轉動,那麼q點的速度

可表示為:

這是乙個以時間t為自變數的線性微分方程,經積分得:

如果物體以單位速度繞ω軸旋轉θ角度,那麼

是反對稱矩陣。所有3×3反對稱矩陣的向量空間記為so(3)。更一般情況,nxn反對稱矩陣的向量空間為:

注意,反對稱矩陣的元素有九個,但維數仍只有三維。

最後,直接給出指數座標下旋轉矩陣的計算:

指數變換將反對稱矩陣變換為正交矩陣。從幾何角度來講,反對稱矩陣與旋轉軸相對應,並且指數變換產生的旋轉量也與繞軸的旋轉角度量θ相對應。反對稱矩陣與正交矩陣的關係部分地解釋了so(3)的含意。由此還可以看出每乙個旋轉矩陣皆可以表示為某個反對稱矩陣的矩陣指數,即變換exp:so(3)→so(3)是滿射變換。

三維旋轉矩陣的計算

在三維空間中,旋轉變換是最基本的變換型別之一,有多種描述方式,如euler角 旋轉矩陣 旋轉軸 旋轉角度 四元數等。本文將介紹各種描述方式以及它們之間的轉換。1.旋轉矩陣 用乙個3階正交矩陣來表示旋轉變換,是一種最常用的表示方法。容易證明,3階正交陣的自由度為3。注意,它的行列式必須等於1,當等於 ...

LabVIEW 三維機械人展示

本程式是使用solidworks繪製模型圖,通過labview 2013匯入wrl檔案完成.程式效果如下 工程檔案 3維機械人模型 控制介面,未做美化.因為實際上這部分程式只是一小部分,主程式執行時,這部分面板是不顯示的 啦啦啦 gsd 館 程式使用labview 2013開發,並且匯出了低版本的l...

三維空間剛體旋轉

剛體 運動過程中不會產生形變的物體,運動過程中同乙個向量的長度和夾角都不會發生變化。剛體變換也稱為歐式變換。旋轉矩陣 四元數旋轉向量 尤拉角安裝方式 eigen庫只有標頭檔案,沒有.so和.a二進位制檔案,所以在cmakelists.txt中只需要新增標頭檔案路徑,並不需要使用target link...