【matlab与机器人】PUMA560的SDH与MDH

写在前面:我没有找到PUMA560的SDH过程,因此这是我自己写的,而且按照的是我的理解。要是有更权威的来源,欢迎留个评论(私信关了,毕竟不是用来做其他事,就是用来写工作报告的)。

教材上的MDH(朱大昌,《机器人机构学基础》,机械工业出版社):

【matlab与机器人】PUMA560的SDH与MDH_第1张图片

按照给的参数表,写的matlab代码如下(代码的架构来源于PUMA560机器人D-H参数和改进DH参数_钱百万 Ě的博客-CSDN博客_puma560dh参数icon-default.png?t=M0H8https://blog.csdn.net/qq_44926743/article/details/105777789?utm_source=app&app_version=4.21.0&code=app_1562916241&uLinkId=usr1mkqgl919blen),

但是他给出的结果(teach图片,还有部分常数在表格中的位置)有些与我不太一样,为了自己的连贯性,我稍作了些修改,如果侵权就再写一个。

%%改进D-H模型
%       theta    d           a        alpha     offset
SL1=Link([0      0           0         0          0     ],'modified');
SL2=Link([0      0.149       0        -pi/2       0     ],'modified');
SL3=Link([0      0          0.432      0          0     ],'modified');
SL4=Link([0      0.433       0.02     -pi/2       0     ],'modified');
SL5=Link([0      0           0         pi/2       0     ],'modified');
SL6=Link([0      0           0        -pi/2       0     ],'modified');
p560=SerialLink([SL1 SL2 SL3 SL4 SL5 SL6],'name','puma560');
p560.teach([pi/2  0 -pi/2  0 0 0]);

得到的图片是这样的(稍微调整了一下观看角度,使其和课本上的角度差不多):

 【matlab与机器人】PUMA560的SDH与MDH_第2张图片

 我自己写的SDH:

参数定义用这个(虽然我也不知道我用对了没有):机器人学回炉重造(1):正运动学、标准D-H法与改进D-H法的区别与应用(附ABB机械臂运动学建模matlab代码) - 灰信网(软件开发博客聚合) (freesion.com)icon-default.png?t=M0H8https://www.freesion.com/article/66901321588/

【matlab与机器人】PUMA560的SDH与MDH_第3张图片

【matlab与机器人】PUMA560的SDH与MDH_第4张图片

 matlab代码:

%%标准D-H模型
%       theta    d           a        alpha     offset
SL1=Link([0      0           0        -pi/2       0     ],'standard');
SL2=Link([0      0.149      0.432      0          0     ],'standard');
SL3=Link([0      0          0.02     -pi/2        0     ],'standard');
SL4=Link([0      0.433       0        pi/2        0     ],'standard');
SL5=Link([0      0           0        -pi/2       0     ],'standard');
SL6=Link([0      0           0        0           0     ],'standard');
p560=SerialLink([SL1 SL2 SL3 SL4 SL5 SL6],'name','puma560');
p560.teach([pi/2  0 -pi/2 0 0 0]);

输出结果是这个:

【matlab与机器人】PUMA560的SDH与MDH_第5张图片

 

总结和遗留问题:

我的建系方法在空间坐标和位姿上都与课本给的一致(见xyz坐标与RPY角),但是在关节上很容易看出不一致。第一、第二处关节结构看起来就很不一样。有兴趣的同学建议复制代码去拖动一下,还能发现一些说不出来的不一样。

总之我个人觉得,要是会了MDH,干脆就直接使用MDH法来建立,毕竟都说它比较适用,而且能有比较多权威的参考书做辅助。因此我没有去做SDH的逆解,即使我知道好像可以用ikine()函数来解决。

相关工具箱用他的:matlab rvctools工具使用说明_panjinliang066333的博客-CSDN博客_rvctools使用说明icon-default.png?t=M0H8https://blog.csdn.net/panjinliang066333/article/details/121636324

你可能感兴趣的:(自己的工作报告,matlab)