D-H 坐标轴构建方法
1. D-H 参数的含义
D-H 法用于描述相邻两个连杆坐标系之间的空间关系。每一组 D-H 参数通常包含四个量:
| 参数 | 含义 | 几何解释 |
|---|---|---|
a_i | 连杆长度 | 沿 x_i 轴,从 z_i 到 z_{i+1} 的距离 |
alpha_i | 连杆扭角 | 绕 x_i 轴,从 z_i 转到 z_{i+1} 的角度 |
d_i | 连杆偏距 | 沿 z_i 轴,从 x_{i-1} 到 x_i 的距离 |
theta_i | 关节角 | 绕 z_i 轴,从 x_{i-1} 转到 x_i 的角度 |
对于不同类型的关节,变量不同:
- 转动关节:
theta_i是关节变量,d_i通常为常量。 - 移动关节:
d_i是关节变量,theta_i通常为常量。
本题机器人中:
1关节 1:转动关节,变量 theta1 2关节 2:转动关节,变量 theta2 3关节 3:移动关节,变量 d3
2. 课本中的坐标系定义
课本采用的是连杆坐标系定义。核心规则是:
连杆坐标系
{i}定义在关节i上,并且与连杆i固连;z_i轴与关节轴线s_i重合;x_i轴沿a_i方向,也就是由关节i指向关节i+1的公共法线方向;y_i由右手定则确定。

需要注意:
- 一般没有“关节 0”。
{0}是基坐标系,不是关节坐标系。- 关节从关节 1 开始编号。
{0}可以按课本的特殊规定设置,使q1 = 0时{0}与{1}尽量重合。- 末端坐标系
{n}也可以特殊处理,使末端参数尽量简单。
3. D-H 坐标轴建立顺序
建立 D-H 坐标轴时,不建议一开始就同时画出所有 x、y、z 轴。更稳妥的顺序是:
1先找关节轴线 2-> 再画 z_i 轴 3-> 再确定原点 O_i 4-> 再画 x_i 轴 5-> 最后用右手定则确定 y_i 轴
3.1 找出所有关节轴线
先识别机器人中每个关节的运动轴:
1关节 1:底座竖直回转轴,对应 theta1 2关节 2:中间水平转动轴,对应 theta2 3关节 3:上方滑杆移动轴,对应 d3
这些关节轴线就是课本中的 s1、s2、s3。
3.2 确定各 z_i 轴
按照课本定义:
1z_i 与第 i 个关节轴线 s_i 重合
所以本题中:
1z1:与关节 1 的竖直转轴重合 2z2:与关节 2 的水平转轴重合 3z3:与关节 3 的滑动方向重合
基坐标系 {0} 的 z0 通常可以令其与 z1 重合,这样可以简化第一组 D-H 参数。
3.3 确定各坐标系原点
原点一般取在 a_i 与关节轴线 s_i 的交点处。直观理解就是:把原点放在当前关节轴线与下一关节轴线之间公共法线的交点处。
本题可采用:
1O0 / O1:放在底座竖直转轴上,初始位形时可重合 2O2:放在关节 2 的转轴处 3O3:放在移动副滑杆轴线上,可取滑块或末端参考点
3.4 确定各 x_i 轴
这是 D-H 建系中最容易出错的一步。
课本规定:
1x_i 沿 a_i 方向,即从关节 i 指向关节 i+1 的公共法线方向
判断方法如下:
| 相邻两轴关系 | x_i 的选取 |
|---|---|
z_i 与 z_{i+1} 异面 | 取两轴之间的公共垂线方向 |
z_i 与 z_{i+1} 相交 | 取同时垂直于两轴的方向 |
z_i 与 z_{i+1} 平行 | 取从 z_i 指向 z_{i+1} 的方向 |
对本题:
1x1:由 z1 指向 z2 的公共法线方向 2x2:由 z2 指向 z3 的公共法线方向 3x3:末端特殊规定,可选方便方向,使参数尽量简单
你图中的 x2 是 z2 和 z3 的公共法线方向,因此 a2 可以沿 x2 标注,表示从 z2 到 z3 的距离。
3.5 用右手定则确定 y_i 轴
确定了 z_i 和 x_i 之后,再由右手定则确定 y_i:
1y_i = z_i × x_i
也就是说,四指从 z_i 转向 x_i,大拇指方向就是 y_i。
5. 建系时的检查清单
画完 D-H 坐标轴后,可以按下面几条检查:
- 每个
z_i是否与第i个关节轴线重合。 - 转动关节的变量是否写成
theta_i。 - 移动关节的变量是否写成
d_i。 - 每个
x_i是否沿相邻两根z轴的公共法线方向。 a_i是否沿x_i标注。d_i是否沿z_i标注。- 每个
y_i是否由右手定则得到。 {0}是否只是基坐标系,而不是被误认为“关节 0”。- 后续填写 D-H 参数表时,是否与所画坐标系保持一致。
6. 最重要的结论
D-H 坐标系的画法不是唯一的,但必须满足同一套规则,并且后续的 D-H 参数表和齐次变换矩阵要与所画坐标系一致。
对课堂作业或考试来说,应优先采用课本的定义:
1连杆坐标系 {i} 定义在关节 i 上; 2z_i 与关节轴线 s_i 重合; 3x_i 沿 a_i 方向; 4y_i 由右手定则确定。