计算机器人运动学逆解首先要考虑可解性(solvability),即考虑无解、多解等情况。在机器人工作空间外的目标点显然是无解的。对于多解的情况从下面的例子可以看出平面二杆机械臂(两个关节可以360°旋转)在工作空间内存在两个解:

 如果逆运动学有多个解,那么控制程序在运行时就必须选择其中一个解,然后发给驱动器驱动机器人关节旋转或平移。如何选择合适的解有许多不同的准则,其中一种比较合理的方法就是选择“最近”的解(the closest solution)。如下图所示,如果机器人在A点,并期望运动到B点,合理的解是关节运动量最小的那一个(A good choice would be the solution that minimizes the amount that each joint is required to move)。因此在不存在障碍物的情况下,上面的虚线构型会被选为逆解。在计算逆解时我们可以考虑将当前位置作为输入参数,这样我们就可以选择关节空间中离当前位置最近的解。

  这个“最近”有多种定义方式。比如对于典型的6自由度关节型机器人来说,其前三个关节较大,后三个关节较小。因此在定义关节空间内的距离远近时要考虑给不同关节赋予不同的权重,比如前三个关节设置大权重,后三个关节设置小权重。那么在选择解的时候会优先考虑移动较小的关节而非移动大关节。而当存在障碍物时,“最近”的解的运动路径会与其发生碰撞,这时就要选择另一个运动距离较远的解("farther" solution)。因此在考虑碰撞、路径规划等问题时我们需要计算出可能存在的全部解。

 逆解个数取决于机器人关节数目(the number of joints)、机器人的构型(link parameters)以及关节运动范围(the allowable ranges of motion of the joints)。决定机器人构型的D-H参数表中的非零值越多,就有越多的解存在。对于通用型6轴转动关节的机械臂来说,最多可能存在16个不同的解。下图展示了最大解的数量与非零值的连杆长度参数a两关节转轴之间的最短距离,即两轴线之间公垂线的长度)的数量之间的关系:

 另外机器人逆运动学求解也有多种方法,一般分为两类:封闭解(closed-form solutions)和数值解(numerical solutions)。不同学者对同一机器人的运动学逆解也提出不同的解法。应该从计算方法的计算效率、计算精度等要求出发,选择较好的解法。通常来说数值迭代解法比计算封闭解的解析表达式更慢、更耗时,因此在设计机器人的构型时就要考虑封闭解的存在性。

   求解逆运动学方程的解析解(给出解的具体函数形式,从解的表达式中就可以算出任何对应值)时主要采用代数法(Algebraic solution)或几何法(Geometric solution)。下面我们先用代数法来计算平面二连杆机械臂的运动学逆解(不考虑末端关节的旋转)。正向运动学很容易得到:

  • 当 (x, y) 在第一象限, 0 < θ < PI/2

  • 当 (x, y) 在第二象限 PI/2 < θ≤PI

  • 当 (x, y) 在第三象限, -PI < θ < -PI/2

  • 当 (x, y) 在第四象限, -PI/2 < θ < 0

  的符号有两种选择,对应的我们可以选择"elbow-up"或"elbow-down"两种不同构型。求出后我们可以根据正解方程再计算出。将正解方程改写为

编写Mathematica代码进行平面二杆机械臂运动模拟,使用Locator来改变工作空间中机械臂末端的目标位置。
  • Pieper's solution when three axes intersect

   机器人运动学中的Pieper准则是:机器人的三个相邻关节轴交于一点或三轴线平行。

  对于6自由度的机器人来说,运动学反解非常复杂,一般没有封闭解。在应用D-H法建立运动学方程的基础上,进行一定的解析计算后发现,位置反解往往有很多个,不能得到有效地封闭解。Pieper方法就是在此基础上进行研究发现,如果机器人满足两个充分条件中的一个,就会得到封闭解,这两个条件是:
  (1)三个相邻关节轴相交于一点
  (2)三个相邻关节轴相互平行(在无限远处交于一点)
  现在的大多数商品化机器人都满足封闭解的两个充分条件之一。如PUMA和STANFORD机器人满足第一条件,而ASEA和MINIMOVER机器人满足第二条件。以PUMA560机器人为例,它的最后3个关节轴相交于一点。

   下面考虑6自由度转动关节机器人最后三根轴交于一点的情况。根据D-H参数坐标系建立方法,这种情况下杆件坐标系{4}、{5}、{6}的原点将位于三根轴线的交汇点。该点在机器人基座标系中的齐次坐标可表示为:

参考:

Introduction to Robotics - Mechanics and Control. Chapter 4 Inverse manipulator kinematics

Forward and Inverse Kinematics for Two-Link Arm

V-rep学习笔记:机器人路径规划2

V-rep学习笔记:机器人逆运动学数值解法(The Jacobian Transpose Method)

V-rep学习笔记:机器人逆运动学数值解法(The Pseudo Inverse Method)

V-rep学习笔记:机器人逆运动学数值解法(Damped Least Squares / Levenberg-Marquardt Method)