DEVELOPMENT AND APPLICATION OF VECTOR MATHEMATICS FOR KINEMATIC ANALYSIS OF THREE-DIMENSIONAL MECHANISMS Milton A. Chace A dissertation submitted in partial fulfillment of the requirements for the degree of Doctor of Philosophy in the University of Michigan Department of Mechanical Engineering 1964 July, 1964 IP-676

.-b V)

A CKNOWLEDGMENTS The author is very grateful for the interest, counsel, and support of his thesis committee —particularly that of the chairman, Professor Shigley. The contributions of Professor G. J. Van Wylen, Professor F. H. Westervelt, Mr. D. P. Hedding, and the members of the IBM Automotive and Machine Design Project are also appreciated. This work was made possible by the financial support of the Ford Motor Company, the Ford Foundation, the International Business Machines Corporation, the Shell Oil Company, and Texaco, Incorporated. To these organizations,and to their management, the author extends his most sincere thanks. iv

TABLE OF CONTENTS Page ABSTRACT............................ ii ACKNOWLEDGMENTS............ iv LIST OF FIGURES............ vii LIST OF TABLES..................... x NOMENCLATURE.......... ix 1.0 INTRODUCTION.............. 1 2.0 METHOD OF ANALYSIS....... 7 2. 1 Terminology and Basic Operations.... 7 2. 2 Outline of Method........... 7 2.2. 1 Problem Formulation. 7 2. 2.2 Position Solution.. 16 2. 2. 3 Motion Solutions.... 2 1 2.2.4 Position and Motion of Any Point 25 2.2.5 Force Solutions. 27 3. 0 DIRECT SOLUTION OF THREE-DIMENSIONAL EQUATIONS......... 34 3. 1 Symmetry Solutions............ 34 3. 1. 1 The Tetrahedron Solutions. 35 3. 1.2 Supplemental Solutions.... 63 3.2 The Eliminant.......... 67 3.3 Application............ 77 3.3. 1 Direct Use of the Tetrahedron Solutions.......... 77 3.3.2 A Four-Bar Linkage with TurnSlide Pairs........ 82 4. 0 MOT ION.............. 91 4. 1 Development.............. 91 4. 1. 1 Vector Loop Equations... 91 4. 1.2 Expressions for Derivatives. 92 4. 1.3 Solution Procedure...... 96 4.2 Application............... 98 v

TABLE OF CONTENTS CONT'D Page 5.0 FORCE............. 104 5. 1 Development............... 104 5.2 Application.............. 113 BIBLIOGRAPHY................ 126 APPENDIX A. COMPUTER PROGRAMMING... 134 A. 1 Preliminary.......... 134 A. 2 Conventions..........., 136 A. 2. 1 Categorization of External Functions Acccording. to Task.. 137 A. 2.2 Names of Variables and External Functions....... 137 A. 2. 3 Order of External Function Argument s....... 138 A. 2.4 Value of an External Function 140 A 2. 5 Storage of Arrays and Vectors. 140 A. 3 Description of External Functions. 141 A. 3. 1 Basic Functions... 142 A. 3.2 Intermediate Functions.146 A. 3.3 Special Functions. 155 A. 3.4 Auxiliary Functions...... 165 vi

LIST OF FIGURES Figure Page 2. 1 Two- Dimensional Offset Slider- Crank Mechanism................. 14 2. 2 Graphical Position Solution to Two-Dimensional, Offset Slider- Crank Mechanism......... 18 2. 3 Dummy Reference Frame for Determination of Position and Motion of an Arbitrary Point, given Key Positions and Motions........ 26 2.4 Equilibrium Diagram for an Offset SliderCrank Me chani sm................ 28 3. 1 Geometry of Case 2a. of the Tetrahedron Solutions. Unknown: r, 0; s....... 41 3. 2 Geometry of Case 2b. of the Tetrahedron Solutions. Unknown: r, 0; s. 41 3.3 Geometry of Case 2c. of the Tetrahedron Solutions. Unknown: 0,; s......... 46 r r 3.4 Geometry of Case 2d. of the Tetrahedron Solutions. Unknown: 0,; 0........ 46 r r s 3.5 Geometry of Case 3a. of the Tetrahedron Solutions. Unknown: r;s;t... 49 3. 6 Geometry of Case 3b. of the Tetrahedron Solutions. Unknown: r;s;t......... 49 3. 7 Geometry of Case 3c. of the Tetrahedron Solutions. Unknown: r; 0; 0..52 s t 3.8 Geometry of Case 3d. of the Tetrahedron Solutions. Unknown: 0; 0.. 52 r s t vii

LIST OF FIGURES CONT'D Figure Pag 3. 9 Geometry of Solution for Simultaneous Scalar Products...................... 64 3. 10 Geometry of Solution for Five Scalar Products between Four Unit Vectors, Sixth Product Unknown..................... 64 3. 11 Computer Time Required for Exact Computation of Determinants in Simultaneous Solution of Two Polynomials............. 76 3. 12 Schematic of a Front Independent Suspension and Steering System.............. 78 3. 13 Variation of Camber, Castor, and Toe Angle versus Angles of Pitman Arm and Lower Hinged Link.................. 81 3. 14 Three-Dimensional, Four-Bar Linkage with One Hinge Pair and Three Turn-Slide Pairs.. 83 3.15 Variation of Position Vectors r2, r3, r4 for a Complete Cycle of the Mechanism of Figure 3.14....... 89 4. 1 Relative Rotation of n Rigid Bodies. 93 4.2 Variation of Velocities Drg, Dr3, Dr4 for a Complete Cycle of the Mechanism of Figure 3. 14.................... 101 4.3 Variation of Accelerations D r2, D r3 D r4 for a Complete Cycle of the Mechanism of Figure 3. 14.... 102 V111iii

LIST OF FIGURES CONT'D Figure Page 5. 1 Effect of Pair Friction on Introducing Unknown Angular Coordinates.......... 112 5.2 Variation of Torques'32''43''14 for a Complete Cycle of the Mechanism of Figure 3. 14.................. 121 5.3 Variation of Transmitted Force, f, for a Complete Cycle of the Mechanism of Figure 3. 14................. 122 5.4 Variation of Output Torque and Force for a Complete Cycle of the Mechanism of Figure 3. 14................... 122 5.5 Variation of Output Power Transmitted in Rotational and Translational Motion for a Complete Cycle of the Mechanism of Figure 3. 14............... 123 A. 1 Basic External Function (Subprogram) for Performing the Vector Cross Product.... 170 A. 2 Intermediate External Function for Comparing Two Unit Vectors 170 A. 3 Special External Function for Evaluating the Case 2d. Solution of the Vector Tetrahedron Equation.................. 171 A. 4 Auxiliary External Function for Evaluating a Polynomial......... 172 ix

LIST OF TABLES Table Page 2. 1 Vector Terminology.............. 8 2. 2 Kinematic Terminology............ 11 2.3 Vector Relations................. 12 2. 4 Solutions to the Vector Triangle Equation..... 20 3. 1 Categorization of Solutions to the Vector Tetrahedron Equation........... 36 3. 2 Definition of Constants used in Case 3d..... 60 3. 3 Examples of Solution of Simultaneous Polynomials................... 73 3.4 Input Parameters for Example Four-Bar Linkage with One Hinge Pair and Three Turn- Slide Pairs........ 88 5. 1 Restraints Introduced by Pair Design...... 108 A,. 1 Meaning of Letters in Names.... 139

NOMENCLATURE C. Vector constant. Subscript may be dropped. 1 c. Scalar constant. n — D r The nth time derivative of r PiPj 2 PiPj Dr and D r are the velocity PiPj PiPj and acceleration of point p.i relative to point pj and the ground reference frame. D.. The nth time derivative of Wi.. Do.. 1j 1J 1J is the angular acceleration of body i relative to body j. (f..) Force exerted on body i, by body j, J Pk at point pk' Drop the subscript pk if only one force is exerted on i by j. Drop all subscripts if there is only one force in the linkage. gi Inertial Force exerted on link i 2-i (g= - m.D r Ci H. Moment of momentum of body i about its center of mass. i, j, k Unit vectors of the ground reference frame. mi - Mass of link i. p., qi. r., s., t. Dummy position vectors. Subscript may be dropped. r Position vector to p rmpoint from point. P.P. 1 3j 13X xi

NOMENCLATURE CONT' D 0. Azimuthal angle of a vector relative to k., ~., V.. 1 1 1 pi. V. Unit vectors of the ith dummy reference 1 1 1 frame. Orientation relative to i, j, k is always known..ij. Coefficient of Coulomb friction for translational motion of body i relative to body j. (Unitle s s) P.. Coefficient of Coulomb friction for rotational motion of body i relative to body j. (Units of length) v. Inertial Torque exerted on link i (F - -DH.). 1 1 -( ) Torque exerted on body i by body j at 13 Pk point Pk. Drop the Pk subscript if only one torque is exerted on i by j. Polar angle of a vector relative to X., 1 i'., V.. 1 1 wij Angular velocity of body i relative to body j. xii

1. 0 INTRODUCTION Kinematic analysis is an old but important subject in many areas of engineering. It is a much simpler subject than dynamics because it assumes input motion instead of input force; problems can therefore be represented by algebraic equations instead of differential equations. From another viewpoint kinematics is an input to dynamics, because the kinetic and potential energy terms in Lagrange's Equations are kinematic expressions. Vector analysis was'created in the 1870's by J. Willard Gibbs [41] in response to the need for a succinct, natural mathematics for the problems of science and engineering. Perhaps this mathematics was partly inspired by problems in Gibbs' own thesis work —the first doctoral thesis in engineerinrg in the United States: "On the Form of the Teeth of Wheels in Spur Gearing." [41] Vector analysis has become increasingly popular and is now part of the background of most scientists and engineers. It seems inevitable that kinematic analysis should be pursued by vector methods. Almost every quantity involved in kinematics is a vector or the magnitude of a vector. (Angular quantities are exceptions, but all orders of their derivatives are vectors.) Most kinematic problems can be formulated as single or simultaneous vector equations, and these equations can usually be solved through use of vector operations. - 1

However, conventional vector analysis has not been employed in kinematic analysis to nearly the extent possible. Instead, graphics, complex numbers, matrices, dual numbers, and quaternion algebra have been predominant tools. Graphics and related methods have been important because they avoid detailed computation and provide a visual perspective. Much of this work has been done in Germany by Altman [2-4], Beyer [7-18], Federhofer [39], Hein [44], Keler [45], and others. With the advent of the digital computer the computational advantage of graphical methods is diminished. Of course, it has always been difficult to apply graphical methods to three-dimensional analysis. Analysis and synthesis by conventional complex mathematics has been very successful for two-dimensional problems, partly because of the convenience of polar notation. Work by this method has been done by Freudenstein, McLarnan, Raven [61], Roth, Sandor, and others. Extension to three-dimensional analysis was suggested by Raven, but otherwise conventional complex mathematics has remained a two-dimensional tool. Matrix methods have been developed and applied by Hartenberg, Denavit, and Uicker [26-31, 71-73]. A computer program, based on this mathematics, will obtain position, motion, and force solutions for the complete motion cycle of any single loop, three-dimensional mechanism connected by lower pairs. Two or three minutes (IBM 7090)

-3are required for a cycle. The method has not been extended to complex spatial mechanisms and is more detailed than necessary for mechanisms of four links or less. Iteration is required for the position solutions,and interpretation of the matrix equations is difficult. However, it is a beautifully formulated approach and it affords the only immediately available numerical solution to an important category of mechanisms. Dual numbers, quaternions,and other less familiar mathematics have been applied to three-dimensional mechanism analysis. Dimentberg [31-33], Denavit [26,27] and Dobrovolskii [35,36] have done work with dual numbers. More recently, Yang has developed an approach based on dual quaternions [79, 80]. These approaches have advantages in the representation of spatial problems, but any advantages they may have for obtaining solutions have not been made clear. The most difficult problem in kinematic analysis is determination of position; all other problems except frictional force analysis are linear. Physically, a mechanism may have two, four, eight, or many possible positions —depending on its complexity. Which position it actually takes depends on its initial assembly and subsequent behavior at locking positions. Because of these physical effects, probably the simplest position solution for any given mechanism is an algebraic polynomial of degree equal to the number of possible positions. No matter how the solution is formulated, there is the basic difficulty of obtaining the roots of this polynomial.

-4However, there are practical difficulties associated with advanced systems of mathematics. In obtaining polynomial solutions, it is of critical importance to fully exploit the symmetry of the problem. Otherwise a polynomial of artificially high degree must be generated. There is a danger that the mathematics itself will obscure the symmetry. Also, the very familiarity of the mathematics becomes important if no one method affords relative advantages in solution. There have been many other contributions to three-dimensional kinematics besides those mentioned here. Several involve use of conventional vector mathematics- -particularly those of Beggs [5], Kislitsin [47], Mangeron and Dragan [50-53], and Rim [64]. These do not overlap material in this thesis, but are included in the reference section as a convenience to those with general interest. In addition, there is probably a large amount of proprietary work that is unavailable. Several texts are included because of their usefulness as references. The author's interest in three-dimensional kinematics was initiated by simultaneous exposure to the theory of vector analysis and Professor J. E. Shigley's practical observations on the "unit vector method" [67]. It has always been clear that mechanism problems can be represented by vector equations, but emphasis on the idea of factoring magnitude and unit vector leads to convenient means of solving the equations. Some of the author's preliminary work was published [21-23] and served as a basis for discussion and further generation of ideas.

-5Methods of analysis are described in lateri sections; a summary of the motives of analysis is appropriate here: 1) The wide range of current mechanism problems and the availability of the digital computer suggest a need for more uniform, familiar, definitive methods for kinematic analysis. The same approach should apply to two- and three-dimensional mechanisms, connected by lower or higher pairs into any number of loops. The mathematics should be simple and familiar, so that it can be interpreted, taught, and programmed easily. Solutions should be exact, or at most require iteration on only one variable. 2) Position solutions are inherently difficult because of their nonlinearity. However, direct solutions are important for purposes of interpretation, reliability, computation speed, and obtaining all the real roots. Emphasis is therefore placed on obtaining solutions as single polynomials. Optimum solutions to relatively simple, common conditions are derived and categorized. These include the Tetrahedron Solutions —a "complete" set of solutions to the single equation, sum of vectors is zero. The Tetrahedron Solutions apply to most practical three-dimensional mechanisms of four links or less. Most of the solutions are interpretable and can reasonably be evaluated by hand computation; all can be evaluated by the digital computer in hundredths of a second. More complicated conditions reduce to the problem of simultaneous solution of polynomials in two or more variables, even

- 6when maximum use has been made of problem symmetry.. An approach to these problems utilizing tensor formulation, the eliminant, and digital computation is described. At present capability any two low-degree polynomials can be reduced to a single resultant polynomial in a few minutes or seconds. Extension to the solution of more than two simultaneous polynomials of higher degree will require statistical methods, iteration, and/or a clearer insight to the nature of systems of polynomials. 3) Motion solutions are intrinsically linear. Moreover, they are dependent only on input motions of the same order, all lower order motions and position. This basic simplicity should be exploited, so that the means are clear for calculating velocity, acceleration, and higher order motions for any mechanism. In particular, direct differentiation of position solutions must be avoided. 4) Force solutions are intrinsically linear when the joints are frictionless. However, they are more detailed than motion solutions because two vector equations must be written for every link but one in the mechanism. A method for reducing these vector equations to a determinate set of simultaneous linear algebraic equations must be made clear. Also, specialized procedures for obtaining more interpretable solutions should be investigated.

2. 0 METHOD Of ANALYSIS 2. 1 Terminology and Basic Operations The fundamentals of vector analysis are clearly explained in many texts. Notation and terminology vary; Table 2. 1 and the nomenclature section (p. xi ) explain that employed here. In particular, the symbols a, a, and a, respectively, denote vector, unit vector, and magnitude of a. Table 2. 2 defines kinematic termninology. Table 2. 3 summarizes important vector relations. 2. 2 Outline of Method Sections 3. 0 through 5. 0 are devoted to an ordered development of vector methods for the analysis of linkages in general. Before this is begun the essentials of the approach will be illustrated via application to a simple planar example. 2. 2. 1 Problem Formulation Consider the two-dimensional, offset, slider-crank mechanism shown in Figure 2. 1: Known Design Constants: Vector: r P1P4 Unit vectors: r; all w.., DW.., z.. P4P3 13 13J 13 -7

-8-. TABLE 2. 1 VECTOR TERMINOLOGY Item Explanation R epre s entati on Addition and sub- Perform by adding or a + b= (ai+b)i + (ab ) traction of subtracting correspond- + (ab) vectors ing components + a.Component Magnitude of the projection of a vector on the component direction. -... / Coordinate frame Three mutually perpendicular unit vectors 3 (reference frame), plus 0 a point considered as an U2 origin. u Dummy reference Reference frame with k frame orientation defined telative to ground refer- ^ ence frame. Fits natu- - ^ ral geometry of X problem. Equivalence Two'vectors are equal provided only that they b have the same magni- \ a tude and direction. Vectors are unchanged' / c by relocation with fixed orientation. Ground reference Reference frame which k frame is considered fixed. Express numerical re- sults in terms.of this 3 frame. i Magnitude Scalar quantity (no direction). The magnitude of a vector.is always a (a / positive. If a solution for magnitude is negative, the associated unit vector is reversed.

-9TABLE 2. 1 CONT'D Item Explanation Representation Parallel vectors Vectors which are - -,a Iib, c either co-directed or oppositely directed. Reference frame Three mutually perpendicular unit vectors. u No origin. Righthanded if the rotation ^ of the first unit vector u 2 into the second is codirected with the third. Rotation Angular displacement or motion. A vector quantity with unit vector directed perpendicularly to the instantaneous plane of motion. Magnitude positive if counter-clockwise; neg- a(t) a(t +At) ative if clockwise. Scalar (dot) A scalar product of the a ~ ab cos a product magnitudes of two vec- aO b (aibi)+(ab)akbk) tors and the cosine of the smallest angle be- a a tween them. 0 <:a< <r Unit vector The basic directional a a = 1 quantity. A vector of a = sin 0[cos 0 ) + unit magnitude. sin 0e] + dos k v X, i, v right-hand dummy reference frame 0,: azimuthal and polar angles Vector Product of magnitude a = a a

-10TABLE 2. 1 CONT'D Item Explanation Repre sentation Vector (cross) A vector. Magnitude aXb - (absin a) a equals the product of (c directed according the magnitudes of two to positive rotation vectors and the sine of the smallest angle of a into b. ) between themn. Unit ~. 3 1 j k vector directed according to positive a Xb = a. a ak rotation of first vector into second. b. b. b 1 J k

- 11TABLE 2. 2 KINEMATIC TERMINOLOGY Item Definition Dwell position Mechanism position at which a zero velocity occurs with finite input velocity. Force Fundamental. Two uses: (1) Pure translational force; (2) Both translational and rotational force. Link Rigid body. A component of a mechanism. Linkage A system of interconnected links. Simple linkage if only one closed loop of links; complex linkage if more than one closed loop. Locking position Mechanism position at which output power is zero, regardless of the magnitude of input force. Moment Rotational force from both torque and (f X r) terms. Motion All orders of the time derivative of position. Includes translational and angular velocity and acceleration. Pair Joint connecting and constraining relative motion between adjacent links. Higher pair: line or point contact. Lower air: area contact. Position Instantaneous geometric configuration. Defined by position vectors between essential points. Rotational or angular Motion of one reference frame relative motion to another Torque Pure rotational force. Translational motion Motion of one point relative to another.

-12TABLE 2.3 VECTOR RELATIONS Algebraic Operations la, b a b = (a. ~ bi + (a + b )3 + (a i b )k 2 a b =b- (aibi.) + (a.b) + (akb ^i k.k i j k 3aa X b ab ab a 3 aXb=-a a a k k akbj)i + (akbi - aibkj b b. b k + (a.b. - a.b.)k 13 1 4 lal= + (a a Algebraic Identities - A 5 a a aa 6a, b a a =a; a X a = 0 7a, b, c a +b= b + a; a b -= b a; a X b =-(b X a) 8a a X (b X c) = (a. c)b- (a b) c 8b (a X b) X c (a c) b - (c b)a _ _ _ _ _ _ _ _ _ 9 (a X b). (c X d) (a c)(b d) - (a d)(b c) 10 (a X b) a = 0 (a X b) b- 0 ila a. (b X c) changes sign if the cyclic order of the vectors is changed (e.g, a, b, c to a, c, b). Otherwise, the value is unaffected by interchange of vectors and/or by exchange of cross and dot, llb [a (b X c)]=(abc)2{2(. 6)(' )(c )- (.a )2 -() ~ ).( ~)2 +1}

- 13TABLE 2.3 CONT'D Differentiation Formulas d n dn 12 D- dt D n- 1, 2, 3. dtd n dt n- n n ln" 13 Dnu = (D u.)i + (D u.)j + (D )k 1 k 14 Du - X u 15 D(u + v ) =Du + Dv 16 D(xu) = (Dx)u + x(Du) 17 D(u v) (Du) v +u ~ (Dv) 18 D(uX v) - (Du) X v + u X (Dv) 19 Du = D(u u)- (Du) u + (o X u) 0 D u - u) u + X ( u) + (D X u) + X (Du) 20 D u D(Du) (D u)u + w X (w X U+(DwXU)+2wX(DU)U

P4P3 P4P3 r P4P3 Dw ~P~~~~4~~ Figure 2.1 Planar Offset Slider-Crank Mechanism Fiur 21 laa Ofst lier rak ecans

- 15Magnitude s: r, r P2Pl P3P2 Pairs: (21), (32) hinge; (43) turn- slide Ma s s di stributi on Frictional characteristics (linear) Negligible elastic effects Known functions of time: Vectors: w21, DU21 721 (all in k direction) Unit vector: r P2P1 Unknown: Unit vector: r, all f.. p3P2 1j Magnitudes: r; Dr; DW3 Dr; p4p3 31 p4p3 p4p3 all fij and (except 21) ij 2 1 This is a kinematic problem, in which the forces are dependent on input positions and motions. Such problems are much simpler than dynamic problems (positions and motions dependent on input forces),and their solution can be obtained in an ordered, compartmented manner: (1) Determine the unknown key positions (r, r ) P4P3 P4P (2) Determine the unknown key velocities (W31' Dr ), P4P3 regarding all positions as known and expressed as single symbols.

- 16(3) Determine the unknown key accelerations (D031, Dr P4P3 regarding all positions and velocities as known and expressed as single symbols. (4) Determine any higher order key motions desired, regarding all lower order motions as known, (5) Determine the position and motion of any point'in the mechanism (besides pi, P2, p3, P4), regarding the design of the individual links and the key positions and motions as known. (6) Determine the force and torque.exerted at the mechanism joints, regarding joint design and the key positions, velocities, and accelerations as known, 2. 2 2 PositiQn Solution In general, mechanism position solutions are nonlinear and require solution of simultaneous vector and scalar equations, The present solution is of second degree and is determined from a single vector equation-, r + r +r + r 0: 0 (2r 1 ) P1P4 P2P1 P3P2 P4P3 At a given instant r and r are both known and P1P4 P2P1 can be summed into a single constant, C. Vectors r and P3P2 r are factored into magnitude and unit vector (a very frequent P4P3 and convenient operation).

-17r r + r r + C = 0 (2.2) P3P2 P3P2 P4P3 P4P3 C- r + r (2. 3) PIP4 P2P1 Equation (2. 2) contains two scalar unknowns, r and the angle P4P3 defining r. The equation represents two scalar equations, P3P2 being a two-dimensional vector equation, and is therefore a sufficient condition for the determination of r and r. The actual P4P3 P3P2 solution proceeds as follows: r r = -(r r + C) (2.4) P3P2 P3P2 P4P3 P4P3 Take the scalar product of each side of Equation (2. 2) with itself, thereby eliminating r P3P2 2 2 2 r2 = r + C + 2(r P C ) (2.5) P3Pz P4P3 P4P3 Rearrange and factor, r2 + 2(r C)r + (C r ) = 0 (2.6) P4P3 P4P3 P4P3 P3P2 From the quadratic formula, r - (r C r C (C r rp = p * C) + [(p p ) - (C2 - rp p2 4P3 4P3 4P3 P3P2 (2. 7) Vectors r and r can now be explicitly expressed in P4P3 P3P2 terms of known quantities.

-18P2 r r ^ P P P3 P1L tT 1 ~~ — intersection for s olution intersection for spurious solution Figure 2. 2 Graphical Solution to Two- Dimensional Offset Slider Crank- Mechanism

-192. 2 1/2 ~~~~r {rC[r)-( -r )] r (2. 8) P4P 3 3 P4P3 3 2 P4P3 ---,, —._, — 2 2 " -' r = i (r C) + [((r. C) -(C2 r )] r C ('2.9) P3 P P4p3 p4p3 P3 P2 P 4P3 Observations: (1) Graphically, the solutions to Equation (2. 2) are obtained simply as the intersections of a straight line with a circle (Figure 2. 2). (2) Both the graphical and analytical solutions show that two physically real solutions exist —the first because of dual intersections, the second because of-dual signs. More complicated mechanisms may have several physically real solutions. This poses the intrinsic difficulty that any solution in polynomial form must have a degree equalitor greater than the number of physically real solutions. The higher the degree of the polynomial, the more difficult it is to obtain the solutions. Of course, a given mechanism can only have a single instantaneous position, depending on how it was initially assembled and its subsequent behavior at locking positions. (3) Complex roots (negative radicals in Equations (2. 8) and (2. 9)) indicate that the design parameters prohibit

-20TABLE 2.4 SOLUTIONS TO THE VECTOR TRIANGLE EQUATION r + s + C =0 Case Unknown Known Solution 1 r, e C, s r=- (s + C) r a r,~s,00 - s- C,(r X k) 2a r, s e, S, C s- =A-'] r s,,, r(s XfO Zb s C, r, s =-(C.s) s [c (s k)] 12s r s z2 Z 2 2c 0 r C r, e, s s = + s - r )2] /2(C Xk) r s - 2C C 2 -) c 2c

-21assembly. Such a situation results here if r P3P2 is made small relative to C. (4) In the analysis of simple planar mechanisms, an equation of the form of Equation (2. 1) is very often the only equation that must be solved. There are only four unique arrangements of two unknown scalars in this equation, assuming that each unknown occurs in only one term. The solutions for each of these arrangements are summarized in Table 2.4. Note that the solution for the present mechanism corresponds to case 3. (5) Conceivably, expressions for velocity and acceleration could be obtained by differentiating Equations (2.8) and (2. 9) with respect to time. This would be difficult even for the explicit second degree solution obtained here. Explicit solutions to third and fourth degree polynomials are very detailed; for degrees higher than four they are theoretically impossible [75]. Thus, a more practical means for expressing motions is required. 2.3 Motion Solutions Equation (2. 1) can be differentiated as often as desired Dr + Dr + Dr + Dr - O (2. 10) P1P4 P2Pl P3P2 P 4P3 D r +D r +D r +D r: 0 (2. 11)

-22In.Equations 19 and 20, Table 2.3, the quantities u and o can be physically interpreted as the position vector r and the i+l Pi angular velocity vector Wil' In three dimensions the unit vectors of angular velocity are time-dependent, and a certain development is required because of this. In two dimensions these vectors all have direction k (perpendicular to the plane of motion), and Equations 19 and 20, Table 2.3, become Dr -(Dr )r + to (k Xr ) (2.12) pi+lPi Pi+lpi Pi+ 1Pi 1 Pi+lPi 2 --- 2 2 Dr - [(Dr r - r ]r Pi+1Pi Pi+lPi Pi+l Pi+ (2. 13) + [(D.1 )(rp pX +. )(Dr )](k X r i + P i i+l i i+l i To obtain a solution for the key velocities substitute Equation (2. 12) into Equation (2. 10) term by term. Note that physically Dr P1P4 r, Dr, and o are zero. P2P? p3p2 41 W21(k X r )+ W31(k X r ) +(Dr r (2. 14) There are only two unknowns in Equation (2. 14): to31 and Dr p P4P3 Equation (2. 14) can be reduced to two scalar equations in these unknowns simply by taking the scalar product throughout —first with i, then with j. However, a more direct solution is obtained by taking scalar products throughout with k X r and r P4P3 P3P2

-2321(k X r )(k X r + 31(k X r )(k X r + 0 0 p2Pl P4P3 P3P2 P4P3 (2. 15) w r (r r (W31 p p1 p2p1 (2. 16) r ~ ^ P3P2 P3 P2 P4P3 o [(k X r +O (Dr )(r ] O (2. 1 7) P21 2Pl P3P2 P4P3 P 4P3 P3P2 [(kXr )r, r Dr ~= - (W1 32r (2. 18) Dr 21p pl P3P2 p4P3 Equations (2. 17) and (2. 18) would have been much more detailed if r had been expressed in full, via Equation (2. 9). Instead, p3P2 it is assumed to be completely known —having been determined in the position solution. Now, with 31 and Dr determined, a P4P3 very similar solution for the key accelerations can be obtained. Substitute Equation (2. 13) into Equation (2. ] 1) term by term. (2 r )r + (DWc21)(r )(k X r ) - ( r )r 21 Zlp2pl ) 2l 21 l PP P2P 3 P3P2 P3P2 +(D o31)(r )(k X ) + (D r )r 0 (2.19) P3P2 P3P2 P4P3 P4P3 For convenience, sum the three known terms into a single constant C2. The equation is then so similar to Equation (2. 14) that the

-24solution can be written by comparison. Formally, it is obtained from scalar products with the same two quantities (k X r ) and P4P3 r P3P2 2 - 2 - C2= -w201r - r + D2 (k X r (2.21) ~2 21 p1P 31 pp2 21 p2p1 C 2(kXr 3P2 Dw (32.22) 31-31 r (r r P3P2 P3P2 P4P3 - C r ~2 2 p3p2 D r (2.23) P4P3 (r ~ r P3P2 P4P3 Suggested Generalizations: (1) Kinematic motion solutions will always be linear. Equations (2. 12) and (2. 13) can never introduce unknown unit vectors into Equations such as (2. 10) and (2. 11), and the unknowns that are introduced occur in additive terms, not in products with each other. (2) The denominators of the motion solutions will be the same regardless of the order of motion. Thus in Equations (2. 14), (2. 19), and corresponding

-25higher order equations, the directions associated with terms of possible unknown magnitude will always.correspond from order to order. Here (21 and Dw21 have vector (k X r ); 31 and D31 P2Pl (k X r ); Dr and D r, r P3P2 P4P3 P4p3 P4P3 Mechanism locking positions can be identified by the zeros of the motion denominator. Here all output motions approach infinity, but input motion and output power approach zero. 2.4. Position and Motion of Any Point With the essential positions and motions determined, the position and motion of any point fixed anywhere in the mechanism can be determined. For example, consider a point;q fixed in link 3, Figure 2. 3. The position of this point relative to link 3 is specified by the design of the link. That is, in the following equation rqp is dependent upon r, by the design constants c1 and c2. p3p2 rqp C + C2(kX r ) (2.24) qP2 P3P2 P3ZP2 The vector r can be determined by a vector sum of known qpl vectors: r = r + r (2.25) qPl qp' PzP1

-26(kXr ) ~~P3PP2 ure 3 Dumm Reference Frame for Determination of Position and Motion of an Arbitrary Point, Given Pssential Positions and Motions

-27Motion can be determined by differentiating Equation (2. 25) and substituting Equations (2. 12) and (2. 13). Dr = Dr + D r (2 26) qP1 q P2 PgP1 1 2P p 1 2-,* 2-1- 2 —3( D r D r + Dr (2. 28) q21 qp2 2 1 Dr -W r + (Do3 1)(k Xr ) - W r q1 3 pq2 2 p2p1 (2.29) + (Dwo21)(k X r P2Pl 2.5 Force Solutions The force equilibrium solution to the mechanism of Figure 2. 1 will be obtained assuming Coulomb friction in the pairs and significant link mass. This will illustrate that frictional effects can introduce nonlinearity and that inertial effects introduce only additional detail. Figure 2.4 is an equilibrium diagram for the mechanism of Figure 2. 1. The mechanism is driven against a known force, -(ft4 )s, by means of an input torque, (r )k. The input torque 14o 21i varies in response to output, frictional and inertial forces. Equilibrium conditions:

-28— _ ~,~3 ~2 93. 3 -1 P2PAP/ f21 M +,1 P\1 "- ~ 3 1 — 3 ------' Pl- -121 13 Figure 2.4 Equilibrium Diagram for an Offset Slider- Crank Mechanism

f21 32 g2 0 f32 - f13 +g 3 I O (2. 31) f13 - f21 + gl 0 (2.32) 7'- T32 + (f, X r ) + (g2 X r ) +o =0 (2.33) 221 32 2 P2P1 p2cZ 2 T32 -'13 +(f32 Xr )+(g3 X r )+a =0 (2. 34) -3 p332 P3P2 3c3 3 T13 21 + (f13 X p3 (g 1X r ) + a 0 (2. A force and moment equilibrium equation has been written for each link in the mechanism, including the ground link. Of the three equations in each set, only two are independent. A solution can be obtained from a~ny four equations, two from each set. The terms gi and ai are inertial forces and torques. These must be included even for the ground link.-/ Pairs (21), (32), and (43) are affected by Coulomb friction. The direction of the frictional torque is opposite to the direction of rotation (v.. = w..) and the magnitude is proportional to the 1j 1ij transmitted force. Mathematically, any one equation in a set must be the sum of the other two, Physically, the acceleration of the ground link approaches zero, but its mass approaches infinity. The product, mass times acceleration, will in general be comparable in magnitude to; the inertial terms of the other links.

-30-' _ - " _ ^ (2. 36) 721'21i (f12. 36) - ( f (2. 37) z32 - (P32f32)3Z 32 13 = -(P13f13)w13 (2. 38) The force f13 is the sum of three terms: output force, (f )s; reaction force, (f13 )(k X s ); and frictional force, 13f13r )s 3 f3r[(k X s ) - 13] + (f13)s (2.39) If Equations (2.36) through (2.39) are substituted into Equations (2. 30) through (2. 35), the only unknowns in the resulting equations are fZ1' f32' TZi and f13r These amount to six scalar unknowns. Only four of the equations are independent. Of these, the two force vector equations are each two-dimensional (i, j); the two moment equations are each one-dimensional (k). Thus, six scalar conditions are available for determining the six unknown scalar s. A procedure for reducing equilibrium conditions to simultaneous linear algebraic equations in a determinate number of unknowns is explained in Section 5. 0. Such a reduction is impossible here because of the frictional terms. Instead, a specialized approach is taken. Use Equations (2. 31) and (2. 32) to express f32 and fz1 in terms of fl3. This effectively eliminates four unknown scalars 13

-31at the expense of four scalar conditions. T - (2. 40) f32 f13 3 2. f21 f 13 4/ 1 (2. 41) Two unknown scalars remain::13 and 2 li Fortunately, 13r 2 i T21i does not occur in Equation (2.34); to obtain f 3r' only one equation must be solved. Substitute Equations (2. 37) and (2. 38) into Equation (2.34). -(P32 f32) 32 (P13f13) 13 + (f13 X r + (g X r 3 p3p2 P2C3 (2 42) Nonlinearity is introduced when f32, f13' and f 13 are expressed in terms of f. Using Equations (2. 31) and (2. 39), 1/2 2 21/2 f32 (f32 f32) = [f13 - (2g3)f13 + g3] (2.43) 1/2 2 2 2 1/2 (f f 2 2f 13 ( 13 13) [( 13 )f 13r (3 13 13 f13r + 13] (2. 44) Substitute Equations (2.39), (2.43), and (2.44) into Equation (2.42), and take the scalar product with k throughout.

-32^ ^(' 32 2 2 -32( W32 ){[( + 13) 13r - 213 13o0 13r 13o 1+2 )f2 -( f )f +2 1/2 2 1/2 - 2g3[( 13 13r 13 13o 13r 13o + g3} ~~~~2 2 2 ~1/2 + P13( 13 k)[( + 13)f 13r 13 13o 13] (2.45) +13r [ s ) - 13s] } k +f [(sX r )k ] p3p2 13o p3P2 + [(g3 X r k ] + ( k ) - 0 P2P3 3 If all frictional and inertial terms are retained, Equation (2.45) can at best be developed into a fourth degree polynomial in f. If P32 is zero the problem is second degree; if both P32 and P13 are zero the problem is linear. The terms / 13' g3' and c3 have no influence on the degree of the solution. Suggested generalizations: (1) The equilibrium solutions for mechanisms with rigid links and no friction can always be obtained via a set of simultaneous linear algebraic equations. The number of sirmultaneous equations can be substantially reduced if the mechanism is simple, possibly to the point that the solution can easily be physically interpreted. (2) Inertial terms introduce more detail, but the solution remains linear.

- 33(3) Frictional terms may introduce nonlinearity if the magnitudes of the frictional forces are dependent on the magnitudes of the transmitted forces. This would be the case with journal bearings, but not with ideal roller bearings.

3. 0 DIRECT SOLUTION OF THREEDIMENSIONAL VECTOR EQUATIONS Kinematic problems in position, motion, and force can usually be represented by single or simultaneous vector equations. The unknown quantities in these equations may not be distributed in a simple manner, especially in position problems. This section discusses two means by which direct (noniterative) solutions can be obtained: (1) use of symmetry, as in the Tetrahedron Solutions; (2) use of the eliminant, for more complicated problems. Examples are presented of the application of these techniques to position solutions of actual mechanisms. 3. 1 Symmetry Solutions The.known unit vectors in a set of vector equations define a natural geometry or symmetry. Exploitation of this symmetry usually reduces the degree and number of algebraic polynomials in the eventual solution. Symmetry solutions are those which are obtained in general terms entirely by exploitation of symmetry. Typically such solutions are of first, second, fourth, or eighth degree in a single variable, and the expressions for the coefficients are interpretable. Several important symmetry solutions are obtained and categorized in this section. Outlines of derivations and geometric -34

-35interpretations are included to explain techniques of identifying and exploiting symmetry. When only a few quantities are known, symmetry is strong, because there is little conflict over which quantities should define the orientation of a dummy reference frame. When many quantities are known, more than one frame may be required and symmetry is weaker. Symmetry solutions to more than one or two vector equations are usually prohibitively difficult. 3. 1. 1 The Tetrahedron Solutions The most common condition in kinematic analysis is the equation, sum of vectors equals zero: r + s + t + C = 0 (3.1) Equation (3. 1) is named the Vector Tetrahedron Equation because, geometrically, it outlines four of the six edges of a tetrahedron. This is analogous to the Vector Triangle Equation in two dimensions (Table 2.4).,The utility is also analogous; in many situations a single Vector Tetrahedron Equation is either the only condition imposed or it can be solved independently of other conditions Equation (3. 1) is limited to four terms because,as a thteedimensional equation, it can determine only three scalar unknowns. These unknowns can be distributed throughout at most three vectors, provided no unknown occurs in more than one term. All other vectors must then be known and can be summed into the single vector constant C.

-36TABLE 3. 1 CATEGORIZATION OF SOLUTIONS TO THE VECTOR TETRAHEDRON EQUATION r +s + t + C = 0 Degree of Case Unknown _ nown Polynomi al Number Vector s Unit Vectors Scalar s Solution 1 | rX f ro, C 1 (trivial) r r 2a r, 0; s C s, r r r Zb r,; 0 C S, |; s, 4 r s r s r s c r0,;s C s r 2 r r Zd 0, C r; s, 2 1 r r s s s 3a r; s; t C r, s, 1 3b r; s; t C r, s wt t, 3c C r, wr t s, is; t, Ot r3d s t C r' s' t tt t Remarks: (1) Unit vectors o, O, are the known directions r s t from which the known angles., and t are r s Ot measured. (Z) Whenever any'of the vectors r, s, or t are completely known they are added into the single constant C.

-37-. Different solutions are obtained to Equation (3. 1) for different distributions of the three unknowns. Vectors r, s, and t- are expressed in spherical coordinates, so that the unknowns may be any three of the nine coordinates-2/ r, 0,; s, s',; t, 0, q. r r s s t t (The angular coordinates can be measured from any known unit vector, not just from the ground reference frame.) It.will be shown that there are only nine basic distributions of unknowns that lead to distinctly different solutions. These are called cases and are summarized in Table 3. 1. Two effects limit the number of cases in Table 3. 1: (1) The terms in Equation (3. 1) are commutative. Combinations of unknowns such as r; 0; 0t and 0; s; 6t are therefore in the same ca se. (2) When only one angle of a vector is unknown, it may be either the azimuthal or the polar angle. However, the same solution suffices for both situations. Combinations such as 0, b; 0 and r r s 0,; ~ are therefore in the same case. To see this, assume r r s that a solution to Equation (3. 1) has been obtained with 0 unknown, Xr known. The unit vector rl may be written, r {sin [Cos o0 e + sin + cos Sl} (3.2) r1 r1 1 r 1 r1 In listing coordinates, semicolons are used to separate coordinates from different vectors. Commas separate coordinates from the same vector.

-38Now assume a solution is desired for the situation 4 unknown, 0 known. The remaining two unknowns are the same as in the first solution. The unit vector r2 is written, r = {sin r [cos 0 r + sin /1] + cos 0 iV} (3.3) Define a second dummy reference frame.in terms of the first. [cos X1 + sin 801] (3.4) 2 - V1 (3.5) Va ~X X IA (3. 6) 2 2 2 (3. 6) Unit vector r2 can now be expressed in exactly the same form' as rl in Equation (3.2). r inj'cos + sin, [cos ) V2 (3.7) Thus the same general solution for which 0 was unknown will r suffice for unknown q, provided the following replacement of In fact, solutions for unknown 4 are simple special cases of solutions for unknown 0, because of the simplifications introduced by the angle r/2. Each of the Table 3. 1 cases has its own symmetry. This symmetry is strong for cases in which few knowns enter (1, 2c, 2d)

-39but becomes weaker as the number of known quantities increases (2b, 3c, 3d). As the symmetry weakens, the solutions become more difficult as indicated by the degree of the polynomial from which the solution is obtained. An outline of the derivation and the solution for each of the nine cases will now be presented. The derivations are included to provide insight into the use of vector methods for identifying and exploiting symmetry. In most cases, if symmetry is ignored, a general solution is prohibitively difficult. Case 1. r, 0, q Unknown. r r The unknowns all occur in the single vector r. Vectors s and t are known and are added into C. Equation (3. 1) becomes r +C 0- (3.8) Solution: r -C (3.9) Cases 2a - 2d. The unknowns are distributed throughout only two vectors r and s. Vector t is known and is added into C. The geometry of the individual cases is shown in Figures 3. 1 through 3.4. Equation (3. 1) becomes r + s + C 0 (3.10)

-402a. r, 0 r; Unknown. Expand Equation (3, 10), expressing r in a dummy reference frame x,,. r~sin [cos 0 I + sin 0 ^ +cco (3.11) tj 4 + scos + C = 0 (3.11) Define a unit vector, p, perpendicular to vectors C and s - C XS Cps ----— ~ —....(3. 12) Take the scalar pzroduct throughout Equation (3. 11) with p r{sin jr[(cos 8)(X p) + sin 0 (A' p)] + cos r(V p)} 0 (3. 13) r r r r Provided r is non-zero, Equation (3. 13) is a condition involving only one unknown, 9. This condition can be made even simpler by suitably defining X,,, v, The angle Or between r and wr is known; therefore, v is set equal to wr. However, can still be defined to cause the product (X I p) to be zero. The definition of,u follows from that of v and, A A v w S (3. 14) AX r (3, 15) 1ix (wrl, P- ( P) W /uXvX X- (3. 16) |P X r

-41-.2' Figure 3. 1 Case 2a. r, 0;s Unknown. r Two Solutions Possible. V r I' / a C S Figure 3. 2 Case 2b. r, 0;0 Unknown. Four Solutions Pos sible Four Solutions Possible

-42Equation (3. 13) can now be solved directly for sin 0 because r the term involving cos 0r is zero. sinO; =-^ ( cot r (3. 17) r r (p- p) An explicit expression for r can now be written in terms of the A,,1, v frame and the vector p, using the form of Equation (3.2). Express cos 0 by means of Equation (3. 17) and the identity cos 0 = i [1 - sin20 ]1/2. r r Solution: r = + { sin - ( )2 os -. (co (C r)O + (cos Vr)v.01 p) r r r (3, 18) Unknowns r and s can now be obtained from cases 2a and 1, Table 2.4, where k is identified as p r = C *(P X s)r (3. 19) [r ~ (p X s)]' 2b. r, Unknown. r 6 In this case it is impossible to eliminate two of the unknowns with a single scalar product. Instead, two scalar products must be taken, each eliminating the same unknown, 0. A second unknown, r, is eliminated between the two equations resulting from the scalar

-43products. Finally, the equation resulting from the elimination is 0 transformed to a fourth degree polynomial in tan s). Expand Equation (3. 10), expressing r and s in terms of dummy reference frames X,, v and X,, v. r r r S s S For convenience represent groups of known:terms by single constants S and C2. r{sin 0 [cos 0 X + sin 0 A ] + cos rV} = (3. 21) - S[cos 0 X + sin 0 s ] - C V -W (3.22) r r S s sin c C C +(s cos s) (3. 23) 2 ss Eliminate 0 for the first time by taking the scalar products of both sides of Equation (3. 21) by themselves. r = + c2 + 2S[(C2. s)Cos A + (C 2 s )sin a] (3.24) Eliminate 0 for the second time by taking the scalar product throughout Equation (3. 21) with W. The two terms involving 0 r r will be zero, because X ~ 0 and p i W are zero. (Unit r r r r vectors X, p, V are mutually perpendicular and v. ) r r r r The term involving cos 0 can be made zero by defining X, s S,. v as in Equations (3.26) through (3.28). $ s

-44r cos r = -[S $ ~ W ) sin 0 + (C 2 w0)] (3.25) v - ( (3. 26) s s X _ r s (3, 27) rs r ss P - v X = r (3.Z8) r s Square both sides of Equation (3. 25), then divide by cos. Subtract the resulting equation from Equation (3. 24), to eliminate r. The difference is an equation involving only 0, in sin 0, s S sin 0, and cos 0 terms. Transform these terms by the identitie s 2 i -u cos =- (3.29) 1 +u 2u sin 2u (3.30) 1 +u u tan (-2-) (3.31) A fourth degree polynomial in u is generated by multiplying throughout by (1 + u )

-45Solution: 4 3 2 P4u + P3u + PZu + P1u + P0 = 0 (3.32) P (C2 wz) - co2S C + C-] (3.33) 4 2 r r S + P 4S[,)(C )Cos(C) (3.34) 3 s r 2 Cr C r os 2 2)2 + (C ) - cos kr(S + )] (3.35) P2 S r 2 r r 2 Pi P (3.36) -- ~ )2 2 2 PO (C2 2 ) 2 o [S + 2S(X. + C] (3.37) - sin k S 2 [(.1 - u )A + (2u)ps] + cos w} (3. 38) 1 +u r = - (s + C) (3.39) 2c. 0,;s Unknown. r r Rearrange Equation (3. 10) explicitly in terms of r and eliminate r by taking the scalar product of both sides of the equation with themselves. 2 2 2 r =s + C + 2sC(s C (3.40) Equation (3.40) is a second degree polynomial in s and can be solved by means of the quadratic formula. The full vector s is expressed as the product of s and the known unit vector s.

-46b b~~~ o~~~~~~ j~~~~~~ ~~~~~~~~~~~~~~~~~~~~~i Figure 3. 3 Case 2c. 0,;s Unknown. r r Two Solutions Possible. 5,,, I::~ T,;.~ / 7~~~~~~~~s r~~~~~ T S.C k~~~ 3~~~

-47Solution: s / (C s) + {r- C2[l C (Cs (3 41) r - (s + C) (3.42) 2d. 0;& 0 Unknown. r r s Obtain Equation (3.40) as in case 2c. Two conditions on s are now known: 2 2 2 (s ~ C)- [r (3. 43) 2sC (s. ) - cos ~ (3.44) 5 s The solution to a set of equations of this form is obtained in Section 3. 1. 2, Equation (3. 131). Some rearrangements are made so that s can be evaluated with a minimum number of operations. Solution: [1-(C ) ] s 2 2 2 C + s - r + 2s(C c )(cos )21/2 1 Xw2 C'[z 2C 5 ) (3. 45) 2 2 2 + s - r + 2s(C w )(cos qs) +[ ][(C X ) X 4] r - - (s + C) (3.46)

-48Cases 3a-3d. Here the unknowns are distributed throughout all three vectors r, s, and t. Therefore, Equation (3. 1) is employed as stated. The geometry of the individual cases is shown in Figures 3.5 through 3. 8 3a. r; s; t Unknown. Restate Equation (3. 1) with r, s, and t factored into magnitude and unit vector. r r + s s + t +t C = 0 (3.47) Equation (3.47) can immediately be reduced to three simultaneous linear algebraic equations in three unknowns simply by taking scalar products throughout with any three known, non-parallel vectors, such as i, j, k. However, for purposes of interpretation and ease of computation it is preferable to take these products with the vectors ( s X t), (t X r ) and ( X ). The resulting equations will contain only r, s, and t, respectively. Solution: -_ -[C (s X t)]r (348) r (3. 48) [ r (s X t)] -s -[c It (3.49) [r (s xt)] t -[ (r X )]t (3.50) [ ~ ( X t)]

-49b r S a C Figure 3.5 Case 3a. r, s,t Unknown. S b s — s tu 3S Two Solutions Possible.

-50with r and s known, t may be found most easily by t = - (r + s + C) (3.51) 3b. r; s; 0 Unknown. t Expand Equation (3. 1), expressing t in terms of a dummy reference frame X,,, v. rr + s s + t{sin At[cos %t + sin 0o ]} + C2 = (3. 52) C2 (t cos t)t + C (3.53) Define a unit vector, p, perpendicular to r and s. rX s p' (3. 54) Irx Sl Both r and s can be eliminated from Equation (3.52) by taking a scalar product throughout with p. Moreover, the X,, v, frame can be defined so that $ ~ p is zero and the term involving cos 0t drops out. t(sin )(sin 0t) (. p) + C2 p O0 (3. 55) t(3.t7) pX (3.5 ^_ ^ ^ P -(t P )~t X tX= (3.57) Ip x t

51Equation (3.55) can be solved for sin t, and cos Qt can be expressed by the identity cos 0 = + [1 - sin2 t]l / These exprest t sions are substituted in the spherical coordinate expansion of t in the X., p, v frame. A few rearrangements are made for computational convenience. Solution: _+ ^2 t 21 /2tX=Pi[tIsXI si _] (C. p) (wtXp) ~I J0 { L {t 2 [t X p (3. 58) [(C2 P)(t * P) + twtX P (cos t)(sin t)]tCz-( p)p With t determined, Equation (3. 1) reduces to the plane Vector Triangle Equation. Unknowns r and s can therefore be obtained from cases 2aand 1, Table 2.4, where k is identified as p. = _ ((t + C) ) (3.59) [~ X )] s = - (r + t + C) (3.60) 3c. r; 0; 0 Unknown. s t In this case, as in case 2b, it is impossible to eliminate two of the unknowns with a single scalar product. However, two scalar products can be taken to eliminate the unknown r. By careful definition of reference frames the first result will contain 0 only in s the form cos 0; the second only in the form sin 0. The unknown canbe elmnatedby squaring addng Fnally the equation 8 can be eliminated by squaring and adding. Finally, the equation S

-52/ b w k X r I 5 t W~~~~t~ Figure 3.7 Case 3c. r, 0 0 Unknown. Four Solutions Possible. c r' s t Possible.

-53resulting from the addition is transformed to a fourth degree polynomial 0 in tan (- ). Expand Equation (3. 1), expressing s and t in terms of dummy reference frames X, u, v and X, t For convenience represent groups of known terms by single constants S, T, and C2. rr + S[cos 0sXs + sin Osps] + T[cos 0 X + sin 0t] + C (3. 61) S s sin ~ (3. 62) T t sin t (3. 63) C2 (S Cos c s)s + (t cos t)wt + C (3.64) Define the dummy reference frames and the vector p as follows: v -- (3. 65) s S rX _ XE =(3. 66) r x T| PE= v XX (3. 67) s 5 r - x 68 s vt' t (3. 68)

-54sX t jX _(3. 69) s t s st s L"t = vt X t (3, 70) p- r X (3. 71) s Take scalar products throughout equation (3. 62), first with i, then with p. S cos 0 + T(pt X ) sin 0t + (CZ X) (3. 72) S(s p) sin 0 + T[(Xt )cos 0 + ( ) sin] + (C p ) s s t p t t t (3. 73') Multiply through Equation (3. 72) by (p p). Transfer the second and third terms in Equations (3. 72) and (3. 73) to the right side. Then square both sides of both equations and add to eliminate 0. The sum is an equation involving only 0t, in -sin 0S, (sin 0 cos 0 ), t' t' t t sin 0 and cos 0 terms. Transform these by the identities. t t 2 cos 0 1 - u (3. 74) 1 +u cosin0 (3. 754) t 2 1 +u t2 u tan (-2-) (3.76)

-55A fourth degree polynomial in u is generated by multiplying through22 out by (1 + u ). Solution: 4 3 2 P4u ++ P3u + P Pu + P =0 (3.77) 2 T'S 4P sE24T{f p ] + X[T()t *. (C p) p)] (378) 3 {(is t s 2 s t 2 s t t (3. 79) P P)2[(C2 2)2 S2] + [(C2 p T t 2 ) ] P f p- (C p T2 P) 2 - 2 2 2( { + [ u )it + ( cos P t (3 83) Expand s in spherical coordinates inthe,, v frame, 80) S s Pi-4Tf{(p p) (i)' )(C ~ * )+(] s T(t s+' P) sin t (3.81) P 0 ] P2 + IT p) 2 + (C p (3.82) sin t 2 u t: t{ 2 [1 - u )X t + (2(u)3t. + cos 83twt) (l+u ) Expand s in spherical coordinates in the X, t, v frame, then substitute expressions for cos 0 and sin 0 from s s Equations (3. 74) and (3. 75). 7'A A - ~{T(t' p) cos 0 + 0 ( P) sin0] (A s p) t t t t + (C2 ~)}itj + (s cos

-56r = - (s + t + C)- (3.86) 3d. 0; 0; 0 Unknown. r s t This case has so little symmetry that three dummy reference frames are required, one each for r, s, and t. A general solution can be obtained, but the difficulty involved suggests that a practical upper limit has been reached. Beyond this limit the exploitation of symmetry is helpful, but it is not sufficient for obtaining a complete solution. Additional tools are required, such as those of Denavit, Hartenburg, Razi, and'Uicker [29, 63, 73], or the approach discussed in Section 3.2. To obtain the present solution, three scalar products are taken. This yields three scalar trigonometric equations in (0; 0 ), (0; 0t) and (0; 0; 0t), respectively. The second equation contains O only in the form cos 0t; the third only in sin 6 t t The unknown 0 can therefore be eliminated by squaring and adding, t although this causes a large build-up of terms. The equation formed by the sum and the first equation from the scalar product contain only O and 0. The latter equation is simple in form and is solved for r s cos 0 in terms of cos 0; the result is then substituted for all s r 0 terms in the former equation, using the identity, s sin = [1 - cos2e02]1/. The resulting equation contains only 0 but must be squared again to eliminate square roots from the sin 0 5

-57substitution. The last equation is transformed to an eighth degree r polynomial in tan ( 2 Even this tenuous solution would be prohibitively difficult without careful definition of the three dummy reference frames to minimize the number of terms and prepare for the elimination of 0 and 0 t s Expand Equation (3. 1), expressing r, s, and t in terms of dummy referenceframes Xr, 4r,; X,, v; Xt r r r s s s t t t For convenience represent groups of known terms by single constants R, S, T, and C2. R[cos 0 X + sin 0 ] + S[cos 0 X + sin ] (3. 87) rr r r s s s s + T[cos 0tt + sin 0tt] + C2 R r sin ~ (3.88) r S s sin ~ (3. 89) T 3 t sin Ot (3. 90) G,~ I cos r + s cos w + t cos tt + C (3. 91) Define the dummy reference frames as follows: V - W (3. 92) r r X..r..t (3. 93) r t

-58r rt Wr X tr r t va Xm (3.95) S % -............. (.96):% ) vE co (3.98) t tot l s S t (3 100) t t tK; St A Take scalar products throughout Equation (3, 87) with Wt, L and, allcos O + + + a cos 0 + 0 + 0 + 0 + a17 0 (3.101 11" r 13 s 17 a21Cose r + a2 sin + 0 + + a5cos Ot + 0 + a27 0 (3 102) a31 cos + a sin + 0 + a sin 8 + 0 + a sin +3 a 0 31 r 32. r 34 s 36103 (3, 103)

-59The definitions of all constants, including the a,, are included in 1ij Table 3.2. The solution itself proceeds as described above. The equation resulting from the final squaring operation has the following form: 4 3 3 2 g lcos 0 + g2cos 0 sin 0 + g3cos 0 + g4cos 0 sin 0 +g Cos 0 + g6cos 0 sin 0 + g7 cos 0 + g sin 0 5 r 6 r r 7 r 8 r + g9=-0 (3. 104) Transform this equation by the identities, l -u cos 0 = (3 105) r 2 sin 0 = 2u (3 106) l+u 0 u -tan (- ) (3. 107) An eighth degree polynomial in u is generated by multiplying 24 throughout the transformed equation by (1 + u ) Solution: 8 7 6 5 4 3 2 Pu u + P u +P PPu +Pu + Pu + PlU u + Po 0 8 7 6 5 4 3 2 1 (3. 108) P8 g g3 + g5 g7 + g9 (3. 109) P7 2[-g2 + g8] (3. 110) P7 2g +g4 - 6

-60TABLE 3.2 DEFINITION OF CONSTANTS USED IN CASE 3d. R r sin S= s sin T tsins r t C zrCOS +s cos qS ZS + t cos w o + C 2 rr ss tt u X o (A' u)w ^ A_ r t t r t r v - W ~ = )X oo i [ X t ts A X A t) - _ K S t S t w X w w 3 t ^ ^ ^ _ s t s v - ( t = - =. t t t t t _ X a1 R[ a13 1W Xwl ax17 (C w) r t 3 s t 2 t R[(w^ t) (w t)(r _ ] R[wr (ws X wt)] 21 j22 s r t I2r tX a25 _ X j a27 (C2 s c)[wr (W Xt)] R[(^ 3 ) ( ) ar t r -S r 31 Ir X ItI Is X tl r y it Is x t a4 - S a36 T a7 (C

-61TABLE 3.2 CONT'D b31 tI > X t a31 b32 w- X ct[a32 b -X tla b oI X tut a 34 - s X t 34 37 s t 37 ~~~2 8a a d ~~~~-2 2 d 4a2 d 4a11 d2 8alla17 d3 4(a17 b34 ) 2 2 _ (b - 2b3 b 3 31 32 b 1 3 b3131 37 gl _ dle + 2b b e5 (b2 + 7) 2 2 2 2 2 -- a- a3 1 32 ) 2 21 3132 f 2 (a a +b b a f 2 (a a +b b3 3 21 27 31 37 11 17 4 22 27 32 37 2 2 2 2 2 2 2 f - +b2e + b3 + a +b 7-a 5 27 37 4 22 32 17 25 2 2 dlel + f - f2 -2 d e2 + 2f f2 3 = dle3 + d2e + 2f3 2f2f g4 =d e d e2 + 2flf + 2f2f3 2 2 2 rdle + de d3el + 2flf +f -f + f2 g5 15 253 31 15 3 4 2 g6 d 2e4 +d3 e +2f2f + 2f3 f4 = d2e +de+ 2ff +2f2f g8 d3e4 +2f f 2 2 g9 d3 5 5 +f4

-626 2[-2g1 + g3 - 7 2g9] (3 111) P 2[3g2 - g- g + 3g8] (3. 112) P4 - 2[3g1 - g5 + 3g9] (3, 113) P3 2[-3g2 - + g + 3g] (3. 114) 2 -2[-2gl - g + 2g9] (3 115) P1 2[g2 + g4 + g6 + g8] (3. 116) P0 [gl + g3 + g5 + g7 + g9] (3. 117) sin 2 rl= r 2)[(1 - u )X + (2u)p ] + cos ~ w } =ri r [(lX +(Z) +os r } (3. 118) (1 +u s = s{sin qs[cos 0 si + sin 0sjs] + cos s } (3. 119) In Equation (3. 119), cos 0 and sin 0 are determined from Equation (3. 101) and the equation resulting from the elimination of 0 between Equations (3. 102) and (3. 103). -a - a (cos 0 (3. lZ) Cos 0 1 1 r (3. 120) S a13 a25 (a21cosr + a22 sin + a2 -(b cos +b3 sin +b3 7) ~~~~~~(sin 0 r 27 31 r 7 s 2b34(b31c~s + b3 sin 0 + b37 34 31 r 37 b3(1 - cos 0) ~34 8 } (3. 121) 2b34(b31coS r + b3Zsin 0 + b37) r32 r

-63t (r + s + C) (3. 122) 3., 2 Supplemental Solutions In many position problems, conditions are imposed which cannot be stated in the form of Equation (3. 1). These are difficult to categorize. However, two cases are of particular importance and their solution will be discussed here. The geometry of these solutions is shown in Figures 3.9 and 3. 10 (1) Two simultaneous scalar products containing an unknown unit vector. (a r) - c (3. 123) ( ~ r) = c2 (3. 124) Here a and b are known unit vectors; cl and c2 are known scalar constants, Unit vector r is completely unknown, Expand r in spherical coordinates in a dummy X, P,, v reference frame: r - sin r [cos 0 X + sin 0 r,] + cos 4 v (3. 125) Define v so that only cos 0 will remain when the scalar product indicated in Equation (3. 124) is performed. Define /I so that the AM term will be zero in the scalar product of Equation (3. 123). v - b (3. 126)

-64a b W V HHa cos ( C 1 ) 1 I 13 - cos (C2) Figure 3. 9 Geometry of Solution for Simultaneous Scalar Products r r a 3 r1 k - 1 a12 Cos (c12) 4 = unknown Figure 3. 10 Geometry of Solution for Five Scalar Products between Four Unit Vectors, Sixth Product Unknown

-65_ (a X b) (3. 127) (a b)b - a x X V (3. 128) a X b Perform the scalar products, - sin Cr |cO I X I + cos (a b) = c (3. 129) osr = C2 (3. 130) Equations (3. 129) and (3. 130) are the source of expressions for sin 0, cos 0; sin C, cos. These are substituted back into r r r r Equation (3. 125). Solution: A 1 ^.A r a )2/2 {[C (a b) - c] X l)(C a ) [1 -(a b) 2 2 c -2 1/2 -c1 c2 - (a b) 1 + 1 + c2b (3. 13i) (2) Five scalar products between four unit vectors, sixth product unknown. Given: (r1. r2)= c12 (3 132) r3)= c23 (3. 133) (r3 * r4) C34 (3. 134)

-66r r;) C41 r(3. 135) 4 1 4 1 (r 3) C13 c (3. 136) Determine (rz r4) in terms of the constants cij Using Equation (3. 131), first express r2 in terms of r1' r3' c12, c23" and c13; then express r4 in terms of r1' r3, c34' c41' and c13. r2 2 12z [C23 c 13 - c12] 1 [2C12 23 13 12 c13] 3 13 1 2 2 1/2 c23- c13 + 1] + cr (3. 137) 1 3 = ~ (3. 138) rl X r3 C! 1 3) 3 1 (rI r )r3 r X3 1 (3. 139) lrlX r31 11 ^2 r4 2 1/2 {[c41c13 c3 4 ]i Z + [2c 34 c13 - c34 2 2 + 1/2 ^ - 41- 13 + 1] 2 + 34 3 (3. 140) 9=2 P1 (3. 141) XZ =X1 (3. 142)

-67Obtain (r2 * r4) as the scalar product of Equations (3. 137) and (3. 140). Solution: =____ -c ]+[[2cc rZ' r4 2 3 13 C12][41c13 - c34] 12c23c13 [1 - C13] 2 2 2 1/2 2 2 2 - l- c23- c13 + 1] [c34 41 13 34 41 13 + 1] } + C23C34 (3. 143) 3. 2 The Eliminant The solution of difficult vector equations is likely to require simultaneous solution of algebraic polynomials. This is suggested by the solutions to cases 2b, 3c, and 3d of the Tetrahedron Equation. In each of these cases the solution can be obtained as a polynomial in a single unknown. However, in more complicated problems it might only be feasible to reduce the problem to two polynomials, each in the same two unknowns. The direct mathematical approach to obtaining roots in such a situation involves use cf the eliminant (also known as the resultant determinant or Sylvester's determinant). Several texts on algebra derive and discuss the eliminant [75]; only its use will be described here. Development of the eliminant approach as a major tool for the solution of three or more simultaneous polynomials is yet to be achieved. This will probably require use of statistical or iterative methods,

-68because of the astronomical number of operations involved in an exact procedure. The present development is a reasonable tool for simultaneous solution of two polynomials of low degree, but is primarily an exploratory device. Consider the problem of obtaining the same y root in e~,ch of the following two equations. fy +f y +... + fly+ f = 0 (3. 144) n n-1 gny +g y +... + gy+ go = 0 (3. 145) A necessary and sufficient condition for this is that the following determinant be zero: |- - ~t = m + n.I f f f m nm- 1 m-2 O n 0i f f f f m m- 1 m-2 0 f f f f 0 m m- 1 m-2 O (3. 146) m tgnO gn gn-2''' go 0 g g n2.' gO

-69In Equation (3. 146) all blanks should be filled with zeros. For example, when m = 3 and n = 2, Equation (3. 146) becomes f3 f2 fl f0 ~ o f f2 fl f g2 g1 g0 = 0 (3. 147) 0 g2 gl g0 O O z g 1 go0 In Equation (3. 146), the quantities fi and gi may be functions 1 of any number of variables (u, v, w, x,...). However, for present purposes let the f. all be kth degree polynomials in x; the gi all 2th degree polynomials in x. The result of expanding Equation (3. 146) is therefore a single polynomial in x, of degree (nk + ml). However, the number of multiplications involved in the expansion prohibits doing it by hand, unless all but a few of the coefficients of the f. and gi polynomials are zero. This presents two alternatives, both of which require the digital computer. (1) Determine the roots of Equation (3. 146) by iteration on the determinant itself. Equation (3. 146) is identical in form to the determinant that must be solved in an eigenvalue problem, such as that of a multidegree-of-freedom vibrating system. Well- developed iterative methods exist for determining the roots [60].

-70(2) Derive a tensor expression for the coefficients of the resultant polynomial and evaluate the coefficie nts-exactly or statistically. Determine the roots by iteration on the resultant polynomial. The latter approach is taken here because it seems easier to extend to the solution of more than two simultaneous polynomials. In tensor notation [69], a determinant Ihi is written Jij12j 2 ( hL e 12 (t) hi h2 h(t) (3. 148) j ~ 211 12 l(t) t m + n (3. 149) 1 2 t s oow E (' )is a permutation symbol and takes the following values: (1) +1 when ii2.. i(t) is an even permutation of the numbers 1, 2,..., t. (2) -1 when ii2...i(t) is an odd permutation of the numbers 1, 2,..., t. (3) 0 in all other cases. (Other cases occur when there are two or more duplicate integers among the i. it) In Equation (3. 148), each of the h. terms is a polynomial in x. (The zero terms are regarded as polynomials with all zero coefficients.) k h:i....x, x {3. 150) (i) 0

-71The cl.k correspond to coefficients in the f or g polynomials (Equations (3. 144) and (3. 145)), depending on whether i(j) exceeds or is less than m, in Equation (3. 146). Substitute Equation (3. 150) into Equation (3. 148). ii~. i()1 2 (t)~ k k k. hj = e (c. c...c k (t) (3. 151) lk ik22 i(t) (t)x X The 2t summations indicated in Equation (3. 151) may be carried out by whatever procedure is most convenient. The following approach is designed to compute the individual coefficients of the resultant polynomial in the course of the summation. (1) Increment an integer p, in steps of one, over the range 0 < p < (nk + me). (2) At each value of p, evaluate Equation (3. 151) for every combination of k, k2,.., kt) totaling p. Each such evaluation can be performed by a standard determinant routine. This is because the Xk') terms can be factored out as xp, and because the remaining terms have the form of Equation (3. 148) when the k are fixed. (3) For each value of p, sum all of the determinant values obtained in (2). This sum is the pth coefficient of the resultant polynomial in x.

-72(4) When p has completed its range, all coefficients of the resultant polynomial in x w:,tU be available, Solve this polynomial for a.llI. k + me) x roots (a standard routine may be emp.oyed.}. Substitute each of these roots, one at a time, back into both Equations (3. 144) and (3. 145), to evaluate the f and g coefficients. Then for each x root, Equations (3. 144) and (3. 145) are solved for their several roots. Ordinarily one and only one pair of the y roots from Equations (3. 144) and (3. 145) will match, for any one c root. The x root and the matching y root will constitute one of the (nk + m) solutions to Equations (3. 144) and (3. 145). A computer subprogram written to perform this work is described in Apper'.Jix A. 3.3. Results from two example problems are jr esented in Table 3. 3. In theory there is no limit to the degree or the number of simultaneous polynomials that can be solved by ag approach of this kind. The present program has no theoretical restriction on the degrees of the polynomials. (This is suggested by Example 2, Table 3 3.) More than two simultaneous polynomials can be solved by a Gauss-Jordon kind of reduction process, pairing one polynomial against all the others to eliminate an unknown throughout, then repeating until all but one unknown is eliminated. Of course, the eliminant (Equation 3. 151) )

-73TABLE 3.3 EXAMPLES OF SOLUTION OF SIMULTANEOUS POLYNOMIALS Example 1. Execution Time = 5. 12 sec. (3x + 2x + l)y + (6x2 Ix + 3)y + (6x + 5x - 1) - 0 (x2+ 5x - 3)y2 + (3x2 + lx + 2)y + (x - 2x + 1) - 0 Coefficient of Root x roots _ y roots Deg. of Resultant x No. real part real part Coeff. j Polynomial imag. part imag. part __,..... ~-! ~- I -- -— flX — 4 —".:. 8'-5. 000000X1 00 1 9.866105X10~ -3.017123X10-I 1 ij 7 9, eOOOOOXlO 0 0.O 6.-5.820000)X102 1ii 2 ~2.876584X10 -.809936X101 5 1.794000X103 0 0 3 o 4 ~ -1.089000X103 3,4 3.811290X10 -1.463227X10 3 2.220000X101 + 3.748579X100 +3.414708X101 2 4.400001X10 5,6 -3.283790X10-1 8.034719X10-1 1 1.610000X102 +3.626602X101 T3.931192X10 2 0 -5.100000X10 78 5.402081X101 -7. 141178X10-1 1+4.833163X10- +8.829509X10

i74TABL 3,3 CONT' D Example 2, Execution Time = 49% 6 sec, 4 3 2 (7x- 9)y + (Ox + 5 ) (-7x + )y2 (-3x - 9)y $ (= Sx + 2) 0 O (2x + Sx + $Ox- 5)y + (Sx + lx + 5x- l)y + (7x + 6x 3x + 5) 0 Coefficient of Root x roots y.........roots Deg. of Resultant x No. real part real part Goeff, Polynomial imag. part imag. part 14 1 1,323 00X10 1 -3.301638X10~ -1.053711X10O 13 2.024010X105 0 0 12 |-9.,715408X10 2 -7. 172048X10 8.797837X10 11 -6, 582907X10 0 0 10 1.989712X106 3,4 -1.232323X10~ 1.432858X10-1 9 -3,348428X105' 4.584016X101 +7.117867X10 8 1,. Z3851ZX106 5,6 1.483417X100 -7.254179X10"1 7 1, 3710 ZX106 +6. 324904X10' +1 445311XO 0 6 -4 4126Z6X105 7,8 6. 743634X10' 1 5,733167X10 1 5 8i 232079X104 +3,781570X100 +1l454501X100 4 -1,085100X10 9.10 3.Z79200X10 -1.994073X O 3 3,.719302X104 ~+7.156668X10'1;2Z938320X101 2 2,529590X105 11, 12-3,084983X10-1 +9.671565X10 i 5 -l 1 -, 522590X 105. +6.224477X10 1 3,212334X10 0 2,i46870OX104 13,14 2,99668OX10'1 -9,472472X10'1 +9,074256Xl OZ +_9.358603X10-3

-75is required for each pairing rather than the multiply-through-andsubtract-operation used with simultaneous linear equations. The coefficients of the eliminant are polynomials of more than one variable, until the very last elimination. There are probably other more efficient procedures, but this is at least one possibility. In practice, there are several effects which severely limit application: (1) Time required for exact computation. The coefficients of the resultant polynomial are computed by successive evaluation of determinants. Even when only two simultaneous polynomials must be solved, a total of (k + 1)n(Q + 1)m determinants must be evaluated, each of size (m + n) X (m + n). The approximate IBM 7090 time required per determinant is, At = 56(m + n) + 72(m + n) + 320(m + n) + 157 (3. 152) (ht in microseconds) Figure 3. 11 is a plot of the time required for determinant evaluation alone, versus m, for several combinations of n, k, I. Significant additional time is required for the iterative solution of the singlevariable polynomials obtained in the procedure. Clearly, the computational time can become excessive. It may be that the computation time limitation can be substantially eased by a Monte Carlo procedure. Equation (3. 151) is then evaluated for many sets of indices, chosen

-76~ (4,4,4) 10000 5 (4,4,3) 8 (2,2,2) (2,4,8) 1000 ~ (6,5,6) 3 (2,4,4) 9 (2,2,2) 100 1 100 @~~ (3,3,3) U en (2,8,8) @ (2,1,3) ~ (2,8,4) 10 @(2,8,2) (2,4,2) @ (2,2,2) IY +f mY + + fy + f =0; f. of kth degree in x n n-i gn + gy + g= C; gi of fth degree in x Numbers in brackets = (n, k, f) 0.1 I I 2 3 4 5 6 7 8 Figure 3. 11ii Computer Time Required for Exact Computation of Determinants in Simultaneous Solution of Two Polynomial s

-77at random. The coefficients of the resultant polynomial are then statistical estimates (except for the very high and very low degree coefficients, which can be obtained exactly with the evaluation of only a few determinants). Approximate roots can be obtained, then used as initial approximations for an iterative procedure. (2) Round-off error. This has not been a problem for exact computation (involving degrees less than 3 or 4) performed so far. However, such difficulty is expected in view of the amount of multiplication and subtraction that takes place. (3) Excessive degree of the resultant polynomial. For simultaneous solution of only two polynomials the resultant polynomial has degree p = nk + mt. In general, p will rapidly increase with increase in the number of polynomials to be solved. For p > 1000 the iteration time to obtain the roots may become a serious limitation. Perhaps larger polynomials must be represented by power series approximations in a smaller number of terms, before being used in the eliminant, 3. 3 Application 3.3. 1 Direct use of the Tetrahedron Solutions Figure 3. 12 is a schematic of the front independent suspension and steering system of a conventional automobile. To achieve good handling characteristics the automotive designer must have a means

18~~~~~~~~1 "I 4 P17 P20 1 8 kA P16 Figure 3. 12 Schematic of a Front Independent Suspenrsion and Steeri Sse

-79of calculating all the position vectors in this sytem, given a steering angle and some input suspension parameter. Assume that the instantaneous position of the automobile frame relative to the road is known. If this is so, vectors r, r P8P7 PZ01 P19 r 2Z1' w 41' w61, w18 are all known. For evaluating the p19P8 performance of the linkage system itself, the two input quantities can be the azimuthal angles of the rotations of r and r P16P20 P6P8 about their respective axes, w61 and w18. These angles determine r and r because the corresponding magniP16P20 P6P8 tudes and polar angles are known from design. The solution can begin with loop P20' P16' P17' P19. As a three-dimensional linkage this loop is over-determined. However, it is very nearly two-dimensional in its motion, and the hinge pairs at P16 and P17 are slightly elastic. The solution is obtained from case 2d-of the Tetrahedron Solutions, because only r 1!7 16 and the azimuthal angle of r are unknown. The vector _P19P 7 r is then determined from r, w6 and design constants c, cC., and c3. (r X CD 4 ^P17P!6 76 r =c r C+ C P17P6c +c (3. 153) Pc 1 r Pp1 2 76 3 P18P16 1 P 16 C7P6 r W Ip1 7 PI 7PI' 6 76X

-80Case Zd also solves the loop P6 because the only unknowns there are r and the azimuthal angle of r P5P6 -?P5 This determines r and r, but cannot determine the P5P6 P7P5 rotation of link 3 in the two spherical pairs at P6 and p5. In fact, this loop would thereby be underdetermined, if not for the constraint from link 5. A third loop P18' P11l P6 can be solved, using information from the results of the first two solutions. Here the unknowns are r and the 0 of r, and case Zd again applies. Two 11P8 P6P ll king-pin unit vectors, r and r, are now known. The P5P6 P llP6 spindle vector r can therefore be determined frotn these unit 10 9 vectors and the design constants C4, c5, c6. (r X r ) ^^ 56 11l 6 r; c r + +6 r6 (3 154) PloP9 4 P5P6 5 PP6 6 r p rPi P6 All unknown vectors have now been determined. However, other quantities such as camber, castor, and toe angle are of importance to the automotive designer. These can easily be calculated from the vector output as follows: Camber angle = cos [ 9 (3. 155) 10p 9 j

Camber blJ co0 w Toe 0 U) -1 rQ9 Ca s te r z (rS W -2 6 Ui~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o x ~~~~~~~~~~~~~~Camber cr- Angle of Lower Hinged Link g-. 5 degrees 15 degrees -4 0 5 10 15 20 25 30 35 PITMAN ARM ANGLE (DEGREES)- fFigure 3. 13 Variation of Camber, Castor and Toe Angle vs. Angles of Pitman Arm and Lower Hinged Link

-82Castor angle = cos1.p5P6 p5P6 (3. 156) l r -(r j)jt pr5P6 p5p6 Toe angle = cos [r (-)] (3. 157) Plop9 A computer program was written on the basis of these solutions to evaluate all unknown positions for several input sets of the azimuthal angles of r and r. Design constants were evaluated from the "static position" of a 1962 Ford Galaxy. Figure 3. 13 shows 3/ families of curves based on results of the computer program.Camber, castor, and toe angles are plotted versus Pitman arm angle, for constant values of the azimuthal angle of the lower hinged link. Of course, much more information than shown is required in actual design work. Figure 3. 13 only suggests that concrete results are in fact obtained and that high accuracy is required to correctly predict the small variations in angles. 3.3.2 A Four-Bar Linkage with Turn-Slide Pairs Figure 3. 14 shows a three-dimensional four-bar linkage with one hinge pair and three turning and sliding pairs. The axes of the pairs are skew and all links are "bent. " There are several reasons why this linkage was chosen as an example. 3Most of the programming of this computer work was performed by Mr. De Witt Cooper of the IBM Automotive and Machine Design Project, and his assistance here is especially appreciated.

32 r 2 P2 //1 /~~~~~~~~~~~~~~ / I 43 - 43 ---------- I r3 — I I ~ ~ ~ ~ ~ ~ ~ ~ 4~~~~~q 3 c P3 r4 P4 W~~~~~~21 k 14 Figure 3.14 Three-Dimensional, Four-Bar Linkage with One Hinge Pair and Three Turn-S

- 84(1) The linkage has so far found no use in practical design, to the author's knowledge. It may be that availability of its position, motion, and force solutions —in terms of conventional mathematics- -will encourage such application. Only the position solution is derived in this section. Motion and force solutions are derived in Sections 4. 0 and 5.0. (2) Solution of combined vector and scalar conditions is required. This suggests a source of difficulty in linkages with higher numbers of links, but does not prevent a relatively simple solution here. (3) Position, velocity,and force solutions have been explored by A. T. Yang, by use of quaternion mathematics [79, 80J. This may provide a common basis of comparison between the use of quaternion and ordinary vector mathematics in the analysis of three-dimensional mechanisms. (4) All terms are present in the motion analysis, because the link motion involves both relative rotation and relative slide. Likewise power is transmitted through the three turn- slide joints by both force and torque, so that the force equilibrium analysis has a generalized nature. The example is therefore valuable as a check against the

-85vector approach itself, especially against the acceleration and force equilibrium methods. Three conditions govern the position of the linkage in Figure 3. 14: r + (P2 + q2) + (P 3 + q3) +(4 q) (3. 158) (A32 t43)=c1 (3. 159) (w43 a4. )= 2c (3. 160) (~43 41 2 In Equations (3, 159) and (3. 160), c1 and c2 are design constants. For example, cl can be determined from bench measurements of link 3 before the linkage is assembled. Fortunately Equations (3. 159) and (3, 160) can be solved independently of Equation (3. 158); otherwise a symmetry solution would not be feasible. The input angle is 021 (the azimuthal angle of rotation of p2 about w021). This determines p2, because P2 and the polar angle k21 are already known. P2 - P2 sin 21[cos 02121 + sin 2121] + os2121 (3. 161) v/21= ~21 (3. 162) r 1'X 21 1l X w21 (3. 163) 21 =i x = 21(21 X ) (3. 164) ~21 (21 2 1

-86The orientation of w32 relative to P2 and Li21 is known from the design of link 2. With P2 and w21 both known, (032 is also known. W32 sin 32[cos 032X32 + sin 3232]+ c 32 v32 (3. 165) V - 21 (3. 166) 32 21 P2 X 21 X z (3, 167) 32 IP2 XW2l 32 V 32 X X32 (3. 168) (032 and 032 are design constants. ) The unit vector t14 is known, because it is fixed in orientation relative to ground. Equations (3, 159) and (3. 160) therefore have the form required for solution by Equation (3. 131), because only t4.3 is unknown, of the three unit vectors,32 W43' o 14. Determine tc43 from Equation (3. 131), The plus or minus A A ICS sign is chosen plus if (w43' ) is plus, minus if (Z43,U) is minus- -for the mechanism as initially a s sembled, - - In Equation (3. 158), vectors r2, r3, and r4 have been expressed as sums of component vectors: (P2 + q2), (P3 + q3)' (P4 + q4). This is done because the pair axes are skew. The qi vectors are defined parallel to the slide axes, t3,, but are

-87unknown in length. The p. vectors are directed to any given point on the axes of slide,from the preceding pair. With C32, W43 and w14 determined, the vectors P2, p3 and p4 are all known. This is suggested by the following equations: ". (2 1X X32) p2 = c21 21 +c' (3. 169) [~Z1 X ~32[ (32 X 43 P3 = c31 0 c 3+ c32 3 170) p4 c41(43 +42 14) (3. 171) 1I43 X 14 (c 21 c22, c31, c32, c41, c42 are design constants. ) Equation (3. 158) can be restated, q2 32 + q3 W43 + q4u 14 + C 0 (3. 172) C - r1 +P2 + p3 + P4 (3. 173) Equation (3. 172) has the form of case 3a of the Tetrahedron Solutions, because only q2, q3, and q4 are unknown. Vectors q2, q3, q4 are determined from Equation (3. 173), then r2, r3, r4 are found from the sums, (p.i + qi).

-88TABLE 3.4 INPUT PARAMETERS FOR EXAMPLE FOUR-BAR LINKAGE WITH ONE HINGE PAIR AND THREE TURN- SLIDE PAIRS Design Constants: rl = 0.0i + 1.Oj + O. Ok in tW21 =(1. 0 + 3. Oj + 4. Ok) -1 ~ = (-1.Ofi- 1. Oj- 6.0 k) 14 38.0 (PZ W2) = 3. in, p -2. O in, cos (W w 3) =.5 radians 1 2 21 2032 3 -(p3 -w~.(W 32 43 -1 (p3. w32)2(.O 1X p 30= - n 4.3in = 1.2 radians (P3 Z )32 3. 0 in, P4 W32X W431 (i43X Z1)4 ) (p4* w43)= 1. Qin p4 = 3. 0 in cos (W43 4) = 1. radians X 1, 2 z X 2432 { 243X 2141'Initialposition, motion, and torque on link 2: 2 =2 2 1 2 = 21 E J 1 radians/sec. 21i Dw =.01 radians/(sec) 21i r21i -2.0 lbf-in Relation between output force and torque: 7Ti4o= CJfl + C2 c =4.0, c2 = 2.5

uIsTu-tjaI aL[ Jo eT31.0 a;aTIduioo e aoj t. I 1 9101P3A fOMlsOd JO UOUT;ee~A SI ~- Ia-Zgn. I // O./~X.uuodu. o - - 0 1 01 - | \;uauoduxo D ~ -'.,,. —- - -(SNWlvQva)' a e i 01 - 6p7 ~ ~ ~ uaodu:):

-90Figure 3. 15 shows the variation of the i, j, k components of position vectors r2, r3, r4 as the mechanism of Figure 3. 14 is moved through a complete cycle. Input parameters for this example are summarized in Table 3,4. Computations were performed by digital computer, using a program written to evaluate and check the position, motion, and force in any mechanism of this type. The position singularities evident in Figure 3. 15 occur when 32' W43~ and w14 become co-planar (921 = 1.40wr, 1.437). In this situation the quantity [ ( X is zero, and this quantity happens to be the denominator of the expressions for q2, q3, q4' Geometrically the singularities occur when the two cones in Figure 3. 9 become tangent (unit vectors a, r, b correspond to W32' w43' 14' respectively). There is a region between the two tangent positions in which the mechanismn cannot exist; here this is only about five degrees wide. The motions -and forces of this mechanism are discussed in Sections 4. 0 and 5. 0. Motion singularities occur at the same place as position singularities.

4.0 MOTION 4.. 1 Development 4. 1. 1 Vector Loop Equations In kinematic problems each order of motionis dependent only on motion quantities having the same or lower order. This fact allows compartmenting the entire solution of a mechanism's motion. First, the position problem (zeroth order motion) is solved, as discussed in Section 3. 0. These solutions are usually non-linear and often difficult to obtain, but they always proceed from single or simultaneous conditions of the following form: n- 1 [E r ]0r (4.1) i=l Pi+lPi PlPn (W ) i i -1, Cij (4. 2) A direct approach to obtaining motion solutions is differentiation of the actual solutions to Equations (4. 1) and (4. 2). This is rejected for reasons stated earlier (p. 21 ). Instead, Equation (4. 1) itself is differentiated and a companion condition on angular velocity is stated and differentiated. For mth order motion, the forms of these conditions are Inc Dm-l1 __ m- 1 __, [ Z D t. ] + D 0 = 0 (4.3) i=2 1,1 PlPn -91

-92n- 1 [ Dtmr ] + D r -0 (4.4) i=1 Pi+lPi PlPn Equation (4.3) with m = 1 is a statement that the sum of the relative angular velocities of a linkage loop is zero. An appropriate form of it is written for every closed loop in the mechanism considered. For illustration, consider the single loop in Figure 4. 1. Body 2 rotates relative to body 1 with angular velocity 21. Similarly, body 3 rotates relative to body 2 with 032. (w32 is the angular velocity of body 3 measured relative to a dummy reference frame fixed in body 2. ) Proceeding around the loop, finally body 1 rotates with angular velocity win relative to n. A vectorial angular position statement of this form cannot be made [43]. Thus Equation (4. 3) must be considered the fundamental angular condition. Equation (4. 1) is the fundamental linear condition. In three-dimensional motion these conditions are independent. 4. 1.2 Expressions for derivatives Solutions for successive orders of motion can proceed from equations of the form (4. 3) and (4. 4) if general expressions for the vector derivatives are substituted term by term. By definition, a vector is differentiated according to Equation 13, Table 2.3, even if the vector is a unit vector. However, an operator W can be defined such that for a given unit vector, u - u(t): Du co Xu (4.5)

-93332 - tn-l,n-2 ~< tonin- 1 Figure 4. 1 Relative rotation of n rigid bodies

-94In mechanism analysis u usually corresponds to the direction of a position vector (r ) or an axis of rotation (Z..); J corresponds PiPj to the angular velocity of u relative to ground (Til). For present purposes Equation (4. 5) is specifically stated, Du =. X u (4. 6) il Here u is any unit vector, fixed in a rigid body i Body i rotates relative to ground with angular velocity Wu i Equations 19 and 20, Table 2. 3, are derived as follows, using Equation (4. 6) and Equations 16 and 18, Table 2.3: u....u u (4. 7) Du-= (Du)u + u(Du) (4. 8) D u= (Du) u + (' X u) (4.9) D Ku - (D u)u + (Du)(Du) + (DWX u + (o X Du) (4. 10) 2 2 D u) (D u)u + WX (w X u) + (DwX u) + 2[w X (Du)u] (4. 11) Higher order derivatives can be obtained similarly, although the number of terms increases rapidly with the order. In most kinematic analysis only the first and second derivatives are of interest. Replace u with r- and with Wo in Equations (4, 9) Pi+lPi and (4, 11).

-95Dr = (Dr )r +(w. Xr ) (4.12) Pi+lPi Pi+lpi Pi+lP 11 pi+l p 2 — 2 2.... D r ~ (D r +r p W X + X r ) (4. 13) Pi+li i+lPi Pi+lPi ii +(Dwl X r ) + 2[ X (Dr ) i+lPi il P+Pi Pi+Pi In Equations (4. 12) and (4. 13) the terms (.1 and Dw are more usefully expressed as summations of relative rotations because the unit vectors of the relative rotations (axes of rotation) are always available from the position solution. From Equation (4.3), with i replaced by j and n replaced by i, i il j2 j,j- j,j-(4.14) Now differentiate Equation (4. 14) term by term, using Equation (4. 6) Dw.il j)(D + (W X W )] (4. 15) Substitute Equation (4. 14) into Equation (4. 12) and Equation (4. 15) into Equation (4. 13). i Dr - (Dr )r + [jI (Q.. )(v )] X r Pi+! Pi + Pii+Pi jii2 J' j Lj(1 Pi+lPi (4. 16)

-96D r = (D r +[-r (Dw. )w.o X r Pi+li Pi Pi+lPi+lPi j=2 J j-1 Jj-1 Pi+lPi + X (a X r + 2X[( X (Dr )r Pi+lpi Pi+lpi Pi~lPi i[z j 1 jj-1 Pi l 7 +j[ (c X 1)] x r 14: i7) j=3 Pi+lPi 4. 1. 3 Solution Procedure In general a motion solution for a given mechanism will proceed in the following steps: (1) At the instant of time considered, assume that all r P tI1Pi and ii-1 vectors are known. These are the pair-to-pair and axis of rotation vectors that are determined in the position solutions In addition a number of input motions must be given equal to the degree of freedom of the linkage. (2) Write Equations (4. 3) and (4.4) once for every independent linkage loop in the mechanism. In this step a velocity solution is sought and m equals one (D Wc. -- 1. ). 1,i-1 1,i-1 (3) Substitute Equations (4. 14) and (4. 16) respectively for every term in the equations obtained in step (2). (4) Identify all unknown quantities. These are necessa rily either w.. terms, Dr terms, or both. In a deterrnmn-ina,-e 1,)1- 1 Pi+lPi problem, the total number of these unknowns must equal the number of independent loops multiplied by six.

-97(5) A set of simultaneous linear algebraic equations in the unknown terms can be obtained by taking scalar products throughout each of the vector equations with any three known, non-parallel unit vectors. (6) Now assume that all r. A. and Dr P11i i+ lPi vectors are known, at the instant of time considered. (7) Write Equations (4. 3) and (4. 4) as in step (2), except that now an acceleration solution is sought, and m equals two. (8) Substitute Equations (4. 15) and (4. 17), respectively, for every term in the equations obtained in step (7). The result can be reduced to a set of simultaneous linear algebraic equations, just as in step (5). The unknowns will be either D w. terms, D r terms, or both, equal in Inumnber to the unknowns in step (4). Pi+lpi This procedure provides all the essential unknown linear and angular velocities and accelerations. If any other motions are sought, they can easily be determined in terms of known position vectors and the essential motions already obtained. Higher order motions can be obtained by an identical procedure, except that the derivatives analogous to Equations (4. 15) and (4. 17) become much more detailed. However, the motion solution for any order of motion will always be linear and of the same form as that of all the other orders.

-984. 2 Application Consider again the mechanism shown in Figure 3. 14. The position solution has been obtained (Section 3.32). The velocity conditions from Equations (4. 3) and (4. 4) are 2 1 + W32 + W43 + 14 0(4 18) Dr1 + D(P2 + q2) + D(p3 + q3) + D(P4 + q4) 0 (4. 19) In Equation (4. 18) 021 is an input quantity and the unit vectors w32, w43, L14 are all known from the position solution. Equation (4. 16) is substituted term-by-term into Equation (4. 19), and zero quantities are dropped out. (Dr 1 and the factors Dp2, Dp3, Dp4 are zero.) Equations (4. 18) and (4. 19) become w32 32 + w43 43 + W1414 + W21 0 (4.20) (Dq~)w32 + (Dq3)43 + (Dq4)wl4 + (21 X r2) (4. 21) + (W 21 + 32 W32) X r3 + (W 21 + W3232 + W 43 W43) X r4 = 0 The unknown quantities in Equations (4.20) and (4.21) are 32, W43' W14' Dq2, Dq3, Dq 4. A set of six simultaneous linear algebraic equations in these six unknowns can easily be obtained by taking scalar products throughout Equations (4. 20) and (4. 21) with the unit vectors i, j, k. Such a procedure can always be applied,

-99regardless of the number of mechanism loops or kinds of pairs. Here, the solution is even simpler because 032, W43, 614 can be determined immediately from Equation (4. 20) by means of the case 3a Tetrahedron Solution (Equations (3. 438)-.(3. 50). When these quantities are substituted into Equation (4.21) the only remaining unknowns are Dq2, Dq3, Dq4. Equation (4. 21) can then also be solved by case 3a. The numerators and denominators of these solutions have interesting physical interpretations. Zero numerators identify dwells; a zero denominator identifies a locking position. All solutions have the same denominator, [W32 (W43 X W14)]. The acceleration solution is completely analogous. Equations (4. 3) and (4. 4) are written Dwu1 + Dw + Dw + D14 0 (4. 22) 2-0 2 -P 2 - _ D r +DP2 q (p + q)+D(p 3) + (P4+ q4)= 0 (4.23) In Equation (4.22), (Dw2 1) is an input quantity, and in both equations all positions and velocities are now regarded as known. Substitute Equations (4. 15) and (4. 17) term-by-term. (D 32) +32 (Do43) 43 + (D)14) 14 (DZ])~21 (4.24) + (W21 X ~32) + (~31 X o43) 0

-100~~(2 2 (D q2 )32 (D q3 ) 43 + (Dq4)w14 + (D21)(W 1 X 2) + [(D w21)tO21 + (Dw32)W32] X r3 + [(Dz21)WZ1) + (Dw32) w32 i (Dw43)w43] X r4 + w21 X ( 21X r2) + W31 X (u31X r3+ W41 X (41 X r4) + 2[21 X (Dq2)32 + 2[w31 X (Dq3)w43] + (W21X W32)r3 + [(31 X 43) + (21X w32)] X r4 _ O (4.25) The unknown quantities in Equations (4. 24) and (4. 25) are Dw32, 2 2 2 Dw 43, Dw14 D q2 2 D q3, D q4. The equations are lengthy, but only the first three terms in Equation (4. 24) and the first six terms in Equation (4.25) contain unknowns. The remaining terms in each equation can all be summed into a single vector constant. The solution is most simply obtained by using Case 3a to determine Dw32, Dw43, and Dw14 from Equation (4.24), then using case 3a again 2 2 2 to determine D q2, D q3, D q4 from Equation (4.25). Again, the denominator of all solutions is [w32. (043 X W14)]. Figure 4. 2 shows the variation of the i, j, k components of velocities Dr2, Dr3, Dr4, as the mechanism of Figure 3. 14 is moved through a complete cycle. Similarly, Figure 4.3 shows the v2- o c2-t 2-. variation of accelerations D r2, D r3, D r4 Input parameters

-101451~-v 5 w7 7r 3 7r/2 ~ (RADIANS) -5 i component \ l j component \, I I I k component. -I I-~~~~~~~~~~~~~~~~~~0~~I 1 5 /1 -'Cs Figure 4.2 Variation of Velocities Dri2, Dr3. Dr4 for a Complete Cycle of the Mechanism of Figure 3. 14

-102 -. 10\ -5 i component j component k component 0 l 1p0 111 10 CM -5 Figure 4.3 Variation of Accelerations D r_, D D r4 for a Complete Cycle of the Mechanism of Figure 3. 14

-103are summarized in Table 3.4. The singularities evident in all the motions occur when W32' w43' and Z14 become co-planar. In this situation3(43 X W14)] is zero. In other mechanisms of this type the [W32 (143 X W14)] discontinuity may not be present. A dwell occurs in output angular velocity when the quantity [~21 (32 X W43)] becomes zero (2 = 1.37r). However, this cannot be seen in Figure 4. v because the output translational velocity remains finite.

5. 0 FORCE 5. 1 Development Mechanisms are inherently statically determinant because they are designed so that the number of degrees of freedom equals the number of input motions. Mechanism force analysis is therefore simpler than that of most structures. The elastic constants of the individual members need not be considered; instead, the analysis only requires knowledge of design, position, motion, mass distribution, frictional characteristics, and input force. Force solutions are obtained from the vector equations of force and moment equilibrium applied to each link of the given mechanism. It will be shown that without friction the entire set of these equations will always reduce to a set of simultaneous, linear, algebraic equations. The condition of equal power transmission at each joint can also be applied, but is usually insufficient for obtaining all unknown forces and torques. Instead, it is used as a check. Consider the ith link of a mechanism having n links, joined in any number of loops. One or more forces and torques can be exerted on this link by any of the others. The conditions of force and moment equilibrium of the ith link are -104

-105n m( [ Z c (f..) ] + g. - 0 (5. 1) j=l k=l 1 k 1 n q m {Z [ t (T..)+ ((f..) X r )]} j —1 1 =1 1Jp3 k=Il 1J Pk Pipk (5. 2) + o+i +(gi r )=0 1 1 Interpretation: (1) The inner summation in Equation (5. 1) allows the jth link alone to exert up to m forces on link i, at points Pk' k = 1, 2, 3,..., m. For example, a single floating link may be subjected to several different forces from the ground link. (2) The forces discussed in (1) are present in moment terms in Equation (5.2). The "moment arm" vectors r are always i k directed to the same point pi but originate at the different points of application of forces, Pk (3) The inner summation on (T..) in Equation (5.2) allows z3 Pk the jth link alone to exert up to q torques on link i, at points p, - 1, 2, 3,..., q. (4) The outer summations in Equations (5. 1) and (5. 2) sum the forces and moments exerted on link i by all the other links in the system. Many of these terms will be zero; ordinarily only the links adjacent to link i can exert forces or torques on link i.

-106(5) The terms gi and ai represent inertial forces and torques. These are dependent only on position, motion, and mass distribution and are therefore known. The "moment arm" vector r is directed to point pi from the center of mass co. p.c. i 1 1 l (6) Exactly twice as many force and torque terms as necessary will result when Equations (5. 1) and (5. 2) are written for every link in a mechanism. For example, the equations for a link 6 may have a term, (f65)p representing the force exerted on link 6 by link 5 at point p3. But then the equations for link 5 will have a term equal in magnitude and opposite in direction: (f56). To avoid this dual P3 notation the subscripts are reversed on every term for which i is less than j, and a negative sign is placed before the term. The term (f56)p is therefore written - ( f65) (In this convention p3 p3 the ground link must have two numbers, 1 and n+ 1, so that if n = 8, the subscripts in a term such as (fl8) would not be P6 reversed.) A total of 2n equations are obtained by writing Equations (5. 1) and (5.2) once for every link in a given n-link mechanism. Only n- 1 of the force equations, and n- 1 of the moment equations are independent; the nth equation in each set is the sum of all the others. For convenience, the solution may proceed with the n- 1 simplest equations from each set, even if these happen to include the equation of equilibrium for the ground link. Regardless, a total of 2n- 2

- 107simultaneous vector equations must be solved. In three dimensions these represent 6n- 6 scalar conditions. The effect of frictionless higher or lower pairs is to prohibit transmission of force and torque in one, two, or three directions, depending on the design of the pair. Table 5. 1 summarizes these restrictions for several common pairs, and states consistent expressions for the transmitted force and torque. When transmission in only one direction is prohibited, the corresponding unknown three-dimensional vector is reduced to an unknown twodimensional vector. The two-dimensional vector is expressed in rectangular coordinates in a plane perpendicular to the prohibited direction. When transmission in each of two directions is prohibited, there is a reduction to a one-dimensional vector, directed perpendicularly to the two prohibited directions. Finally, when transmission in three different directions is prohibited the vectors of transmitted force and torque must be zero. There will remain exactly 6n- 6 scalar unknowns to match the 6n- 6 scalar conditions, once all pair effects and output conditions have been included. These unknowns can occur only in force or torque quantities because all positions and motions are predetermined. In the absence of friction, angular coordinates are never unknown; they are either known from the position solutions and pair restrictions or are included in vectors which are entirely unknown, Thus, all

Table 5. 1 Restraints Introduced by Pair Design Pair s Re strictions Expressions Hinge ~: none =(f ).= ( i + (f )jj + (f ) k /m ~ (r 0 r r m X^ ) (m /k|m km km m X m f (I T W A7, satisfy (A=, (u ) = O, (A ) 1 m |r r- X gm lm l T-j = (2Example: i... m X J (X) k Prism (f ~r )O f = f+ ( A Cm Cmm Cm'mX Cm/. ~~~~~~~~~~~r rXr ~~~~ImC nn (kmsatisfy GZ. ( )=km ( )km; =r A A A X r m i-j m (Cm jmkk

Table 5.1 (Cont'd) Screw (f * )+C(r ~ )=O(f + Ci O mV r tm fI f ff m Wm) +C( T m f ( tm ( m + r ) v C design constant = ( )x + ('mr) + (7TM)V f: | l A,~, v satisfy y - m (X I=, m ) =. r Turn-Slide f /(f = f (f (f I ) I ri | lm Im ~tm = ~(7m)A ( tm ~ ~ 7-.M:... -7-)=o 7 (-. V + (X u satisfy (A 0e )=O. (A; )= O.(A u t1 Universal f: none | n= (f in)i + (f n)j + (f n)k mLn n n( In.I ni m lo f n in

Table 5.1 (Cont'd) Double Prism r (ff z r X r in O in| A f + ( n | f: none T =( ( )i ( m)j+( )k n In 2n1 in) r 2n A f Ar 2m 2 ~~~rr r -2 m Spherical Dnonue fPrism em mn i em In k (f r)0 2 Tn~'m ~~m

11 1-P1 scalar unknowns can be included as the rectangular coordinates of one-, two-, or three-dimensional vectors. In general, the one- and two-dimensional vectors must be expressed in dummy reference frames, defined in terms of the i, j, k ground frame. The three-dimensional vectors may be expressed directly in the ground frame becausevregardless of the reference frame,three coordinates will be unknown. Several examples of expressions are included in Table 5. 1. Once all 6n- 6 scalar unknowns have been identified as rectangular coordinates, the 2n- 2 vector equations containing them can be reduced to 6n- 6 linear algebraic equations by taking scalar products throughout with any three non-parallel vectors. The solution of the 2n-2 vector equations can usually be simplified if an approach specialized to the particular mechanism is employed. Frequently unknown vectors can be eliminated by substitution or subtraction of one equation from another. This may lead to solutions that can easily be physically interpreted. Pair friction is likely to introduce unknown angular coordinates. Two such circumstances are shown in Figure 5, o. This may cause non-linearity in the force solutions in the same way that nonlinearity was caused in the Tetrahedron Solutions (Section 3, 1. 1)o For simple mechanisms a specialized solution may be obtained in polynomial form by techniques discussed in Section 3. 0. For any

-112Hinge Pair Without friction: (fm)i (f )j, (f m)k ( (m) {~Qm unknown A m (f m)i + (ffm)j + (f m)kk f n - n' =m(r m) +(r m)p With friction: fPm, Of, j ~ (7tm)x (7'm) unknown f mf [sin (cos sin 8)+ cos0 f Wom] k \&r,m = (Tlm)X, + (Qm)/f - (Pemfrn)Qm Turn-Slide Pair I-' C. Without friction: (fm), (fm), (m), ('rn) unknown mX m em xm (femx (Q ~~r f = (f + (f )X (fm Im (m (7m 7 m = (7'm)Xx + (r m) a2m 7km m )1A ~~ tOQm With friction: f~m, Of' ( nm)X' (7, ) unknown k | ~~fm =f {+(1" 2 1 /2[cos 0fX+ sin. fu] tomim?3m= (7m kA + (T em) -Pt- (p grf ) Pm Figure 5. 1 Effect of Pair Friction on Introducing Unknown Angular Coordia&tes

-113mechanism an iterative solution can be attempted, using the frictionless solution as an initial approximation. 5. 2 Application Consider the mechanism of Figure 3. 14. Position and motion solutions have already been obtained (Sections 3. 3. 2 and 4. 2) and all information required for a force and torque analysis is available. To minimize detail the links are assumed without mass; to retain linearity the pairs are assumed frictionless, Conditions of force and moment equilibrium: f f =0 (5.3) 21 32 f32f 43 (5.4) 32 43 f -f ~0 (5.5) 43 14 f14 f21 0 (5. 6) 14 21 21 732 + (21 X r 2) 0 (5. 7) 32 743 +(f 32 X r 3) 0 (5.8) T43 714 + (f43 X r4) - 0 (5. 9) 14 r21+ (f 14 X 1) (510)

-113mechanism an iterative solution can be attempted, using the frictionless solution as an initial approximation. 5. 2 Application Consider the mechanism of Figure 3. 14. Position and motion solutions have already been obtained (Sections 3. 3. 2 and 4. 2) and all information required for a force and torque analysis is available. To minimize detail the links are assumed without mass; to retain linearity the pairs are assumed frictionless. Conditions of force and moment equilibrium: f 2 f 3 0 (5.3) f -f ~0 (5.4) 32 43 f - f 0 (5.5) 43 14 f4 -f21 (5.6) 1 - 21 T21 -32 +(f21 X2) - 0 (5. 7) 732 z 743 + (f32 X r3) 0 (5.8) 43 14 + (f43 X r ) 0 (5.9) 714 21 + (f14 X r ) 0 (5. 10)

-115The forces and torques of the pairs at P2 and p3 are prohibited from transmission parallel to the respective axes of rotation, w32 and From Table 5. 1, these restrictions may be expressed as follows: (32' "32)= ~ (5. 18) (732 ~"32) =0 (5, 19) (f43 43)- (5.20) 43 43 (r43 43)= O (5.21) Now all unknown force and torque vectors can be expressed in one-, two-, or three-dimensional rectangular coordinates, consistent with the number of prohibited directions. One- dimensional vector s: f140 (f140)W14 (5. 22) 7140 ( 140)o 14 (523) Two-dimensional vectors: 721r (2lr X )X21 + (T 2 l)rP2 (5.24) f32:f32X X3 + (f33232 )32 (5.225) r32 (7r32X)X32 + (T32,)p32 (5.26)

-116(f 1A f. + ~)ii 43 (5.27) 43 43X~~ 43 43p 43 - ( ) )I~t (5.28) 4 3 4 43X) 43 + 43 43 (. 2 (f )X +(f(5.29) 14r 14rX 14 4r 14(529) 144r ( )14rX 14 + ( 14r(5 130) Three-dimensional vectors: f21 = (fz21i)i +(f2 ( fl) zlk)k (5. 31) The kX,.. unit vectors in Equations (5.24) through 1j lj (5. 30) are known. They are only required to be perpendicular to the corresponding o.. vector and non-parallel to each other. For example, X21 and p21 can be expressed, a Xw ^ _ ~21 21X~~~~~~ 21 ~~~~~(5 32) la X w211 A aX_ aX JA1 = cZX - (5. 33) la X 21 Here a is any known vector with direction other than + 21 There is a total of 19 scalar unknowns in Equations (5. 22) through (5. 31). But Equations (5.3) through (5. 10) only provide

-117(6 X4) - 6 = 18 independent scalar conditions. Thus one additional condition is required. For example, there might be a linear relation between T140 and f140' 140 = Clf140 + c2 (5.34) Substitute Equations (5.22) through (5.31) into Equations (5.3) through (5. 10). Choose the simplest three vector equations from each of the two sets and take scalar products throughout with i, j, k or any three non-parallel unit vectors. Including Equation (5. 34), the result will be nineteen linear algebraic equations in nineteen scalar unknowns. The foregoing procedure has the advantage of generality and can easily be programmed for computer solution. However, a much more interpretable, specialized solution can be obtained for this particular problem. From Equations (5.3) through (5. 6), f- ff -f =f ~f (5.35) 21 32 f43 = f14 (35) From conditions (5. 18) and (5, 20) (f~ )32 ) 0 (5. 36) (f. 043) 0 (5. 3?) This defines the direction of f: f = ( 32 X w43) (5.38) K 32 X 43

-118Rewrite Equations (5. 7) through (5. 10), substituting according to Equations (5. 12), (5. 15), and (5.35). 21i + - 21r + (f X r) O (5.39) 21i 2 Zir 32 2 732 - r43 + (f Xr3) = 0 (5.40) 43 - 14- 14r + (fX r4) 0 (5.41) 140 +14r T21i + (f X r ) 0 (5.42) Only three of Equations (5.39) through (5.42) are independent. Here, Equation (5.39) is dropped. Equations (5.40) through (5.42) can be added so that T43, r14r' and 21r occur only once each in an entire set of three equations. T32 - 43 + [f Xr 3] = 0 (5.43) 32 - 14- 14r+ [f X (r3 + r4)] - 0 (5.44) T32 - 21i- +[f X(r3 +r4 +r ) = (5. 45) Equation (5.43) is a restatement of (5.40); Equation (5 44) is the sum of (5.40) and (5.41); Equation (5.45) is the sum of (5.40), (5.41) and (5. 42). Vectors T43 T 14r and T21 are all two-dimensional and can be eliminated by taking the scalar product throughout Equations (5.43), (5.44), and (5.45), with w43, w14' and w21, respectively (ref. Equations (5.21), (5. 17), and (5. 13) ). This

-119eliminates six scalar unknowns and yields three scalar equations. No further scalar products need be taken. (32 ~ 43) + f{[f Xr3]~ 43 0 (5.46) -14o+ (32' 14) f{[fX(r3 + r4)] w14} (5 47) -Zli + (z 32' 21) +f f X(r3 + r + rl)] O (5.48) These equations contain only four scalar unknowns: z32X' z32M' r 14o' and f. An additional condition is required, such as Equation (5. 34). Whatever the additional condition is, it is most likely to relate 140 and f140, not T 14o and f. Because of Equations (5. 14) and (5. 16), f may be replaced in Equations (5.46) through (5.48) by 140 f (5. 49) (f. 1) f 14 The problem has nowbeen reduced to four simultaneous linear algebraic equations in four unknowns, provided the additional condition has the form of Equation (5.34). However, the additional condition may be non-linear, or a more interpretable solution may be sought. This requires reduction of Equations (5.46) through (5.48).

- 120Define: 3Z 32 (cos O)X + (sin 0)/ (5.50) 32 t43 _ 2 (5.51) 1o32 X 431 X -~,u- X32 43 32 43(5.52) 1K32 X 431 [f X 3] 3 43 T = (5.53) 14 [f X (r3 + r4)] 14 T (5.54) 1 4 ) T=. (5. 55) (f. w 14 Equation (5.46) is solved for 32: T (f14) T32 3( 14o (5.56) I to32 X to43 cos 0 Substitute Equation (5. 56) for r32 in Equations (5.47) and (5.48), then eliminate f14 by subtraction. 14o

-12150 I ~i I /i 25 71/2- 7T37T/2 27T 0~~~~~~~~~ 21(RADIANS)-. ----------- If f~.~ / I -25 / 1, component -/ N t component \j I / ______ icomponent -50 50 /5 - \ \ ~t i r~~~~~~~~~ /I 0~~~~~~~~~~~~~ 37r/2 T/2 7T 2,\ e. (RADIANS)L= 125' I I! ~~~I I I -5W __~ ~ ~ W/ 7*. —-—. 7-/7 -~- -'~27:' 25 \ ~, (RADIANS)- 7r/2 / 3777/ 7 5! I ~ ~~~~~~~ II \ \ -50 25-/.-~~~~~~~'\ -. j/ \____ Figure'5.2 VariationofTorques _ —2' — fora'Complete Cycle of the Mechanism of Figure 3. 14

,i\ Xi I X - 7 i component -10 Figure 5. 3 Variation of Transmitted Force for a Complete Cycle of the Mechanism of Figure 3. 14 -50 _ —----- 10 Sc'C 0 0 i ii i 2.25I.0 / Mechanism of Figure 3.14.3/2 -25 / I \

IC - a. 0~~~~~~~~~~~~~~~~~~~~~~~~~~~ A-5 -50 Figure 5. 5 Variation of Output Power Transmitted in Rotational and Translational Motion for a Complete Cycle of the Mechanism of Figure 3. 14

- 124-T+ aT~ + af =0 (5.57) 14o 1 21i 2 14o0 a1 141 (5.58) W ^ ('o214 1 21j -T 14) (... - 3 14^ (a - w21) (T 214) a- + T T a] -032 X |431 34 (~.21 (5. 59) Equation (5. 57) is independent of the form of the additional condition between 14 and f0. Now even if r1 has nonlinear 140 14o 14o dependence on f a solution can be obtained by substituting into 14o Equation (5. 57) and solving the result by iteration. If the additional condition has the form of Equation (5.34) the solution for f is 14o al2iT - C f = li (5. 60) 140 c- a All other unknown forces and torques can be obtained by evaluating the equations leading to Equation (5. 57). Figures 5. 2 and 5. 3 show the variation of the i, j, k components of torques 32' 4 14 and force f. Figure 5. 4 shows the variation of output torque and force, 14 and f14; Figure 5.5 shows the variation of output power transmitted in rotational and translational motion. Input parameter s are summarized in Table 3.4.

-125Singularities occur in force, torque, and power when the denominator of Equation (5. 60) becomes zero (8 =.90r, 1. 95 r in Figures 5.2 through 5.5). These singularities can be eliminated by positively increasing the constant, cl. Additional singularities occur in 32 43' 14 when the quantity [2' (W43 X w14)] becomes zero (821 = 1.40, 1.437r). In this situation it can be shown that cos 0 becomes zero, in Equation (5. 56). This causes T32' T43, and r14 to approach infinity but does not affect f, r14, or f14 0 0 At all times input and output power must be equal. However, output power is the algebraic sum of power transmitted by force plus power transmitted by torque; individually these powers may take large absolute values, even though their algebraic sum always equals the input power. When [w32 (W43 X "W14)] becomes zero, both output powers become infinite because of the corresponding singularities in velocity (Figure 4.2).

BIFBLIOGRA PHY 1 Alt, H., "Die praktische Bedeutung der Raumgebriebe, "Z. VDI, Vol. 73, 1929, pp. 180-190. 2 Altmann, F., Raumliche funfgliedrige Koppelgetriebe. Z. Konstruktion, Vol. 6, 1954, pp. 254-259. 3 Altmann, F., "Uber Raumliche sechsgliedrige Koppelgetriebe," Z. VDI, Vol. 96, 1954, pp. 245-249. 4 Altmann, F., "Ausgewahlte Raumgetriebe, ihre Vorzuge fur Konstruktion und Fertigung." VDI-Berichte, Bd. 12 (Getriebetechnik), Dusseldorf, 1956. 5 Beggs, J. S., "A Contribution to the Analysis of Space Mechanisms," Diss., T. H. Hannover, Germany, June, 1959. 6 Bennett, G. T., "A New Mechanism, " Engineering, Vol. 76, 1-903, pp. 777-778. 7 Beyer, R., "Einfache Lagenzordnungen bei raumlichen Kurbelgetrieben," Maschinenbau/Betrieb, 1938, pp. 593-595. 8 Beyer,.R, Kinematische Getriebesynthese, "Springer-Verlag, " Berlin, Germany, 1953. 9 Beyer, R., "Kraft-und Massenwirkungen in Raumkurbelgetrieben, " Konstruktion, Vol. 12, No. 1, 1960, pp. 19-20. 10 Beyer, R., Das Matrizenkalkul als Hilfsmittel zur Untersuchung Raumlicher Gelenkgetriebe. Z. Feinwerktechnik, 1957 S. 318/327. 11 Beyer, R,., Neue Wege zur zeichnerischen Behandlung der raumlichen Mechanik. Z. Angew. Math. Mech., Vol. 13, 1933, S. 17/31. 12 Beyer, R., "Space Mechanisms," Transactions of the Fifth Conference on Mechanisms,' Purdue University, W. Lafayette, Ind., 1958, pp. 141-163. -126

- 12713 Beyer, R., "Statics and Dynamics of 3-D Mechanisms," Transactions of the Sixth Conference on Mechanisms, Purdue University, W. Lafayette, Ind., 1960, pp. 94-106. 14 Beyer, R., "A Survey of Techniques for Analyzing Motion Properties of all Types of 3-D Mechanisms, " Transactions of the Fifth Conference on Mechanisms, Cleveland (Ohio): Penton Publishing Company, 1958, pp. 143-163. 15 Beyer, R., "Wissenschaftliche Hilfsmittel und Verfahren zur Untersuchung raumlicher Gelenkgetriebe," Z. VDI, Vol. 99, 1957; I, No. 6, pp. 224-230, II, No. 7, pp. 285-290. 16 Beyer, R., "Zur Geometrie und Synthese eigentlicher Raumkurkelgebriebe," VDI-Berichte, Vol. 5, Getriebetechnik, Dusseldorf, 1955, pp. 5-10. 17 Beyer, R., "Zur Synthese und Analyse von Raumkurbelgetrieben," VDI-Berichte, Vol. 12, Getriebetechnik, Dusseldorf, 1956, pp. 5-10. 18 Beyer, R., "Zur Synthese ebener und raumlicher Kurbeltriebe," VDI-Forschungsheft, Berlin, 1939. 19 Beyer, R., and Schorner, E., Raumkinematische Grundlagen. J. A. Barth, Munich, 1953, 104 p. 20 Blaschke, W., "Anwendung dualer Quaternion auf die Kinematik," Ann. Acad. Scient. Fennicae, 1958, pp. 1-13, 21 Chace, M. A., "Development and Application of Vector Analysis for Automotive Suspension Problems," Memorandum Report, Engineering Mechanics Department, Research and Engineering Division, Ford Motor Co., Dearborn, Michigan, November, 1962. 22 Chace, M. A., "Mechanism Analysis by Vector Mathematics," Transactions of the Seventh Conference on Mechanisms, Purdue University, W. Lafayette, Ind., 1962. 23 Chace, M.. A., "Vector Analysis of Linkages," Journal of Engineering for Industry, Trans. ASME, 1963 (Paper No. 76-WA-62). 24 Chamberlain, R. G., "Partial Mathematical Solution of the 3Dimensional 4-Bar Linkage," Tech. Rpt. No. 32-386, Jet Propulsion Laboratory, California Institute of Technology, Pasadena, Cal., September 16, 1963.

- 12825 Crossley, E. F. R., "3-D Mechanisms," Machine Design, August, 1955, pp. 175-179; September, 1955, pp. 204-209. 26 Denavit, J., "Description and Displacement Analysis of Mechanisms Based on Dual Matrices. " Doctoral Dis serttion, Northwestern University, Evanston, Illinois, 1956. 27 Denavit, J., "Displacement Analysis of Mechanisms Based on (2x2) Matrices of Dual Numbers,"'' VDI-Berichte, Vol. 29, 1958, pp. 81-89. 28 Denavit, J., "A Symbolic Approach to Mechanisms Leading to Electrical Computation Methods," M. S. Thesis, Northwestern University, Evanston, Illinois, 1953. 29 Denavit, J., and Hartenberg, R. S., "Analysis of Spatial Mechanisms by Matrix Methods," Report to National Science Foundation, Contract No. NSF-G-19704, Northwestern University, Evanston, Ill., September, 1963. 30 Denavit, J., and Hartenberg, R. S., "Approximate Synthesis of Spatial Linkages, " Journal of Applied Mechanics, Vol. 27, No. 1, March, 1960, pp. 201-206. 31 Denavit, J., and Hartenberg, R. S., "A Kinematic Notation for Lower- Pair Mechanisms Based on Matrices," Journal of Applied Mechanics, Vol. 22, June, 1955, pp. 215-221. 32 Dimentberg, F. M., "A General Method for the Investigation of Finite Displacements of Spatial Mechanisms and Certain Cases of Passive Constraints, " Trudi Semin. po Teor. Mash. Mekh., Akad., Nauk USSR, Vol. 5, No. 17, 1948, pp. 5-39. 33 Dimentberg, F. M., "The Determination of the Positions of Spatial Mechanisms," Izdat. Akad. USSR, Moscow: 1950, 142 p. 34 Dimentberg, F. M., and Kislitsin, C. G., "The Application of Screws in the Study and Analysis of Spatial Mechanisms," Transactions of the USSR Conference on Basic Problems in the Theory of Machines and Mechaninsms, Moscow, 1960.

- 12935 Dobrovolskii, V. V., "Method of Spherical Images in the Theory of Spatial Mechanisms," Trudi Semin. po Teor. Mash. Mekh., Akad. Nauk USSR, Vol. 3, No. 11, 1947. 36 Dobrovolskii, V. V., "General Investigation of the Motion of the Links in a Seven-Link Spatial Mechanism by the Method of Spherical Images, " Trudi Semin. po Teor. Mash. Mekh., Akad. Nauk USSR, Vol. 12, No. 47, 1952, pp. 52-62. 37 Dragan, C., "Tensorii de Pozitie si Tensorii de Viteza in Mecanismele Spatiale cu Culisa," Buletinul Institutului Politehnic Din Iasi, Serie Noua, Tomul III (VII), Fasc. 3-4, 1957. 38 Dragan, C., "Aplicarea Tensorilor de Pozitie la Studiul Unor Probleme de Sinteza a Mecanismelor cu Came ~patiale," Buletinul Institutului Politehnic Din Iasi, Serie Noua, Tomul IV (VIII), Fasc. 3-4, 1958. 39 Federhofer, K., Graphische Kinematik und Kinetostatik des starren raumlichen systems, Springer, 1928. 40 Gibbs, J. W., "On the Form of the Teeth of Wheels in Spur Gearing," Doctoral Dissertation, Yale University, New Haven, Conn., 1863. 41 Gibbs, J. W., The Collected Works of J. Willard Gibbs, Vol II, Part 2, Longmans, Green and Co., New York, 1928. 42 Goldberg, M., "New Five-Bar and Six-Bar Linkages in Three Dimensions," Transactions ASME, Vol. 65, No. 6, 1943, pp. 649-656. 43 Halfman, Robert L., Dynamics, Addison-Wesley Publishing Co., Inc., Reading Mass., 1962, Vols. I and II. 44 Hein, G., "Analytische und zeichnerische Unterlagen fur zwei und drei Lagen eines spharisch bewegten Getriebegliedes als Hilfsmittel zur Synthese spharischer Kurbelgetriebe," Diss., T. H. Munchen, 1958. 45 Keler, M., "Analyse und Synthese der Raumkurbelgetriebe mittels Raumliniengeometrie und dualer Grossen," Diss., T. H. Munchen, 1958.

- 13046 Keller, M., "Analyse und Synthese der Raumkurbelgetriebe mittels Raumlininegeometrie und dualer Grossen, " Forsch. Ing-Wes, Vol. 25, 1959, pp. 26-32, 55-63. 47 Kislitsin, C. G., "Tensor Methods in the Theory of Spatial Mechanisms," Trudi. Semin. po Teor. Mash. Mekh., Akad. Nauk USSR, Vol. 14, No. 54, 1954, pp. 51-75. 48 Kotelnikov, A. P., "Screw Calculus and Some Applications to Geometry and Mechanics, " Annals of the Imperial University of Kazan, 1895. 49 Levitskii, N. I., and Shakvasian, K. Ch., "Synthesis of Spatial Four-Link Mechanisms with Lower Pairs," Trudi. Semin. po Teor. Mash. Mekh., Akad. Nauk. USSR, Vol. 14, No. 54, 1954, pp. 5-24. 50 Mangeron, D., and Dragan, C., "Aplicarea Unei Noi Metode Tensoriale la Studiul Cinematic al Mecanismului Biela-Manivela Spatiala," Buletinul Institutului Politehnic Din Iasi, Serie Noua, Tomul IV (VIII), Fasc. 1-2, 1958. 51 Mangeron, D., and Dragan, C., "Auspra Unei Metode Tensoriale de Studiu a Mecansmelor," Buletinul Institutului Politehnic Din Iasi, Serie, Noua, Tomul III (VII), Fasc. 1-2, 1957. 52 Mangeron, D., and Dragan, K., "Kinematic Study with New MatrixTensor Methods for Four-Link Spatial Mechanisms," iRevue de Mecanicgue.A.pplicguee, Vol. 71 No. 3, 1962, pp. 539-551. 53 Mangeron, D., and Dragan, C,, "Studiul Problemelor de Sinteza a Mecanismelor cu Came Plane Prin Metoda Tensoriala," Buletinul Institutului Politehnic Din Iasi, Serie Noua, Tomul IV (VIII), Faec, 3-4, 1958, 54 Meyer zur Capellen, W., "Die Extrema der Ubersetzungen in ebenen und spharischen Kurbel trieben, " Ingenieur-Archiv. Vol. 27, 1960, pp. 352M364. 55 Meyer zur Capellen, W., und Rath, W., Kinematik der spharischen Schubkurbel, Forechungsberichte des Wirtschafts un'd Verkehrsministeriums Nordrhein- Weetfalen, No.. 873, Cologne: Westdeutscher Verlag/Koln und Opladen, 1960'.

-13156 Meyer zur Capellen, W., "Three- Dimensional Drives," Product Engineering, Vol. 31, January 20, 1960, pp. 76-80. 57 Michigan Algorithmic Decoder, Computing Center, University of Michigan, Ann Arbor, Michigan, November, 1963. 58 Moroshkin, Y. F., "GeneralAnalytical Theory of Mechanisms," Trudi. Semin. po Teor. Mash. Mekh., Akad. Nauk USSR, Vol. 14, No. 54, 1954, pp. 25-50. 59 Predale, J. 0., and Hulsa, A. B., Jr., "Space Crank — a New 3-D Mechanism," Product Engineering, Vol. 30, No. 9, pp. 50-53, March, 1959. 60 Pipes, L. H., Matrix Methods for Engineering, Prentice Hall, Inc., Englewood Cliffs, N. J., 1963. 61 Raven, F. H., "Position, Velocity, and Acceleration Analysis and Kinematic Synthesis of Plane and Space Mechanisms by a Generalized Procedure Called the Method of Independent Position Equations," Ph. D. Thesis, Cornell University, Ithaca, N. Y., 1958. 62 Raven, F. H., "Velocity and Acceleration Analysis of Plane and Space Mechanisms by Means of Independent- Position Equations," Journal of Applied Mechanics, Vol. 25, No. 1, March, 1958, pp. 1-6. 63 Razi, Raphael, "Static Force Analysis of Spatial Mechanisms by the Matrix Method, " M. S. Thesis, Northwestern University, Evanston, Ill., June, 1963. 64 Rim, K., "The Method of Vectors and the Solution of Some LowerPair Mechanisms," M. S. Thesis, Northwestern University, Evanston, Ill., June, 1958. 65 Shakvasian, K. Ch., "Analytical Method for the Design of Spatial Link Mechanisms with Lower Pairs, " Trudi Inst. Mash., Vol. 20, No. 78, 1960, pp. 5-9. 66 Sharikov, V. I., "Theory of Screws in Structural and Kinematic Analysis of Mechanisms," Trudi Inst. Mashinoved. Akad. Nauk USSR, Vol. 22, No. 85/86, 1961, pp. 108-136.

-13267 Shigley, J5. E., Theory of Machines, McGraw Hill Book Co,, inc, New York, 196i, 68 Sieber, H,;'Analytische und Graphische Verfahren zur Statik und Dynalmik raurmiicher Kur-belget 69 Sokolnikoff, I, S,, Tensor An;alyis, Wiley and Sons, Inc,, New York, 1951, 70 tAiakl, it "Athalytische und zeichnterische Verfahren Zur UJter iichung eigen'tllcher IRaumkurblei etrlebe, darge steilt an eneim ralffr`li`chen Viergelenkgetriebe mit elnem Drehschubgeleink und zwel defnf'ugelgelenk benachbarten Drehgelenkefr.'Di. i T, FH, Manehen, 1958, 71 Ui c1ker JfY e. JJ r'Dis Iplaicement Analysis of Spatial Mechanit'mt by an Iteratlve Meithod based on 4x4 Matrices, " M. S. Theois Northwestierhn Ui3-ivet sity, Etvanstbon, i llnoiis Junje, 1963 7 Wicker, 3, J., 3. t Dehavit, ahd 14artenbe.g 1i, 8. iAn It-e-:rativ Mhtrhod ifoi the Di~placetme'nt Analysis of.spati'al Mecha-A hi'tf,it Jfo'a1 of Ailed Mechanics, Trans, ASME3 1963, (Paip't, No? 63 WA=45-). 73 Uick g,, r $, Jl "s'elocity afnd Accelerat'Ion Analysis of Spatiali Mechanists Us'ing 4x4 Matrices,!",R R.epo.t0 0 toN'oitNt',11 Nie_ hce tou-ndation, Contract No. NSF-G- 19704, Northwestern University-, Evanston, Ill., September, 1963. 74 Weckert, M,, "Analytische und graphische Verfahren fur die Untersuchung eigentlicher Raumkurbelgetriebe, dargestellt an einem raumlichen viergliedrigen Kurbelgetriebe mit einem Drehgelenk und drei Drehschubgelenken, " Diss., T. Hi Munchen, 1952, 735 Weisner, Louis, Introduction to the Theory of Equations, MacMillan Co., New York, 1938. 76 Wo-erle, H., "Getriebeanalytische und getriebesynthetische Unterlagen fur den Entwurf zwanglaufiger, insbesondere viergelenkiger Ra.unmkurbelgetriebe allgemeiner und spezieller Art, ", Dis,. Te HI Munchen, 1 95 5 i

-13377 Woerle, H., "Getriebeanalytische und getriebesynthetische Unterlagen fur den Entwurf zwanglaufiger und ubergeschlossener viergelenkiger Raumkurbelgetriebe I." Bul. Inst. Politech Iassi., Vol. 6, No. 1/2, 1960, pp. 303-322. 78 Woerle, H., "Sonderformen zwanglaufiger viergelenkiger Raumkurbelgetriebe," VDI-Berichte, Vol. 12, 1956, pp. 21-28. 79 Yang, A. T., "Application of Dual-Number Quaternion Algebra to the Analysis of Spatial Mechanisms, " Journal of Applied Mechanics, Trans. ASME, 1963 (Paper No. 63-WA-66). 80 Yang, A. T., "Application of Quaternion Algebra and Dual Numbers to the Analysis of Spatial Mechanisms," Ph. D. Thesis, Columbia University, New York, 1963.

APPENDIX A COMPUTER PROGRAMMING A system of simple computer subprograms was written to facilitate evaluation of vector expressions. From these, larger subprograms were constructed for evaluation of specific solutions obtained in this thesis. All work described here was performed in the MAD (Michigan Algorithmic Decoder) language [57] and was processed at the University of Michigan Computing Center on an IBM 7090 computer. However, many of the solutions in this thesis are' being pro4/ grammed in Fortran.A. Preliminary Languages such as Fortran or MAD allow scalar expressions to be written directly, in terms of scalar operations such as equality, addition, subtraction, multiplication, and addition. For example, the following statement is a permissible part of a program in either Fortran or MAD: X = (2. (A + (B*C)))/D (A. 1) It is possible to extend this facility to allow vector expressions to be written directly, even when they involve operations such as vector 4This work is being performed by the IBM Automotive and Machine Design Project, Dearborn, Michigan. -134

- 135equality, vector addition, vector subtraction, the vector scalar product, and the vector cross product —besides the usual scalar operations. This facility requires modification of the language itself and is not available in Fortran, although it was recently (December, 1963) made available in MAD [57]. A permissible statement of this kind appears in MAD as VX = (2. <'(VA + (VB. X. VC)))/D (A. 2) Here, VA,VB, VC, and VX are declared as vectors (both in a dimension statement and a special mode statement) and.X, is defined as the vector cross product. Operators +, *, and / perform according to the type of quantities surrounding them. Thus, the operator' performs multiplication of a vector by a scalar, although in other circumstances it performs the vector scalar product or the product of two scalars. Vector expressions may also be programmed by use of subprograms to represent the individual vector operations. The former scheme was employed in this thesis, primarily because it was immediately available in both MAD (via the external function) and in Fortran (via the function subprogram). Here, an operation such as the vector cross product requires a separate statement: EVCP. (VB, VC, V1) (A.3) In statement (A.3) the external function EVCP. performs the vector cross product VB X VC and stores the result in vector V1. EVCP. itself can assume only scalar values. EVCP. is therefore

-136assigned no value, since the only output quantity involved is a vector. The program shown in Figure A. 1 is needed to define EVCP. and the binary deck corresponding to the compiled program m-nust accompany any other program in which EVCP. is employed. To program an entire solution, a sequence of statements is required. For example, the following sequence is required for Equation (A.2) EVCP. (VB, VC, V1) EVA2. (VA, V1, V2) EVFP. (V2, 2., V3) EVFQ. (V3, D, VX) Here EVA2., EVFP., and EVFQ., respectively, perform addition of two vectors, multiplication of a vector by a scalar, and division of a vector by a scalar. Other larger expressions can be programmed in essentially the same way, as in Figures A. 2, A.3, and A.4. A. 2 Conventions It was found helpful to employ conventions regarding categorization of external functions, names of variables and external functions, ordering of arguments, etc. These conventions are outlined here and assumed for all subsequent discussion of programming. They are consistent with the rules of MAD programming but are in no other

-137way a required part of the MAD language. A. 2. 1 Categorization of external functions according to task (1) Basic. Perform elementary vector operations. Do not rely on any other external functions. (2) Intermediate. Perform relatively simple, frequently occurring vector operations. Rely on basic external functions. (3) Special. Obtain the solutions to frequently occurring vector and scalar equations. (4) Auxiliary. Perform conventional tasks in scalar mathematics. Support special external functions. A. 2.2 Names of variables and external functions By the rules of the MAD language, the names of variables and external functions may be from one to six letters or digits, the first of which must be a letter. External function names must be followed by a period. Within these restrictions the following conventions were followed. A. 2. 2 1 Variables The first letter designates the type of quantity represented by the variable according to Table A. 1. The full name for the magnitude of a vector is the vector name with the leading V omitted. Derivatives begin with a D followed by an integer specifying the order of differentiation. (If the integer is omitted the order is one. ) Dummy variable vectors and scalars are often written Va and Xac, where ac is some integer. Otherwise,

-138the letters in a variable name are chosen to correspond to the symbols and subscripts used in the solutions being programmed. A.2. 2.2 External functions The first letter specifies the language in which the function is programmed. For MAD, this letter is E (external function). The second letter specifies the type of output quantity, according to Table A. 1. If there is more than one type of output quantity, the letter v.'hich is highest in Table A. 1 is used. Remaining letters and digits are used to suggest the task performed by the function. The total number of letters and digits in a function name is as follows: basic and intermediate functions: four special functions: five auxilliary functions: four to six A.2.3 Order of external function arguments (1) Input quantities are listed first; output quantities second. The last letter in the name of an output argument is an X. (2) Within (1), types of quantities are ordered according to Table A. 1. (3) Within (1) and (2), identical types of quantities are ordered alphabetically, then numerically. Example: EMG3C. (VC, UPS,UPT,UR, RPS, RPT, S, T,MRX, MSX, MTX)

-139TABLE A, 1 MEANING OF LETTERS IN NAMES Letter Type of Quantity M An array other than an ordinary vector or unit vector. May have any number of subscripts. V Ordinary three-component vector. A linear array. U Ordinary three-component unit vector. A linear ar ray. D Angle in degrees. R Angle in radians. S Ordinary scalar. E Small scalar used in error or comparison test I, J, K Integers. Unli sted Ordinary scalar. letters

- 140Here the first eight quantities are input the last three output. Of the input quantities, VC is a vector; UPS, UPT, and UR are unit vectors; RPS and RPT are angles in radians; S and T are ordinary scalars. The output quantities MRX,- MSX and MTX are all four-by-four matrices. A. 2.4 Value of an external function (1) Whenever an external function has scalar output and satisfactory operation is certain, the function is assigned the value of one of the scalar outputs. (2) Whenever an external function has only array or vector output the function is assigned a value as follows: Satisfactory operation certain: No value assigned Normal operation: 0. Solution at least partly indeterminate: 1. to 9. Solution complex: 10. to 19. Solution approaches + oo 20. to 29. A 2. 5 Storage of arrays and vectors In MAD, a storage location is automatically reserved for the zeroth element of a linear array. However, as programmed here, all basic external functions operate only on the first, second, and third elements of vectors. Therefore, the zeroth element of an ordinary vector is always unused. However, whenever n vectors are assembled (for convenience) into a single large array, the first element of

-141the array is assigned the decimal value of n. The 4ith elements, i = 1, 2, 3,..., are then unused. A multi- dimensional array can be manipulated by use of a single "linear" subscript, regardless of the number of subscripts it is considered to have. Of course, it can also be manipulated by its multiple subscripts. A. 3 Description of External Functions Brief descriptions of all external functions programmed for this thesis are included below. They are arranged alphabetically within the categories: basic, intermediate, special, and auxiliary. Normal operation has been checked numerically for all functions. Enough functions are included to meet the needs of routine vector programming and most of the more specialized situations that have arisen in this thesis. A complete listing of all programs was not included because of limitations of space and clarity. However, sample listings of each category of functions are shown in Figures A. 1, A.2, A. 3, and A.4. Where the meaning of function arguments and function returns is clear from convention, no definition is given.

-142A. 3. 1 Basic functions EMEQ Purpose. Equate one matrix to another Call. EMEQ. (MA, MX) Arguments MA Known array having linear subscript I, 0 < I < 4M - 1, where M is the number of vectors stored in MA. MA(O) = decimal M. MX Array having the same linear subscript range as MA

- 143EMV1., EMV2., EMV4. Purpose EMV1: Insert a vector in the Nth row of a two-subscript array having any number of rows and four columns. EMV2, EMV4: Compose a 2 x 4 or 4 x 4 array of 2 or 4 vectors. Call EMV1. (VA,N, MX) EMV2. (VA 1, VA2, MX) EMV4. (VA 1,VA2, VA3, VA4, MX) Arguments VA,VA1,VA2,VA3,VA4 Vectors to be stored in MX N Row of MX into which VA is inserted MX An m x 4, 2 x 4 or 4 x 4 array having integer linear subscripts 0 to 4m - 1, 7, or 15, respectively

-144ESDP. Purpose. Compute scalar product of two vectors Call. ESDP. (VA, VB, X) Arguments VA, VB X Scalar product of VA and VB Function return. X EVA2., EVA3., EVN2., EVS2. Purpose EVA2. Add two vectors EVA3.. Add three vectors EVN2. Negate the sum of two vectors EVS2. Subtract one vector from another Call EVA2. (VA, VB,VX) EVA3. (VA, VB, VC, VX) EVN2. (VA,VB,VX) EV.S 2. (VA, VB, VX) Arguments VA,VB, VC (In EVS2., VB is subtracted from VA.) VX Vector result

-145EVCP Purpose. Compute vector cross product Call. EVCP. (VA,VB,VX) Arguments VA, VB VX The cross product, VA x VB. EVEQ. Purpose. Equate one vector to another Call. EVEQ. (VA, VX) Arguments VA VX EVFP. Purpose EVFP. Multiply a vector by a scalar. Call. EVFP. (VA, B, VX) Arguments VA B VX Product of VA and B.

- 146A. 3. 2 Intermediate functions EIUU. Purpose. Compare two unit vectors Call. EIUU. (UA, UB, EU, IX) Arguments UA, UB Unit vectors to be compared EU Decimal constant specifying acceptable error. UA +- UB whenever 1. - UA UBI < EU IX =- O: UA + UB IX = 1: UA - UB IX = 2: UA UJB Function return IX

-147EIVV. Purpose. Compare two vectors Call. EIVV. (VA, VB, EU, EM, IX) Arguments VA, VB Vectors to be compared EU,EM Decimal constants, specifying acceptable errors. UA - + UB whenever 1. -I UA UBt < EU. A = B whenever 2.(AB) < EM (A +B) IX 0: UA U+ UB, A U B IX= 1: UA +_ UB, A = B IX= 2: UA =- UB, A B IX 3: UA = UB A # B IX = 4: UA = -UB, A = B IX = 5: UA = UB, A = B Function return. IX

- 148ERUF Purpose. Compute the azimuthal and polar angles of a unit vector Call. ERUF. (UA, UL, UM, UN, RAX, RPX) Arguments UA Unit vector with angles RAX, RPX UL, UM, UN Right-hand reference frame RAX Azimuthal angle of UA measured from UL, positively increasing in the UN direction of rotation. O < RAX < Zr RPX Polar angle of UA measured from UN. 0 < RPX < 7r Function return, RPX ERUU. Purpose, Compute the angle between two unit vectors Call, ERUU, (UA, UB, RX) Arguments UA, UB RX Angle between UA and UB 0 < RX < 7 Function return, RX

- 149ESAV. Purpose. Compute the absolute value and square of the absolute value of a vector. Call. ESAV. (VA, X, SQX) Arguments VA X Absolute value of VA SQX Square of X Function return. X ESRP. Purpose. Compute the ratio of two scalar triple products Call. ESRP. (VAN, VBN, VCN, VAD, VBD, VCD, X) Arguments VAN, VBN, VCN Vectors in numerator V VAD, VBD, VCD Vectors in denominator VAN. (VBN x VCN) VAD. (VBD x VCD) Function return 0. Normal operation 1. VAN ~ (VBN x VCN) - 0., VAD (VBD x VCD) - 0. 20. VAN (VBN x VCN) 0., VAD (VBD x BCD) - 0.

- 150ESTP. Purpose. Compute the scalar triple product Call. ESTP. (VA, VB, VC, X) Arguments VA, VB, VC X VA'(VB x VC) Function return. X EUMV Purpose. Compute the unit vector and absolute value (magnitude) of a vector Call. EUMX. (VA, UX, X) Arguments VA UX Unit vector of VA, consistent with a positive magnitude of VA X Absolute value or magnitude of VA Function return. X Remark. Whenever X = 0., UX is assigned the value 1.,0.,0.

-151EURF. Purpose. Compute a right-hand reference frame from two vectors Call. EURF. (VA, VB, I, ULX, UMX, UNX) Arguments ULX, UMX, and UNX are computed from VA and VB, according to the value of I: iI ULX UMX UNX VA x VB 1 5x VB (UNX) x (ULX) UA IVA x VB VB x VA 2, 6 Vx (UNX) x (ULX) UA VAx VBj 3, 7 s (UMX) x (UNX) VAVB UA IVA x VBI VB x VA 4, 8 (UMX) x (UNX) VA VB UA 1 < I < 4 VA and VB are checked for the possibilities A -O., B - 0., and UA- + UB 5 <I < 8 VA and VB are not checked Function return 0. Normal operation and/or 5 < I < 8 1. A = 0. and B 0. 2. A = 0. and B 0. 3. A ~ 0. and B 0. 4. A ] 0, B ~ 0, but UA - + UB

- 152Remarks. 1. EIVV. is employed to compare VA and VB, with -6 EM - EU - 10 2. When the function return is other than 0., ULX, UMX, and UNX are assigned values according to the following table: Function Return K ULX UMX UNX 1. 1.,. 0,.. 1. 0. 0.,1. UB x VI 2. (UMX)x(UNX) UB IUB x VII 3. 1 (UMX)x(UNX) UA VI UA 4. (UMX)x(UNX) UA x VI 4. (UMX)x(UNX) UA UB I UA x VI U VI(1)- UNX(1) VI(2)- UNX(2) + 1. VI(3)- UNX(3)

-153EU2R. Purpose. Compute a unit vector from its azimuthal and polar angles Call. EU2R. (UL, UM, UN, RA, RP, UX) Arguments UL, UM, UN Unit vectors of a right-hand reference frame. RA Azimuthal angle of UX measured from UL, positively increasing in the UN direction of rotation. O < RA < 27 RP Polar angle of UX measured from UN. O < RP < r UX sin RP [(cos RA)UL + (sin RA) UM] + (cos RP)UN

-154EVFQ. Purpose. Divide a vector by a scalar Call. EVFQ. (VA, B, VX) Arguments VA B VX Quotient of VA and B, VA/B Function return 0. Normal operation 1. A - 0. B- 0. 20. A 0., B 0. Remark. When the function return is 1., VA is assigned the value VA - 1.,1., 1. EVTP. Purpose. Compute the vector triple product Call. EVTP. (VA,VB, VC,I,VX) Arguments VA, VB, VC VX= - 1: VX VA x (VB x VC) I- -1: VX - (VA x VB) x VC

- 155A.3.3. Special Functions The Tetrahedron Functions Purpose. Solution of the three-dimensional equation VR + VS + VT + VA = 0 Each vector is expressed in spherical coordinates (magnitude, azimuthal angle, and polar angle) with angles measured from known unit vectors. The nine Tetrahedron Functions solve the equation for all possible combinations of three unknown coordinates out of the nine coordinates of VR, VS, and VT. VA is always known. Cases in which one coordinate is functionally dependent on another are excluded. Calls EVG1A. (VC, VRX) EMG2A. (VC, UPR, US, RPR, MRX, MSX) EMG2B. (VC, UPR, UPS, RPR, RPS, S, MRX, MSX) EMG2C.(VC,US,R, MRX, MSX) EMG2D. (VC, UPS, RPS, R, S, MRX, MSX) EVG3A. (VC, UR, US, UT, VRX, VSX, VTX) EMG3B. (VC, UPT, UR, US, RPT, T, MRX, MSX, MTX) EMG3G. (VC, UPS, UPT, UR, RPS, RPT, S, T, MRX, MSX, MTX) EMG3D. (VC, UPR, UPS, UPT, RPR, RPS, RPT, R, S, T, MRX, MSX, MTX)

-156Arguments VC - VS + VT + VA (EVG1A) = VT + VA (EMG2A, B, C, D) VA (EVG3A;EMG3B, C, D) UPR, UPS, UPT Unit vectors from which polar angles RPR, RPS, RPT are measured UR, US, UT Unit vectors of VR, VS, VT RPR, RPS, RPT Polar angles of VR, VS, VT measured from UPR, UPS, UPT, 0. < RPR, RPS, RPT < 7r. R, S, T Magnitudes of VR, VS, VT VRX, VSX, VTX Unique solutions Qf VR? VS, VT MRX, MSX, MTX Multiple solutions of VR, VS, VT stored as arrays, VR MRX(4I1-3) MRX(4I-2),MRX(4I-1) VS -: MSX(41 - 3), MSX(41-2),MSX(41- 1) VT MTX(4I-3), MTX(4I-2), MTX(4I-1) Each complete solution VR, VS, VT corresponds to a particular value of the integer I. Elements MRX(O) 1. M\SX(O) *- MTX(O) = N where N is the decimal number of complete solutions obtained. EMG2A, 2C, 2D, 3B: N: 2. EMG2B, 3C: N 2. or, 4. EMG3D N = 2. or 4. or 8. In special cases two or more solutions may be identical

-157Use Each tetrahedron function obtains VR, VS, VT for the corresponding combination of unknown spherical coordinates in the following table: Function Unknown Spherical Coordinate s VR VS VT EVG1A. R RAR RPR EMGZA. R RAR S EMGZB. R RAR RAS EMG2 C. RAR RPR S EMG2D. RAR RPR RA S EVG3A. R S T EMG3B R S RAT EMG3C. R RAS RAT EMG3D. RAR RAS RAT (1) VR, VS, VT are dummy variables and may appear in any order in the equation VR + VS + VT + VA = 0. (2) A polar angle of a vector is known if the vector maintains a known angle from any known unit vector. Both the known angle (RPR, RPS, or RPT) and the known unit vector (UPR, UPS, or UPT) are entered as arguments in the appropriate function.

-158(3) A case in which a polar angle is the only unknown angle in a given vector can always be transfovrned to a case in which an azi-muthal angie -is the on~ly unknown and the polar angle is 2. Thus, let RPR1- be unknown and let RAR be known, as measured from ULR1 with positive rotation in the UNR1 direction. Transform, regarding an azimuthal angle RAR2 as unknown. 7T RPR2 - 2 measured from UPR2 UPR2 - (sin RAR1)(ULR1) - (cos RAR1)(UNR1 x ULR1) (4) Solutions are always obtained in terms of the full vectors which contain the unknown coordinates. The unknown coordinates can then be obtained individually from the full vectors. (5) When multiple soQutions are obtained a test may be nec se ary to isolate phy ically realistic solutions, Function returns EVG1A None EMG2A. 0 Normal operation 1, C -: 0, and UR,- -US, MRX and MSX indeterminate 2. C = 0, and UR +: S. MRX and MSX indeterminate 10, C = 0. MRX and MSX complex 11, MR X and MSX compl ex

- 159EMG2B 0. Normal operation 2.,3,4. Failure to solve polynomial. Function returns fr om E MR P. 5. UPR, UPS, VC2 parallel. MRX and MSX indeterminate 10. MRX and MSX complex EMG2 C. 0. Normal operation 10. MRX, MSX complex EMG2D. 0. Normal operation 1. VC, UPS parallel. MRX, MSX indeterminate. 2. C = 0. MRX, MSX indeterminate. 10. VC, UPS parallel. MRX, MSX complex. 11. C = O. MRX, MSX complex. 12. MRX, MSX complex. EVG3A. 0. Normal operation 1. UR, US parallel. VRX, VSX indeterminate; VTX determinate. 2. UR, UT parallel. VRX, VTX indeterminate; VSX determinate. 3. US, UT parallel. VSX, VTX indeterminate; VRX determinate. 4. UR, US, UT parallel. VRX, VSX, VTX indeterminate. 5. UR, US, UT co-planar. VRX, VSX, VTX indeterminate.

-160EMG3B. 0. Normal operation 1. UR, US parallel. RX, SX indeterminate. MRX, MSX assigned value (RX + SX)UR. MTX determinate. 2. (UR x US), UPT parallel. MRX, MSX, MTX indeterminate 10. UR, US parallel. MRX, MSX, MTX complex 11. (UR x US), UPT parallel. MRX, MSX, MTX complex 12, MRX, MSX, MTX complex EMG3C. 0. Normal operation 2.,3.,4. Failure to solve polynomial. Function returns from EMRP. 5. VC, UPS, UPT, UR parallel. MSX, MTX indeterminate; MRX determinate. 10. MRX, MSX, MTX complex. 11. VC, UPS, UPT, UR parallel. MRX, MSX, MTX complex. EMG3D. O. Normal operation 2.,3,4. Failure to solve polynomial. Function return from EMRP, 5. UPR, UPS, UPT parallel. VR, VS, VT concentric. MRX, MSX, MTX indeterminate. 6 UPR, UPS, UPT parallel. VR, VS, VT not co-planar. MRX, MSX, MTX indeterminate. 7 UPR, UPS, UPT parallel. VC2-/, R sin RPR, S sin RPS, T sin RPT zero. MRX, MSX, MTX indeterminate. VC2 = VC + R sin RPR + S sin RPS + T sin RPT. Modify this definition by dropping any term containing an unknown Only in EMG3D are all four terms present.

-1618. UPR, UPS, UPT parallel. VR, VS, VT co-planar. MRX, MSX, MTX ideterminate. 10. No real roots from EMRP. MRX, MSX, MTX complex. 11. UPR, UPS, UPT parallel. VR, VS, VT co-planar. R sin RPR, S sin RPS, T sin RPT zero. MRX, MSX, MTX complex. 12. UPR, UPS, UPT parallel. VR, VS, VT co-planar. MRX, MSX, MTX complex. 13. UPR, UPS, UPT parallel. VR, VS, VT co-planar. Either R sin RPR, S sin RPS or T sin RPT finite. MRX, MSX, MTX complex. 20. Denominator term zero in solution for MSX. MRX determinate. MTX not determined. Approximate Execution Time Function Time (sec.) EVG1A less than. 02 EMG2A less than. 02 EMG2B.08 EMG2C less than.02 EMG2D.02 EVG3A less than.02 EMG3B.02 EMG3C.05 6/ EMG3D- 2. 0 This time will probably be substantially reduced by an improved polynomial routine being written to replace ZER2. (ref. EMRP.)

-162EMRES Purpose. Simultaneous solution of two real-coefficient polynomials each in two unknowns. The solution is obtained by determining the coefficients of the resultant polynomial and solving this polynomial by iteration on a single variable. Call. EMRES. (A, B, MM, KM, NM, LM, X, Y) Arguments A, B Two-dimensional arrays of the real coefficients of two polynomials of the following form: [A(MM, KM)X KM + A(MM, KM-1)X +...+ A(MM, O)]Y + [A(MM-1, KM}XM + A(MM-1, KM-')XKM-1 + + A(MM-1, 0)]yMMl KM KM- I + [A(O, KM)X + A(O, KM-1)X 4.. + A(O, 0)] 0- [B(NM, LM)X + B(NM, LM-1)X +... + B(NM, )]YNM + [B(NM- 1, LM)XLM + B(NMI- 1 LM- )XLM- +... B(NM- 1, 0)]YNM LM LM- I + [B(O, LM)X + B(O, LM- 1)X t.. + B(O, 0)] - KM, LM Integers specifying maximum degree of X in the A and B polynomial s.

-163MM, NM Integers specifying maximum degree of Y in the A and B polynomials. X,Y Linear arrays of the complex X and Y roots of the resultant polynomial. Real part of Ith root = X(2I- 1), Y(21-1) Imag. part of Ith root = X(2I), Y(2I) Limitations To obtain the coefficients of the resultant polynomial this NM MM function evaluates (KM+i) (LM+1)MM determinants, each of size (MM + NM) x (MM + NM). Computation time can become excessive (Section 3.2).

-164EUUUU. Purpose. Solve the set of equations (UA UX) = C (UB. UX) = D Call. EUUUU. (UA, UB, C, D, UXI, UX2) Arguments UA, UB Known unit vectors C,D Known scalars C < 1, D< 1. UXl, UX2 Unknown unit vectors. Each is a solution to the original two equations. Function return 0. Normal operation 1. UA - UB, C = D. UX1, UX2 indeterminate 2. UA = UB, C = -D. UX1, UX2 indeterminate 10' UA = UB, C +~ D. UX1, UXZ complex 11. UXl, UX2 complex Approximate execution time: <. 02 sec.

-165A. 3.4 Auxiliary Functions CMPWR 1. Purpose. Raise a complex number to a power. (Used by EMRES, ) Call.. CMPWR 1(REA, IMA,P, REX, IMX) Arguments REA,IMA Real and imaginary parts of complex number A P Decimal power to which A is raised, REX, IMX Real and imaginary parts of A

-166EDETZ. Purpose Accept the rows of a square matrix from a threedimensional array and compute the determinant. Identify zero rows and columns and in such cases equate the determinant to zero without numerical evaluation (Used by EMRES. ) Call. EDETZ, (MQ, KI, TM) Arguments MQ Three-dimensional array, MQ(I, J, KI( I)) 1 < I < TM 1 < J < TM 0 < KI(I) < KKI(I) KI KI(I) and KKI(I) are linear arrays of integers: 1 < I < TM, 0 < KI(I)< KKI(I) TM Span of the row and column subscripts of MQ Function Return. Value of the determinant.

-167EMCP., EMRP. Purpose. Compute roots of a polynomial with real coefficients, 7/ using ZER2.-/ Accepts coefficients subscripted according to powers of the associated variable. Defines the degree of the polynomial as the subscript of the highest non-zero coefficient. EMCP. retains all roots obtained by ZER2.; EMRP. retains only the real roots. (EMCP. used by EMRES; EMRP by EMG2B, EMG3C, EMG3D, EMRES.) Call EMCP. (MP, D, MZ) EMRP. (MP, D, MX) Arguments MP Linear array of the real coefficients of the polynomial MP(D)X + MP(D-1)X +... + MP(O) = 0 D- Degree of the polynomial (integer) MX Linear array of the real roots of the polynomial. MX(O) is the decimal number of real roots in MX. Ith root = MX(I) MZ Linear array of the complex roots of the polynomia'l Real part of ith root = MX(21 - 2) Imag. part of Ith root = MZ(2 - 1) 1 <1 < D ZERZ. is a standard SHARE subroutine for obtaining the real and complex roots of a polynomial having complex coefficients.

-168Function return 0. Normal operation 2. Arguments out of range in ZERZ. 3. Impossible for ZER2. to locate all of the roots within 250 iterations. (EMCP. only) -3. Impossible for ZER2. to locate all of the roots within 250 iterations. Assume that all real roots have been obtained and continue (EMRP. only). 4. Division by zero in ZER2. 10. No real roots obtained (EMRP. only).

-169ESDR Purpose. Convert degrees to radians, radians to degrees. Call. ESDR. (DA, RA, I) Arguments DA Angle in degrees RA Angle in radians I I > 0: Convert degrees to radians RA --.0174532928 * DA I < 0: Convert radians to degrees DA - 57. 295778 * RA

-170$COMPILE MAD.EXECUTE,DUMP,PRINT OBJECTPUNCH OBJECT EVCP 001 RCROSS PRODUCT OF TWO VECTORS VX=VAXVB EXTERNAL FUNCTION(VA,VB,VX) EVCPOOO1 ENTRY TO EVCP. EVCP0002 VX(1) = VA(2)*VB(3) - VA(3)*VB(2) EVCP0003 VX(2) = VA(3)*VB(1) - VA(1)*VB(3) EVCP0004 VX(3) = VA(1)*VB(2) - VA(2)*VB(1) EVCP0005 FUNCTION RETURN EVCP0006 END OF FUNCTION EVCP0007 Figure A. 1 Basic External Function (Subprogram) for Performing the Vector Cross Product $COMPILE MAD,EXECUTE,DUMP,PRINT OBJECT,PUNCH OBJECT EIUU 001 RCOMPARE TWO UNIT VECTORS FOR EQUALITY EIUUOOO1 EXTERNAL FUNCTION(UA,UB,EU,IX) EIUUOO0O ENTRY TO EIUU. EIUU0003 INTEGER IX EIUU0004 ESDP. (UA.UBX) EIUU0005 WHENEVER (1 -.ABS.(X)).GE.EIJ EIUU006 IX=O EIUU0007 OTHERWISE EIUU0008 WHENEVER X.*GO. EIUU0009 IX=2 EIUU0010 OTHERWISE EIUUOO0011 IX=1 EIUU0012 END OF CONDITIONAL EIUU0013 END OF -ONDITIONAL EIUU0014 FUNCTION RETURN IX EIUU0015 END OF FUNCTION EIUU0016 Figure A. 2 Intermediate External Function for Comparing Two Unit Vectors

-171$COMPILE MAD,DUMP,?RINT OBJECT,PUNCH OBJECT EMG2D001 RCASE 2D OF SUM OF VECTORS EQUAL ZERO (RAR,RPR,RAS UNKNOWN) EMG2D EXTERNAL FUNCTION (VC,UPS,RPS,RS,MRX,MSX) EMG2D DIMENSIDN Vl(3),V2(3),V3(3),V4(3),V5(3),V6(3),V7(3),V8(3),VREMG2D 1(3),VR2(3) VS1(3)S2(3),UC ( 3) EMG2D ENTRY T3 EMG2D, EMG2D EUMV.(VC,UC,C) EMG2D ES)P. (UCUPS,Y1) EMG2D Y2=1.-Yo1P,2 EMG2D WHENEVER Y2eL.lUE-6, TRANSFER TO A0001 EMG2D WHENEVER *ABS.(2.*C/(R+S))L,0.1E-6, TRANSFER TO A0002 EMG2D SSQ=S.P.2 EMG2D Y3=S*COS (RPS) EMG2D Y4=(SSQ-Y3.P.2 )*Y2 EMG2D Y5=(C.P.2+SSQ-R.P*2+2*C*Yl*Y3) /(2**C) EMG2D Y6=Y4-Y3.P.2 EMG2D WHENEVE. Y6.L. O.t TRANSFER TO A0003 EMG2D Y7=+SQRT. (Y6)/Y2 EMG2D Y8=Y5/Y2 EMG2D EVCP. (U'-UPSVl) EMG2D EVCP.(V1,UPS,V2) EMG2D EVFP.(UDS.Y3,V5) EMG2D EVFP (V2,Y8,V6) EMG2D EVA2.(V3,V6,V3) EMG2D EVFP. (VlY7,V4) EMG2D EVA2.(V3,V4,VS1) EMG2D EVS2. (V3,V4,VS2) EMG2D EVN2.(VC,VS1,VR1) EMG2D EVN2. (VC,VS2,VR2) EMG2D EMV2. (VR1,VR2,MRX ) EMG2D EMV2. (VS1, VS2,MSX) EMG2D FUNCTION RETURN 0O EMG2D A0001 WHENEVER Yl.G.0. EMG2D Y9=+2.*-*S*Yl EMG2D OTHERWISE EMG2D Y9=-2.*-*S*Y1 EMG2D END OF -ONDITIONAL EMG2D WHENEVER (.ABS.(R.P.2-(S.P. o2P.2+Y9)))/(R.P.2+SP.2+C.P.2) EMG2D 1. L lOE-4 EMG2D PRINT CDMMENT $JVC PARALLEL TO UPS IN EVG2D. MRX AND MSX INDEMG2D 1ET. FCT. RET. 1$ EMG2D FUNCTION RETURN 1. EMG2D OTHERWISE EMG2D PRINT CDMMENT $OVC PARALLEL TO UPS IN EVG2D. MRX AND MSX IMAEMG2D 1Gi FCT. RET. 10.$ EMG2D FUNCTION RETURN 10. EMG2D END OF CONDITIONAL EMG2D A0002 WHENEVER.ABS.(2.*(R-S)/(R+S)),L.1OE-4 EMG2D PRINT CDMMENT $0C=0 IN EVG2D, MRX AND MSX INDET. FCT. RET. EMG2D 12*$ EMG2D FUNCTIO'i RETURN 2. EMG2D OTHERWISE EMG2D PRINT CDMMENT $0C=0 IN EVG2D. MRX AND MSX IMAG. FCT. RET. 11EMG2D 1.$ EMG2D FUNCTIO. RETURN 11. EMG2D END OF _ONDITIONAL EMG2D A0003 PRINT CDMMENT $0Y5 IMAG. IN EMG2D. MRX AND MSX IMAG. FCT. REEMG2D iT. 12.$ EMG2D FUNCTION RETURN 12. EMG2D END OF 7UNCTION EMG2D Figure A. 3 Special External Function for Evaluating the Case 2d. Solution of the Vector Tetrahedron Equation

-172$COMPILE MAD, DUMP, PRINT OBJECT,PUNCH OBJECTEXECUTE EMRP 001 RCOMPUTE REAL ROOTS OF A POLYNOMIAL. (USES ZER2.) EMRP EXTERNAL FUNCTION (MP,D,MX) EMRP ENTRY TD EMIRP. EMRP DIMENSI)N A(200),R(200) EMRP INTEGER I I I, IR,JD EMRP MX ( 0 ) =0 * EMRP THROUGH A0001, FOR I=D,-1,MP(I).NE. 0..OR. I.L. 1 EMRP A0001 D=D-1 EMRP THROUGH A0022,FOR I'=0,1,I.G.D EMRP A(2*I+1 )=MP(D-I ) EMRP A) 0 0 2 A(2* I +2 ) =0. EMRP EXECUTE ZER3.(500) EMRP W=ZER2.(DA(),R(l),A0010) EMRP AO 0 1 0 WHENEVER W *E. 2,.OR. W.E. 4., TRANSFER TO A0004 EMRP J= 1 EMRP THROUGH AOC05,FOR I I=2,2,t I I G.D*2 EMRP I R= I I-1 EMRP WHENEVER R(II).EO,,TRANSFER TO AQ003 EMRP WHENEVER.ABS.(R(II)/(,ABS.(R(IR))+.ABS.(R(II) )))L,1OE-69 EMRP 1TRANSFER TO A0003 EMRP A()OC5 CONTINUE EMRP TRANSFER TO A0025 EMRP A0003 MX(J)=R(IR) EMRP MX ( O) =J EMRP J=J+l EMRP TRANSFER TO A0005 EMRP A0025 WHENEVER J *Go 1.AND. W.E. 1., FUNCTION RETURN 0. EMRP WHENEVER J.G. 1 *ANDo W.E. 3., FUNCTION RETURN -W EMRP FUNCTION RETURN 10. EMRP AG004 FUNCTION RETURN 4 EMRP END OF FUNCTIOf; EMRP Figure A. 4 Auxiliary External Function for Evaluating a Polynomial

UNIVERSITY OF MICHIGAN 11111011 1111 1110 3 9015 02651 8509