SimMechanics1G求机器人工作空间
注:本人所用软件为MATLAB R2015a和SolidWorks2016
下图为所要求的的机器人结构模型,求解其末端点在空间中的运动空间/运动轨迹
1、关联MATLAB和SolidWorks
在MATLAB命令行窗口中输入smlink_linksw,启动关联;
成功之后,如下图所示:
注:关联不成功的,
参考链接:****博主「Silence_149」的原创文章:MATLAB与SolidWorks联合仿真。
————————————————
2、在SolidWorks中建立好装配体;SolidWorks插件→启动Simmechanics Link;
3、启动后,工具→SimMechanicsLink→Export→SimMechanics1G;
(注:不能使用中文名字)
因使用SimMechanics1G,所以文件格式为“.xml”;
注:导出后,要等待一段时间,直至弹出下面的对话框,其中,标红部分是存储地址,之后要用到。
4、调用“.xml”文件,先在MATLAB中找到该文件,(一定要先找到对应的文件夹),
再在MATLAB命令行窗口中输入mech_import(‘SeriesRobot1.xml’)
5、给simulink模型添加驱动以及输出传感器
添加完成后
6、进行仿真
7、保存输出x1、y1、z1
尽量保存在之前的模型文件夹中,因为之后写程序,调用时更方便
13、调用x1、y1、z1,并生成图像
%*****simulink法求解机器人工作空间
clear all;
clc;
load(‘x1.mat’, ‘x1’);%加载timeseries,加载时需要打开工作路径
load(‘y1.mat’, ‘y1’);
load(‘z1.mat’, ‘z1’);
a=x1.data;%提取timeseries中的data列
b=y1.data;
c=z1.data;
subplot(2,2,1);
plot3(a,b,c,’.’);
view([0 0]);%正视图
title(‘正视图’);
xlabel(‘x/m’);
ylabel(‘y/m’);
zlabel(‘z/m’);
hold on;
grid on;
subplot(2,2,2);
plot3(a,b,c,’.’);
view(-90,0);%左视图
title(‘左视图’);
xlabel(‘x/m’);
ylabel(‘y/m’);
zlabel(‘z/m’);
hold on;
grid on;
subplot(2,2,3);
plot3(a,b,c,’.’);
view(2);%顶视图view(0, 90);
title(‘俯视图’);
xlabel(‘x/m’);
ylabel(‘y/m’);
zlabel(‘z/m’);
hold on;
grid on;
subplot(2,2,4);
plot3(a,b,c,’.’);
title(‘轴测图’);
xlabel(‘x/m’);
ylabel(‘y/m’);
zlabel(‘z/m’);
hold on;
grid on;
生成图像如下