UFDC Home  myUFDC Home  Help 



Full Text  
PARALLEL MECHANISMS WITH VARIABLE COMPLIANCE By HYUN KWON JUNG A DISSERTATION PRESENTED TO THE GRADUATE SCHOOL OF THE UNIVERSITY OF FLORIDA IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE DEGREE OF DOCTOR OF PHILOSOPHY UNIVERSITY OF FLORIDA 2006 Copyright 2006 by Hyun Kwon Jung This dissertation is dedicated to my wife, Eyun Jung Lee and son, Sung Jae. ACKNOWLEDGMENTS I would like express my thanks to Dr. Carl D. Crane III, my academic advisor and committee chair, for his continual support and guidance throughout this work. I would also like to thank the other members of my supervisory committee, Dr. John C. Ziegert, Dr. John K. Schueller, Dr. A. Antonio Arroyo, and Dr. Rodney G. Roberts, for their time, expertise, and willingness to serve on my committee. I would like to thank all of the personnel of the Center for Intelligent Machines and Robotics for their support and expertise. I also would like to thank other friends of mine for providing plenty of advice and diversions. Last but not least, I would like to thank to my parent, parentsinlaw, my wife, and son for their unwavering support, love, and sacrifice. This research was performed with funding from the Department of Energy through the University Research Program in Robotics (URPR), grant number DEFG04 86NE37967. TABLE OF CONTENTS page A C K N O W L E D G M E N T S ................................................................................................. iv LIST OF TABLES ............... ................. ............ .......................... vii LIST O F FIGU RE S ......... ........................................ ........ ........... ix A B ST R A C T ...................................... ................................ ...................... x CHAPTER 1 IN TR OD U CTION ............................................... .. ......................... .. 1 .1 M o tiv atio n .............................. ................................................... ............... 1 1.2 L literature R eview ........... .......................................................... ......... .... .2 1.3 Problem Statem ent .................. ............................ .... .... .. ........ .. .. 2 STIFFNESS MAPPING OF PLANAR COMPLIANT MECHANISMS ....................8 2 .1 Spring in a L in e Sp ace ............................................ .. ....... ........................8 2.2 A Derivative of Planar Spring Wrench Joining a Moving Body and Ground. 11 2.3 A Derivative of Spring Wrench Joining Two Moving Bodies ........................15 2.4 Stiffness Mapping of Planar Compliant Parallel Mechanisms in Series .........22 2.5 Stiffness Mapping of Planar Compliant Parallel Mechanisms in a Hybrid A rrangem ent .....................................................................27 3 STIFFNESS MAPPING OF SPATIAL COMPLIANT MECHANISMS..................33 3.1 A Derivative of Spatial Spring Wrench Joining a Moving Body and G rou n d ....................................... .... ............. ........... ............... 3 3 3.2 A Derivative of Spring Wrench Joining Two Moving Bodies ......................39 3.3 Stiffness Mapping of Spatial Compliant Parallel Mechanisms in Series ........49 4 STIFFNESS MODULATION OF PLANAR COMPLIANT MECHANISMS.........56 4.1 Parallel M echanisms with Variable Compliance .................. .... ............56 4.1.1 Constraint on Stiffness M atrix .......................................... ......... ......56 4.1.2 Stiffness Modulation by Varying Spring Parameters ..........................60 4.1.3 Stiffness Modulation by Varying Spring Parameters and Displacement of the M echanism ............................................................ 64 4.2 Variable Compliant Mechanisms with Two Parallel Mechanisms in Series...69 4.2.1 Constraints on Stiffness M atrix ............................................. ........69 4.2.2 Stiffness Modulation by using a Derivative of Stiffness Matrix and W rench .............. ...... ............................... 70 4.2.3 N um erical Exam ple ........................................ .......................... 74 5 CON CLU SION S .................................. .. .......... .. ............78 APPENDIX A MATLAB CODES FOR NUMERICAL EXAMPLES IN CHAPTER TWO AND T H R E E ............................................................................. 8 1 B MAPLE CODE FOR DERIVATIVE OF STIFFNESS MATRIX IN CHAPTER F O U R ........................................................................... 9 8 LIST OF REFEREN CES ........................................................... .. ............... 105 BIOGRAPHICAL SKETCH ............................................................. ............... 108 LIST OF TABLES Table pge 21 Spring properties of the compliant couplings in Figure 26............... ................ 25 22 Positions of pivot points in terms of the inertial frame in Figure 26 ....................26 23 Spring properties of the compliant couplings in Figure 27 ...................................30 24 Positions of the fixed pivot points of the compliant couplings in Figure 27. .........30 25 Positions and orientations of the coordinates systems in Figure 27. ...................30 31 Spring properties of the mechanism in Figure 35............. ............ ...............52 32 Positions of pivots in ground in Figure 35......................................................53 33 Positions of pivots in bottom side of body A in Figure 35. ................ ............53 34 Positions of pivots in top side of body A in Figure 35. .........................................53 35 Positions of pivots in body B in Figure 35. .........................................................53 41 Positions of pivot points in body E for numerical example in 4.1.2......................63 42 Positions of pivot points in body A for numerical example in 4.1.2......................63 43 Spring parameters with minimum norm for numerical example 4.1.2. .................63 44 Given optimal spring parameters for numerical example 4.1.2 ............................64 45 Spring parameters closest to given spring parameters for numerical example 4 .1 .2 ........................................ ..................................... 6 4 46 Positions of pivot points for numerical example 4.1.3.........................................67 47 Initial spring parameters for numerical example 4.1.3...........................................67 48 Calculated spring parameters for numerical example 4.1.3................. ............68 49 Positions of pivot points in body A for numerical example 4.1.3 ............................68 410 Spring parameters of the compliant couplings for numerical example 4.2.3...........74 411 Positions of pivot points for numerical example 4.2.3.........................................74 412 Spring parameters with no constraint for numerical example 4.2.3.......................75 413 Spring parameters with body A fixed for numerical example 4.2.3 ......................75 414 Spring parameters with body A and body B fixed for numerical example 4.2.3.....77 A 1 M atlab function list. ...................................... ........... .... ............ 1 LIST OF FIGURES Figure pge 11 Planar robot with variable geometry base platform ................................................ 4 12 A daptive vibration absorber. .............................................. ............................ 4 13 Parallel topology 6DOF with adjustable compliance......................... ..........5 21 Spring in a line space. .................................... .. .. .... .... ............ .9 22 Spring arrangements in a line space. (a) parallel and (b) series............................10 23 Planar compliant coupling connecting body A and the ground. .............................11 24 Small change of position of Pl due to a small twist of body A..............................13 25 Planar compliant coupling joining two moving bodies................ ..................15 26 Mechanism having two compliant mechanisms in series. .....................................23 27 Mechanism consisting of four rigid bodies connected to each other by compliant couplings in a hybrid arrangement. ........................................ ....................... 32 31 Spatial compliant coupling joining body A and the ground...............................34 32 Unit vector expressed in a polar coordinates system. ............................................34 33 Small change of position of Pl due to a small twist of body A..............................36 34 Spatial compliant coupling joining two moving bodies ............ .....................39 35 Mechanism having two compliant parallel mechanisms in series .........................52 41 Compliant parallel mechanism with N number of couplings..............................58 42 Poses of the compliant parallel mechanism for numerical example 4.1.3 ..............69 43 Poses of the compliant mechanism with body B fixed. ................. .................76 44 Poses of the compliant mechanism with no constraint. ........................................76 Abstract of Dissertation Presented to the Graduate School of the University of Florida in Partial Fulfillment of the Requirements for the Degree of Doctor of Philosophy PARALLEL MECHANISMS WITH VARIABLE COMPLIANCE By Hyun Kwon Jung May 2006 Chair: Carl D. Crane III Major Department: Mechanical and Aerospace Engineering Compliant mechanisms can be considered as planar/spatial springs having multiple degrees of freedom rather than one freedom as line springs have. The compliance of the mechanism can be well described by the stiffness matrix of the mechanism which relates a small twist applied to the mechanism to the corresponding wrench exerted on the mechanism. A derivative of the spring wrench connecting two moving rigid bodies is derived. By using the derivative of the spring wrench, the stiffness matrices of compliant mechanisms which consist of rigid bodies connected to each other by line springs are obtained. It is shown that the resultant compliance of two compliant parallel mechanisms that are serially arranged is not the summation of the compliances of the constituent mechanisms unless the external wrench applied to the mechanism is zero. A derivative of the stiffness matrix of planar compliant mechanisms with respect to the twists of the constituent rigid bodies and the spring parameters such as the stiffness coefficient and free length is obtained. It is shown that the compliance and the resultant wrench of a compliant mechanism may be controlled at the same time by using adjustable line springs. CHAPTER 1 INTRODUCTION 1.1 Motivation Robots have been employed successfully in applications that do not require interaction between the robot and the environment but require only position control schemes. For instance, arc welding and painting belong to this category of application. There are many other operations involving contact of the robot and its environment. A small amount of positional error of the robot system, which is almost inevitable, may cause serious damage to the robot or the object with which it is in contact. Compliant mechanisms, which may be inserted between the end effecter and the last link of the robotic manipulator, can be a solution to this problem. Compliant mechanisms can be considered as spatial springs having multiple degrees of freedom rather than one freedom as line springs have. A small force/torque applied to the compliant mechanism generates a small displacement of the compliant mechanism. This relation is well described by the compliance matrix of the mechanism. RCC (Remote Center of Compliance) devices, developed by Whitney (1982), are one of the most successful compliant mechanisms. They have a unique compliant property at a specific operation point and are mainly used to compensate positional errors during tasks such as inserting a peg into a chamfered hole. Compliant mechanisms can also be employed for force control applications by using the theory of Kinestatic Control which was proposed by Griffis (1991). Kinestatic Control varies the position of the last link of the manipulator to control the position and contact force of the distal end of the robotic manipulator at the same time with the compliance of the mechanism in mind. Mechanisms with variable compliance, which is the topic of this dissertation, are believed to have several advantages over mechanisms having fixed compliance. Since RCC devices typically have a specific operation point, if the length of the peg to be inserted is changed, a different RCC device should be employed to do insertion tasks unless the RCC device has variable compliance. As for force control tasks, each task may have an optimal compliance. With variable compliant mechanisms, several different tasks involving different force ranges can be accomplished without having to physically change the compliant mechanism. Variable compliant mechanisms also can improve the performance of humanoid robot parts such as ankles and wrists, and animals are believed to have physically variable leg compliance and utilize it when running and hopping (see Hurst et al. 2004). Many compliant mechanisms including RCC devices have been designed typically based on parallel kinematic mechanisms. Parallel kinematic mechanisms contain positive features compared to serial mechanisms such as higher stiffness, compactness, and smaller positional errors at the cost of a smaller workspace and increased complexity of analysis. In this dissertation mechanisms having two compliant parallel mechanisms in a serial arrangement as well as compliant parallel mechanisms are investigated. These mechanisms may have a tradeoff of characteristics relative to traditional parallel and serial mechanisms. 1.2 Literature Review The concepts of twists and wrenches were introduced by Ball (1900) in his groundbreaking work A Treatise on the Theory of Screws. These concepts are employed throughout this dissertation to describe a small (or instantaneous) displacement of a rigid body and a force/torque applied to a body (Crane et al. 2006). The compliance of a mechanism can be well described by the stiffness matrix which is a 6 x 6 matrix for a spatial mechanism and a 3 x 3 matrix for a planar mechanism. Using screw theory, Dimentberg (1965) studied properties of an elastically suspended body. Loncaric (1985) used Lie groups rather than screw theory to study symmetric spatial stiffness matrices of compliant mechanisms assuming that the springs are in an equilibrium position and derived a constraint that makes the number of independent elements of symmetric 6 x 6 stiffness matrices 20 rather than 21. Loncaric (1987) also defined a normal form of the stiffness matrix in which rotational and translational parts of the stiffness matrix are maximally decoupled. Griffis (1991) presented a global stiffness model for compliant parallel mechanisms where he used the term global to state that the springs are not restricted to an unloaded equilibrium position. Griffis (1991) also showed that the stiffness matrix is not symmetric when the springs are deflected from the equilibrium positions due to an external wrench. Ciblak and Lipkin (1994) decomposed a stiffness matrix into a symmetric and a skew symmetric part and showed the skew symmetric part is negative onehalf the externally applied load expressed as a spatial cross product operator. Compliant parallel mechanisms have been investigated by a number of researchers to realize desired compliances because of its high stiffness, compactness, and small positional errors. Huang and Schimmels (1998) obtained the bounds of the stiffness matrix of compliant parallel mechanisms which consist of simple elastic devices and proposed an algorithm for synthesizing a realizable stiffness matrix with at most seven simple elastic devices. Roberts (1999) and Ciblak and Lipkin (1999) independently developed algorithms for implementing a realizable stiffness matrix with r number of springs where r is the rank of the stiffness matrix. As for serial robot manipulators, Salisbury (1980) derived the stiffness mapping between the joint space and the Cartesian space. Chen and Kao (2000) showed that the formulation of Salisbury (1980) is only valid in the unloaded equilibrium pose and derived the conservative congruence transformation for stiffness mapping accounting for the effect of an external force. ryr Variable slder geometry base S= prismatic o = revolute Figure 11. Planar robot with variable geometry base platform (from Simaan and Shoham 2002). Gear Spring all Ncois f D.C. motor and Absorbera geair box Figure 12. Adaptive vibration absorber (from Ryan et al. 1994). Planar/spatial compliant mechanisms are in general constructed with rigid bodies which are connected to each other by simple springs. The stiffness matrix of the mechanism depends on the geometry of the mechanism and the properties of the constituent springs such as stiffness coefficient and free length. To realize variable compliant mechanisms, variable geometry or adjustable springs have been investigated. Simaan and Shoham (2002) studied the stiffness synthesis problem using a variable geometry planar mechanism. They changed the geometry of the base using sliding joints on the circular base (see Figure 11). Ryan et al. (1994) designed a variable spring by changing the effective number of coils of the spring for adaptivepassive vibration control (see Figure 12). Thumb Screw moves Beam Deflection fulcrum along and Movement Cantilever of Ball Joint Cantilever Beam BuiltIn at Centre Hexagon Legs Mounted onto Bottom Plate (Remote Centre \with Ball Jomt Figure 13. Parallel topology 6DOF with adjustable compliance (from McLachlan and Hall 1999). Cantilever beambased variable compliant devices have been studied by a few researchers. Under an external force, a cantilever beam deflects and its deflection depends on the length of the beam and the Young's modulus of the material. Henrie (1997) investigated a cantilever beam which is filled with magnetorheological material and changed the Young's modulus by changing the magnetic field. McLachlan and Hall (1999) devised a programmable passive device by changing the length of the cantilever beam as shown in Figure 13. Hurst et al. (2004) presented an actuator with physically variable stiffness by using two motors and analyzed it for application to legged locomotion. 1.3 Problem Statement Planar/spatial compliant mechanisms consisting of rigid bodies which are connected to each other by adjustable compliant couplings are investigated. For spatial mechanisms, each adjustable compliant coupling is assumed to have a spherical joint at each end and a prismatic joint with an adjustable line spring in the middle. For planar cases, spherical joints are replaced with revolute joints. Mechanisms having two compliant parallel mechanisms that are serially arranged are mainly investigated. The compliant mechanisms are not restricted to be in unloaded equilibrium configuration and this makes the analysis of the mechanism more complicated. Firstly a stiffness mapping of a line spring connecting two moving bodies is derived for planar and spatial cases. The line spring is assumed to have a fixed stiffness coefficient and free length at this stage. This stiffness mapping leads to the derivation of the stiffness matrix of compliant mechanisms consisting of rigid bodies connected to each other by line springs. A derivative of the stiffness matrix of a compliant mechanism with respect to the twists of the constituent rigid bodies and the spring properties such as spring constant and free length is obtained. Since the compliant mechanism is assumed initially in static 7 equilibrium under an external wrench, changing the spring constants and the free lengths of the constituent springs may result in the change of the resultant wrench and it may change the position of the compliant mechanism. Stiffness modulation methods, which utilize adjustable line springs and vary the position of the robot where the compliant mechanism is attached, are investigated to realize a desired compliance and to regulate the position of the compliant mechanism. CHAPTER 2 STIFFNESS MAPPING OF PLANAR COMPLIANT MECHANISMS When a rigid body supported by a compliant coupling moves, the deflection and/or the directional change of the coupling may lead to a change of the force. In this chapter, a planar stiffness mapping model which maps a small twist of the body into the corresponding wrench variation is studied. To describe a small (or instantaneous) displacement of a rigid body and a force/torque applied to a body, the concepts of twist and wrench from screw theory are used throughout this dissertation (see Ball 1900 and Crane et al. 2006). Further, the notations of Kane and Levinson are also employed (see Kane and Levinson 1985) to describe spatial motions of rigid bodies. Specifically, as part of the notation, the position of a point P embedded in body B measured with respect to a reference system embedded in body A will be written as Ar . The derivative of the displacement of this point P (embedded in body B in terms of a reference coordinate system embedded in body A) is denoted as Adr The derivative of an angle of body B with respect to a body A is denoted by A60B and its magnitude is denoted by A 0 The twist of a body B with respect to a body A will be denoted by AoJDB 2.1 Spring in a Line Space The analysis of rigid bodies which are constrained to move in a line space and connected to each other by line springs is presented because it is simple and intuitive and a similar approach can be applied for planar and spatial compliant mechanisms. Figure 21 illustrates a line spring connecting body A to ground. Body A is allowed to move only on a line along the axis of the spring. The spring has a spring constant k and a free length xo. The position of body A can be expressed by a scalar x and the force from the spring by a scalar f. A k x Figure 21. Spring in a line space. The spring force can be written as f =k(xxo) (2.1) The relation between a small change of the position of body A and the corresponding small force variation can be obtained by taking a derivative of Eq. (2.1) as 8 f = kx. (2.2) When springs are arranged in parallel as shown in Figure 22 (a), the resultant spring constant kR may be derived as Eq. (2.3). 8f = kRx = k,5x+k,2 kR = k +k 2 (2.3) (a) (b) Figure 22. Spring arrangements in a line space. (a) parallel and (b) series. For a serial arrangement as shown in Figure 22 (b), the resultant spring constant kR which maps a small change of position of body B into a small force variation upon body B may be written as Eq. (2.4). 8f = kRgxB = klgxA = k, (gx 3xA) x,A = k2 XB kR kk or kR1 = k11 + k (2.4) k, +k, It is obvious from Eqs. (2.3) and (2.4) that the resultant spring constant of springs in parallel is the summation of each spring constant and that the resultant compliance of springs in series is the summation of each spring compliance. This statement is valid for springs in a line space. 2.2 A Derivative of Planar Spring Wrench Joining a Moving Body and Ground In this section, a derivative of the planar spring wrench joining a moving body and ground, which was presented by Pigoski (1993) and led to the stiffness mapping of a planar parallel mechanism, is restated. Figure 23 illustrates a rigid body connected to ground by a compliant coupling. The compliant coupling has a revolute joint at each end and a prismatic joint with a spring in the middle part. Body A can translate and rotate in a planar space. P1 0\ A S P0 PO Figure 23. Planar compliant coupling connecting body A and the ground. The force which the spring exerts on body A can be written as f =k(ll)$ (2.5) where k, 1, and / are the spring constant, current spring length, and spring free length of the compliant coupling, respectively. Also $ represents the unitized Plticker coordinates of the line along the compliant coupling which may be written as rS rS $= AXS (2.6) PO P1 where S is the unit vector along the compliant coupling and Er Eo and Er are the position of the pivot point PO in the ground body and that of Pl in body A, respectively, measured with respect to a reference coordinate system attached to ground. To obtain the stiffness mapping, a small twist EJDA is applied to body A and the corresponding change of the spring force will be obtained. The twist E5DA may be written in axis coordinates as EDA = E (2.7) where ErA is the differential of the position of point O in body A which is coincident with the origin of the inertial frame E measured with respect to the inertial frame. In addition E5&pA is the differential of the angle of body A with respect to the inertial frame. Taking a derivative of Eq. (2.5) with the consideration that $ is a function of 0 in planar cases yields f = kl$ + k(ll8o)S / ) (2.8) 1 Bo where ]$ = (2.9) ao E E aS PO as and where is a unit vector perpendicular to S. ao lse ',, V "* H A 1(5 0 E PO Figure 24. Small change of position of Pl due to a small twist of body A. Using screw theory, the variation of position P1 can be written as E A E A E (2.10) Er&A = E8r& + E(IA xE r p. (2.10) as It may be decomposed into two perpendicular vectors, one along S and one along a0 These vectors correspond to the change of the spring length 61 and the change of the direction of the spring 180 as shown in Figure 24. The change of the position of point P1 may thus also be written as AA.s ) sas) as (2.11) = 1 S +1680 From Eqs. (2.10), (2.11), (2.6), and (2.7) expressions for 81 and 180 may be obtained as =E Es A rS+ E AEr .S = ST EDA _S aS as 18 = E=e Er + EA E 1. E A. +S E A (2.13) Sa  S$T ESDA and where as' !. (2.14) a0 EHA aS All terms of Eq. (2.14) are known. From Eqs. (2.8), (2.12), and (2.13), a derivative of the spring force may be written as /o as sf = kl$+k(1l ) 1/6 1 Bo Sk$$T EDA+k(l ) EDA (2.15) I ao ao = [KF]ESDA where $T a$ a$'2 [KF]= k$$ +k( ) (2.16) / ao ao [KF] is the stiffness matrix of a planar compliant coupling and maps a small twist of body A into the corresponding variation of the wrench. The first term of Eq. (2.16) is always symmetric and the second term is not. When the spring deviates from its equilibrium position due to an external wrench, the second term of Eq. (2.16) doesn't vanish and it makes the stiffness matrix asymmetric. 2.3 A Derivative of Spring Wrench Joining Two Moving Bodies Body B P2 P1 Body A E Figure 25. Planar compliant coupling joining two moving bodies. In this section a derivative of the spring wrench joining two moving bodies is derived, which supersedes the result of the previous section and is essential to obtain a stiffness mapping of springs in complicated arrangement. Figure 25 illustrates two rigid bodies connected to each other by a compliant coupling with a spring constant k, a free length lo, and a current length 1. Body A can move in a planar space and the compliant coupling exerts a force f to body B which is in equilibrium. The spring force may be written by f =k(//)$ (2.17) where (2.18) S S $ = x = xS E A x E Bx P1 P2 and where S is a unit vector along the compliant coupling and E r'1 and E r2 are the position vector of the point P1 in body A and that of point P2 in body B, respectively, measured with respect to the reference system embedded in ground (body E). A small twist of body B with respect to an inertial frame E EDB is applied and it is desired to find the corresponding change of the spring force. The twist EDB may be written as EJDB = EDA + AJDB (2.19) where E= B B (2.20) _E~AA (2.21) AB =AsB (2.22) and where the notation from Kane and Levinson (1985) is employed as stated in the beginning of this chapter. For example, Er B is the differential of the coordinates of point O, which is in body B and coincident with the origin of the inertial frame, measured with respect to the inertial frame and E105A is the differential of angle of body A with respect to the inertial frame. The derivative of the spring force, Eq. (2.17), can be written as Esf_ = k 1 $ + k (1l/o) .E_$. (2.23) From the twist equation, the variation of the position of point P2 in body B with respect to body A can be expressed as A& B A8AB + A85B X A B r r + &x r P2 (2.24) where A r2 is the position of P2, which is embedded in body B, measured with respect to a coordinate system embedded in body A which at this instant is coincident and aligned with the reference system attached to ground. It can also be decomposed into two AS perpendicular vectors along S and which is a known unit vector perpendicular to S. a0 These two vectors correspond to the change of the spring length 81 and the directional change of the spring 180 in terms of body A in a way that is analogous to that shown in Figure 24. Thus the variation of position of point P2 in body B in terms of body A can be written as Age Age Age)B AaS AaS A 2B (A SB rA8B A S>' (2.25) AaS = 1 S+18  where AaS A 5 .Aa (2.26) From Eqs. (2.24) and (2.25), 81 and 180 can be obtained as 81 = r S = ArB S + A x ArB B S r= A r S+ A9B ArB xS (2.27) = $s AWDB AaS AS4 1.5 = A5 B S A gB A+ AB XA r S A rB AS AASrB AS B BASS = Ar A.J B P A2 (2.28) 0 A bTA B a0 where AaS S AB xaS (2.29) 4P2 x 4 Aa$' Aa$ It is important to note that screw has the same direction as but has a different ao ao moment term. Only EA$ is unknown in Eq. (2.23). It is a derivative of the unit screw along the spring in terms of the inertial frame and may be written as E rA xS+Er x ESS (2.30) P1 P1 Using an intermediate frame attached to body A, a derivative of the direction cosine vector may be written as ES = AS + E.CA S. (2.31) Then, E'$ may be decomposed into three screws as rP1 xS+ ErA AxSSE A S + E5 xS S SrxASS] + E& x( AxS) r 1x Since S is a function of 0 alone from the vantage of body A and 180 is already described in Eq. (2.28), the first screw in Eq. (2.32) can be written as iAS aS 90 Aa$ Aa$ A a'T SASA A PI X5] ,s1= 1 ==1 ao I I ao a. (2.32) (2.33) AaS As for the second screw in Eq. (2.32), E5 AA xS has the same direction with and a magnitude of E 5A and thus may be written as AaS E S=A XS = EA (2.34) ao Then the second screw in Eq. (2.32) can be expressed as SA A XS AaE A LrP E i~ xS) Er X EA (2.35) Aas Aas 0A = [0 0 1] EDA O0 E0  As to the third screw in Eq. (2.32), ESrA can be decomposed into two perpendicular An S vectors along S and Arespectively and may be written as O06 E & 1A _.5r A + A E A (=Es~ C sj~+A as AaS where P1 o S P1 S S = ErA A S+ E mA Ax S = + DA rl S = $T H(WA SA aS 1 0 AOS AOS _ E 0 A A30E AOS AOS Eg A E+ A A x 0 0 P 30 AT$r (a EH DA 30 ~ By combining Eqs. (2.36), (2.37), and (2.38) 'EA can be written as ErA (E .A s)s+ E A1 kL1.!P1 P1 AaS AaS As} ds A^J S =(sT EDA )SK+ E A The third screw in Eq. (2.32) can now be written as 0 E AxS P'r x_ S07 AWT Aa$ = 0 E A [0 0 1]2 EDA (2.36) (2.37) (2.38) (2.39) EDA (2.40) AS since xS= 1(k). a0  Among all unknowns in Eq. (2.23), 81 was obtained in Eq. (2.27) and all the terms of E'5$ were obtained through Eqs. (2.33), (2.35), and (2.40). Hence the derivative of the spring force can be rewritten as Ef = kl$ +k(llo)E S 1$$T AB I Aa$ Aa$'T A.5I)B+a$[O 0 1]E.5A A$ H(DA A 1 'r$ A$ 'T a$ 1 A $T +k(1) JD + [0 0 1] J 0 EJ4 =[KF] AB +[KM]EDA (2.41) where / U$ S' + _$_ (2.42) [K, F]=k$$T +k(l) (2.42)0 I a0 a0 [Km]=k( )0 [0 0 1] [0 0 1] (2.43) It is important to note that [K,] is a function of the external wrench. To prove it, Eq. (2.18) is explicitly expressed in a planar coordinate system and Erip = [p ppyI to yield F co $= so (2.44) Co P 1 So Py so 0 c, (2.45) soPx Py where c, = cos (0) and s, = sin (0). A ) By substituting Eq. (2.45) for in Eq. (2.43), [K,] can be expressed as 30 0 0 so 0 0 f [K,]=k(ll) 0 0 c = 0 (2.46) s, c, O f_ f 0 where f=[f\ f m, is the initial spring wrench. As shown in Eq. (2.41), the derivative of the spring wrench joining two rigid bodies depends not only on a relative twist between two bodies but also on the twist of the intermediate body, in this case body A, in terms of the inertial frame. [KF] which maps a small twist of body B in terms of body A into the corresponding change of wrench upon body B is identical to the stiffness matrix of the spring assuming the body A is stationary. [K,] is newly introduced from this research and results from the motion of the base frame, in this case body A, and is a function of the initial external wrench. 2.4 Stiffness Mapping of Planar Compliant Parallel Mechanisms in Series The derivative of the spring wrench derived in the previous section is applied to obtain the stiffness mapping of compliant parallel mechanisms in series as shown in Figure 26.1 Body A is connected to ground by three compliant couplings and body B is connected to body A in the same way. Each compliant coupling has a revolute joint at 1 Figure 26 shows a coordinate system attached to each of three bodies for illustration purposes. In this analysis, the three coordinate systems are assumed to be coincident and aligned at each instant. each end and a prismatic joint with a spring in the middle part. It is assumed that an external wrench wex, is applied to body B and that both body B and body A are in static equilibrium. The positions and orientations of bodies A and B and the spring constants and free lengths of all constituent springs are given. The stiffness matrix [K] which maps a small twist of body B with respect to the ground E)DB into a small wrench variation w ext is desired to obtain. S02 01 Figure 26. Mechanism having two compliant mechanisms in series. The static equilibrium equation of bodies B and A can be written by Wext=f,+f,+f =where f are the forces from the compliant couplings. where f are the forces from the compliant couplings. (2.47) The stiffness matrix is derived by taking a derivative of the static equilibrium equation, Eq. (2.47), to yield 8wx, =[K] E}JB = f_, + f_,+s (2.48) = f4 f 5 + 6f6 The derivatives of spring forces can be written by Eqs. (2.49) and (2.50) since springs 4, 5, and 6 connect body A and ground and springs 1, 2, and 3 join two moving bodies. f4 + 4f5 + 8f6 = [KF] E A +[KF E A +[KF ] EDA = [KF]R,L EJDA {_fl + f2 + _f3 = [KF]1 ADB +[KF] ADB +[K]3 A3DB +[KM ]1 E A + [K ] EDA +[KM ] E DA (2.50) =[KF]R U A5DB +[K], ER DA where 6 [KF]R,L = [KF ] 1=4 3 [KF]R,U =Z [KF ], 3 l=1 [KM]R,U =Z[KM. From Eqs. (2.49), (2.50), and (2.19) twist ED A can be written as [KF]R,L EDA = [KF]R,U AD +[K]R,U DA (2.51) = [K]R (E DB E DA)+[K]RU E DA E DA =([KF]RL +[KFRU [K ]R,U ) [KF R, E DB (2.52) Substituting Eq. (2.52) for E DA in Eq. (2.49) and comparing it with Eq. (2.48) yields the stiffness matrix as [K] EoDB = [KF]R,L EDDA S F (2.53) = [KFIR,L ([KF R,L +[KF R,U [KM ], )1[KF R, E B (25 [K] = [KF R,L ([KF]R,L + [KF R,U [KMIR,) [KF R,U (2.54) It was generally accepted that the resultant compliance, which is the inverse of the stiffness, of serially connected mechanisms is the summation of the compliances of all constituent mechanisms (see Griffis 1991). However, the stiffness matrix derived from this research shows a different result. Taking an inverse of the stiffness matrix Eq. (2.54) yields [K] = [KF]RL +[KF]RV [KF]R, [KMIR,C [KF R,L1 (2.55) The third term in Eq. (2.55) is newly introduced in this research and it does not vanish unless the external wrench is zero. A numerical example is presented to support the derived stiffness mapping model. The geometry information, spring properties of the mechanism shown in Figure 26, and the external wrench wt are given in Tables 21 and 22. wext=[0.01N 0.02 N 0.03 Ncm] Table 21. Spring properties of the compliant couplings in Figure 26. Spring No. 1 2 3 4 5 6 Stiffness constant k 0.2 0.3 0.4 0.5 0.6 0.7 Free length l/ 5.0040 2.2860 4.9458 5.5145 3.1573 5.2568 (Unit: N/cm for k, cm for lo) Table 22. Positions of pivot points in terms of the inertial frame in Figure 26. Pivot points El E2 E3 Bl B2 B3 X 0.0000 1.5000 3.0000 0.0903 1.7063 1.9185 Y 0.0000 1.2000 0.5000 9.8612 8.6833 10.6721 (Unit: cm) Table 22. Continued. Al A2 A3 A4 0.9036 2.5318 2.7236 1.6063 4.5962 3.4347 5.4255 5.4659 Two stiffness matrices are obtained. [K,] is from Eq. (2.54) and [K,] from the same equation ignoring [KM ]R, 0.0108 N/cm [K,]= 0.0172 N/cm 0.0997 N 0.0111 N/cm 0.0162 N/cm 0.0969 N 0.0172 N/cm 0.3447 N/cm 0.8251 N 0.0157 N/cm 0.3462 N/cm 0.8150 N 0.0797 N 0.8351 N 2.6567 Ncm 0.0874 N 0.8124 N 2.6129 Ncm The result is evaluated in the following way: 1. A small wrench 3wT is applied in addition to wext to body B and twists E)D' and EoDB are obtained by multiplying the inverse matrices of the stiffness matrices, [K]1 and [K]2, respectively, by 3w, as of Eq. (2.48). Corresponding positions for body B are then determined, based on the calculated twists EoDB and EoDB. 2. E'DA is calculated by multiplying the inverse matrix of [K ]R,L by Sw1 as of Eq. (2.49). The position of body A is then determined from this twist. 3. The wrench between body B and body A is calculated for the two cases based on knowledge of the positions of bodies A and B and the spring parameters. The change in wrench for the two cases is determined as the difference between the new equilibrium wrench and the original. The changes in the wrenches are named SwAB1 and SwAB,2 which correspond to the matrices [K]1 and [K]2. 4. The given change in wrench 5wr is compared to SwAB,1 and wAB,2. [K21= The given wrench ow, and the numerical results are presented as below. Swr = 10'x[0.5 0.2 0.4] EoD=103x[0.7674 0.1186 0.0672] ESD=103x[0.8208 0.1152 0.0679] ESA =10 3x[0.2350 0.0898 0.0330]f SwEA =105 [0.5000 0.1998 0.3996]T w AB, =105x[0.5004 0.1969 0.3919]T SWAB,2 10' [0.5666 0.2300 0.0117]T where w ,EA is the wrench between body A and ground. The unit for the wrenches is [N N Ncm]T andthatofthe twists is [cm cm rad] The difference between SwE and 5w, is small and is due to the fact that the twist was not infinitesimal. The difference between Sw AB, and 3wT is also small and is most likely attributed to the same fact. However, the difference between SwAB,2 and Sw, is not negligible. This indicates that the stiffness matrix formula derived in this research produces the proper result and that the term [KM ]R,U cannot be neglected in Eq. (2.54). 2.5 Stiffness Mapping of Planar Compliant Parallel Mechanisms in a Hybrid Arrangement Figure 27 depicts a compliant mechanism having compliant couplings in a serial/parallel arrangement. Each compliant coupling has a revolute joint at each end and a prismatic joint with a spring in the middle part. An external wrench wex, is applied to body T and body T is separately connected to body B, body C, and body D by three compliant couplings. Body B, body C, and body D are connected to ground by two compliant couplings. It is assumed that all bodies are in static equilibrium. It is desired to find the stiffness matrix which maps a small twist of body T in terms of ground E 6T to the corresponding wrench variation 5wext. The stiffness constants and free lengths of all constituent springs and the geometry of the mechanism are assumed to be known. The stiffness matrix of the mechanism can be derived by taking a derivative of the static equilibrium equations. The static equilibrium equations may be written as ext = f7 +8 +9 (2.56) f7 = f +f2 (2.57) f8 = 3 +4 (2.58) f9 =f5 +6 (2.59) where wext is the external wrench and f, is the force of the ith spring. Derivatives of Eqs. (2.56)(2.59) can be written as ex 7 + 4f8 f9 (2.60) = [K]R EDT Sf7 = sf1 +sf2 (2.61) f8 = f3 + f_4 (2.62) Sf9 = f 5 + Sf (2.63) where [K]R is the stiffness matrix and E'DT is a small twist of body T in terms of the inertial frame attached to the ground. 29 Using Eqs. (2.15) and (2.41), Eq. (2.61) can be rewritten as f_7 = [KF]7 B _D +[KM]7 E3DB (2.64) = [KF]I 1E B +[KF]2 EbDB =([KF]1 +[KF]2) EDB( where B)DT is a small twist of body T in terms of body B and E1DB is that of body B in terms of the inertial frame. [KF, and [K, ] are the matrices for ith spring defined by Eqs. (2.42) and (2.43) respectively. The twist of body T can be decomposed as ESDT = EDB + BDT (2.65) From Eqs. (2.64) and (2.65), ED B can be expressed in terms of E1DT as Eq. (2.66). [KF 7(EDT E )+[KM]7 EDB =([KF]1+[KF]2) E B EDB = ([KF ] + [KF ]2 + [KF 7 [KM] ) [KF 7 E.DT (2.66) By substituting Eq. (2.66) for E5DB in Eq. (2.64), Sf7 can be expressed in terms of EJDT as s7 = [KF ] +[KF 2)([KF ] +[KF]2 +[KF7 K,]) [KF]7 ED (2.67) Analogously, Sf8 and Sf 9 can be written respectively as sf8 = ([KF] 3+[[KF 4)([KF]3+[KF]4+[KF8 [KM]8) [KF]8E3DT (2.68) S= ([KF5 +[KF]6[KF] 5 +[KF +[KF 9[K ]9) [KF] ESD (. (2.69) Finally from Eq. (2.60) and Eqs. (2.67)(2.69), the stiffness matrix can be written as [K]R = ([KF +[KF ]2)([KF ] +[KF 2 +[KF ]7 [KM ] ) [KF ]7 +([KF]3+[KF]4)([KF]3+[KF]4+[KF]8[KM],)l [KF] (2.70) +([KF]5 +[KF6 )([KF5 +[KF 6 +[KF9 [K ]9 1[KF 9 A numerical example of the compliant mechanism depicted in Figure 27 is presented. The four bodies are identical equilateral triangles whose edge length is 2 cm. Four coordinate systems, B, C, D, and T are attached to body B, C, D, and T, respectively and their positions of origin and orientations in terms of the inertial frame are given in Table 25. The spring properties and the positions of the fixed pivot points are given in Table 23 and Table 24, respectively. The external wrench is given as 0.1 N wext 0.1 N 0.2 Ncm Table 23. Spring properties of the compliant couplings in Figure 27. Spring No. 1 2 3 4 5 6 7 8 9 Stiffness 0.40 0.43 0.49 0.52 0.58 0.61 0.46 0.55 0.64 constant k Free length 1l 2.2547 2.4014 1.5910 1.8450 1.7077 2.2695 2.3924 2.2200 1.8711 (Unit: N cm for k and cm for lo) Table 24. Positions of the fixed pivot points of the compliant couplings in Figure 27. Al A2 A3 A4 A5 A6 X 1.6700 4.4600 13.3449 14.6731 8.2300 4.9400 Y 4.4333 1.3964 3.2500 6.8400 14.1400 13.4943 (Unit: cm ) Table 25. Positions and orientations of the coordinates systems in Figure 27. Bo Co Do To X 4.0746 12.2367 7.2479 8.3174 Y 5.1447 4.4972 12.7430 6.9958 0 0.8112 1.2283 3.8876 0.5818 (Unit: cm for x, y and radians for D) Two stiffness matrices are obtained. [K, ] is from Eq. (2.70) and [K,] from the same equation ignoring all [K,] 's which are newly introduced in this research. 0.2501 N/cm 0.0216 N/cm 1.7651 N [K,]= 0.0216 N/cm 0.2910 N/cm 2.6661 N 1.6651 N 2.5661 N 38.5180 Ncm 0.2463 N/cm 0.0172 N/cm 1.7844 N [K2]= 0.0315 N/cm 0.2888 N/cm 2.5749 N 1.6139 N 2.5730 N 38.2221 Ncm To evaluate the result, a small wrench Sw is applied to body T and the static equilibrium pose of the mechanism is obtained by a numerically iterative method. From the equilibrium pose of the mechanism, the twist of body T with respect to ground E5DT is obtained as 0.5 N w = 104 0.2 N 0.3 Ncm 0.0050 cm EDT = 0.0058 cm 0.0006 rad Then the twist E'DT is multiplied by both of the stiffness matrices to see if they result in the given small wrench Sw . 0.4997 N Sw, =[K1] E.DT =104x 0.2000 N 0.3020 Ncm Sw2 = [K2 ] EDT = 104 0.4502 N 0.2726 N 0.6622 Ncm The numerical example indicates that [K,] produces the given wrench 45w with high accuracy and that [K2] involves significant errors. d3 \W \ ext k9 \ \ k3 A2 t Figure 27. Mechanism consisting of four rigid bodies connected to each other by compliant couplings in a hybrid arrangement. CHAPTER 3 STIFFNESS MAPPING OF SPATIAL COMPLIANT MECHANISMS Taking a similar approach adopted for planar compliant mechanisms, a stiffness mapping of spatial compliant mechanisms is presented. 3.1 A Derivative of Spatial Spring Wrench Joining a Moving Body and Ground Figure 31 depicts a rigid body and a compliant coupling connecting the body and the ground. The compliant coupling has a spherical joint at each end and a prismatic joint with a spring in the middle. Body A can translate and rotate in a spatial space. The wrench which the spring exerts on body A can be written as w = k(l/)$ (3.1) where k, 1, and / are respectively the spring constant, current spring length, and spring free length of the compliant coupling. Further, $ represents the unitized Plticker coordinates of the line along the compliant coupling which may be written by E EA (3.2) $= xEE = Er XS po P 1 where S is the unit vector along the compliant coupling and ErE0o and Er A are the position of the pivot point PO in the ground body and that of Pl in body A, respectively, measured with respect to a reference coordinate system attached to ground. Body A S / PO Figure 31. Spatial compliant coupling joining body A and the ground. 13 S e2   Figure 32. Unit vector expressed in a polar coordinates system. A polar coordinates system can be used to express the unit vector S (see Figure 32) as sin/ cos a S =sinj lsina (3.3) Scos/ It is obvious from Eqs. (3.2) and (3.3) that $ is a function of a and / since Er E is fixed on ground. Hence a derivative of the spring wrench can be written as Sw = k,/$+ k(l lo),$ io) a+ af/// (3.4) / =ka a$+k(18 a I where as SLaaS (3.5) as E E as POr a ssas By taking a derivative of Eq. (3.3), r a and as can be explicitly written by a sin sin a a sin cos a (3.7) 0, aa /cossin (3.8) sin/ Since t is not a unit vector, a unit vector is introduced as sin a = sin cos a (3.7) as 0 = cosin a (3.10) Hence Eq. (2.8) can be rewritten as w = k6I$+k(1 0) sina+ (.1 Saa as S= cos (3.9) where / as as aa (3.12) E E r 0x s It is important to note that and are the unitized Plicker coordinates of the lines aa a,/ perpendicular to S and go through the pivot point PO. 1sini 65a EP1   J ^ I sin, 1 / 3"/3 Figure 33. Small change of position of Pl due to a small twist of body A. In Eq. (3.11) 61, 1sin/3 ca, and I 8/3 can be considered as the change of the spring length and the changes of the direction of the spring (see Figure 33). These values correspond to the projections of the variation of position P1, Erpl, onto the as as A orthonormal vectors S, and , respectively. Thus E 1rp1 can be rewritten as =A(Eb .S)S+S BJS S A S 1I + I 1 (3.13) Js Js =5 S+lsin &as +160as From the twist equation, the variation of position P1 can be written as ErI E + EqA XE (3.14) where EdrA is the differential of the position of point O in body A which is coincident with the origin of the inertial frame E measured with respect to the inertial frame. E .A is the differential of the angle of body A with respect to the inertial frame. From Eqs. (2.11) and (2.10), 61, sin 6 Sa, and I /3 can be expressed as l1 = EreA S = ErA. S+ EPAX ErAp S P o P1 =Er A S+ E PA Er x S (3.15) = $1 EJDA ASTESE4 lsin/3a= Er A aS Er S + EAErA as = P a 0 aa aa c*A ras as o A a + HE Erp1 p aX (3.16) / l3 E 1rA E 6A E_ rpElA aa  as as = ErA. + X (3.17) a &TEDA a,#  where EDA_ (3.18) Eg9A S as (3.19) aa E as' as a)3 (3.20) ErA x as as It is important to note that and are the unitized Plicker coordinates of lines perpendicular to S which pass through the pivot point P1 in body A and ED)A is a small twist of body A with respect to ground. Substituting Eqs. (2.12), (3.16), and (2.13) for 81, /sin/3 6a, and /I 8 in Eq. (3.11) yields )a as$ w = kl$ + k(1 ) I sinfl + 3a+ l =k$$T EDA +k(1 +r EA (3.21) SK]EDA where [KF ]= k$$ +k(1L+ (3.22) [KF ] is the stiffness matrix of a spatial compliant coupling and maps a small twist of body A into the corresponding variation of the wrench. The first term of Eq. (2.16) is always symmetric and the second term is not. When the spring deviates from its equilibrium position due to an external wrench, the second term of Eq. (2.16) doesn't vanish and it makes the stiffness matrix asymmetric. This result agrees with the works of Griffis (1991). 3.2 A Derivative of Spring Wrench Joining Two Moving Bodies P2/ Body B S Body A P1 Figure 34. Spatial compliant coupling joining two moving bodies Figure 34 illustrates two rigid bodies connected to each other by a compliant coupling with a spring constant k, a free length o, and a current length 1. Both of body A and body B can move in a spatial space and the compliant coupling exerts a wrench w to body B which is in equilibrium. The spring wrench may be written as w = k(/)$ (3.23) where $ rr S ( A B (3.24) P1 P2 and where S is a unit vector along the compliant coupling and Er'1 and E r2 are the position vectors of the point P1 in body A and that of point P2 in body B, respectively, measured with respect to the reference system embedded in ground (body E). It is desired to express a derivative of the spring wrench in terms of the twist of body B E DB and that of body A EDAA. The twist ED)B may be expressed as EJDB = EDA + AJDB (3.25) where ErB EDB = (3.26) A EDA = A (3.27) D = AB (3.28) and where Er B is the differential of point O, which is in body B and coincident with the origin of the inertial frame, measured with respect to the inertial frame and E6 B is the differential of angle of body B with respect to the inertial frame. Ero ArB , E5A and A35B are defined in the same way. The derivative of the spring wrench in Eq. (2.17) can be written as Esw = k 1 $ + k ( lo) ES$ (3.29) and it is required to express 81 and ES$ in Eq. (2.23) in terms of the twists of the bodies. From the twist equation, the variation of position of point P2 in body B with respect to body A can be expressed as A B A B + AB X A B rp2 r + AB rP2 (3.30) where A r2 is the position of P2, which is embedded in body B, measured with respect to a coordinate system embedded in body A which at this instant is coincident and aligned with the reference system attached to ground. It can also be decomposed by projecting it AaS AaS onto the orthonormal vectors S, and which are defined in a similar way as aa a,8 Eqs. (3.3), (3.9), and (3.8). These three vectors correspond to the change of the spring length 81 and the directional changes of the spring such as /sin/3 &a and I 53 in terms of body A in a way that is analogous to that shown in Figure 33. Thus the variation of position of point P2 in body B in terms of body A can be written as A ABA a S A aS' A AS A aS B Ar B 2. 2 + 4P2 2 aa + P 2 (3.31) A aS' A aS =1lS+1sin #Sa +d1  aa P , From Eqs. (2.24) and (2.25), 81 in Eq. (2.23) can be obtained as 81 = A S = ArBS+ AYB A B S 2P o P2 SAr B. S+ A9B BArBp2 xS (3.32) = ST ADB In the same way, Isin/ &a and /I 8 can be expressed as AaS AaS AaS Aa$ lsinJ/J3 =A8< AB A rB A AB +ArB, A$B AA BA AB (3.33) iaa f=.r AB S B"S A S AA rB2 AS A B A AB A B AS / S,"~3S +A~jj + pA . S+ A r2 (3.34) Aa$ where A aS' AA a 'A as r P2 X A A B a (3.36) Now in Eq. (2.23), only E5$ is yet to be obtained. It is a derivative of the unit screw along the spring in terms of the inertial frame and may be written as $_=: rA E AS Ax EJS1_ (3.37) Using an intermediate frame attached to body A, a derivative of the unit vector S can be written by ECS = ASS+ EC5pA xS. (3.38) Thus ES$ may be decomposed into three screws as r_ = xS+Er x SS AgS+ E5A xS =ErA XS+ Hr A x(AS+ pXS (3.39) APS E A S 0 =rE X A S E1A X(E x S) 1r xS Since S is a function of a and / from the vantage of body A and Isinm & a and 1/,8 were already described in Eqs. (2.28) and (3.34), the first screw in Eq. (2.32) can be written as A Sa+ as A as A a I IS I oa a, 5 + o8a Eri A S A 'Sa+ A', _rA x S Ar_ x gA P1, I a A 2 r j I ( a lsinJS6a+ P .(3.40) aa / aft I a a + aA a As to the second screw in Eq. (2.32), E053A x S can be decomposed onto three AS ABS orthonormal vectors along S, and respectively, as E xS {( AxS).s} +(E& AxS). As jA AaxS) v  ' aa \a a8 I (3.41) AaS AaS From the fact that S, and are unit vectors and perpendicular to each other (see Figure 33), each dot product of Eq. (3.41) can be expressed as (E5Ax S) S = 0 (3.42) AaS AaS _E AaS (E xS). = A. Sx =EA aa aa  f o T g L o 0 (3.43) = "as = as _I IABS A \ S AAS E jDA a a AaS AaS AaS (E3 AxS) = E pAISx = E A 0 o T (3.44) SEgr A7 ELJ^A L AS A = A ]S E where 0 =[0 0 0]. Hence, E0C5A xS can be rewritten as 0 T 0 T E A xS= AaS AS E A S EA A (3.45) and the second screw in Eq. (2.32) can be expressed a and the second screw in Eq. (2.32) can be expressed as E~A xS E X(EA x xS) 1 0  aa L A )S 3 E A r P a0 AaS a)3 JDA +; AasAo Si aa ED A E DA E DA aa 0o r j S r o0 as + AaS H A AP1  A$ AaS (3.46) A Ofr EDA =A8$ H Lf Ea ] As to the third screw in Eq. (2.32), E ~r can be decomposed onto three orthonormal A S A. S vectors along S, a, and respectively, as E 1aaE P Er&A = E&A + E3 A AEr =P _0 T Pi (ESrA, )S+ r Al d d + E3rA __PA AS A S E6 1 E6 ~1 AaS S aS a3) aJ3 The first dot product in Eq. (3.47) can be expressed as E rA S = ErA. S+E & xr. S P1 o P1 EI ^ 4oS+ E 44xS. SErA S + EPArA XS. EDP1 = $T H 4DA (3.47) (3.48) In the same way, the second and third dot products in Eq. (3.47) can be written as EoDA K 0 E A AS OaS A$ S AAS = + EA rx  A CE A Oa ErA AaS E A ABS rP1 ==o  a3? 0 + A rA AS P1 a, AOS A OS = E~ A + E A A rA A Eq$ A afy Finally, E8rAp xS of the third screw in Eq. (2.32) can be expressed as A (xS= $(TTEDA)S+ Aa$ .5r P"= S I (saa A $"T aa Aa$"T aa EDA AS aa DA  K EJDA AaS aa AdS since S, and aa AaS  are unit vectors and perpendicular to each other (see Figure a,8 33). Substituting Eq. (3.51) for E rA xS of the third screw in Eq. (2.32) yields E 1 A S A r" ) (3.49) (3.50) A a$T ap As {xS "aJ aS M A "T E xS+ A D A $"I a8 (3.51) A AaS Daa 0 0 LaX IT H AS A I T AaS' P I aa3 3, 3 a" 0 T 0 A (3.52) = AaS EJJA AaI EgDA aS 0 A a $T 0 A T = S Ea 4 By replacing 51 and ES$ in Eq. (2.23) with Eqs. (2.27), (2.33), (2.35), and (2.40) and sorting it into the twists, the derivative of the spring wrench can be rewritten as Esw = kSl$ +k(ll ) ES = [KF] ADB + [KM] EDA ( where [KF k= +k(1 ) + (3.54) 0 A TT A 0 A 0 0 L [Kat ]=s k(slo) an r+  [Km k( AaS A aS + AS . AaS (3.55) It is important to note that [KM] is identical to the negative of the spring wrench expressed as a spatial cross product operator (see Featherstone 1985 and Ciblak and Lipkin 1994). To prove it, all terms in Eq. (2.43) are explicitly expressed in a polar coordinate system and E rP1 p \py p I to yield [0] [K12] [KM]= [K2] [K22] (3.56) L[K12] [K22] where 0 c s8 S, [K12]=k(1/o) c, 0 s, c, (3.57) S_ Sa S Ca 0 0 P. s SaPy S C, pzs, Ca+ P c [K22]=k(1lo) psss,+pySp, 0 py c'ps s (3.58) SP SP ca Px c1 Py C + z Si sa 0 and where [0] is 3x3 zero matrix, c, = cos(a), and s, = sin(a), etc. In the same way the spring wrench can be explicitly written as w= k(//o)$=k(/)E A x P1i  s 8ca f~ s sa f. (3.59) =k(l = ) =  PYC/ Pzspsa mx Lm ps ce Pxcy my Pxs /iy PySfcar m_ By comparing Eqs. (3.57) and (3.58) with Eq. (3.59) it is obvious that 0 fZ f; [K12]=k(11o) f, 0 f, =fx (3.60) f, f 0 0 m, my [K22]= mz 0 m, =mx (3.61) mw mi 0 where fx and mx are skewsymmetric matrices representing vector multiplication. Then [K,] can be expressed as [o1 fx [KM=o] f =wx (3.62) fx mx where w x is the spring wrench expressed as a spatial cross product operator (see Featherstone 1985). Finally the derivative of the spring wrench can be written as =[KF AB E(w ) EDA (3.63) As shown in Eq. (3.63), the derivative of the spring wrench joining two rigid bodies depends not only on a relative twist between two bodies but also on the twist of the intermediate body, in this case body A, in terms of the inertial frame unless the initial external wrench w is zero. [KF] which maps a small twist of body B in terms of body A into the corresponding change of wrench upon body B is identical to the stiffness matrix of the spring assuming the body A is stationary. 3.3 Stiffness Mapping of Spatial Compliant Parallel Mechanisms in Series The derivative of spring wrench derived in the previous section is applied to obtain the stiffness mapping of the compliant mechanism shown in Figure 35. Body A is connected to ground by six compliant couplings and body B is connected to body A in the same way. Each compliant coupling has a spherical joint at each end and a prismatic joint with a spring in the middle. It is assumed that an external wrench wex, is applied to body B and that both body B and body A are in static equilibrium. The poses of body A and body B and the spring constants and free lengths of all compliant couplings are known. The stiffness matrix [K] which maps a small twist of the moving body B in terms of the ground, ESDB (written in axis coordinates), into the corresponding wrench variation, Swex (written in ray coordinates), is desired to be derived and this relationship can be written as Swe = [K] EDB (3.64) The stiffness matrix can be derived by taking a derivative of the static equilibrium equations of body A and body B which may be written as 6 12 wext = w = w, (3.65) 1=1 1=7 6 12 t = w, = w, (3.66) 1=1 i=7 where w, is the wrench from ith compliant coupling. Since springs 1 to 6 join the two moving bodies and springs 7 to 12 connect body A to ground (see Figure 35), the derivatives of the spring wrenches can be written as 6 6 Zsw, =I ([]KF] A] B (W, X) ) EDA) ,=1 ==1 (3.67) = [KF ]R,u A.DB (W't X) EDA 12 12 ZSw, = [KF ], A =DB=[KF RL EDA (3.68) 1=7 1=7 where 12 [KFR,L =Z[KF], (3.69) 1=7 6 [KF]R,U =[MKF], (3.70) 7=1 and where wex x is the external wrench expressed as a spatial cross product operator. From Eqs. (3.67), (3.68), and (3.25), twist ESDA can be written as Eq. (3.72). [KF]R,L EDA = [KF ]R,U A DB (Wext X) EDA (3.71) = [KF R,U (EoDB EDA)(We, X) E A) EoDAA =([KFR, +[KF R+(ex X)) [KF RU B (3.72) Substituting Eq. (3.72) for ESDA in Eq. (3.68) and comparing it with Eq. (3.64) yield the stiffness matrix as Eq. (3.74). [K] EoDB = [K ]RL E DA (3.73) =[KF]R,L([ KFR,L +[KF R,U+( WetX)) [KF R, EJDB (3 [K] =[KF R,L (KF R,L +KF R,U +(Wet )) [KF R,U. (3.74) It was generally accepted that the resultant compliance, which is the inverse of the stiffness, of serially connected mechanisms is the summation of the compliances of all constituent mechanisms (see Griffis 1991). However, the stiffness matrix derived from this research shows a different result. Taking an inverse of the stiffness matrix Eq. (3.74) yields [K] = KF]RL + [KF]RU + [KF]R,U (1Wext )[KF] ,L (3.75) The third term in Eq. (3.75) is newly introduced in this research and it does not vanish unless the external wrench is zero. Figure 35. Mechanism having two compliant parallel mechanisms in series.2 A numerical example of the compliant mechanism depicted in Figure 35 is presented. The geometry information and spring properties of the mechanism shown in Figure 35 are presented in Tables 31 through 35. The external wrench w,, is given as wex = [0.3 0.4 0.8 2.3 1.3 0.7]T. (unit:[N,N,N,Nc,Ncm,Ncm,Nc]) Table 31. Spring properties of the mechanism in Figure 35 (Unit: N/cm for k, cm for lo). Spring No. 1 2 3 4 5 6 Stiffness coefficient k, 4.6 4.7 4.5 4.4 5.3 5.5 2 The coordinate systems attached to bodies E, A, and B are for illustrative purposes only. In the analysis it is assumed that the three coordinate systems are at this instant coincident and aligned. Free length 1.6305 1.0276 4.0098 1.8592 1.7591 3.8364 Table 31. Continued. Spring No. 7 8 9 10 11 12 Stiffness coefficient k 4.4 4.9 4.7 4.5 5.1 4.8 Free length lo 4.4718 1.2760 5.2149 2.6780 2.2712 3.4244 Table 32. Positions of pivots in ground in Figure 35 (Unit: cm). No. 1 2 3 4 5 6 X 0.0000 1.3000 0.6000 0.7000 1.1000 0.5000 Y 0.0000 1.1000 2.7000 2.6000 1.8000 0.4000 Z 0.0000 0.2000 0.1000 0.1000 0.3000 0.1000 Table 33. Positions of pivots in bottom side of body A in Figure 35 (Unit: cm). No. 1 2 3 4 5 6 X 0.2000 1.1833 0.4616 0.6575 1.1452 0.2189 Y 1.2000 2.1235 3.5111 3.3783 2.5652 1.6879 Z 3.2000 3.1843 3.3010 3.1013 3.0704 3.1196 Table 34. Positions of pivots in top side of body A in Figure 35 (Unit: cm). No. 1 2 3 4 5 6 X 0.2086 1.4860 0.7553 0.5501 0.9278 0.2945 Y 1.2033 2.3329 3.9187 3.7867 2.9797 1.5942 Z 3.2996 3.2514 3.3121 3.2792 3.3590 3.3804 Table 35. Positions of pivots in body B in Figure 35 (Unit: cm). No. 1 2 3 4 5 6 X 0.3000 0.9216 0.2183 0.8385 1.2525 0.5589 Y 1.6000 2.7822 3.8980 3.9919 2.8972 2.0875 Z 5.5000 5.5000 5.4782 5.8447 5.8317 5.7745 Two stiffness matrices are calculated: [K]1 from Eq. (3.74) and [K]2 from the same equation but without the matrix w x. The numerical results are 0.3429 0.0077 0.2661 0.7853 1.7378 0.4076 0.0077 0.5103 1.7122 1.2760 0.2157 0.2885 0.2661 1.7122 10.5103 20.0012 0.7518 0.2695 [K], = 0.7853 2.0760 19.6012 54.3222 1.1348 1.2570 0.9378 0.2157 0.4518 0.4348 12.1329 3.8667 0.0076 0.0115 0.2695 0.0430 1.5667 0.0798 0.3039 0.0109 0.2641 0.7858 1.3134 0.2770 0.0504 0.4617 1.7122 1.9863 0.0875 0.0375 0.4364 1.6222 10.6633 21.7834 0.7144 0.5956 [K]2 = 1.0788 1.9862 20.7574 59.4736 1.1874 2.5822 0.9754 0.0759 0.0901 0.1283 12.1852 3.0399 0.0319 0.0218 0.0576 0.6983 1.6440 0.1157 where, the units of upper left 3 x 3 sub matrix is N/cm, that of lower right 3 x 3 sub matrix is Ncm, and that of remainder is N. The result is evaluated in the following way: 1. A small wrench Sw, is applied in addition to wex to body B and twists E3DB and EoDB are obtained by multiplying the inverse matrices of the stiffness matrices, [K]1 and [K]2, respectively, by Sw, as of Eq. (3.64). Corresponding positions for body B are then determined, based on the calculated twists EDB and E1DB. 2. E'DA is calculated by multiplying the inverse matrix of [KF]R,L by 5Sw1 as of Eq. (3.68). The position of body A is then determined from this twist. 3. The wrench between body B and body A is calculated for the two cases based on knowledge of the positions of bodies A and B and the spring parameters. The change in wrench for the two cases is determined as the difference between the new equilibrium wrench and the original. The changes in the wrenches are named SwAB, and wAB,2 which correspond to the matrices [K]1 and [K]2. 4. The given change in wrench Sw, is compared to SwAB,1 and SwAB,2 The given wrench Sw, and the numerical results are presented as below. w, = 104x[0.5 0.2 0.4 0.3 0.8 0.4] E lB =103 x[0.3522 0.3081 0.0912 0.0137 0.0429 0.0367] E(2B =103x[0.3354 0.2682 0.0845 0.0132 0.0404 0.0365] E D"A=103x[0.1113 0.0100 0.0067 0.0081 0.0267 0.0650]O SwEA =104x[0.5000 0.1995 0.4017 0.3035 0.8000 0.4000] wAB,1 =104x[0.4997 0.1998 0.4020 0.3041 0.8010 0.4011] wAB,2 =104x[0.5462 0.0693 0.3534 0.7831 0.2319 0.0967] where w EA is the wrench between body A and ground. The unit for the wrenches is [N, N, N, Ncm, Ncm, Ncm]T and that of the twists is [cm, cm, cm, rad, rad, rad]T. The difference between uSwE and Swr, is small and is due to the fact that the twist was not infinitesimal. The difference between SwAB,1 and Sw, is also small and is most likely attributed to the same fact. However, the difference between SwAB,2 and Sw, is not negligible. This indicates that the stiffness matrix formula derived in this research produces the proper result and that the term wext x cannot be neglected in Eq. (3.74). CHAPTER 4 STIFFNESS MODULATION OF PLANAR COMPLIANT MECHANISMS Planar mechanisms with variable compliance, specifically, compliant parallel mechanisms and mechanisms having two compliant parallel mechanisms in a serial arrangement are investigated in this chapter. The mechanisms consist of rigid bodies joined by adjustable compliant couplings. Each adjustable compliant coupling has a revolute joint at each end and a prismatic joint with an adjustable spring in the middle. The adjustable springs are assumed to be able to change their stiffness coefficient and free length and the mechanisms are in static equilibrium under an external wrench. It is desired to modulate the compliance of the mechanism while regulating the pose of the mechanism. 4.1 Parallel Mechanisms with Variable Compliance 4.1.1 Constraint on Stiffness Matrix Figure 41 illustrates a compliant parallel mechanism having N number of compliant couplings. The mechanism is in static equilibrium under the external wrench w ex and it can be expressed as N wext = f, (4.1) 1=Y where f, is the spring wrench of ith compliant coupling. By using Eq. (2.15) a derivative of Eq. (4.1) may be written as N =1 (4.2) = i[K EDA where Sa$, a$'T [KF] =k $ +k(1 ) (4.3) ae ao o k,, lo, /l, and 0, in Eq. (4.3) are the spring constant, the spring free length, the current spring length, and the rising angle of ith compliant coupling, respectively (see Figure 2 4). In addition, $, represents the unitized Plicker coordinates of the line along the ith compliant coupling as in Eq. (26) and may be written explicitly as $ r sin0, (4.4) r S sin, ry, cos 0 where r,, and y,, are the pivot position of ith compliant coupling in body E. Then Eq. (4.4) leads to sin 60 cos (4.5) ,, cos 0, + y,, sin 0, The stiffness matrix of the mechanism [K] can be written from Eq. (4.2) as N [K]= [KF]l. (4.6) z=1 we \ ext . . . E3 Figure 41. Compliant parallel mechanism with N number of couplings. Ciblak and Lipkin (1994) showed that the stiffness matrix of compliant parallel mechanisms can be decomposed into a symmetric and a skew symmetric part and that the skew symmetric part is negative onehalf the externally applied load expressed as a spatial cross product operator. For planar mechanisms, the skew symmetric part can be written as [K][K]+[K] [K][K] 2 2 [K]ymmetnc + [K]skew Symmetrc [K][K]T 1 0 0 [K]Skew Symmetnc 20  f, fx 0 (4.7) (4.8) where wext = [fxy fy' m ]T is the external wrench. It is important to note that no matter how many compliant couplings are connected and no matter how the spring constants and the free lengths of the constituent compliant couplings are changed the stiffness matrix of a compliant parallel mechanism contains only six independent variables and the stiffness matrix may be rewritten as 11n K12 13 [K]= K12 K22 K32 (4.9) K13 + fy K32 K33 From Eqs. (4.3)(4.6) the six independent elements of the stiffness matrix [K] can be explicitly written as K11 = = k k sin2 ~ (4.10) K12 = I k sin 0,cos0, (4.11) N / K13 = k,(, sin0, +ry,,)+k, (1, sin0 +r, sin0, cosO,+ry, sin2 ) (4.12) =1 K22 = kk, cos2 (4.13) N I( K32 k,,, k (,, cos2 + ry, sin cos (4.14) K =1 kr,,1(, cos 0, + r, )+kr),(1, sin 0, + ry,) 33 = k r,,,(l, cosO0 +rsy, sin0, cos0, +r,, cos2 0) (4.15) 1 /1 k, ry,1(/ sin 0 + r,, sin 0 cos0, + ry, sin2 20) 11 , 4.1.2 Stiffness Modulation by Varying Spring Parameters In this case it is desired to find an appropriate set of spring constants and free lengths of the constituent compliant couplings of the mechanism shown in Figure 41 to implement a given stiffness matrix and to regulate the pose of body A under a given external wrench. It is important to note that the stiffness matrix contains only six independent variables and the equations for the independent variables are linear in terms of k's and k,o, 's as shown in Eqs. (4.10)(4.15) since all geometrical terms are constant. In addition to the equations for the stiffness matrix, the system should satisfy static equilibrium equations to regulate the pose of the mechanism and from Eqs. (4.1) and (4.4) it can be written as f cose 0 Wex= f, = ki l/o sin 0, (4.16) m ~ rx, sin 0, ry, cos 0, Eq. (4.16) consists of three equations which are also linear in terms of k's and klo, 's. Since there are nine linear equations to be fulfilled and each adjustable compliant coupling possesses two control variables such as spring constant and free length, at least five adjustable compliant couplings are required. The nine equations may be written in matrix form as [A]X=B (4.17) where B = K11, K12, K13, K22 K 32, K33, f fy, z ]T (4.18) S= [k,, k?, 2 k'", kl1,o 1 1 *** 1 0 0 ** 0 G3,1 G3,2 *** G3,N 1 1 *** 1 G6,1 G6,2 *** G6,N G8,1 G8,2 G8,N HL H1,2 *** Hl,N H3,1 H3,2 H3,N H5,1 H5,2 HS,N k2o2, ..., ,owN G1,1 G1,2 . G2,1 G2,2 .. G4,1 G4,2 . G5,1 G5,2 . G7,,1 G7,2 G9,1 G9,2 " H2,1 H2,2 H4,1 H4,2 H6.1 H6,2 sin2 6, GI, = G2, = sin 0 cos  , G3, sin r y, Sx,, sin0, cos0 ++/, sin2 2 G4,r = sin 0, + G, = cos2 2 ~T r,, cos2 60 r, sin 6 cos 6 G8,, = r,2 + y,2 +, (r,, cos + r, sin ) r 2 cos 2 + 2 sin2 20 + 2 sin 0 cos , G9, = , cos 0, y, Sin 0, H1I, =/ cos 0, H2,, = cos,, H3, = sin H4, = sin0, Hs,, = 1 (r,, sin 0, ri,, cos 0, ), H6,, = (r,, sin 0, y,, cos 0, ). It is important to note that [A], X, and B are 9 x (2*N), (2*N) x 1, and 9 x 1 matrices, respectively, where N denotes the number of the adjustable compliant couplings. (4.19) [A] = G,N G2,N G4,N G,N G7,N G9,N H2,N H4,N H6 N (4.20) and where G6,1 = x, 7,1 = It is required to solve Eq. (4.17) where the number of columns of matrix [A] is in general greater than that of rows and the general solution Xs,, can be written as Xsol = Xp + Xh Xp+[AN]C_ (4.21) = x,+[AN11I ]C where Xp, Xh, [ANU1 ], and C are the particular solution, the homogeneous solution, the null space of matrix [A], and the coefficient column matrix, respectively (see Strang 1988). Once a solution Xsol is obtained, o, 's are calculated from k 's and ko, 's in Xsol. It is important to note that [ANUW,] is (2*N) x (2*N9) matrix and C is (2*N9) x 1 column matrix. There might be many strategies to select the matrix C which leads to a specific solution. For instance, if the norm of Xsol is desired to be minimized, then by using projection matrix [ANlpl ] (see Strang 1988), the solution can be obtained as X Min=X p +[ANullP ](Xp) (4.22) where [ANu] = [A Nul([A ] [ANu [ANu] (4.23) For another case, we might want the solution closest to a desired solution Xd which may be constructed from operation ranges of adjustable compliant couplings, for instance, minimum and maximum spring constant and free length. Then, the solution can be obtained as Xd o = X +[ANullP](Xd X ). (4.24) Unfortunately, these methods involve mixed unit problems and do not guarantee a solution consisting of only positive spring constants and free lengths. A numerical example is presented. The external wrench wext and the desired stiffness matrix [K] are given as wex = [1.8832 N 2.8805 N 3.2851Ncm] 0.0216 N/cm 2.2483 N/cm 2.2750 N [K]= 2.2483 N/cm 25.3914 N/cm 60.9800 N 5.1555 N 62.8632 N 270.4409 Ncm The geometry information of the mechanism shown in Figure 41 is given in Tables 41 and 42. The mechanism is assumed to have five compliant couplings. Table 41. Positions of pivot points in body E for numerical example in 4.1.2. Pivot points El E2 E3 E4 E5 X 0.0000 0.6000 2.5000 3.9000 5.3000 Y 0.0000 0.8000 0.3000 0.9000 0.0000 (Unit: cm) Table 42. Positions of pivot points in body A for numerical example in 4.1.2. Pivot points Al A2 A3 A4 A5 X 0.6000 1.4055 2.6736 3.3368 4.7284 Y 4.5000 2.7447 3.3209 3.9614 4.1442 (Unit: cm) The spring parameters which have the minimum norm and satisfy the given conditions can be obtained by using Eq. (4.22) and these values are shown in Table 43. Table 43. Spring parameters with minimum norm for numerical example 4.1.2. Spring No. 1 2 3 4 5 Stiffness constant k 4.6674 7.2485 3.5188 5.0243 6.3280 Free length o 4.1678 2.1490 6.3995 1.9322 3.9104 (Unit: N/cm for k, cm for lo) The spring parameters which are closest to the given spring parameters as shown in Table 44 can be obtained by applying Eq. (4.24) and it is shown in Table 45. Table 44. Given optimal spring parameters for numerical example 4.1.2 Spring No. 1 2 3 4 5 Stiffness constant k 5.0 5.0 5.0 5.0 5.0 Free length l 3.0 3.0 3.0 3.0 3.0 (Unit: N/cm for k, cm for lo) Table 45. Spring parameters closest to given spring parameters for numerical example 4.1.2. Spring No. 1 2 3 4 5 Stiffness constant k 4.8664 6.8783 3.8968 4.8990 6.2974 Free length l 4.3386 2.3374 5.0230 2.1667 4.0492 (Unit: N/cm for k, cm for lo) Two sets of the spring parameters, one in Table 43 and the other in Table 45, implement the given wrench and stiffness matrix. 4.1.3 Stiffness Modulation by Varying Spring Parameters and Displacement of the Mechanism In this case, different from the previous section, the pose of body A is not constrained as fixed. A change of the pose of body A, which is considered to be in contact with the environment, may be compensated by attaching body E to the end of a robot system and by controlling the position of the robot end effector in a similar manner as described in the Theory ofKinestatic Control proposed by Griffis (1991). As presented in the previous section there are nine values to be fulfilled: six from the stiffness matrix and three from the wrench equations. A typical planar parallel mechanism which has three couplings is investigated since the mechanism has nine control input variables which is same with that of values to be fulfilled: six from adjustable compliant couplings and three from the planar displacement between body A and body E. The target variables may be expressed in matrix form as B in Eq. (4.18) and control input variables U may be written in matrix form as U= [k,, k2, k3, o2l o2 Y3 o, O2 (4.25) where k's and lo 's are the spring constant and free length of ith compliant coupling, respectively. In addition, xo and y, are the position of point O in body A, which is coincident with the origin of the inertial frame E, and 0 is the rotation angle of body A with respect to ground. The stiffness matrix equations and wrench equations are highly nonlinear in terms of the displacement of the bodies as shown in Eqs. (4.9)(4.16). In this section a derivative of the target variables B with respect to input variables U is investigated and the derivative is used to obtain the small change of input variables for the desired small change of target values and it may be written as dB SB =B U (4.26) dU  SU_ d B) =SB (4.27) where SB = [K,, 1K, 1, 1K13, K 22, 8K32, K,33, 8f, f ]m ] (4.28) sU = [8k,, 8k,, k,3, 61,, 81o2, 5 1o, 3x", 8y0, 8]T (4.29) aB, aBj d (4.30) 3U iB9 'B9 For instance, 5B, can be written as dB dB1 =d 1 U dU  = 1 gk, + gk2+ 113k3+ 13 + 1 113 2 + 11o3 (4.31) ak, ak ak33 o2 o3 + 113x, + K y + a11 ax, ay, a> In Eqs. (4.9)(4.16) all elements of B were presented as functions of not U but Up which is defined as U, = [k,,k2, k3, 1o1, o2, ,/ 1, o 2, /3, 01, 0r2 3 ]T. (4.32) aKH1 aKl 1 anKj Hence among Eq. (4.31) and are not obtained from simple axo ayo a differentiation. Since B is a function of Up, dB1 can also be written as dB1 sB = s, dU  K 1Sk + + S k 11k3+ a1 l + aK 11 o2+ 11 o3 (4.33) 1ak, ak2 ak 3 1 a,2 3o3 + )K11051 al1 K 12 +2 aKl 13 +l / 1 a 001 + l a 521 2+ aK {9g 3 + 811 + "12 13 1 61 2+ 1 13, 1139 all a12 a3 a1 a02 a 3 In addition, /8, 's and 0,'s in Eq. (4.33) can be substituted with Eqs. (2.12) and (2.13) which is restated here as F3x l1, = (D o $ (2.12) go Tx0 T 7 3D 1 (2.13) /,ae, Is, y By the above substitution in Eq. (4.33) and collecting the coefficients according to each term of U 5B1 can be written as 5k, 3k2 SB =A11 a11 11 11 1 11 1 11 ak, ak2 ak3 1 o2 S3 o o 1 .(4.34) 3y, yo SdBi 1 dU  dB All terms of AB may be obtained in the same way in which 8B, was obtained and  dU dB can be derived by combining all d 's. dU A numerical example is presented. The mechanism shown in Figure 41 is in static equilibrium under the external wrench wex and the geometry information and the spring parameters are given below. The mechanism is assumed to have three compliant couplings. Table 46. Positions of pivot points for numerical example 4.1.3. Pivot points El E2 E3 Al A2 A3 X 0.0000 0.6000 2.5000 0.6000 1.4055 2.6736 Y 0.0000 0.8000 0.2000 4.5000 2.7447 3.3209 (Unit: cm) Table 47. Initial spring parameters for numerical example 4.1.3. Spring No. 1 2 3 Stiffness constant k 5.5 5.7 5.1 Free length o 4.8 3.1 2.0 (Unit: N/cm for k, cm for lo) The external wrench we and the initial stiffness matrix [K]I are calculated from the geometry of the mechanism and the spring parameters. wex =[2.0409 N 0.9263 N 12.8594 Ncm] 0.1679 N/cm [K] = 3.9107 N/cm 3.0360 N 3.9107 N/cm 14.9590 N/cm 12.9966 N The desired stiffness matrix [K]D is given below. 0.6679 N/cm 4.3107 N/cm [K]D= 4.3107 N/cm 15.4290 N/cm 3.2560 N 12.8766 N 3.9623 N 10.9558 N 25.9764 Ncm 4.1823 N 10.8358 N 26.3764 Ncm Since the difference between the desired stiffness matrix and the initial stiffness matrix is not small enough, the difference is divided into a number of small 5B 's and Eq. (4.27) is applied repeatedly to obtain the spring parameters and the displacement of body B which implement the desired stiffness matrix and the given wrench. The calculated spring parameters and the pose of body A are shown in Table 48 and Table 49 and the initial and final pose of the mechanism is shown in Figure 42. Table 48. Calculated spring parameters for numerical example 4.1.3. Spring No. 1 2 3 Stiffness constant k 6.2563 5.5311 5.1492 Free length l 5.4810 4.3584 3.1954 (Unit: N/cm for k, cm for lo) Table 49. Positions of pivot points in body A for numerical example 4.1.3. Pivot points Al A2 A3 X 0.8201 1.9165 3.0661 Y 5.2909 3.7010 4.4874 (Unit: cm) 6 5 Final pose S      '  tl ^ 0 4  Initial pose 3 2 3  i  1" 0 1 0 1 2 3 4 Figure 42. Poses of the compliant parallel mechanism for numerical example 4.1.3. 4.2 Variable Compliant Mechanisms with Two Parallel Mechanisms in Series In this section mechanisms having two planar compliant parallel mechanisms that are serially arranged as shown in Figure 26 are investigated. 4.2.1 Constraints on Stiffness Matrix The stiffness matrix of the mechanism was derived in Chapter two and restated as []=[KF R,L ([KF R,L +[KF R,UKM]R,U ) KF R,U. (2.54) Applying the constraint presented by Ciblak and Lipkin (1994), [KF]RL and [KF R, may be written as 11 12 13 [KF]R,L = K2 K K +f (4.35) KL +f, K3 K3 KU KF]4 KU [KF R,U = 13 + fy Kf K+ '2 K3 22 K32 + f KU KU 32 33 where wex = [fx, f, m is the external wrench. In addition, [KM ]R,U is a function of only the external wrench as shown in Eq. (2.46) which is restated as 0 0 // [K ]R, 0 0 / (2.46) f f 0 Plugging in Eqs. (4.35), (4.36), and (2.46) into Eq. (2.54) and carrying out a symbolic operation using Maple software shows 0 0 fy [K][Kr]= 0 /f f f o which is the same with Ciblak and Lipkin (1994)'s statement for compliant parallel mechanisms in planar cases. This result indicates that mechanisms having two planar compliant parallel mechanisms in a serial arrangement also contain only six independent variables. 4.2.2 Stiffness Modulation by using a Derivative of Stiffness Matrix and Wrench Since the stiffness matrix of the mechanism shown in Figure 26 is complicated and nonlinear in term of the spring parameters and the displacement of the rigid bodies, a derivative of the stiffness matrix and the static equilibrium equation is derived and applied for stiffness modulation of the compliant mechanism. The stiffness matrix elements and the wrenches may be written in matrix form as B = [K11,K, K1, K22,K K 3, K 3, m, f mfY," ] (4.37) (4.36) where wA = [f, fyA, mA and wB = [ ff, m are the wrenches from the compliant couplings connecting body A to ground and from the couplings connecting body B to body A, respectively. The spring parameters and the displacements of the rigid bodies may be written as U= [k, k, k,, k3, k4, ks, k6,1o2, o 3, 14 ,5 o6, x, ,A o xfB, YB OB T (4.38) where k's and /, 's are the spring constant and free length of ith compliant coupling, respectively. In addition, xA and yA are the position of point O in body A which is coincident with the origin of the inertial frame E and OA is the rotation angle of body A with respect to ground. x yB and qB are defined in the same way in terms of the inertial frame E. In chapter two the stiffness matrix and the wrenches were presented as functions of U which is defined as Up = [k,, k,, k2 k4 k4 2ol o2 o3 o4 o5 1o6' 11 2' 13, 4,5, 6 1, 2, 03, 04, 5, 6, 9 r r 3, 2,r3](4.39) where /, 's and 0, 's are the current spring length and rising angle of ith compliant coupling. In addition ,, and r,, are the pivot positions of ith compliant coupling in body A. A similar approach taken in the previous section is applied to get a derivative of the dB stiffness matrix and the wrenches : each element of B is differentiated with respect dU to Up and the terms not belonging to MU are substituted in the terms of U In other words, 681 's, 60, 's, 8r, 's, and 8r, 's are expressed in terms of the twists of the bodies. The coefficient of each term of MU corresponds to an element of the derivative matrix in an analogous way to Eq. (4.34). Since springs 4, 5, and 6 connect body A and ground, 81/ and 80, for i=4, 5, 6 can be written as Eqs. (2.12) and (2.13) which are 1, = $EA = T yf (2.12) ,T EDA T XOA 1 0 a,= 1 l Ayf (2.13) 1, a8 1, 8 0, A Springs 1, 2, and 3 join body B and body A and thus /81 and 368 for i=l, 2, 3 may be expressed as F3x0B 3xA ,l =$ A _DB T yoB yoA (4.40) 3x A xf O, = A3DB +A ,yI B yo + A (4.41) 1, 8, 0, B8 , Lastly rg,, 's, and 8r,, 's are the positions of the pivot point in body A and by using the twist equation it can be written as ~r 8x ~ 0 r~ = l yf + 0 x L (4.42) 0 0 8g 0 Now all terms in the differential of B are expressed in terms of MU and by writing it in matrix form gives dB B= 05U (4.43) dU dB where is 12 x 18 matrix. dU It is required to obtain the small change of input values MU corresponding to a small change of stiffness matrix and wrenches oB and since the number of columns of the matrix is greater than that of rows it is a redundant system. There are in general an infinite number of solutions and a variety of constraints may be imposed on the system. Since MU is the change from the current values, minimizing the norm of MU may be one of reasonable options. Then in a similar way to Eq. (4.22) Umin. may be obtained as SdB dB dB dB Umin =L dU L dU (Up) (4.44) n  Null Null U Null Null F dB 7 where MUp sol is a particular solution of Eq. (4.43) and Null is the null space of dB matrix (see Strang 1988). dU Body B is considered to be in contact with the environment and it may be required to preserve the pose of body B. It indicates that the twist of body B is equal to zero and can be written as XoB =0, yoB =0, 0B =0. dB We can implement it by removing the last three columns of and the last three rows dU of UT and solving the problems in a similar way to that of the previous problem since the system is still redundant. If both of the bodies are required to be stationary then the twists of the bodies should be zero and it may be written as xfo =0, Syo =0, OA = 0, xoB =0, SyB, =0, 6B =0. dB This can be implemented by removing the last six columns of and the last six rows dU of UT, and by solving the problem which is not redundant. 4.2.3 Numerical Example The geometry information and spring parameters of the mechanism shown in Figure 26 and the external wrench wex are given below. wet =[1.7N 2.5N 12.7N] Table 410. Spring parameters of the compliant couplings for numerical example 4.2.3. Spring No. 1 2 3 4 5 6 Stiffness constant k 5.0 5.0 5.0 5.0 5.0 5.0 Free length lo 3.0614 0.6791 2.3608 2.8657 0.7258 1.2732 (Unit: N/cm for k, cm for lo) Table 411. Positions of pivot points for numerical example 4.2.3. Pivot points El E2 E3 B1 B2 B3 X 0.0000 1.0000 3.0000 0.8000 0.4453 1.1965 Y 0.0000 0.8000 0.0000 4.5000 3.7726 4.6186 (Unit: cm) Table 411. Continued. Al A2 A3 A4 0.2000 1.1261 2.1646 1.2760 2.3000 1.8179 1.9252 2.6038 The initial stiffness matrix [K]I is calculated from the geometry of the mechanism and the spring parameters. 1.5992 N/cm 1.1571 N/cm 6.0650 N [K] = 1.1571 N/cm 5.7047 N/cm 7.7521 N 3.5650 N 9.4521 N 22.6794 Ncm The desired stiffness matrix [K]D is given below. 1.6442 N/cm 1.1921 N/cm 6.0230 N [K]D= 1.1921 N/cm 5.7417 N/cm 7.7931 N 3.5230 N 9.4931 N 22.6384 Ncm Since the difference between the desired stiffness matrix and the initial stiffness matrix is not small enough, the difference is divided into a number of small 8B 's and the problem is solved repeatedly to obtain the spring parameters and the displacements of body B and body A which implement the desired stiffness matrix. Three sets of spring parameters are obtained: one with no constraint on the displacements of body A and body B, another with body A fixed, and the other with body A and body B fixed. The calculated spring parameters are presented in Table 412, Table 413, and Table 414, respectively. In addition, the initial and final poses of the mechanism are shown in Figures 43 and 44. Table 412. Spring parameters with no constraint for numerical example 4.2.3 Spring No. 1 2 3 4 5 6 Stiffness constant k 5.5786 4.8852 5.5513 5.1865 5.1506 5.1505 Free length lo 2.5502 0.5084 1.9188 2.7939 0.8039 1.3746 (Unit: N/cm for k, cm for lo) Table 413. Spring parameters with body B fixed for numerical example 4.2.3 Spring No. 1 2 3 4 5 6 Stiffness constant k 6.3556 4.4317 5.9605 5.3306 5.5194 4.4334 Free length lo 3.0234 0.6588 2.6016 2.8192 0.6220 1.0270 (Unit: N/cm for k, cm for lo)  Initial pose Final pose 1 0 1 2 3 Figure 43. Poses of the compliant mechanism with 4      5 4 3 2 1  0 1 0 1 2 3 body B fixed.  Initial pose Figure 44. Poses of the compliant mechanism with no constraint. Table 414. Spring parameters with body A and body B fixed for numerical example 4.2.3. Spring No. 1 2 3 4 5 6 Stiffness constant k 12.3070 10.5719 6.9847 1.9411 4.9528 3.8741 Free length lo 2.6786 1.0769 2.5033 3.7435 0.7229 1.0333 (Unit: N/cm for k, cm for lo) The results indicate that there are greater changes of the spring parameters with more constraints imposed on the bodies. These control methods all require the inverse of dB dB dB d or [ ] depending on the constraint and it may cause a singularity dU dU d ,, problem. With more constraints the mechanism is more vulnerable to the singularity problem. CHAPTER 5 CONCLUSIONS The compliance of mechanisms containing rigid bodies which are connected to each other by line springs was studied. A derivative of the planar spring wrench connecting two moving bodies was obtained and then, through a similar approach, a derivative of the spatial spring wrench which is more general was obtained. It is obvious from Eq. (3.36) that the derivative of the spring wrench joining two rigid bodies depends not only on a relative twist between two bodies but also on the twist of the intermediate body in terms of the inertial frame unless the initial external wrench is zero. The derivative of the spring wrench was applied to obtain the resultant stiffness matrix of two compliant parallel mechanisms in a serial arrangement. The resultant stiffness matrix indicates that the resultant compliance, which is the inverse of the resultant stiffness matrix, is not the summation of the compliances of the constituent mechanisms unless the external wrench applied to the mechanism is zero which was generally accepted. The derivative of the spring wrench was also applied to acquire the stiffness matrix of planar springs in a hybrid arrangement and may be applied for mechanisms having an arbitrary number of parallel mechanisms in a serial arrangement. Planar mechanisms with variable compliance were investigated with the knowledge of the stiffness model obtained in the research. Adjustable line springs which can change their spring constants and free lengths were employed to connect rigid bodies in the mechanisms. Ciblak and Lipkin (1994) showed that the stiffness matrix of compliant parallel mechanisms can be decomposed into a symmetric and a skew symmetric part and that the skew symmetric part is negative onehalf the externally applied load expressed as a spatial cross product operator. It was shown through this research that the same statement is valid for the stiffness matrix of a mechanism having two compliant parallel mechanisms in a serial arrangement. In other words there are only six rather than nine independent variables in the stiffness matrix of planar compliant parallel mechanisms and in the stiffness matrix of a mechanism having two planar compliant parallel mechanisms in a serial arrangement. Derivatives of the stiffness matrices of planar compliant mechanisms with respect to the spring parameters and the twists of the constituent rigid bodies were obtained. It was shown that these derivatives may be utilized to control and regulate the stiffness matrix and the pose of the mechanism respectively at the same time by adjusting the spring parameters of each constituent coupling with or without the change of the position of the robot where the compliant mechanism is attached. Several future works are presented. The singularity conditions associated with the resultant stiffness matrix of compliant parallel mechanisms in a serial arrangement needs to be studied. This study will identify under what condition the mechanism collapses even with a small change in the applied wrench. It was required to solve a redundant system of linear equations to obtain the changes of the spring parameters and the twists of the bodies corresponding to a small change of the stiffness matrix and the resultant wrench of a compliant mechanism. There are in general an infinite number of solutions and the least square solution was chosen in 80 this research. A better solution may be selected by considering the following considerations: 1. The inverse of matrix dB dB dB  or  dU dU dU as of Eq. (4.43) is required to solve the dR dRT d R linear equations. Solutions close to singular cases of or should be dU dU dU avoided. The operation ranges of the spring parameters should be taken into account. Proper consideration should be given to singularities of the compliant mechanism. APPENDIX A MATLAB CODES FOR NUMERICAL EXAMPLES IN CHAPTER TWO AND THREE Matlab codes for the numerical examples in chapter two and three are presented in this appendix. Table Ai contains the function list and functions NuEx_21, NuEx_22, and NuEx 31 are main functions, and other functions are called inside these main functions. For instance, to get the result of numerical example 21, it is needed to call function NuEx_21 and other functions are placed in the same folder where function NuEx 21 is located. Table A1. Matlab function list. Function Name Description NuEx_21 Main function for numerical example 21 NuEx_22 Main function for numerical example 22 NuEx_31 Main function for numerical example 23 StaticEq21 Static equilibrium equation for numerical example 21 StaticEq22 Static equilibrium equation for numerical example 22 StiffMatrix Computes matrix [KF] GetKM Computes matrix [KM] SpringWrench Computes spring wrench GetPLine Computes Plucker line coordinates GetOriginVel Computes origin velocity from velocity of a point and angular velocity of a rigid body GetVelP2D Computes displacement of a point from twist GetGlobalPos2D Computes position of a point in terms of inertial frame in planar space GetGlobalPos3D Computes position of a point in terms of inertial frame in spatial space function NuEx 21 % Numerical example 21 % Test Stiffness Matrix of planar parallel mechanisms in series %========================================================= %====== GIVEN VALUES %Wext: External wrench %A : Coordinates of fixed pivot points %lb: Local coordinates of vertices of middle platform % the first 3 columns are coordinates of pivot points connected to lower % parts and the second 3 columns for upper parts %lt: Local coordinates of vertices of top triangle %lo : Free lengths of springs %k : Spring constants %========================================================= global Wext A lb It lo k %External wrench Weq=[0.01, 0.02, 0.03]'; %Coordinates of fixed points A [ 0.0, 1.5, 3.0 0.0, 1.2, 0.5 ]; %Local coordinates of vertices of triangles lb= [0, 1.0, 2.0, 0.0, 1.0,2.0 0, 1.7321, 0.0, 0.0, 0.5, 0.0]; t= [0, 1.0, 2.0 0, 1.7321, 0.0]; %Free lengths of springs lo = [5.0040, 2.2860, 4.9458, 5.5145, 3.1573, 5.2568]'; %Spring constants k= [0.2, 0.3, 0.4, 0.5, 0.6, 0.7]'; %Initial guess of positions and orientatins of the local coordinate systems Xo=zeros(6,1); Bo=[0.2, 5.0, 10.8*pi/180]'; To=[0.2, 10.5, 3.4*pi/180]'; Xo=[Bo;To]; % Find Xo %========================================================= options=optimset('fsolve'); optionsnew=optimset(options, 'MaxFunEvals',1256); % Option to display output Wext=Weq; [X error] = fsolve(@StaticEq_21, Xo, optionsnew); Xo=X; %Calculate the position of vertices of triangles Bo = X(1:3); To = X(4:6); B = GetGlobalPos2D(Bo, lb); T = GetGlobalPos2D(To, It); %Calculate initial wrenches W L I= zeros(3,1); W L I = WL_I + SpringWrench(A(:,l), B(:,1), k(1), lo(1)); W L I = WL_I + SpringWrench(A(:,2), B(:,2), k(2), lo(2)); WLI = WL_I + SpringWrench(A(:,3), B(:,3), k(3), lo(3)); W U I= zeros(3,1); W UI = W U I + SpringWrench(B(:,4), T(:,1), k(4), lo(4)); W UI = W U I + SpringWrench(B(:,5), T(:,2), k(5), lo(5)); WUI = W _UI + SpringWrench(B(:,6), T(:,3), k(6), lo(6)); %=========================================== % Calculate stiffness matrix kl=StiffMatrix(A(:,1), B(:,1), k(1), lo(1)); k2=StiffMatrix(A(:,2), B(:,2), k(2), lo(2)); k3=StiffMatrix(A(:,3), B(:,3), k(3), lo(3)); KFL = kl+k2+k3; k4=StiffMatrix(B(:,4), T(:,1), k(4), lo(4)); k5=StiffMatrix(B(:,5), T(:,2), k(5), lo(5)); k6=StiffMatrix(B(:,6), T(:,3), k(6), lo(6)); KF U = k4+k5+k6; k4_2 = GetKM(B(:,4), T(:,1), k(4), lo(4)); k5_2 = GetKM(B(:,5), T(:,2), k(5), lo(5)); k6_2 = GetKM(B(:,6), T(:,3), k(6), lo(6)); KM U = k4 2+k5 2+k6 2; K1 = KFL*inv(KF_L+KF_UKMU)*KFU; K2 = KFL*inv(KFL+KF U)*KFU; %=========================================== % Verify the results %======================================= [.000005,.000002,.000004]'; dW = [0.000005,0.000002,0.000004]'; % 1.Calculate twists D_EB_1 = inv(Kl)*dW; D_EB_2 = inv(K2)*dW; D_EA = inv(KFL)*dW; % 2.Get the position of the bodies Bo_W = GetVelP2D(DEA, Bo(1:2))+ Bo(1:2); BoW(3)= Bo(3)+DEA(3); B_F = GetGlobalPos2D(Bo W, lb); To W To W TF1 To W To W TF2 1 = GetVelP2D(DEB_1, To(1:2))+ To(1:2); 1(3)= To(3)+D_EB_1(3); = GetGlobalPos2D(To W_l, It); 2 = GetVelP2D(DEB_2, To(1:2))+ To(1:2); 2(3)= To(3)+DEB_2(3); = GetGlobalPos2D(To W 2, It); % 3.Calculate wrenches W L F = zeros(3,1); W L F = W L F + SpringWrench(A(:,l), B W LF = W L F + SpringWrench(A(:,2), B W LF = W L F + SpringWrench(A(:,3), B dW LF = W L Weq; F(:,1), k(1), lo(1)); F(:,2), k(2), lo(2)); F(:,3), k(3), lo(3)); WUF 1 WUF1= WUF 1= WUF1 dW U F 1 W UF 2 W UF 2= WUF 2= WUF 2= dWU F 2 zeros(3,1); W U F_1 + SpringWrench(B_ W U F_1 + SpringWrench(B_ W U F_1 + SpringWrench(B_ = WU F_1 Weq; zeros(3,1); W U F 2 + SpringWrench(B_ W U F 2 + SpringWrench(B_ W U F 2 + SpringWrench(B_ = WU F2 Weq; F(:,4), T F(:,5), T F(:,6), T F(:,4), T F(:,5), T F(:,6), T _1(:,1), k(4), lo(4)); 1(:,2), k(5), lo(5)); 1(:,3), k(6), lo(6)); 2(:,1), k(4), lo(4)); 2(:,2), k(5), lo(5)); 2(:,3), k(6), lo(6)); %===================================================== % Display the result K1, K2, D EB_1, DEB_2, D_EA, dW, dW L F, dW U F1, dWUF_2 %===================================================== function NuEx 22 % Numerical Example 22 % Test Stiffness Matrix of planar parallel mechanisms in hybird %=================================================== %====== GIVEN VALUES %Wext: External wrench %A : Coordinates of fixed pivot points %lb, Ic, Id : Local coordinates of vertices of intermediate triangle %lt: Local coordinates of vertices of top triangle %lo : Free lengths of springs %k : Spring constants global Wext A lb Ic Id It lo k %External wrench Weq=[0.1, 0.1, 0.2]'; %Coordinates of fixed points A= [ 1.67, 4.46, 13.3449, 14.6731, 8.23, 4.94 4.4333, 1.3964, 3.25, 6.84, 14.1400, 13.4943 ]; %Local coordinates of vertices of triangles lb = [0, 2, 1 0, 0, 1.7321]; Ic = lb; Id = lb; It = lb; %Spring constants k=[0.40 0.43 0.46 0.49 0.52 0.55 0.58 0.61 0.64]; %Spring free lengths lo = [2.2547,2.4014,2.3924,1.5910,1.8450,2.2200,1.7077,2.2695,1.8711]'; %Initial guess of positions and orientatins of the local coordinate systems Xo=zeros(12,1); Bo=[3.8, 4.8,39.8*pi/180]'; Co=[12.4, 4.5,76.5*pi/180]'; Do=[8.1, 12.4,202.4*pi/180]'; To=[7.0, 7.5,23.4*pi/180]'; Xo=[Bo;Co;Do;To]; %========================================================= % Find Xo Wext = Weq; options=optimset('fsolve'); optionsnew=optimset(options, 'MaxFunEvals',1256); % Option to display output [X error] = fsolve(@StaticEq_22, Xo, optionsnew); Xo=X; %Calculate the position of vertices of triangles Bo = X(1:3) Co = X(4:6) Do = X(7:9) To= X(10:12) B = GetGlobalPos2D(Bo, lb); C = GetGlobalPos2D(Co, Ic); D = GetGlobalPos2D(Do, Id); T = GetGlobalPos2D(To, It); %========================================================= %Calculate stiffness matrix using stiffness equation kl=StiffMatrix(A(:,1), B(:,1), k(1), lo(1)); k2=StiffMatrix(A(:,2), B(:,2), k(2), lo(2)); k3=StiffMatrix(B(:,3), T(:,1), k(3), lo(3)); k3_2 = GetKM(B(:,3), T(:,1), k(3), lo(3)); KK1_1 = (kl+k2)*inv(kl+k2+k3k3_2)*k3; KK12 = (kl+k2)*inv(kl+k2+k3)*k3; k4=StiffMatrix(A(:,3), C(:,1), k(4), lo(4)); k5=StiffMatrix(A(:,4), C(:,2), k(5), lo(5)); k6=StiffMatrix(C(:,3), T(:,2), k(6), lo(6)); k6_2 = GetKM(C(:,3), T(:,2), k(6), lo(6)); KK2_1 = (k4+k5)*inv(k4+k5+k6k6_2)*k6; KK2 2 = (k4+k5)*inv(k4+k5+k6)*k6; k7=StiffMatrix(A(:,5), D(:,1), k(7), lo(7)); k8=StiffMatrix(A(:,6), D(:,2), k(8), lo(8)); k9=StiffMatrix(D(:,3), T(:,3), k(9), lo(9)); k9_2 = GetKM(D(:,3), T(:,3), k(9), lo(9)); KK31 = (k7+k8)*inv(k7+k8+k9k9_2)*k9; KK3 2 = (k7+k8)*inv(k7+k8+k9)*k9; K1 =KK1 1+KK2 1+KK3 1; K2 =KK1 2+KK2 2+KK3 2; % Verify the result %============================================ dD = zeros(3,1); dW = [0.00005,0.00002,0.00003]'; Wext=Weq+dW; [X error] = fsolve(@StaticEq_22, Xo, optionsnew); dDP = X(10:12)To; dD(1:2) = GetOriginVel(dDP, To(1:2)); dD(3)=dDP(3); K1 dD= Kl*dD; K2 dD = K2*dD; %============================================ % Display the result K1, K2, dW, dD, K1 dD, K2 dD %============================================ function NuEx31 % Numerical example 3.1 % Test Stiffness Matrix of spatial parallel mechanisms in serial %============================================ %====== GIVEN VALUES %Wext: External wrench %A : Coordinates of fixed pivot points %lbL, lb_U: Local coordinates of vertices of middle platform %lt: Local coordinates of vertices of top triangle %loU, loL : Free lengths of springs %kU, kL : Spring constants %============================================ %Extemal wrench Weq=[ 0.3, 0.4, 0.8, 2.3, 1.3, 0.7 ]'; %Coordinates of fixed points A =[ 0.0, 1.3, 0.6, 0.7, 1.1, 0.5 0.0, 1.1, 2.7, 2.6, 1.8, 0.4 0.0, 0.2, 0.1, 0.1, 0.3, 0.1]; %Local coordinates of vertices of triangles lbL = [ 0.0, 1.0, 0.3, 0.8, 1.3, 0.4 0.0, 0.9, 2.3, 2.2, 1.4, 0.5 0.0, 0.1, 0.2, 0.1, 0.2, 0.1 ]; lb_U= [ 0.0, 1.3, 0.6, 0.7, 1.1, 0.5 0.0, 1.1, 2.7, 2.6, 1.8, 0.4 0.1, 0.2, 0.25, 0.1, 0.12, 0.15 ]; It = [0.0, 1.2, 0.5, 0.6, 1.0, 0.3 0.0, 1.2, 2.3, 2.4, 1.3, 0.5 0.0, 0.1, 0.1, 0.1, 0.1, 0.2]; %Spring constants k_U = [4.6, 4.7, 4.5, 4.4, 5.3, 5.5]'; k_L = [4.4, 4.9, 4.7, 4.5, 5.1, 4.8]'; %Positions and orientatins of the local coordinate systems %Rotation angles are Euler angles (321) Xo=zeros(12,1); B_Po=[0.2, 1.2, 3.2]'; B_R=[1.2*pi/180, 5.0*pi/180, 1.8*pi/180]'; T_Po=[0.3, 1.6, 5.5]'; T_R=[0.4*pi/180, 8.5*pi/180, 3.8*pi/180]'; Xo=[B_Po;BR;T_Po;T_R]; Xo I = Xo; %Convert local coord. to global coord. B_L = GetGlobalPos3D(BPo, B_R, lbL) B_U = GetGlobalPos3D(B Po, B_R, lb U) T = GetGlobalPos3D(TPo, T R, It) % Plucker line coordinates(or Jacobian) and lengths of all springs %============================================== JSU=zeros(6,6); JSL=zeros(6,6); l_U=zeros(6,1); l_L=zeros(6,1); loU=zeros(6,1); loL=zeros(6,1); F_U=zeros(6,1); FL=zeros(6,1); for i=1:6 [JS U(:,i), 1_U(i)] = GetPLine(B U(:,i), T(:,i)); [JSL(:,i), l_L(i)] = GetPLine(A(:,i), B_L(:,i)); end % spring forces F_U = inv(JS U)*Weq; F_L = inv(JSL)*Weq; %================================================= % spring free lengths for static equilibrium of the platform for i=1:6 lo U(i)=l U(i)F U(i)/k U(i); loL(i)=1 L(i)F L(i)/k L(i); end loI = [loU; loL] %================================================= % Check wrench W_L I= zeros(6,1); W U I= zeros(6,1); for i=1:6 WLI = WL_I + SpringWrench(A(:,i), B_L(:,i), kL(i), loL(i)); WUI = W U I + SpringWrench(B U(:,i), T(:,i), k U(i), lo U(i)); end %================================================= %Calculate stiffness matrix using stiffness equation KFU = zeros(6,6); KFL = zeros(6,6); KMU = zeros(6,6); for i=1:6 KFU = KFU+StiffMatrix(BU(:,i), T(:,i), k U(i), lo U(i)); KFL = KFL+StiffMatrix(A(:,i), BL(:,i), kL(i), loL(i)); KMU = KMU+GetKM(BU(:,i), T(:,i), k U(i), lo U(i)); end K1 = KFL*inv(KF_L+KF_UKMU)*KFU; K2 = KFL*inv(KF L+KF U)*KF U; 