standard_DH
根據DH表示法確定一個一般步驟爲每個關節指定參考座標系,然後確定如何實現任意兩個相鄰座標系之間的變換,最後寫出機器人的總變換矩陣。如圖所示表示了三個順序關節和兩個連桿,每個關節都是可以轉動和平移的。第一個關節指定爲關節i-1,第二個關節指定爲關節i,第三個關節指定爲關節i+1。在這些關節前後可能還有其他關節,連桿也是如此表示,連桿i位於關節i與關節i+1之間。
1、standard_DH建立每個關節參考座標系步驟:
(1)所有關節,無一例外用z軸表示。如果是關節是旋轉的,z軸位於按右手定則選裝的方向,如果關節是滑動的,z軸爲沿實現運動的方向。在每一種情況下,關節i處的z軸(以及該關節的本地參考座標系)的下標爲i-1。
(2) 通常關節不一定平行或相交。因此,通常z軸是斜線,但是總有一條距離最短的公垂線,它正交於任意兩條斜線。通常在公垂線方向上定義x軸。所以如果ai表示zi−1與zi之間的公垂線,則xi的方向沿ai。
(3)如果兩個關節的z軸平行,選取與前一關節的公垂線共線的一條公垂線,可簡化模型;如果兩個相鄰關節的z軸是相交的,那麼它們之間沒有公垂線,可選取兩條z軸的叉積2方向作爲x軸,可簡化模型。
θ角表示繞z軸旋轉角,d表示在z軸上兩條相鄰的公垂線之間的距離,a表示每一條公垂線的長度,角α表示兩個相鄰的z軸之間的角度。
2、standard_DH建模步驟:
(1)繞zi−1軸旋轉θi,它使得xi−1和xi互相平行;
(2)沿zi−1軸平移di距離,使得xi−1和xi共線;
(3)沿xi軸平移ai距離,使得xi−1和xi的原點重合;
(4)將zi−1軸繞xi旋轉ai,使得zi−1軸與zi軸對準。
通過右乘四個運動的四個矩陣就可以得到變換矩陣i−1Ti:
i−1Ti=Rot(zi−1,θi)×Trans((zi−1,di)×Trans((xi,ai)×Rot(xi,αi)
i−1Ti=⎣⎢⎢⎡cθisθi00−sθicθi0000100001⎦⎥⎥⎤⎣⎢⎢⎡10000100001000di1⎦⎥⎥⎤⎣⎢⎢⎡100001000010ai001⎦⎥⎥⎤⎣⎢⎢⎡10000cαisαi00−sαicαi00001⎦⎥⎥⎤
i−1Ti=⎣⎢⎢⎡cθisθi00−sθicαicθicαisαi0sθisαi−cθisαicαi0aicθiaisθidi1⎦⎥⎥⎤
modified_DH
1、modified_DH建立每個關節參考座標系步驟:
(1)找出關節軸i和i+1之間的公垂線或關節軸i和i+1的交點,以關節軸i和i+1的交點或公垂線與關節軸i的交點作爲連桿座標系{i}的原點;
(2)規定zi軸沿關節軸i的指向;
(3)規定xi軸沿公垂線的指向,如果關節軸i和i+1相交,則規定xi垂直於關節軸i和i+1所在平面。
(4)按照右手定則確定yi軸
2、modified_DH建模步驟:
(1)ai=沿xi軸,從zi移動到zi+1的距離;
(2)αi=繞xi軸,從zi旋轉到zi+1的角度;
(3)di=沿zi軸,從xi−1移動到xi的距離;
(4)θi=沿zi軸,從xi−1旋轉到xi的角度;
變換矩陣可以寫成:
i−1Ti=RX(αi−1)×DX(ai−1)×RZ(θi)×DZ(di)
i−1Ti=⎣⎢⎢⎡cθisθicαi−1sθisαi−10−sθicθicαi−1cθisαi−100−sαi−1cαi−10ai−1−sαi−1dicαi−1di1⎦⎥⎥⎤
SDH與MDH比較
(1)固連座標系不同
SDH方法關節i上固連的是i-1座標系,即座標系建在連桿的輸出端;MDH關節i上固連的是i座標系,即座標系建在連桿的輸入端。
(2)座標系變換順序不同
SDH方法是ZX類變換:先繞着i-1座標系的的Zi-1軸旋轉和平移,再繞着座標系i的Xi軸進行旋轉和平移;MDH方法是XZ類變換:先繞着i座標系的的Xi軸旋轉和平移,再繞着座標系i的Zi軸進行旋轉和平移;