DH 參數(Denavit–Hartenberg Parameters)

定義

DH 參數(Denavit–Hartenberg Parameters)是 1955 年由 Denavit 與 Hartenberg 提出的約定:為串聯機械手臂的每個關節建立座標系,並用四個參數描述相鄰兩個座標系之間的轉換。

四個參數

參數名稱意義
θi\theta_i關節角繞 zi−1z_{i-1} 軸旋轉的角度(旋轉關節的變數)
did_i連桿偏移沿 zi−1z_{i-1} 軸平移的距離(移動關節的變數)
aia_i連桿長度沿 xix_i 軸平移的距離
αi\alpha_i連桿扭角繞 xix_i 軸旋轉的角度

數學表示(標準 DH)

i−1Ti=Rotz(θi) Transz(di) Transx(ai) Rotx(αi){}^{i-1}T_i = \mathrm{Rot}_z(\theta_i)\,\mathrm{Trans}_z(d_i)\,\mathrm{Trans}_x(a_i)\,\mathrm{Rot}_x(\alpha_i)

把所有關節的轉換矩陣依序相乘,就得到基座到末端的正向運動學:0Tn=0T1 1T2⋯n−1Tn{}^{0}T_n = {}^{0}T_1\,{}^{1}T_2 \cdots {}^{n-1}T_n。

使用情境

  • 推導正向運動學:寫出 DH 表後,末端位姿可以機械化地算出來。
  • 解析逆運動學:許多六軸手臂的封閉解都以 DH 參數為起點。
  • 讀懂工業手臂規格書:UR、KUKA 等廠商常直接提供 DH 參數表。

常見誤解

  • 四個參數就能描述任意兩個座標系嗎? 一般剛體轉換需要六個參數,DH 能只用四個,是因為它對座標系的擺放方式加了限制。
  • 同一隻手臂的 DH 表是唯一的嗎? 不是,座標系的選擇不同就會得到不同的表,但算出來的末端位姿一致。

延伸閱讀

常見問題

faq_01.log
標準 DH 和修正 DH(Modified DH)有什麼不同?
兩者都用四個參數,但座標系放置的位置不同:標準 DH(Denavit–Hartenberg 原版)把第 i 個座標系放在關節 i+1 的軸上,修正 DH(Craig 的版本)放在關節 i 的軸上。兩種參數表不能混用,查資料時要先確認是哪一種。
faq_02.log
現代機器人軟體還需要 DH 參數嗎?
URDF 與 MoveIt 直接用每個關節的平移與旋轉描述,不強制使用 DH。但工業手臂的規格書、教科書與許多 IK 解析解推導仍以 DH 參數為主,看懂它仍是基本功。

相關文章

相關術語