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_no_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/13 04:50:05 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 = 0;
00096 L{2}.Jm = 0;
00097 L{3}.Jm = 0;
00098 L{4}.Jm = 0;
00099 L{5}.Jm = 0;
00100 L{6}.Jm = 0;
00101
00102 L{1}.G = 0;
00103 L{2}.G = 0;
00104 L{3}.G = 0;
00105 L{4}.G = 0;
00106 L{5}.G = 0;
00107 L{6}.G = 0;
00108
00109 % viscous friction (motor referenced)
00110 L{1}.B = 0;
00111 L{2}.B = 0;
00112 L{3}.B = 0;
00113 L{4}.B = 0;
00114 L{5}.B = 0;
00115 L{6}.B = 0;
00116
00117 % Coulomb friction (motor referenced)
00118 L{1}.Tc = ;
00119 L{2}.Tc = ;
00120 L{3}.Tc = ;
00121 L{4}.Tc = ;
00122 L{5}.Tc = ;
00123 L{6}.Tc = ;
00124
00125
00126
00127 %
00128 % some useful poses
00129 %
00130 qz = ; % zero angles, L shaped pose
00131 qr = ; % ready pose, arm up
00132 qstretch = ;
00133
00134 p560 = robot(L, 'Puma 560', 'Unimation', 'params of 8/95');
00135 clear L
00136 p560.name = 'Puma 560';
00137 p560.manuf = 'Unimation';
00138
00139