ROBOOP, A Robotics Object Oriented Package in C++
puma560akb_no_motor.m
1 %PUMA560AKB Load kinematic and dynamic data for a Puma 560 manipulator
2 %
3 % PUMA560AKB
4 %
5 % Defines the object 'p560m' in current workspace which describes the
6 % kinematic and dynamic characterstics of a Unimation Puma 560 manipulator
7 % modified DH conventions and using the data and conventions of:
8 %
9 % Armstrong, Khatib and Burdick 1986.
10 % "The Explicit Dynamic Model and Inertial Parameters of the Puma 560 Arm"
11 %
12 % Also define the vector qz which corresponds to the zero joint
13 % angle configuration, qr which is the vertical 'READY' configuration,
14 % and qstretch in which the arm is stretched out in the X direction.
15 %
16 % See also: ROBOT, PUMA560, STANFORD, TWOLINK.
17 
18 % Copyright (C) 1993-2002, by Peter I. Corke
19 % CHANGES:
20 % 12/01 convert to object format
21 % $Log: puma560akb_no_motor.m,v $
22 % Revision 1.2 2004/07/06 02:16:36 gourdeau
23 % doxy etc
24 %
25 % Revision 1.1 2004/05/12 13:34:37 elachance
26 % Initial revision
27 %
28 % Revision 1.1 2003/02/06 04:31:36 gourdeau
29 % 1er rev Etienne L.
30 %
31 % Revision 1.1 2002/12/13 04:50:14 elachance
32 % Initial revision
33 %
34 % Revision 1.3 2002/04/01 11:47:15 pic
35 % General cleanup of code: help comments, see also, copyright, remnant dh/dyn
36 % references, clarification of functions.
37 %
38 % $Revision: 1.2 $
39 
40 clear L
41 % alpha A theta D sigma
42 L{1} = link([0 0 0 0 0], 'mod');
43 L{2} = link([-pi/2 0 0 0 0], 'mod');
44 L{3} = link([0 0.4318 0 -0.15005 0], 'mod');
45 L{4} = link([-pi/2 0.0203 0 -.4318 0], 'mod');
46 L{5} = link([pi/2 0 0 0 0], 'mod');
47 L{6} = link([-pi/2 0 0 0 0], 'mod');
48 
49 %L{1} = link([0 0 0 0 0], 'mod');
50 %L{2} = link([-pi/2 0 0 0.2435 0], 'mod');
51 %L{3} = link([0 0.4318 0 -0.0934 0], 'mod');
52 %L{4} = link([pi/2 -0.0203 0 .4331 0], 'mod');
53 %L{5} = link([-pi/2 0 0 0 0], 'mod');
54 %L{6} = link([pi/2 0 0 0 0], 'mod');
55 
56 L{1}.m = 0;
57 L{2}.m = 17.4;
58 L{3}.m = 4.8;
59 L{4}.m = 0.82;
60 L{5}.m = 0.34;
61 L{6}.m = .09;
62 
63 % rx ry rz
64 L{1}.r = [0 0 0 ];
65 L{2}.r = [0.068 0.006 -0.016];
66 L{3}.r = [0 -0.070 0.014 ];
67 L{4}.r = [0 0 -0.019];
68 L{5}.r = [0 0 0 ];
69 L{6}.r = [0 0 .032 ];
70 
71 % Ixx Iyy Izz Ixy Iyz Ixz
72 L{1}.I = [0 0 0.35 0 0 0];
73 L{2}.I = [.13 .524 .539 0 0 0];
74 L{3}.I = [.066 .0125 .066 0 0 0];
75 L{4}.I = [1.8e-3 1.8e-3 1.3e-3 0 0 0];
76 L{5}.I = [.3e-3 .3e-3 .4e-3 0 0 0];
77 L{6}.I = [.15e-3 .15e-3 .04e-3 0 0 0];
78 
79 L{1}.Jm = 0;
80 L{2}.Jm = 0;
81 L{3}.Jm = 0;
82 L{4}.Jm = 0;
83 L{5}.Jm = 0;
84 L{6}.Jm = 0;
85 
86 L{1}.G = 0;
87 L{2}.G = 0;
88 L{3}.G = 0;
89 L{4}.G = 0;
90 L{5}.G = 0;
91 L{6}.G = 0;
92 
93 % viscous friction (motor referenced)
94 L{1}.B = 0;
95 L{2}.B = 0;
96 L{3}.B = 0;
97 L{4}.B = 0;
98 L{5}.B = 0;
99 L{6}.B = 0;
100 
101 % Coulomb friction (motor referenced)
102 L{1}.Tc = [ 0.0 0.0];
103 L{2}.Tc = [ 0.0 0.0];
104 L{3}.Tc = [ 0.0 0.0];
105 L{4}.Tc = [ 0.0 0.0];
106 L{5}.Tc = [ 0.0 0.0];
107 L{6}.Tc = [ 0.0 0.0];
108 
109 %
110 % some useful poses
111 %
112 qz = [0 0 0 0 0 0]; % zero angles, L shaped pose
113 qr = [0 -pi/2 pi/2 0 0 0]; % ready pose, arm up
114 qstretch = [0 0 pi/2 0 0 0]; % horizontal along x-axis
115 
116 p560m = robot(L, 'Puma560-AKB', 'Unimation', 'AK&B');
117 clear L
118 
119