徐紅鑫,慕 麗
(沈陽理工大學 機械工程學院,遼寧 沈陽 110000)
機械臂能模仿人手和手臂的某些功能,雖然不如人體手臂靈活,但在三維空間,四到六個自由度就能滿足三維空間的簡單工作,例如用以按固定程序抓取、搬運物件或操作工具的自動操作裝置。他可以代替人的繁重勞動以實現生產的機械化和自動化,能在不利于人身安全的環境完成工作目的,因而廣泛應用于機械制造、冶金、輕工業等各個領域。隨著一些工業和航天行業的發展,對機械臂運動控制系統的精度要求越來越高,相關技術也引起了人們廣泛的關注,其中重要的一環就是機械臂運動學的建模以及求解[1]。
運動學從工作需求以及功能上可分為正運動學以及逆運動學,正運動學為通過給定各個關節的角度而求出機械臂上任意一點(主要是末端執行器)的位置以及姿態。逆運動學為通過給定末端執行器的位置以及姿態,計算各個關節能夠實現這一要求的運動量。其中逆運動學是運動學建模以及求解的關鍵也是難點[2]。機械臂的正運動學模型為機械臂遞歸動力學控制的每一步提供了各個連桿的質心位置以及關節位置,而機械臂的逆運動學與機械臂的軌跡規劃是密不可分的。
由于工程中絕大多數機械臂都是串聯結構,故主要討論該結構類型的建模思路,以及常用建模方法和求解方法。
DH 系及DH 參數表示了用關節連接的相鄰兩根桿件間的坐標系及坐標參數。其中a,c,琢為結構參數,定義了相鄰兩個關節間的固定值,準為運動參數,表示關節的運動量。 Craig 后來介紹了建立改進DH系的方法。改進DH 系與傳統DH 系的不同之處在于,DH 參數與桿件之間的對應關系成為主要目標,而DH 參數與關節之間的對應關系被視為次要因素。改進DH 系在理論推導時物理意義更加明確,方便工程人員應用[3]。
在機械等相關領域書籍中,定義關節與連桿的方法如圖1 所示,在串聯機械臂結構中,操作臂通常都是由轉動關節和移動關節組成的,基座稱為連桿0,不包含在連桿之內,連桿1 和基座由關節1 相連,連桿2 和連桿1 由關節2 相連,以此類推。

圖1 機械臂簡圖
如圖2 所示,連桿坐標系建立的位置不同,SDH方法將連桿i 的坐標系固定于連桿的遠端,MDH 方法將連桿的坐標系固定于連桿的近端。

圖2 關節連桿簡圖
SDH 與MDH 比較:
(1)固連坐標系不同
SDH 方法關節i 上固連的是i-1 坐標系,即坐標系建在連桿的輸出端;MDH 關節i 上固連的是i 坐標系,即坐標系建在連桿的輸入端。
(2)執行變換的順序不同
按照SDH 方法變換時四個參數相乘的順序依次為d-茲-a-琢,而MDH 方法則按照 琢-a-茲-d(正好與SDH 相反)
在相關教材中少有解釋改進DH 建模的具體思路。雖然思路并不固定。但是都大同小異,都是通過依次建立三個坐標軸的方法。但是建立坐標軸的方式并不唯一,且一般錯誤的原因都是坐標原點的選擇錯誤,而不是坐標系的選擇錯誤[4]。
如圖3 所示:在三維空間中,每一個物體都有六個自由度,分別為沿著空間坐標三個軸的雙向移動和繞著三個軸的雙向旋轉。即空間中任意兩個物體,能夠精確掌握二者之間三個坐標軸方向的距離差和角度差,就能夠掌握二者的相對位置關系。將空間中的物體都固接一個三維直角坐標系,則直角坐標系相對于大地坐標系的位置和姿態都可以表示出來。如圖所示坐標系A 與坐標系B 不僅有空間上位置的差別,還有自身角度即姿態的差別,坐標系A 要通過三個坐標軸方向的平移以及繞三個坐標軸方向的旋轉才能與坐標軸B 重合[5]。

圖3 位姿變換簡圖
為了方便計算DH 參數,將空間的六種自由度表示為空間兩物體的六種相對位姿關系。
(1)坐標系A 的原點到坐標系B 的XOY 平面的最短距離即坐標系B 的Z 軸方向上的距離。
(2)坐標系A 的原點到坐標系B 的XOZ 平面的最短距離即坐標系B 的Y 軸方向上的距離。
(3)坐標系A 的原點到坐標系B 的YOZ 平面的最短距離即坐標系B 的X 軸方向上的距離。
(4)坐標系A 的X 軸繞自己的Z 軸旋轉至與坐標系B 的Z 軸同向的角度,即Z 軸方向上的旋轉角度。
(5)坐標系A 的Z 軸繞自己的X 軸旋轉至與坐標系B 的X 軸同向的角度,即X 軸方向上的旋轉角度。
(6)坐標系A 的X 軸繞自己的Y 軸旋轉至與坐標系B 的X 軸同向的角度,即Y 軸方向上的旋轉角度。
由于串聯式機械臂的特性,機械臂可以看作成為一個開式運動鏈,它由一系列連桿通過轉動副或者移動副串聯而成,開鏈的一段固定在基座上,另一端是自由的,安裝著末端執行器,完成各種作業。關節由驅動器驅動,關節相對運動導致連桿的運動,所以研究機械臂連桿的位置關系可以轉化為研究關節的相對位置與姿態。將每一個關節固定一個坐標系,然后描述這些坐標系之間的關系。
以puma560 機械臂為例,如圖4 所示:這是典型的六自由度串聯式機械臂,基座稱為連桿0,其中末端的三個旋轉軸可理解為球形關節,具有三個自由度,相當于人類的手腕部,建立坐標系分如下幾部。

圖4 PUMA560 機械臂
(1)繪制機械臂結構簡圖,找出影響實際操作工作的連桿與關節軸,如圖5 所示。

圖5 PUMA560 機構簡圖
由于機械臂實際形態,有些連桿的結構形狀特殊,例如連桿1 和連桿3。
(2)確定相鄰兩連桿之間的交點或者公垂線,如圖6 所示,其中關節2 的軸線與關節3 的軸線相互平行,且公垂線無數條。

圖6 PUMA560 原點選取
(3)確定關節坐標系原點位置:大多數教材是直接規定坐標軸的方向,由于關節2 與關節3 為平行軸,所以多個版本坐標系規定不同,切容易混亂[6]。直接規定坐標系原點位置更簡潔易懂。關節i 的坐標系原點為軸線i 與軸線i+1 的交點位置,若無交點,比如兩坐標軸平行時,可為了使坐標系i 與坐標系i+1的兩個z 軸和兩個x 軸位置更加特殊而隨意選取。
(4)確定關節坐標系3個軸方向。
如圖7 所示:坐標系i 的z 軸為坐標系i 的軸線方向。

圖7 PUMA560 坐標軸選取
坐標系i 的x 軸為沿著軸線i 與軸線i+1 的公垂線,指向關節i+1。若軸線i 與軸線i+1 相交沒有公垂線,則坐標系i 的x 軸應垂直軸線i 與軸線i+1 做構成平面,方向由右手定則決定。y 軸同理也由右手定則決定。
其中基座坐標系指固定于機器人基座上的坐標系,這個坐標系是一個固定不動的坐標系,因此在研究機械臂運動問題的時候,可以把該坐標系作為參考坐標系,可以在這個參考坐標系中描述操作臂坐在其他連桿坐標系的位姿,為了使問題簡化,通常將該坐標系與坐標系1 相重合。
(5)獲取dh 參數
如圖8 所示:由于機械臂各個關節所固接的坐標系的特殊,坐標系i-1 并不需要六種坐標變換才能與坐標系i 重合,即通過3個軸的移動以及繞三個軸的旋轉。圖8 的兩軸位置比實際機械臂的位置更特殊,更具有意義[7]。

圖8 關節簡圖
淤坐標系i-1 先進行繞自身x 軸的旋轉,轉至坐標系i-1 的z 軸與坐標系i 的z 軸同向;將兩關節之間依靠該運動所需要的角度計為琢。
于坐標系i-1 沿著兩軸公垂線即坐標系i-1 的x軸的方向平移,直至坐標系i-1 的z 軸與坐標系i 的z 軸位于同一條線,所需矢量位移計為a。
盂坐標系i-1 沿著z 軸方向做平移直至兩坐標系原點重合,所需矢量位移計為d。
榆坐標系i-1 繞z 軸旋轉直至兩坐標系完全重合,所需矢量角度計為茲。
30年前的S.hayatl 的論文提到了傳統的DH 的奇異性的問題,但是這種奇異性既不是空間變換矩陣是否可逆的問題,也不是我們常說的機器人運動學的奇異性問題。而是DH 坐標系定義的奇異性。
由于在運動學建立坐標系中是針對機器人運動學參數進行標定的,所以機器人實際結構參數可能會存在偏差。對于一般關節來說問題不大,但是對于兩個相鄰平行關節時,DH 坐標的x 軸方向定義不明確。
在定義DH 坐標系時,從上文可以得出DH 建系的方法只有4 種變換,缺少y 軸方向的平移和繞y 軸方向的旋轉。在建立坐標系時,相鄰平行的關節,由于加工或者裝配上的誤差,2個平行的軸實際上絕對位置是有小范圍誤差的,由于建立坐標系時x 軸定義為相鄰軸線的法線方向;所以軸向的小范圍誤差就可能會導致dh 坐標系中x 軸方向上的大范圍誤差。
(1)傳統方法
引入修正系數茁,描述為繞y 軸的旋轉,既然兩個平行軸間有微小差距,坐標系i 通過正常的變換無法與 坐標系i+1 重合,加入新的自由度,即繞y 軸的旋轉使其重合。在正常變換中,最后一部為繞z 軸旋轉使兩坐標系完全重合,由于兩軸實際不平行,所以無法通過該變換使其重合。通過修正系數,當兩坐標原點重合時,先進行繞y 軸的旋轉,使兩z 軸重合,再進行z 軸的旋轉使其完全重合。因為建系原則不變,坐標系i 的x 軸依然垂直兩坐標系軸線,所以當原點重合時,可以通過繞自身y 軸的旋轉達到兩坐標系z軸重合的效果。
(2)改進方法
引入新的參數L 表示y 軸方向的平移。旋轉在矩陣變換的計算量是要大于平移的,利用此特點將兩個平行的關節靠近基座的關節的坐標軸的x 軸與y 軸互換,則坐標軸i 可通過平移先與坐標軸i+1 重合,原來的先繞y 軸旋轉再繞z 軸旋轉就變成了先繞x軸再繞z 軸,和其他相鄰關節的旋轉變換達成統一,相比于S.hayatl 提出的旋轉參數修正方法,不僅修正效果完全等效,平移參數的修正方法在形式和計算上更為簡單,易于處理。
厘清標準DH 與改進DH 建模的區別,并分析了改進DH 建模的建模思路,從繪制機構件圖到坐標原點到坐標軸的選取。對于由于裝配誤差引起的DH 奇異性的問題,針對傳統的旋轉修正系數進行優化,采用移動修正系數,簡化了計算過程。