Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 20 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
20
Dung lượng
560,51 KB
Nội dung
8 Robot Arm Dynamics 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 Typical 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 Fig. 8.5 Kinematics 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’ + y2) c = , (r‘ + 2’) A = arccos [ (L: + c’ - L:) / (~L,c) 1 B = arcsin [ (L,/L,) sinA 3 8, = arctan (ZIT) - B ~,=A+B 8.3.1 VECTOR-MATRIX REPRESENTATION 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 198 Robot am dynamics Fig. 8.6 If we let (PI = @XP."Pd' and (e) = (ijklT then P = (eIT(p) (8.5) P = V)'(P? (8.6) 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 P = (e')'(p? = (4'(P) (8.7) Kinematics 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 ) = [ jf. il jf.jl jl. kl ] k’ k’. i’ k1.j’ k’. k’ =[; 8 B] (8.9) so that equation (8.8) reads (P’) = (e’>(e)T(p) (8.8a) and 3.i 3.j 3.k (e’)(e)T = (;:)(ijk) = [ j’.i j’.j j’.k] k‘ k’. i k’. j k’. k - - [’ : 11 (8.10) 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 (Ma) 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 200 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 FT’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 UWaxes 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 UW so that its components (pi) = [11c](p2), but because the vector is fixed relative to the UWaxes, (pi) = (p,’) = (pl) and thus (PA = [‘Ql-I(PI 1. If we define the rotation matrix [R] by (pJ = [R](pl) then [RI = [a]-’ = [a]’ = (e)(e’)’ ROTATION ABOUT X, Y AND 2 AXES (8.1 1) 8.3.4 In general the rotation matrix is given by ( 1) [ i. i’ i. j’ i. k’] [R] = j (Tj’k’)= ji’ jj‘ jk‘ (8.12) k. i’ k. j’ k. k‘ So for rotation of the UWaxes 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 Kinematics of a robot arm 201 Fig. 8.10 0. 0 [R],, = 0 cos a -sin a (8.12a) [ 1 sina 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] [RI.b:, = (8.13) and for a rotation of y about the Z axis cosy -sin y 0 [RI,,= [ si;Y CYY : ] (8.14) Note that by inspection [%U1 = [Rlx:u = [Rlx u (8.15) 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 (pl) as seen from the fixed axes is rotated about the Xaxis by an angle a, then the new components are (PJ = [xal(Pl) (8.16) SUCCESSIVE ROTATIONS ABOUT FIXED AXES 202 Robot arm dynamics If now this vector is rotated about the Y axis by an angle j3 then the components will be (PJ = [Y¶Pl(P2) = [Y,PI[xal(P,) (8.17) 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 cos P 0 sin P 0 0 PI = [Y,Pl[X,al = [ 0 1 0 ] [ i coo; -Si.si;] - - [ c: Ca -Sa ] -sin P 0 cos j3 SPSa SPCa -SP CPSa CPCa 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 Kinematics 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) {step 3 1 {step 2) {step 1 1 (8.18) (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 = IrIcosa=ON and Inxrl = IrIsina = NP = NQ Note also that the direction of n X r is that of VQ. + Now +++ r'=ON + NV + VQ = n(n * r) + [r - n(n . r)] cos 0 + (n x r) sin 0 Fig. 8.12 [...]... rotate Kinematics 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 I: ;11[ , :7 :I[ ce -se o o ce o o ," :I c0 o s0 o l O O d , 1 0 0 0 ," 1 0 0 ,": 208 Robot arm dynamics [-,”” ceca - S0C0 : -se ces0 C O S0S0 C ; dxcecO dxSBCs - d r ] The above sequence could be interpreted as a rotation of 0 about the Waxis, a rotation... Kinematics o a robot arm 2 11 f Fig 8.18 In this arrangement d , , a2 and a3 are constant so that the relevant A matrices are [ i [ -: ;,I [ %; 3' ; j [ i' ! a37] ce, o se, o oL41,= CB, -S0, ,[A12= 0 a,C0, a27 C8, -SO3 *[A13 = 0 c : The overall transformation matrix is o[A13 = o[A]i ~ [ A l zz[A13 The elements of this matrix are A , , = cos 8, cos(0, + 0,) &e3 2 12 Robot arm dynamics A,, = -cos 8, sin(8,...204 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)... is achieved by the following actions: 1 2 3 4 Rotate by 8, about the z , - ~axis Translate by d, along the z , - ~axis Translate by a, along the x, axis Rotate by a, about the x, axis 2 10 Robot ann dynamics The first two transformations are relative to the current base frame (xy~),-~ the last two while are relative to the body axes (qz),.Thus the overall transformation matrix is = [TJ, I ,d,l[TJ,-... by a vectorp, from some origin will be transformed to a vector pzwhere pz= pI + u, or in terms of their components Pzr = Plr + 4 P2, = PI, + 4 P2 2 = PI; 4- u: or (Pz)= (PI) + (4 (8.22) 206 Robot arm dynamics For a combined rotation followed by a translation ( P A = [Rl(Pl) + (u) If we now introduce an equation (8.23) (8.24) 1 = (o)T(Pl)+ 1 (where (0)= (0 0 O)T, a null vector), we may now combine equations . 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. 8 Robot Arm Dynamics 8.1 Introduction In this chapter we examine the way in which three-dimensional dynamics is applied to a sys- tem of rigid bodies. -se o o c0 o s0 o lOOd, ce o o 100 0100 I:: ," ; 11[ , : 7 :I[ ," ,": :I 208 Robot arm dynamics ceca -se ces0 dxcecO S0C0 CO S0S0 dxSBCs - - [ -,””