Computer modeling of spatial mechanisms for kinematic analysis and synthesis by John Michael Lowell A thesis submitted in partial fullfillment of the requirements for the degree of MASTER OF SCIENCE in Mechanical Engineering Montana State University © Copyright by John Michael Lowell (1982) Abstract: A methodology is presented from which a general purpose computer code for determining the kinematics (position, velocity, and acceleration) of spatial mechanisms may be generated. This methodology permits the equations which describe the mechanism kinematics to be assembled and solved by a program which only needs to read a concise data base describing the mechanism and type of solution desired. The inherent flexibility in this method permits modification of the mechanism configuration and characteristics by altering the data base describing the mechanism. Changing relatively few parameters in the data base makes possible the synthesis of motion. That is, for a given desired path or configuration of the mechanism, the values of the mechanism parameters (coordinates) can be determined without alterations in computer code. The method presented is well suited for multi-positional kinematic analysis and synthesis of complex spatial mechanisms with multiple degrees of freedom. Two examples of kinematic analysis using this method are presented. The first is a three degree of freedom closed loop mechanism. The second is the robot arm used on the space shuttle, which is a six-degree-of freedom mechanism. Examples of position, velocity, and acceleration solutions are given for both mechanisms. STATEMENT OF PERMISSION TO COPY In presenting this thesis in partial fulfillment of the require­ ments for an advanced degree at Montana State University, I agree that the Library shall make it freely available for inspection. I further agree that permission for extensive copying of this thesis for schol­ arly purposes may be granted by my major professor, or, in his absence, by the Director of Libraries. It is understood that any.copying or publication of this thesis for financial gain shall not be allowed without my written permission. Signature Date T n y Oufi, /9 A l . . COMPUTER MODELING OF SPATIAL MECHANISMS FOR KINEMATIC ANALYSIS AND SYNTHESIS by JOHN MICHAEL LOWELL A thesis submitted in partial fullfillment of the requirements for the degree of MASTER OF SCIENCE in Mechanical Engineering Approved: Chairperson, Graduate Committee tP. Head, Major Department Graduate Dean MONTANA STATE UNIVERSITY Bozeman, Montana M a y , .1982 iii ACKNOWLEDGEMENTS The Dr. H. author W. wishes Townes for performing this work. to t h a n k Dr. D. 0. B l a c k k e t t e r their advice and assistance and in TABLE OF CONTENTS Page V I T A ....................... ACKNOWLEDGEMENTS LIST OF TABLES ii .................... iii ............................. v LIST OF F I G U R E S ................ vi N O M E N C L A T U R E .................. ....................... ABSTRACT ........... CHAPTER I. CHAPTER II. CHAPTER III. CHAPTER IV. CHAPTER V. vii ix INTRODUCTION ............................ *. DEVELOPMENT OF V E C T O R EQUATIONS I . . . . 5 ASSEMBLY AND SOLUTION OF KINEMATIC EQUATIONS . . . ............ 11 MODELING AND SYNTHESIS . . . . . . . . CONCLUSIONS LITERATURE CITED ........................ 21 34 36 V LIST OF TABLES Table Page 1 Tripod Position Solution ......................... 25 2 Tripod V e l ocity solution 25 3 Tripod Acceleration Solution 4 LI Array Values For Shuttle Arm Model 5 IP Array Values For Shuttle Arm Example 6 Shuttle Arm Position Solution 7 Shuttle Arm Velocity Solution 8 Shuttle Arm Acceleration Solution . . . . . . . . . . . . .................. .25 . . . . .29 . . . . 29 31 .................. . ........... 32 33 vi LIST OF FIGURES ZiSJlTS Page 1 Schematic of Vector I 2 Flow Chart of Equation Assembly and Solution P r o c e d u r e . . . . . . . . 18 Flow Chart for Solution to Geometry using Newton's Method 19 3 ...................... ................ . 7 4 Vector Model of T r i p o d .................... 23 5 Space Shuttle Mechanical A r m .................. ■ , 27 6 Vector Model of Shuttle A r m .................. 28 vii NOMENCLATURE Symbol Description { AA} column matrix containing derivative of (PA) (AA1 ) second time derivative of (PAt ) (Equation 2.12) Ia1 ] 3 X 4 acceleration coefficient array for vector I (Equation 2.11) cI 4 X 1 array c 'l first time derivative of c ni second time derivative of M 1] [D] . i second time cosine squared constraint coefficient (Equation 2.5) * Cj c^ (Equation 2.9) (Equation 2.13) 3X4 displacement coefficient vector I (Equation 2.2) array n X m assembled displacement matrix for model (Equation 3.1) number of vectors in model (IA) array used to identify known and unknown accelerations (IP} array used to identify known and unknown geometry parameters (IV) array used to identify known and unknown velocities j [LI] m for. number of vector paths in the model path information matrix, stores information as to which vector is in which path and its direction number of kinematic equations, m is equal to j times three plus i viii Symbol np Description number of parameters defining model, np is equal to i times four {PA} column matrix containing all known and unknown geometry parameters (PAl) 1 X 4 2.3) (PD) path displacement matrix, contains X, Y , and Z displacement from beginning to end of each vector path ( (VA) c o lumn matrix containing first time derivative of (PA) (VA1 ) time derivative of (PAj) (V1) 3 X 4 velocity coefficient array (Equation 2.7) p a r a m e t e r a r r a y for v e c t o r I ( Equation (Equation 2.8) for vector Subscripts a denotes parameter in direction angle coordinate system c denotes parameter in. direction cosine coordinate system I corresponding to vector I I ix ABSTRACT A m e t h o d o l o g y is p r e s e n t e d f r o m w h i c h a g e n e r a l p u r p o s e c o m p u t e r c o d e for d e t e r m i n i n g the k i n e m a t i c s (position, velocity, and acceleration) of spatial m e c h anisms m a y be g e n e r a t e d . T h i s m e t h o d o l o g y p e r m i t s the e q u a t i o n s wh i c h describe the m e c h a n i s m kinematics to be a ssembled and solved by a program which only needs to read a concise data base describing the m e c h a n i s m and type of solution desired. Th e i n h e r e n t f l e x i b i l i t y in this m e t h o d p e r m i t s modification of the m e c h a n i s m configuration and character­ istics by altering the data base describing the mechanism. C h a n g i n g r e l a t i v e l y f e w p a r a m e t e r s in the d a t a b a s e m a k e s p o s s i b l e the s y n t h e s i s of m o t i o n . T h a t is, f o r *a g i v e n desired path or configuration of the mechanism, the values of the m e c h a n i s m parameters (coordinates) can be determined without alterations in computer code. The m e t h o d presented is well suited for multi-positional kinematic analysis and s y n t h e s i s of c o m p l e x s p a t i a l m e c h a n i s m s w i t h m u l t i p l e degrees of freedom. T w o e x a m p l e s of k i n e m a t i c a n a l y s i s u s i n g thi s m e t h o d are presented. The first is a three degree of freedom closed l o o p m e c h a n i s m . The s e c o n d is the robot a r m u s e d on the space shuttle, w h i c h is a six-degree-of freedom mechanism. Examples of position, velocity, and acceleration solutions are given for both mechanisms. CHAPTER I s INTRODUCTION Rapid advances in robotics and automated equipment for industrial, underwater, demands engineers on and to space design applications and a n a l y z e have placed increasingly sophisticated three-dimensional mechanisms. While the use of v e c t o r m e c h a n i c s to g e n e r a t e the e q u a t i o n s n e c e s s a r y for the kinematic analysis of three-dimensional mechanisms well known procedure, the d e r i v a t i o n and is a s o l u t i o n of the resulting equations is a lengthy process which typically has required a problem This t h e s i s specific computer code for solution. d oes not e n l a r g e on the b o d y of k n o w l e d g e related to m e c h a n i s m which a theory, but describes a methodology by three-dimensional, described with rigid a relatively concise base is used as input to a computer and sol v e the velocity, and represent problem the b ody equations which acceleration mechanism of model. mechanism data base. can be Thi s data code which can assemble determine each The the parameter computer d e p e n d e n t a n d can be u s e d for e i t h e r position used code to is not analysis or s y n t h e s i s by c h a n g i n g the data base. S y n t h e s i s as used in this thesis mechanism refers to determining the configuration required to obtain a given position, of the velocity, acceleration of some m e m b e r or point in the mechanism. or This 2 computer code developing frees the programs designer which are from only the useful necessity for a of single m e c h a n i s m and difficult to modify. In finite application element modeled and equations method technique the for the [1] governing the presented in the way equations position, resembles the mechanisms are assembled. v e locity, and Matrix acceleration * r e l a t i o n s of an a r b i t r a r y v e c t o r mechanics. are d e r i v e d u s i n g v e c t o r The o v e r a l l m e c h a n i s m e q u a t i o n s are a s s e m b l e d from these blocks of equations using information from a data base which describes the m e c h a n i s m configuration and type of solution desired. Kinematic problems are typically formulated as problems in vector analysis. However, a variety of solution techniques can be applied to the resulting vector equations. Some of the most graphical methods. c o m m o n l y used solutions, While vector these solution a l g ebra, techniques are techniques and complex methods of include number vector a n a l y s i s , e a c h m e t h o d of s o l u t i o n has i n h e r e n t a d v a n t a g e s and disadvantages. Historically, graphical techniques [2,3] have been the p r e d o m i n a t i n g t e c h n i q u e for s o l u t i o n of the k i n e m a t i c s of planar mechanisms. Since solution by graphical methods 3 requires d r a w i n g .of the position, polygons, become its accuracy is velocity and acceleration limited. Also, graphical ver y t e d i o u s w h e n m u l t i p l e p o s i t i o n methods s o l u t i o n s are desired. G r a p h i c a l m e t h o d s are d i f f i c u l t to use on spatial mechanisms. Solutions complex numbers advantages by algebraic [2,3] over methods, whether or vector algebra graphical techniques. [2,3], based have Accuracy on several is limited onl y by the a c c u r a c y of the p r o b l e m data and the n u m e r i c a l evaluation of the solution. Once the problem has been put in an a l g e b r a i c form, a k i n e m a t i c s o l u t i o n can be o b t a i n e d at different positions simultaneous usually e q u a tions. requires obtain a solution. spatial of the m e c h a n i s m However, tedious an by s o l v i n g algebraic mathematical [3], although the solution manipulations Algebraic methods are also ,mechanisms sets of applicable algebra is to to more complicated than for planar mechanisms. Chace, at the U n i v e r s i t y of M i c h i g a n , w a s one of the first to use vector notation to obtain closed form solutions to three-dimensional approach consists tetrahedron equation of in vector equations [4], defining solutions spherical coordinates to The a Chace vector according to the u n k n o w n s in the e q u a tions. The r e s u l t i n g n i n e p o s s i b l e 4 solutions are reduced to explicit closed-forms and can be q u i c k l y e v a l u a t e d . C h a c e u s e d this t e c h n i q u e to d e v e l o p the ADAMS (Automatic Dynamic Analysis of Mechanical Systems) computer code, one of the more widely use d industrial programs' for analysis of three-dimensional mechanisms. Garcia de Jalon, new technique coordinates to Serna, using solve and Viadero matrix the [5] have offered a methods kinematics of and spatial Lagrangian mechanisms. In this technique the m embers of a mechanism are represented by three or more points which are the Lagrangian coordinates for the m e m b e r . Geometric constraint equations c o n s t a n t d i s t a n c e b e t w e e n points, surfaces, c o n s t a n t a r e a Of p l a n a r and constant volume of solids are specified. derivatives analysis. requiring of th e s e However, equations this method are used for Time kinematic requires a previously known position which limits it's use for multi-position analysis. The p u r p o s e of this t h e s i s is to p r e s e n t a m e t h o d using classical vector mechanics from which a general purpose computer code may be developed to perform kinematic analysis and synthesis of spatial mechanisms. CHAPTER II DEVELOPMENT OF VECTOR EQUATIONS An arbitrary vector in coordinate system, parameters. One p a r a m e t e r the other can be The three direction one three be defining using the defined define an in Cartesian terms its of direction. direction angles parameters given position, for three-dimensional four is the l e n g t h of the v e c t o r and either calculated relationships be parameters defined can will a are not the arbitrary vector or cosines. independent other velocity, Direction two. and will as any Equations acceleration be developed in terms of these four parameters and their derivatives. One or m o r e v e c t o r s can be used to d e f i n e a m e m b e r or l o c a t e po i n t s of interest in a mechanism. With vectors defined in this o p t i o n of d e v e l o p i n g the k i n e m a t i c either two path the direction angles coordinate vector equations equations. of use of direction Use of results the forms cosine in direction results has in t e r m s the direction cosines. direction direction while define vector Use one equations systems yield different eq u a t i o n s . define or manner, nonlinear an g l e the vector to algebraic coordinates angles of These coordinates in nonlinear direction of the to transcendental also c o n v e r g e n c e p r o b l e m s w h e n an i t e r a t i v e m e t h o d causes is used to 6 solve the nonlinear mechanism. The equations time derivatives constraint equations coordinates are parallel to one matrices for for the of expressed the in identically satisfied of the T h i s can axes. the v e l o c i t y and geometry of cosine squared direction when a the angle vector is r e s u l t in s i n g u l a r acceleration relations at certain positions of a mechanism. Using direction cosines as * p a r a m e t e r s r e s u l t s in e q u a t i o n s w h i c h take less time to construct, show better convergence computer characteristics w h e n u s i n g an i t e r a t i v e t e c h n i q u e to solve them, and their derivatives do not yield a singular set of equations when a vector is axes. cosine variable attempting and parallel to convert coordinates variables, one of parameters accelerations coordinate to from systems. known i nto more the can and and result in unknown out of commonly However, problems angular the used use cosine units of when velocities variable in other Due to the a d v a n t a g e s of us i n g c o sine all equations were developed using the direction cosines. For convenience and. ease of programming, the parameters defining the arbitrary vector I shown in Figure I are stored in a parameter array {PA}, and subscripted in the following manner: 7 PA(4I-3) PA(4I-2) PA(4I-1) PA(4I) F I G U R E 1 S c h e m a t i c = L = Cos(Ax ) = cos(Ay ) = Cos(Az ) of V e c t o r I 8 P A(1*4-3) = Length of P A (I*4-2) = Cosine of P A ( I M - I ) = Cosine of P A (I *4) = Cosine of vector I the angle between X axis and vector I the angle between Y axis and vector I the angle between Z axis and vector I Two additional matrices, a velocity array acceleration array derivatives of subscripted the in the {A A } s t o r e {PA} same the matrix man n e r . first {VA}, and an and s e c o n d respectively, With vector time and are I d e f i n e d in this manner the component relations can be written in matrix form as: [dj](PA1 ) = x component J y component z component (2 .1 ) I where fpA(n+l) = X PA(n+2) P A (n + 3 ) [dr] (PA1 ) J 0 0 0 PA (n) P A (n + 1 ) > PA(n+2) P A (n+3) 0 0 0 (2 . 2 ) (2.3) I n = 41 - 3 I = vector number (2.4) W h i l e e q u a t i o n (2.1) d e f i n e s the c o m p o n e n t r e l a t i o n ­ ships for a single vector, as the three direction an additional cosines equation is needed are not i n d e p e n d e n t . T his equation states that the sum of the squares of the direction 9 cosines must equal one. In matrix form this is: Lc1J (PAi) =i (2.5) where L0 Lc iJ PA (n + 1 ) PA (n+2) PA(n+3)J j The v e l o c i t y r e l a t i o n s for v e c t o r I are g e n e r a t e d by taking the time derivative of the component in equation (2.1) yielding the following [ V 1 ] (VA1 ) relations given equa t i o n s : X component of velocity = <Y component of v e l o c i t y > Z component of velocity (2 .6 ) where P A (n+1) P A (n+2) P A (n + 3 ) [V 1 ] V A (n) < V A (n + 1 ) > V A (n+2) V A (n+3) (VA1 ] P A (n) 0 0 0 PA(n) 0 0 0 PA(n) (2.7) I (2 . 8 ) I The t i m e d e r i v a t i v e of the c o s i n e s q u a r e d c o n s t r a i n t equation (2.5) yields the additional [C1ij velocity relationship: (VA1 } = 0 (2.9) where (J'lj = L0 2*PA(n+l) 2*PA(n+2) 2*PA(n+3)J j 10 The by acceleration taking the relations second time for vector derivative of I are generated the component relations which y i e l d s : X <Y Z U [v j ]{AA j } + [a j]{V A j } component of acceleration component of acceleration r component of acceleration I (2710) where 4 V A (n + 1 ) V A (n+2) V A (n+3) [a j ] VA (n) 0 0 AA (n) < AA(n+l) > AA(n+2) A A (n + 3 ) (AA1 ) The second equation time 0 V A (n) 0 (2 .11) I (2 .12 ) I derivative of (2.5) yields the additional Lf"lj 0 0 VA (n) the cosine acceleration constraint equation: (VA1 ) = 0 (2.13) where # [f"lj = L0 Equations relationships relations can 2*VA(n+l) (2.1) for an then be thru 2*VA(n+2) (2.13) arbitrary use d to 2*VA(n+3)j define vector. define the kinematic These models j of vector large, complicated three-dimensional m e c h anisms with a wide variety of linkages. CHAPTER III ASSEMBLY AND SOLUTION OF KINEMATIC EQUATIONS Computer assembly of the k i n e m a t i c vector model of a m e c h a n i s m requires equations for a information describing the configuration of the model. The information necessary to generate the equations vectors displacement which describe vector contained in from to finish. start a given paths path and consists the More will be of relative said about i how these paths are determined in the following chapter on modeling. A set of matrices will be used to store the information describing the vector model of the mechanism. path information matrix, [LI], A stores the information as to w h i c h v e c t o r is c o n t a i n e d in w h i c h pat h and its direction. The [LI] matrix, which is number of p a t h s by number of v e c t o r s in size, c o n t a i n s one r o w of i n f o r m a t i o n for each pa t h in the m e c h a n i s m . E a c h row c o n t a i n s an i d e n t i f i e r for each v e c t o r vector minus in the m o d e l , this i d e n t i f i e r is in the particular one if in the path negative is a one if the in the positive direction, direction, and zero if the v e c t o r is not in the path. The t e r m s in the [LI] m a t r i x are used as m u l t i p l i e r s on the [dj], [v%], and [aj] matrices when assembling the kinematic equations for the mechanism. A second information matrix, (PD], contains the X, Y, 12 and Z displacements This {P D } m a t r i x length. paths The and from beginning to end of a vector path. is values three of non-zero the for times {PD} ope n the array paths. number of are z e r o The paths in for c l o s e d terms PD(3*J-2) , P D (3* J - 1 ), and P D (3*J) r e p r e s e n t the d i f f e r e n c e s in the X, Y , and Z c o o r d i n a t e s , respectively, from the b e g i n n i n g to end of the J - th path. Geometry The generation of the geometry equations for the model f r o m the i n f o r m a t i o n s t o r e d in the [LI] and [PD] a r r a y s is done in the following man n e r . The matrix [D] is used to store the a s s e m b l e d d i s p l a c e m e n t e q u a t i o n s for all v e c t o r pa t h s plus the c o s i n e s q u a r e d c o n s t r a i n t e q u a t i o n s and is generated as follows: (3.1) [D] [d i ]* L I (I ,I) [d-J *LI(2,1) [d 2 ] *LI (1,2) [d2 ] * L I (2,2) .........[d n p I * L I (I ,i) ......... [dnp ] * L I (2,i) [d1 ]*LI(j,l) Cl 0 0 [d 2 ]* L I (j ,2) 0 ......... (dn p i*LI(j,i) • • • • • 0 ......... 0 • c2 0 • • 0 . 0 0 . . . , ............. C i w h e r e j is n u m b e r of p a t h s , i is the n u m b e r of vectors, and 13 np is the n u m b e r of p a r a m e t e r s in the model. The geometry equations are then written as: ' D 1 {PA) ' This is a set of m nonlinear i?j} . equations ,3.2, in np p a r a m e t e r s , w h e r e m is equal to the n u m b e r of v e c t o r s plus three t i m e s the n u m b e r of paths, and np is g r e a t e r than m. T h e r e f o r e np minus m parameters must parameters is the number be known. The number of known of degrees of freedom available in the model. The {IP} array unknown parameters one, is then PA(L) known. The rearrange is used to identify the in the following manner: is unknown; if IP(L) information equation equations by moving (3.2) in to the a if IP(L) equals zero, {IP} m-by-m known array set equals then PA(L) is of and u sed to nonlinear known quantities to the right-hand side of the equation. On c e equation (3.2) has bee n rearr a n g e d , used to solve for the geometry of the mechanism. has used the Newton-Raphson method it m a y be The author or generalized Newton's m e t h o d [6] for solution. N e w t o n ' s m e t h o d s o l v e s the set of nonlinear linear equations equations in several (3.2) times by solving a related to converge to the set of solution I 14 of the nonlinear equations. storage of the convergence, but [D ] Newton's method does not require matrix does and require results an values of the unknown parameters. initial in guess As nonlinear general have several possible solutions, very rapid for the equations in the initial guesses m u s t be r e l a t i v e l y c l o s e to the v a l u e s w h i c h r e s u l t in the mechanism being in the desired orientation, otherwise i convergence to an alternate orientation may occur. For small movements of the mechanism, an excellent guess the previous position serves as for the current position analysis. Velocity On c e the geometry of the mechanism is known, the velocity relations for the mech a n i s m are generated by taking the time derivative of equation (3.2) which yields: [ V ] {VA} = {0} (3.3) where [V] = (3.4) [V1 ] *LI(1,1) [V1 ]*LI(2,1) [v2 ]*LI(1,2) [v2 ] * L I (2,2) [VjP L K j fI) Iv2P L K j , 2) S': 0 0 ......... ......... [vn p ]*LI(l,i) [v n p ] * L I (2,i) [vn p P L I ( j , i) 0 0 . 0 . c'i 15 The {IV} a r r a y is used to i d e n t i f y k n o w n and u n k n o w n velocity parameters used to identify information in in the s a m e the the manner geometry { IV} array the {IP} parameters. equation a r r a y is Using (3.3) the can be r e a r r a n g e d so that all k n o w n q u a n t i t i e s m o v e to the right h a n d side and are s u m m e d . parameters are expressed K n o w n t i m e d e r i v a t e s of a n g u l a r in terms of the cosine coordinate s y s t e m in the f o l l o w i n g m anner. Let P A a a n d V A a r e p r e s e n t the corresponding direction angle and it's derivative r e s p e c t i v e l y , the c o r r e s p o n d i n g t i m e d e r i v a t i v e in c o s i n e coordinates, V A c f is then calculated with the following coordinate transformation: V A c = -VAa Sin(PAa ) Equation velocities (3.3) is a linear set (3.5) of equations in and is s o l v e d u s i n g an exact t e c h n i q u e such as Gauss elimination [7]. Acceleration Wifih the p o s i t i o n s components from known, the acceleration the time derivates [ A ] {VA} I and v e l o c i t i e s , of equation + of the mechanism relations can be obtained (3.3) which yield: [ V ] {AA} = {0} (3.6). 16 where (3.7) I a 1 ] * L I ( 1 ,1) Ia1 ] * L I (2 ,I ) [ a 2 ] * L I ( I ,2) [a2 ] * L I (2,2) [a 1] * L I ( j , l ) c"l 0 0 Since equation (a2 ] * L I (j ,2) ...................... . . . . . [ anp ] * L I ( I , i) [ aj - j p] * L I ( 2 , i ) .......................t a n p H L I ( j , i ) c "2 0 • 0 0 O • • • . . . .................................. C " i [A] and {VA} are f u n c t i o n s of k n o w n quantities, (3.6) can be rewritten as: [ V ] {AA} = -{Y} (3.8) where {Y} = [ A ] {VA}. (3.9) The { I A } a r r a y is use d to i d e n t i f y k n o w n and u n k n o w n acceleration parameters in the same manner as the {IP} array identifies geometry parameters. {IA} array equation (3.6) can Using the information in the be known quantities are moved to the to rearranged {Y } . The known accelerations are expressed second time derivative of that all right hand side and added coordinate system in the following manner. the so in the cosine Let AA a represent P A a , the corresponding 17 acceleration in c o s i n e coordinates, A A c , is g i v e n by the following coordinate transformation: AAc = -AAa Sin(PAa ) - V A a 2Cos(PAa ) Once rearranged equation equations in (3.6) is a m - b y - m accelerations and may be (3.10) set of l i n e a r solved by Gauss elimination or some other exact technique. A f t e r the k i n e m a t i c c a l c u l a t i o n s are c o m p l e t e d , the calculated first and second time derivatives of the angular parameters can be expressed in terms of the direction angle coordinate system by the following coordinate transformations: V A a = -VAc/ s i n ( P A a ) (3.11) AA a = -AAc - V A a 2COt(PAa ) (3.12) One should note that [V] is the total derivative of the [D] m a t r i x and is u s e d in N e w t o n ' s m e t h o d to c a l c u l a t e the differential changes in {PA} for each it e r a t i o n . The [V] m a t r i x is a l s o the c o e f f i c i e n t m a t r i x in the v e l o c i t y a n d acceleration calculations. Figures 2 and 3 show flow diagrams for a computational scheme which takes advantage of the fact that only the [V] m a t r i x n e e d be s t o r e d and can be rearranged using the {IP}, {IV}, a n d { I A } a r r a y s to solve 18 START INPUT [LI], {IP} INPUT KNOWN POSITIONS AND GUESSES FOR UNKNOWN POSITIONS INPUT KNOWN VELOCITIES AND ACCELERATIONS SOLVE FOR GEOMETRY}* G ENERATE TvTI TRANSFORM KNOWN VELOCITIES TO COSINE COORDINATES REARRANGE [VI USING SOLVE FOR VELOCITIES USING GAUSS ELIMINATION TRANSFORM KNOWN ACCELERATIONS TO COSINE COORDINATES MULTIPLY OUT REARRANGE [V] [A]{VA} | USING {IA} SOLVE FOR ACCELERATIONS USING GAUSS ELIMINATION TRANSFORM TO DESIRED COORDINATES FOR PU TPUI FIGURE 2 Assembly Flow and Chart Solution of Equation Procedure 19 GENERATE [V] USING APPROXIMATE {PA} GENERATE RESIDUAL BY [D ] {PA} REARRANGE [V] USING {IP} SOLVE FOR DIFFERENTIAL CHANGE IN {PA} WITH GAUSS ELIMINATION UPDATE (PA)I / T E S T FORs CON V ERGANCE RETURN FIGURE to 3 Geometry Flow Chart using for Solution Newton's Method -20 for u n k n o w n p o s i t i o n s , other coefficient velocities, matrices can multiplication to a column array and a c c e l e r a t i o n s . All be reduced by matrix and m o v e d to the right-hand side of the equations. Th i s m e t h o d is q u i t e g e n e r a l and can be u s e d to solve for a variety {IP}, {IV}, of and known {IA} and unknown arrays need parameters not be since identical. the This * p r o c e d u r e a l l o w s k n o w n g e o m e t r y p a r a m e t e r s to hav e e i t h e r known or unknown derivatives. CHAPTER IV MODELING AND SYNTHESIS Use of c o n c i s e input to d e f i n e a m e c h a n i s m m o d e l for computer generation of the kinematic equations efficient way to perform kinematic analysis. is an The method used here to define a m e c h a n i s m model is a vector path method. A vector path is compo s e d of vectors which define the relative p o s i t i o n of m e m b e r s , mechanism. model interest, <$ It is important to realize that a vector need not be on or define the or l o c a t e p o i n t s of i n t e r e s t in the to an actual physical link, but m a y be part of constrain other vectors, locate points of or to be used for synthesis. A m e c h a n i s m model is d e f i n e d by a c o m p l e t e set of v e c t o r paths. A l o o p is a pat h w h i c h s t a r t s a n d e n d s at the s a m e point. defining arrays paths defined and in l o op s the is stored previous The i n f o r m a t i o n in the chapter. [LI] The and {PD} vector path method allows relatively concise input for model definition, yet is adaptable even complicated internal Two informal defining very complex mechanisms with structures. "rules" a complete mechanism. to set have been of v e c t o r developed paths when to aid in modeling a These vector path rules are: I. A v e c t o r p a t h m u s t be m a d e a r o u n d e a c h " i n t e r n a l " lo o p in the mechanism. These loops h ave zero offset and 22 usually define a solid body other than a rod. 2. If "grounded", system, one or i.e. more points attached to a single ground point in the the mechanism Newtonian is selected, are coordinate and vector paths are g e n e r a t e d f r o m this p o i n t to e v e r y other g r o u n d point. The d i f f e r e n c e s two points in the three C a r t e s i a n c o o r d i n a t e s of the yield the corresponding terms in the path 4 displacement array, {PD}. Rod s w i t h ball j o i n t s on e a c h end can be r e p r e s e n t e d by a single vec t o r , d e f i n e d by m o r e while more complicated t han one vector. R ods w i t h members are pinned joints n e e d t w o a d d i t i o n a l v e c t o r s , one to r e p r e s e n t the pin, a n d the oth e r to d e f i n e the a n g l e the p i n m a k e s w i t h the rod. A plate that has three other members connected to it is r e p r e s e n t e d by the t h r e e v e c t o r s w h i c h f o r m a c l o s e d p a t h around the members connection with more m o d e l e d as s e v e r a l points. than three plates, Complex three-dimensional connection each containing points can be three vectors which form a loop thru three connection points. Example I A vector mechanism, model of a tripod, a three e l e m e n t spatial is s h o w n in F i g u r e 4. Each of the t h r e e v e c t o r s s h o w n in the m o d e l r e p r e s e n t s a rod w i t h ball j o i n t s on e a c h 23 Z FIGURE 4 Vector Model of T r i p o d 24 end. Th i s f rom the o r i g i n to the p o i n t (10,0,0) a l o n g v e c t o r s one and two, the other one model from and the origin three. configuration contains The two vector to the p o i n t [LI] paths, (0,10,0) information one along vectors matrix for this is then: [LI] The assembled for this model 1 - 1 0 1 0 - 1 = [V] coefficient matrix from equation (3.4) is: [V1 ] -[v2 ] [0] [V1 ] [0] -[v3 ] c 'l 0 0 0 c'2 0 0 0 w h i c h is a s y s t e m of nin e e q u a t i o n s in t w e l v e p a r a m e t e r s . The [V] matrix is the onl y c o e f f i c i e n t must be generated and stored as rearranging the information in the [IP], the necessary velocities, and coefficient and matrix which [V] according to {IV], and {IA] arrays generates matrices accelerations, to solve respectively for (see positions, Figures 2 3). Tables 1-3 give an example of the solution to the k i n e m a t i c s of the t r i p o d m e c h a n i s m w h e n all t h r e e l e n g t h s 25 TABLE I TRIPOD POSITION SOLUTION =========================================================== Underlined values are known inputs Vector Number I 2 3 Length (inches) 10.00 8.00 12.00 Angle with Axis X Y 47.16 113.58 55.48 (Degrees) Z 73.74 69.51 126.87 47.34 32.11 55.62 4 TABLE 2 TRIPOD VELOCITY SOLUTION Underlined values are known inputs Vector Number Length Velocity (in/sec) I 2 3 I .00E+00 2.00E+00 - I .00E+00 Angular Velocities Relative To Coordinate Axis (rad/sec) X Y Z 1.75E-01 -2.00E-01 -6.68E-02 -•2.73E-02 -2.00E-01 1.24E-02 3.37E-03 - I .67E-01 - I .75E-01 TABLE 3 TRIPOD ACCELERATION SOLUTION =========================== ================================= Underlined values are known inputs VECTOR NUMBER I 2 3 LENGTH ACCELERATION (in/sec2 ) 5.00E-01 -5.00E-01 7.50 E-OI ANGULAR ACCELERATION RELATIVE TO COORDINATE AXIS (rad/sec2 ) X Y Z -9.86E-02 8.46E-02 1.26E-01 -4.06E-02 1.15E-01 -6.33E-02 -1.75E-02 -1.22E-02 4.52E-02 26 are known. Simply altering the {IP}, {IV}, and {IA } information matrices would allow solution to the kinematics problem with a different set of known parameters. Example Z The mechanical Figure 5 [8], arm used on the space shuttle shown in is a s p a t i a l mechanism with six d e g r e e s of f r e e d o m . The v e c t o r m o d e l of the a r m is s h o w n in F i g u r e 6, with the [LI] information matrix for the m o d e l given in Table 4. This model of the arm consists of seventeen vectors a r r a n g e d in nine paths. A total of fo r t y four e q u a t i o n s in sixty eight analysis. either parameters This analysis depending model or on which of must the synthesis twenty knowns in the {IP}, {IV}, be arm of four solved can be for kinematic used to robotic motions parameters are perform of the arm specified and {IA} arrays. For k i n e m a t i c a n a l y s i s of the space s h u t t l e arm, following of all parameters the parameters), vectors would typically be known, except six (a total the the lengths of sixteen two of the direction cosines of vector one and the six degrees of freedom in the mechanism, twenty as four known parameters. The for a total of six degrees of freedom in the mechanism can be specified in the model in the following manner: no FIGURE 5 Space Shuttle Mechanical Ar m F I G U R E 6 Vector Model of S h u t t l e A r m 29 TABLE 4 LI ARRAY VALUES FOR SHUTTLE ARM MODEL ================================================= Path Number kDCD'JCTiUl^UIMM I =========== I 0 0 0 0 0 0 0 I 2 3 4 5 0 0 I 0 0 I 0 0 0 0 0 0 0 0 0 0 I I == = = 0 0 0 I I 0 0 0 I 0 0 0 0 0 0 I I I Vector Number I 8 9 10 11 LI Array Values 0 I I 0 0 0 0 I 0 I 0 0 0 I 0 0 I 0 0 I 0 0 0 I 0 0 0 0 0 0 0 -I 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 I 0 0 0 0 0 ====== 6 12 13 14 15 16 17 0 0 0 0 0 0 0 I 0 0 0 0 0 0 0 0 0 0 I 0 I 0 -I I 00 0 0 0 0 0 I 0 0 0 0 0 0 0 0 0 I 0 0 0 0 0 0 0 0 0 I 0 0 TABLE 5 IP ARRAY VALUES FOR SHUTTLE ARM EXAMPLE ============================================================ IP = I means unknown parameter value IP = 0 means known parameter value Vector Number I 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ============= Length 0 0 0 0 0 I 0 0 0 0 0 0 0 0 0 0 0 Direction Cosine Parameters X Y Z 0 0 I I I 0 I I 0 I I 0 0 I I I I I I 0 I I I I I I I I I I I I I I I I I 0 I I I I I I I I I I I I I ================================ ===== 30 Shoulder Pitch Shoulder Yaw Elbow Pitch Wrist Pitch Wrist Yaw Wrist Roll - Z angle Y angle Z angle Z angle X angle Y angle of of of of of of vector vector vector vector vector vector two seven three four five thirteen Th e s e six p a r a m e t e r s w o u l d t hen h ave k n o w n v e l o c i t i e s a n d accelerations parameters associated would with typically t h e m . The have known other known velocities and i accelerations of zero. The {IP} array for this set of known parameters is g i v e n in T a b l e 5. For this e x a m p l e the {IV} a n d {IA} a r r a y s were the necessary. same as the {IP} array although this Tables 6-8 give an example of position, was not velocity, and acceleration solutions for the shuttle arm model. Synthesis of mech a n i s m or servo coordinates of the arm is accomplished by specifying the length and two of the d i r e c t i o n c o s i n e s for v e c t o r six and a l l o w i n g any three of the degrees of freedom to be unknowns. by appropriate changes in the {IP}, This is accomplished {IV}, with no need to alter any computer code. and {IA} matrices, 31 TABLE 6 SHUTTLE ARM POSITION SOLUTION ========================================================= Known Parameters are Underlined Vector Number I 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 Length (inches) 36.00 251.00 287.00 36.00 36.00 576.75 100.00 106.28 270.19 295.44 106.28 50.91 36.00 36.00 50.91 106.28 50.91 Angle with Axis X Y 90.00 8.07 11.40 40.09 40.00 177.38 87.00 92.82 159.91 160.07 107.96 121.65 91.37 50.07 174.17 99.68 95.04 90.00 92.97 92.95 92.30 85.87 87.40 3.00 159.98 108.75 106.84 157.82 139.06 5.00 91.93 87.01 18.01 94.29 (Degrees) Z 180.00 82.50 79.00 130.00 129.70 90.37 90.00 70.20 96.97 100.34 77.43 66.90 85.19 40.00 95.00 105.04 6.62 32 TABLE 7 SHUTTLE ARM VELOCITY SOLUTION Known Velocities are Underlined Vector Number Length Velocity (in/sec) I 0.00E+00 2 0.Q0E+00 3 0.00E+00 4 0. 00E+00 5 0.00E+00 6 -6.75E+00 7 0.OOE+OO 8 0.00E+00 0.00E+0n 9 10 o .ooE+on o.ooE+nn 11 o .ooE+no 12 13 0.00E+00 14 0. 00E+00 15 0.00E+00 o .ooE+nn 16 17 0 .00E+00 ============== Angular Velocities Relative To Coordinate Axis ♦ (rad/sec) X Y Z 0.00E+00 0 .00E+00 0.0E+00 - I .13E-01 I .OOE-Ol -4.89E-02 8.34E-02 - I .OOE-Ol -5.01E-02 4.67E-02 5. 00E-02 -4.00E-02 I .OOE-Ol -8.95E-01 -3.06E-02 I .02E-01 I .03E-01 3.32E-03 — 5.00E-O2 -1.43E-07 5.00E-02 -4.70E-02 7.19E-03 1.43E-07 -1.15E-02 4.89E-02 -9.28E-02 -9.51E-02 5.01E-O2 9.39E-02 -6.01E-02 4.24E-02 -1.33E-02 - I .42E+00 9.73E-01 -4.19E-01 -I.OOE-Ol 1.64E+00 5.70E-01 -5.21E-02 -3.01E-02 5.00E-02 6. 85E-02 4.96E-02 -5.00E-02 6.14E-02 2.50E-02 - 1 .13E-02 -7.40E-02 6.12E-01 3.41E-01 ============ ====================== TABLE 8 SHUTTLE ARM ACCELERATION SOLUTION ============================= =========== Known Acceleration Inputs are Underlined Vector Number Length Acceleration (in/sec2 ) I 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 0 .00E+00 0.OOE+OO 0. 00E+00 0 .00E+00 0. 00E+00 2.50E+01 0 .OOE+OO 0.00E+00 0 -00E+00 0.00E+00 0 . OOE+OO 0. OOE+OO 0.OOE+OO 0.OOE+OO 0 .OOE+OO 0.OOE+OO 0.OOE+OO Angular Accelerations Relative To Coordinate Axis (rad/sec2 ) . X Y Z 0. OOE+OO 0.OOE+OO 0.OOE+OO I.OOE-Ol - I . IlE-Ol -5.07E-02 -I -OOE-Ol I.IlE-Ol -4.87E-02 -5.00E-02 - 4 . 93E-02 -3.35E-02 5. 0 0E— 02 1.70E+01 9.22E-01 - I . OOE+OO -1.01E+00 -3.93E-02 -5.00E-02 5.00E-02 -1.32E-07 - 4 . 7 OE-02 4.72E- 02 1.33E-07 - 4 . 4 6 E- 02 5.07E-02 -9.03E- 02 -1.04E-01 4.87E-02 9.37E-02 -3.76E-02 3.48E-02 I .38E-02 -7.33E+00 - 1 .73E+01 -3.03E+01 I -OOE-Ol 1 .03E+01 3.87E+01 4.48E-02 -5.20E-02 -5.00E-02 -1.49E-02 6.04E-O2 5.00E-02 3.48E-02 3.94E-02 1.06E-02 -2.66E-03 -1.21E+01 -5.57E+00 CHAPTER V CONCLUSIONS The m e t h o d of m e c h a n i s m m o d e l i n g p r e s e n t e d a l l o w s a designer to kinematic write modeling mechanisms. kinematic a general of purpose multi-degree 'program of freedom for the spatial O n c e w r i t t e n t his c o d e can be u s e d to p e r f o r m analysis or synthesis of a wide variety of m e c h a n i s m s w i t h no a l t e r a t i o n s of the c o m p u t e r code. O n l y the da t a base which describes the m e c h a n i s m and type of solution desired are problem specific. The m e t h o d p r e s e n t e d their time derivatives uses to the define direction the cosines kinematics and of a mechanism. A pre- and post-processor program can be written to allow inputs and outputs to be in any convenient coordinate system or units. The method presented has several advantages. It is well suited degrees for of multi-positional freedom, can analysis, model very permits multiple complex spatial mechanisms, permits a n a l y s i s of d i f f e r e n t c o n f i g u r a t i o n s , and can perform limited synthesis of multi-degree of freedom spatial mechanisms. LITERATURE CITED LITERATURE CITED Zienkiewicz, 0. C . , The Finite Element Method in Engineering S c i e n c e . London: McGraw-Hill Publishing C o m p a n y , 1971. S h i g l e y f J. E . f and J. J. D i c k e r , Theory of Machines and M e c h a n i s m s , New Y o r k : McGraw-Hill Publishing Company, 1980. Paul, B., Kinematics and Dynamics of Planar M a c h i n e r y . Englewood Cliffs: Prentice-Hall, Inc., 1979. C h a c e , M. A., "Vector Analysis of Linkages", J. Eng. Ind., ASME Trans., ser. B, v o l . 85, no. 3, pp. 289-297, 1963. 4 Garcia de Jalon, J., Serna, M. A., Viadero, F., and F l a q u e r , J., "A Simple Numerical Method for the Kinematic Analysis of Spatial Mechanisms", Journal of Mechanical Design, ASME Trans., vol 104, no. I, pp 78-82, 1982. O r t e g a , J. M., and Rheinbolt, W. C., Iterative Solution of Nonlinear Equations in Several V a r i a b l e s . New Y o r k : Academic Press, Inc., 1970 Hornbeck, R. W., Numerical M e t h o d s . New York: Quantum Publishers, I n c . , 1975 T o w n e s , H. W., B l a c k k e t t e r , D. O., and L o w e l l , J . M., "Robot Kinematics Using a Microcomputer", presented at Society for Computer Simulation Conference on Modeling and Simulation on Microcomputers, Jan. 28-30, 1982, San Diego, CA. Published in the proceedings. MONTANA STATE UNIVERSITY LIBRARIES stks N378.L9515@Theses RL Computer modeling o f spatial mechanisms 3 1762 00118770 5 UR N378 L9515 cop.2 Lowell, J. M. Computer modeling of spatial mechanisms for kinematic analysis... DATE - ^ IS S U E D T O .1 I " 9 4 4 " G S lX . Z f Z/-Z