MatlabRoboticToolboxV9.10⼯具箱(六):puma560动⼒学建模与仿真puma560,是经典的机器⼈模型,很多教材上都⽤它作为例⼦。
其D-H矩阵为:
j theta d a alpha offset 1q100 1.5710 2q200.431800 3q30.150.0203-1.5710 4q40.43180 1.5710 5q500-1.5710 6q60000具体的建模是:
% ⽂件名为:mdl_p560
clear L
deg = pi/180;
L(1) = Revolute('d', 0, 'a', 0, 'alpha', pi/2, ...
'I', [0, 0.35, 0, 0, 0, 0], ...
'r', [0, 0, 0], ...
tool工具箱'm', 0, ...
'Jm', 200e-6, ...
'G', -62.6111, ...
'qlim', [-160160]*deg );
L(2) = Revolute('d', 0, 'a', 0.4318, 'alpha', 0, ...
'I', [0.13, 0.524, 0.539, 0, 0, 0], ...
'r', [-0.3638, 0.006, 0.2275], ...
'm', 17.4, ...
'Jm', 200e-6, ...
'G', 107.815, ...
'qlim', [-45225]*deg );
L(3) = Revolute('d', 0.15005, 'a', 0.0203, 'alpha', -pi/2, ...
'I', [0.066, 0.086, 0.0125, 0, 0, 0], ...
'r', [-0.0203, -0.0141, 0.070], ...
'm', 4.8, ...
'Jm', 200e-6, ...
'G', -53.7063, ...
'qlim', [-22545]*deg );
L(4) = Revolute('d', 0.4318, 'a', 0, 'alpha', pi/2, ...
'I', [1.8e-3, 1.3e-3, 1.8e-3, 0, 0, 0], ...
'r', [0, 0.019, 0], ...
'm', 0.82, ...
'Jm', 33e-6, ...
'G', 76.0364, ...
'qlim', [-110170]*deg);
L(5) = Revolute('d', 0, 'a', 0, 'alpha', -pi/2, ...
'I', [0.3e-3, 0.4e-3, 0.3e-3, 0, 0, 0], ...
'r', [0, 0, 0], ...
'm', 0.34, ...
'Jm', 33e-6, ...
'G', 71.923, ...
'qlim', [-100100]*deg );
L(6) = Revolute('d', 0, 'a', 0, 'alpha', 0, ...
'I', [0.15e-3, 0.15e-3, 0.04e-3, 0, 0, 0], ...
'r', [0, 0, 0.032], ...
'm', 0.09, ...
'Jm', 33e-6, ...
'G', 76.686, ...
'qlim', [-266266]*deg );
p560 = SerialLink(L, 'name', 'Puma 560', ...
'manufacturer', 'Unimation');
如果要在 sfunction 中调⽤的话,在第⼀⾏加上:
function p560=mdl_puma560()
动⼒学建模
如图所⽰,利⽤ matlab simulink 进⾏动⼒学建模
下图是仿真的结果,当起始关节⾓度固定是,得到的各关节所需要的⼒矩。
利⽤ Matlab Robotic Toolbox 进⾏动⼒学建模,避免了⽤公式计算时繁琐的计算和冗长的计算结果,节省⼤量的时间。参考⽂献:
Peter Corke,Robotics Toolbox for MATLAB Release 9(Version,9.10),2015.02
P.I. Corke, Robotics, Vision & Control: Fundamental Algorithms in MATLAB.Springer, 2011.
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论