MATLAB建立机器人模型指定旋转关节或者移动关节
clear ; clc; close all;
% 机器人各连杆DH参数
d2 = 50;
d4 = 50;
% 由于关节1,3为移动关节,故d1,d3为变量,theta1,theat3为常量
theat1 = 0;
theta3 = 0;
a1 = 0;
a2 = 0;
a3 = 0;
a4 = 0;
alpha1 = 0;
alpha2 = 0;
alpha3 = 90 / 180 * pi;
alpha4 = -90 / 180 * pi;
% 定义各个连杆,默认为转动关节
% theta d a alpha
L(1)=Link([theat1 0 a1 alpha1]); L(1).qlim=[0,5]; L(1).jointtype='P';
L(2)=Link([ 0 d2 a2 alpha2]); L(2).qlim=[-pi,pi]; L(2).offset=pi/2;
L(3)=Link([theta3 0 a3 alpha3]); L(3).qlim=[0,5]; L(4).jointtype='P';
% 移动关节需要特别指定关节类型--jointtype
L(4)=Link([ 0 d4 a4 alpha4]); L(4).qlim=[-pi,pi];
r=SerialLink([L(1),L(2),L(3),L(4)],'name','jiqiren'); %建立机器人模型
r.display();
theta=[10 0 10 0 ]; %机器人初始各关节的角度
r.plot(theta);
teach(r);
此处的L(1).qlim=[0,5]; L(1).jointtype=‘P’;为指定移动关节。
此处的L(2).qlim=[-pi,pi]; L(2).offset=pi/2;为指定旋转关节。