微分幾何在機器人領域的應用(二)深入理解三維空間變換
空間幾何變換
空間中的幾何變換分為多類,從簡單,到逐漸復雜的變換,分別有如下幾種:
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/.
本文屬于純原創文章,轉載請注明杭州藍芯科技有限公司
- 凡本網注明"來源:機床商務網"的所有作品,版權均屬于機床商務網,轉載請必須注明機床商務網,//www.hzzhongling.com/。違反者本網將追究相關法律責任。
- 企業發布的公司新聞、技術文章、資料下載等內容,如涉及侵權、違規遭投訴的,一律由發布企業自行承擔責任,本網有權刪除內容并追溯責任。
- 本網轉載并注明自其它來源的作品,目的在于傳遞更多信息,并不代表本網贊同其觀點或證實其內容的真實性,不承擔此類作品侵權行為的直接責任及連帶責任。其他媒體、網站或個人從本網轉載時,必須保留本網注明的作品來源,并自負版權等法律責任。
- 如涉及作品內容、版權等問題,請在作品發表之日起一周內與本網聯系,否則視為放棄相關權利。
- 2025惠州國際工業博覽會
- 2025MTM金屬世界博覽會·上海 MTM EXPO 2025
- 2025第二十一屆上海國際鑄造展覽會
- 2025第22屆越南國際工業制造及材料技術展覽會VINAMAC2025
- 智能搬運機器人
- 新能源行業AGV 全向車型搬運機器人 潛入式AGV 自主移動式搬運機器人 工廠無人搬運機器人 倉儲自動搬運機器人 倉儲AGV小車 工業自主搬運機器人 柔性物流搬運機器人 工廠柔性搬運機器人 智能柔性搬運機器人 無標記視覺導航機器人 柔性化機器人 貨物運輸機器人 料車搬運機器人 車間貨物搬運機器人 滾筒對接機器人 背負式移動機器人 潛入頂升搬運機器人 自然無軌搬運機器人 輥筒對接機器人 視覺引導式AGV AGV無人搬運車 AGV智能機器人 智能無人搬運機器人 自動化搬運機器人 倉庫智能搬運機器人 自主機器人搬運系統 智能倉儲搬運車 無標識搬運機器人 無軌智能搬運機器人 智能自主搬運機器人 無軌導引AGV小車 工廠物料搬運機器人 背負自主搬運機器人 視覺移動AGV機器人 車間物料搬運機器人 倉庫搬運機器人 潛入頂升式機器人 智能調度系統 智能自主移動搬運機器人 電商物流搬運機器人 頂升式自主移動搬運機器人 智能AGV機器人 智能物料搬運機器人 AGV自主移動搬運機器人 配件 呼叫器 載具-協作機器人 視覺導航無人托盤車 多機調度智能化生產線 3C電子制造業物料搬運 3C行業移動機器人 電商自主移動搬運機器人 電商行業自主搬運機器人 頂升搬運智能機器人 物流搬運小車 電商倉儲搬運智能小車 電商倉儲機器人 智能移動搬運機器人 智能移動搬運小車 頂升搬運小車 自然導航小車 智能倉儲搬運機器人 倉儲機器人廠家 自主移動機器人 VR全景直播搬運機器人 無軌導航機器人 滾筒搬運AGV 無標識AGV
- 3D視覺傳感器
- 機器視覺外觀檢測系統 機器視覺識別系統 深度視覺抓取系統 三維立體視覺系統 三維視覺相機 立體相機 TOF相機 3D深度相機 高精度3D視覺相機 3D視覺上料系統 工業機器人視覺定位系統 高精度3D相機 機器人視覺定位系統 深度視覺感知系統 機器人視覺導航系統 Eagle3D傳感器 工業級3D相機 深度視覺傳感器 視覺導航模塊 混雜多貨品分揀系統 3D視覺引導定位系統 3D視覺拆垛系統 雙目視覺傳感器 雙目3D視覺定位系統 工業機器人3D視覺系統 Eagle 3D相機 機器人3D視覺引導 3D機器視覺相機 自動拆垛系統 3D視覺識別系統 3D智能抓取系統 3D視覺解決方案 機器視覺拆垛系統 3D拆垛系統 3D分揀系統 機器人視覺引導系統 機器人視覺拆垛 視覺引導定位系統 3D視覺快遞分揀 工業3D視覺系統 3D視覺系統 3D相機無序分揀 機器人視覺系統 3D視覺技術 高精度悟空3D相機 機器視覺3D引導系統 機器人3D混合無序抓取 3D抓取系統 3D視覺分揀系統 機器人智能無序分揀系統 激光3D機器視覺 機器人3D定位系統 機器視覺 3D成像系統
- 3D視覺傳感器解決方案
- 視覺引導碼垛 3D視覺工業案例 藥瓶分揀 獨立工件定位 視覺引導產線 3D機器視覺檢測零件 機器人3D視覺方案 3D視覺拆垛方案 3D視覺分揀方案 麻袋拆垛 3D視覺零件上料系統 視覺引導紙箱拆垛 3D視覺電商快遞分揀 3D視覺機械上下料 3D視覺零件揀選 混合物流包裹分揀 3D相機零部件上料 物流快遞包裹分揀 3D視覺系統糖垛拆垛上料 快遞供包 電商倉儲訂單分揀 貨品分揀 混合碼垛 包裹體積動態測量 動態高速分揀 快遞包裹無序混合分揀 零食無序分揀裝箱 無人碼垛 機械零件自動上下料 混雜分揀解決方案 視覺引導拆垛解決方案 工業機器人上料解決方案 貨品揀選解決方案 藥品包裝無人碼垛 藥品包裝無人拆垛 輸送帶模型分揀 洗衣機裝配 快遞包裹體積測量 超市物流配貨混合碼垛
- 無人叉車系列
- 智能無人叉車機器人 車間叉車AGV 智能搬運無人叉車 電動堆高無人叉車 智能無人托盤搬運叉車 AGV無人化叉車 托盤電動搬運叉車 智能升降叉車 自主無人叉車 托盤式堆高叉車 托盤式搬運叉車 堆高叉車式AGV 無人搬運AGV叉車 智能倉儲無人叉車 工業無人搬運叉車 倉庫無人叉車 自主無人搬運叉車 倉庫搬運無人叉車 自動叉車機器人 智能叉車機器人 電動叉車機器人 AGV叉車機器人 無人智能駕駛叉車 智能AGV叉車 智能無人搬運叉車 無人叉車式AGV 托盤搬運叉車AGV 堆垛式叉車 電動托盤搬運叉車 電動堆高式叉車 無人電動叉車 無人AGV叉車 工業叉車AGV 全自動電動叉車 自動AGV叉車 無人駕駛叉車 叉車AGV 無軌叉車 視覺導航叉車 無人叉車LXLR-FR2100