標準DH建模與改進DH建模

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軸。所以如果aia_i表示zi1z_{i-1}ziz_i之間的公垂線,則xix_i的方向沿aia_i
(3)如果兩個關節的z軸平行,選取與前一關節的公垂線共線的一條公垂線,可簡化模型;如果兩個相鄰關節的z軸是相交的,那麼它們之間沒有公垂線,可選取兩條z軸的叉積2方向作爲x軸,可簡化模型。
  θ\theta角表示繞z軸旋轉角,d表示在z軸上兩條相鄰的公垂線之間的距離,a表示每一條公垂線的長度,角α\alpha表示兩個相鄰的z軸之間的角度。

2、standard_DH建模步驟
(1)繞zi1z_{i-1}軸旋轉θi\theta_i,它使得xi1x_{i-1}xix_{i}互相平行;
(2)沿zi1z_{i-1}軸平移did_{i}距離,使得xi1x_{i-1}xix_{i}共線;
(3)沿xix_{i}軸平移aia_{i}距離,使得xi1x_{i-1}xix_{i}的原點重合;
(4)將zi1z_{i-1}軸繞xix_{i}旋轉aia_{i},使得zi1z_{i-1}軸與ziz_{i}軸對準。
  通過右乘四個運動的四個矩陣就可以得到變換矩陣i1Ti^{i-1}T_i
i1Ti=Rot(zi1,θi)×Trans((zi1,di)×Trans((xi,ai)×Rot(xi,αi)\begin{aligned}^{i-1}T_i=Rot(z_{i-1},\theta_i)\times Trans((z_{i-1},d_i)\times Trans((x_{i},a_i)\times Rot(x_{i},\alpha_i)\end{aligned}

i1Ti=[cθisθi00sθicθi0000100001][10000100001di0001][100ai010000100001][10000cαisαi00sαicαi00001]^{i-1}T_i=\begin{bmatrix} c\theta_i&-s\theta_i&0&0\\s\theta_i&c\theta_i&0&0\\0&0&1&0\\0&0&0&1\end{bmatrix} \begin{bmatrix} 1&0&0&0\\0&1&0&0\\0&0&1&d_i\\0&0&0&1\end{bmatrix} \begin{bmatrix} 1&0&0&a_i\\0&1&0&0\\0&0&1&0\\0&0&0&1\end{bmatrix} \begin{bmatrix} 1&0&0&0\\0&c\alpha_i&-s\alpha_i&0\\0&s\alpha_i&c\alpha_i&0\\0&0&0&1\end{bmatrix}

i1Ti=[cθisθicαisθisαiaicθisθicθicαicθisαiaisθi0sαicαidi0001]^{i-1}T_i=\begin{bmatrix} c\theta_i&-s\theta_i c\alpha_i&s\theta_i s\alpha_i&a_i c\theta_i\\s\theta_i&c\theta_i c\alpha_i&-c\theta_i s\alpha_i&a_i s\theta_i\\0&s\alpha_i&c\alpha_i&d_i\\0&0&0&1\end{bmatrix}

modified_DH

1、modified_DH建立每個關節參考座標系步驟
(1)找出關節軸i和i+1之間的公垂線或關節軸i和i+1的交點,以關節軸i和i+1的交點或公垂線與關節軸i的交點作爲連桿座標系{i}的原點;
(2)規定ziz_i軸沿關節軸i的指向;
(3)規定xix_i軸沿公垂線的指向,如果關節軸i和i+1相交,則規定xix_i垂直於關節軸i和i+1所在平面。
(4)按照右手定則確定yiy_i

2、modified_DH建模步驟
(1)aia_i=沿xix_i軸,從ziz_i移動到zi+1z_{i+1}的距離;
(2)αi\alpha_i=繞xix_i軸,從ziz_i旋轉到zi+1z_{i+1}的角度;
(3)did_i=沿ziz_i軸,從xi1x_{i-1}移動到xix_{i}的距離;
(4)θi\theta_i=沿ziz_i軸,從xi1x_{i-1}旋轉到xix_{i}的角度;
  變換矩陣可以寫成:
i1Ti=RX(αi1)×DX(ai1)×RZ(θi)×DZ(di)\begin{aligned}^{i-1}T_i=R_X(\alpha_{i-1})\times D_X(a_{i-1})\times R_Z(\theta_{i})\times D_Z(d_{i})\end{aligned}

i1Ti=[cθisθi0ai1sθicαi1cθicαi1sαi1sαi1disθisαi1cθisαi1cαi1cαi1di0001]^{i-1}T_i=\begin{bmatrix} c\theta_i&-s\theta_i &0&a_{i-1} \\s\theta_i c\alpha_{i-1}&c\theta_i c\alpha_{i-1}&-s\alpha_{i-1}&-s\alpha_{i-1}d_i \\s\theta_i s\alpha_{i-1}&c\theta_i s\alpha_{i-1}&c\alpha_{i-1}&c\alpha_{i-1}d_i\\0&0&0&1\end{bmatrix}

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軸進行旋轉和平移;

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