4、机械臂运动学基础:D-H参数模型、连杆坐标系建立规则与正运动学推导

机械臂运动学研究的核心问题是:已知各关节角度,求解末端执行器在三维空间中的位姿(位置与姿态),即正运动学问题。解决这一问题的经典工具是Denavit-Hartenberg(D-H)参数模型。D-H模型通过四个参数(连杆长度a、连杆转角α、关节距离d、关节角θ)唯一确定相邻连杆坐标系之间的变换关系,从而将复杂的空间几何问题转化为矩阵连乘问题。本章将系统讲解D-H参数的定义、连杆坐标系的建立规则,并推导六轴机械臂的正运动学方程。

六轴机械臂D-H参数模型与正运动学推导链路 基座坐标系 {0} 固定参考 连杆1 a₁, α₁, d₁, θ₁ 连杆2 a₂, α₂, d₂, θ₂ 连杆3 a₃, α₃, d₃, θ₃ 连杆4 a₄, α₄, d₄, θ₄ 连杆5 a₅, α₅, d₅, θ₅ 末端 {6} T₁ T₂ T₃ T₄ T₅ T₆ 正运动学方程 T₀₆ = T₁ · T₂ · T₃ · T₄ · T₅ · T₆ 其中 Tᵢ = Rot(z, θᵢ) · Trans(z, dᵢ) · Trans(x, aᵢ) · Rot(x, αᵢ) D-H四参数物理含义: aᵢ(连杆长度):沿Xᵢ轴,从Zᵢ₋₁移动到Zᵢ的距离 αᵢ(连杆转角):绕Xᵢ轴,从Zᵢ₋₁旋转到Zᵢ的角度 dᵢ(关节距离):沿Zᵢ₋₁轴,从Xᵢ₋₁移动到Xᵢ的距离 θᵢ(关节角):绕Zᵢ₋₁轴,从Xᵢ₋₁旋转到Xᵢ的角度(旋转关节变量)

4.1 D-H参数模型的核心原理

D-H参数模型由Jacques Denavit和Richard Hartenberg于1955年提出,其核心思想是在机械臂的每个连杆上固连一个坐标系,通过四个参数描述相邻连杆坐标系之间的相对位姿关系。这四个参数中,a和α描述连杆自身的几何属性,d和θ描述相邻连杆之间的连接关系。对于旋转关节,θ是关节变量;对于移动关节,d是关节变量。

标准D-H模型(Standard D-H)与改进D-H模型(Modified D-H)的主要区别在于坐标系固连的位置不同。标准D-H将坐标系i固连在连杆i的远端(关节i+1处),而改进D-H将坐标系i固连在连杆i的近端(关节i处)。两种模型在建立坐标系时的规则略有差异,但最终推导出的末端位姿结果一致。实际工程中,UR、KUKA等主流机器人厂商多采用改进D-H模型,而许多经典教材(如Craig的《机器人学导论》)采用标准D-H模型。本章以标准D-H模型为例进行推导。

关键理解:D-H参数的本质是将三维空间中的刚体变换分解为四次基本变换的乘积。每次变换只绕或沿一个轴运动,从而将复杂的空间几何问题转化为参数化的矩阵运算。这种分解方式使得机械臂的运动学分析变得系统化和程序化。

4.2 连杆坐标系建立规则

建立连杆坐标系是应用D-H模型的第一步,也是最容易出错的一步。以下是标准D-H模型的坐标系建立规则:

  1. 确定关节轴:找出所有关节的旋转轴(或移动方向),用Z轴表示。关节i的轴线为Zi-1轴。
  2. 确定原点:坐标系{i}的原点位于Zi-1轴与Zi轴的公垂线与Zi轴的交点处。若两轴相交,则原点取在交点处。
  3. 确定X轴:Xi轴沿Zi-1轴与Zi轴的公垂线方向,由关节i指向关节i+1。若两轴相交,则Xi轴垂直于两轴所在平面。
  4. 确定Y轴:由右手定则确定,Yi = Zi × Xi。
  5. 基座坐标系{0}:固定不动,Z0轴沿关节1轴线方向,通常将坐标系{0}与坐标系{1}在初始位形下重合。
  6. 末端坐标系{n}:通常与最后一个连杆坐标系重合,或根据工具中心点(TCP)进行偏移。
步骤 操作内容 注意事项
1 标注所有关节轴线 旋转关节取旋转轴,移动关节取移动方向
2 确定各坐标系原点 公垂线与Zi轴交点;相交时取交点
3 确定X轴方向 沿公垂线方向;相交时垂直平面
4 确定Y轴方向 右手定则,Y = Z × X
5 设置基座与末端坐标系 基座固定,末端对齐TCP

4.3 正运动学推导流程

正运动学推导的核心是计算相邻坐标系之间的齐次变换矩阵。对于坐标系{i-1}到坐标系{i}的变换,可以分解为四次基本变换:

T_i = Rot(z, θᵢ) · Trans(z, dᵢ) · Trans(x, aᵢ) · Rot(x, αᵢ)

展开后得到标准D-H变换矩阵:

       | cosθᵢ  -sinθᵢ·cosαᵢ   sinθᵢ·sinαᵢ   aᵢ·cosθᵢ |
T_i =  | sinθᵢ   cosθᵢ·cosαᵢ  -cosθᵢ·sinαᵢ   aᵢ·sinθᵢ |
       | 0       sinαᵢ          cosαᵢ          dᵢ       |
       | 0       0              0              1        |

六轴机械臂的正运动学方程即为六个变换矩阵的连乘:

T_06 = T_1 · T_2 · T_3 · T_4 · T_5 · T_6

最终得到的T_06矩阵左上角3×3子矩阵表示末端姿态(旋转矩阵R),右上角3×1子矩阵表示末端位置(平移向量P)。

4.4 六轴机械臂D-H参数表构建案例

以典型的六轴串联关节机械臂(类似UR5构型)为例,其D-H参数表如下:

关节i aᵢ (mm) αᵢ (°) dᵢ (mm) θᵢ (°) 关节范围 (°)
1 0 90 162.5 θ₁ -360 ~ 360
2 -425 0 0 θ₂ -360 ~ 360
3 -392 0 0 θ₃ -360 ~ 360
4 0 90 133.3 θ₄ -360 ~ 360
5 0 -90 99.7 θ₅ -360 ~ 360
6 0 0 99.6 θ₆ -360 ~ 360

在构建参数表时,需要特别注意a₂和a₃为负值的情况。这是因为坐标系{2}的X轴方向与坐标系{1}的X轴方向相反,导致连杆长度出现负值。这是标准D-H模型中的正常现象,但在实际编程计算时需确保符号正确。

工程经验:在编写正运动学代码时,建议将D-H参数表定义为结构体数组,每个关节包含a、alpha、d、theta_offset四个字段。theta_offset用于表示关节零位时的角度偏移,实际计算时使用theta = theta_command + theta_offset。

4.5 正运动学计算实例

假设机械臂处于零位(所有关节角为0°),代入上述D-H参数表,计算末端位姿。首先计算各关节的变换矩阵:

T_1 = | 1  0  0  0 |
      | 0  0 -1  0 |
      | 0  1  0  162.5 |
      | 0  0  0  1 |

T_2 = | 1  0  0  -425 |
      | 0  1  0  0 |
      | 0  0  1  0 |
      | 0  0  0  1 |

T_3 = | 1  0  0  -392 |
      | 0  1  0  0 |
      | 0  0  1  0 |
      | 0  0  0  1 |

T_4 = | 1  0  0  0 |
      | 0  0 -1  0 |
      | 0  1  0  133.3 |
      | 0  0  0  1 |

T_5 = | 1  0  0  0 |
      | 0  0  1  0 |
      | 0 -1  0  99.7 |
      | 0  0  0  1 |

T_6 = | 1  0  0  0 |
      | 0  1  0  0 |
      | 0  0  1  99.6 |
      | 0  0  0  1 |

将六个矩阵连乘,得到末端位姿:

T_06 = | 1  0  0  -817 |
       | 0  1  0  0 |
       | 0  0  1  495.1 |
       | 0  0  0  1 |

结果表明,在零位时,末端位置为(-817, 0, 495.1)mm,姿态与基座坐标系一致。这个结果可以通过几何直觉验证:机械臂完全展开时,末端在X轴负方向延伸817mm(425+392),在Z轴方向累积高度为162.5+133.3+99.7+99.6=495.1mm。

4.6 常见误区与复盘

在D-H参数建模和正运动学推导过程中,工程师常犯以下几类错误:

  • 坐标系方向混淆:Z轴方向取反会导致α和d的符号错误。建议在建立坐标系时统一规定Z轴方向,并在参数表中标注。
  • 公垂线判断错误:当相邻关节轴平行时,公垂线不唯一;当两轴相交时,a=0。需要仔细分析机械臂的几何结构。
  • 矩阵乘法顺序错误:齐次变换矩阵的乘法不满足交换律,必须严格按照从基座到末端的顺序连乘。
  • 角度单位混淆:三角函数计算时需统一使用弧度制,D-H参数表中的角度值需转换为弧度。
  • 忽略关节偏移:实际机械臂的关节零位通常不在理论零位,需要通过标定获取theta_offset。
风险提示:正运动学计算结果的验证不能仅依赖理论推导。在实机调试前,应使用机器人仿真软件(如RoboDK、MATLAB Robotics Toolbox)进行交叉验证。将计算出的末端位姿与仿真结果对比,若偏差超过0.1mm或0.1°,需检查D-H参数表或代码实现。

正运动学是机械臂控制的基础,后续的逆运动学求解、轨迹规划、动力学分析都建立在正运动学方程之上。掌握D-H参数建模和坐标系建立规则,是进行机械臂算法开发的必备技能。建议读者在理解本章内容后,自行选择一个真实机械臂型号,从官方手册中查找D-H参数,独立完成正运动学推导和代码实现,并通过仿真验证结果。