%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% PARAMETERS Returns a data structure containing the parameters of the IRB7600_400_255_m2000. Authors: Alejandro Estévez Larrosa Francisco Escribano Marchirán Vladimiro Fuduric Mastrovic Vicente Alejandro Mas Mateu email: date: 14/11/2012 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0001 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 0002 % PARAMETERS Returns a data structure containing the parameters of the 0003 % IRB7600_400_255_m2000. 0004 % 0005 % Authors: 0006 % Alejandro Estévez Larrosa 0007 % Francisco Escribano Marchirán 0008 % Vladimiro Fuduric Mastrovic 0009 % Vicente Alejandro Mas Mateu 0010 % email: date: 14/11/2012 0011 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 0012 0013 % Copyright (C) 2012, by Arturo Gil Aparicio 0014 % 0015 % This file is part of ARTE (A Robotics Toolbox for Education). 0016 % 0017 % ARTE is free software: you can redistribute it and/or modify 0018 % it under the terms of the GNU Lesser General Public License as published by 0019 % the Free Software Foundation, either version 3 of the License, or 0020 % (at your option) any later version. 0021 % 0022 % ARTE is distributed in the hope that it will be useful, 0023 % but WITHOUT ANY WARRANTY; without even the implied warranty of 0024 % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 0025 % GNU Lesser General Public License for more details. 0026 % 0027 % You should have received a copy of the GNU Leser General Public License 0028 % along with ARTE. If not, see <http://www.gnu.org/licenses/>. 0029 function robot = parameters() 0030 0031 robot.name= 'IRB7600_400_255_m2000'; 0032 0033 %Path where everything is stored for this robot 0034 robot.path = 'robots/abb/IRB7600_400_255_m2000'; 0035 0036 robot.DH.theta= '[q(1) q(2)-pi/2 q(3) q(4) q(5) q(6)+pi]'; 0037 robot.DH.d='[0.780 0 0 1.056 0 0.250]'; 0038 robot.DH.a='[0.410 1.075 0.165 0 0 0]'; 0039 robot.DH.alpha= '[-pi/2 0 -pi/2 pi/2 -pi/2 0]'; 0040 0041 robot.J=[]; 0042 0043 0044 robot.inversekinematic_fn = 'inversekinematic_irb7600_400_255_m2000(robot, T)'; 0045 0046 %number of degrees of freedom 0047 robot.DOF = 6; 0048 0049 %rotational: 0, translational: 1 0050 robot.kind=['R' 'R' 'R' 'R' 'R' 'R']; 0051 0052 %minimum and maximum rotation angle in rad 0053 robot.maxangle =[deg2rad(-170) deg2rad(170); %Axis 1, minimum, maximum 0054 deg2rad(-65) deg2rad(140); %Axis 2, minimum, maximum 0055 deg2rad(-180) deg2rad(70); %Axis 3 0056 deg2rad(-300) deg2rad(300); %Axis 4: 0057 deg2rad(-130) deg2rad(130); %Axis 5 0058 deg2rad(-360) deg2rad(360)]; %Axis 6: 0059 0060 %maximum absolute speed of each joint rad/s or m/s 0061 robot.velmax = [deg2rad(100); %Axis 1, rad/s 0062 deg2rad(90); %Axis 2, rad/s 0063 deg2rad(90); %Axis 3, rad/s 0064 deg2rad(150); %Axis 4, rad/s 0065 deg2rad(120); %Axis 5, rad/s 0066 deg2rad(190)];%Axis 6, rad/s 0067 % end effectors maximum velocity 0068 robot.linear_velmax = 1.0; %m/s, unavailable from datasheet 0069 0070 robot.accelmax=robot.velmax/0.1; % 0.1 is here an acceleration time 0071 0072 %base reference system 0073 robot.T0 = eye(4); 0074 0075 %Si quisieramos mover la base dos metros mas arriba, dandole la vuelta 0076 %robot.T0 = [1 0 0 0; 0077 % 0 -1 0 0; 0078 % 0 0 -1 2; 0079 % 0 0 0 1]; 0080 0081 %INITIALIZATION OF VARIABLES REQUIRED FOR THE SIMULATION 0082 %position, velocity and acceleration 0083 robot=init_sim_variables(robot); 0084 0085 0086 % GRAPHICS 0087 robot.graphical.has_graphics=1; 0088 robot.graphical.color = [255 102 51]./255; 0089 %for transparency 0090 robot.graphical.draw_transparent=0; 0091 %draw DH systems 0092 robot.graphical.draw_axes=1; 0093 %DH system length and Font size, standard is 1/10. Select 2/20, 3/30 for 0094 %bigger robots 0095 robot.graphical.axes_scale=2; 0096 %adjust for a default view of the robot 0097 robot.axis=[-2 2 -2 2 0 2.5]; 0098 %read graphics files 0099 robot = read_graphics(robot); 0100 0101 0102 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 0103 %DYNAMIC PARAMETERS 0104 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 0105 robot.has_dynamics=1; 0106 0107 %consider friction in the computations 0108 robot.dynamics.friction=0; 0109 0110 %link masses (kg) 0111 robot.dynamics.masses=[0 17.4 4.8 0.82 0.34 0.09]; 0112 0113 %COM of each link with respect to own reference system 0114 robot.dynamics.r_com=[0 0 0; %(rx, ry, rz) link 1 0115 -0.3638 0.006 0.2275; %(rx, ry, rz) link 2 0116 -0.0203 -0.0141 0.070; %(rx, ry, rz) link 3 0117 0 0.019 0;%(rx, ry, rz) link 4 0118 0 0 0;%(rx, ry, rz) link 5 0119 0 0 0.032];%(rx, ry, rz) link 6 0120 0121 %Inertia matrices of each link with respect to its D-H reference system. 0122 % Ixx Iyy Izz Ixy Iyz Ixz, for each row 0123 robot.dynamics.Inertia=[0 0.35 0 0 0 0; 0124 .13 .524 .539 0 0 0; 0125 .066 .086 .0125 0 0 0; 0126 1.8e-3 1.3e-3 1.8e-3 0 0 0; 0127 .3e-3 .4e-3 .3e-3 0 0 0; 0128 .15e-3 .15e-3 .04e-3 0 0 0]; 0129 0130 robot.motors=load_motors([5 5 5 4 4 4]); 0131 %Speed reductor at each joint 0132 robot.motors.G=[300 300 300 300 300 300];