日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

DH参数(Denavit-Hartenberg parameters)

發(fā)布時間:2023/12/14 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 DH参数(Denavit-Hartenberg parameters) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

為什么

  • 機(jī)械臂關(guān)節(jié)通常只關(guān)于一個軸進(jìn)行移動(旋轉(zhuǎn)或者平移),兩段手臂的坐標(biāo)系之間的變換可以由原本的6變量(3位移+3旋轉(zhuǎn))簡化成4變量(DH參數(shù))
  • 關(guān)節(jié)自由度高(例如手腕可繞3個軸旋轉(zhuǎn)),也可以分解成多個單軸

是什么


圖源《Introduction to Robotics Mechanics and Control》

四個參數(shù)中,有兩個表示關(guān)節(jié)軸相對前一關(guān)節(jié)軸的變化,另外兩個表示關(guān)節(jié)沿軸的運(yùn)動。

軸到軸的變化

設(shè)兩個相鄰關(guān)節(jié)的軸i?1_{i-1}i?1?和軸i_{i}i?的公共垂線為lll,方向為i?1{i-1}i?1i{i}i,軸的變化可以表示為倆個參數(shù)

  • 軸間距離ai?1a_{i-1}ai?1?
  • i?1_{i-1}i?1?旋轉(zhuǎn)到軸i_ii?的角度αi?1\alpha_{i-1}αi?1?,沿著lll右手系旋轉(zhuǎn)

關(guān)節(jié)的運(yùn)動

  • 沿軸平移did_idi?
  • 繞軸旋轉(zhuǎn)θi\theta_iθi?

通常其中一個為常數(shù),另一個為變量,根據(jù)不同關(guān)節(jié)類型而定

坐標(biāo)系

將軸i?1_{i-1}i?1?到軸i_{i}i?中間的連接稱為linki?1link_{i-1}linki?1?,靠近軸i_{i}i?的稱為前端,靠近軸i?1_{i-1}i?1?的稱為后端,則有兩種坐標(biāo)系建立的方式,對應(yīng)不同的變換矩陣Tii?1T^{i-1}_iTii?1?,坐標(biāo)系iiii?1i-1i?1的變換。

設(shè)在后端

垂線lll設(shè)為Xi?1X_{i-1}Xi?1?,軸i?1_{i-1}i?1?設(shè)為Zi?1Z_{i-1}Zi?1?,轉(zhuǎn)換和(ai?1,αi?1,di,θia_{i-1}, \alpha_{i-1},d_i,\theta_iai?1?,αi?1?,di?,θi?)有關(guān)

Tii?1=[cθi?sθi0ai?1sθicαi?1cθicαi?1?sαi?1?sαi?1disθisαi?1cθisαi?1cαi?1cαi?1di0001]T^{i-1}_{i} = \left[ \begin{array}{c} 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{array} \right]Tii?1?=?????cθi?sθi?cαi?1?sθi?sαi?1?0??sθi?cθi?cαi?1?cθi?sαi?1?0?0?sαi?1?cαi?1?0?ai?1??sαi?1?di?cαi?1?di?1??????

圖源《Introduction to Robotics Mechanics and Control》

設(shè)在前端

同樣垂線lll設(shè)為Xi?1X_{i-1}Xi?1?,但是將軸i_{i}i?設(shè)為Zi?1Z_{i-1}Zi?1?,轉(zhuǎn)換和(ai,αi,di,θia_i, \alpha_i,d_i,\theta_iai?,αi?,di?,θi?)有關(guān)

Tii?1=[cθi?sθicαisθisαiaicθisθicθicαi?cθisαiaisθi0sαicαidi0001]T^{i-1}_{i} = \left[ \begin{array}{c} 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{array} \right]Tii?1?=?????cθi?sθi?00??sθi?cαi?cθi?cαi?sαi?0?sθi?sαi??cθi?sαi?cαi?0?ai?cθi?ai?sθi?di?1??????

圖源《Robotics Vision And Control》

怎么用

參數(shù)表

求機(jī)械臂運(yùn)動學(xué)正解(forward kinematics)
將多個關(guān)節(jié)串聯(lián)起來,獲得末端位姿

例:UR5

ur5 ros github 參數(shù) (以設(shè)在前端的方式建立坐標(biāo))

iaia_iai?αi\alpha_iαi?did_idi?θi\theta_iθi?
101.5707963270.089159θ1\theta_1θ1?
2-0.4250000θ2\theta_2θ2?
3-0.3922500θ3\theta_3θ3?
401.5707963270.10915θ4\theta_4θ4?
50-1.5707963270.09465θ5\theta_5θ5?
6000.0823θ6\theta_6θ6?

q_home_offset = [0, -1.570796327, 0, -1.570796327, 0, 0]
joint_direction = [-1, -1, 1, 1, 1, 1]

末端位姿T60=T10T21T32T43T54T65T^{0}_{6} = T^{0}_{1}T^{1}_{2}T^{2}_{3}T^{3}_{4}T^{4}_{5}T^{5}_{6}T60?=T10?T21?T32?T43?T54?T65?

總結(jié)

以上是生活随笔為你收集整理的DH参数(Denavit-Hartenberg parameters)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。