Robotics and Autonomous Systems 9 (1992) 213-226 Elsevier
213
The optimum design of robotic manipulators using dexterity indices C l 6 m e n t M. G o s s e l i n D~pt. de G~nie M~canique, Universit~Laval, Ste-Foy, Quebec, Canada, GIK 7P4
Abstract Gosselin, C.M., The optimum design of robotic manipulators using dexterity indices, Robotics and Autonomous Systems, 9 (1992) 213-226. This paper presents new dexterity indices that can be applied to planar and spatial manipulators. These indices are based on the condition number of the Jacobian matrix of the manipulators which is known to be a measure of their kinematic accuracy. Dexterity indices based on that same criterion have been presented elsewhere. However, due to the formulation of the kinematic equations, the existing indices are affected by a scaling of the manipulator when both the position and the orientation of the end effector are included in the kinematic equations. A new formulation of these equations is proposed here to avoid this problem of dimensional dependence. Two dexterity indices are presented for planar manipulators: the first one is based on a redundant formulation of the velocity equations whereas the second one is based on the minimum number of parameters. The corresponding indices are also derived for spatial manipulators. Finally, an example is included to illustrate the use of these indices in the context of design and optimization of manipulators.
Keywords: Manipulator; Kinematics; Dexterity; Design; Optimization.
I. Introduction
The mechanical design of robotic manipulators is a very important issue in the context of robotic
CI6ment M. Gosselin received the B. Eng. degree in mechanical engineering from the Universit6 de Sherbrooke, Qu6bec, Canada, in 1985, and the Ph. D. degree in mechanical engineering from McGill University, Montr6al, Qu6bec, Canada, in 1988. In 1988-89, he spent one year as a postdoctorate student in INRIA (Institut National de Recherche en Informatique et en Automatique) in Sophia-Antipolis, France, where he worked within the PRISME (Programmation des Robots Industriels et des Syst~mes Manipulateurs Evolu6s) research team. Since June 1989, he has been an Associate Professor in the Department of Mechanical Engineering in Universit~ Laval, Ste-Foy, Quebec, Canada. His research interests are kinematics, dynamics and control of robotic mechanical systems with a particular emphasis on the mechanics of grasping and on the kinematics and dynamics of parallel manipulators. Dr. Gosselin is a member of ASME and IEEE.
system optimization. Indeed, with the development of precise manipulators and articulated hands, the need for inherently accurate kinematic structures has become quite obvious. This led to the definition of performance indices which are used to characterize the dexterity of robotic manipulators or systems. Salibury and Craig [1] used the condition number of the Jacobian matrix as an optimization criterion to obtain ideal dimensions for the fingers of the Stanford/JPL articulated hand. The same criterion has been applied by Angeles and Rojas [2] to the design of a three-degree-of-freedom spatial manipulator and to a three-degree-of-freedom spherical wrist. The condition number of the Jacobian matrix is known to be a measure of the kinematic accuracy of the manipulator. On the other hand, Yoshikawa [3] used the determinant of the same matrix as a manipulability index whereas Stoughton and Kokkinis [4] used the minimum singular value and the condition number. A good review of the dexterity measures is presented in [5] where re-
0921-8890/92/$05.00 © 1992 - Elsevier Science Publishers B.V. All rights reserved
214
( '. M. G'o~'s'elin
dundant manipulators are treated. In the latter reference, it is pointed out that, although a vanishing determinant indicates the presence of a singularity, its actual value cannot be used as a practical measure of the ill-conditioning. Instead, numerical analysts recommend the use of the condition number [6]. The condition number was used to obtain the kinematic parameters of D I E S T R O [7], a six-degree-of-freedom isotropic manipulator. It was also used in [8,9] to optimize the design of planar and spherical parallel manipulators. Moreover, a global dexterity index based on the condition number was defined in [10] to characterize the kinematic accuracy of a manipulator over its whole workspace. This topic is also discussed in [11]. However, when both the position and the orientation of the end effector are included in the kinematic equations, it can be readily seen that the condition number of the Jacobian matrix will not be invariant under a scaling of the dimensions of the manipulator. Hence, the need for a formulation of the kinematic equations that would lead to a Jacobian matrix in which each of the entries would bear the same physical units so that the condition number would not be affected by a scaling of the manipulator. This paper presents dexterity indices for planar and spatial manipulators which are based on such Jacobian matrices and which are therefore invariant to a scaling of the manipulator. The approach used here consists in describing the velocity of the end effector as the velocity of some points on it instead of using the velocity of only one point together with the angular velocity. Since the Cartesian coordinates are then all bearing the same physical dimensions, the Jacobian matrix mapping the joint rates - the joints are assumed to be all of the same type - into the Cartesian rates will have entries of homogeneous dimensions and therefore be invariant under a scaling of the manipulator. An example of application to a planar three-degree-of-freedom manipulator is included.
fore, the Cartesian coordinates usually associated with the end effector of a planar manipulator consist of two positioning variables, e.g. the Cartesian components x and y, and of a rotation angle 4~, representing an angle of rotation around an axis orthogonal to the plane of motion. The end effector of an arbitrary planar manipulator is shown in Fig. 1 where the reference frame (O~y) is fixed to the base of the manipulator while frame ~ ' (O£,/) is attached to the end effector. In general, the Cartesian coordinates used for the end effector are given by vector c defined as:
c = [x, y, 61 T,
where x and y are the components of the position vector of point O' and cb is the angle of orientation. Therefore, the Cartesian velocity vector is given by d = [ 2 , 3 ~ , 4 ; ] T.
Planar motion is concerned with the position and orientation of rigid bodies on a plane. There-
(21
It will be assumed, throughout this paper, that all the actuators of the manipulators considered are of the revolute type. The joint coordinate vector 0 is written as
0 = [0t, 02 . . . . . 0.] T,
(3 t
where n is the number of joints and the joint velocity vector as
0=10,,0
.....
The velocity relationship is then written as J 6 = e,
(5)
where J is the Jacobian matrix of the manipulator. The dexterity index u based on the condition number is then written u=K(J),
(6)
where K(J) is the condition number of the Jaeobian matrix and is defined as ,<(A) = IIAII IIA-' II,
(7)
with
IIA II = ( t r ( A W A T) , 2. Dexterity indices for planar manipulators
(1)
(8)
W being defined as wl with w = 1 / n , where n is the dimension of the square matrix A and 1 is the n × n identity matrix. When A is not square, an alternative definition of the condition number
215
Design of robotic manipulators
is used [5]. This is written as
and B (Fig. 1). The Cartesian velocity vector becomes
/-/.max K(A) = - - , /£min
(9) (10)
C ' = [Uax , Uay , Ubx , Uby] T,
where/'/'max and/£min stand for the maximum and minimum singular values of A, respectively. However, because the Cartesian velocity vector includes components that are of a different nature, namely, two linear velocities and one angular velocity, the entries of matrix J will bear different physical units and hence, scaling the dimensions of the manipulator will affect the value of the condition number. Two formulations of the kinematic equations are now proposed to overcome this problem.
where v a = [ v a , , vay] T and Vb=[Vb,, Vby] T are the velocity vectors of point A and B, respectively. It is pointed out that this four-dimensional vector contains redundant information since the velocity vectors of two points on a rigid body are not independent. In fact, the velocity component of each of the points on the line connecting the two points has to be the same for the rigidity condition to be respected. Now, in order to obtain the new Jacobian matrix mapping the joint velocity vector 0 into vector ~', we have to derive the kinematic relationship between t~ and ~'. We write
2.1. Dexterity measure based on redundant kinematic equations
(11)
RI~ = ~ ' , One way to avoid the problem of having mixed dimensions in the Jacobian matrix is to express the Cartesian velocity of the end effector differently. Instead of using the components shown in Eq. (2), we can use the velocity of two points on the end effector. Let these two points be noted A
where R 1 is the 4 × 3 matrix to be found. The position vectors of points A and B are given by p" = [ O D I ] . , = [xa, ya] T,
(12)
P'b = [O'B]s~, = [x b, yb] T,
(13)
zb, Yb)
o'(~, v)
~ '
y° ) \ \ \
!/
\
v
o
=
Fig. 1. End effector of a planar manipulator.
,r
216
('.M. Gosselin
in the local frame ~JT' (O',y,) attached to the end effector. In the reference frame 3 (Q~.), these vectors become p~,= [ O ' A ] 2
= [ ( x o c 4 , - y, s4,), (xos4, - y,c4,)] T,
(14)
= [(XbC4,--YbS4,), (XbS4, + YbC4,)] v,
(15)
where s4, - sin 4, and c4, - cos 4,. The velocity vectors v, and v b are then written as [Va].~ = [PO']~ -I- [tO XPa].~,
(16)
[Vb]~ = [Vo'].~ + [tO ×Pb],~,
(17)
where tO is the angular velocity vector of the end effector, i.e., a vector orthogonal to the plane of motion and of magnitude 4,. Eqs. (16) and (17) express the velocities of points A and B in terms of .f, 3), and q~. This can be rewritten in the form of Eq. (11) from which we obtain
R1 =
0 1 0
- ( x a sin 4 , q - Y a COS 4,) (x a cos 4 , - y , sin 4,) - ( x b sin 4,+Yb cos 4,)
1
( x b cos 4,--Yb sin 4,)
RIJO = RII~ = t~',
(18)
(19)
or
J ' 0 = ~'
(20)
with J ' =R~J.
Under these conditions, Eq. (18) becomes
R1 ~
[0
(21)
The new dexterity index is given by (22)
Since in general matrix J ' will not be square, the definition of the condition number given in Eq. (9) will have to be used. An important property of matrix J ' is that all its entries bear the same physical units, namely, the units of a length and hence v' will be invariant under a scaling of the manipulator since the condition number of a matrix remains unchanged when the matrix is multiplied by an arbitrary nonzero real number. This is cleary seen from Eqs. (7) and (8).
0 1
0
1
0
1
0
- - ( x b sin 4, +Yb cos 4,)
0
1
( x b cos 4 , - y b sin 4,)
•
(24)
The rank of matrix R~ will be equal to three as long as ( x b sin 4, +Yh cos 4,) 4:0 or
(x b cos 4,-Yb sin 4,)4:0,
(25)
i.e. x~ + y2 ~ 0.
Now, if we premultiply each member of Eq. (5) by R~, we get
~,' = K ( J ' ) .
(23)
Xa = Yo = O.
pb = [ o ' B ] ~
i
Moreover, we can readily verify that the premultiplication of matrix J by matrix R 1 has not introduced spurious singularities in the velocity relationship. Indeed, without loss of generality, we can choose points O' and A such that they are coincident, i.e.,
(26)
Hence, the rank of R~ will be equal to three as long as points A and B are distinct. When this condition is satisfied, matrix R~ will always be of full rank and will not introduce singularities in J'.
Finally, it is also noted that angle 4, will appear as one of the variables in J ' in addition to the joint variables. However, it is very easy to eliminate it from these expressions because 4' can be expressed in terms of the joint variables using the direct kinematic equations. This expression can then by substituted in J ' . 2.2. Dexterity measure based on the minimum number of kinematic parameters
In the preceding formulation, the velocity of the end effector was represented by the velocity of two points on it. This implied using four kinematic parameters to describe a three-degree-offreedom system. For numerical computations, this redundancy is desirable since it improves the stability of the system. However, when symbolic derivations are pursued, it is simpler to minimize the number of kinematic parameters. Moreover, for a three-degree-of-freedom manipulator, the use of only 3 kinematic parameters will allow us
Design of robotic manipulators
to avoid the computation of singular values by resorting to the first definition of the condition number. It is possible to reduce the number of kinematic parameters by choosing only three of the four velocity components describing the Cartesian velocity of the end effector. To this end, we will use a coordinate frame attached to the end effector, located at point A and oriented in such a way that the line passing through points A and B is along one of its axes. This coordinate frame will be noted ~'"(A,L,). The orientation of frame ~gU' with respect to ~/' is given by angle 0, as shown in Fig. 1. According to the constraint on the velocities of two points of a rigid body stated above, the component of the velocity of points A and B on axis u will be the same. Therefore, the independent velocity components will be ~ " = [v~,, v~,,, Vb,]T.
(27)
What needs to be established now is the relationship between these velocity components in the local frame .~'" and the velocity components given in Eq. (2). This is written as
217
bers of Eqs. (29) and (30) by Qx, we get =
VaL,
(35)
] tvb. j
: [ Ubu
=QT[Vo,].~+ [oJ]~,,X [PbLe", (36)
which leads to COS ~/
sin 4s
-y" ]
- sin 0 - sin 0
cos 0 cos 0
xa' l" x;
/
R2=
J
Again, the new Jacobian matrix is obtained by premultiplying each member of Eq. (5) by g 2, i.e., R2JO = R2~ = ~",
(38)
or
J"O =c'" ,
(39)
with J " = R2J,
C " = R2C
(37)
(40)
(28)
and the new dexterity index is defined as To obtain matrix R2, we first rewrite Eqs. (16) and (17) as Q[v~]~,, = [Vo,]~ + [to]~ × (Q[Pa]~,,),
(29)
Q[Vb] S = [Vo,]s¢ + [to]~ × (Q[Pb]~"),
(30)
where Q is the rotation matrix describing the change of coordinate frame from ~q~" to ~q', i.e., [cos$ Q = [sin O
- s i n 0] cos 0 l"
(31)
The angular velocity vector to is a vector of magnitude 6 and orthogonal to the plane of motion, hence [oJ].e = [o~]m,,,
(32)
and the position vectors p" and p~,' are written as tv v t T Pa = [O~zl],ge " = [ X a , Y.] ,
(33)
P'b' = [O'B]~,, = [x~, y~]'r.
(34)
Then, by premultiplication of each of the mem-
v"=K(J").
(41)
This dexterity index will have the same properties of invariance as the one defined in the preceding section. It will therefore remain unchanged under a scaling of the manipulator. The argument that was used for the first dexterity index can also be applied here to show that the premultiplication of matrix J by R 2 does not introduce spurious singularities. Indeed, we can assume, without loss of generality, that points A and O' are coincident. The determinant of matrix R 2 then becomes det(Re) = x ; .
(42)
Hence, matrix R 2 is nonsingular as long as x~ is different than zero, or, in other words, as long as points A and B are distinct. Finally, it is noted that angles ~b and qJ can be easily related because they both represent the orientation of the end effector with respect to the fixed frame. Hence, the relationship between ~b and ~0 does not depend on the orientation of the end effector but only on its geometry, i.e., the
218
C.M. Gosselin
position of points A and B with respect to coordinate frame 92'.
a joint velocity vector of the form
o=[ol
. . . . .
where, again, all the actuators are assumed to be of the revolute type. The velocity relationship is then written as
3. Dexterity indices for spatial manipulators The problem of properly defining the dexterity both in orientation and in position also arises in spatial manipulators. We will consider here manipulators that allow their end effector to undergo general six-degree-of-freedom motion in space (arbitrary position and orientation). This is represented in Fig. 2 where the reference frame 92 (Oxyx) is fixed to the base of the manipulator while frame 92' (O~,y,z,) is attached to the end effector. In general, the twist of the end effector is used as the Cartesian velocity vector. This is given by
J{} = 0,
(45)
and the dexterity index is defined as shown in Eqs. (7)-(9). Since the Jacobian matrix includes components of a different nature, its condition number will not be invariant under a scaling of the manipulator. Two formulations of the kinematic equations are now proposed to overcome this problem. They are similar to the ones presented in the preceding sections for planar manipulators.
(43)
3.1. Dexterity m e a s u r e based on r e d u n d a n t kinem a t i c equations
where the first three components represent the angular velocity of the end effector and the last three the velocity of point O'. The joint coordinate vector is defined as in Eq. (3) which leads to
The situation is very similar to the one examined in Section 2.1. This time, since we want to specify the velocity of a rigid body in space, we will need the velocity of three noncolinear points
= [w x, Wy, w z, C'o,x, Vo,y, Vo, z ]w,
A(x~,yo,z~)
C(z,,yo,z~)
B(x~,yb,z~) X I
z
/
v
oI
A 1/
[/;
Fig. 2. End effector of a spatial manipulator.
219
Design of robotic manipulators
on the body. The points will be noted A, B, and C (Fig. 2). The Cartesian velocity vector becomes
Finally, we write the velocity equations as
~ t = [Uax ' Uay ' Uaz, Ubx, Uby ' Ubz, Ucx, Ucy ' Ucz] T.
[Vb] ~ = [Vo,]a r + [a~ XPb] ~
(56).
[V~]~ = [Vo,]m + [to X P c ] a e
(57)
(46) where
[vo]
=
+
(55)
x
° which leads to
Va = [Uax, Uay' Uaz]T R1
lSb = [Ubx ' Vby ' Vbz]T,
03×3
I Ab I Ac
=
Pc = [Ucx' Vcy' Vcz] T'
are the velocity vectors of points A, B and C, respectively. Only six out of the nine components of ~' are independent. Now, in order to obtain the new Jacobian matrix, we have to derive the kinematic relationship between vectors ~ and ~'. This is written as
RI~ = ~',
(47)
where R~ is a 9 × 6 matrix. We will assume, from the outset, that points O' and A are coincident and that the orientation of frame ~ " is such that the position vectors of points A, B and C with respect to O' can be written as
p" = [o 41 , = [o, o, o] T,
(48)
p; =
(49)
p" =
= [go, o, o] T, [ O ' C ] a r = [Xc, Yc,
O]T.
(50)
Moreover, we will denote the rotation matrix representing the change of coordinates from frame ~a/,, to ~' by Q. The components of Q will be given by
[qll Q=|q21 Lq31
i]
(58)
where 1 stands for the 3 × 3 identity matrix and where A b and A c are skew-symmetric 3 × 3 matrices defined as
Ab=
and
0
q31Xb
--q31Xb
0
qllXb
q21Xb
--qllXb
0
[o
Ac~ --(q31xr+q32Yc) (q21Xc+q22Yc)
--q21Xb] ,
(59)
(q31Xc+ qa2Yc) --(q21Xc+q22Yc)] 0 (qxlxc;q12Yc)J. - ( q l IXc+ q l 2 Y c ) (60)
As in the case of planar manipulators, we have J' = R~J
(61)
which is the Jacobian matrix sought. Matrix R~ will be of full rank as long as x b ~ 0 and Yc ~ 0, i.e., as long as the three points A, B and C are distinct and noncolinear. 3.2. Dexterity measure based on the m i n i m u m number o f kinematic parameters
q12 q13 ] q22
q23/.
(51)
q32 q33 J
Therefore, the position vectors in frame J~' will be written as p= = [O~4]~ = [0, 0, 0] a',
(52)
Pb = [ o ' n ] . a l = [qllXb, q21Xb, q31Xb] T,
(53)
Pc = [ O ' C ] a t = [Uc, pc, we]T,
(54)
As in the case of planar manipulators, it can be desirable, for purposes of symbolic derivations, to derive a formulation of the dexterity index based on the minimum number of parameters. In order to reduce the number of parameters to six, we will express the velocity of points A, B and C in the local coordinate frame ~/" defined in the preceeding section. The six independent component will be (62)
where
C " = [Vbx, , Ucx, , Pay, , Vaz, , Ubz, , Vcz,] T.
Uc = ( qllXc + q12Yc),
It is pointed out that this choice is not unique. Other components could have been chosen. However, not just any six of the nine components can be chosen.
q22Yc), + q32Yc)"
Vc = ( q21Xc + Wc = ( q31Xc
(.M. Gosselin
220
Now, rewriting the velocity equations - Eqs. (55)-(57) - in the moving coordinate frame will allow us to write the relationship between vector ~" and vector ~ as
c"=R2c ,
(63)
where
R 2 = [R21 , R22],
(64)
with
-
0
0
0
-- q 13Yc
-- q23 Y~
-- q33 Yc
0
0
o
R21 =
o
o 0
--ql2Xb
--q22xb
--q32Xb
(qllYc--ql2Xc)
(q21Yc--q22Xc)
(q31Yc- q32Xc)
]
~ = [01, 1~2, 03] T ,
and
(68)
and = [2, ; , ~]T,
q31 ] q31 q32 q33 " q33 q33
(66)
(69)
where 2 and y are the velocity components in x and y of point O'. The Jacobian matrix is defined as (70)
J0 =t~ and can be written as
nonsingular as long as points A, B and C remain distinct and are not colinear. Finally, we have: J" = RzJ.
A planar three-degree-of-freedom manipulator is shown in Fig. 3. This manipulator will be used to demonstrate the invariance to scaling of the dexterity indices presented in this paper and the utilization of these indices in the context of design and optimization. Since we are interested in symbolic derivations of the dexterity index, the index presented in Section 2.2 will be used. First, we write the joint velocity vector and the Cartesian velocity vector as
'
(65)
qll q21 qll q21 q12 q22 R22 = q13 q23 q13 q23 q13 q23 Matrix R 2 will be
4. Example
(--
J=[
l l S 1 --
12S12 -- 12S123)
(1,c1+12c12+13c,23)
(-- 12S12 -- 13S123) (/2C12 +l/3C123)
(71)
(67)
13
Fig. 3. Planar 3-DOF manipulator.
-- /3S123 ] / /3tlt23 ] '
Design of robotic manipulators
where sij stands for sin(0 i + 0j) and Cij stands for cos(0 i + 0j). Hence, the condition number of the Jacobian matrix is written as v=K(/)
= IIJtl IIJ -~ II = ~
(72)
3111zS 2 '
with
221
Table 1 Dimensions of the manipulator leading to a m i n i m u m condition n u m b e r of the Jacobian matrix l1
l2
13
02(rad)
03(rad)
v
2.15
2.37
1.23
2.14
2.91
1.117
r/ would lead to an expression of the form
N 1 = 3 + l 2 + 2 l 2 + 3122 + 21112c 2 + 21113c 2
~('~ 1 -I- "1~2"~ 2 ) ('~3 "~- '1~2'~4 ) (73)
+ 41213c 3, • 2-2 2
=
,
2 2 2
N 2 = 212 + 212 + 21112c 2 + tlt2S 2 + 21113S23 2 2 2 3 + 21l1212s3s23 + 2121213s2s23, + 21213s
(74) where the same convention as in Eq. (71) was used to denote the sines and cosines of the angles. It is clear, from Eqs. (72)-(74) that the condition number of J is not invariant under a scaling of the manipulator. Indeed, the multiplication of all the dimensions of the manipulator by a factor
(75)
75r/ where the 7i's are functions of the link lengths and the configuration of the manipulator. A minimization procedure has been used to find a design that would lead to the smallest possible condition number for J. The results obtained are shown in Table 1 where the dimensions of a manipulator having a minimum condition number of 1.12 are given. However, if we apply a scaling factor to this manipulator the condition number of J will vary, as shown in Fig. 4, where the reciprocal of the condition number
0) 0.8,
0.6'
0.4-
0.2-
I
I
I
I
II
2.
4.
6.
8.
10.
Fig. 4. Reciprocal of the condition n u m b e r of matrix J as a function of the scaling factor r / f o r the dimensions of Table 1.
222
CM. Gosselin
is plotted as a function of the scaling factor, all other variables remaining unchanged. Hence, the meaning of the isotropic design obtained here is not clear. Now, in order to apply the dexterity index of Section 2, we write the new Cartesian velocity vector as (76)
C " = [Vau, L'a,., Vb,.] T,
and
p~ = [ - e / 2 ,
0] T.
(80) Explicit expressions for the matrices involved have been obtained with the help of a symbolic manipulator. After simplifying the expressions, the dexterity index u" is written as
Vt = 3 / 2 e 2 + l( + 21~ + 3lZ3+ 41213c3 + 2l~13c23
+ 21,lec2 + 2qs~ + 2t,tes3se3 + les 2 ,e3, (82)
(77)
e
-e/2 (79)
The new kinematic relationship is written as Eq. (39) from which we obtain an expression for the
1112s 2
+ 41211213s23 + lllee2s3s23
+41,1212s3s23 + 12e2s23 + 41212s23).
0 ] e/2
e.2.e 2 ( 2 q q q + q e 2 + tl12e2c2 + t,~e~ +12e2s 2 + 41213s 2 2 2 3
(78)
[ cos to sinto 0 ] [s123-c123 -sin tO cos tO e/2 = c123 s123 -sin tO cos tO -e/2 c123 s,23
1
ve
Therefore, matrix R e is found to be equal to R 2=
(81)
1 '
= ~/v~v2,
with
Moreover, from the same figure, the relationship between angles 4~ and ~ is written as ~b = ~O+ ~'/2 = 01 + 02 + 03.
II(R2J)11 I [ ( J - i R 2 ' ) II.
v" = K ( j " ) = K ( R 2 J ) =
ld n
and we recall Eq. (39). Referring to Fig. 3, the origin of coordinate frame ~ " is located in O' and the distance between point O' and either one of points A and B is equal to e / 2 . Hence, vectors p~' and p~,' are given by p" = [ e / 2 , 0] T,
dexterity index as
.
Clearly, u" is invariant under a scaling of the manipulator. Moreover, it is pointed out that neither z, nor u" depend on 01 because this angle doesn't play any role in the kinematic accuracy. Although the partial derivatives of v" with respect to the kinematic and design variables are not simple, they have been obtained - with the help of the symbolic manipulator - and the minimization of v" with respect to variables l~, 12, l~,
I I
I I
(83)
I /,~
I
I
I
I~ e
I
I I
I
I
I
I I
i
Fig. 5. Planar 3-DOF manipulator in a givenworkcell.
I
I"-!
I
Design of robotic manipulators
223
2~
3
(a) 71"
7r Fig. 6. Reciprocal of ~," as a function of 02 and
03
for different values of
0
0
13: ( a ) l 3 = 0,
(b)
13 =
0.2, (c)
13 = 0 . 5 ,
(d)
l3 =
0.7.
7l
0
(4 7lO
Fig. 6. (Continued).
Design of robotic manipulators
e, 02, 03 has been pursued. This allowed us to obtain an isotropic design of the manipulator, i.e., a design for which a set of configurations, located in the manipulator's workspace lead to a dexterity index of 1, which corresponds to the lowest value that can be attained. The dimensions of the isotropic design are given in Table 2 together with the joint angles giving the isotropic configurations.
4.1. Optimum design of a dextrous three-degree-offreedom planar manipulator An example of the application of the dexterity index developed above to the optimum design of a dextrous three-degree-of-freedom planar manipulator is now presented. Let us consider a planar three-degree-of-freedom manipulator used to handle objects of a given size in a given environment as illustrated in Fig. 5. A workspace analysis has shown that, in order for the manipulator to be able to conveniently reach each portion of the working cell, the dimensions of the links should be chosen as l1=l 2=1,
0_
(84)
The problem is now to choose the value of l 3 that will lead to the best dexterity while satisfying the above constraints. First, e is chosen to match t h e ' s i z e of the objects to be handled. Hence, in this case, we will have e = 0.2.
(85)
Then, the dexterity of the manipulator is rewritten as a function of 13, 02, 03 only. We can plot the dexterity of the manipulator over its workspace for a few values of 13 as shown in Fig. 6, where the reciprocal of u" is used. Since we have a representation of the condition number over the workspace, we can either choose to optimize the local dexterity or the global dexterity, the latter being an average of the dexterity over the workspace [10].
Table 2 Kinematic parameters of the isotropic design for the planar 3-DOF manipulator lI
12
13
e
02(rad)
03(rad)
v
1.55
2.05
1.27
1.27
1.96
2.75
1.00
225
Table 3 The minimum local dexterity for a few values of l 3 13
"min
0~' (rad)
0 ~'(rad)
0.0 0.2 0.5 0.7
2.94 2.02 1.72 1.91
2.82 2.80 2.65 1.89
3.15 2.84 2.89 3.68
The minimum local dexterity for a few values of l 3 are shown in Table 3. In this example, we obtain the optimum local dexterity with a value of l 3 of 0.5 whereas the best overall performance (global dexterity) is obtained with l 3 = 0.
5. Conclusion Dexterity indices for planar and spatial manipulators have been presented in this paper. As opposed to other existing dexterity indices, they have been shown to be invariant under a scaling o f the manipulator even when both positioning and orientation are considered. Hence, they provide a useful tool for the kinematic optimization of manipulators for design or control. An example of application of one of the dexterity indices to a simple planar three-degree-of-freedom manipulator was given. An isotropic design was found for that manipulator based on the new dexterity index. Finally, an example of application to a constrained design problem was solved. The approach used here is also applicable to any other planar or spatial manipulator whose joints are all of the same type.
Acknowledgements This work was completed under research grants from the Fonds pour la Formation de Chercheurs et l'Aide ?~ la Recherche du QuEbec (FCAR) and from the Natural Sciences and Engineering Research Council of Canada (NSERC). Both organisms are given due acknowledgement.
References [ll J.K. Salisbury and J.J. Graig, Articulated hands: Force control and kinematic issues, The International Journal of Robotics Research 1 (1) (1982) 4-17.
226
C.M. Gosselin
[2] J. Angeles and A.A. Rojas, Manipulator inverse kinematics via condition number minimization and continuation, The International Journal of Robotics and Automation 2 (2) (1987) 61-69. [3] T. Yoshikawa, Manipulability of robotic mechanisms, The International Journal of Robotics Research 4 (2) (1985) 3-9. [4] R. Stoughton and T. Kokkinis, Some properties of a new kinematic structure for robot manipulators, Proc. 13th ASME Design Automation Conference, Boston, MA (1987) 73-79. [5] C.A. Klein and B.E. Blaho, Dexterity measures for the design and control of kinematically redundant manipulators, The International Journal of Robotics Research 6 (2) (1987) 72-83. [6] G.E. Forsythe, M.A. Malcom and C.B. Moler, Computer Methods for Mathematical Computations (Prentice-Hall, Englewood Cliffs, NJ, 1977).
[7] J. Angeles and C.S. Ldpez-Cajfin, The dexterity index of serial-type robotic manipulators, Proc. 20th ASME Mechanisms Conference, Kissimme, FL (1988) 74-84. [8] C. Gosselin and J. Angeles, The optimum kinematic design of a planar three-degree-of-freedom parallel manipulator, ASME Journal of Mechanisms, Transmissions, and Automation in Design 110 (1) (1988) 35-41. [9] C. Gosselin and J. Angeles, The optimum kinematic design of a spherical three-degree-of-freedom parallel manipulator, ASME Journal of Mechanisms, Transmissions, and Automation in Design 111 (2)(1989) 202-207. [10] C. Gosselin and J. Angeles, A global performance index for the kinematic optimization of robotic manipulators, ASME Inl. of Mechanical Design 113 (3) (1991) 220-226. [11] T. Kokkinis and R. Stoughton, Optimal parallel actuation linkage for 3 DOF elbow manipulators, Proc. 20th ASME Mechanisms Conference, Kissimmee, FL (1988)465-472.