本文配图 取自哔哩哔哩机器人学视频 林沛群老师的PPT
机械臂几何直观描述
首先要知道DH表中四个参数的含义:
对于 a 、 α 、 d 、 θ i a、 \alpha 、 d 、 \theta_i a、α、d、θi 四个参数,上图采用MDH的方式,对于一个轴的这四个参数,都是在对应轴上定义的
-
对于两轴之间,用 a a a 和 α \alpha α 可定义二者之间的关系
-
a a a :连杆长度——两轴线之间的公垂线长度
-
α \alpha α :扭转角——两轴线的夹角
-
-
对于多轴串联,需引入另外两个参数: d i d_i di 、 θ i \theta_i θi
- d d d :连杆偏移——两公垂线在一条轴上的交点之间的偏移量、距离
- θ i \theta_i θi :关节角——两公垂线在一条轴上的夹角
机械臂坐标系建立
-
在每个轴处建立坐标系的步骤:
-
首先根据转轴设置Z坐标指向(方向凭喜好选)
-
然后根据公垂线设置X坐标指向(方向凭喜好选)
若两个 Z Z Z 轴相交,则X轴指向两个 Z Z Z 轴组成平面的垂直方向
-
最后根据右手定则设置Y坐标指向
-
-
每个关节的运动描述
每个关节的运动在其前一个轴的坐标系下进行描述,即每个关节所设置的坐标系,都是由前一个坐标系变换来的
-
第一个关节的运动描述
实际上,每个轴对应了一个关节
由于第一个轴前面没有关节了,我们设置一个特殊的轴,即地轴,
地轴的坐标系与第一个关节对应轴的坐标系,当变量(如 θ 、 d \theta 、 d θ、d)取0时一致,规定第一个轴的运动相对于地轴坐标系描述
-
最后一个关节的坐标系建立
根据前述的坐标系建立规则,由于最后一个关节对应的轴后面没有轴线了,因此无法按前述方式确定X轴
规定最后一个关节对应的X轴的方向与前一个坐标系的X轴方向相同
另一种方式认识DH表四个参数
前面建立了坐标系之后,像轴线、公垂线这种描述就可以更数学化来表示了
- α 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 之间距离(方向以 X i − 1 X_{i-1} Xi−1轴方向看)
- θ 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 之间的距离(方向以 Z i Z_{i} Zi轴方向看)
转换矩阵的计算方式
对于MDH,由于坐标系0和第一个轴(关节)对应的坐标系1的零位是重合的,该轴的运动体现在该轴处的坐标系1
对于SDH,坐标系0就是第一个轴(关节)对应得坐标系,但该轴的运动体现在下一个轴处的坐标系,即坐标系1
不管哪种DH表示,坐标系0都是不变的
MDH和SDH转换矩阵的差异
-
对于MDH,第一个转换矩阵的形式可能为
-
对于SDH,第一个转换矩阵的形式可能为
这种差异来源于 a 、 α 、 d 、 θ i a、 \alpha 、 d 、 \theta_i a、α、d、θi 四个参数定义方式的不同,因为对于SDH,其考虑了第一段连杆的长度 a a a ,而MDH的这个转换矩阵中是没有第一段连杆长度 a a a的
感兴趣可自行了解SDH定义方法
MDH和SDH末端转换矩阵的含义
-
MDH
对于MDH的末端转换矩阵,根据递推关系也可以知道,其代表最后一个轴(最后一个关节)在地轴(与第一个关节的零位重合)坐标系下的表述。
对于机械臂末端的一个点,如上图(该例为平面、三轴)中的 P P P 点,其在最后一个轴的坐标系下的位置为 { L 3 , 0 , 0 } \{L_3, 0, 0\} {L3,0,0} ,因此要算 P P P 点在机器人基座标系下(这里为地轴坐标系)的坐标,需要对机器人末端转换矩阵再右乘一个转换矩阵,即:
-
SDH
对于SDH的末端转换矩阵,由于其确定四个参数时坐标系的建立方式与MDH有差异,若最后一个坐标系就建立在点 P P P 处,那么转换矩阵在机器人基座标系下(这里为第一个轴(关节)的坐标系)的坐标就是这个转换矩阵的值。
当然,如果这个 P P P 点和最后一个轴(关节)的坐标系原点重合,那么得到的转换矩阵就和MDH是一致的
MDH和SDH对应的DH表的关系
继续上面平面三轴的例子:
-
对于MDH
-
对于SDH
-
二者关系
MDH表在SDH表的基础上,将 a 、 α a、 \alpha a、α 两列向下移动了一行,最后一列放到第一列
若我们将 L 3 L_3 L3 取值为0,可以发现上面的例子符合这一规律
UR5机械臂DH表举例
Universal Robots - DH Parameters for calculations of kinematics and dynamics
官方UR5机械臂的坐标系建立与前面《机械臂坐标系建立》小结吻合
官方提供了UR5的SDH表
SDH | ||||
---|---|---|---|---|
θ \theta θ | a a a | d d d | α \alpha α | o f f s e t offset offset |
0 | 0 | 0.089159 | π / 2 \pi/2 π/2 | 0 |
0 | -0.425 | 0 | 0 | − π / 2 -\pi/2 −π/2 |
0 | -0.39225 | 0 | 0 | 0 |
0 | 0 | 0.10915 | π / 2 \pi/2 π/2 | − π / 2 -\pi/2 −π/2 |
0 | 0 | 0.09465 | − π / 2 -\pi/2 −π/2 | 0 |
0 | 0 | 0.0823 | 0 | 0 |
根据前述的规则,我们容易得到对应的MDH为:
MDH表在SDH表的基础上,将 a 、 α a、 \alpha a、α 两列向下移动了一行,最后一列放到第一列
MDH | ||||
---|---|---|---|---|
θ \theta θ | a a a | d d d | α \alpha α | o f f s e t offset offset |
0 | 0 | 0.089159 | 0 | 0 |
0 | 0 | 0 | π / 2 \pi/2 π/2 | − π / 2 -\pi/2 −π/2 |
0 | -0.425 | 0 | 0 | 0 |
0 | -0.39225 | 0.10915 | 0 | − π / 2 -\pi/2 −π/2 |
0 | 0 | 0.09465 | π / 2 \pi/2 π/2 | 0 |
0 | 0 | 0.0823 | − π / 2 -\pi/2 −π/2 | 0 |