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

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


最近事情贼多,感觉有点乏力。
关于RobotStudio中机器人末端位置的MATLAB仿真验证_第1张图片
主要是最近在着手写一篇关于机器人轨迹规划的文章。随之而来的,当然是一堆的仿真,以及实验平台的搭建,还要想到一种合适的工况,太难了!!!

今天呢,遇到点有点讨厌的困难,让我调试了好久好久。
关于RobotStudio中机器人末端位置的MATLAB仿真验证_第2张图片
话不多说,我觉得我遇到的问题大家多多少少也能起一个借鉴的作用啊。
问题就是:
在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坐标系都可以是不同的。下面是该姿态的连杆模型和实际姿态:
关于RobotStudio中机器人末端位置的MATLAB仿真验证_第3张图片
关于RobotStudio中机器人末端位置的MATLAB仿真验证_第4张图片
为了解决上面所说的问题,其实很明显,就是我的DH坐标系里,肯定有几个关节的坐标系是和RobotStudio里是不一样的。这样很好办,我们只用将连杆模型里关节运动情况和RobotStudio里的关节运动情况相比较,就能知道是哪几个关节有问题。具体过程就不说了,直接上结果:

关于RobotStudio中机器人末端位置的MATLAB仿真验证_第5张图片
关于RobotStudio中机器人末端位置的MATLAB仿真验证_第6张图片
关于RobotStudio中机器人末端位置的MATLAB仿真验证_第7张图片
关于RobotStudio中机器人末端位置的MATLAB仿真验证_第8张图片
关于RobotStudio中机器人末端位置的MATLAB仿真验证_第9张图片
关于RobotStudio中机器人末端位置的MATLAB仿真验证_第10张图片
最后,就得到了我们的结论:

校验结果:

第一关节:准确无误!

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

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

第四关节:准确无误!

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

第六关节:准确无误!

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

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

你可能感兴趣的:(关于RobotStudio中机器人末端位置的MATLAB仿真验证)