关于RobotStudio中机器人末端位置的MATLAB仿真验证


最近事情贼多,感觉有点乏力。
在这里插入图片描述

主要是最近在着手写一篇关于机器人轨迹规划的文章。随之而来的,当然是一堆的仿真,以及实验平台的搭建,还要想到一种合适的工况,太难了!!!

今天呢,遇到点有点讨厌的困难,让我调试了好久好久。
在这里插入图片描述

话不多说,我觉得我遇到的问题大家多多少少也能起一个借鉴的作用啊。
问题就是:
在RobotStudio和MATLAB两个软件中,初始姿态相同的两个机器人,输入相同的角度,最后达到的位置竟然不同!!!

换句话说,就是在RobotStudio里,任意给定机器人一个位姿,通过示教器得到了各个关节角度以及末端的位置,然后将角度信息输入MATLAB中用机器人工具箱建立的连杆模型,发现计算出来的齐次矩阵里的位置信息和示教器里的不一样。

啥也不说了,先上MATLAB机器人工具箱建立连杆模型的代码:

L(1)=Link([0 290 0 pi/2]);
L(2)=Link([0 0 270 0]);
L(3)=Link([0 0 70 pi/2]);
L(4)=Link([0 302 0 -pi/2]);
L(5)=Link([0 0 0 pi/2]);
L(6)=Link([0 72 0 0]);
ABB120=SerialLink(L,'name','sixlink');
ABB120.plot([0 0 0 0 0 0]);

运行出来后其实姿态有点奇怪,但没所谓啊,每个人建立的DH坐标系都可以是不同的。下面是该姿态的连杆模型和实际姿态:
在这里插入图片描述
在这里插入图片描述

为了解决上面所说的问题,其实很明显,就是我的DH坐标系里,肯定有几个关节的坐标系是和RobotStudio里是不一样的。这样很好办,我们只用将连杆模型里关节运动情况和RobotStudio里的关节运动情况相比较,就能知道是哪几个关节有问题。具体过程就不说了,直接上结果:

在这里插入图片描述

[外链图片转存失败,源站可能有防盗在这里插入!链机制,建描述]议将图片上https://传(imblog.csdnimg.cn/20200513234526356.png?x-oss-process=image/wae_ZmFAhQB3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQzMDUyNzQ2,size_16,color_FFFFFF,t_70)https://img-blog.csdnimg.cne_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQzMDUyNzQ2,size_16,color_FFFFFF,t_70)]
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

最后,就得到了我们的结论:

校验结果:

第一关节:准确无误!

第二关节:关节转动方向彻底相反!

第三关节:关节转动方向彻底相反!

第四关节:准确无误!

第五关节:关节转动方向彻底相反!

第六关节:准确无误!

坐标系指向恰好相反,对位置影响问题不大。

每个人建立DH坐标的方式不同,仅供参考哇!