台大机器人学——林沛群

机械手臂 逆向运动学——Manipulator Inverse Kinematics

1.引言: 手臂顺向运动学 Forward Kinematics (FK)

给予 [公式] (可计算出 [公式] ),求得 [公式]  [公式] 

2. 手臂逆向运动学 Inverse Kinematics(IK)

给予[公式]  [公式],求得[公式]。已知末端位置,反算手臂各个关节的角度。

3. 逆向运动学的求解

  • 假设手臂有6Dofs;
  • 6个未知的Joint Angles ( [公式] 或者 [公式] ,i=1,...,6)
{0} frame手臂基座,{6} frame末端
  •  [公式] 中,取出含未知数的 [公式] ,16个数字:
9个未知数代表旋转,3个未知量代表第{6}frame相对于{0}frame的位置

其中旋转矩阵中,9个数字,有6个条件:

  • 两两垂直;
  • 单位向量;

所以在求解过程中:

  • 12个 Nonlinear Transcendental Equations(非线性超越方程组)方程式;
  • 6个未知数,6个限制条件;

4.几个求解概念

  • Reachable Workspace 可达工作空间
    • 手臂可以用一种以上姿态到达的位置;
  • Dexterous Workspace 灵活工作空间
    • 手臂可以用任何的姿态到达的位置;
    • 是RW的子集合;

EX: 2Dof 机械手臂 , 其中 [公式] 

蓝色圈区域都是Reachable Workspace

蓝色空间内任何一点,只有两个姿态可以到达,这种情况下不存在Dexterous Workspace;

EX:2Dof 机械手臂,其中 [公式] 

蓝色是Reachable Workspace,其中原点是任何姿态都可以到达的位置,是Dexterous Workspace
  • Subspace ——手臂在定义头尾的T所能到达的变动范围

EX:A RP Manipulator —— 2Dof,Variables:(x,y)

 [公式] (frame{2}相对于世界坐标)

可以发现,该手臂,如果位置(x,y)决定了,其方向只与x,y有关,所以方向有唯一解。所以其他不满足该形式的位置,手臂均无法到达,会存在求解冲突。

5.多重解

  • 解读数目:由于式非线性超越方程组,6未知数、6方程式不代表具有唯一解;
  • 是由Joint数目和Link的参数所决定;
解的数目,与杆件几何的offset有很大关系
  • 用一个实例来看会比较清楚;
  • EX: PUMA ( 6 Rotational Joints)
PUMA 机械臂
    • 针对特定工作点,有8组解,下面进行详细分析(4x2=8组)
    • 前三轴,有4种姿态:
      • 可以发现,前三轴基本可以决定“腕”的空间位置。
    • 每一个姿态中,具有2组手腕转动姿态
      • [公式]
      • [公式]
      • [公式]
    • P.S. 若手臂本身有几何限制,并非每一种解都可以运作
    • 一般6DOFs手臂的形式如下(帮助理解)
第五个是爪子的上下摆动
第六个自由度

可以发现,当第五个摆角为0°时,第四个和第六个同轴。

  • 前三轴决定到达位置;(双解特性)
  • 特定位置只有单一解:
第二个解会有位置冲突
  • 后三轴也具有多解性:
4轴转180度具有相同末端姿态

PUMA机械臂有8组的原因,是手臂的第二杆件存在侧移,侧移之后在左右两侧多了两个选择,所以一共是2x4=8组解。

5.1 多重解的选择方式

  • 选择方式一:选择下一个瞬间离目前状态最近的解:
    • 速度最快
    • 最节能
    • ...
从A到B,选择上面姿态最快且节能
  • 选择方式二:避障原则

5.2 求解方法

  1. 解析法 Closed-form solutions
  • 用代数Algebraic或几何Geometric方法

2. 数值法 Numerical solutions 六个方程,六个未知数

目前大多数机械手臂,设计成具有解析解:

  • Pieper's solution: 相邻三轴相交一点(后三轴)