Matlab机器人工具箱6.1 导入stl模型——用SerialLink描述
参考视频:【MATLAB机器人工具箱10.4 机械臂仿真教学(未完结)】 https://www.bilibili.com/video/BV1q44y1x7WC/?p=9&share_source=copy_web&vd_source=2c56c6a2645587b49d62e5b12b253dca
这一节我们来讲如何从solidworks中导入模型,并用Seriallink类来加载。
至于用更简洁的urdf来描述模型,将在6.2节中介绍。
用SerialLink导入stl模型
如果你不会urdf也没关系,我们用up的例子:
https://pan.baidu.com/s/1-mVAusSgzvr2tK45gShDhg
提取码:l6eg
打开这个SLDASM文件,不要用SLDPRT来转换。
点击这里,每次只显示当前要导出的文件,点击这个“眼睛”显示和隐藏。
选定当前要导出的零件后点击右上小齿轮,点击选项
下滑找到导出
找到对应的坐标系
请注意,UP的坐标系设定是:
link0 —— WorldFrame
link1 —— Frame1(并没有使用Frame0!!!)
link2 —— Frame2
......
另存为
保存为stl
点击选项
确认勾选了“不要转换STL输出到正坐标空间”,99%up都不会提到这个,导致很多萌新发现即使更改了原点也起飞。
确认输出坐标系是所选的即可导出。(记得改为linkx.stl的格式)
加载代码
clear;
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);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:\工程\Fdof1','nowrist','view',v)light('Position',[1 1 1],'color','w');
加载后坐标系就正常了!
以上内容 自引用 于https://blog.csdn.net/2301_80226956/article/details/149453062?spm=1001.2014.3001.5501