机器人学回炉重造(2-4):运动学奇异位型分析

什么是运动学奇异位型?

在初步系统地了解了机器人正逆运动学、雅可比矩阵相关知识后,下面来分析运动学的奇异性问题。

准备知识:
机器人学回炉重造(2-2):雅可比矩阵的求法——矢量积法、微分变换法、Manipulator Jacobian(Jacobian for short)

机械手微分运动方程中的雅可比矩阵揭示了关节速度q˙\dot{\boldsymbol{q}}与末端执行器速度ve=[p˙eTωeT]T\boldsymbol{v}_e = [\dot{\boldsymbol{p}}_e^T \quad \boldsymbol{\omega}_e^T]^T之间的线性映射关系,这也是雅可比矩阵的核心定义。
ve=J(q)q˙1 \boldsymbol{v}_e = \boldsymbol{J}(\boldsymbol{q})\dot{\boldsymbol{q}}……(1)
通常情况下,雅可比矩阵是位型q\boldsymbol{q}(关节变量)的函数,那些使雅可比矩阵非满秩的位型被称为奇异位型。研究机械手奇异位型意义重大,原因如下:

a) 当机械手处于奇异位型时,会出现自由度缺失的情况,末端执行器的灵活性变差;

b) 当机械手处于奇异位型时,逆运动学问题可能出现无穷解;

c) 当接近奇异位型时,操作空间中细微的速度会导致关节空间中出现很大的速度。

机械手的奇异位型主要分为两种:(1)边界奇异位型,出现在机械手工作空间的边界,可通过阻止机械手运动到可达空间的边界来避免出现这种情况;(2)内部奇异位型,出现在机械手工作空间内,通常是由于两个或两个以上的关节轴重合导致,或者是由特定的末端执行器构型所导致,这种情况很危险,遇到的可能性较大。

例子:平面二连杆机械手的奇异位型

机器人学回炉重造(2-4):运动学奇异位型分析

经过分析,可计算得到平面二连杆机械手的雅可比矩阵为
J=[a1s1a2s12a2s12a1c1+a2c12a2c12]2 \boldsymbol{J} = \begin{bmatrix} -a_1s_1 - a_2s_{12} & -a_2s_{12} \\ a_1c_1 + a_2c_{12} & a_2c_{12} \end{bmatrix}……(2)
矩阵行列式为
det(J)=a1a2s23 det(\boldsymbol{J}) = a_1a_2s_2……(3)
因为a1,a20a_1,a_2 \neq 0,因此很容易看出当θ2=0\theta_2 = 0或者θ2=π\theta_2 = \pi时机械手处于奇异构型,这两个均是边界奇异位型。

奇异位型解耦

在机械手结构复杂的情况下,通过分析雅可比矩阵行列式来求内部奇异位型就显得比较困难。在分析了部分机械手的逆运动学问题后,可以看出,对于具有球腕结构的机械手而言,可以将其奇异位型计算分割为两个问题:

  • 前三个或三个以上连杆运动带来的手臂奇异位型计算;
  • 腕部关节运动带来的腕部奇异位型计算。

为了简单起见,考虑机械手的总自由度n=6n = 6,其雅可比矩阵可划分为四个3×33 \times 3块矩阵,如下所示
J=[J11J12J21J22]4 \boldsymbol{J} = \begin{bmatrix} \boldsymbol{J}_{11} & \boldsymbol{J}_{12} \\ \boldsymbol{J}_{21} & \boldsymbol{J}_{22} \end{bmatrix}……(4)
其中,由于后三个关节(已知为球腕)均为旋转关节,可以得到式(4)中右边两个块矩阵分别为
J12=[z3×(pep3)z4×(pep4)z5×(pep5)]J22=[z3z4z5]5 \boldsymbol{J}_{12} = \begin{bmatrix} \boldsymbol{z}_3 \times(\boldsymbol{p_e - \boldsymbol{p}_3}) & \boldsymbol{z}_4 \times(\boldsymbol{p_e - \boldsymbol{p}_4}) & \boldsymbol{z}_5 \times(\boldsymbol{p_e - \boldsymbol{p}_5}) \end{bmatrix}\\ \boldsymbol{J}_{22} = \begin{bmatrix} \boldsymbol{z_3} & \boldsymbol{z_4} & \boldsymbol{z_5} \end{bmatrix}……(5)
由于奇异位型是机械结构的典型特征,并不会因为运动学坐标系选择的不同而不同(这句话超级重要!!!),因此将末端执行器的坐标系选在腕部轴线的交叉处显得更为方便简单,如下图所示,即将末端执行器坐标系{6}移到前面{3}、{4}、{5}的原点处,这是雅可比行列式简化计算的方法。可得到

机器人学回炉重造(2-4):运动学奇异位型分析
J12=[000]6 \boldsymbol{J}_{12} = \begin{bmatrix} 0 & 0 & 0 \end{bmatrix}……(6)
在这种情况下,机械手的雅可比矩阵变成了一个下三角矩阵,这就大大简化了行列式计算的过程,也就是对角线两个矩阵行列式相乘即可,如下
det(J)=det(J11)det(J22)7 det(\boldsymbol{J}) = det(\boldsymbol{J}_{11})det(\boldsymbol{J}_{22})……(7)
综上,奇异位型解耦完成。上述行列式结果为0,有两种可能,第一,det(J11)=0det(\boldsymbol{J}_{11}) = 0,这个导致的是手臂奇异位型;第二,det(J22)=0det(\boldsymbol{J}_{22}) = 0,这个导致的是腕部奇异位型。可以看出,这种形式的雅可比矩阵并不能表示关节速度与末端执行器速度之间的关系,但这能够简化奇异位型的计算。下面详细讨论这两种可能的情况。

腕部奇异位型

机器人学回炉重造(2-4):运动学奇异位型分析

基于上文奇异位型解耦,通过观察式(5)可以确定腕部奇异位型。当单位向量z3z_3z4z_4z5z_5线性相关时,可认为腕部处于某个奇异位型上。进一步可以发现,当z3z_3z5z_5对齐时,腕部就处在奇异位型上,此时θ5=0\theta_5 = 0或者θ5=π\theta_5 = \pi,上图即为第一种情况(θ5=0\theta_5 = 0)。可以看出,关于θ4\theta_4θ6\theta_6的大小相等方向相反的旋转并不能使得末端执行器产生旋转,正因如此造成了自由度的缺失。更进一步地,该腕部无法产生绕垂直于z4z_4z3z_3轴线的运动。这个奇异位型在关节空间中非常自然地产生,并且能够在操作臂可达空间中的任意位置遇到,需要额外注意。

手臂奇异位型

机器人学回炉重造(2-4):运动学奇异位型分析

考虑上图所示拟人臂的奇异位型,计算得到该构型的雅可比矩阵为
J=[s1(a2c2+a3c23)c1(a2s2+a3s23)a3c1s23c1(a2c2+a3c23)s1(a2s2+a3s23)a3s1s230a2c2+a3c23a3c230s1s10c1c1100]8 \boldsymbol{J} = \begin{bmatrix} -s_1(a_2c_2 + a_3c_{23}) & -c_1(a_2s_2 + a_3s_{23}) & -a_3c_1s_{23} \\ c_1(a_2c_2 +a_3c_{23}) & -s_1(a_2s_2 + a_3s_{23}) & -a_3s_1s_{23} \\ 0 & a_2c_2 + a_3c_{23} & a_3c_{23} \\ 0 & s_1 & s_1 \\ 0 & -c_1 & -c_1 \\ 1 & 0 & 0 \end{bmatrix}……(8)
可计算得到线性运动部分的雅可比矩阵行列式值为
det(Jv)=a2a3s3(a2c2+a3c23)9 det(\boldsymbol{J}_v) = -a_2a_3s_3(a_2c_2 + a_3c_{23})……(9)
可看出该行列式的值与第一个关节变量θ1\theta_1无关。因为a2a_2a3a_3不为零,因此当s3=0s_3 = 0亦或者a2c2+a3c23=0a_2c_2 + a_3c_{23} = 0时行列式值为零。考虑第一种情况,当θ3=0\theta_3 = 0θ3=π\theta_3 = \pi时,如下图所示,此时拟人臂伸长或收缩,处于奇异位型,也称为肘部奇异位型,这种奇异位型在概念上等价于平面二连杆机械手的奇异位型。

机器人学回炉重造(2-4):运动学奇异位型分析

从之前的拟人臂正运动学分析中可以看出(机器人学回炉重造(1-2):各种典型机械臂的正运动学建模(标准D-H法)),当腕关节点位于轴z0z_0上时,即此时px=py=0p_x = p_y = 0,第二种情况就会发生,如下图所示,将其称为肩部奇异位型。在这种情况下,θ1\theta_1的旋转不会引起腕部位置的变化,Jv\boldsymbol{J}_v的第一列一直为空,而且此时逆运动学问题存在无穷解。另外,在该奇异位型下,腕部无法沿着z1z_1方向移动。

机器人学回炉重造(2-4):运动学奇异位型分析

综上,与腕部奇异位型不同,手臂奇异位型在操作空间中可较容易被识别出来,故在轨迹规划阶段可适当避免该问题发生。

参考文献

Robotics - Modelling, Planning and Control