機器人位置運動學03—D-H參數法

一、關節與連桿

  機器人一般由一系列關節和連桿按任意的順序連接而成,這些關節可能是滑動(線性)的或旋轉(轉動)的,它們可能處在不同的平面,旋轉軸之間可能存在偏差。連桿也可以是任意長度的(包括零),它可能被扭曲或彎曲,也可能位於任意的平面上。所以任何一組關節和連桿都可以構成機器人。我們必須要能對任何機器人進行建模和分析。
  所以,我們需要給每個關節指定一個參考座標系,然後確定從一個關節到下一個關節(一個座標系到下一個座標系)進行變換的步驟。如果將從基座到第1關節,再從第1關節到第2關節直至最後一個關節的所有變換結合起來,就得到了機器人的總變換矩陣。
  假設機器人由任意多的連桿和關節以任意形式構成,如圖所示,有3個順序的關節和2個連桿,每個關節都可能是旋轉的、滑動的或兩者都是。指定第1個關節爲關節n ,第2個關節爲關節n+1 ,第3個關節爲關節n+2 。連桿n 位於關節nn+1 之間,連桿n+1 位於關節n+1n+2 之間。
  


  D-H參數法  

二、D-H參數法中x,y,z 軸及參數說明

  爲了用D-H表示法對機器人建模,所要做的第一件事是爲每個關節指定一個本地的參考座標系。因此,對於每個關節,都必須指定一個z 軸和x,通常並不需要指定y 軸,因爲y 軸總是垂直於x 軸和z 軸。

  • z 軸:所有關節,無一例外都用z 軸表示。如果關節是旋轉的,那麼z 軸位於按右手規則旋轉的方向。如果關節是滑動的,那麼z 軸爲沿直線運動的方向。繞關節n+1 運動的z 軸是zn對於旋轉關節,繞z 軸的旋轉角θ 是關節變量。對於滑動關節,沿z 軸的連桿長度d 是關節變量。
  • x 軸:通常關節不一定平行或相交。因此,z 軸也許是斜線,但總有一條距離最短的公垂線,它正交於任意兩條斜線。通常在公垂線方向上定義本地參考座標系的x 軸。所以如果an 表示zn1zn 之間的公垂線,則定義xn 的方向爲沿an 的方向。
  • 特殊情況:
    (1):如果兩個關節的z 軸平行,那麼它們之間就有無數條公垂線。這時可挑選與前一關節的公垂線共線的一條公垂線。
    (2):如果兩個相鄰關節的z 軸是相交的,那麼它們之間就沒有公垂線(或者公垂線的距離爲零)。這時可將垂直於兩條軸線構成的平面的直線指定爲x 軸,即其公垂線是垂直於包含了兩條z 軸平面的直線。
  • θ :表示繞z 軸的旋轉角
  • d :表示在z 軸上兩條相鄰的公垂線之前的距離(關節偏移)
  • a :表示每一條公垂線的長度(連桿長度)
  • α :表示兩個相鄰的z 軸之間的角度(扭角)
    通常只有θd 是關節變量。

三、D-H參數法的座標變換矩陣

  現在需要將一個參考座標系變換到下一個參考座標系。假設現在位於本地參考座標系xnzn ,則通過以下4步標準運動即可到達下一個本地參考座標系xn+1zn+1
  (1)zn 軸旋轉θn+1 ,使得xnxn+1 互相平行。因爲anan+1 都是垂直於zn 軸的,因此繞zn 軸旋轉θn+1 確實可使xnxn+1 平行(且共面)。
  (2)沿zn 軸平移dn+1 距離,使得xnxn+1 共線。因爲xnxn+1 已經平行且垂直於zn ,則沿着zn 移動可使它們相互重疊在一起。
  (3)沿已經旋轉過的xn 軸平移an+1 的距離,使得xnxn+1 的原點重合。這時兩個參考座標系的原點處在同一位置。
  (4)z 軸繞xn+1 軸旋轉αn+1 ,使得zn 軸與zn+1 軸對準。這時座標系nn+1 完全相同。這樣就實現了從一個座標系變換到下一個座標系。
  在座標系n+1n+2 之間,嚴格地按照上述的4個步驟就可以將一個座標系變換到下一個座標系。通過重複以上步驟,可以實現一系列相鄰座標系之間的變換。從機器人的參考座標系開始,我們可以將其轉換到機器人的第1個關節,在轉換到第2個關節,以此類推,直至轉換到末端執行器。
  表示前面4個運動的兩個依次座標系之間的變換nTn+1 (稱爲An+1 )是4個運動變換矩陣的乘積。由於所有的變換都是相對於當前的座標系進行的,因此所有的變換都是右乘的。即
  

nTn+1=An+1=Rot(z,θn+1)×Trans(0,0,dn+1)×Trans(an+1,0,0)×Rot(x,αn+1)

 
=[cosθn+1sinθn+100sinθn+1cosθn+10000100001]×[10000100001dn+10001]×[100an+1010000100001]×[10000cosαn+1sinαn+100sinαn+1cosαn+100001]

An+1=[cosθn+1sinθn+1cosαn+1sinθn+1sinαn+1an+1cosθn+1sinθn+1cosθn+1cosαn+1cosθn+1sinαn+1an+1sinθn+10sinαn+1cosαn+1dn+10001]

  在機器人基座上,可以從第1個關節開始變換到第2個關節,然後到第3個關節等等,直到機器人手和最終的末端執行器。若把每個變換定義爲An+1 ,則可以得到許多表示變換的A 矩陣。在機器人的基座與手之間的總變換則爲:
  
RTH=RT11T22T3...n1Tn=A1A2A3...An

  其中n 是關節數,有幾個自由度就有幾個A 矩陣。通常可以製作一張關節和連桿參數的表格,其中每個連桿和關節的參數值可從機器人的機構示意圖上確定。
連桿 θ d a α
0-1
1-2

四、正運動學例題

例1:如圖所示的簡單2軸平面機器人,根據D-H表示法,建立必要的座標系,填寫D-H參數表,導出每個機器人的正運動學方程。


例題

解:首先兩個關節都在xy 平面內旋轉,座標系xHzH 表示機器人的末端。先指定關節的z 軸,將關節1指定爲z0 ,關節2指定爲z1 ,座標系0是固定不動的,機器人相對於它而運動。
  然後爲每一個座標系指定x 軸,因爲第1個座標系(座標系0)是在機器人基座上,在它之前沒有關節,因此x0 的方向是任意的。我們可以指定x0 的方向與全局座標系的x 軸相同。因爲z0z1 是平行的,他們之間的公垂線就在兩者之間的方向上,所以x1 軸如圖所示。
  下表顯示了該機器人的變量表。根據D-H的常規步驟,按照如下從一個座標系到下一個座標系所必須的4個變換,可以來確認變量表中的這些值。

連桿 θ d a α
0-1 θ1 0 a1 0
1-H θ2 0 a2 0

  (1)繞z0 軸旋轉θ1 ,使x0x1 平行;
  (2)由於x0x1 已經在一個平面內了,不需要在平移z0 軸,因此沿着z0 軸的偏移量d 是0;
  (3)沿着已經旋轉過的x0 軸平移距離a1
  (4)因爲z0z1 是平行的,不需要在旋轉,因此繞x1 軸的旋轉角α1 是0。
  座標系1到座標系H 之間的變換與上面的過程類似。
  由於有兩個旋轉關節,因此存在兩個未知的變量,即關節角θ1θ2 。將D-H參數表中的這些參數代入相應的A矩陣中,可以得到機器人的正運動學方程爲:
  

A1=[cosθ1sinθ10a1cosθ1sinθ1cosθ10a1sinθ100100001], A2=[cosθ2sinθ20a2cosθ2sinθ2cosθ20a2sinθ200100001]

  
0TH=A1×A1=[cos(θ1+θ2)sin(θ1+θ2)0a2cos(θ1+θ2)+a1cosθ1sin(θ1+θ2)cos(θ1+θ2)0a2sin(θ1+θ2)+a1sinθ100100001]

  給定θ1θ2a1a2 ,根據正運動學方程就可以求出機器人末端的位置和姿態。

五、逆運動學例題

  有了逆運動學解才能確定每個關節的值,從而使機器人到達期望的位姿。
例2:求解例1中的關節角。
解1:設期望的位置和姿態爲:

0TH=A1×A1=[cos(θ1+θ2)sin(θ1+θ2)0a2cos(θ1+θ2)+a1cosθ1sin(θ1+θ2)cos(θ1+θ2)0a2sin(θ1+θ2)+a1sinθ100100001]=[nxoxaxpxnyoyaypynzozazpz0001]

則可得:sin(θ1+θ2)=nycos(θ1+θ2)=nx ,所以:θ1+θ2=ATAN2(ny,nx)
又因爲a2cos(θ1+θ2)+a1cosθ1=pxa2nx+a1cosθ1=px ,所以:cosθ1=pxa2nxa1
又因爲a2sin(θ1+θ2)+a1sinθ1=pya2ny+a1sinθ1=py ,所以:sinθ1=pxa2nxa1
所以:θ1=ATAN2(sinθ1,cosθ1)=ATAN2(pxa2nxa1,pxa2nxa1) 。所以θ2=θ1+θ2θ1
解2:在等式中通常乘A21 ,使得θ1θ2 中解耦。(常用於多自由度的)
A1×A2×A21=[nxoxaxpxnyoyaypynzozazpz0001]×A21A1=[nxoxaxpxnyoyaypynzozazpz0001]×A21

[cosθ1sinθ10a1cosθ1sinθ1cosθ10a1sinθ100100001]=[nxoxaxpxnyoyaypynzozazpz0001]×[cosθ2sinθ20a2sinθ2cosθ20000100001]

[cosθ1sinθ10a1cosθ1sinθ1cosθ10a1sinθ100100001]=[cosθ2nxsinθ2oxsinθ2nx+cosθ2oxaxpxa2nxcosθ2nysinθ2oysinθ2ny+cosθ2oyaypya2nycosθ2nzsinθ2ozsinθ2nz+cosθ2ozazpza2nz0001]

對應位置矩陣元素相等即可求得θ1θ2 ,其結果和解1一樣。

參考文獻:SaeedB.Niku 等,機器人學導論——分析、系統及應用(第二版),電子工業出版社,2013.2.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章