MATLAB做机器人仿真第一讲:如何调用link函数

tech2023-02-09  101

MATLAB做机器人仿真,新手入门踩坑第一讲,成功调用link函数

很多时候,我们新接触一个行业,会遇到各种各样的问题,这个坑,那个坑的,整理笔记留给后来新学的人。关于这个MATLAB中的link函数问题,我查了很多文档,也没有找到合适的解释,摸索了一个下午,终于解决了,就给大家做个共享吧。

虽然在MATLAB界面还会出现一些红色的警告,但是感觉已经很欣慰了,很高兴了。

版本说明

安装 的MATLAB是2019b,破解版本的,自行安装MATLAB Robotic box是不行的,需要重新再安装,添加路径进行安装才行。

我的MATLAB自带的robotic库是无法使用link函数的。这困扰了我很久。终于找到问题的原因了。

成功运行的界面图

 

编辑搜图

 

请点击输入图片描述

源码

x1=-pi/2; a1=121.16; d1=191.99;

x2=0; a2=850.94; th2=82.19*pi/180;

x3=0; a3=482.6;

x4=pi/2; a4=133.35;

x5=-pi/2; a5=0; th5=pi/2;

x6=0; d6=380.9;

L(1)=Link([0 d1 a1 x1]); L(1).qlim=[-pi,pi];

L(2)=Link([0 0 a2 x2]); L(2).qlim=[-pi/6,pi/2];

L(3)=Link([0 0 a3 x3]); L(3).qlim=[-pi/2,pi/2];

L(4)=Link([0 0 a4 x4]); L(4).qlim=[-pi/2,pi/2];

L(5)=Link([0 0 a5 x5]); L(5).qlim=[-pi/2,pi/2];

L(6)=Link([0 d6 0 x6]); L(6).qlim=[-pi,pi];

robot6=SerialLink(L,'name','robot6','offset',[0 -th2 th2 0 -th5 0]);

 

编辑搜图

 

请点击输入图片描述

%% 轨迹规划-圆

Th=0:pi/60:2*pi;R=400;

for I=1:length(Th)

j=1:length(Th);

x(1,j)=1500;

y(1,j)=R*sin(Th);

z(1,j)=0+R*cos(Th);

end

for ko=1:length(Th)

TTr=[x(ko),y(ko),z(ko)];

TO(:,:,ko)=transl(TTr)*trotz(-90,'deg')*troty(0,'deg')*trotx(-90,'deg');

end

qz=ikine(robot6,TO,'pinv');

plot3(x,y,z,'r','LineWidth',2);

hold on;

plot(robot6,qz,'loop');

hold off;

困扰很久的问题,终于搞定了,满满的自信和成就感!这个周末很愉快。

 

编辑搜图

 

请点击输入图片描述

link函数调用错误原因和解决方法

link函数调用的话,会提示这样的错误:link函数不支持,或者link函数不支持的double类型,其根本原因就是MATLAB仿真机器人的库没有安装,我们要自行下载和安装哦。

 

编辑搜图

 

请点击输入图片描述

安装成功后在界面输入ver进行版本的查看即可,如上图。

学无止境,我在研究机器人仿真,请加入我一起学习吧,需要安装包的可以跟我联系,免费赠送哦。

想了解更多精彩内容,快来关注微信公众号:哈尔滨工业制造联盟

最新回复(0)