在获得连杆参数表时,可以根据关节角 θ \theta θ、连杆偏距 d d d、连杆长度 a a a、连杆转角 α \alpha α得到Link()函数。
L=Link([theta ,d ,a, alpha],‘options’);
%关节角、连杆偏距、连杆长度和连杆转角;option为standard或者没有时,为标准D.H法;option为modified时,为改进D.H法。
(1)L.RP;
%获取连杆关节类型,R代表旋转关节,P代表移动关节
(2)L.theta;
%获取连杆关节角
(3)L.d;
%获取连杆偏距
(4)L.a;
%获取连杆长度
(5)L.alpha;
%获取连杆扭转角
(6)L.mdh;
%D.H矩阵类型:默认0,标准D.H法;1,改进D.H法
示例:
L1=Link([1 2 3 4],'modified');%改进型(modified)
L1.RP;%获取连杆关节类型
L1.theta;%获取连杆关节角
L1.d;%获取连杆偏距
L1.a;%获取连杆长度
L1.alpha;%获取连杆扭转角
L1.mdh;%默认0,标准D.H;1,改进D.H
L=SerialLink(Links,‘options’);
常用定义方法:
(1)robot=SerialLink(L,‘name’,‘six_links’);
(2)robot=SerialLink([L1,L2,L3,L4,L5,L6]);
robot.name=‘six_links’;
(1)robot.links;
%连杆向量
(2)robot.offset;
%关节偏移量
(3)robot.gravity;
%重力加速度
(4)robot.name;
%机器人的名字
(5)robot.base;
%基坐标系
(6)robot.manuf;
%制造者名字
(7)robot.tool;
%与基坐标系的变换矩阵
(8)robot.comment;
%注释
(9)robot.qlim;
%关节极限位置
(1)robot.n;
%关节数
(2)robot.d;
%D.H参数,连杆偏距
(3)robot.config;
%关节配置,如‘RRRRRR’
(4)robot.a;
%D.H参数,连杆长度
(5)robot.theta;
%D.H参数,连杆关节角
(6)robot.alpha;
%D.H参数,连杆扭转角
(7)robot.mdh;
%D.H矩阵类型,默认为0,标准D.H法;1,改进D.H法
(1)robot.dispaly();
(2)robot.plot([theta1,theta2,theta3,theta4,theta5,theta6]);
(3)robot.teach();
示例:
L1=Link([0 0 0 0],'modified');
L2=Link([-pi/2 0.1925,0.081,-pi/2],'modified');
L3=Link([0 0.4,0,-pi/2],'modified');
L4=Link([0 0.1685,0,-pi/2],'modified');
L5=Link([0 0.4,0,pi/2],'modified');
L6=Link([0 0.1363,0,pi/2],'modified');
robot=SerialLink([L1,L2,L3,L4,L5,L6]);
robot.name='six_links';
robot.display();
robot.plot([0 -pi/2 0 0 0 0]);
robot.teach();