SimMechanics1G求机器人工作空间

注:本人所用软件为MATLAB R2015a和SolidWorks2016
下图为所要求的的机器人结构模型,求解其末端点在空间中的运动空间/运动轨迹
SimMechanics1G求机器人工作空间
1、关联MATLAB和SolidWorks
在MATLAB命令行窗口中输入smlink_linksw,启动关联;
SimMechanics1G求机器人工作空间
成功之后,如下图所示:
SimMechanics1G求机器人工作空间
注:关联不成功的,
参考链接:****博主「Silence_149」的原创文章:MATLAB与SolidWorks联合仿真。
————————————————
2、在SolidWorks中建立好装配体;SolidWorks插件→启动Simmechanics Link;
SimMechanics1G求机器人工作空间

3、启动后,工具→SimMechanicsLink→Export→SimMechanics1G;
(注:不能使用中文名字)
因使用SimMechanics1G,所以文件格式为“.xml”;
SimMechanics1G求机器人工作空间
注:导出后,要等待一段时间,直至弹出下面的对话框,其中,标红部分是存储地址,之后要用到。
SimMechanics1G求机器人工作空间
4、调用“.xml”文件,先在MATLAB中找到该文件,(一定要先找到对应的文件夹),
SimMechanics1G求机器人工作空间

再在MATLAB命令行窗口中输入mech_import(‘SeriesRobot1.xml’)

SimMechanics1G求机器人工作空间

5、给simulink模型添加驱动以及输出传感器
SimMechanics1G求机器人工作空间
SimMechanics1G求机器人工作空间
添加完成后
SimMechanics1G求机器人工作空间
6、进行仿真
SimMechanics1G求机器人工作空间
7、保存输出x1、y1、z1
SimMechanics1G求机器人工作空间
尽量保存在之前的模型文件夹中,因为之后写程序,调用时更方便
SimMechanics1G求机器人工作空间
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;

生成图像如下SimMechanics1G求机器人工作空间