关于D-H参数法建模
D-H参数法一般有两种定义方式,分别为标准D-H参数法和改进D-H参数法。初学D-H参数法,很容易被这两种定义方式搞晕,因为很多参考书中仅介绍了一种定义方式,而当我们查找资料时看到另一种定义方式时就会很困惑,不知道哪种方式才是正确的。事实上,两种定义方式均可以解决问题,因此只要任选一种即可。下面就这两种方法介绍其建模方式。
1.前言
首先,需要明确的是坐标系是固连连杆上的,而不是关节上。两种D-H参数的定义方式的主要区别在于坐标系的建立位置不同,标准法建立在连杆后端,改进法建立在连杆前端。
2.D-H参数法
2.1.标准参数法(往前看)
标准D-H参数法的连杆坐标系定义连杆后端,如上图,对于描述连杆i-1的坐标系{i-1}建立在关节i的轴线上。从{i-1}变换到{i}的变换矩阵所需要D-H参数为:
i i − 1 T : [ a i , α i , d i , θ i ] ^{i-1}_iT:[a_i,\alpha_i,d_i,\theta_i] ii−1T:[ai,αi,di,θi]
坐标系变换过程为:
- 绕 Z i − 1 Z_{i-1} Zi−1轴旋转 θ i \theta_i θi度,使得 X i − 1 X_{i-1} Xi−1轴旋转到 X i X_i Xi轴的角度;
- 沿 Z i − 1 Z_{i-1} Zi−1轴移动 d i d_i di距离,使得 X i − 1 X_{i-1} Xi−1轴移动到 X i X_i Xi轴的距离;
- 绕 X i X_{i} Xi轴旋转 α i \alpha_i αi度,使得 Z i − 1 Z_{i-1} Zi−1轴旋转到 Z i Z_i Zi轴的角度;
- 沿 X i X_{i} Xi轴移动 a i a_i ai距离,使得 Z i − 1 Z_{i-1} Zi−1轴移动到 Z i Z_i Zi轴的距离;
2.2.改进参数法(往后看)
改进D-H参数法的连杆坐标系定义连杆前端,如上图,对于描述连杆i-1的坐标系{i-1}建立在关节i-1的轴线上。从{i-1}变换到{i}的变换矩阵所需要D-H参数为:
i i − 1 T : [ a i − 1 , α i − 1 , d i , θ i ] ^{i-1}_iT:[a_{i-1},\alpha_{i-1},d_i,\theta_i] ii−1T:[ai−1,αi−1,di,θi]
坐标系变换过程为:
- 绕 X i − 1 X_{i-1} Xi−1轴旋转 α i − 1 \alpha_{i-1} αi−1度,使得 Z i − 1 Z_{i-1} Zi−1轴旋转到 Z i Z_i Zi轴的角度;
- 沿 X i − 1 X_{i-1} Xi−1轴移动 a i − 1 a_{i-1} ai−1距离,使得 Z i − 1 Z_{i-1} Zi−1轴移动到 Z i Z_i Zi轴的距离;
- 绕 Z i Z_i Zi轴旋转 θ i \theta_i θi度,使得 X i − 1 X_{i-1} Xi−1轴旋转到 X i X_i Xi轴的角度;
- 沿 Z i Z_i Zi轴移动 d i d_i di距离,使得 X i − 1 X_{i-1} Xi−1轴移动到 X i X_i Xi轴的距离.
3.建立坐标系
在建立整个机械臂坐标系时,应该先建立中间坐标系{i},最后建立两端坐标系{0}、{n}。对于建立中间坐标系{i},应按照以下步骤进行:
-
根据各个关节轴线,确定所有的 Z Z Z轴方向,关节轴线与坐标系的对应关系如下所示;
-
确定坐标原点 O i O_i Oi位置和 X i X_i Xi轴方向。根据两条关节i与i+1轴线的位置关系,有以下三种情况:
- 两者相交:坐标原点 O i O_i Oi为两者轴线的交点, X i X_i Xi轴方向应垂直这两条轴线组成的平面;
- 两者异面:坐标原点 O i O_i Oi为关节i的轴线与这两者的公垂线的交点, X i X_i Xi轴方向为公垂线方向;
- 两者平行:由于两者平行,因此公垂线有无数条,应选择坐标原点 O i O_i Oi使对下一连杆(上一连杆亦可)的偏移为0,即应选择经过下一坐标原点(上一坐标原点)的公垂线。 X i X_i Xi轴方向为公垂线方向。
应该注意的是,关节与坐标系的编号不一定相同。若采用标准D-H参数法的定义,坐标系编号比关节编号小1;若采用改进D-H参数法的定义,坐标系编号与关节编号相同。
最后,我要说的是,由于选择原点位置和X轴方向有很大的自由性,因此即使都采用D-H参数法建立坐标系,最终得到的结果依然会有所差异。