赞
踩
注:Z轴中Z1、Z2、Z4为垂直纸面向里
i | θi | di | ai | αi |
---|---|---|---|---|
1 | θ1 | 0 | a1 | − π 2 -\frac{π}{2} −2π |
2 | θ2 | 0 | a2 | 0 |
3 | θ3 | 0 | a3 | − π 2 -\frac{π}{2} −2π |
4 | θ3 | d4 | 0 | π 2 \frac{π}{2} 2π |
5 | θ3 | 0 | 0 | − π 2 -\frac{π}{2} −2π |
6 | θ3 | d6 | 0 | 0 |
clc
clear
close all
%% 标准DH
% theta d a alpha sigma
L1=Link([ 0 0 0.180 -pi/2 0 ],'standard');
L2=Link([ 0 0 0.600 0 0 ],'standard');
L3=Link([ 0 0 0.130 -pi/2 0 ],'standard');
L4=Link([ 0 0.630 0 pi/2 0 ],'standard');
L5=Link([ 0 0 0 -pi/2 0 ],'standard');
L6=Link([ 0 0.2075 0 0 0 ],'standard');
robot = SerialLink([L1 L2 L3 L4 L5 L6],'name','standard DH');
teach(robot);
注:Z轴中Z2、Z3、Z5为垂直纸面向里
i | θi | di | ai-1 | αi-1 |
---|---|---|---|---|
1 | θ1 | 0 | 0 | 0 |
2 | θ2 | 0 | a1 | − π 2 -\frac{π}{2} −2π |
3 | θ3 | 0 | a2 | 0 |
4 | θ4 | d4 | a2 | − π 2 -\frac{π}{2} −2π |
5 | θ5 | 0 | 0 | π 2 \frac{π}{2} 2π |
6 | θ6 | d6 | 0 | − π 2 -\frac{π}{2} −2π |
clc
clear
close all
%% 改进DH
% theta d a alpha sigma
L1=Link([ 0 0 0 0 0 ],'modified');
L2=Link([ 0 0 0.180 -pi/2 0 ],'modified');
L3=Link([ 0 0 0.600 0 0 ],'modified');
L4=Link([ 0 0.630 0.130 -pi/2 0 ],'modified');
L5=Link([ 0 0 0 pi/2 0 ],'modified');
L6=Link([ 0 0.1075 0 -pi/2 0 ],'modified');
robot = SerialLink([L1 L2 L3 L4 L5 L6],'name','modified DH');
teach(robot);
从两图中可以看出两种建模方式的区别主要体现在坐标系的选取上,其中需要特别注意的一点是图一中的 d4 比图三中的d4多出一个末端执行器的长度。
说实话这块的定系规则依旧不是很明白,下面这些是我个人根据DH表反向推断出的一些规则,不保证正确性。
1、经典DH 关节 i 上为坐标系 i-1 ,改进DH 关节 i 上为坐标系 i 。
2、经典DH 坐标系原点为当前关节轴与上一关节轴的交点或公垂线与当前关节轴的交点,改进DH 为当前关节轴与下一关节轴的交点或公垂线与当前关节轴的交点。
3、经典DH X轴的指向是沿公垂线由上一关节指向当前关节、改进DH X轴的指向是沿公垂线由当前关节指向下一关节。
matlab机器人工具箱六轴机器人的DH模型和改进DH模型建立与区别
六轴机器人正解
PS:如有错误请留言或私信
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。