最近因为课程原因对AR4215和FANUC R-0iB两个机械臂做了简单的matlab仿真,贴出来免得以后忘了。
关于Robotic toolbox工具箱的安装与使用请移步CSDN自行查找。
SCARA机器人
图1:AR4215尺寸图
图2:在笛卡尔空间建立坐标系
i | theta | d | a (cm) | alpha |
1 | Q1 | 0 | 20 | 0 |
2 | Q2 | 0 | 20 | -pi |
3 | 0 | D3 | 0 | 0 |
4 | Q4 | 0 | 0 | 0 |
表1:AR4215机器人的DH参数表(可能是由于电脑配置问题,在按照mm为坐标系的单位输入数据后,渣渣电脑运行很慢,所以后面改作了cm)
代码如下:
%运行环境:Matlab2016b+Rotbotic toolbox V9.10
clc;
clear;
close all;
% theta d a alpha offset
L1=Link([ 0 0 20 0 0]);%最后一个参数代表旋转关节与平移关节
L2=Link([ 0 0 20 -pi 0]);
L3=Link([ 0 15 0 0 1]);
L4=Link([ 0 0 0 0 0]);
SCARA=SerialLink([L1 L2 L3 L4]);
SCARA.qlim=[-2.22 2.22;-2.48 2.48;0 15;-pi pi];%关节运动限制
SCARA.name='AR4215';
SCARA.plot([1.5 0.5 10 0], 'workspace',[-50 50 -50 50 -50 50]);
SCARA.display();
运行结果如下图:
(b)FANUC R-OiB
图3:FANUC R-0iB结构图
i | theta | a(cm) | d(cm) | alpha | Offset |
1 | Q1 | 0 | 0 | 0 | 0 |
2 | Q2 | 18.4 | 14.3 | -pi/2 | 0 |
3 | Q3 | 0 | 62 | 0 | 0 |
4 | Q4 | 10 | 12.5 | Pi/2 | 0 |
5 | Q5 | 66.0 | 0 | -pi/2 | 0 |
6 | Q6 | 0 | -10 | Pi/2 | 0 |
表2:FANUC R-0iB DH参数表
代码如下:
%运行环境:Matlab2016b+Rotbotic toolbox V9.10
clc;
clear;
close all;
% theta d a alpha offset
L1=Link([ 0 0 0 0 0]);
L2=Link([ 0 18.4 14.3 -pi/2 0]);
L3=Link([ 0 0 62 0 0]);
L4=Link([ 0 10 12.5 -pi/2 0]);
L5=Link([ 0 66 0 -pi/2 0]);
L6=Link([ 0 0 -10 pi/2 0]);
FANUC=SerialLink([L1 L2 L3 L4 L5 L6],'name','FANUC R-0iB');
FANUC.qlim=[-2.1 2.1;-2.1 2.1;-2.1 2.1;-2.1 2.1;-2.1 2.1;-pi pi];
%由于未能找到各轴相关限制参数,
%将J1轴参数代入了各轴
FANUC.plot([0 0 -pi/2 0 0 0], 'workspace',[-150 150 -150 150 -150 150]);
FANUC.display();
运行结果如下:
大体如此,在DH参数表上应当是有一些错误,额,主要是工程图学本来就没学好,机器人学好像学的也不咋地。希望老师不要看见。先MARK,过几天想起来再来改吧。