8.3 Kinematics of robot arms In this section we shall first revise and extend the study of the kinematics of a rigid body with particular reference to rotation about a point and change
Trang 18
8.1 Introduction
In this chapter we examine the way in which three-dimensional dynamics is applied to a sys- tem of rigid bodies connected by various types of joints Initially we shall describe some typical arrangements of robot arms together with their end effectors We shall only be con- cerned with the overall dynamics and not with the detail This is a vast subject area of which dynamics is a substantial and vital part
8.2 Typical arrangements
8.2.1 CARTESIAN CO-ORDINATES
Figure 8.1 shows the arrangement of a rectangular robot arm where the position of the end effector is located by specifying the x, y, z co-ordinates Each joint responds to one co-ordi- nate, and all joints in this arrangement are sliding joints An end effector is usually a grip- per or hand-like mechanism; these will be briefly described later
Fig 8.1
Trang 2Typical arrangements 195
8.2.2 CYLINDRICAL CO-ORDINATES
A typical cylindrical co-ordinate arm is shown in Fig 8.2 In this case the joints respond to
r, 8 and z co-ordinates with the joints being sliding, revolute and sliding respectively,
Fig 8.2
8.2.3 SPHERICAL CO-ORDINATES
As can be seen from Fig 8.3 this arm is controlled by specifying r, 0 and 0 with the joints being sliding and two revolute
Fig 8.3
8.2.4 REVOLUTE ARM
A very common layout is shown in Fig 8.4(a) in which all joints are revolute; this is a ver- satile system and more akin to the human arm
8.2.5 END EFFECTOR
A simple end effector in the form of a gripper is shown in Fig 8.5 This example has three degrees of freedom plus a gripping action The movements at the wrist are often referred to
Trang 3Fig 8.5
Trang 4Kinematics of robot arms 197
as roll, pitch and yaw It is quite common to find that for some end effectors only roll and pitch are provided
8.3 Kinematics of robot arms
In this section we shall first revise and extend the study of the kinematics of a rigid body with particular reference to rotation about a point and change of reference axes The con- cept of homogeneous transformation matrices will then be introduced so that a systematic description of arm position and displacement can be made
The most common task to be performed is: given the path of the end effector, determine the magnitudes of the joint displacements as functions of time This is referred to as the inverse kinematic problem and is usually more difficult than the forward problem of calcu- lating the path of the end effector given the joint positions The obvious exception is the case
of the Cartesian system
For one position of a cylindrical system
r = \ (x’ + y’)
z = z
e = arctanb/x)
r = , (x’ + y’ + z’)
e = arctan [ z / , (x’ +yz) 3
0 = arctan(y/x)
and for a spherical system
For the revolute arm of Fig 8.4(b)
8, = arctan b/x)
Y = \ (x’ + y 2 )
c = , (r‘ + 2’)
A = arccos [ (L: + c’ - L : ) / (~L, c) 1
B = arcsin [ ( L , / L , ) sinA 3
8, = arctan (ZIT) - B
~ , = A + B
A position vectorp (shown in Fig 8.6) has scalar componentsp,,p, andp, when referred to
the xyz frame This is written
P = ip, + ip? + kp,
which, in matrix form, becomes
Trang 5198 Robot a m dynamics
Fig 8.6
If we let
(PI = @XP."Pd'
and
(e) = ( i j k l T
then
If the same vector is viewed from the set of primed axes as shown in Fig 8.7
Fig 8.7
8.3.2 CO-ORDINATE TRANSFORMATION
Since
Trang 6Kinematics of a robot arm 199 let us premultiply both sides by (e’), it being understood that the products of the unit vec-
tors shall be the scalar products
Thus
(e’)(e’)T(p’) = (ef>(e)T@> (8.8)
Now
3 3 il.,*f 3 kl
(e‘)(e’)T - ( ’:) ( 3 jl kl ) = [ j f il j f j l j l kl ]
k’ k’ i’ k1.j’ k’ k’
so that equation (8.8) reads
and
3 i 3 j 3 k
(e’)(e)T = ( ; : ) ( i j k ) = [ j ’ i j ’ j j ’ k ]
k‘ k’ i k’ j k’ k
1: rn: n,
where I,, m,, n, are the direction cosines between the x’ axis and the x, y z axes, as shown
in Fig 8.8
Now let [ E ] = (e’)(e)T so that equation ( M a ) becomes ( p ‘ ) = [ Q ] ( p ) ; therefore [ E ] is a
transformation matrix From the definition of the inverse of a matrix ( p ) = [Q]-’(p’) but by
Fig 8.8
Trang 7200 Robot arm dynamics
premultiplying equation (8.7) by (e) and noting that (e)(e)’ = [Z], the identity matrix, we
obtain ( p ) = (e)(e’)T(p’) By inspection it is seen that (e)(e’)’ is the transpose of (e’ e
This is also seen from the rule for transposing the product of matrices, that is [(e’)(e) 3 -
From this argument it is apparent that [a]-’ = [a]’, so by definition [a] is an orthogonal
F T ’ 1
(e)(e’IT
IlWtriX
8.3.3 FINITE ROTATION
We shall now consider a closely related problem, that of rotating a vector
Consider a vector pI relative to fixed axes X; I: 2 A further set of axes, U , K W, moves withp, and may be regarded as rigidly fixed top, If the U W a x e s are rotated about the ori- gin then relative to the fixed axes p, moves topz as shown in Fig 8.9
Fig 8.9
Using the prime to indicate components seen from the UVWaxes we have that initially
( p ; ) = ( p , ) We now look at p2 from the rotated axes U W so that its components ( p i ) =
[11c](p2), but because the vector is fixed relative to the UWaxes, ( p i ) = ( p , ’ ) = ( p l ) and thus
( P A = [‘Ql-I(PI 1
If we define the rotation matrix [R] by ( p J = [ R ] ( p l ) then
[RI = [a]-’ = [a]’ = (e)(e’)’
ROTATION ABOUT X, Y AND 2 A X E S
(8.1 1 )
8.3.4
In general the rotation matrix is given by
( 1) [ i i’ i j ’ i k ’ ]
[ R ] = j ( T j ’ k ’ ) = ji’ j j ‘ j k ‘ (8.12)
k i’ k j’ k k‘
So for rotation of the U W a x e s by an angle a about the Xaxis, refemng to Fig 8.10, and
noting that i = i’ and that j * j ’ = cos(ang1e between the Y axis and the V axis) = cos a, etc., the rotation matrix is
Trang 8Kinematics of a robot arm 201
Fig 8.10
[ 1 s i n a cos a ]
This result should be verified by simple trigonometry
Similarly for a rotation of p about the Y axis
cos p 0 sin p
[ -:np : c:sp]
and for a rotation of y about the Z axis
cosy -sin y 0
Note that by inspection
That is, the transpose is the same as the inverse which is also the same as rotation by a neg- ative angle
8.3.5
In this section we shall adopt a simpler notation for rotation matrices, replacing [ R ] , , by
[X,a] to mean a rotation of a about the fixed X axis
If a vector with components ( p l ) as seen from the fixed axes is rotated about the Xaxis
by an angle a, then the new components are
SUCCESSIVE ROTATIONS ABOUT FIXED AXES
Trang 9202 Robot arm dynamics
If now this vector is rotated about the Y axis by an angle j3 then the components will be
It follows that any firther rotations result in successive premultiplications by the appropri- ate rotation matrix
In the above case the new composite rotation matrix is
P I = [Y,Pl[X,al = [ 0 1 0 ] [ i coo; -Si.si;]
-
- [ -sin c: P SPSa Ca 0 cos j3 -Sa SPCa ]
where the usual abbreviations are made by writing C for cosine and S for sine
because [X,al[Y,Pl * [Y,Pl[Xal
It must be emphasized that reversing the order of the rotations produces a different result
8.3.6
If we wish to form the rotation matrix for a rotation of 0 about an axis defined by the unit vector n as shown in Fig 8.1 1 , one method is given in the following steps:
1 Rotate the axis of rotation so that it coincides with one of the fixed axes
2 Rotate the body by 0 about that axis
3 Rotate the axis back to its original position
ROTATION ABOUT AN ARBITRARY AXIS
Fig 8.1 1
Trang 10Kinematics of a robot arm 203
Refemng again to Fig 8.1 1,
Step 1: Rotate the axis about the Y axis by p followed by a rotation of y about the Z axis;
tan j3 = n/l and sin y = m, where 1, m and n are the components of the unit vector n Note that in this example y would be numerically negative
Step 2: Rotate by 0 about the Xaxis
Step 3: Rotate back
In matrix form
ERI,, = {[Y,-PI [Z,YI) {[x,0I) {[Z,-Yl[Y,Pl)
(Remember that [Y,P]-' = [Y,-p].)
Alternative method
A vectorial relationship can be achieved as is shown in Fig 8.12 Here n is the unit vector
in the direction of the rotation and 0 is the finite angle of rotation Owing to the rotation the vector r becomes r' The vector r generates the surface of a right circular cone; the head of the vector moves on a circular arc PQ N is the centre of the circular arc so
n - r = I r I c o s a = O N
and
I n x r l = I r I s i n a = NP = NQ
Note also that the direction of n X r is that of VQ +
Now
r ' = O N + NV + VQ
= n(n * r) + [ r - n(n r)] cos 0 + (n x r) sin 0
Fig 8.12
Trang 11204 Robot ann dynamics
= r cos 0 + n(n - r)(l - cos 0 ) + (n x r) sin 0 (8.19)
If we use the same basis for all vectors then the above vector equation may be written in
matrix form (see Appendix 1 on vector-trix algebra) as
(8.20)
(r)' = (r)cos 0 + (n)(n)T(r)(l - cos 0) + [nix (r)sin 0
where
(n) = (/mnlT (4 = ( v Y z ) T
0 -n m
[nIX = [ -; ; ; ]
(l, m and n are the components of n referred to the chosen set of axes)
8.3.7 ROTATION ABOUT BODY A X E S
It is very common for rotation to take place about axes which are fixed to the body and not
to axes which are fixed in space For example, with the end effector, or hand, the axes of pitch, roll and yaw are fixed with respect to the hand
Let us first consider a simple case of just two successive rotations In Fig 8.13 a body with body axes UVW is initially lined up with the fixed XYZ axes The body is first rotated
by a about the Xaxis and then by y about the Z axis Exactly the same result can be obtained
by a rotation of y about the W axis followed by a rotation of Q about the U axis This can
best be demonstrated by using a marked box as shown in Fig 8.13(a)
The rotation matrix for the first case is
[RI = [Z,rl[x,aI
The form of a transformation matrix for rotation about the Xaxis is identical to that for rota- tion by the same angle about the U axis, similarly for the Y and V axes and also the Z and
Waxes So [Z,y][X,a] must be equivalent to [ W,y][U,a] Note that the matrix for the second rotation now -multiplies the matrix for the first rotation rather than =multiplying as it
Fig 8.13 (a)
Trang 12Kinematics of a robot arm 205
Fig 8.13 (b)
did in the case of rotation about fixed axes Because the first two rotations were completely abitrary it follows that the rule is general However, further justification will now be given After the two rotations just made a further rotation p is now made about the V axis This could be treated as a rotation about an arbitrary axis by rotating the body back to the initial position, rotating about the Y (or V ) axis and then rotating the body back again That is,
{rotate back} {[Y,p]} {return to base) {first two rotations)
[RI = [Z,rI[Xal [Y,PI [x,-al[Z,-rI [Z,rI[Xal
Note that [Z,-y][Z,y] = [X,-a][X,a] = [fl, the identity matrix This process can clearly be repeated for any further rotations about body axes
In summary, for rotation about a fixed axis the new rotation matrix premultiplies the exist- ing rotation matrix and for rotation about a body axis the new rotation matrix postmultiplies the existing rotation matrix
8.3.8 HOMOGENEOUS CO-ORDINATES
The objective of this section is to find a way of producing transformation matrices which
will allow for translation of a body as well as rotation
For a pure translation u of a body, a point defined by a vectorp, from some origin will be transformed to a vector pz where pz = p I + u, or in terms of their components
Pzr = Plr + 4
P2, = PI, + 4
P2 = PI; 4- u:
or
Trang 13206 Robot arm dynamics
For a combined rotation followed by a translation
If we now introduce an equation
(where (0) = (0 0 O)T, a null vector), we may now combine equations (8.23) and (8.24) to give
(8.25)
or, in abbreviated form,
Here ( 3 ) is the 4 X 1 homogeneous vector and [TI is the 4 X 4 homogeneous transfor- mation matrix In projective geometry the null vector and unity are replaced by variables so that the transformation can also accomplish scaling and perspective, but these features are not required in this application
For pure rotation (u) = (0) and for a pure translation [R] = [ I ] (the identity matrix) There-
fore if we carry out the translation first (which is simply the vector addition ofp, and u ) and then perform the rotation the combined transformation matrix will be
so the transformed vector is
(P2) = [ R l ( P l ) + [Rl(u) = [ R l ( ( P l ) + (0
as would be expected Note that rotation followed by translation produces a different result This is because the rotation is about the origin and not a point fixed on the body
8.3.9
Figure 8.14 shows a Cartesian co-ordinate robot arm It is required to express co-ordinates
in UVWaxes in terms of the XYZ axes This can be achieved by starting with the UVWaxes
coincident with the XYZ axes and then moving the axes by a displacement L parallel to the
2 axis, M parallel to the Xaxis and then by N parallel to the Y axis (The order of events in
this case is not important.) Writing this out in full we obtain the overall transformation matrix
TRANSFORMATION MATRIX FOR SIMPLE ROBOT ARM
O l O N 0 1 0 0 0 1 0 0
[: : : :I[: : : :I[ ," ," : :I_ [ 8 : : ,I
This result is equivalent to a single displacement of (M N L)T
We now consider a spherical co-ordinate arm as shown in Fig 8.15 again starting with the two sets of axes in coincidence First we could translate by d, along the Xaxis, then rotate
Trang 14Kinematics of a robot arm 207
Fig 8.15
by 0 about the Y axis followed by 8 about the Z axis The overall transformation matrix is
[Z,~l[Y,0l[d,l
ce -se o o c0 o s0 o l O O d ,
Trang 15208 Robot arm dynamics
c e c a -se ces0 dxcecO
-
The above sequence could be interpreted as a rotation of 0 about the Waxis, a rotation of 0 about the V axis and finally a translation along the U axis, as shown in Fig 8.16
K W
Fig 8.16
8.3.10 THE DENAVIT-HARTENBERG REPRESENTATION
For more complicated arrangements it is preferable to use a standardized notation describ- ing the geometry of a robot arm Such a scheme was devised in 1955 by Denavit and Harten- berg and is now almost universally adopted
Figure 8.17 shows an arbitrary rigid link with a joint at each end The joint axis is desig- nated the z axis and the joint may either slide parallel to the axis or rotate about the axis To make the scheme general the joint axes at each end are taken to be two skew lines Now it
is a fact of geometry that a pair of skew lines lie in a unique pair of parallel planes; a clear visualization of this fact is very helpful in following the definitions of the notation The ith link is defined to have joints which are labelled (i - 1) at one end and (i) at the other It is another geometric fact that there is a unique line which is the shortest distance between the
two z axes, shown as Nf-l to 0, on Fig 8.17, and is normal to both axes (and both planes)
If the joint axes are parallel then there is not a unique pair of planes, so choose the pair which are normal to N,-, 0, The origin of the (i - 1) set of axes by definition lies on the
z , - ~ axis but the location along this axis and the orientation of the x , - ~ axis have been deter- mined by the previous links
The ith set of axes have their origin at N, and the x, axis is the continuation of the line Nf-l
to 0, If the joint axes are in the same plane it follows that x, is normal to that plane This can be seen if the two planes are almost coincident