国产一区二区三区精-国产一区二区三区精品AV-国产一区二区三区精品欧美日韩 -国产一区二区三区乱码-国产一区二区三区乱码在线观看-国产一区二区三区美女在线观看

您好!歡迎訪問杭州藍芯科技有限公司網站!
全國服務咨詢熱線:

13675884706

當前位置:首頁 > 技術文章 > 微分幾何在機器人領域的應用(二)深入理解三維空間變換

微分幾何在機器人領域的應用(二)深入理解三維空間變換

更新時間:2019-04-11      點擊次數:1870

空間幾何變換

空間中的幾何變換分為多類,從簡單,到逐漸復雜的變換,分別有如下幾種:

1.   等距變換(Isometries)。等距變換下點到點的歐式距離保持不變。剛體變換是典型的等距變換。

2.   相似變換(Similarity)。在等距變換的基礎上加上一個各向同性的縮放。矩陣表示上需要在旋轉矩陣部分乘以一個非零系數s。

3.   仿射變換(Affine)。是一個非奇異的線性變換加上一個平移向量組成的變換。

4.   投影變換(Projective)。任意非奇異的4×4矩陣所構成的變換。

變換的分類和特征如下圖所示。

 

三維剛體的空間變換屬于種情況。如果物體不變形,那么剛體變換涵蓋物理世界中的所有情況。剛體變換包含三個平移自由度和三個旋轉自由度,總共6個自由度。應用剛體變換,點到點的距離保持不變,同時矢量的點積和叉積保持不變。平移自由度易于理解,故本文重點討論旋轉分量,即旋轉矩陣R。

旋轉矩陣

在理解高維理論時,我們一般采用降維的方式理解,由易到難。首先回到二維空間的變換。二維平面中,剛體變換有三個自由度,x, y 和旋轉角θ。用矩陣的形式表示:

其中

 

分別為旋轉矩陣和平移向量。可以看到旋轉矩陣只有一個自由度,因其只有一個變量θ。

旋轉矩陣R的性質:

1. 旋轉矩陣的逆矩陣是它的轉置矩陣,故旋轉矩陣是正交矩陣。(如果不理解逆矩陣和轉置矩陣,請首先惡補線性代數)。

2. 一個矩陣是旋轉矩陣,當且僅當它是正交矩陣,且它的行列式是1。正交矩陣的行列式是±1。讀者可思考行列式為-1的情況對應什么變換。

二維旋轉矩陣可用旋轉角唯yi表示。正角表示逆時針旋轉。

 

 

如下圖表示的是當θ=20°的情況。

 

二位旋轉矩陣的許多性質在三維空間中同樣滿足。

讓我們回到三維空間。旋轉可以有三個旋轉組合而成。在右手(笛卡爾)坐標系下分別繞x,y, z軸旋轉。其旋轉矩陣分別對應為

 

任意旋轉矩陣可寫作一定角度下的三個矩陣的乘積。

注意:矩陣乘法不符合交換律!故順序不同,得到的旋轉矩陣并不相同。

 

歐拉角

航空領域,一般定義飛機前后軸為x軸,沿x軸旋轉的角度一般稱為Roll,中文稱作翻滾角;兩翼方向稱作Pitch,中文稱作俯仰角;垂直地面的方向是航向角(Yaw),如下圖所示。作者覺得中文翻譯很符合愿意,更易于理解。可以記住在駕駛飛機時,如何操縱翻滾角,俯仰角,航向角。Roll,Pitch,Yaw,又稱作歐拉角。習慣上,三個歐拉角的方向是z-y-x,使用時需要特別重要,歐拉角順序錯了,旋轉矩陣也會發生變化。

 

程序實現:
程序使用基于C++的Eigen庫[3]。注意,Eigen庫是一個僅包含頭文件的基礎矩陣庫,沒有靜態或動態庫。使用時僅需要把相關的目錄include就可以了。

 

再次注意:三個歐拉角的順序!

 

 

 

李群和李代數

三維旋轉矩陣是直觀的表示方法,但旋轉矩陣有9個變量,只有3個自由度,故信息是冗余的。旋轉矩陣在工程使用更好的表達方法。根據定義,所有的剛體變換屬于一個群(李qun,Lie Group)。剛體變換又稱作特殊歐式變換(special  Euclidean  transformation),通常寫作SE(3)。李群中的變換滿足如下特性。詳細性質可參見李群和李代數的資料。如果只限于3D視覺或機器人學,只需記住其主要特性:

?封閉性
?相關性
?單位矩陣
?可逆

剛體變換的組合和逆變換均屬于剛體變換。
單純的旋轉變換稱作特殊正角變換(special orthogonal transformation),通常寫作SO(3)。旋轉矩陣都是正交矩陣。
李代數通過指數映射,將旋轉矩陣的9個變量轉換為3個變量,結合三個平移向量,總共6個變量,對應6個自由度。李代數表示法在三維重建(SFM)、VR、SLAM等位姿估計領域應用的較多。李代數有基于Eigen的Sophus庫[4]可使用,方便完成指數映射。

 

羅德里格斯旋轉公式

(Rodriguez’s Rotation Formula)

旋轉矩陣有一個更有效的表達方法,即由一個單位向量和一個旋轉角生成。每一個旋轉矩陣均可轉化為向量和角(又稱軸-角)的表達方式。根據公式,單位向量用表示,旋轉的角度是θ,那么相應的旋轉矩陣是:

 

 

此矩陣可簡化為如下公式:

具體點符號定義可參見相關文獻。單純環繞x,y或z軸旋轉而成的旋轉矩陣是羅德里格斯公式的特殊形式。讀者可以把上式中的單位向量替換為(0,0,1)進行驗證。雖然公式復雜,但程序實踐比較方便。利用Eigen庫中的Eigen::AngleAxisf(旋轉向量)可以直接獲得。

 

四元數(Quternions)

四元素可看作一種特殊的復數,由一個實部和三個虛部構成。四元素的表示方法同旋轉矩陣、歐拉角表示方法是等價的。根據羅德里格斯旋轉公式,任何一個旋轉都可以表達成軸角的表達法。四元素可以更方便的表達出旋轉軸和旋轉角。單位歐拉向量可表示為:

根據歐拉公式的擴展,四元素可表示為

 

四元素分為實部和虛部,實部只跟旋轉角有關。虛部有單位向量和旋轉角共同計算得來。

四元數的求逆可采用復數的共軛(即虛部取反)方式求得

同時,四元數更易于做線性插值(Slerp)。實際實驗中,使用四元素做旋轉矩陣的計算更加方便。使用Eigen庫時,四元素的使用更為方便。

 

總結

剛體的空間變換由平移和旋轉兩部分組成。平移部分易于理解,旋轉部分一般由直觀的3×3矩陣表示。

旋轉矩陣有很多特性(正交矩陣、單位矩陣),但其由9個元素,但只有3個自由度,故數學上的表示是冗余的。

在機器人領域,使用多的除旋轉矩陣外,還有旋轉向量、歐拉角、四元素等。

本文的幾乎所有變換都容易實現,可直接使用三方庫如Eigen[3],類似的還要OpenCV等。但如要深入理解,hao自己實戰。

思考:二維空間剛體變換有3個自由度,三維有6個自由度,四維空間呢?n維空間呢?

 

參考文獻:

1. Multiple View Geometry in Computer Vision (2nd Edition), Richard Hartley and Andrew Zisserman.

2. An Invitationto 3-D Vision From Images to Models, Yi Ma, Jana Kosecka, Stefano Soatto and Shankar Sastry.

3. Eigen, eigen.tuxfamily.org/.

 

本文屬于純原創文章,轉載請注明杭州藍芯科技有限公司

杭州藍芯科技有限公司
地址:杭州市余杭區文一西路1818-2號中國人工智能小鎮7-902
郵箱:wjfang@lanxincn.com
傳真:
關注我們
歡迎您關注我們的微信公眾號了解更多信息:
歡迎您關注我們的微信公眾號
了解更多信息
主站蜘蛛池模板: 国产高清在线91福利| 欧美一级黑人一级| 成年美女黄网站色大片不卡| 欧美一级久久久久久久大| 国产又粗又大又黄| 成人精品一区二区三区综合| 欧美日韩久久| 国产亚洲精品AAAA片小说| xxxx影院| 久久久久无码精品国产h动漫| 久久青草网站| 欧美久久中文字幕| 国语自产拍在线观看偷拍在| 亚洲欧美日韩综合第一页| 操美女视频在线观看| 国产欧美一区二区三区四区| 色综合久久一区二区三区| 四虎影视库免费永久视频| 高潮是mamamama的韩文歌| 男女做爰全过程免费现看| 婷婷综合在线| 日韩一区二区aⅴ无码大片无码| 精品久久久久久无码中文野结衣| 亚洲乱码一区二区三区在线观看| 嫩叶草一区二区三区的区别| 国产精品亚洲国产三区| 深田一区二区无码视频在线| 婷婷四房色播| 丁香久久婷婷综合激情欧美| 欧美成人精品一区二区三区在线看 | 精品国产伦一区二区三区在线 | a级a做爰片在线观看视频动漫电视剧在线观看| 老司机午夜视频在线观看| 亚洲不卡av不卡一区二区| 日本欧美视频在线观看| 激情久久av一区av二区av三| 亚洲乱码日产精品一二三| 国产色XX群视频射精| 国产av综合精品色区| 欧美性猛交一区二区三区精品 | 日韩欧美另类蜜桃|