前言:基于指数积的正运动学
   现代机器人学名词概念

有了以上的基础,我们现在利用指数积来对机器人的逆运动学进行求解,有一点需要注意,需要先对机器人进行指数积的正运动学建模,然后才能利用指数积来对逆运动学求解,求解逆运动学的方法我们这里采用数值求解的方式来求解关节角。

  

一. 逆运动学的解析求解

        对于求解析解,即找出机器人的连杆运动关系,通过几何的方法来求得具体的解析解,这种方法有很大的局限性,它只能适用于一些特定的机械臂,如要求关节4,5,6相互正交且共点。

二. 逆运动学的数值求解

   如果逆运动学方程无解析解时,可采用迭代数值方法求解。即使存在解析解,数值算法也经常用于改善求解精度。这里我们介绍逆运动学的数值求解,它采用的方法是牛顿-拉夫森法,用来求解非线性方程。

2.1 牛顿-拉夫森法

2.2 逆动力学的数值算法
  
注:如果逆运动学存在多组解,迭代过程趋向于收敛到与初始值 θ 0   最接近的解,如果初始值与真实值没有足够接近,则迭代过程可能不收敛。另外雅可比矩阵有时会成为奇异,故我们采用求广义逆的方法来求雅可比矩阵的逆矩阵。
  

至此,可得逆运动学的步骤:

2.3 雅可比矩阵的求解
  

算例:对于6R开链机器人的逆向运动学

这里我设定初始关节角为零位角,即 q0=[0;0;0;0;0;0] 。设定Td为关节角为[0.1;0.2;0.3;0.4;0.5;0.6]时的末端位姿,即


开始求逆解,设定迭代1000次,如果1000次以内没有迭代出来,则认为求不出逆解,同时设定误差 ε w和 ε v小于1e-8时停止迭代,迭代结果如下:


结果分析,在迭代69次后,停止了迭代,此时 ε w和 ε v 的误差分别为1e-14方和1e-12的数量级,迭代效果完美,与所求的角度完全吻合,且因为雅可比不是通过微分求得,是直接建立得到,所以运算速度非常快,秒算出结果。

总结:对于这种需要收敛的逆运动学数值算法,初始估计值 θ 0 应尽量与真实值 θ d 接近,只要从初始零位开始操作机器人,便可以满足这个条件。这时实际的末端位形与关节角已知,并确保所需要的的末端位置 Tsd 相对逆运动学的计算频次缓慢发生变化。不断迭代更新 θd直至满足要求。