SCARA机械臂三四轴解耦

运动学分析

SCARA机械臂3、4关节\(J_3\)\(J_4\)采用滚珠丝杠滚珠花键,其结构如图11所示。关节\(J_3\)与同步轮\(N_2\)联动,关节\(J_4\)与同步轮\(N_1\)联动。他们的运动关系如表1所示。

表. 1:电机与滚珠丝杠滚珠花键运动关系表

\(\theta_{J_3}\) \(\theta_{J_4}\) \(\theta_{N_1}\) \(\theta_{N_2}\) 竖直运动 旋转运动
+ 0 0 + - -
- 0 0 - + +
0 + + 0 + 0
0 - - 0 - 0

其中,\(+\)号表示正方向,\(-\)表示逆方向,\(0\)表示不运动,要注意\(\theta_{J_3}\)\(\theta_{J_4}\)\(\theta_{N_1}\)\(\theta_{N_2}\)的方向是根据各自所在的坐标下的,具体方向根据图.2所示的DH(Denavit-Hartenberg)坐标系定义,而竖直运动和旋转运动是相对于\(X_0Y_0Z_0\)基坐标系。

从表中可以看出,当关节电机\(J_4\)带动同步轮\(N_1\)进行正方向运动(\(X_3Y_3Z_3\)坐标系),而\(N_2\)不动时,轴仅仅会向上运动(相对于\(X_0Y_0Z_0\)基坐标系)。当关节电机\(J_3\)带动同步轮\(N_2\)进行正方向运动(\(X_2Y_2Z_2\)坐标系),而\(N_1\)不动时,轴在向下运动同时,还会逆时针反方向运动(\(X_0Y_0Z_0\)基坐标系)。由此可见,\(N_1\)\(N_2\)相互耦合,需要配合运动。在机械人中,通过逆运动学求得\(d_3\)\(\theta_4\)后,需要通过关节解耦求出电机的转角\(\theta_{J_3}\)\(\theta_{J_4}\)2

scara_skew_bal
图.1: 滚珠丝杠滚珠花键。
scara_mode
图.2: SCARA型机械臂的DH坐标系分配。

关节解耦

经上述分析,可得出以下关系式:

对于\(N_1\),有:

\[\begin{align} {y_1} &= \alpha {\theta _{N_1}} \nonumber \newline {\theta _{N_1}} &= {k_1}{\theta _ {J_4}} \nonumber \newline \therefore {y_1} &= \alpha {k_1}{\theta _{J_4}} \label{eq:jieou1} \end{align}\]

其中,\(y_1\)表示\(N_1\)运动导致的竖直方向位移(\(X_0Y_0Z_0\)坐标系);\(\alpha\)为螺距,单位为\(m/rad\),表示为\(N\)转动的弧度\(\theta_{N}\)与所产生轴上下移动的位移比例;\(k\)表示电机\(J\)与同步轮\(N\)之间的减速比。

同样地,对于\(N_2\),有:

\[\begin{align} {y_2} &= -\alpha {\theta _{N_2}} \notag \newline {\theta _{N_2}} &= {k_2}{\theta _{J_3}} \notag \newline \therefore {y_2} &= -\alpha {k_2}{\theta _{J_3}} \label{eq:jieou2} \end{align}\]

则:

\[\begin{align} \label{eq:jieou3} \theta_4 &= {\theta _{N_2}} \newline \label{eq:jieou4} -{d_3} &= {y_1} + {y_2} \end{align}\]

注意\(d_3\)是相对于\(X_2Y_2Z_2\)坐标系的,而\(y_1\)\(y_2\)是相对于\(X_0Y_0Z_0\)坐标系的,由于\(Z_2\)\(Z_0\)方向相反,所以\(d_3\)前有一个负号。将公式\(\eqref{eq:jieou1}\)\(\eqref{eq:jieou2}\)代入公式\(\eqref{eq:jieou3}\)\(\eqref{eq:jieou4}\),可得:

\[\begin{align} \label{eq:jieou5} {\theta _{J_3}} &= \frac{\theta_4}{k_2} \newline \label{eq:jieou6} {\theta _{J_4}} &= \frac{1}{k_1}({\theta _4} - \frac{d_3}{\alpha}) \end{align}\]

所以,算法流程如下:

  1. 使用逆运动学方法,将基于基坐标系(Base Frame)\(X_0Y_0Z_0\)的目标点(包括坐标跟姿态)转换成广义坐标(Generalized Coordinates)下的\(d_3\)\(\theta_4\)
  2. 使用公式\(\eqref{eq:jieou5}\)\(\eqref{eq:jieou6}\),关节解耦求出电机的转角\(\theta_{J_3}\)\(\theta_{J_4}\)

在我们的实体机器人中,\(k_1 = 1\)\(k_2 = 1/7\)\(\alpha = 0.016m/2\pi = 0.002546479089 m/rad\),所以有:

\[\begin{align} \label{eq:jieou7} {\theta _{J_3}} &= 7\theta_4 \newline \label{eq:jieou8} {\theta _{J_4}} &= {\theta _4} - 392.69908177d_3 \end{align}\]