<rt id="3njq5"><optgroup id="3njq5"><strike id="3njq5"></strike></optgroup></rt>
  • <span id="3njq5"><optgroup id="3njq5"><center id="3njq5"></center></optgroup></span>
      <i id="3njq5"><meter id="3njq5"></meter></i>
    1. <label id="3njq5"><meter id="3njq5"><bdo id="3njq5"></bdo></meter></label><span id="3njq5"></span>
    2. <span id="3njq5"></span>
    3. 產(chǎn)品展示
      PRODUCT DISPLAY
      技術(shù)支持您現(xiàn)在的位置:首頁 > 技術(shù)支持 > 微分幾何在機器人領(lǐng)域的應用(二)深入理解三維空間變換
      微分幾何在機器人領(lǐng)域的應用(二)深入理解三維空間變換
    4. 發(fā)布日期:2019-04-11      瀏覽次數(shù):2067
      • 空間幾何變換

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

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

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

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

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

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

         

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

        旋轉(zhuǎn)矩陣

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

        其中

         

        分別為旋轉(zhuǎn)矩陣和平移向量??梢钥吹叫D(zhuǎn)矩陣只有一個自由度,因其只有一個變量θ。

        旋轉(zhuǎn)矩陣R的性質(zhì):

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

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

        二維旋轉(zhuǎn)矩陣可用旋轉(zhuǎn)角唯yi表示。正角表示逆時針旋轉(zhuǎn)。

         

         

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

         

        二位旋轉(zhuǎn)矩陣的許多性質(zhì)在三維空間中同樣滿足。

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

         

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

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

         

        歐拉角

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

         

        程序?qū)崿F(xiàn):
        程序使用基于C++的Eigen庫[3]。注意,Eigen庫是一個僅包含頭文件的基礎矩陣庫,沒有靜態(tài)或動態(tài)庫。使用時僅需要把相關(guān)的目錄include就可以了。

         

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

         

         

         

        李群和李代數(shù)

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

        ?封閉性
        ?相關(guān)性
        ?單位矩陣
        ?可逆

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

         

        羅德里格斯旋轉(zhuǎn)公式

        (Rodriguez’s Rotation Formula)

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

         

         

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

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

         

        四元數(shù)(Quternions)

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

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

         

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

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

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

         

        總結(jié)

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

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

        在機器人領(lǐng)域,使用多的除旋轉(zhuǎn)矩陣外,還有旋轉(zhuǎn)向量、歐拉角、四元素等。

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

        思考:二維空間剛體變換有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/.

        本文屬于純原創(chuàng)文章,轉(zhuǎn)載請注明杭州藍芯科技有限公司

      聯(lián)系方式
      • 電話

        400-800-6709

      • 傳真

      在線客服
      主站蜘蛛池模板: 亚洲精品伦理熟女国产一区二区| 老司机亚洲精品影院| 亚洲精品无码久久久久A片苍井空| 91大神免费观看| 亚洲的天堂av无码| 99re免费99re在线视频手机版| 亚洲日韩图片专区第1页| 久操免费在线观看| 亚洲网站免费观看| 国产乱子精品免费视观看片| 亚洲av无码一区二区三区天堂古代| 免费观看美女用震蛋喷水的视频| 亚洲福利一区二区| 男人的好看免费观看在线视频| 日本亚洲色大成网站www久久| 天天操夜夜操免费视频| 亚洲欧美在线x视频| 亚洲精品成人在线| 免费无码黄网站在线看| 中文字幕亚洲精品| 成年人免费视频观看| 国产精品亚洲综合| 亚洲一区二区三区偷拍女厕 | 理论秋霞在线看免费| 国产亚洲精品久久久久秋霞 | 在线免费观看色片| 免费精品视频在线| 亚洲级αV无码毛片久久精品| 久久99国产综合精品免费| 亚洲熟妇AV日韩熟妇在线| 亚洲高清最新av网站| 一级成人a毛片免费播放| 亚洲色成人网站WWW永久四虎 | 乱淫片免费影院观看| 亚洲第一区香蕉_国产a| 卡一卡二卡三在线入口免费| selaoban在线视频免费精品| 亚洲精品视频观看| 亚洲不卡无码av中文字幕| 少妇无码一区二区三区免费| 亚洲色成人网站WWW永久四虎|