%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% PARAMETERS Returns a data structure containing the parameters of the KR 90 R3100 Extra, arc welding robot. Author: Antonio Gines Contreras Miñano Elena Albors Reig Jesus Burbano Rodriguez Carlos Clausi Marin Jorge Company Selma email: a.ginescm@gmail.com date: 12/09/2012 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0001 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 0002 % PARAMETERS Returns a data structure containing the parameters of the 0003 % KR 90 R3100 Extra, arc welding robot. 0004 % 0005 % Author: 0006 %Antonio Gines Contreras Miñano 0007 %Elena Albors Reig 0008 %Jesus Burbano Rodriguez 0009 %Carlos Clausi Marin 0010 %Jorge Company Selma 0011 % email: a.ginescm@gmail.com date: 12/09/2012 0012 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 0013 0014 0015 % Copyright (C) 2012, by Arturo Gil Aparicio 0016 % 0017 % This file is part of ARTE (A Robotics Toolbox for Education). 0018 % 0019 % ARTE is free software: you can redistribute it and/or modify 0020 % it under the terms of the GNU Lesser General Public License as published by 0021 % the Free Software Foundation, either version 3 of the License, or 0022 % (at your option) any later version. 0023 % 0024 % ARTE is distributed in the hope that it will be useful, 0025 % but WITHOUT ANY WARRANTY; without even the implied warranty of 0026 % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 0027 % GNU Lesser General Public License for more details. 0028 % 0029 % You should have received a copy of the GNU Leser General Public License 0030 % along with ARTE. If not, see <http://www.gnu.org/licenses/>. 0031 function robot = parameters() 0032 0033 0034 robot.name= 'KR_90_R3100_EXTRA'; 0035 0036 %Introducimos la tabla D-H segun los parametros Denavit-Hartenberg. 0037 robot.path = 'robots/kuka/KR_90_R3100_EXTRA'; 0038 0039 robot.DH.theta= '[ q(1) q(2)-pi/2 q(3) q(4) q(5) q(6)]'; 0040 robot.DH.d='[ 0.675 0 0 1.400 0 0.215]'; 0041 robot.DH.a='[ 0.350 1.350 -0.041 0 0 0]'; 0042 robot.DH.alpha= '[ -pi/2 0 -pi/2 pi/2 -pi/2 0]'; 0043 robot.J=[]; 0044 0045 0046 robot.inversekinematic_fn = 'inversekinematic_kuka_KR90_R3100_EXTRA(robot, T)'; 0047 0048 0049 %number of degrees of freedom 0050 robot.DOF = 6; 0051 0052 %rotational: 0, translational: 1 0053 robot.kind=['R' 'R' 'R' 'R' 'R' 'R']; 0054 %Restricciones Sobre el robot: 0055 %minimum and maximum rotation angle in rad 0056 robot.maxangle =[deg2rad(-185) deg2rad(185); %Axis 1, minimum, maximum -185 a 185 0057 deg2rad(-140) deg2rad(-5); %Axis 2, minimum, maximum 0058 deg2rad(-120) deg2rad(155); %Axis 3 0059 deg2rad(-350) deg2rad(350); %Axis 4: Unlimited (400º default) 0060 deg2rad(-125) deg2rad(125); %Axis 5 0061 deg2rad(-350) deg2rad(350)]; %Axis 6: Unlimited (800º default) 0062 0063 %maximum absolute speed of each joint rad/s or m/s 0064 robot.velmax = [deg2rad(156); %Axis 1, rad/s 0065 deg2rad(156); %Axis 2, rad/s 0066 deg2rad(156); %Axis 3, rad/s 0067 deg2rad(343); %Axis 4, rad/s 0068 deg2rad(362); %Axis 5, rad/s 0069 deg2rad(659)];%Axis 6, rad/s 0070 % end effectors maximum velocity 0071 robot.linear_velmax = 1.0; %m/s, not specified 0072 0073 robot.accelmax=robot.velmax/0.1; % 0.1 is here an acceleration time 0074 %base reference system 0075 robot.T0 = eye(4); 0076 0077 %INITIALIZATION OF VARIABLES REQUIRED FOR THE SIMULATION 0078 %position, velocity and acceleration 0079 robot=init_sim_variables(robot); 0080 0081 0082 % GRAPHICS 0083 robot.graphical.has_graphics=1; 0084 robot.graphical.color = [255 20 40]./255; 0085 %for transparency 0086 robot.graphical.draw_transparent=1; 0087 %draw DH systems 0088 robot.graphical.draw_axes=1; 0089 %DH system length and Font size, standard is 1/10. Select 2/20, 3/30 for 0090 %bigger robots 0091 robot.graphical.axes_scale=1; 0092 %adjust for a default view of the robot 0093 robot.axis=[-1.5 1.5 -1.5 1.5 0 2]; 0094 %read graphics files 0095 robot = read_graphics(robot); 0096 0097 %DYNAMICS 0098 robot.has_dynamics=0; 0099 0100 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 0101 %DYNAMIC PARAMETERS 0102 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 0103 robot.has_dynamics=1; 0104 %Masa total del robot repartida segun el tipo de eslabon al que hacemos 0105 %referencia. 0106 %consider friction in the computations 0107 robot.dynamics.friction=0; 0108 0109 %link masses (kg) 0110 robot.dynamics.masses=[0 200 200 180 40 22]; 0111 %Distancia al centro de inercia de cada eslabon respecto a su eje anterior. 0112 %COM of each link with respect to own reference system 0113 robot.dynamics.r_com=[0 0 0; %(rx, ry, rz) link 0 0114 -0.35 0.252 0; %(rx, ry, rz) link 1 0115 -0.675 0 -0.225; %(rx, ry, rz) link 2 0116 0 0 0.150;%(rx, ry, rz) link 4 0117 0 0 0;%(rx, ry, rz) link 5 0118 0 0 0.1075];%(rx, ry, rz) link 6 0119 %Matrices de inercia basadas en la geometria de un cilindro. 0120 %Inertia matrices of each link with respect to its D-H reference system. 0121 % Ixx Iyy Izz Ixy Iyz Ixz, for each row 0122 robot.dynamics.Inertia=[0 0.35 0 0 0 0; 0123 9.89 9.89 16 0 0 0; 0124 38.78 38.78 2.56 0 0 0; 0125 34.2 34.2 0.9 0 0 0; 0126 0.214 0.214 0.162 0 0 0; 0127 0.0356 0.0356 0.07 0 0 0]; 0128 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];