DH 参数法(Denavit-Hartenberg Convention)是用四个参数描述相邻机器人连杆坐标系之间几何关系的运动学建模约定。
它把每一段连杆和关节之间的空间关系写成一组标准参数,再转换为齐次变换矩阵。在 FK 中,逐段连乘这些变换即可得到末端执行器的位姿。DH 参数法的价值在于让机械臂运动学模型更规范,但坐标系选取必须一致,否则容易造成符号方向或偏置错误。
四个参数
标准 DH 参数通常写成 ,描述从第 个连杆坐标系到第 个连杆坐标系的变换:
| 参数 | 常见中文名 | 含义 | 作用轴 |
|---|---|---|---|
| 关节角 | 绕上一坐标系的 轴旋转,使 对齐到 的方向 | ||
| 连杆偏移 | 沿上一坐标系的 轴平移,到达公共法线位置 | ||
| 连杆长度 | 沿当前坐标系的 轴平移,表示相邻关节轴之间的距离 | ||
| 连杆扭角 | 绕当前坐标系的 轴旋转,使 对齐到 的方向 |
直观记法是:先沿旧关节轴 调整,再沿新连杆轴 调整。 和 处理“沿关节轴”的旋转和平移, 和 处理“相邻关节轴之间”的距离和扭转。
变换形式
标准 DH 的单段变换常写为:
其中 / 表示绕对应轴旋转, / 表示沿对应轴平移。把每个关节的 依次相乘,就得到基座到末端的变换:
这个 就是 FK 输出的末端位姿矩阵。
关节变量
对不同类型的关节,四个参数里真正随运动变化的变量不同:
- 旋转关节: 是关节变量,、、 通常由结构尺寸决定。
- 移动关节: 是关节变量,、、 通常由结构尺寸决定。
因此 DH 表里每一行通常对应一个关节或连杆,既记录机械结构常量,也标出属于关节空间变量的那一项。
标准 DH 与改进 DH
工程资料中还常见 Modified DH(改进 DH)约定。它仍然使用 、、、 四类参数,但坐标系挂接位置和变换顺序不同。使用 DH 表时必须先确认采用的是标准 DH 还是改进 DH,否则同一组数字可能得到不同的 FK 结果。
建表流程
使用标准 DH 建模时,一般按下面顺序处理:
- 为每个关节确定 轴,通常让 沿第 个关节的运动轴。
- 在相邻 轴之间找公共法线,公共法线方向作为 。
- 由右手系确定 。
- 逐行填写 、、、,并标出旋转关节或移动关节的变量项。
- 把每一行转换成 ,再连乘验证末端位姿是否符合实物直觉。
DH 表不是机械结构的唯一表达方式,而是对串联机械臂很方便的一种坐标系约定。对于树状结构、闭链机构、移动底盘加机械臂、带多个工具坐标系的系统,URDF/TF 树往往更直接。
检查方法
- 所有关节归零时,FK 输出是否符合机械臂实际“零位姿态”。
- 每次只改变一个关节,观察末端是否绕预期轴运动。
- 连杆长度 和偏移 的符号是否和坐标系方向一致。
- 标准 DH 与改进 DH 的公式是否和所用库一致。
- 计算到的是 flange、tool0 还是实际 TCP,末端固定偏置是否另行乘上。