前言
使用MATLAB机器人工具箱进行运动学及轨迹规划验证,机器人模型是以连杆的形式表示,不能直观表示出机器人的模型,这里使用工具箱中的plot3d函数,将实物模型以stl格式在MATLAB中表示出来,以ABB120的模型为例。
一、ABB120参数
二、机器人工具箱(丐版)
通过机器人工具箱创建模型
clear;clc;close all;
% theta d a alpha
L(1)=Link([ 0 0.103 0 -pi/2 ],'standard');
L(2)=Link([ 0 0 0.270 0 ],'standard');L(2).offset=-pi/2;
L(3)=Link([ 0 0 0.070 -pi/2 ],'standard');
L(4)=Link([ 0 0.302 0 pi/2 ],'standard');
L(5)=Link([ 0 0 0 -pi/2 ],'standard');
L(6)=Link([ 0 0.072 0 0 ],'standard');
Robot=SerialLink(L,'name','ABB120');
Robot.base=transl(0,0,0.187);
L(1).qlim=[-165/180*pi,165/180*pi];
L(2).qlim=[-110/180*pi,110/180*pi];
L(3).qlim=[-90/180*pi,70/180*pi];
L(4).qlim=[-160/180*pi,160/180*pi];
L(5).qlim=[-120/180*pi,120/180*pi];
L(6).qlim=[-400/180*pi,400/180*pi];
Robot.teach();
运行后得到的模型如下图,是不是很简陋。
三、机器人工具箱(plus版)
通过plot3d函数创建机器人模型
clear;clc;close all;
% theta d a alpha
L(1)=Link([ 0 124 0 -pi/2 ],'standard');
L(2)=Link([ 0 0 270 0 ],'standard');L(2).offset=-pi/2;
L(3)=Link([ 0 0 70 -pi/2 ],'standard');
L(4)=Link([ 0 302 0 pi/2 ],'standard');
L(5)=Link([ 0 0 0 -pi/2 ],'standard');
L(6)=Link([ 0 72 0 0 ],'standard');
Robot=SerialLink(L,'name','ABB120');
Robot.base=transl(0,0,166);
L(1).qlim=[-165/180*pi,165/180*pi];
L(2).qlim=[-110/180*pi,110/180*pi];
L(3).qlim=[-90/180*pi,70/180*pi];
L(4).qlim=[-160/180*pi,160/180*pi];
L(5).qlim=[-120/180*pi,120/180*pi];
L(6).qlim=[-400/180*pi,400/180*pi];
v=[130 20];%观看视角【方位角,仰角】
w=[-800 800 -800 800 0 1000];%工作空间大小
set(gcf,'position',[500,150,800,500])
q0=[0 0 0 0 0 0];
Robot.plot3d(q0,'tilesize',1,'workspace',w,'path',...
'D:\Desktop\ABB120机器人仿真\RobotLink','nowrist','view',v);
运行后得出的模型如下图,顿时觉得高大上了
注:这里的基座和一轴的DH参数与模型理论参数稍有些出入,这是因为实物模型分解位置与理论表示的不同,但不影响整体尺寸,也不影响计算结果。