当前位置:   article > 正文

DH参数(Denavit-Hartenberg parameters)

dh参数

为什么

  • 机械臂关节通常只关于一个轴进行移动(旋转或者平移),两段手臂的坐标系之间的变换可以由原本的6变量(3位移+3旋转)简化成4变量(DH参数)
  • 关节自由度高(例如手腕可绕3个轴旋转),也可以分解成多个单轴

是什么

在这里插入图片描述
图源《Introduction to Robotics Mechanics and Control》

四个参数中,有两个表示关节轴相对前一关节轴的变化,另外两个表示关节沿轴的运动。

轴到轴的变化

设两个相邻关节的轴 i − 1 _{i-1} i1和轴 i _{i} i的公共垂线为 l l l,方向为 i − 1 {i-1} i1 i {i} i,轴的变化可以表示为俩个参数

  • 轴间距离 a i − 1 a_{i-1} ai1
  • i − 1 _{i-1} i1旋转到轴 i _i i的角度 α i − 1 \alpha_{i-1} αi1,沿着 l l l右手系旋转

关节的运动

  • 沿轴平移 d i d_i di
  • 绕轴旋转 θ i \theta_i θi

通常其中一个为常数,另一个为变量,根据不同关节类型而定

坐标系

将轴 i − 1 _{i-1} i1到轴 i _{i} i中间的连接称为 l i n k i − 1 link_{i-1} linki1,靠近轴 i _{i} i的称为前端,靠近轴 i − 1 _{i-1} i1的称为后端,则有两种坐标系建立的方式,对应不同的变换矩阵 T i i − 1 T^{i-1}_i Tii1,坐标系 i i i i − 1 i-1 i1的变换。

设在后端

垂线 l l l设为 X i − 1 X_{i-1} Xi1,轴 i − 1 _{i-1} i1设为 Z i − 1 Z_{i-1} Zi1,转换和( a i − 1 , α i − 1 , d i , θ i a_{i-1}, \alpha_{i-1},d_i,\theta_i ai1,αi1,di,θi)有关

T i i − 1 = [ c θ i − s θ i 0 a i − 1 s θ i c α i − 1 c θ i c α i − 1 − s α i − 1 − s α i − 1 d i s θ i s α i − 1 c θ i s α i − 1 c α i − 1 c α i − 1 d i 0 0 0 1 ] T^{i-1}_{i} = \left[

cθisθi0ai1sθicαi1cθicαi1sαi1sαi1disθisαi1cθisαi1cαi1cαi1di0001
\right] Tii1=cθisθicαi1sθisαi10sθicθicαi1cθisαi100sαi1cαi10ai1sαi1dicαi1di1
在这里插入图片描述
图源《Introduction to Robotics Mechanics and Control》

设在前端

同样垂线 l l l设为 X i − 1 X_{i-1} Xi1,但是将轴 i _{i} i设为 Z i − 1 Z_{i-1} Zi1,转换和( a i , α i , d i , θ i a_i, \alpha_i,d_i,\theta_i ai,αi,di,θi)有关

T i i − 1 = [ c θ i − s θ i c α i s θ i s α i a i c θ i s θ i c θ i c α i − c θ i s α i a i s θ i 0 s α i c α i d i 0 0 0 1 ] T^{i-1}_{i} = \left[

cθisθicαisθisαiaicθisθicθicαicθisαiaisθi0sαicαidi0001
\right] Tii1=cθisθi00sθicαicθicαisαi0sθisαicθisαicαi0aicθiaisθidi1
在这里插入图片描述
图源《Robotics Vision And Control》

怎么用

参数表

机械臂运动学正解(forward kinematics)
将多个关节串联起来,获得末端位姿

例:UR5

ur5 ros github 参数 (以设在前端的方式建立坐标)

i a i a_i ai α i \alpha_i αi d i d_i di θ 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]

末端位姿 T 6 0 = T 1 0 T 2 1 T 3 2 T 4 3 T 5 4 T 6 5 T^{0}_{6} = T^{0}_{1}T^{1}_{2}T^{2}_{3}T^{3}_{4}T^{4}_{5}T^{5}_{6} T60=T10T21T32T43T54T65

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/550863
推荐阅读
相关标签
  

闽ICP备14008679号