一、基于改进的DH参数建模法:
1、CAD模型及连杆坐标系的建立:
注:按照严格意义上的改进DH参数定义,x1y1z1应该是与x0y0z0重合的。但是这里会出现其他问题,所以x1y1z1的原点与x2y2z2的原点重合。所以,实际建模时要灵活运用定义。
DH参数表如下:
MATLAB中验证:
clear,clc,close all;
%% 建立机器人DH参数,初始状态为竖直状态
L1=Link('d',144,'a',0,'alpha',0,'modified');
L2=Link('d',0,'a',0,'alpha',pi/2,'offset',pi/2,'modified');
L3=Link('d',0,'a',264,'alpha',0,'modified');
L4=Link('d',106,'a',236,'alpha',0,'offset',pi/2,'modified');
L5=Link('d',114,'a',0,'alpha',pi/2,'modified');
L6=Link('d',67,'a',0,'alpha',-pi/2,'modified');
robot=SerialLink([L1 L2 L3 L4 L5 L6],'name','Arm6')
Theta=[0 0 0 0 0 0];
Theta=Theta/180*pi; %换算成弧度
forwarda=robot.fkine(Theta) %求正解的齐次变换矩阵
W=[-1000,+1000,-1000,+1000,-1000,+1000];
robot.plot(Theta,'tilesize',150,'workspace',W); %显示三维动画
robot.teach(forwarda,'rpy' ) %显示roll/pitch/yaw angles,GUI可调界面
二、标准DH参数建模方法:
标准DH参数建模的连杆坐标系是在连杆的传动轴,即连杆i的关节i+1上。由上右图可知,连杆1的驱动关节是Joint1,传动关节是Joint2,所以其坐标系要建立在Joint2上;同理Link2的连杆坐标系要建立在Jonit3上,以此类推,其他连杆的坐标系,如右图所示。根据建立的坐标系 得到的DH参数表如下:
Matlab中验证:
clear,clc,close all;
%% 建立机器人DH参数,初始状态为竖直状态
L1=Link('d',144,'a',0, 'alpha',pi/2, 'standard');
L2=Link('d',0, 'a',264,'alpha',0, 'offset',pi/2,'standard');
L3=Link('d',0, 'a',236,'alpha',0, 'standard');
L4=Link('d',106,'a',0, 'alpha',-pi/2,'offset',-pi/2,'standard');
L5=Link('d',114,'a',0, 'alpha',pi/2, 'standard');
L6=Link('d',67, 'a',0, 'alpha',0, 'standard');
robot=SerialLink([L1 L2 L3 L4 L5 L6],'name','Arm6')
Theta=[0 0 0 0 0 0];
Theta=Theta/180*pi; %换算成弧度
forwarda=robot.fkine(Theta) %求正解的齐次变换矩阵
W=[-1000,+1000,-1000,+1000,0,+1000];
robot.plot(Theta,'tilesize',150,'workspace',W); %显示三维动画
robot.teach(forwarda,'rpy' ) %显示roll/pitch/yaw angles,GUI可调界面