puma560_motor.m

00001 %PUMA560 Load kinematic and dynamic data for a Puma 560 manipulator
00002 %
00003 %       PUMA560
00004 %
00005 % Defines the object 'p560' in the current workspace which describes the 
00006 % kinematic and dynamic % characterstics of a Unimation Puma 560 manipulator
00007 % using standard DH conventions.
00008 % The model includes armature inertia and gear ratios.
00009 %
00010 % Also define the vector qz which corresponds to the zero joint
00011 % angle configuration, qr which is the vertical 'READY' configuration,
00012 % and qstretch in which the arm is stretched out in the X direction.
00013 %
00014 % See also: ROBOT, PUMA560AKB, STANFORD, TWOLINK.
00015 
00016 %
00017 % Notes:
00018 %    - the value of m1 is given as 0 here.  Armstrong found no value for it
00019 % and it does not appear in the equation for tau1 after the substituion
00020 % is made to inertia about link frame rather than COG frame.
00021 % updated:
00022 % 2/8/95  changed D3 to 150.05mm which is closer to data from Lee, AKB86 and Tarn
00023 %  fixed errors in COG for links 2 and 3
00024 % 29/1/91 to agree with data from Armstrong etal.  Due to their use
00025 %  of modified D&H params, some of the offsets Ai, Di are
00026 %  offset, and for links 3-5 swap Y and Z axes.
00027 % 14/2/91 to use Paul's value of link twist (alpha) to be consistant
00028 %  with ARCL.  This is the -ve of Lee's values, which means the
00029 %  zero angle position is a righty for Paul, and lefty for Lee.
00030 %  Note that gravity load torque is the motor torque necessary
00031 %  to keep the joint static, and is thus -ve of the gravity
00032 %  caused torque.
00033 %
00034 % 8/95 fix bugs in COG data for Puma 560. This led to signficant errors in
00035 %  inertia of joint 1. 
00036 % $Log: puma560_motor.m,v $
00037 % Revision 1.2  2004/07/06 02:16:36  gourdeau
00038 % doxy etc
00039 %
00040 % Revision 1.1  2004/05/12 13:34:37  elachance
00041 % Initial revision
00042 %
00043 % Revision 1.1  2003/02/06 04:31:36  gourdeau
00044 % 1er rev Etienne L.
00045 %
00046 % Revision 1.1  2002/12/17 02:31:55  elachance
00047 % Initial revision
00048 %
00049 % Revision 1.3  2002/04/01 11:47:16  pic
00050 % General cleanup of code: help comments, see also, copyright, remnant dh/dyn
00051 % references, clarification of functions.
00052 %
00053 % $Revision: 1.2 $
00054 
00055 % Copyright (C) 1993-2002, by Peter I. Corke
00056 
00057 clear L
00058 
00059 L{1} = link([pi/2 0     0       0       0], 'standard');
00060 L{2} = link([ 0         .4318   0       0       0], 'standard');
00061 L{3} = link([-pi/2 .0203        0      .15005   0], 'standard');
00062 L{4} = link([pi/2 0     0       .4318   0], 'standard');
00063 L{5} = link([-pi/2 0    0       0       0], 'standard');
00064 L{6} = link([0  0       0       0       0], 'standard');
00065 
00066 %L{1} = link([pi/2 0    0       0       0], 'standard');
00067 %L{2} = link([ 0        .4318   0       0       0], 'standard');
00068 %L{3} = link([-pi/2 .0203       0       .15005  0], 'standard');
00069 %L{4} = link([pi/2 0    0       .4318   0], 'standard');
00070 %L{5} = link([-pi/2 0   0       0       0], 'standard');
00071 %L{6} = link([0         0       0       0       0], 'standard');
00072 
00073 
00074 L{1}.m = 0;
00075 L{2}.m = 17.4;
00076 L{3}.m = 4.8;
00077 L{4}.m = 0.82;
00078 L{5}.m = 0.34;
00079 L{6}.m = .09;
00080 
00081 L{1}.r = ;
00082 L{2}.r = ;
00083 L{3}.r = ;
00084 L{4}.r = ;
00085 L{5}.r = ;
00086 L{6}.r = ;
00087 
00088 L{1}.I = ;
00089 L{2}.I = ;
00090 L{3}.I = ;
00091 L{4}.I = ;
00092 L{5}.I = ;
00093 L{6}.I = ;
00094 
00095 L{1}.Jm =  200e-6;
00096 L{2}.Jm =  200e-6;
00097 L{3}.Jm =  200e-6;
00098 L{4}.Jm =  33e-6;
00099 L{5}.Jm =  33e-6;
00100 L{6}.Jm =  33e-6;
00101 
00102 %L{1}.G =  1.0;
00103 %L{2}.G =  1.0;
00104 %L{3}.G =  1.0;
00105 %L{4}.G =  1.0;
00106 %L{5}.G =  1.0;
00107 %L{6}.G =  1.0;
00108 
00109 L{1}.G =  -62.6111;
00110 L{2}.G =  107.815;
00111 L{3}.G =  -53.7063;
00112 L{4}.G =  76.0364;
00113 L{5}.G =  71.923;
00114 L{6}.G =  76.686;
00115 
00116 % viscous friction (motor referenced)
00117 L{1}.B =   1.48e-3;
00118 L{2}.B =   .817e-3;
00119 L{3}.B =    1.38e-3;
00120 L{4}.B =   71.2e-6;
00121 L{5}.B =   82.6e-6;
00122 L{6}.B =   36.7e-6;
00123 
00124 % Coulomb friction (motor referenced)
00125 L{1}.Tc = ;
00126 L{2}.Tc = ;
00127 L{3}.Tc = ;
00128 L{4}.Tc = ;
00129 L{5}.Tc = ;
00130 L{6}.Tc = ;
00131 
00132 %L{1}.Tc = ;
00133 %L{2}.Tc = ;
00134 %L{3}.Tc = ;
00135 %L{4}.Tc = ;
00136 %L{5}.Tc = ;
00137 %L{6}.Tc = ;
00138 
00139 
00140 %
00141 % some useful poses
00142 %
00143 qz = ; % zero angles, L shaped pose
00144 qr = ; % ready pose, arm up
00145 qstretch = ;
00146 
00147 p560 = robot(L, 'Puma 560', 'Unimation', 'params of 8/95');
00148 clear L
00149 p560.name = 'Puma 560';
00150 p560.manuf = 'Unimation';
00151 
00152 
00153 
00154 
00155 
00156 

Generated on Thu Dec 14 08:52:18 2006 for ROBOOP, A Robotics Object Oriented Package in C++ by  doxygen 1.5.1