1、在机器人实际应用中,逆运动学往往更有用,这里可参看:http://blog.sina.com.cn/s/blog_131fa47b20102whij.html(选中后,右键转到.....)。机器人学导论中第三章和第四章亦可见。

2、逆运动学:如果知道一个物体的笛卡尔坐标位姿,那么机器人需要怎样的关节坐标才能接近这个物体。

  以下主要说明 一般逆解不唯一:

以PUMA560模型为例(mdl_puma560),先定义一个位姿状态,有正解函数fkine( )得末端位姿.---

qn---->(0,pi/4,-pi,0,pi/4,0)%机器人标准状态(关节坐标)

qn =
         0    0.7854    3.1416         0    0.7854         0

 T=p560.fkine(qn)     %对应的机器人末端位姿
T =
   -0.0000    0.0000    1.0000    0.5963
   -0.0000    1.0000   -0.0000   -0.1501
   -1.0000   -0.0000   -0.0000   -0.0144

         0         0         0    1.0000

这样先由qn的标准状态得到末端位姿(用正运动学解函数fkine(qn)),再用ikine6s的方法来计算逆运动学的封闭解。所以要实现末端位姿T,所需的关节坐标为

qi=p560.ikine6s(T)      %由逆解函数ikine6s( )---工具箱解析法函数求出,与函数ikine( )数值法不同,可以打开查看具体代码
qi =

    2.6486   -3.9270    0.0940    2.5326    0.9743    0.373      %与标准关节坐标值不一样

同样的,T1=p560.fkine(qi)  %对应的末端位姿 与qn确定的一样。
            T1 =
                        -0.0000    0.0000    1.0000    0.5963
                         0.0000    1.0000   -0.0000   -0.1500
                        -1.0000    0.0000   -0.0000   -0.0144

                          0         0         0    1.0000

即:不同的关节坐标得到了同样的末端位姿————封闭解不唯一。

画出观察(注意影子):               p560.plot(qn)       ——————————————————     p560.plot(qi)

          

以上是逆运动学求解由工具箱函数实现,在实际逆运动学求解方法中有数值解法和封闭解法两种。

数值解:迭代求解的方式,求解速度慢;优势在于它能够求解处于奇异位形以及非6关节型的机械臂。

封闭解:一般是针对像PUMA机器人一样的,拥有六个旋转关节的操作臂(存在几个正交关节轴或者多个关节扭转角为0或pi)进行的基于解析形式的解法,或者指对于不高于四次多项式不用迭达便可完成求解。过程中使用的代数法和几何法。(在参看的博文中有)

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐