前言
Peter Croke著《机器人学、机器视觉与控制》里使用的是标准的DH建模,John J.Craig著《机器人学导论》中使用的是修正后的DH建模。关于DH建模的基础理论知识此处不做介绍,此文只包括在建立DH表时的两种DH建模对比。
标准DH模型
注:Z轴为垂直纸面向外
θi: 绕 Zi-1 轴,从 Xi-1 旋转到 Xi 的角度
di: 沿 Zi-1 轴,从 Xi-1 移动到 Xi 的距离
ai: 沿 Xi 轴,从 Zi-1 移动到 Zi 的距离
αi: 绕 Xi 轴,从 Zi-1 旋转到 Zi 的角度
θi | di | ai | αi |
---|---|---|---|
θ1 | 0 | L1 | 0 |
θ2 | 0 | L2 | 0 |
θ3 | 0 | L3 | 0 |
clc
clear
close all
%% 标准DH
% theta d a alpha sigma
L1=Link([ 0 0 1 0 0 ],'standard');
L2=Link([ 0 0 1 0 0 ],'standard');
L3=Link([ 0 0 1 0 0 ],'standard');
robot = SerialLink([L1 L2 L3],'name','standard DH');
q = [0 0 0];%关节初始角
plot(robot,q);
改进DH模型
θi: 绕 Zi 轴,从 Xi-1 旋转到 Xi的角度
di: 沿 Zi 轴,从 Xi-1 移动到 Xi 的距离
ai-1: 沿 Xi-1 轴,从 Zi-1 移动到 Zi 的距离
αi-1: 绕 Xi-1 轴,从 Zi-1 旋转到 Zi 的角度
θi | di | ai-1 | αi-1 |
---|---|---|---|
θ1 | 0 | 0 | 0 |
θ2 | 0 | L1 | 0 |
θ3 | 0 | L2 | 0 |
clc
clear
close all
%% 改进DH
% theta d a alpha sigma
L1=Link([ 0 0 0 0 0 ],'modified');
L2=Link([ 0 0 1 0 0 ],'modified');
L3=Link([ 0 0 1 0 0 ],'modified');
robot = SerialLink([L1 L2 L3],'name','modified DH');
q = [0 0 0];%关节初始角
plot(robot,q);
总结
标准DH将连杆 i 的坐标系固定在连杆的远端,改进DH把连杆 i 的坐标系固定在连杆的近端。
PS:如有错误请留言或私信