Skip to content

操作臂运动学

参考书目

《机器人学导论》[美] John J. Craig

1 MDH(Modifed-DH)

Craig这本书所采用的机械臂坐标系构造方法是所谓的 Modified-DH,即改进 DH 方法。与 Spong 书中介绍的传统 DH 方法相比,

共同点:

  • 连杆都是从 0 开始编号,关节都是从 1 开始编号,关节 \(i\) 连着连杆 \(i-1\) 和连杆 \(i\)

不同点:

  • DH 方法把 \(z_i\) 轴建立在第 \(i+1\) 个关节的驱动轴上,也就是建立在了连杆 i 的尾部,而 MDH 方法把 \(z_i\) 轴建立在第 \(i\) 个关节的驱动轴上,也就是建立在了连杆 i 的首部。

MDH 方法的优势在于可以处理并联机械臂问题。

值得记忆的内容:

  • \(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}\) 的角度

运动学参量:连杆长度 \(a_{i-1}\)、连杆转角 \(\alpha_{i-1}\)、连杆偏距 \(d_{i}\) 和关节角 \(\theta_i\) 都称为关节 i 的运动学参量。

2 连杆变换阵 \((_{i}^{i-1}T)\)

这一部分主要解决一个问题,就是已知DH参数的情况下,如何得到齐次变换矩阵。

简单想想就知道,我们这个齐次变换矩阵的作用是把固连在连杆 \(i\) 头部上的坐标系 {\(i\)} 变换到固连在连杆 {\(i-1\)} 头部上的坐标系 {\(i-1\)} 上。

事实上,除了 \(i=0\) 的情况,我们也可以认为坐标系 {\(i\)} 是建立在关节 \(i\) 上的。

对于任何一个关节 \(i\),我们现在有四个参数,两个参数(\(a_{i-1}, \alpha_{i-1}\))描述的是关于 \(x_{i-1}\) 轴的平移和转动,两个参数(\(d_i, \theta_i\))描述的是关于 \(z_i\) 轴的平移和转动。

通过这四个参数,我们可以得到关节 \(i\) 上的坐标系和关节 \(i-1\) 上的坐标系的变换关系:

\[_{i}^{i-1}T = R_{X}(\alpha_{i-1})D_{X}(a_{i-1})R_{Z}(\theta_i)D_{Z}(d_i)\]

其中,\(R\)\(D\) 分别是仅转动和仅平移的齐次变换矩阵的简单表示。

注意到,绕着同一个轴的转动和平移的齐次变换矩阵,其矩阵相乘满足交换律。因此可以交换上式中前两项内部的顺序和后两项内部的顺序。

但是前后两项,也即先关于 \(x\) 轴运动,再关于 \(z\) 轴运动的顺序是不能改变的。

直观理解:你得先把 {\(i-1\)} 坐标系原点移动到 {\(i\)} 坐标系上,然后把 \(z\) 轴也转成重合的,才可以再绕着 \(z_{i}\) 轴继续转。

联想理解:这可能是由叉乘的性质决定的。

省略了计算步骤,我们直接给出连杆变换阵的形式:

\[_{i}^{i-1}T = \begin{bmatrix} \cos\theta_i & -\sin\theta_{i} & 0 & a_{i-1}\\ \sin\theta_{i}\cos\alpha_{i-1} & \cos\theta_{i}\cos\alpha_{i-1} & -\sin\alpha_{i-1} & -\sin\alpha_{i-1}d_i\\ \sin\theta_i\sin\alpha_{i-1} & \cos\theta_i\sin\alpha_{i-1} & \cos\alpha_{i-1} & \cos\alpha_{i-1}d_{i}\\ 0 & 0 & 0 & 1 \end{bmatrix}\]

3 坐标系的标准命名

  1. 基坐标系 {B}:坐标系 {0} 的别称,与连杆 0(即机械臂底座)固连的坐标系。
  2. 固定坐标系 {S}:又称任务坐标系世界坐标系通用坐标系。狭义地看,固连在工作台上;广义地看,即世界坐标系。
  3. 腕部坐标系 {W}:操作臂末端连杆(连杆 \(n\))的联体坐标系。
  4. 工具坐标系 {T}:附于机器人夹持工具的末端(或者指尖之间);通常由 W 系确定。
  5. 目标坐标系 {G}:机器人目的地的坐标系;通常移动结束后,T 与 G 重合。

4 坐标系的建立方式和DH参数表的确定方法

  1. 确定每个关节对应的 \(z_i\) 轴。注意,连杆 0 固连坐标系的 \(z_0\) 轴与 \(z_1\) 轴重合。
  2. 考虑 \(z_i\) 轴和 \(z_{i+1}\) 轴。如果两个轴相交,则取交点为坐标系 {\(i\)} 的原点;如果两个轴不共面或平行,则作公垂线,取公垂线与 \(z_i\) 轴的交点为 {\(i\)} 的原点。公垂线为 \(x_i\) 轴,从 {\(i\)} 指向 {\(i+1\)}.
  3. 通过右手法则确定 \(y_i\) 轴。
  4. 最后一个工具坐标系任意选取,只要便于使用都行。