%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% PARAMETERS Returns a data structure containing the parameters of the example 3RRR parallel mechanism Author: Arturo Gil. Universidad Miguel Hernández de Elche. email: arturo.gil@umh.es date: 28/09/2013 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0001 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 0002 % PARAMETERS Returns a data structure containing the parameters of the 0003 % example 3RRR parallel mechanism 0004 % 0005 % Author: Arturo Gil. Universidad Miguel Hernández de Elche. 0006 % email: arturo.gil@umh.es date: 28/09/2013 0007 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 0008 0009 % Copyright (C) 2012, by Arturo Gil Aparicio 0010 % 0011 % This file is part of ARTE (A Robotics Toolbox for Education). 0012 % 0013 % ARTE is free software: you can redistribute it and/or modify 0014 % it under the terms of the GNU Lesser General Public License as published by 0015 % the Free Software Foundation, either version 3 of the License, or 0016 % (at your option) any later version. 0017 % 0018 % ARTE is distributed in the hope that it will be useful, 0019 % but WITHOUT ANY WARRANTY; without even the implied warranty of 0020 % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 0021 % GNU Lesser General Public License for more details. 0022 % 0023 % You should have received a copy of the GNU Leser General Public License 0024 % along with ARTE. If not, see <http://www.gnu.org/licenses/>. 0025 function robot = parameters() 0026 %global robot 0027 0028 0029 %For this special case, the mechanism is divided into three different serial 0030 %arms, that is three two dof planar arms. 0031 %Thus, the robot structure contains three different arms named robot1, 0032 %robot2 and robot3 0033 robot1=load_robot('example','2dofplanar'); 0034 robot2=load_robot('example','2dofplanar'); 0035 robot3=load_robot('example','2dofplanar'); 0036 0037 0038 robot=[]; 0039 robot.name='Example 3RRR parallel'; 0040 robot.robot1=robot1; 0041 robot.robot2=robot2; 0042 robot.robot3=robot3; 0043 0044 robot.nserial=3; %number of serial links connecting base and end 0045 0046 0047 robot.T0=eye(4); 0048 0049 robot.h=0.5; %triangle side length 0050 0051 %displacement along x in the second arm 0052 L=2.5; %m%this value can be edited 0053 0054 T=eye(4); 0055 T(1,4)=L; 0056 robot.robot2.T0=T; 0057 0058 T=eye(4); 0059 T(1,4)=L/2; 0060 T(2,4)=L; 0061 robot.robot3.T0=T; 0062 0063 %yes, consider it as a special case 0064 %treated separately in the plotting tools 0065 robot.parallel=1; 0066 0067 robot.graphical=1; 0068 0069 %this considers the 4 rotational joints and misses the rotational joint 0070 %that connects both 2dof arms 0071 robot.DOF=6; 0072 0073 robot.axis=[-1.2 4.2 -1.2 3.2 0 2.2] 0074 0075 robot.debug=1; 0076 0077 %Function name to compute inverse kinematic 0078 robot.inversekinematic_fn = 'inversekinematic_3RRR(robot, T)'; 0079 robot.directkinematic_fn = 'directkinematic_3RRR(robot, q)'; 0080 0081 robot.q=zeros(1, robot.DOF); 0082 0083 0084 0085 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 0086 %GRAPHICS 0087 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 0088 %read graphics files 0089 robot.graphical.has_graphics=1; 0090 robot.graphical.color = [25 20 40]; 0091 %for transparency 0092 robot.graphical.draw_transparent=0; 0093 %draw DH systems 0094 robot.graphical.draw_axes=1; 0095 %DH system length and Font size, standard is 1/10. Select 2/20, 3/30 for 0096 %bigger robots 0097 robot.graphical.axes_scale=1; 0098 %adjust for a default view of the robot 0099 robot.axis=[-2.2 2.2 -2.2 2.2 0 2.2] 0100