转STL文件
将SW中机械臂模型导入matlab中,需要先转成STL文件,最重要的设置选项如下所示,尤其注意下面勾选的两项,还有单位是meters。值得注意的是,基座的参考坐标是WordFrame,第一关节的参考坐标是frame1,此后依次类推fram2、3、4。
如果出现各个link没有连接上、连杆显示重叠、没有模型出现等等问题,都是该页面的设置问题(哭着踩了一堆坑)。
模型来源于:
链接:https://pan.baidu.com/s/1-mVAusSgzvr2tK45gShDhg
提取码:l6eg
导入Matlab
所有关节转为STL文件之后利用plot3D函数导入。附上代码,其中path后是自己的模型绝对路径
clear all;
close all;
clc;
L(1)=Link('revolute','d',0.216,'a',0,'alpha',pi/2);
L(2)=Link('revolute','d',0,'a',0.5,'alpha',0,'offset',pi/2);
L(3)=Link('revolute','d',0,'a',sqrt(0.145^2+0.42746^2),'alpha',0,'offset',-atan(427.46/145));
L(4)=Link('revolute','d',0,'a',0,'alpha',pi/2,'offset',atan(427.46/145));
L(5)=Link('revolute','d',0.258,'a',0,'alpha',0);
Five_dof=SerialLink(L,'name','5-dof');
Five_dof.base=transl(0,0,0.28);
% Five_dof.teach
q0=[0 0 0 0 0];
v=[35 20];
w=[-1 1 -1 1 0 2];
Five_dof.plot3d(q0,'tilesize',0.1,'workspace',w,'path','D:\研究生资料\机械臂\Fdof','nowrist','view',v)
light('Position',[1 1 1],'color','w');
可参考该UP主的教程机器臂仿真模型
最终效果
最终效果如下所示,可以在此基础上进行控制实现。