前言
Peter Croke著《机器人学、机器视觉与控制》里使用的是标准的DH建模,John J.Craig著《机器人学导论》中使用的是修正后的DH建模。关于DH建模的基础理论知识此处不做介绍,此文只包括在建立DH表时的两种DH建模对比。
标准DH模型
注:Z轴为垂直纸面向外
θ
i
: 绕 Z
i-1
轴,从 X
i-1
旋转到 X
i
的角度
d
i
: 沿 Z
i-1
轴,从 X
i-1
移动到 X
i
的距离
a
i
: 沿 X
i
轴,从 Z
i-1
移动到 Z
i
的距离
α
i
: 绕 X
i
轴,从 Z
i-1
旋转到 Z
i
的角度
θ i |
d i |
a i |
α i |
---|---|---|---|
θ 1 |
0 |
L 1 |
0 |
θ 2 |
0 |
L 2 |
0 |
θ 3 |
0 |
L 3 |
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
: 绕 Z
i
轴,从 X
i-1
旋转到 X
i
的角度
d
i
: 沿 Z
i
轴,从 X
i-1
移动到 X
i
的距离
a
i-1
: 沿 X
i-1
轴,从 Z
i-1
移动到 Z
i
的距离
α
i-1
: 绕 X
i-1
轴,从 Z
i-1
旋转到 Z
i
的角度
θ i |
d i |
a i-1 |
α i-1 |
---|---|---|---|
θ 1 |
0 | 0 | 0 |
θ 2 |
0 |
L 1 |
0 |
θ 3 |
0 |
L 2 |
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:如有错误请留言或私信