UFDC Home  myUFDC Home  Help 



Full Text  
NUMERICAL ANALYSIS OF A REDUNDANT COMPLIANT SPATIAL MECHANISM By JEANFRANCOIS AJIT KAMATH A THESIS PRESENTED TO THE GRADUATE SCHOOL OF THE UNIVERSITY OF FLORIDA IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE DEGREE OF MASTER OF SCIENCE UNIVERSITY OF FLORIDA 2005 This dissertation is dedicated to my parents for their support and patience through the years and to Dr. Carl D. Crane III for his guidance and invaluable input. It is also dedicated to my uncle and aunt for their insight and experience. ACKNOWLEDGMENTS The author acknowledges the Center for Intelligent Machines and Robotics at the University of Florida for providing a research assistantship in addition to the resources and faculty that enabled completion of this project. The Department of Energy is also acknowledged for its support via grant to the University of Florida. TABLE OF CONTENTS A C K N O W L E D G M E N T S ................................................................................................. iii LIST OF TABLES ....................................................... ............ .............. .. vii L IST O F FIG U R E S .............. ............................ ............. ........... ... ........ viii ABSTRACT .............. ................. .......... .............. xi CHAPTER 1 IN TRODU CTION ................................................. ...... ................. 2 GENERAL CONTROL STRATEGY ................................... .....................................4 G eneric C ontroller D esign ........................................................... .............4 D ecoupling the L egs ......................................... .............. .. ........ .. .. Other A ssum options ....................... .... ............................................. .6 3 NUMERICAL FORWARD ANALYSIS ............... .......................................... 7 Numerical vs. Analytical: Similarities in Approach................. ............ ... .............7 Geom etric Constraints ........................................... .. ........ .................. .7 Previous Positioning .................. .............................. .. .... ... .. .......... G general N um erical Solution ........................................ ................................. 8 Error Function ................................................... ............... Jacobian M atrix and Its Applications ................................. ......................10 Wrenches ................ ......... ........ ......... 10 Jacobian matrix formulation ...... .............. ...............11 Correctional Function .................. .... ....................... .. ........12 Application and Results for the Numerical Forward Analysis................................15 Planar 22 + 1 Truss Platform ........................................ ......... ............... 15 G uess close to solution ................................................... ........ .......17 Guess far from solution ........................ ................................................... 18 Over Constrained 33 + 1 Spatial Mechanism .......................................... 19 Modified 33 + 1 Spatial Mechanism.............. ......................... .............. 20 Final Com m ents and Conclusions ........................................ ......................... 22 4 CONTROLLER DESIGN AND IMPLEMENTATION ................. ....................23 Separating the D O F ............................................... ........................ .... ........... .. 23 Simplified System Model and Controller Implementation...........................25 Final Thoughts ....................................................... ............ ......... 27 5 APPLICATION TO A PLANAR MECHANISM ..................................................28 System D description and Sim ulation M odel ........................................ .....................28 System Parameters and Performance Criteria ................................. ................ 30 R esu lts of T testing .................................................................. ............... .. 3 1 R u n 1 ...........................................................................................3 2 R u n 2 .............................................................................3 4 R u n 3 .............................................................................3 6 R u n 4 .............................................................................3 8 Final C om m ents................................................... 40 6 SPATIAL MECHANISM AND ADDITIONAL CONSIDERATIONS FOR CON TROLLER DESIGN ............................................... ............... 42 G general Sy stem D description ................................................................................. 42 M modifications to C control Strategy .............. .. ............................. .............. 44 Compensating for Compliance and OverConstraint .......................................44 Coordinate System Conversion ....................................................... 45 7 DECOUPLING COMPLIANT ELEMENTS FROM LEGS ....................................48 L eg M o d el .......................................................................................................4 8 Free B ody D iagram and E O M ........................................................................ ...49 Performance of the Decoupling Controllers .............. .........................................50 R results of Testing .. ............................................... ................. 53 Lim stations of Controller U sage .............................................. ......... ...... 54 8 MINIMUM ENERGY OPTIMIZATION ....................................................56 Potential Energy: General Form and Reasoning ...................................... ......... 56 ForceTorque State and Equations........................... ............... ............... 57 F final C om m ents.................................................... .. .. ...... ....... .... .. ..59 9 RESULTS OF TESTING ON THE SPATIAL MECHANISMS............................61 M option s in Single D O F ...................................................................................6 1 Z A x is D isplacem ent..................................................................................... 62 Z A xis R rotation ........................................... ........................... .................64 YAxis Displacem ent ............. ..................... ......................................66 Y A xis R otation................................................... ............... ............... 68 X A xis D isplacem ent ................................. ............................ ............. 70 X A xis R rotation .............................................................................. 72 M otion s in M multiple D O F ........................................ ............................................74 XY Displacem ent .................. .......................... .... .... ................. 74 v X Y Z D isplacem ent ........................................ ............................................76 X Y Z R rotation .............................. .... ....................... ... ...... .... ..... ...... 78 Full 6 D O F M option ...... ......................... ..... ........ ..... .. ........ .... 80 M odified Spatial M echanism ........................................................... ............... 81 10 FINAL COMMENTS AND FUTURE WORK ......................................................84 APPENDIX A SY STE M D IA G R A M S ................................................................... .....................85 B MATLAB CODE NEEDED FOR SIMULATIONS ..............................................94 L IST O F R E F E R E N C E S ......... ................. ................................................................ 112 BIOGRAPHICAL SKETCH .............. .......................... 113 LIST OF TABLES Table p 31 Results of numerical forward analysis for planar mechanism with the guess close the solution................................................................ ........18 32 Forward analysis for planar mechanism with the guess far from the solution.........18 33 Results of forward analysis for the redundant spatial mechanism...........................20 34 Results for testing of numerical forward analysis for the modified spatial m mechanism ............................... ................................. .......... 22 51 R results of R un 1. ................................................... .... ...... ...........34 52 R results of R un 2. .......................... ................ ........ ...... .............. .. 36 53. Results of Run 3 ................ .... ........................ ...... .................. .......... 38 54 Results of Run 4. ................................................. ... ....... .. ...... ... 40 LIST OF FIGURES Figure page 21 Block diagram representation of a classical feedback controller..............................4 31 Illustration of line of action and applied wrench relative to point A. ....................10 32 Effect of change in leg length on positioning of the end effector..........................13 33 Effect of change in leg length on orientation of the end effector ..........................13 34 Planar truss m mechanism ...................................... ............ .................................. 16 35 Spatial 33 + 1. Note that the upper triangle represents the end effector ...............19 36 M modified Spatial 33 + 1 .................................. ........................................21 41 End effector and forces acting upon it. The netwrench is shown as W ...............24 42 Block diagram for a single mass system. ..................................... ............... 25 51 Planar truss mechanism with asymmetry. ..................................... ...............28 52 System model created in Simulink, representing the planar truss mechanism. .......29 53 Xdisplacement of endeffector for first run. ................................ .................32 54 Ydisplacement of endeffector for first run. ................................ .................33 55 0displacement of endeffector for first run. ................................ .................33 56 Xdisplacement of endeffector for second run......................................................35 57 Ydisplacement of endeffector for second run......................................................35 58 0displacement of endeffector for second run.................................................36 59 Xdisplacement of endeffector for third run. .................................. ...............37 510 Ydisplacement of endeffector for third run. .................................. ...............37 511 0displacement of endeffector for third run. ................... ........................ 38 511 Xdisplacement of endeffector for fourth run ................. .............................. 39 512 Ydisplacement of endeffector for fourth run ................. .............................. 39 513 0displacement of endeffector for fourth run.................................................... 40 61 Layout of the spatial mechanism and connection points. The base is larger than the end effector, which is centered above the base triangle.................. ................43 62 The control block used in the spatial mechanism................................ ...............47 71 Generic model of a leg containing compliant elements. ........................................48 72 Free body diagram of the actuator mass with reactionary forces from the springs an d d am p ers................................. .......................................................... .... 4 9 73 Controller for the leg actuator. ............................................................................ 50 74 Overview of leg model. This shows the primary controller and a representation of the entire leg, including compliant elements. ................... ............................. 51 75 The actual leg m odel itself. .............................................. ............................ 52 76 Controller for decoupling the compliant portion of the leg .................................53 77 Results of testing both with and without the decoupling controller......................54 91 Motion of the mechanism along the ZAxis..........................................................62 92 Motions in the other DOFs. (a) Y and X axes. (b) Rotations about the primary ax e s .......................................................................................... . 6 3 93 Rotation of the mechanism about the ZAxis .......................................................64 94 Motions in the other DOFs. (a) Disturbance of Z, Y, and X axes. (b) Rotations about the Y and X axes. ................................................ ............................... 65 95 Motion of the mechanism along the YAxis. ..........................................................66 96 Motions in the other DOFs. (a) Disturbance of Z and X axes. (b) Rotations about the Z, Y and X axes. ............................. ........ ... ...... .. ...... ...... ...... 67 97 Rotation of the mechanism about the YAxis. .....................................................69 98 Motions in the other DOFs. (a) Disturbance of Z, Y, and X axes. (b) Rotations about the Z and X axes. ................................... ............ ............... ............. 70 99 Motion of the mechanism along the XAxis. ..........................................................71 910 Motions in the other DOFs. (a) Disturbance of Z and Y axes. (b) Rotations about the Z, Y and X axes. ............................. ........ ... ...... .. ...... ...... ...... 72 911 Rotation of the mechanism about the XAxis. ....................................................72 912 Motions in the other DOFs. (a) Z, Y, and X axes. (b) Rotations about the Z and X ax es. ............................................................................... 73 913 Motion of the mechanism along the X and Y axes. ...............................................75 914 Motions in the other DOFs. (a) Z and Y axes. (b) Rotations about the Z, Y, and X ax es. ............................................................................... 76 915 Motion of the mechanism along all three axes ....................................................77 916 Rotations about the Z, Y, and X axes.................................... ........ ............... 77 917 Rotation of the m echanism about all axes............................................................ 79 918 Rotation of the mechanism about all axes, albeit with a smaller commanded m option ...................................... ...................................................... 7 9 919 Motion of the mechanism along the primary axes. ...............................................80 920 Rotations about the prim ary axes. ......................................................................81 921 New platform configuration with modified connection point .................................. 82 922 Rotations about the prim ary axes. ......................................................................83 Ai Top level of planar m echanism ............................................................................85 A2 Inside the leg subsystem for the planar mechanism..........................................86 A3 Inside the control block for the planar mechanism. The three PID controllers are clearly visible and act independently of one another. ............................................87 A4 Top level of the spatial mechanism model................................... .................. ....88 A5 Inside the leg subsystem of the spatial mechanism...............................................89 A6 The control block for the spatial mechanism. .................................. ...............90 A7 Top level of compliant leg m odel. ........................................ ....................... 91 A8 Inside the com pliant leg m odel. ........................................ ......................... 92 A9 The decoupling controller for the compliant leg model.................... ...............93 Abstract of Thesis Presented to the Graduate School of the University of Florida in Partial Fulfillment of the Requirements for the Degree of Master of Science NUMERICAL ANALYSIS OF A REDUNDANT COMPLIANT SPATIAL MECHANISM By JeanFrancois Ajit Kamath August 2005 Chair: Carl D. Crane, III Major Department: Mechanical and Aerospace Engineering This thesis presents the development and testing of a generalized controls strategy that was applied to a redundant spatial mechanism. Three systems were analyzed: a planar, nonredundant, noncompliant mechanism, a redundant, compliant spatial mechanism, and a modification of the spatial mechanism which changed the configuration slightly. The planar mechanism was used to verify the controls strategy and general approach. The modified spatial mechanism was used to investigate the effects that changes in geometry would have on rotational performance. Simulations of the systems and their controllers were performed in MATLAB 6.5 using SimuLink and the SimMechanics package. A numerical forward analysis was developed as a flexible and simple solution to the problem of position determination. This analysis can be readily adapted to virtually any parallel mechanism, regardless of configuration or number of legs. Control of the mechanisms was accomplished by calculating the net wrench that needed to be applied to the end effector, then performing a conversion to determine the required forces in the individual actuators that will generate the desired motion. The controls strategy worked well, effectively decoupling the motions of the system along its various degrees of freedom. While the coupling could not be completely eliminated, the disturbances that resulted were extremely small and had little to no impact on system performance. A method was developed to decouple the compliant elements from the legs, allowing a wide range of leg masses, spring rates, and damping rates to be used in conjunction with the controls strategy that was implemented. This research demonstrated that even relatively simple methods can be used to effectively control highly cross coupled systems. It also showed that an effective process for developing a controller is to separate the system into smaller pieces that can be analyzed easily. Creating a modular controller is a versatile approach to solving a wide range of problems. Finally, this project revealed that redundancy in a parallel mechanism may be highly desirable as it can dramatically improve the performance of the system by expanding the useable workspace. CHAPTER 1 INTRODUCTION Research into control of parallel mechanisms is an ongoing process that still presents many challenges due to the dynamic nature of the systems. The main goal of this project was to develop a generalized control methodology to investigate the dynamic response of an overconstrained, spatial mechanism that contained compliant elements. The system was a modified 33 mechanism that incorporated an additional central leg for potentially added stability. Motion was generated using force actuators that were integrated with the controllers. The basis for many of the analyses in this project came from Duffy [1], Crane and Duffy [2], and BaigesValentin [3]. The first reference, Statics and Kinematics ln /i Applications to Robotics, focused on the analysis of planar mechanisms in both static and dynamic situations, including configurations requiring compliance. It served as a valuable resource when considering force applications. Kinematic Analysis ofRobot Manipulators was indispensable since it laid out all of the methods for position analysis of parallel mechanisms as well as providing the force convention used to determine the behavior of the systems. Forward and reverse analyses for both serial and parallel mechanisms were explained and were critical in development of the positional analysis in this project. The application of forces and wrenches to bodies and platforms, as discussed in this text, were needed for the proper development of the controllers. Dynamic Modeling ofParallel Manipulators investigated the creation of a generic, compliant leg model and analysis of its dynamic behavior. The paper laid out several simplifications and adjustments to the model that were applicable to the compliant elements in this project, and enabled development of the decoupling controllers, as discussed later. Lee et al. [4], Zhang et al. [5, 6], Lee [7], and Zhang [8] investigated the quality indices and inverses of the line matrices of various parallel mechanisms. They showed that behavior of parallel systems can only be effectively predicted and controlled within a limited workspace due to the development of linear dependence amongst the legs. Beyond a certain range, these mechanisms become "illconditioned", making them very difficult to control as they approach singularity configurations. Geometric Analysis of Parallel Mechanisms investigated several parallel mechanisms with varying degrees of freedom. It discussed limitations of the systems and performed singularity analyses, once again showing restrictions on mobility of this class of devices. Tyler [10] and Abbasi et al. [11] looked at force control applications for parallel mechanisms and investigated the use of compliance to facilitate the process. They applied PID controllers to the systems and showed that even the simple control scheme could be used effectively. This was part of the inspiration for the control strategy implemented in this project. This thesis is divided into several key sections that progress from general approaches to specific applications. While several systems were analyzed, most served to test specific aspects of the overall controls approach that was applied to the primary spatial mechanism. Chapter 2 discusses the general approach to designing the controllers and critical assumptions and considerations for the systems that were analyzed. In Chapter 3, the numerical forward analysis, critical for positioning information, is developed and tested. Chapter 4 goes into the specifics of designing the controllers for a generic parallel mechanism without compliance. Chapter 5 shows a specific application of this controls approach to a planar mechanism as a proof of concept. Chapter 6 introduces the full spatial mechanism, along with compliant elements and discusses additional considerations for controller development. Chapter 7 develops a method for decoupling the compliant elements from the system so that the mechanism will respond similarly to the noncompliant systems. Chapter 8 shows how the obstacle of over constraint was solved to enable proper application of the control forces. Chapter 9 discusses the results of testing on the spatial mechanism, as well as a slight modification of the system configuration. Finally, Chapter 10 presents final thoughts and areas with future research potential. CHAPTER 2 GENERAL CONTROL STRATEGY Control of a parallel mechanism is a fairly complicated task since the behaviors of the legs are highly crosscoupled by nature. This necessitates certain simplifications to the analysis of the kinematics and dynamics of the system. This chapter discusses the general approach and assumptions made in the design of the controllers for the mechanisms analyzed. Some of the potential errors that could be introduced into the systems due to those simplifications will also be examined. Generic Controller Design Any feedback controller follows a basic format that consists of several parts: * Gather information on the current behavior of the system. * Compare this to the desired behavior. * Calculate and apply corrections to the system. 1 +^Q  PID   ) tant PID Conll Transfer Fcn Spe Figure 21. Block diagram representation of a classical feedback controller. A generic controller is depicted in Figure 21. While this is a very simple concept that is familiar to all engineers, it highlights a key consideration when designing any controller: What information do you need to record and how do you obtain it? In the case of the mechanisms analyzed in this project, information on the current positioning of the system is critical. However, gathering this data is not trivial in many circumstances. The raw data that could be most easily gathered for the parallel mechanisms was the lengths of the legs. One might remember the discussion in Chapter 1 about the limitations of parallel mechanisms, more specifically regarding the nature of forward analyses. Parallel manipulators can be especially bothersome when attempting to perform a forward analysis due to the mathematical complexity and the potentially large number of solutions. Since one of the objectives of this research was to develop a flexible control strategy that could be easily adapted to many devices, an analytical forward analysis became unreasonable. As a result, an extremely powerful, highly adaptable numerical approach was created to overcome this obstacle. The numerical analysis strategy is discussed in Chapter 3. Decoupling the Legs One of the biggest hurdles when designing the controllers was effectively decoupling the legs from each other. A simplification that is often used with parallel devices is the assumption that the masses and inertias of the legs and actuators are extremely small as compared with the mass and inertia of the end effector. The primary advantage of this technique is the reduction of the system to a single object, making the behavioral analysis far easier. However, as the masses of the other components increase with respect to the end effector, errors in the analysis become more apparent. This naturally brings up the question of, "What is small?" Unfortunately, the answer depends on the system in question as well as the application. To minimize errors, the models used leg masses that were five to seven orders of magnitude less than that of the end effector. Other Assumptions Several other assumptions were made during the course of the project: * The first and probably most important was that the effects of the cross coupling would be essentially eliminated by setting the leg masses to low values. The geometric crosscoupling was considered to be negligible during controller design. * The actuators were modeled to have "perfect" behavior and therefore have no contribution to errors in the system. Perfect behavior assumes instantaneous response to control inputs with no error in the response of the component. * Springs and dampers were assumed to be ideal, linear components with no degradation in performance regardless of conditions. * All bodies in the system were considered rigid. Any flexible elements were modeled as multipart components. This is discussed in detail in Chapter 7 CHAPTER 3 NUMERICAL FORWARD ANALYSIS Developing a generalized, numerical forward analysis for parallel mechanisms was a challenging, but highly rewarding experience. What developed was a novel approach that was extremely flexible and easily adaptable to the analysis of virtually any parallel system, regardless of configuration or number of legs. Numerical vs. Analytical: Similarities in Approach As discussed in Chapter 1, any analytical, closedform solution to the forward positioning problem of a parallel mechanism is a tedious and rather complicated process. The more flexible the solution, the more complicated the mathematics behind it must be. However, the numerical approach closely follows the logic of the analytical solution in a couple of respects. Geometric Constraints The first considerations in any forward analysis are the physical constraints and limitations of the system. The relative positions and sizes of the components as well as their possible motions all must be satisfied in the solution. This is the most important restriction that inherently limits the solutions, both analytical and numerical. Previous Positioning Since the goal of the forward position analysis is to determine the current positioning of the system to feed into the controller, only one valid answer exists to the question of "Where am I?" These platforms generally do not move at extreme speeds so it is safe to assume that at a high enough sampling rate, the current positioning of the end effector will be relatively close to its configuration at the previous sample. This means that we can use the previously known position information to determine which solution is correct. In the case of analytical approaches, this simply selects the proper solution from all possibilities. The numerical method instead used the previous positioning as a guess at the solution and then homes in on the correct answer. General Numerical Solution Any typical numerical solution to a problem involves minimization of some error function that describes how close the solver is to the desired answer. Corrections to the guess are made based on some relevant algorithm or set of equations, eventually leading to an answer that is within a specified range of the true results. For the numerical forward analysis of any parallel platform, three things are needed: a guess at the current positioning, an error function based on the actual positioning, and a correctional function that will allow the solver to home in on the proper solution. As mentioned earlier, the initial guess at the current positioning is set as the known positioning at the previous controller update. The error function is also relatively simple in form and application and is discussed below. The correctional function is the most important piece of this approach and requires a certain amount of background in the use and formulation of Jacobian matrices. As a result, an entire section is devoted to the explanation of the correctional function. Error Function To formulate the error function, one must determine what information is available. In the case of the numerical forward analysis, this data consists of the measured leg lengths, the current guess at positioning, and the geometry of the platform. The error in the system is defined as the error in leg lengths between the current guess and the actual solution. The positioning information consists of a sixelement vector that describes the location of the end effector and its orientation relative to the global coordinate system. The lengths of the legs at the guess can be readily determined using a reverse positioning analysis. The error in the solution can then be calculated as shown in equation 3.1 for a system with n legs. x Y L1,guess guess guess 2,guess 1x, (3.1) Oy n,guess 0, Error = Lactual Lguess One will notice that the error is not simply defined as the sum of the squares of the individual leg errors, but rather it is a vector that contains as many elements as there are legs in the system. As a result, use of this error in correctional calculations will inherently consider the geometric constraints of the entire system, as opposed to just the primary axes. This has the advantage of making the analysis of over constrained mechanisms relatively straightforward. Another advantage of the numerical approach is that it tends to correct for the slight errors in measurements that will be present in any system. Since the solver is trying to get "close" to the correct solution, the input data does not have to be perfect to get a good guess. This especially holds true in overconstrained systems, where more measurements are taken than are needed to find the right answer. A small error in measurement of one or two elements will not ruin the calculations, inherently making this approach far more robust than a closedform solution. The next section looks at the Jacobian matrix and how it can be used in conjunction with the error to form a correctional term. Jacobian Matrix and Its Applications This section discusses the nature of the Jacobian matrix and its applications in both forcetorque calculations, as well as positioning analyses. Before the actual use of the Jacobian in the forward analyses can be shown, a brief description of the derivation and meaning of the Jacobian matrix is necessary. This section also has relevance in later chapters regarding controller design and calculations. Wrenches When performing forcetorque calculations for a parallel manipulator, one must know the forces applied in each leg actuator, as well as how these forces will contribute to the net wrench applied by the end effector.1 Each leg actuator applies its force along a line that runs along the axis of its leg as shown in Figure 31. Figure 31. Illustration of line of action and applied wrench relative to point A. 1 An excellent reference on position and force analyses for robots is Kinematic Analysis ofRobot Manipulators [2]. The force that each actuator applies to the top platform can be described in terms of the line of action and the force acting along that line. The net summation of all leg forces acting on the top platform can be represented by a dyname (a force applied along a particular line of action together with a moment) or by a wrench (a force acting along a specific line of action whereby the direction of the accompanying moment is parallel to the direction of the force). The line of action is a 6x1 vector consisting of two parts: * A 3element unit vector indicating the direction of the line. * A 3element vector that is based on the relative positioning of the line to some reference point. This is obtained by taking the cross product of the moment arm and the direction vector as $ = (3.2) where r is the vector from the origin of the reference coordinate system to any point on the line. Jacobian matrix formulation Calculating the net wrench applied to a body by a group of forces is a relatively simple process. The overall wrench applied by a collection of forces can be described as the summation of these forces as F, F, FnetFnet = +F +..+F2 + Fn $n = 1 $2 n$ 2 =[ . F(3.3) [J] [ $2 $n I .2 Sn r xs r 2xs2 ... r S for a system with n legs. Here the notation Fi is used to represent the magnitude of the force along leg i and $i is used to represent the length 6 vector that represent the coordinates of the line of action of the force. One can see that the Jacobian, J, is a 6xn matrix whose columns are the coordinates of the lines of action of the forces applied to the top platform. This is a clear indicator that the Jacobian matrix contains all of the information about the configuration of the system since the relative orientations and positions of the legs are incorporated. Logically, the Jacobian matrix, or some derivation of it, could be used in the numerical forward analysis. Correctional Function Now that the physical meaning of the Jacobian matrix is understood, the correctional function can be written. A slight modification of the Jacobian is introduced and will be explained shortly. This modified Jacobian will be multiplied by the error term explained earlier to form an adjustment to the guess at the current positioning. Equation 4 shows the modified Jacobian in a generic format that incorporates n legs. S, s, ... Sn [JIdioded= r x s, r2 x s2 r x (3.4) Lguess 2,guess n,guess One will notice that the modified Jacobian is very similar in form to the original except that the bottom rows, representing the torsional contributions of the legs, have been scaled by the lengths of those legs. Visualizing how the correctional guess actually works is critical in understanding why the scaling is necessary. Let us consider a single leg and how modifying its length will affect the system state for a planar mechanism. Figure 32 shows how changing the length of a single leg will impact the positioning of the platform by causing a displacement along that leg's line of action. Likewise, Figure 33 shows the impact that a change in leg length will have on the rotation of the platform. The platform will rotate about an axis perpendicular to the plane formed by the line of action of the leg and the moment arm of that leg. The amount of rotation is dependent on the magnitude of the change and the relative orientation of the leg with respect to the platform. Figure 32. Effect of change in leg length on positioning of the end effector. Figure 33. Effect of change in leg length on orientation of the end effector. Changing the length of any single leg attempts to move the platform along the line of action of that leg. When all of the legs act together, some of the motions will cancel out while others work together, leading to a net movement in a particular direction. The orientation of the platform is affected similarly by the changes in length. Each leg will attempt to rotate the end effector about an axis perpendicular to the plane formed by itself and its moment arm. Scaling the torsional component by the change in length of the leg is necessary since this process looks at the rotational changes in the system. Essentially, the required change in length of the leg can be considered as a change in the rotational strain of the leg when scaled by the overall length. \r S \l (LLguess) rxs LL )={rxsLL ={rkxs}e S(L guess Lg (3.5) guess guess E Leg Strain Another way to look at the rotational components is to consider the convergence of a change in leg length as that change becomes smaller. The change in length is very similar to sin(O) in a small angle approximation, implying a predictable correlation between length and rotational effects. However, the change in length cannot be used directly since it does not take into account the relative effect on the leg in question. Any particular change will have a noticeably greater impact on a system with a very short leg as compared with a longer leg. By scaling each component of the Jacobian, the impact of each error correction is scaled to compensate for the relative effects of the individual legs. The only reason that the bottom rows in the Jacobian are scaled instead of scaling the error vector is for efficiency of calculation. It avoids the issue of two separate calculations that would then require the results to be recombined into a single vector. The next step is to calculate the correction to the guess at positioning using Equation 6. APg..ue [J]modfied (L Lgue, ) (3.6) The scaling term t was included in the APguess calculation to improve the efficiency of the solver. Depending on the system, the solver may take extremely small or large steps when trying to find the proper solution. This can either cause the program to slow down considerably, or possibly even overshoot the solution and never converge. The scaling term allows the program to adjust the size of the step to ensure rapid convergence on a solution. This term may need to be found empirically, but at times it is quite necessary, such as when dealing with over constrained mechanisms. The next section shows application of this solver to three different systems that were analyzed in this project. Only the basic geometry of the mechanisms will be described since a more detailed explanation of the particular systems will be given in their respective chapters. Application and Results for the Numerical Forward Analysis The application of the solver to three systems will be discussed in this section. The first is a planar mechanism that was developed as a simplified test of the control strategy laid out in Chapter 2. The second system is the over constrained spatial mechanism that was a primary focus of this project. The third mechanism is similar to the second, except that the connection point for one of the legs was moved to test the conditioning of the second mechanism. Also note that the MATLAB code for the analyses can be found in Appendix B, along with other code blocks necessary for running the simulations. Planar 22 + 1 Truss Platform This mechanism followed a basic 22 configuration with the third leg bridging two of the connection points. Figure 34 shows the connection setup for the planar mechanism and the dimensioning in centimeters. Base Platform Figure 34. Planar truss mechanism. The Jacobian matrix for this planar device was only a 3x3 matrix since only three degrees of freedom were present in the system. This is not a problem since the fundamental concepts behind the analysis remain intact. The rotational contribution of the legs is still directly related to their effective moment arms about the center of the end effector. The new Jacobian will take the form of X1 X2 X3 J3x3 =Y Y2 Y3 (3.7) 'z,1 'z,2 z,3 L, L2 L3 where xi and yi represent the direction of leg i, tz,i represents the moment of leg i about the z axis, and Li represents the length of leg i. The X and Y components of the line of action for each leg are needed in the matrix, as is the rotational contribution about the Zaxis, /z. The variable /z is the Z component of the vector r x s, which only has a Zcomponent for the planar case as ll 0 rxs= I, = 0 (3.8) Testing of the numerical forward analysis was performed with a handful of scenarios, including situations in which the initial guess was relatively close to the solution and other cases where the guess was significantly farther away. The most relevant examples are discussed here. Guess close to solution In this series of tests the guess was extremely close to the solution. The idea was to test a realistic scenario as would be used in a real controls application. Under normal controls circumstances, the controller is updated and a fairly regular interval, meaning that the system has not moved much from its previous position. Since the previous position will be used for the initial guess, it is only logical to test situations in which one is very close to the solution. In each case the solution was such that the platform was centered side to side relative to the base and was located 25 units below the base, i.e. coordinates [0, 25; 0]. The guesses were offset from the solution by up to ten units along the primary axes or 0.1 radian rotation about the Zaxis. The maximum error allowed was 0.0001 unit in leg length and the maximum number of iterations was capped at 4000 to avoid potential infinite loops. Table 31 shows the results of these tests. X and Y are the positioning of the platform relative to the center of the base. 0 is the rotation of the platform about the ZAxis. At a value of zero, the platform is parallel to the base. Table 31. Results of numerical forward analysis for planar mechanism with the guess close the solution. Initial Guess Calculated Solution X Y 0 X Y 0 # of (cm) (cm) (rad) (cm) (cm) (rad) Iterations 0 35 0 0.0029 24.9999 0.0753 4000 0 30 0 0.0006 25 0.053 1254 10 25 0 0.0094 24.9998 0.1407 4000 5 25 0 0.001 25 0.0212 1961 0 25 0.1 0.0092 24.9998 0.1395 4000 One will notice that the calculated solutions are very close to the actual solutions. The main error present in the system is in the rotation. This is not surprising because the system is asymmetric due to the presence of the cross third leg. It inherently skews the modified Jacobian resulting in over correction in both the X direction and rotation about the Zaxis. This primarily manifests itself in rotational error, which unfortunately cannot be corrected with the current approach. Guess far from solution The second series of tests placed the initial guess relatively far from the actual solution. This was a given idea of the limitations of the solver in extreme circumstances, although they are not very likely to occur. Table 32 shows the results of the testing. One will notice the difficulty the solver has in these situations. Table 32. Forward analysis for planar mechanism with the guess far from the solution. Initial Guess Calculated Solution X Y O X Y 0 #of (cm) (cm) (rad) (cm) (cm) (rad) Iterations 0 55 0 0.0076 24.9998 0.1213 4000 0 75 0 0.01 24.9997 0.1382 4000 20 25 0 0.2009 24.9939 0.7429 4000 20 25 0 0.4992 24.975 1.5699 4000 The primary cause of the solver difficulties is that the error is so large that the corrections could potentially exceed the workspace. Another cause may be that several possible solutions could exist for any given set of leg lengths. This is not inherently a problem because in real controls applications, the guesses will never be this far off. The next sections discuss the results from testing with the spatial mechanisms, where it becomes clear that having extra legs can dramatically improve the response of the solver. Over Constrained 33 + 1 Spatial Mechanism Figure 35. Spatial 33 + 1. Note that the upper triangle represents the end effector. The spatial mechanism tested followed a 33+1 configuration, which is identical to a 33 mechanism, except that it contains an additional central leg. Figure 35 shows the relative placement of the central leg with respect to the rest of the mechanism. This leg ran from the center of the base platform to the center of the end effector, producing symmetry in the device. The benefits of having this leg present in the system became readily apparent once testing began. Whereas the planar mechanism would sometimes require several thousand iterations to find a solution, the spatial mechanism would often only require 50100 iterations, which could be calculated extremely quickly. For each test, the actual positioning of the platform was centered above the base at a height of 1 meter along the ZAxis with no rotations about any axes. This is represented by the coordinates [0, 0, 1; 0, 0, 0]. Both the end effector and the base were configured as equilateral triangles. The corners of the end effector were located 0.5 meter from its center while the base triangle was twice the size. Table 33. Results of forward analysis for the redundant spatial mechanism. Initial Guess Calculated Solution X Y Z Ox Oy Oz X Y Z Ox O Oz # of (m) (m) (m) (rad) (rad) (rad) (m) (m) (m) (rad) (rad) (rad) Iter 0 0 1.5 0 0 0 0 0 1 0 0 0 4 0 0 5.5 0 0 0 0 0 1.0001 0 0 0 6 0 5 1 0 0 0 0 0 1 0.0003 0 0 93 10 5 1 0 0 0 0 0 1 0.0001 0.0002 0 86 0 0 1 1.5 0 0 0 0 1 0.0003 0 0 113 0 0 1 0 1 0 0 0 1 0.0001 0.0002 0 111 0 0 1 0 0 1 0 0 1 0 0 0.0003 69 2.5 3 5 0.5 0.5 0.5 0 0 1 0.0002 0.0001 0 107 One will notice that the error in estimated positioning is extremely small. This comes as a welcome surprise and clearly demonstrates the potential for speed and accuracy with this approach. The errors could be reduced even further by reducing the maximum allowable error in the calculations. The extra leg helped to dramatically limit the number of solutions, expanding the effective workspace of the solver, resulting in a huge increase in performance. The final test for the solver was with a modification of the spatial mechanism in which one of the connection points for the central leg was moved to produce a nonsymmetric system. Modified 33 + 1 Spatial Mechanism The modified spatial mechanism moved the top connection of the central leg to one of the corners of the endeffector, so that it lay coincident with two other joints. The location selected was coincident with the joints located 0.5 m along the YAxis of the platform. Figure 36 shows the change in configuration of the spatial mechanism. Figure 36. Modified Spatial 33 + 1. This was an ideal test since the system was no longer symmetric. One may recall the illeffects of asymmetry had on the solver for the planar mechanism. However, these issues never arose during testing of the solver with the modified spatial device. In each test, the modified mechanism was positioned at the same location as the 33+1 system, with the same dimensions. The actual position was at [0, 0, 1; 0, 0, 0]. Table 34 shows the results and clearly indicates that the solver is still working well. The slight increase in the number of iterations necessary to find solutions is a minor issue that could most likely be resolved by adjusting the scaling factor for the error. Table 34. Results for testing of numerical forward analysis for the modified spatial mechanism. Guess Solution X Y Z Ox OY Oz X Y Z Ox OY Oz #of (m) (m) (m) (rad) (rad) (rad) (m) (m) (m) (rad) (rad) (rad) Iter 0 0 1.5 0 0 0 0 0.0001 1 0.0001 0 0 12 0 0 2.5 0 0 0 0 0 1 0.0003 0 0 40 0 2 1 0 0 0 0 0 1 0.0003 0 0 68 10 2 1 0 0 0 0 0 1 0.0002 0.0001 0 114 0 0 1 1.5 0 0 0 0 1 0.0003 0 0 113 0 0 1 0.5 0.5 0.5 0 0 1 0.0001 0.0002 0 101 Final Comments and Conclusions The numerical forward analysis works exceptionally well in a wide array of situations and looks to be a highly flexible and powerful tool. It is easy to implement and can be very efficient at finding positioning, even with minimal tuning. Changing the geometry of the mechanisms presents no difficulty as the modified Jacobian matrix also changes. This approach also allows users to analyze and control mechanisms that are overconstrained or even illconditioned since it is never necessary to find the inverse of a matrix. While the analysis laid out in this chapter is a powerful tool, a possible refinement might include a more precise method of tuning the solver. Currently, the only adjustment to the solver is a scaling of the step that is taken to avoid overshooting the solution. A more thorough analysis later could reveal better tuning methods that might parallel classical PID controls for other systems. However, that analysis is best left for another time and project as the current approach works extremely well. CHAPTER 4 CONTROLLER DESIGN AND IMPLEMENTATION As discussed in Chapter 2, a number of elements are involved in designing a controller for any system. For the specific application to parallel mechanisms, the most important and difficult part of the problem is accurate measurement of the positioning of the system. This problem was solved in Chapter 3 using a flexible numerical methods approach. The next step in the process is the design of the controllers that will actually affect the behavior of the system. Separating the DOF Any parallel mechanism is highly crosscoupled by nature, making control strategy potentially difficult. Chapter 2 talked about the advantages of assuming that the leg masses were negligible, and this is an important first step towards developing the controllers. One must remember that the spatial systems analyzed in this project had six degrees of freedom, necessitating at least six controllers. Since the leg masses were extremely small, the only significant object in any particular system was the endeffector platform itself. The system model could now be developed that consisted of a lumped mass with a collection of forces acting upon it, as shown in Figure 41. These forces would produce an instantaneous netwrench that would affect the motion and behavior of the end effector. Figure 41. End effector and forces acting upon it. The netwrench is shown as W. Recall that a wrench consists of six elements which represent the force and torque acting upon a particular body. Theoretically, applying a wrench that only acts along a single DOF should affect the object only in that DOF. This implies that the problem can now be separated into six individual models, each corresponding to one DOF. As a result, the six resulting equations of motion take the form of Fe, = Meqi (4.1) Meq is a generalized representation of the equivalent mass or inertia of the system in the particular degree of freedom that is being considered. By the same token, q is the acceleration of the system in that degree of freedom. Fext is simply the external force or torque that is applied to the system during its motion. Simplified System Model and Controller Implementation Now that the various DOF's have been separated it is necessary to determine the behavior of the individual systems. As discussed in the previous section, each section of the model can be represented as a single mass upon which an external loading acts. Designing a controller for such a system is relatively straight forward as the motions of these systems are well known. A standard PID controller should be sufficient to produce "good" behavior. The system block diagram for each DOF now takes the form of 1~~~  > I>^ Constant FnPID Conll r sf Sope Figure 42. Block diagram for a single mass system. Now that the control layout has been formulated, the next step is to determine the transfer function that describes the behavior of the system. From basic control theory, the closedloop transfer function can be written as TF = (4.2) 1+ HT Where: T is the controller times the representation of the system mass. H is the value of the feedback multiplier. When the value for T is substituted into equation (4.2), the numerator and denominator of the equation can be expanded, resulting in the thirdorder function 1m I1 Ds2 +Ps +I T=PID ms s ) ms ms Ds2 + Ps + I ms3 + HDs2 + HPs + HI (4 1 + HT = 1+H 3 3 (4.3) ms ms Ds2 + Ps + Ds2 + P/ + TF = ms3 +HDs2 +HPs + HI s3+HDs2+HP/S+H where P, I, and D are the values of the controller. Determining the ideal values for the controllers can be a rather tedious task, especially with a thirdorder system. However, certain simplifications can be made to make the problem more manageable. By inspection, one can see that setting the integral portion of the controller to zero will reduce the transfer function to a more classical second order system. D/S2 +P/m D/ ms+P/ TF = ms +mS m (4.4) 3 +HD S2 +HP/S S2 +HD/S +HP Design of controllers for secondorder behavior has been wellestablished, enabling one to not only easily design the controllers, but also to automate the process during controller implementation. One will notice that this approach is the application of a PD controller to a free mass system. While this is a simpler approach, there may be situations where application of a PID controller might be necessary to compensate for steadystate error or unforeseen effects of the system being analyzed, as was the case for the planar mechanism discussed in Chapter 5. Having specified the form of the controllers, one can easily determine the values to generate desired system behavior. From classical secondorder analysis, the equations describing the response of the system take on the following form 2 HP 2)n = H m 2$w HD m 4 t = (4.5) in M =e ( 1.n(M,)Y C) 2 " + MPy Where: c, is the natural frequency of the system. ( is the damping ratio. ts is the settling time. Mp is the ratio of maximum overshoot to steadystate value. Final Thoughts While the controllers used in this project are fairly simple in form, they were meant to test two things. The first was the feasibility of decoupling the legs with basic assumptions and restrictions on the system. The second was the ease with which a controller could be incorporated into the system, given the overall complexity of the problem. The highly flexible numerical forward analysis discussed in Chapter 3 was a primary focus of development in this project and was considered to be a more critical aspect of the overall controller design. More advanced control techniques could easily be implemented, but the structure of the controls would remain essentially intact, regardless of the approach. CHAPTER 5 APPLICATION TO A PLANAR MECHANISM Once the control methodology has been determined, the next logical step is testing on a simplified system to analyze basic performance and ascertain whether the steps to attain decoupling actually worked. The mechanism first analyzed in this project was a planar, threeleg platform that was set in a truss configuration, as described in Chapter 3. Not only did this mechanism serve as a simple test bed, but it also helped to highlight potential issues related to asymmetry. System Description and Simulation Model Figure 51. Planar truss mechanism with asymmetry. The planar truss mechanism consisted of three legs arranged in the configuration shown in Figure 51. One will notice that the platform differs from the other mechanisms analyzed in this project in that the end effector hangs below the base connection, rather than being supported above it. This has no effect on the control strategy or system analysis since the wrench applied by the weight of the platform is simply reversed. The configuration shown was chosen since it was naturally stable in simulations, allowing the testing to focus purely on controls and system behavior, rather than trying to "debug" the mechanism. The dimensions of the platform were selected to mimic the configuration of the spatial mechanism that would be analyzed later. The end effector was half the length of the base, with the connection points located at both ends. Figure 52. System model created in Simulink, representing the planar truss mechanism. Note that the controller is marked in green and the end effector is colored orange. This system in discussed in Appendix A. The entire system was modeled in Simulink using MATLAB 6.5. This provided the most flexible approach for modeling as the system parameters could be easily changed. Figure 52 shows the model with various components highlighted, though a larger version of the model can be found in Appendix A. Since the planar mechanism was meant as a test bed for the control strategy discussed in Chapter 4, the position information was measured, rather than calculated using the numerical forward analysis. The leg elements were given extremely small, but still finite masses because the software required that they have at least some mass to avoid singularities in calculations. System Parameters and Performance Criteria Recall that the legs and actuators were reasoned to have negligible mass, leaving the only source of mass and inertia as that of the end effector. Since the values of the controller gains were directly proportional to the mass of the system, the mass was simply selected as 1 kg, though any value would be perfectly acceptable. The length of the end effector was 25 cm while the base length of the platform was 50 cm. The inertia contribution of the platform was calculated by modeling the end effector as a thin bar using the equation I = mL2 (5.1) 12 Where: m is the mass of the end effector. L is the length of the end effector. The system was specified to have a desired maximum of 25% overshoot and a settling time less than 1 second. However, preliminary testing revealed that a PD controller was insufficient to compensate for the coupling effects caused by the third leg, as mentioned in Chapter 4. This necessitated a revision to the controller that used a full PID controller rather than the simpler PD design. While this was an unexpected hurdle during testing, it served to highlight a potential problem that asymmetry can present in these mechanisms. Apparently a high amount of asymmetry tends to exacerbate the problem of crosscoupling, possibly requiring that certain additional steps be taken to correct the issues. Redesign of the controller assumed that a full PID controller would be necessary, which also meant that the system model was third order, rather than second order. The characteristic equation of the system now becomes S3 + HD S2 + HP/ S + H (5.2) This formula can be split into two portions, a second order and a first order formula (s2 + 2cos + c 2 + R) (5.3) The real pole will cause a slight change in the behavior of the system, which is the ultimate goal of this process. The complex poles for the second order response were selected to be 4.5 + 6.75j to give an approximate response of 20% overshoot and a settling time less than 1 second. The real pole was picked as 10 since testing of a generic third order system showed that it gave good results for the design parameters. While it was a somewhat longer process designing the controllers, the solution was relatively straightforward. Then main lesson from this was that asymmetry is highly undesirable in any system, causing unpredictable behavior. However, the steps taken for redesign the controllers provided adequate compensation. Results of Testing The controllers performed far better than anticipated, showing less than the maximum allowable overshoot, settling times less than onesecond, and steadystate errors most likely attributable to roundoff errors. Every performance requirement was exceeded during testing. Run 1 The first run tested the response of the system in the ydirection since that is the most stable direction. The platform started centered at (0 cm, 25 cm) with no rotation and was moved to the position (0 cm, 15 cm). Figures 53 through 55 show the system response in the x, y, and 0 directions respectively. Table 51 shows the most pertinent numerical results from the run. X displacement of end effector 0 0.2 0.4 0.6 0.8 1 time (s) Figure 53. Xdisplacement of endeffector for first run. 1.2 1.4 1.6 1.8 2 33 Y displacement of end effector 26 1 1 I I I I I II 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 time (s) Figure 54. Ydisplacement of endeffector for first run. x 10" Rotation of End Effector 2.5 2 1.5 0.5 0.5 1 1.5 0 0.5 1 1.5 2 2.5 3 Time (sec) Figure 55. 0displacement of endeffector for first run. Table 51. Results of Run 1. Desired Position Final Position Maximum Position Max Overshoot X 0 cm 0.0001 cm 0.00240 cm n/a Y 15 cm 14.9963 cm 12.8797 cm 21.20 % 0 0 rad 0 rad 2.4e5 rad n/a As can be seen from Table 2, the maximum steadystate error was 0.0037 cm, or 0.037%. The maximum overshoot of the ydirection was 21.20% which is less than the 25% limit. The settling time of the system is 0.82 sec, which once again is less than the specified limit of 1 sec. The extremely small steadystate errors can be attributed to roundoff errors. Run 2 The second run tested the response of the system in the xdirection. Once again, the system started at (0 cm, 25 cm), but then it was moved to (15 cm, 25 cm). The idea of doing testing like the first three runs was to test the coupling of the system to determine how strongly one direction of motion might affect the others. The results are displayed in Figures 56 to 58. As can be seen from Table 52, the maximum steadystate error was 0.0055 cm, or 0.037% once again. The maximum overshoot of the xdirection was 21.20% which is less than the 25% limit. The settling time of the system is 0.82 sec, which once again is less than the specified limit of 1 sec. The response in the xdirection is identical to the y direction since they both run the same controllers. This also indicates that the coupling effects in the system are negligible. X displacement of end effector time (s) Figure 56. Xdisplacement of endeffector for second run. Y displacement of end effector 24.98  24.985 24.99 24.995 > time (s) Figure 57. Ydisplacement of endeffector for second run. Rotation of End Effector x 10 1.5 CO 0.5 1 1.5 2 0 0.2 0.4 0.6 0.8 1 1.2 1.4 Time (sec) Figure 58. 0displacement of endeffector for second run. Table 52. Results of Run 2. Desired Position Final Position Maximu X 15 cm 15.0055 cm 18.180Z Y 25 cm 25.0001 cm 25.0105 0 0 rad 8.901e5 rad 0.0021 Run 3 1.6 1.8 m Position Scm cm rad Max Overshoot 21.20% n/a n/a The third run tested the rotational response of the system. The platform was rotated by 10 degrees. The results are shown in Figures 59 to 511. As can be seen from Table 53, the maximum steadystate error was 0.0001 deg, which is most likely round off error. The maximum overshoot of the 0direction was 20.952% which is less than the 25% limit, but different from the x and y responses. The settling time of the system is approximately 0.75 sec, which once again is less than the specified limit of 1 sec. X displacement of end effector 0 0.5 1 1.5 2 2.5 time (s) Figure 59. Xdisplacement of endeffector for third run. Y displacement of end effector 24.995 24.996 24.997 24.998 g 24.999 25  >\ 25.001 25.002 25.003 0 0.5 1 1.5 2 2.5 time (s) Figure 510. Ydisplacement of endeffector for third run. Rotation of End Effector 0.15 0.1 Time (sec) Figure 511. 0displacement of endeffector for third run. Table 53. Results of Run 3. Desired Position Final Position Maximum Position Max Overshoot X 0 cm 0 cm 0.0014 cm n/a Y 25 cm 25 cm 25.0025 cm n/a 0 0.1745 rad 0.1745 rad 0.2111 rad 21% Run 4 The final run tested the response of the system when the platform was commanded to move in all three directions from its initial position of (0 cm, 25 cm) to a final position of(15 cm 35 cm) with a rotation of 20 degrees. The results are shown in Figures 511 through 513. X displacement of end effector 0 0.5 1 1.5 2 2.5 time (s) Figure 511. Xdisplacement of endeffector for fourth run. Y displacement of end effector time (s) Figure 512. Ydisplacement of endeffector for fourth run. Rotation of End Effector 0.45 0.4  0.35 03 0.25  0.2 0.15 01 0.05 0 0.05 I I 0 0.5 1 1.5 2 2.5 3 Time (sec) Figure 513. 0displacement of endeffector for fourth run. Table 54. Results of Run 4. Desired Position Final Position Maximum Position Max Overshoot X 15 cm 14.9999 cm 18.1902 cm 21.3% Y 35 cm 35 cm 37.1259 cm 21.3% 0 0.3491 rad 0.3491 rad 0.4233 rad 21.3% Despite being commanded to move in all three directions simultaneously, the system behaved very well, meeting all design specifications. This shows that the controller design was a success. Final Comments The testing with the planar mechanism served several purposes. First, it verified the generalized control strategy for these parallel mechanisms and showed that the systems can be decoupled fairly well, even with simple controllers; the decoupling is not perfect, showing perturbations in the other degrees of freedom, but these are relatively small. Secondly, the planar mechanism revealed the potential difficulties that can arise with asymmetric mechanisms. These are far more difficult to decouple due to the 41 imbalanced nature of force application in various regions of the system. This can result in excessive motion of parts of the system that are meant to remain stationary and can also cause significant steadystate error. However, these issues were readily resolved with a slight redesign of the controllers. Despite minor setbacks and challenges, the testing of the planar mechanism was highly successful and accomplished all of the goals that were specified. CHAPTER 6 SPATIAL MECHANISM AND ADDITIONAL CONSIDERATIONS FOR CONTROLLER DESIGN Once the control strategy had been verified with the planar mechanism, the next step was to consider how to handle the spatial mechanism. The spatial mechanism had two major differences from the planar system analyzed in the previous chapter. First, it was an overconstrained system, meaning that more control actuators were present than were actually needed for motion in all degrees of freedom. The second difference was that the system was meant to have compliant components in the legs. These changes necessitated that additional measures be taken when designing the controllers for the system. General System Description Determining the configuration of the spatial mechanism was one of the critical steps. Since the objective of this project was to design a generalized controls strategy for an over constrained parallel mechanism, a symmetric structure was selected. The advantage of having a symmetric structure was highlighted when analyzing the planar mechanism. Symmetry in structural design and motion are highly desirable because the behavior of the system becomes far more predictable as the coupling effects appear to be minimized. The platform was selected to follow a classical 33 configuration with the addition of a central leg that connected the centers of the base platform and the end effector. When placed in a "neutral" position that centered the end effector above the base, the structure was symmetric and stable. Any other placement of the central leg would have led to asymmetry in the system. Figure 61 shows the generalized configuration for the mechanism. Both the top platform and the base were modeled as equilateral triangles, with covers placed at 0.5 meter and 1 meter from their centers respectively. At the unloaded home position the top platform was parallel to the base platform and was located 1 meter above it. The stiffness values used in the leg connectors will be discussed in subsequent chapters. Figure 61. Layout of the spatial mechanism and connection points. The base is larger than the end effector, which is centered above the base triangle. It is also important to note that the other spatial mechanism that was analyzed was a slightly modified version of the original, in that the location of the end of the central leg, relative to the end effector, was shifted to determine the efficacy of central leg at countering rotation in certain situations. The exact modifications are described in Chapter 9 to highlight the differences in results. Modifications to Control Strategy The differences between the planar and spatial mechanisms analyzed in this project necessitated certain changes to the control strategy. The most important was the need to decouple the new elements so that the spatial mechanism would have similar behavior to the planar mechanism, albeit with a greater number of degrees of freedom. Compensating for Compliance and OverConstraint Adding compliance to the system changed its behavior since the legs no longer responded as stiff elements. For the control strategy tested in Chapter 5 to work, the compliant elements had to be decoupled from the system with their own set of controllers so that the legs would once again behave as rigid components. Chapter 7 discusses the steps that were taken to decouple the legs and restore "normal" control to the system. While utilizing an overconstrained system is not overly problematic, it presents a special set of challenges as the standard methods for determining the force distribution in the system break down. The issue is that the Jacobian matrix used to calculate the net wrench applied to the endeffector is no longer square, hence it is noninvertible. Fortunately, an easy solution presented itself during the decoupling of the compliant elements in the system. Since each leg has compliance, minimizing the energy in the system would allow one to determine the optimal force distribution in the system. The minimum energy optimization is presented in Chapter 8. Once the legs had been decoupled and an effective method had been developed for finding the optimal force distribution in the system, the original control strategy could be implemented. The mechanism now had six degrees of freedom, each of which would require a separate controller. These controllers would be designed in the same way as for the planar mechanism, under the assumption that the system was sufficiently decoupled to have good response and behavior. However, the need for one additional adjustment became readily apparent once work began on laying out the control system. Coordinate System Conversion The method for specifying the orientation of the platform is now laid out. A series of three rotations are needed, first about the local Xaxis, then about the new local Yaxis, and finally about the new local Zaxis. Each rotation is performed about local coordinates, not global coordinates, meaning that each successive rotation was directly dependent on the previous one. Since the controller was meant to handle local coordinates, but the control forces were being applied in global coordinates, the torques applied by the legs had to be rotated into the global coordinate system for the minimum energy optimization to work properly. The rotation matrix necessary for the coordinate system conversion was readily calculated using the methods laid out in reference [2] as follows Rglobal = RxRRz 1 0 0 Rx =0 cos(Ox) sin(O) 0 sin(Ox) cos(Ox) Fcos(O) 0 sin(O) = 0 1 0 (6.1) sin(O,) 0 cos(O,) cos(O) sin(O,) 0 RZ =sin(z) cos(z) 0 0 0 1 By multiplying together the rotation matrices about the respective degrees of freedom, in the order of rotation, a conversion matrix could be derived. Multiplying by the three element vector representing the local control torques, the global control torques can be calculated. The conversion is X Tx,local TY = Rglobal Ty,local (6.2) Z T z,local Combining the torque vector with the three element force vector produces the net wrench that the control legs need to apply to the end effector F Fy Fz control TX (6.3) Ty TZ Finally one is able to lay out the structuring of the controller for the full spatial mechanism. It requires knowledge of both the destination and the current positioning, which are then fed into the separate controllers for the individual degrees of freedom. The control forces are then rotated into global coordinates as appropriate and then recombined so that the minimum energy optimization determine the optimal force distribution in the legs. Figure 62 shows the wiring of the control block. n7 Prey Poe *yl 4M Final poslioning XController C YController 0 ZConollerMn Energy 0 Optimizalion XrtContrller Contr Force Leg Cotr Force C YrotControler Torque O Transform ZrolContrller Figure 62. The control block used in the spatial mechanism. In Figure 62, note the decoupling of the separate controllers, followed by the recombination to form a single desired wrench. The lengths of the seven legs are fed into the numerical forward analysis, along with the latest known positioning, which acts as the current guess. Once the current position has been determined, the position error is calculated and split up amongst the separate controllers. The outputs of the rotational controllers need to be rotated into global coordinates, then recombined with the corrections from the X, Y, and Z controllers. The net control wrench is then sent to the minimum energy optimization, which determines the distribution of control forces that are sent to the individual legs. CHAPTER 7 DECOUPLING COMPLIANT ELEMENTS FROM LEGS The compliance in the legs of the platform presented special challenges when designing the controllers. The major issue was that the legs would act as two degree of freedom systems, rather than as the single degree of freedom actuators desired. This meant that an extra set of controllers was needed to overcome this potentially crippling problem. The first step to resolving this difficulty was developing a model of one of the legs. Leg Model SplDamTop Spr/Dam ompliant mrtne i nlroller SpDan Base n I Leg Actualor 0 Ionrorl gnal Leg Act 6 LegBase Ground Figure 71. Generic model of a leg containing compliant elements. The legs were modeled as having negligible mass, but that still did not resolve the question of how to decouple the compliant elements. At least a certain amount of mass was needed for an effective controller to be developed. One can see in Figure 71 that the leg model consisted of three mass elements, a spring, and a damper. The most significant mass was located at the free end, representing the end effector. The actual details of this mass were unimportant as the control forces to be applied to the platform were already known. The other mass that played a role was the actuator element (lumped with the springdamper base mass) since it was directly connected to the spring and damper. As previously stated, the force to be applied to the end effector had already been calculated by the primary controller, on the assumption that the compliance in the legs would be decoupled effectively. This effectively reduced the problem to controlling the motion of the actuator element. A free body diagram of the actuator could now be drawn that would allow the equations of motion for that element to be written. Free Body Diagram and EOM Spring/Damper Force Actuator Force Figure 72. Free body diagram of the actuator mass with reactionary forces from the springs and dampers. The forces acting on the actuator mass consist of four parts: * Actuator force. This is what actually causes motion in the system. It also has to compensate for the reactionary forces. * Acceleration of the actuator mass. The nature and effect of this depends heavily on the mass of this element. * Spring force. This is simply determined by how much the spring is compressed. * Damper force. This is purely based on how fast the actuator is moving with respect to the end effector. The force contributions from the spring and damper can be lumped together because they must equal the force that the leg in question should apply to the end effector. This simplifies the problem into a very familiar form. Fact mact Fplatform = 0 (7.1) mact = Ft Fplatorm A controller could be developed in exactly the same way as for the main platform. In theory, a basic PD controller should completely counteract the effects of the actuator mass, the spring, and the damper. The controller now took on the following form: 1 PID  Constant PID Contolls Transfer Fn Scpe Figure 73. Controller for the leg actuator. Its form is virtually identical to those of the end effector. The values for the controller were calculated in the same way that those of the main controllers were determined. Testing of the decoupling controllers will be discussed in the next section. Performance of the Decoupling Controllers Testing of the individual legs revealed that the controller design worked extremely well. The springdamper had no ill effects on the motion of the end effector, though the actuator system did tend to show some steadystate error as the mass of the actuator increased. The models used for testing are shown below and are also presented in Appendix A. Figure 74. Overview of leg model. This shows the primary controller and a representation of the entire leg, including compliant elements. The constants feeding the body actuator represent the components of an external wrench that might be applied to the system. Spr/Dam Sp/Dam Bas Leg Actuate Sp/Dan Controlle Leg Length Calc input orce Base of Leg Figure 75. The actual leg model itself. The green block is the decoupling controller, while the brown block contains the compliant elements of the leg. One will notice the presence of the actuator and the combination of the control signal with the decoupling signal. sp/uam Weight I Figure 76. Controller for decoupling the compliant portion of the leg. The signal generated by this subsystem is combined with the general control force and serves to decouple the compliant elements. Results of Testing The decoupling controller showed exceptional performance, even with huge actuator/platform mass ratios. The system exhibited the good behavior of a welltuned, classical second order system, despite the fact that it was actually a rather nasty looking two degree of freedom model. To test the effectiveness of the approach, a leg actuator mass of 1 kg was used, which was the same as the mass of the representative "end effector". The leg was commanded to move from an initial position of 1 m to a length of 2 m. Without the decoupling controller in effect, the system exhibited 33.5% overshoot and a settling time of 1.75 second. With the controller activated, the overshoot dropped to 18.7% and the settling time to 0.92 second. The results are shown in Figure 77 and clearly demonstrate the effectiveness of the controls strategy. Effects of Decoupling Controller 2.5 Controller  No Controller 1.5 i \ 0 0.5 1 1.5 2 2.5 3 Time (seconds) Figure 77. Results of testing both with and without the decoupling controller. Limitations of Controller Usage The only limitation on use of the decoupling controllers was not the design, but rather the simulation software used. Both MATLAB 6.5 and ADAMS had significant trouble with simulating parallel mechanisms. The solvers in both programs found difficulty when dealing with any parallel devices because of the multiple closed loops present in the systems. ADAMS simply couldn't handle the systems, while MATLAB would sometimes struggle. Even without compliant elements, the solvers would occasionally slow down to time steps on the order of 109 to 1011 second. When any compliant elements were included, the time steps reduced to 1011 to 1013 second, making compliant elements were included, the time steps reduced to 1011 to 1013 second, making 55 completion of any simulations impossible. This was an unfortunate setback, but testing of the controllers for the leg actuators indicated that modeling the legs as stiff elements was accurate enough to verify the effectiveness of the main control strategy. In theory, if the decoupling controllers could be run with the model, any combination of leg masses could be used, regardless of operating conditions, greatly improving the flexibility of the system design. CHAPTER 8 MINIMUM ENERGY OPTIMIZATION One of the critical considerations when working with an over constrained system is how to distribute the force loading amongst the various leg connectors to obtain static equilibrium at a given position. For a perfectly constrained system, only one possible force distribution exists since there exist only as many control actuators as degrees of freedom. However for any over constrained mechanism, extra controls beyond those required are present. While there exist an infinite number of solutions to the question of force distribution, most of them would be unreasonable for the simple fact that the loadings in the legs would be far beyond the limits of any current actuators or materials. Since the spatial mechanism described in Chapter 6 contains compliant elements, a method exists to find the optimal force distribution for the mechanism, minimizing the potential energy stored in the springs. Potential Energy: General Form and Reasoning Even though the various components in the mechanism will be moving as the platform travels towards its objective, the ultimate goal is to have the system at static equilibrium at that final positioning. This automatically means that the dampers in the legs will not be moving during this final state, requiring all supporting forces to be supplied by the springs. During the actual motion of the platform, the force loading in each leg will be distributed between the acceleration of the actuator mass, the velocity of the damper, and the compression of the spring. However, these do not need to be considered in this analysis because the compliant elements in the legs have been decoupled as demonstrated in Chapter 7. Another use for the minimum energy optimization is that it allows the controller to very easily determine how to distribute the control forces amongst the various legs. The potential energy equation follows the classical form. The spring rates in each leg are assumed to be constant and follow a linear relation to the compression. If k. and ALn represent the spring rate and compression of leg n, then the total potential energy equation can be written as follows: U= 1k,(AL,,J (8.1) n=l 2 While this equation comes as no big surprise, more information is needed to be able to solve the problem. Namely, the wrench that the legs must exert on the end effector is the key restriction on the system. ForceTorque State and Equations Since the platform is supposed to remain at static equilibrium at its final positioning, the wrench exerted by the legs must counteract any external wrench on the system, including gravitational effects and reactionary forces applied to the end effector. The wrench exerted by the legs can be calculated using the 6x7 Jacobian of the system as discussed in Chapter 3. WLegs ext = 0 Legs = ]6x7 FLegs SF (8.2) Legs n kn (ALn) F 7, Determining the forces in the legs is not so straightforward because no true inverse exists for a nonsquare matrix. The form of the equations must be modified slightly to place everything in terms of one variable to optimize. The equation for the wrench exerted by the legs can be rewritten as follows: F2 wlegs [x6F 6 +W7 [Jx6 F$7 (8.3) 4 F5 F6 Since Leg + ext = 0 everything can be rewritten in terms of F7 and ultimately AL7. This will then allow one to rewrite the potential energy equation in terms of one variable for minimization. F6 = (J]6x6 )(ext + )= ([]6x6 ext + ka, $7) F =6 = A+B(k,7A7) A = ([J]6x6 ) ext (8.4) B = ([J]6x6 $7 F = kAL = A + Bn (k7AL,) A B AL n= + B (k7ALj) (8.5) kn n Now that the displacements of the various springs have been written in terms of the compression of the seventh leg, the potential energy equation can be rewritten, then minimized with respect to AL7. One may notice that the displacements take on a very nice form that will be easy to work with. n=1 2 (an =1 (An +B2(k7AL)2 +2A ,B(k7AL7)) S= 0 (A +B k7 +AL n 7 2A B7 (k7l7)) d(AL,) d(7, 2k d =I (2AB nk, + 2Bn k, 7AL)7 A,, + BAL7 d(0L ) 2kn 7k A<=IkAB SAB B 7 B(8.6) BY kk The solution for the ideal compression of the seventh leg is fairly simple in form and subsequent calculations for the compressions (and ultimately forces) of the other legs follow easily. Any leg can be set as the "seventh" leg depending on the conditioning of the other six. There may be situations where one group of six legs are at a singularity while the others are not. A basic check for conditioning is required. However, one must note that this method still cannot handle a situation when the entire system is ill conditioned. Remember that one of the major limitations of parallel mechanisms is their limited workspaces. The best way to avoid problems with singularities is to limit the range of motion of the device to a predetermined "safe" environment. Final Comments This chapter has shown a way to quickly and easily determine the ideal force distribution for an over constrained parallel mechanism. The process is relatively simple and can be programmed to handle certain contingencies. The process used to derive the 60 equations could be used to handle more complicated systems, though certain additional considerations would be necessary. Illconditioned systems are unavoidable with parallel mechanisms, but the use of over constrained devices can help to alleviate the problem. CHAPTER 9 RESULTS OF TESTING ON THE SPATIAL MECHANISMS This chapter focuses on discussing the performance of the controllers when applied to the spatial mechanisms, with primary attention paid to the main system. The testing done with the modified mechanism was purely to investigate the effects on rotational performance if the leg configuration was changed. A number of simulations were run to determine the behavior of the primary system when moving in one or more degrees of freedom. Six of the simulations focused solely on coupling effects by moving in the six degrees of freedom separately. Further testing combined motions in two or more degrees of freedom as these represented more realistic utilization of the system. Motions in Single DOF This was the most critical set of experiments since it tested the basic viability of the control strategy. Proving that controlled motion in a single DOF is possible will demonstrate at least simple functionality. The following tests showed that not only does the control strategy work well, but the coupling effects are relatively small. Each time, the mechanism started at a symmetric position of [0 m, 0 m, 1 m; 0 rad, 0 rad, 0 rad], which represents the X, Y, Z positions and the rotations about the X, Y, and Z axes respectively. This had the advantage of being a naturally stable configuration in simulation, helping to minimize the calculational errors. The importance of symmetry has already been demonstrated with the planar mechanism, and this is no exception. Unless stated otherwise, the specified performance for each test was less than 20% overshoot with a settling time of less than 1 second. More information of initialization and configuration of the system can be found in the initialization file located in Appendix B, along with important code that is necessary for the simulation to run. The dimensions of the upper platform and the base were discussed in Chapter 6. The legs were essentially split into two sections, a lower connection that comprised half of the initial length, and the upper portion that was attached to the end effector, making up the other half of its length. ZAxis Displacement The first test was displacement along the ZAxis to a final height of 1.5 m. This motion causes a fairly sizeable change in positioning and platform configuration, but maintains the symmetry, which helps to minimize the coupling effects. As one can see in Figures,91 and 92, the system responded quite well, with essentially negligible coupling effects. Response Along ZAxis 1.7 1.6 1.5  1.4 E/ 01.3 1.2  1.1 / 1 0 0.5 1 1.5 Time (seconds) Figure 91. Motion of the mechanism along the ZAxis. X and Y Responses Time (seconds) Rotational Effects Time (seconds) Figure 92. Motions in the other DOFs. (a) Y and X axes. (b) Rotations about the primary axes. The system reached its final positioning with no steadystate error and still met the performance requirements. System overshoot was 18.4% and settling time was 0.915 seconds. The maximum fluctuations in positioning of the other DOFs was extraordinarily small, with 1.7x104 m along the primary axes, and 8x109 radian in rotations. ZAxis Rotation Considering the performance of the system when moving purely along the ZAxis, one would naturally expect that similar performance would be possible in pure rotation. This still maintains the symmetry of the system, albeit within a more limited workspace; the platform was rotated 0.5 radian about the ZAxis. 0.7 0.6 0.5 R3 C E 0.4 CI o 0.3 5 0.2 ZRotation 0 0.5 1 Time (seconds) Figure 93. Rotation of the mechanism about the ZAxis. (a) S10 X, Y, Z Displacements  Y  Z 0 2 4 v  10 Time (seconds) (b) x 10. X and Y Rotational Responses / \ 7 0    2 ' 3 4  0 0.5 1 1.5 Time (seconds) 1 / Figure 94. Motions in the other DOFs. (a) Disturbance of Z, Y, and X axes. (b) Rotations about the Y and X axes. 3  N 0 0 1 1 .5 4 5 Time (seconds) Figure 94. Motions in the other DOFs. (a) Disturbance of Z, Y, and X axes. (b) Rotations about the Y and X axes. Once again, the system showed excellent performance as expected, exhibiting 19.1% overshoot and a settling time of 0.917 second. The maximum motion error in the other DOFs was 7x104 m along the primary axes and 4.3x106 radian in rotation. YAxis Displacement Motion along the YAxis is still pseudosymmetric, though it is far less ideal than motions with the ZAxis. The behavior of the system was expected to be good, but not as good as the previous tests since even slight asymmetry in a system can have enormous influence on response. The endeffector was commanded to move 1 m along the YAxis, with 10% overshoot and a settling time less than 1 second. Response Along YAxis 0 0.5 1 1.5 Time (seconds) Figure 95. Motion of the mechanism along the YAxis. X and Z Responses x 10r 5r L  z Time (seconds) Time (seconds) Figure 96. Motions in the other DOFs. (a) Disturbance of Z and X axes. (b) Rotations about the Z, Y, and X axes. I I \ / The system still responded extremely well, only exhibiting 9% overshoot and a settling time of 0.977 second. The maximum motion error in the other DOFs was 7.5x103 m along the primary axes and 1.5x102 radian in rotation. The largest errors were generated in the ZAxis motion and the XAxis rotation, both of which are perpendicular to the YAxis motion. The drop along the ZAxis is attributable to the fact that the support legs are only located underneath the end effector. Therefore, trying to move along the YAxis will cause a localized drop in the height of the platform, until such time as the controllers can correct. Since the "top" corner of the end effector has only two support legs, but the "bottom" edge has four, an imbalance occurs when trying to control rotation about the local XAxis. Since the endeffector drops slightly, one would also expect that one section will drop more than the others, due to asymmetry in support distribution, leading to unwanted rotations. YAxis Rotation Rotation about the YAxis is similar to the previous test in that the system is being actuated about a pseudosymmetric lobe. Once again, good performance would be expected, though errors in other degrees of freedom should be more prevalent than the Z Axis testing. The platform was commanded to rotate by 0.5 radian with no motion in the other degrees of freedom. The system showed good behavior in rotation with 8.5% in overshoot and a 0.681 second settling time. One may notice a slight steady state error of 7x104 m present in the positioning of the ZAxis, which is relatively small considering the size of the mechanism at 1 m height. This may be partially attributable to the numerical forward analysis as that can result in a slight error in positioning information. Addition of an integral portion to the controller might also help to correct the error. Y Rotational Response U.b  0.5 / S0.4 Eo c 0.3 0.2 0.1 0 0.5 11 Time (seconds) Figure 97. Rotation of the mechanism about the YAxis. X, Y, and Z Responses Time (seconds) x X Y  Z i r (b) x 10 X and Z Rotational Responses 6 4 2 4 6 0 0.5 1 1.5 Time (seconds) Figure 98. Motions in the other DOFs. (a) Disturbance of Z, Y, and X axes. (b) Rotations about the Z and X axes. The apparent noise present in the response during this test is most likely due to numerical errors in the simulation. During the early stages of the tests, the solver would require extremely small time steps during convergence. The apparent stairstepping later is a result of large steps as the simulation reached easier configurations for the solver. XAxis Displacement Motion of the platform along the XAxis showed similar performance to the tests commanding motion along the YAxis, with primary errors showing up in the vertical positioning of the platform, i.e. the ZAxis displacement. This is hardly surprising considering that the system is moving along an asymmetric direction, which would tend to result in similar errors. The other aspects of the mechanism performed remarkably well, with the largest rotational displacement being 1.9x104 radian. Reponse Along XAxis Time (seconds) Figure 99. Motion of the mechanism along the XAxis. Y and Z Responses x103 Time (seconds) E 0.8 mE n 0.6 5 0Y 5  0 \ 5  / \ ji / E  C 4) 1 rt? (b) x 10 Rotational Responses 2 Y,' o0 z 2 4 6 o8 10 12 14 16 1 1 0 0.5 1 1.5 Time (seconds) Figure 910. Motions in the other DOFs. (a) Disturbance of Z and Y axes. (b) Rotations about the Z, Y, and X axes. XAxis Rotation X Rotational Response 0.7 0.6 0.50 Tme (seconds) 0.4 a 0.3 0.2 0.1  01 0 0.5 1 1.5 Time (seconds) Figure 911. Rotation of the mechanism about the XAxis. S104 X, Y, and Z Responses 2 0   2  4 Z 6 in B In Time (seconds) Y and Z Rotational Responses Time (seconds) Figure 912. Motions in the other DOFs. (a) Z, Y, and X axes. (b) Rotations about the Z and X axes. Testing of the response to rotations about the XAxis simply confirmed the previous five tests and verified that the controllers were performing properly. Once again, some slight steadystate error was present in the positioning along the ZAxis, but as previously stated, this could be attributable to the resolution specified for the forward analysis. Otherwise, the mechanism behaved impeccably. Motions in Multiple DOF Once the performance of the mechanism in single DOFs had been verified, the behavior of the system when moved in multiple DOFs needed to be evaluated. Since each separate DOF responded as designed with relatively small effects on the other motions, commanding motion in several DOFs should all show good behavior. The coupling effects will never be completely eliminated, but they have a lessened impact on system performance. The tests that show the most significant effects and results are presented here. XY Displacement Considering that individual motions in either the global X or Y directions showed greatest impact on the vertical positioning of the system, it was only logical to test the effects when the mechanism was moved in both DOFs. As expected, the largest error was present in the ZAxis motion, with a maximum disturbance of 0.0046 m. This very rapidly decayed to a final positioning of approximately 0.9992 m, or 0.08% steady state error. This was a clear indication that the coupling effects had been essentially eliminated, and the numerical forward analysis was functioning properly. The small error of 0.0008 m was well within the specified resolution for the forward analysis. XY Motion Time (seconds) Figure 913. Motion of the mechanism along the X and Y axes. (a) 1.001 ZAxis Response Time (seconds) x 103 Rotational Responses Time (seconds) Figure 914. Motions in the other DOFs. (a) Z and Y axes. (b) Rotations about the Z, Y, and X axes. The motions in the X and Y directions followed classical second order response and both exhibited only 17% overshoot, which is less than the design specification. The settling time was approximately 0.98 second, which also matched the performance requirements. XYZ Displacement The results for testing motion in three axes should come as little surprise considering the behavior of the system in previous tests. The mechanism was commanded to move 0.5 m along each axis relative to its initial position. N z  I\ I Ii I ' I / I/ 'A  X, Y, and Z Responses Time (seconds) Figure 915. Motion of the mechanism along all three axes. 1.5 0.5 k 103 Rotational Responses  Y Z \ , \A Time (seconds) Figure 916. Rotations about the Z, Y, and X axes. The motions in the primary axes followed classical second order responses as predicted. The X and Y motions were virtually identical with 17.3% overshoot and a settling time of 0.975 second. The ZAxis motion showed 19.4% overshoot and a settling time of 0.955 second. While the overshoot along the ZAxis is larger than the X and Y motions, it still meets the design specifications. It is hardly surprising that the ZAxis motion would have larger overshoot when one remembers that the testing of the X and Y axes tended to generate fluctuations in the vertical positioning of the platform. XYZ Rotation Testing of the rotational performance of the system in three axes simultaneously was a critical step in evaluating the performance capabilities of the system. Up to this point, the platform and controllers had responded admirably. While it was expected that the system would respond just as well as in previous tests, the question was over what range of rotational motion the system would remain stable. The first test commanded rotation of 0.5 radian about each axis since previous testing had used this extent of motion. However, the system exhibited excessive overshoot in all three DOFs being commanded at 29.8%, 23%, and 25.8% overshoot for the X, Y, and Z rotations respectively. While the excessive overshoot was unsettling at first, the cause very quickly became clear with an animation of the simulation. Apparently the mechanism was becoming illconditioned when moving such a great amount, resulting in less than optimal control. Essentially, the plane of the endeffector was nearly coplanar with a pair of the control legs, causing a loss of control. This can be seen below in the simplified model of the system at final positioning and was the inspiration to change the configuration of the system in the modified spatial mechanism. Since the platform was being moved to the edges of its workspace, its performance would naturally degrade. Therefore, the amount of rotation was reduced to 0.1 radian for each DOF. 0.5 Radian Rotational Responses Time (seconds) Figure 917. Rotation of the mechanism about all axes. 0.1 Radian Rotational Responses 0.12 0.1 0.08  S0.06 E (a 0.04 0.02 0 0 0.5 1 1.5 Time (seconds) Figure 918. Rotation of the mechanism about all axes, albeit with a smaller commanded motion. 80 The system responded flawlessly in this second test because it was well within its workspace. The overshoots were 19.6%, 18.4%, and 19.1% for the X, Y, and Z rotations respectively while their settling times were 0.945, 0.848, and 0.972 second. Once again, the ZAxis motion showed a bit of steadystate error, while movement along the X and Y axes only fluctuated by about 105 meter. Evidently, the controllers worked extremely well within the physical limitations of the mechanism. Full 6 DOF Motion The final test for the full spatial mechanism was to command motion in all six DOFs simultaneously. Recalling the lessons learned from the rotational experiments, the rotations were specified to be 0.1 radian, and the motions along the primary axes were commanded to 0.5 m from the starting point. The results can be seen below and clearly show that all DOFs met the 20% overshoot and 1 second settling time requirements. X, Y, and Z Displacements 1.6 1 .6 ,^ ^ . j       1.4 / Y  ZI 1.2 // E 0.8 o C 0.6 0.4 / 0.2 0  0 0.5 1 1.5 Time (seconds) Figure 919. Motion of the mechanism along the primary axes. Rotational Responses 0.14 X  Y  Z 0.12 0.1  0.0  0.02 0.02 0 0.5 1 1.5 Time (seconds) Figure 920. Rotations about the primary axes. While the motions along the axes exceeded the performance requirements, the rotational behavior just barely satisfied the overshoot limitations, coming in at almost exactly 20%. This is hardly surprising when one considers that the coupling effects tend to compound errors in the system and cause fluctuations in the other controllers. However, the fact that the system did meet the performance requirements in all aspects is a testament to the effectiveness of the decoupling, even if it is a simple approach. Modified Spatial Mechanism One will recall that testing of the original 33 + 1 mechanism revealed that rotations of 0.5 radian about each axis led to illconditioning. The question was posed whether it was possible to improve the response in these extreme conditions by changing the geometry of the platform simply by moving the central leg. This test moved the connection point of the central leg out of the plane of the end effector by 0.2 m along the local ZAxis to test the effects that it would have on the rotational response of the system in extreme conditions. The figures below illustrate the new configuration of the platform and the results of testing. The platform was commanded to rotate 0.5 radian about each axis. One will notice that the overshoot of the X and Y rotations were reduced to 16 and 17.4% respectively, which is a huge improvement over the 29.8% and 23% of the non modified mechanism. The Z rotation showed approximately the same overshoot with 26% as compared with the previous 25.8% of earlier testing. However, the settling times were not improved dramatically, clocking in at 1.28, 1.21, and 1.47 seconds for the X, Y, and Z rotations. Figure 921. New platform configuration with modified connection point. Rotational Responses 0 0.5 1 1.5 Time (seconds) Figure 922. Rotations about the primary axes. While the change in configuration did have a positive effect on the response of the system in extreme circumstances, it did not have enough of an impact due to physical limitations. Enough of the mechanism was still ill conditioned that the central leg could not effectively compensate. This drives home the point that all parallel mechanisms have limited workspaces, especially in the aspect of rotations, so knowledge of these limitations is critical for proper control. Possibly reconfiguring the outer legs or changing relative dimensions in the mechanism could help to extend its workspace, but that topic would be best left for future research. CHAPTER 10 FINAL COMMENTS AND FUTURE WORK This project proved to be a challenging and immensely gratifying experience. The problem required some interesting approaches to create a relatively simple, yet functional solution. The generalized control strategy that was developed is flexible and applicable to many other systems. It performed well in decoupling the system despite the difficult nature of the mechanisms. The numerical forward analysis has great potential for future applications as it is a highly flexible, robust, and efficient approach to a potentially very complicated issue. The decoupling controller, while it could not be fully tested due to simulation and software limitations, still looks to be an effective method of controlling compliant elements, even in unfavorable conditions. While this project accomplished all that was intended, plenty of room remains for future research into related areas. For example, the numerical forward analysis still has great potential to become even more efficient and powerful if it can be analyzed as a controls system, rather than just an iterative approach. In fact, it may even be possible to derive analytical solutions to forward analyses using mathematical derivations based on the methodology. The effective decoupling of compliant elements in a parallel mechanism has great potential to allow the design of responsive, adaptive systems for a wide range of applications. Current research is investigating the responses of compliant, static platforms, which suggests that it may be possible to design the static and active behaviors separately and then easily connect them through some decoupling interface. The possibilities are endless and lend themselves to imagination. APPENDIX A SYSTEM DIAGRAMS This section presents the systems that were built in SimuLink to simulate the mechanisms. They often contain several subsystems due to the complexity of the models. Where necessary, descriptions of the components are supplied. Planar Mechanism This section shows the systems that were constructed to analyze the planar mechanism. This was the testing model for both the control methodology and the proper way to construct models in MATLAB. System Overview Figure A1. Top level of planar mechanism. The orange block is the end effector, the pink block is the position sensor, the green block is the main controller, and the gray blocks are the legs. The additional controllers were incorporated for static stability in the planar mechanism. One will notice the constants that are being fed to the leg actuators. These are the forces required to hold the system in static equilibrium at its final positioning, meaning that the controller subsystem simply makes corrections to the motion once the simulation starts. Leg Subsystem SCConnl LL SRevolute 1n1 Leg Length T Revo1ute2 point Actuatorl C ]Conn2 Figure A2. Inside the leg subsystem for the planar mechanism. Orange blocks are leg pieces. This is the simplest possible leg model for accurate simulations. Controller Subsystem X Position Xcont MATLAB 1 Function In1 F 2 3 delta force calc Terminate r YPosition Ycont Rotational Theta cont Position ln2 Figure A3. Inside the control block for the planar mechanism. The three PID controllers are clearly visible and act independently of one another. delta's2 Spatial Mechanism This section presents the models built to analyze the spatial mechanism. The same model was used for both spatial systems. Two versions of the leg subsystems are presented. The noncompliant variant was used in simulations and in the main model. The compliant version was intended for insertion into the main system, but proved to be unusable due to software limitations, as discussed in Chapter 7. Main System Overview remhr"aErI Figure A4. Top level of the spatial mechanism model. 