UFDC Home  myUFDC Home  Help 



Full Text  
DESIGN OF CONTROLLERS FOR IMPROVING CONTOUR ACCURACY IN A HIGHSPEED MILLING MACHINE By JINHO LEE A DISSERTATION PRESENTED TO THE GRADUATE SCHOOL OF THE UNIVERSITY OF FLORIDA IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE DEGREE OF DOCTOR OF PHILOSOPHY UNIVERSITY OF FLORIDA 2005 Copyright 2005 by Jinho Lee ACKNOWLEDGMENTS I express my sincerest appreciation to Dr. John Ziegert for his patience, support and guidance. I also express my gratitude to Dr. Warren Dixon for his valuable advice on nonlinear control. Furthermore, I thank Dr. John Schueller, Dr. Tony Schmitz and Dr. Jacob Hammer for serving on my supervisory committee. I also thank all of the members of the Machine Tool Research Center for their assistance and friendship. I thank Curt Wilson (Delta Tau Data Systems Inc.) who kindly replied to my continuous questions and gave valuable advice. I extend most heartfelt thanks to my parents for their endless support, sacrifice, and unconditional love. I also thank my sister, brother, brotherinlaw, and sisterinlaw for their constant understanding and encouragement. My thanks also go to my cute and lovable nephew and nieces for making me smile whenever I think of them. The warm love of my family motivates me to go on. Last but foremost, I thank my wife, SeungYoon Ryu. Without her, I could complete nothing that is worth accomplishing. She gave me endless love and support, which are deeply appreciated. TABLE OF CONTENTS page 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 ........ .............. ............. .. ...... .......... .......... xii CHAPTER 1 IN TR O D U C TIO N ........................ ............................ ........ ...... ................ 1.1 Controllers...................................................................... ... ......... 2 1.1.1 Feedback C controllers ............................................ ............... 2 1.1.2 Feedforward Controllers .............. ....................................... 3 1.1.3 R obust C controllers ........................................ ........ ............... 3 1.1.4 Cross Coupling Controllers...............................4 1.2 Literature Review of Cross Coupling Controllers ......................................5 1.3 Task Specification...................... ....... ............................. 7 2 D E SCRIPTION O F TE ST BED ........................................................................ 9 2.1 M echanical Subsystem ......................................... .......................... 10 2 .1.1 X axis ................................................. ............... 10 2.1.2 Y axis ............................................................. .. ......... 11 2 .1 .3 Z ax is ..........................................................1 1 2 .2 E electrical Sub sy stem ................................................................... ............... 11 2 .2 .1 C ontroller ................................................................................. 12 2.2.2 Interface M odules ........................................ ...................... 13 2 .2 .3 A m p lifi ers ............................................. .................. ........ ......13 3 SY STEM ID EN TIFICA TION .......................................................... ............... 15 3.1 System M odeling ......................................... .......... .............. ..15 3.1.1 P position F eedback .................................. ...................................... 16 3.1.2 Current Feedback .......... .. ................ .................... 16 3.1.3 Electromechanical Feed Drive System ......................................17 3.2 Xaxis System Modeling and Verification ..................................18 3.2.1 Modeling the Viscous Friction Coefficient (Bx).........................18 3.2.2 Modeling the Equivalent Moment of Inertia (Jeq) .....................21 3.2.3 M modeling V erification......................................... ............... 21 3.3 Yaxis System Modeling and Verification ....................... ........... 23 3.3.1 Modeling the Viscous Friction Coefficient (By) ..........................23 3.3.2 Modeling the Total Moving Mass (M)..............................25 3.3.3 M modeling V verification ......................................... .....................28 3.4 Sensitivity of M odel Parameters ............... ........................ ................28 3.5 Reversal Error of X axis ................................................. ..................30 4 DESIGN OF THE PROPORTIONALINTEGRALDERIVATIVE CON TROLLER ......... ..... .... ................ ...................... ........ .... 34 4.1 Tuning Procedures ....................... ... ..... ... ..................34 4.1.1 ProportionalIntegralDerivative Tuning for the Xaxis................36 4.1.2 ProportionalIntegralDerivative Tuning for the Yaxis................37 4.2 Balancing Servo Parameters between the X and Yaxes........................39 5 DESIGN OF THE FEEDFORWARD CONTROLLER ......................................43 5.1 T uning P procedures .................... ...................................... .....................44 5.1.1 Feedforward Tuning for the Xaxis ............................................ 44 5.1.2 Feedforward Tuning for the Yaxis ............................................ 45 5.2 Balancing Servo Parameters between the X and Yaxes........................49 6 DESIGN OF THE TRADITIONAL CROSS COUPLING CONTROLLER........ 51 6.1 Variable Gain for Cross Coupling Controller...........................................52 6.1 1 Linear Contour ........... ................. .. .. ............ ......... ...52 6.1.2 C ircular C ontour ........................................ ........................ 53 6.2 Im plem entation M ethod .......................... ........................ ........ ....... 54 7 DESIGN OF THE ADAPTIVE NONLINEAR CROSS COUPLING CON TROLLER ......... ..... .... ................ ...................... ........ .... 56 7.1 ThreeAxis Computer Numerical Control (CNC) Machine Tool D y n a m ic s .................................................. ................ 5 6 7.2 C control D evelopm ent........................................... .......................... 61 7.2.1 C control O bjective...................................... ......................... 61 7.2.2 ClosedLoop Error System .................................... ............... 61 7.2.3 Stability A nalysis....................................... ......... ............... 62 7.3 Unknown Disturbance Extension ................................... .................64 7.3.1 C control Form ulation.................................... ........ ............... 64 7.3.2 Stability A nalysis....................................... ......... ............... 67 7.4 Implementation Method............................................ ............... 67 8 EX PERIM EN TAL RE SU LTS .................................................... .....................70 8 .1 S qu are P ath ............................................................72 8.2 Diamond Path.............. ............................ .........73 8 .3 C ircu lar P ath ...........................................................74 9 CONCLUSIONS AND FUTURE WORKS .............................. ................93 APPENDIX A SPECIFICA TION S OF TEST BED ........................................... .....................95 B MEASUREMENT OF X AND YAXIS INERTIAL PARAMETERS...............97 B.1 Equivalent M oment of Inertia of Xaxis ................................................97 B.2 Total Moving Mass of Yaxis............................................... 98 C USERWRITTEN SERVO ALGORITHMS FOR TRADITIONAL CROSS COU PLIN G CON TR OLLER .................................................... ............... ............99 C. 1 UserWritten Servo Algorithm for Traditional Cross Coupling Controller (Linear Contour)................................................................ 100 C.2 UserWritten Servo Algorithm for Traditional Cross Coupling Controller (Circular Contour) ...................................... ............... 101 D IMPORTANT VARIABLES SETUP FOR TRADITIONAL CROSS COUPLIN G CON TROLLER ................................................... .................. 103 E DERIVATION OF LINEAR REGRESSION MATRIX ....................................104 F USERWRITTEN SERVO ALGORITHM FOR ADAPTIVE NONLINEAR CROSS COUPLING CONTROLLER .........................................................106 F.1 UserWritten Servo Algorithm for Adaptive Nonlinear Cross Coupling Controller (Linear Contour) .................... ............. ............................ 106 F.2 UserWritten Servo Algorithm for Adaptive Nonlinear Cross Coupling Controller (Circular Contour) ....................................... ............... 109 G EXPERIMENTAL RESULTS FROM GRID PLATE ........................................114 L IST O F R E F E R E N C E S ...................................................................... ..................... 125 BIOGRAPHICAL SKETCH ............................................................. ............... 128 LIST OF TABLES Table pge 31 Summary of the obtained Jeq ........... ............................... ...... ...................22 32 Summary of the obtained M ....................... ......................... 27 41 Proportional and derivative gain tuning for the xaxis..........................................37 42 Proportional and derivative gain tuning for the yaxis..........................................39 51 Proportional, derivative and feedforward gain tuning for the xaxis .....................45 52 Proportional, derivative and feedforward gain tuning for the yaxis .....................47 81 Feedrates and accelerations for each path. ............. .......................... ............... 72 82 Comparison of contouring performance for circular path................... ............91 83 Comparison of control effort for circular path. ................. .............................. 92 Ai Specifications for the x and zaxis servomotor................................................. 95 A2 Specifications for the yaxis linear motor. .................................... .................95 A3 Specifications for the yaxis linear encoder. ................................. .................96 A4 Specifications for the x and yaxis hydrostatic guide way. ...................................96 A5 Specifications for the x and zaxis amplifier. ................................. ...............96 A6 Specifications for the yaxis amplifier. ....................................... ............... 96 B1 Mass of linearly moving components in the xaxis .......................................97 B2 Moment of inertia of rotational components in the xaxis.................................97 B3 Mass of moving components in the yaxis........... ................ ..............98 D1 Important I variables setup for the traditional CCC implementation.....................103 Gl Comparison of contouring performance for circular path................................. 124 LIST OF FIGURES Figure pge 11 Contour error in machining a contour. ............................... .. ........................ 1 12 Feedback controller for a single axis drive system. ................................................2 13 Feedforward controller for a single axis drive system. ............................................3 14 Axial and contour errors for different cutter locations.............................................4 15 Cross coupling controller for a biaxial drive system ...............................................5 21 Highspeed milling machine (H SM 2)......................................................................9 22 Guideways for (a) xaxis, (b) yaxis and (c) zaxis ........... ..................................12 23 Schematic diagram of electrical components for the HSM2.............................. 13 24 Interface modules for (a) x and zaxis and (b) yaxis. ...........................................14 25 Amplifiers for (a) x and zaxis and (b) yaxis .............. .......................................14 31 Simplified system block diagram of the HSM2 ............. ..... .................15 32 Block diagram of the Turbo PMAC2 servo loop ............................... ...............16 33 Block diagram of the Turbo PMAC2 current loop. ........................................17 34 Block diagram of the xaxis electromechanical feed drive system..........................18 35 Block diagram of the yaxis electromechanical feed drive system .........................18 36 Sample friction measurement on xaxis feed drive ............................................20 37 Viscous friction measurement on xaxis feed drive. ..........................................20 38 Sample moment of inertia measurement on xaxis feed drive. ..............................22 39 Comparison of simulation to actual system (xaxis position loop)........................24 310 Sample friction measurement on yaxis feed drive ............................................26 311 Viscous friction measurement on yaxis feed drive. ..........................................26 312 Sample mass measurement on yaxis feed drive.....................................................27 313 Comparison of simulation to actual system (yaxis position loop)........................29 314 Sensitivity of the xaxis viscous friction coefficient............... .............................31 315 Sensitivity of the xaxis equivalent moment of inertia. ................. ............... 31 316 Sensitivity of the yaxis viscous friction coefficient............... ............................32 317 Sensitivity of the yaxis m ass............... ......................................... ..................... 32 318 The twodimensional grid encoder set up in HSM 2. ............. ............... 33 41 Motion command for controller performance evaluation. .....................................35 42 The PID tuned xaxis response to 0.5 m/s motion command..............................38 43 The PID tuned yaxis response to 0.5 m/s motion command..............................40 44 Contour error before balancing PID controller servos .......................................41 45 Contour error after balancing PID controller servos.............................................41 51 The feedforward scheme in Turbo PMAC2........................................................44 52 The PID and feedforward tuned xaxis response to 0.5 m/s motion command.......46 53 The PID and feedforward tuned yaxis response to 0.5 m/s motion command......48 54 Contour error before balancing PID and feedforward controller servos..................50 55 Contour error after balancing PID and feedforward controller servos...................50 61 Cross coupling controller for a biaxial drive system............... ............................51 62 Linear contour error. ................................................ ...............53 63 C circular contour error .............................................................................. .... ........54 71 Tim evarying coordinate fram e ................................................................... ....... 58 72 The 2D plane curve parameterization. .......................................... ............... 67 81 Square path on the xy plane. ...... ......................................................................70 82 Diam ond path on the xy plane. ........................................ ......................... 71 83 Circular path on the xy plane. ..... ...................................................................... 71 84 Comparison between motor encoder data and grid plate data in square path. (0 .2 m /s feedrate)................................................ ................ 7 6 85 Comparison between motor encoder data and grid plate data in square path. (0 .4 m /s feedrate)................................................ ................ 7 7 86 Comparison of corner behaviors in square path with 0.2m/s feedrate ...................78 87 Comparison of contouring performance in square path with 0.2m/s feedrate. ........79 88 Comparison of corner behaviors in square path with 0.4m/s feedrate ...................80 89 Comparison of contouring performance in square path with 0.4m/s feedrate. ........81 810 Comparison between motor encoder data and grid plate data in diamond path. (0 .2 m /s feedrate)................................................ ................ 82 811 Comparison between motor encoder data and grid plate data in diamond path. (0 .4 m /s feedrate)................................................ ................ 83 812 Comparison of corner behaviors in diamond path with 0.2m/s feedrate. ...............84 813 Comparison of contouring performance in diamond path with 0.2m/s feedrate......85 814 Comparison of corner behaviors in diamond path with 0.4m/s feedrate. ...............86 815 Comparison of contouring performance in diamond path with 0.4m/s feedrate......87 816 Comparison between motor encoder data and grid plate data in circular path. (0 .2 m /s feedrate)................................................ ................ 8 8 817 Comparison between motor encoder data and grid plate data in circular path. (0 .4 m /s feedrate)................................................ ................ 89 818 Comparison of contouring performance in circular path with 0.2m/s feedrate........90 819 Comparison of contouring performance in circular path with 0.4m/s feedrate........90 820 Comparison of contouring performance in circular path with 0.4m/s feedrate. (0 .06m radiu s). ..................................................... ................. 9 1 C1 Traditional CCC implementation on HSM 2. ................................... ..................... 99 G1 Comparison of corner behaviors in square path with 0.2m/s feedrate.................15 G2 Comparison of contouring performance in square path with 0.2m/s feedrate. ...... 116 G3 Comparison of corner behaviors in square path with 0.4m/s feedrate.................17 G4 Comparison of contouring performance in square path with 0.4m/s feedrate. ...... 118 G5 Comparison of corner behaviors in diamond path with 0.2m/s feedrate. ............19 G6 Comparison of contouring performance in diamond path with 0.2m/s feedrate....120 G7 Comparison of corner behaviors in diamond path with 0.4m/s feedrate. ............121 G8 Comparison of contouring performance in diamond path with 0.4m/s feedrate....122 G9 Comparison of contouring performance in circular path with 0.2m/s feedrate......123 G10 Comparison of contouring performance in circular path with 0.4m/s feedrate......123 G11 Comparison of contouring performance in circular path with 0.4m/s feedrate. (0.06m radius). ......................................................................124 Abstract of Dissertation Presented to the Graduate School of the University of Florida in Partial Fulfillment of the Requirements for the Degree of Doctor of Philosophy DESIGN OF CONTROLLERS FOR IMPROVING CONTOUR ACCURACY IN A HIGHSPEED MILLING MACHINE By Jinho Lee December 2005 Chair: John C. Ziegert Cochair: Warren Dixon Major Department: Mechanical and Aerospace Engineering The quality of products from a machine tool system is largely determined by the tolerances maintained, which is a function of how well the desired contour is tracked. This contouring performance is usually degraded in nonlinear motions with high speed feedrates. To mitigate contour errors in a highspeed machine tool system, several control strategies on the threeaxis milling machine (HSM2) were investigated in this research. For efficient design of controllers, accurate models for axes dynamics of HSM2 were developed. Specifically, the important parameters for system modeling such as equivalent moment of inertia, mass and friction coefficients of each axis were found experimentally and the sensitivity analysis of these parameters was performed. The developed models for axes dynamics were verified by comparison between simulation and experiment. Based on identified system models, as conventional control schemes, the proportionalintegralderivative (PID) and feedforward controllers were designed first. These controllers focus on the improvement of the individual axis performance only rather than the contouring performance resulted from the combined motions of the axes. To directly reduce the contour error, the cross coupling controller (CCC) proposed by Koren was used. This controller requires the construction of a contour error model in real time and its utilization in a control law that reduces the contour error. The coordinate transform technique allows the decomposition of error components into the tangential, normal and binormal direction in threedimensional system, which easily draws contour error models for general motions. Based on the transformed error system, standard adaptive nonlinear control methods were applied to compensate for uncertain inertial and friction parameters. A Lyapunovbased analysis was used to prove global asymptotic contour tracking for an arbitrary contour. Each control scheme was implemented on HSM2 and the contouring performance was examined experimentally. Experimental results showed that the effectiveness of proposed adaptive nonlinear controller compared to the PID, feedforward controller and the traditional CCC. CHAPTER 1 INTRODUCTION There are two types of computer numerical control (CNC) machines: the pointto point (PTP) type and the contouring type. For the PTP type, it is sufficient to position the machine axis at the target point with good accuracy. However, for the contouring type, besides the target positioning performance, the actual spatial path resulting from the combined motions of the axes is also important. Generally, CNC machine tool systems are of the contouring type. In the CNC machine tool system, the contour error can be used as a metric of how close the actual tool path is to the desired tool path. The contour error, e, is the error component orthogonal to the desired tool path. The contour error in a twodimensional contouring system (XY feed drive system) is shown in Figure 11. Contour error sources in machining can be classified into three categories: mechanical hardware deficiencies (e.g., backlash, nonstraightness of the table); cutting Y axis R X axis E E P Tool Actual path Where: R = Reference tool position P = Actual tool position Ex = Xaxial error E = Yaxial error Figure 11. Contour error in machining a contour. process effects (e.g., tool deflection due to cutting force, tool wear); and controller and drive dynamics. In this dissertation, only the third set of error sources will be considered. Controller and drive dynamics error sources can be further divided into three subcategories: the mismatch in axialloop parameters, external disturbances, and the contour shape in nonlinear trajectories and covers. In general, the contour error due to all these sources increases as the feedrate increases [1]. Therefore, a more effective servo controller is needed for highspeed machining, which requires highspeed contouring motions. 1.1 Controllers Different kinds of controllers have been proposed to reduce contouring errors. 1.1.1 Feedback Controllers Feedback controllers are common and widely used in CNC machine tools. As a typical feedback controller, proportionalintegralderivative (PID) controller, is shown in Figure 12. In the PID controller, the correction signal is a combination of three components: proportional, integral, and derivative of the position error. The advantage of the PID controller is that it is simple to install and easily understood by most engineers. The main problem with the PID controller in contouring applications is the poor tracking performance at corners and during nonlinear contours [1]. Required position Error Control Actual position Figure 12. Feedback controller for a single axis drive system. 1.1.2 Feedforward Controllers To decrease the tracking errors, a feedforward controller can be added to the control loop. One example of the common feedforward controllers is shown in Figure 1 3. The feedforward controller attempts to implement G, '(z) that is the inverse of the transfer function close to the real control loop, G(z). Since G,' (z)G(z) 1, the actual position theoretically becomes equal to the desired position. Novel feedforward controllers, including the zero phase error tracking controller (ZPETC) and the inverse compensation filter (IKF) have been developed by Tomizuka [2] and Weck and Ye [3] respectively. Although the error reduction ability of these controllers is remarkable, they have the major drawback that they require precise knowledge of the dynamic behavior of the actual drive system [1]. G(z) ,R 1+ E U G\(z) (HOz) Dfz) Where: H(z) = Controller, D(z)= Drive unit Go1 (z) = Feedforward controller Figure 13. Feedforward controller for a single axis drive system. 1.1.3 Robust Controllers Examples of robust controllers are the sliding mode controller and the H" controller. These controllers focus on making the control system robust against uncertainties in the drive parameters, maximizing the bandwidth within the physical limitations of the system, and compensating for external disturbances [4]. However, these controllers still focus on the improvement of the individual axis performance only. The main drawback of these methods, which consider the performance of each axis separately during contouring, is that reducing the individual axis errors does not necessarily reduce the contour error. In Figure 14, reductions in the position error of the individual axes shift the actual cutter location from point P to point P Although the axial errors E' and E' at point P are smaller than Ex and E the contour error at P is larger than that at P. To address this problem, the cross coupling controller is introduced. Y axis P* P" E" E,' Desired path Ey P' Ep, P Ex X axis Figure 14. Axial and contour errors for different cutter locations. 1.1.4 Cross Coupling Controllers The main idea of the cross coupling controller is that the elimination of the contour error is the controller objective, rather than the reduction of the individual axis errors [5]. Therefore, the cross coupling controller requires the construction of a contour error model in real time, and its utilization in a control law that reduces the contouring error. A block diagram of a basic biaxial cross coupling controller is shown in Figure 15. The axial position errors Ex and Ey are used to determine the contour error e by being multiplied by the variable gains, Cx and C,. The output of the proper control law, W(z) is decomposed into two axial components by multiplying by Cx and C,. These axial components are then inserted into the individual axis loops with the appropriate sign ensuring that contour error correction is executed in the proper direction. Axial Control error command Ex Axial + Ux v controller r ^ ~         Cx Cx S) Cross coupling S W(z) controller +' I   _  _ Axial + Ey controller U Axial Control error command Figure 15. Cross coupling controller for a biaxial drive system. 1.2 Literature Review of Cross Coupling Controllers The concept of the cross coupling controller (CCC) was first proposed by Koren in 1980 [5] and the timevarying gain was introduced by Koren and Lo to construct the accurate contour error model [6]. Yeh and Hsu [7, 8] combined the CCC strategy with the ZPETC method using a contouring error transfer function (CETF). The resulting linear singleinput singleoutput (SISO) error system was proven to yield boundedinput boundedoutput (BIBO) stability. Yeh and Hsu also proposed a modified variablegain CCC [9] that directly applies to arbitrary contours. Specifically, a linear contour approximation is used in lieu of the actual contour error as a means to reduce the computational complexity. Kulkarni and Srinivasan developed and experimentally tested an optimal controller based on a linear feed drive model for a multiaxis feed drive system [10]. Their conclusion is that improved performance may be obtained by designing the controller using a higher order linear model. Moreover, they stated that the unmodelled nonlinear dynamics seemed to play a significant role in the experimental demonstration. A CCC for a biaxial feed drive system was also developed and experimentally tested [11]. However, the CCC in this research was still designed based on a linear model of the machine. Chen et al. [12] used a polar coordinate representation of the contour error so that a linear relationship between the contour error and the radial position can be developed. Through the use of the polar coordinate representation, the control objective is formulated as a stabilization problem for which a feedback linearizing controller was developed [12]. Difficulties in obtaining an accurate nonlinear model of crosscoupled multiaxis machine tools motivated Yeh et al. [13] and Tarng et al. [14] to employ a fuzzy logic feedforward control component. Degraded contour tracking at highspeed feed rates due to the nonlinear crosscoupled dynamics motivated Chuang and Liu [15] to develop an adaptive estimate designed as a linear perturbed error model described using a deterministic autoregressive moving average (DARMA). An adaptive CCC feedforward scheme was also proposed [16]. However, as stated by Chiu and Tomizuka [17], the approach is limited to a linear coordination objective (i.e., the desired contour is a linear relationship between the axes). Motivated by the limitations in Tomizuka et al. [16], Chiu and Tomizuka [17] formulated the contour tracking problem in a task coordinated frame. Specifically, the result in Chiu and Tomizuka [17] encodes the desired contour as a combination of a feedrate, velocity direction, and instantaneous curvature, eliminating the need for an analytical contour representation. The controller was developed in Chiu and Tomizuka [17] for a linear timevarying error system under the assumption of exact model knowledge. Also under the assumption of exact model knowledge of the dynamics except for an additive bounded disturbance, Chiu and Yao [18] developed an adaptive robust contour tracking controller where the problem was formulated as a regulation objective. More recently, Xu and Yao [19] developed another adaptive robust controller using a discontinuous adaptive estimate for a linear motor driven XY table with uncertainty in the nonlinear dynamics. 1.3 Task Specification The focus of this research is to develop accurate models for axes dynamics of high speed milling machine (HSM2) and investigate the contouring performance of several control strategies. Through the axes dynamics modeling, system parameters such as equivalent moment of inertia, mass and friction coefficients will be found. Then developed models will be verified by the comparison between simulation and experiment. Based on the identified system model, several conventional controllers (PID controller, feedforward controller and traditional CCC) will be designed and implemented on HSM2 for contour error reduction. Then, as an advanced CCC, the Lyapunovbased adaptive nonlinear CCC will be proposed. This CCC development is inspired by the task coordinated problem formulation introduced in the recent effort [17]. Specifically, standard adaptive nonlinear control methods will be applied to the transformed cross coupled machine dynamics to compensate for uncertain inertial and friction parameters. Each control scheme will be implemented on HSM2 and the contouring performance will be examined experimentally. The organization of this dissertation is as follows. In Chapter 2, a threeaxis milling machine (HSM2) to be used as a test bed is described. In Chapter 3, the process of system identification for HSM2 is presented. Based on identified system models, several controllers are designed: PID controller in Chapter 4, feedforward controller in Chapter 5, traditional CCC in Chapter 6 and adaptive nonlinear CCC in Chapter 7. In Chapter 8, the contouring performance of each controller is examined experimentally. Concluding remarks follow in Chapter 9. CHAPTER 2 DESCRIPTION OF TEST BED The configuration of the threeaxis highspeed milling machine (HSM2) to be used as a test bed for this research is illustrated in Figure 21. Figure 21. Highspeed milling machine (HSM2). MiaPeb This machine was designed and built at the Machine Tool Research Center (MTRC) of the University of Florida by modifying the design of an existing machine constructed in the early 1980s. The original machine had conventional rotary drive systems with sliding contact bearing on all three axes. In the redesign, the sliding contact bearing guideways for the x and yaxes were replaced by the hydrostatic guideways. The xaxis, which supports the workpiece, retains a rotary servo motor and leadscrew, but the original ballscrew was replaced by a hydrostatic screw and nut [20]. The yaxis of the redesigned machine, which supports the column that contains the zaxis and spindle, is now driven by two large linear motors [20, 21]. Compared to the sliding contact bearing guideway, the hydrostatic guideway system increases the stiffness and damping of the carriages. The linear motors make it possible to position the heavy column with higher speed and accuracy compared to a conventional rotary motor drive. The Turbo PMAC2 controller from Delta Tau Data Systems Inc. is used as a controller. It performs the phase commutation for the servomotors and closes the current loop digitally providing the pulse width modulation (PWM) format for the motor power. Interface modules and amplifiers are used for the control and feedback signal delivery and magnification between the controller and the servomotor. The detailed description of the mechanical subsystem and the electrical subsystem of HSM2 follows in next sections. 2.1 Mechanical Subsystem 2.1.1 Xaxis The xaxis uses a hydrostatic ball screw/nut for the transmission and hydrostatic guideways to reduce friction and wear during machining. The photo of the table which is connected by the hydrostatic ball screw/nut and the hydrostatic guideways is shown in Figure 22 (a). The xaxis is driven by a three phase AC rotary servomotor attached on the end of the hydrostatic leadscrew through a coupling. Position feedback is provided by a rotary encoder attached on the rotor of the servomotor. 2.1.2 Yaxis As shown in Figure 22 (b), the yaxis also has hydrostatic guideways. Two linear motors are used to drive the axis. The rotors, or moving parts of the linear motors, which include the coil, are attached on the sides of the column. The stators, or stationary parts of the linear motors, which contain the permanent magnets, are attached on the outer walls of the machine base. Position feedback is provided by a single linear encoder attached on the end of the column. 2.1.3 Zaxis This machine was designed for parts where the tool path is primarily generated by x and yaxis motions, while the zaxis provides the depth of cut during the machining. The zaxis is driven by an identical motor to that used for the xaxis. Conventional rolling element guideways shown in Figure 22 (c) are used in conjunction with a ballscrew for the zaxis. Position feedback is provided by a rotary encoder attached on the rotor of the servomotor. Detailed specifications of each motor, the encoder and the xand yaxis guideways are in Appendix A for reference. 2.2 Electrical Subsystem The electrical components for HSM2 are comprised of the controller, interface modules and the amplifiers, as shown in Figure 23. P ua,)= I I I A I a(b) Figure 22. Guideways for (a) xaxis, (b) yaxis and (c) zaxis. 2.2.1 Controller The Turbo PMAC2 from Delta Tau Data Systems Inc. is used as a controller. This controller uses a 80 MHz DSP56303 CPU as the main processor providing up to 110 ti second loop closure time for up to eight simultaneous axes. The Turbo PMAC2 controller in HSM2 performs the phase commutation for the servomotors and closes the current loop. Modem servo motor controls employ current control loops for high response, tolerance of parameter variation and protection against over current conditions. While this has traditionally been performed in the servo drive, the Turbo PMAC2 is capable of closing the current loop digitally. That means that the current control loop is closed by using digital computation operating on numerical values in registers rather than by using analog processing operating on voltage levels with Figure 23. Schematic diagram of electrical components for the HSM2. operational amplifiers. This digital closure of the motor current loop creates phase voltage commands from numerical registers representing commanded and actual current values. These numerical phase voltage commands are converted to the pulse width modulation (PWM) format through digital comparison to an up/down counter that creates a digital saw tooth waveform [22]. 2.2.2 Interface Modules Since the Turbo PMAC2 hardware itself is not designed to be connected directly to drives and encoders, interface modules are required. IBT002 from the Electro Craft is used for x and zaxes and ACC8F from Delta Tau Data Systems Inc. is used for yaxis (See Figure 24). The output of the interface module is a direct PWM signal which can be used for the halfbridge of the three phases motor. The inputs are the encoder position signal for the position feedback and the current from motor coils for the current feedback. 2.2.3 Amplifiers The input to the amplifier is the PWM on/off signal which is delivered from PMAC2 through the interface module. The main purpose of the amplifier in HSM2 Figure 24. Interface modules for (a) x and zaxis and (b) yaxis. is magnification of the direct PWM signal to provide the power for the motors. For the x and zaxis amplifiers, PWM150 and PWM075 amplifiers from the Electro Craft are used. For the yaxis amplifier, the quad amplifier from the Delta Tau Data Systems Inc. is used (see Figure 25). Specifications of the amplifiers are in appendix A for reference. Figure 25. Amplifiers for (a) x and zaxis and (b) yaxis. In next chapter, the dynamic parameters such as equivalent moment of inertia, mass and friction coefficients of the x and yaxis in HSM2 will be obtained through system identification. Then, the models for axes dynamics will be verified by comparison between simulation and experiment. ~i G CHAPTER 3 SYSTEM IDENTIFICATION 3.1 System Modeling The first step toward achieving maximum performance from any system is to develop an accurate model of the system. System modeling and parameter identification allows the bandwidth or stability of the system to be estimated and realistic goals can be set for the system performance. Use of the model to evaluate new controller designs in simulation can save considerable time in achieving desired performance goals. Since the research in this dissertation focuses on reduction of the contour error in the xy machining plane, only the x and yaxis system identifications are described. Each axis is comprised of four main components: the controller, the amplifier, the motor and the moving table. The simplified system block diagram for an axis of HSM2 is shown in Figure 31. The system block diagram also can be divided by three categories as follows: the position feedback, the current feedback and the electromechanical feed drive system, which are described in following subsections. Command lo A 1 1 Table Actual Input Controller k Amplifier t Motor Table Oputu Position Feedback Figure 31. Simplified system block diagram of the HSM2. 3.1.1 Position Feedback The Turbo PMAC2 closes a position servo loop digitally for each controlled motor. The purpose of the position servo loop is to attempt to make the actual position for the motor match the commanded position at each instant in time. The detailed block diagram for the position feedback is shown in Figure 32. The Turbo PMAC2 is designed to allow the use of PID, feedforward and notch servo filters. These are easy to understand and tune, yet powerful enough to provide good control of the many systems. The feedback to the position servo loop is the position signal from encoders. Feedforward controller Kvff(1 z1) Kaff(12z +Z2) + Notch filter Kp: Proportional gain 1 Reference + + + +dl1z+d22z Position + 1+nllz+n22z 1z1 K,: Integral gain Kd(1Z1) Kd: Derivative gain Position Feedback Figure 32. Block diagram of the Turbo PMAC2 servo loop [22]. 3.1.2 Current Feedback The current control loop is performed by the Turbo PMAC2 controller. The detailed block diagram for the current feedback portion which includes some parts of the controller, amplifier and motor is shown in Figure 33. The command current which is generated from the position servo loop is compared with the actual current which is measured from the motor coil. Inside the current loop, the prescaled quadrature current form is used for the digital calculation. Therefore, for the feedback, the analogtodigital converter (ADC) and the conversion from the three phase form (abc) to the direct/quadrature (dq) form of current must be used. The output commands are in the format of a digital PWM signal, and this signal activates the motor through the amplifier. Forward path Proportional/Integral gain PWM P to PWM Motor abc PWM Back path Proportional gain b4 ADCJ to dq 4 ADC dq Figure 33. Block diagram of the Turbo PMAC2 current loop [22]. 3.1.3 Electromechanical Feed Drive System The detailed block diagrams for electromechanical feed drive system in the x and yaxes are shown in Figure 34 and Figure 35 respectively. For the xaxis electromechanical feed drive system, the viscous friction coefficient (Bx) is comprised mainly of two components. The first is the viscous shear of the oil between the hydrostatic screw and nut inside the transmission. The second viscous friction component is due to the viscous shear present in the hydrostatic guideways. Since the linear motor is used to directly drive the yaxis, no transmission is required. Therefore the viscous shear present in the hydrostatic guide way is the only component for the viscous friction coefficient (By) in the yaxis electromechanical feed drive system. The equivalent inertia term Jeq refers to the total inertia the servo motor must overcome when accelerating the x axis rotary drive. This value is comprised of two components. The first is the inertia of the servo rotor, coupling and screw which are all rotating at the same speed. And the second is the reflected inertia of the linear moving parts (e.g., table, nut, etc.). For the y axis, the mass, M represents the total moving mass along the yaxis. The column, spindle and rotors of the linear motors are included. These four system parameters, Bx, By, Jeq and Mmust be found through experiment or by calculation, and this is the main content for this chapter. Torque Motor Motor coil constant mechanical Integrator + VI J cu T ae mLs+R JeqS+Bi InS  constant V= voltage /= current T= torque w = angular velocity 0 = angle Figure 34. Block diagram of the xaxis electromechanical feed drive system. Motor Motor coil Forcefto Motor coil cotant mechanical Integrator + V v Ls+R Ms+By s Back EMF constant V= voltage = current F= force v= velocity y= position Figure 35. Block diagram of the yaxis electromechanical feed drive system. 3.2 Xaxis System Modeling and Verification 3.2.1 Modeling the Viscous Friction Coefficient (Bx) Due to the difficulty of modeling the viscous shear between the hydrostatic screws and nuts inside the transmission, the combined viscous friction on the xaxis feed drive is measured directly. This is accomplished by commanding a constant velocity feedrate on the xaxis and recording the current output from the servomotor. From Figure 34, the motor torque can be expressed as: T= Jeq +Bxo). (31) Once the feed drive reaches the constant command velocity, the acceleration term, 6d in Eq. (31) is equal to zero. This results in the relationship shown in Eq. (32) between the axis feedrate o and motor torque T T = B,). (32) Multiplying the root mean square (RMS) current by the torque constant of the servomotor (K,) results in the instantaneous motor torque. Therefore the final equation for Bx can be formulated as shown in Eq. (33). Bx= IK .707 (33) 0) The current from the servomotor coil is measured at different feedrates. An example of the current and feedrate data is provided in Figure 36, which shows the measurement taken at a constant feedrate of 50.27 rad/sec. The average values for the feedrate and the current in the constant command velocity are obtained. From these measurements, the motor current is plotted as a function of the feedrate as shown in Figure 37, where the actual data points are represented by dots and the solid line is a linear regression fit to the data. Based on this measurement and using Eq. (33), a viscous friction coefficient of xaxis is obtained as follows. I Bx = K, .0.707 = 0.0214(A/rad/sec).1.14(Nm/A) 0707 = 0.01725(Nm/rad/sec). a) (34) E o 0) 0 CD 3 2.5 2 1.5 4 S1 0.5 0 30 40 20 0 20 0 10 5 0 5 10 0 50.6 50.4 50.2 50 49.8 2 3 4 times) 5 10 2 3 4 5 times) times) Figure 36. Sample friction measurement on xaxis feed drive. y = 0.0214x + 1.2184 R2 = 0.9727 0 10 20 30 40 50 60 7( feedrate (rad/sec) Figure 37. Viscous friction measurement on xaxis feed drive. M!NL; ., . 5 6  5 times)   \   3.2.2 Modeling the Equivalent Moment of Inertia (Jeq) The equivalent moment of inertia can be estimated by measuring dimensions of all components which contribute to the moment of inertia in the xaxis feed drive system. But due to the difficulty of measuring the exact dimensions of all components, the equivalent moment of inertia on the xaxis feed drive is also obtained experimentally. Eq. (31) can be rearranged to give: TBxo IK, 0.707Bo Jeq (35) Sample current and feedrate data are shown in Figure 38 for measurements taken at a constant acceleration of 188.5 rad/sec2. The average values for current and feedrate are obtained during the constant acceleration period. From these measurements, the equivalent moment of inertia can be calculated using Eq. (35). Table 31 shows the summary of the obtained values for Jeq through several experiments using different feedrates and accelerations. The equivalent moment of inertia of xaxis estimated by measuring dimensions of components is shown in Appendix B for reference. 3.2.3 Modeling Verification The developed model for the xaxis feed drive system is compared to the actual machine to verify its accuracy. Using the Turbo PMAC2, the ramp command is issued to the xaxis drive with both the current and the position feedback loops closed. The commanded feedrate is 20 mm/s. During the moves, the commanded position calculated by the CNC and the actual position sampled from the encoder is written to a data file for later comparison to the MATLAB Simulink feed drive model. 0 2 J 20 6 1 1.8 1.9 times) 16.5 16  15.5 1Z 14.5 14 6 1.7 1.8 1.9 2 2.1 times) Figure 38. Sample moment of inertia measurement on xaxis feed drive. Table 31. Summary of the obtained Jeq. Feedrate(rad/s) Acceleration(rad/s2) Current(A) Moment of inertia(kgm2) 50.3 189 15.2 0.0628 314 24.2 0.0608 503 36.7 0.0583 628 45.2 0.0575 62.8 189 15.3 0.0628 314 24.0 0.0602 503 37.0 0.0586 628 45.5 0.0578 69.1 189 15.0 0.0611 314 23.4 0.0583 503 36.1 0.0569 628 45.3 0.0576 81.7 189 15.0 0.0612 314 23.6 0.0586 503 36.1 0.0567 628 45.3 0.0574 Average 0.0591 times) 7 2 2.1 0 2 times)   ____  " _1 _ _1_ _ _ Figure 39 compares the response of the position loop on the actual machine Xact to that of the Simulink model Xmodel. Figure 39 (b) is a zoomed in view showing the beginning of the movement. By examining the response of the actual machine and the model, it can be seen that they agree very well. Based on this comparison, the accuracy of the model is considered adequate to proceed to designing controllers. 3.3 Yaxis System Modeling and Verification 3.3.1 Modeling the Viscous Friction Coefficient (By) The same procedure used for the xaxis is applied to the yaxis for modeling of the viscous friction. From the Figure 35, the force can be expressed as shown in Eq. (36). F = M + Byv (36) Once the feed drive reaches constant velocity, the acceleration term r* in Eq. (36) is equal to zero. This results in the following relationship shown in Eq. (37) between the axis feedrate v and motor force F . F = Byv (37) Multiplying the RMS current by the force constant of the servomotor (Kf,) results in the instantaneous motor force. Therefore the final equation for By can be formulated as shown in Eq. (38). S IK, *0.707 By = (38) v The current from the servomotor coil is measured at different feedrates. An example of the current and feedrate data is provided in Figure 310, for a measurement taken at a constant feedrate of 0.1 m/sec. From the current plots in Figure 310, it is noticed that the two linear motors behave in an exactly same way. Therefore the average 120 100  E 120 III   x 60 20 0 i 0 1 2 3 4 5 6 7 8 9 times) (a) 3 .5 .. .      .      .      E.5 31      I 54 .     S5 1 2 L 0 0 .5      I         _ x :Xsirn >< 5 5  ,, ,, ,, ,, ,, ,, ,,  ..   I  I   1    1.7 1.75 1.8 1 85 1.9 1.95 2 205 2.1 2.15 2  ' times) (b) Figure 39. Comparison of simulation to actual system (xaxis position loop). (a) overall view, (b) zoomed in view. view, (b) zoomed in view. values for the feedrate and the current can be obtained from either of the two plots. From these measurements, motor current is plotted as a function of the feedrate as shown in Figure 311, where the actual data points are represented by dots and the solid line is a linear regression fit to the data. Based on this measurement and using Eq. (38), a viscous friction value is obtained as follows, I B = Kf 0.707 =4.5(A/m/sec)304(N/A) 0707= 967(N/m/sec). (3.9) yv It should be noted that the actual viscous friction value for the yaxis hydrostatic guideways is twice since two motors are used on the axis and this value is obtained using the current for a single motor. 3.3.2 Modeling the Total Moving Mass (M) The same procedure used for the xaxis is applied to the yaxis to model the total moving mass. The Eq. (36) can be rearranged to give: FByv IKf 0.707Bv M= Yy (310) v v An example of the current and feedrate data is shown in Figure 312 for measurements taken at a constant acceleration of 800 mm/sec2. The average value for current and feedrate are obtained during the constant acceleration period. From this measurement, the total moving mass can be calculated using Eq. 310. Table 32 shows the summary of the obtained values for Mthrough several experiments using different feedrates and accelerations. The total moving mass of yaxis estimated by measuring dimensions of components is shown in Appendix B for reference. y axis 1 3' 0.2 a, 0 3 0.2 0 0 2 4 6 5 ) 5 S 0 2 4 6 0.105 0.1 S0.095 2 3 4 5 12 S00 2 3 4 5 times) 0.2 0 0.2 3 0 5L 3 0 y axis 2 2 4 6 8 2 4 6 8 0.105 0.1 0.095  3 2 3 4 5 3 2 3 4 5 6 times) Figure 310. Sample friction measurement on yaxis feed drive. y = 4.497x + 0.5859 R2 = 0.9362 0.05 0.15 feedrate(m/s) 0.25 Figure 311. Viscous friction measurement on yaxis feed drive. y axis 1 0.5L 6 0 " 0.5 E a) 0 S0.5 4 0 10 0 o 10 0 n 0.4 E S0.2 0 S1.6 10 r S5 a 0 3) o 0 1.6 0 I I I 1.7 1.8 1.9 2 1 S 1 1 10 .6 1.7 1.8 1.9 2 V 5 0I I 1.7 1.8 1.9 2 1.6 times) 1.7 1.8 1.9 2 time Figure 312. Sample mass measurement on yaxis feed drive. Federate(m/s) 0.15 Table 32. Summary of the obtained M. Acceleration(m/s2) 0.26 0.32 Average 6 0 Mass(kg) 1153 1196 1146 1274 1148 1100 1158 1123 1029 1149 1140 1116 1144 y axis 2 rl IJ'~ 3.3.3 Modeling Verification Using the Turbo PMAC 2, a ramp command is issued to the yaxis drive with both the current and position feedback loops closed. The commanded feedrate is 40 mm/s. During the moves the commanded position calculated by the CNC and the actual position sampled from the encoder are written to a data file for later comparison to the MATLAB Simulink feed drive model. Figure 313 compares the response of the position loop on the actual machine Yact to that of the Simulink model Ymodel. Figure 313 (b) is a zoomedin view showing the beginning of the movement. By examining the response of the actual machine and the model, it can be seen that they agree very well. Based on this comparison, the accuracy of the model is considered high enough to proceed to designing controllers. 3.4 Sensitivity of Model Parameters This section shows how the change of the obtained model parameters can affect the accuracy of the system model. To observe the sensitivity of model parameters, the simulated open loop system response is compared to the actual open loop system response while model parameters in simulation are changed. Since model parameters can be reflected more clearly in the open loop system than in the closed loop system, the open loop system response is chosen. The constant current command is given as an open loop system input and the position and velocity output of the motor are monitored. These actual position and velocity profiles are compared to the simulation results using MATLAB Simulink feed drive model. The sensitivity of the xaxis viscous friction coefficient is shown in Figure 314 where the solid line stands for the experimental result and the dotted lines stand for 250 200      200 .... ......... ........... ..    E >I 15 0        . .  . 0 150 E >n E 50      0 1 2 3 4 5 6 7 8 9 10 times) (a) 15 E E 10 0 (U E  5 5 1.4 1.6 1.8 2 2.2 2.4 2.6 times) (b) Figure 313. Comparison of simulation to actual system (yaxis position loop). (a) overall view, (b) zoomed in view.       Ysim     Ycmd Yact rf??^^    , . . r  .. r r. simulation results. The original value (0.01725 Nm/rad/sec) for the viscous friction coefficient is changed from 40% to 40% (i.e. 0.0104, 0.0138, 0.0207 and 0.0242 Nm/rad/sec) through the simulation. Similarly, Figure 315, Figure 316 and Figure 317 show the sensitivity of the xaxis equivalent moment of inertia, the yaxis viscous friction coefficient and the yaxis moving mass respectively. From these figures, we can conclude that the obtained parameters are applicable. These figures also give us the understanding the behavior of the system being modeled. To determine the parameter for which it is important to have more accurate values, following comparisons are executed. Through the comparison between Figure 314 and Figure 315, it is shown that the parameter of the equivalent moment of inertia is more sensitive than the viscous friction coefficient for the xaxis. Similarly, for the yaxis, the parameter of the mass is more sensitive than the viscous friction coefficient. To compare the sensitivity of the xaxis viscous friction coefficient with the yaxis, in position profile of Figure 314 and Figure 316, the displacements at certain time lapse are compared. In result, it is shown that the yaxis viscous friction coefficient is more sensitive than the x axis. Similarly, for the inertia parameter, the yaxis mass is more sensitive than the xaxis equivalent moment of inertia. 3.5 Reversal Error of Xaxis The xaxis is driven by a three phase AC rotary servomotor attached on the end of the hydrostatic leadscrew through a coupling. Since the xaxis uses a hydrostatic ball screw and nut for the transmission, backlash between the ball screw and nut may exist, which causes a reversal error. Flaws in the axis leadscrew or leadscrew mounting can also cause a reversal error. Reversal error appears when an axis is being driven in one direction and then has to reverse and move in the opposite direction. position profile(dot simulation line experiment) lime velocity proile(dot simulation line experiment) Figure 314. Sensitivity of the xaxis viscous friction coefficient. position profile(dot simulation line experiment) 60  20% O  0% 40   . ; . .. . . . .I .    ; .     ..;   .  . y / ~ ~ i : : : : : 20% 30 20 10 25 3 time 'oile(dot simulation line experiment) 5 4 45 5 Figure 315. Sensitivity of the xaxis equivalent moment of inertia. 15 2 velocity i 32 position profile(dot simulation line experiment) velocity profile(dot simulation line experiment) Figure 316. Sensitivity of the yaxis viscous friction coefficient. position profile(dot simulation line experiment) Figure 317. Sensitivity of the yaxis mass. To identify the xaxis reversal error, the twodimensional grid encoder is used for reading the absolute position of the table as shown in Figure 318. The encoder head is attached on the spindle and the grid plate is put on the table. The reversal errors are measured at the middle position of the xaxis. The experiment is repeated five times with different displacements. The resultant reversal errors are found to be 0.9 am, 1.8 am, 1 am, 1.8 am and 1.3 am. The average of these values is 1.36 am which is less than the resolution of the xaxis encoder (2 am). Therefore, the reversal error of the xaxis is disregarded in system identification. In next chapter, based on the identified axes models for HSM2, as a conventional feedback controller, the proportionalintegralderivative (PID) controller will be designed. The tuning procedure for each axis and the balancing technique between x and yaxis will be included in next chapter. Figure 318. The twodimensional grid encoder set up in HSM 2. CHAPTER 4 DESIGN OF THE PROPORTIONALINTEGRALDERIVATIVE CONTROLLER In this chapter, based on the identified axes model for HSM2, proportionalintegral derivative (PID) feedback controllers are designed. Since the Turbo PMAC2 controller has the PID control algorithm builtin, tuned PID gains can be directly assigned to HSM2 without making extra implementation algorithms. First, the PID gain tuning procedure for each axis is described. Then, servo parameters between the x and yaxes are balanced to improve contouring performance. 4.1 Tuning Procedures Instead of using traditional controller tuning techniques such as root locus and pole placement, typical motion commands, such as the one shown in Figure 41, were used as command inputs to the MATLAB Simulink feed drive model developed in the previous chapter to evaluate the performance of the PID control scheme. This tuning method is common and practical in machine tool system which normally includes the complexity of the axis dynamics, high friction and backlash. Furthermore, since the accuracy of the model has already been verified, use of the model to evaluate new controller designs can save considerable time when it comes to implementing the new control strategies to achieve the desired performance goals. The motion command shown in Figure 41 indicates that the axis travels 0.1 m in distance with 0.5 m/s feedrate and 4 m/s2 acceleration. This feedrate and the acceleration are chosen based on the maximum values which the x and yaxes of HSM2 can safely reach. If excessive feedrate and acceleration are used for HSM2 operation, HSM2 may be damaged, with the damage typically occurring as a scratch mark on the xaxis leadscrew. This is believed to be caused by excessive force between the ballscrew and hydrostatic nut, causing collapse of the hydrostatic oil film and direct metaltometal contact to occur. This metal contact creates the scratch mark on the leadscrew and this scratch mark prevents smooth movement of the xaxis table. Additionally, instability can occur in the yaxis as vibration between the two linear motors when the excessive feedrate and acceleration are used. 01 0 09  0.08         007        0 07     T     SO04    I 0 03     I/I  I   S02 I0 02   __'Iy T  T T, T, 0 01   /       _ 0 0 0 05 01 015 02 0.25 0.3 0 35 04 times) Figure 41. Motion command for controller performance evaluation. Given a commanded path profile, the tuning objective is to find the proper proportional (P), integral (I) and derivative (D) gains which make the system have the lowest following error without overshoot. The smaller following error means the quicker response. However, to make the system response faster usually results in overshoot which is undesirable in a precise machine tool. Therefore, there is a tradeoff between these two and tuning is simply the process of finding a good compromise between the two using P, I and D controller gains. Increasing P gain in an effort to reduce the following error results in an overshoot and an oscillatory response. The I gain reduces the steady state positioning error but could cause undesirable integral windup. The D gain is usually used as proportional derivative combined form when substantial inertia requires better transient response. 4.1.1 ProportionalIntegralDerivative Tuning for the Xaxis The PD tuning of the xaxis is completed first. Table 41 shows the simulation results for several combinations of P and D gain making the xaxis response to the command path without overshoot. In this table, P and D gains are values for the Turbo PMAC2 controller when the servo update time is 443 [tsec. The simulation result shows that the proper combination of large P and small D gains decreases the maximum following error (i.e., making system response faster) without causing overshoot. During experimental testing of these combinations, it was found that the larger P gain than 180000 and the smaller D gains than 7200 (indicated in shaded color in Table 41) cause physical damage to the xaxis leadscrew. This result shows that these gains can be considered as limit values to achieve the quickest response without overshoot in the x axis of HSM2. Therefore, the proper gains for the PD controller of the xaxis are selected as 180000 for the P gain and 7200 for the D gain. For the I gain tuning, the simulation and experiment both show that adding I gain increases the system overshoot without reducing the following error. The main reason of this phenomenon is integral windup. When the integral control effort is the saturated, the integral term holds the controller's output at saturation until the error is reduced to zero, which forces the system to overshoot and oscillation. For this reason, the I gain is not included in the PID controller for the xaxis. Figure 42 shows the response of the PID tuned (P=180000, I=0, D=7200) xaxis to the test command and the following error for this move. Table 41. Proportional and derivative gain tuning for the xaxis. P gain D gain Max. following error (mm) 140000 8200 14.18 150000 7900 13.66 160000 7600 13.15 170000 7400 12.79 180000 7200 12.44 190000 7000 12.10 200000 6800 11.75 210000 6600 11.41 220000 6500 11.23 230000 6300 10.90 4.1.2 ProportionalIntegralDerivative Tuning for the Yaxis The PD tuning is completed first for the yaxis. Table 42 shows the simulation results for several combinations of P and D gain making the yaxis response to the command path without overshoot. The simulation result shows that the proper combination of large P and small D gains decreases the maximum following error (i.e., making system response faster) without causing overshoot. During experimental testing of these combinations, it was found that the larger P gain than 80000 and the smaller D gains than 6100 (indicated in shaded color in Table 42) cause the nonacceptable vibration between the yaxis linear motors. This result shows that these gains can be considered as limit values to achieve the quickest response without overshoot in the y axis of HSM2. Therefore, the proper gains for the PD controller of the yaxis are selected as 80000 for the P gain and 6100 for the D gain. And for the same reason as the xaxis, the I gain is not included in the PID controller for the yaxis. Figure 43 shows the response of the PID tuned (P=80000, I=0, D=6100) yaxis to the test command and the following error for this move. 0.1 0.09 0.08 0.07 0.06 CD M 2 0.04 0.03 0.02 0.01 0 0.014 0.012 0.01 S0.008 S006 o 0.05 0.1 0.15 0.2 times) 0.25 0.3 0.35 0.4 Figure 42. The PID tuned xaxis response to 0.5 m/s motion command. (a) command and actual position, (b) following error. 0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 times) (a)         Xcmdl ...........1...... ........ 1... ... ..... ........ .   ./ /     .  . /     _        I           I       ~~~~~~     I          0 004 Table 42. Proportional and derivative gain tuning for the yaxis. P gain D gain Max. following error (mm) 50000 7800 13.49 60000 7100 12.27 70000 6600 11.40 80000 6100 10.54 90000 5700 9.86 100000 5400 9.34 110000 5200 8.98 120000 4900 8.47 4.2 Balancing Servo Parameters between the X and Yaxes Since the previously tuned x and yaxes feed drive systems have different servo parameters which include the controller and electromechanical system of each axis, the steady state following errors of each axis are different as shown in Figure 42 (b) and Figure 43 (b). Since the mismatch between x and yaxis servo parameters causes the poor contouring performance in xy coordinate motions, the servo parameters should be balanced through the control gain adjustment. Figure 44 shows the contour error for unbalanced axes when the x and yaxes are commanded to move simultaneously for 0.1 m displacement with 0.14 m/s feedrate and 0.28 m/s2 acceleration. The maximum absolute contour error which represents the difference between maximum and minimum is 380 tm. The simple way for balancing servo parameters between the x and yaxes is to change controller gains of one axis to have the similar following error to the other axis. As previously shown in Figure 42 (b) and Figure 43 (b), since the maximum steady state following error of the yaxis (10.54 mm) is smaller than xaxis (12.44 mm), the controller gain of yaxis should be changed so that the yaxis following error becomes similar to the xaxis following error. By adjusting the yaxis P and D gain as P=58000 and D=7200, the smallest contour error in xy coordinate motion can be achieved. Figure 45 shows the contour error for balanced 0.1 0.09 0.08 0.07 0.06 1 0.05 2 0.04 o03 0.03 0.02 0.01 U 0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.1 times) (a) 7    0 0.05 0.1 0.15 0.2 times) 0.25 0.3 0.35 0.4 Figure 43. The PID tuned yaxis response to 0.5 m/s motion command. (a) command and actual position, (b) following error.           Ycmd . . . . .  ... . . / . . . . .       Yact  _      _______                  SI01 0.01 0.008 0.006 0.004 0.002 0             I ____  __    _ ________ _______    .   T   _____ _ __   ______  _ _____    .     T x 104 4 II II i 3.5       31    /      2 5       I  0 .5             0.5 0 02 04 0.6 0.8 1 1.2 1.4 times) Figure 44. Contour error before balancing PID controller servos. 0.5 0 0.5 1 1.5 2 2.5 3 3 5 x 106 I   i I     .....~..~... ..~.i....~..~..~..~..... ...........~.~                 ~~         I 0.2 0.4 0.6 0.8 1 1.2 1.4 times) Figure 45. Contour error after balancing PID controller servos. 0 42 axes when the same motion command as in Figure 44 is used for x and yaxes. From Figure 45, it is found that by balancing servo parameters, the maximum absolute contour error is reduced to 38 km. In next chapter, the feedforward term will be added to the existing PID controllers. The same tuning method and balancing technique will be used for the feedforward controller design. CHAPTER 5 DESIGN OF THE FEEDFORWARD CONTROLLER In this chapter, feedforward terms are added to the proportionalintegralderivative (PID) controllers designed in the previous chapter. Since the feedback controller such as PID controller attempts to correct the error which is difference between the command position and the actual position, there must be some error before the controller can begin to change its output. Therefore, to get the significant controller's output for better performance, either a significant error or relatively high gains is required. However, significant following error is not acceptable and relatively high tuning gains tend to make system unstable. Thus, as a different type of control scheme, the feedforward controller is introduced. The feedforward controller acts on the command input rather than the error. The ultimate goal for the feedforward controller is to implement the inverse of the closed loop system transfer function so that the actual position becomes equal to the desired position. However, the system models usually contain inaccuracy in modeling, which degrades the performance of the feedforward controller. In most practical cases, the feedforward controller directly applies the best estimate of the control effort needed to execute the commanded trajectory without waiting for position errors to build up. The Turbo PMAC2 controller provides the capability to implement velocity and the acceleration feedforward terms. The velocity feedforward term (Kvff) adds an amount to the control effort that is directly proportional to the commanded velocity, to overcome potential position errors that would be proportional to velocity. The acceleration feedforward term (Kaff) acts to reduce the potential position errors that would be proportional to acceleration. The feedforward scheme provided by the Turbo PMAC2 is illustrated in Figure 51. Velocity feedforward Acceleration feedforward Kaff(l2z +z2) Reference Control position + Erro PID + + signal R i E controller U Position feedback Figure 51. The feedforward scheme in Turbo PMAC2. 5.1 Tuning Procedures The typical motion command shown in Figure 41 is used for each axis as a command input to the MATLAB Simulink feed drive model developed in Chapter 3 to evaluate the performance of the PID+feedforward control scheme. Given a commanded path profile, proper feedforward gains associated with the designed PID controller are found to make the system have the lowest following error without overshoot. 5.1.1 Feedforward Tuning for the Xaxis First, the velocity feedforward term (Kvff) is added to the PID controller. For convenience, the P gain is fixed as 180000 determined in the section 4.1.1 while the D gain and the Kvff are changed. Table 51 shows the simulation results for several combinations of P, D and Kvff making the xaxis response to the command path without overshoot. The simulation result shows that the combination of large D and Kvff decreases the maximum following error (i.e., making system response faster) without causing overshoot. During experimental testing of these combinations, it was found that the larger D gains than 11000 and the larger Kvff than 8500 (indicated in shaded color in Table 51) cause physical damage to the xaxis leadscrew. This result shows that these gains can be considered as limit values to achieve the quickest response without overshoot. Therefore, the proper gains for the PD+velocity feedforward controller of the xaxis are selected as 180000 for the P gain, 11000 for the D gain and 8500 for the Kvff. For the implementation of the acceleration feedforward term (Kaff), the simulation and experiment both show that adding Kaff gain did not improve the system performance. Therefore, Kaff is not included in the PID+feedforward controller for the xaxis. Figure 5 2 shows the response of the PID+feedforward tuned (P= 180000, I=0, D= 11000, Kvf8500, Kaff=0) xaxis to the test command and the following error for this move. It is noted that the maximum following error for xaxis is reduced to 4.35 mm while it was 12.44 mm for the PID controller. Table 51. Proportional, derivative and feedforward gain tuning for the xaxis. Velocity feedforward Max. following error P gain D gain gain (Kvff) (mm) 180000 7500 2600 8.48 180000 8000 3900 7.10 180000 9000 5700 5.72 180000 10000 7100 5.01 180000 11000 8500 4.35 180000 12000 9700 3.99 180000 13000 10800 3.79 180000 14000 12000 3.47 180000 15000 13100 3.29 180000 16000 14200 3.12 5.1.2 Feedforward Tuning for the Yaxis First, the velocity feedforward term (Kvff) is added to the PID controller. For convenience, the P gain is fixed as 80000 determined in the section 4.1.2 while the D gain and the Kvff are changed. Table 52 shows the simulation results for several 0.1 0.09 0.08 0.07 0.06 0.05 0.04 0.03 0.02 0.01 0 0 0.25 0.3 0.35 0.4 x 10 0 0.05 0.1 0.15 0.2 times) 0.25 0.3 0.35 0.4 Figure 52. The PID and feedforward tuned xaxis response to 0.5 m/s motion command. (a) command and actual position, (b) following error. Xcmd                        T                r     0.05 0.1 0.15 0.2 times)   /    7    T    L__ L / L   L   1   J ________ ________1 _______   _  I  L I1 _____ __ ______ __1_______ L L    combinations of P, D and Kvff making the yaxis response to the command path without overshoot. The simulation result shows that the combination of large D and Kvff decreases the maximum following error (i.e., making system response faster) without causing overshoot. During experimental testing of these combinations, it was found that combinations of any D gain larger than 6500 and Kvff larger than 2700 (indicated in shaded color in Table 52) cause nonacceptable vibration between the yaxis linear motors. This result shows that these gains can be considered as limit values to achieve the quickest response without overshoot. Therefore, the proper gains for the PD+velocity feedforward controller of the yaxis are selected as 80000 for the P gain, 6500 for the D gain and 2700 for the Kvff. And for the same reason as the xaxis, the acceleration feedforward term is not included in the PID+feedforward controller for the yaxis. Figure 53 shows the response of the PID+feedforward tuned (P=80000, I=0, D=6500, Kvf2700, Kaff=0) yaxis to the test command and the following error for this move. It is noted that the maximum following error for yaxis is reduced to 6.58 mm while it was 10.54 mm for the PID controller. Table 52. Proportional, derivative and feedforward gain tuning for the yaxis. Velocity feedforward Max. following error P gain D gain gain (Kvff) (mm) 80000 6500 2700 6.58 80000 7000 3800 5.53 80000 8000 5500 4.32 80000 9000 6900 3.63 80000 10000 8100 3.26 80000 11000 9300 2.91 80000 12000 10500 2.58 3 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.1 times) (a) x 10'3 0.05 0.1 0.15 0.2 times) 0.25 0.3 0.35 0.4 Figure 53. The PID and feedforward tuned yaxis response to 0.5 m/s motion command. (a) command and actual position, (b) following error. 0.1 0.09 0.08 0.07 0.06 0.05 0.04 0.03 0.02 0.01 r     ______      Ycr id Yukc                        T Tt                   r         1~~~~L~~~L 1~~~L~~~~~ 1~~~~~~~I~ 1 1 1~~~~~ U 7 6 5 4 3 2 1 0 0                i .   _I_, ______ I\ _    I 5.2 Balancing Servo Parameters between the X and Yaxes As shown in Figure 52 (b) and Figure 53 (b), due to the parameter mismatch between the x and yaxis, the steady state following errors of each axis are different. To balance servo parameters between the x and yaxis, the same method as described in the section 4.2 is used. As previously shown in Figure 52 (b) and Figure 53 (b), since the maximum steady state following error of the xaxis (4.35 mm) is smaller than yaxis (6.58 mm), the controller gain of xaxis should be changed so that the xaxis following error becomes similar to the yaxis following error. By adjusting the xaxis P gain, D gain and Kvff as P=180000, D=8250 and Kvff4440, the smallest contour error in xy coordinate motion can be achieved. Figure 54 shows the contour error for unbalanced axes when the x and yaxes are commanded to move simultaneously for 0.1 m displacement with 0.14 m/s feedrate and 0.28 m/s2 acceleration. Figure 55 shows the contour error for balanced axes when the same motion command is used for x and yaxes. From Figure 54 and Figure 55, it is found that by balancing servo parameters, the maximum absolute contour error is reduced from 457 [tm to 24 tm. In next chapter, to directly reduce the contour error, the traditional cross coupling controller (CCC) proposed by Koren in 1991 will be designed. Contour error models for linear and circular path will be driven by determining variable gains. To implement the designed CCC on HSM2, the userwritten servo algorithm provided by Turbo PMAC2 will be used. x 104 1 i I   1    0 I ^       F   W  2    11 / 4   .   r 0 02 0.4 06 0.8 1 1.2 1.4 times) Figure 54. Contour error before balancing PID and feedforward controller servos. 4  0 02 0.4 06 0.8 1 1.2 1.4 times) Figure 54. Contour error before balancing PID and feedforward controller servos. x 105 2.5  0 0.2 0.4 0.6 0.8 1 1.2 1.4 times) Figure 55. Contour error after balancing PID and feedforward controller servos. CHAPTER 6 DESIGN OF THE TRADITIONAL CROSS COUPLING CONTROLLER In this chapter, the cross coupling controller (CCC) proposed by Koren in 1991 is implemented on HSM2 to directly reduce the contour error. While the control effort of PID and feedforward controllers tries to reduce the individual axis error, the control effort of the CCC tries to reduce the contour error. Therefore, the cross coupling controller requires construction of a contour error model in real time, and its utilization in a control law that reduces the contour error. A block diagram of a basic biaxial cross coupling controller is shown in Figure 61. The axial position error Ex and Ey are used to determine the contour error e by being multiplied by the variable gain, Cx and C . Axial Control error command Ex Axial + Ux controller r   Cx Cx S1 Cross coupling W(z) controller + Cy Cy   Axial + Ey controller Uy Axial Control error command Figure 61. Cross coupling controller for a biaxial drive system. The output of the proper control law, W(z) is decomposed into two axial components by multiplying by Cx and C,. These axial components are then inserted into the individual axis loops with the appropriate sign ensuring that contour error correction is executed in the proper direction. The variable gains, Cx and Cy for the linear and circular contour are determined in the following subsection. 6.1 Variable Gain for Cross Coupling Controller 6.1 1 Linear Contour The linear contour error can be determined from the geometrical relationship shown in Figure 62: E = Ex sin0 +E cos0. (6.1) In Eq. (6.1), Ex is the xaxial error, Ey is the yaxial error and 0 is the angle between the xaxis and the desired straight line. Since sin = V / V and cos = V / V where Vx is the xaxis feedrate, Vy is the yaxis feedrate and Vis the required feedrate for the linear motion, Eq. (6.1) can be rewritten as follows; EV, + E S=: (6.2) V Therefore, in the linear contour, variable gains C, and Cy can be expressed as follows; V V C = sinO= C =cosO= (6.3) V y V Since axial velocity components Vx and Vy are not constant at the beginning and the ending of the motion, the required feedrate V should be calculated by using the equation, V = V2 + VY2 at each interpolation step. Y axis Desired position P* Desired path P E, Q Actual position X axis Figure 62. Linear contour error. 6.1.2 Circular Contour The circular contour error is the difference between the distance from the tool location to the center of the circle and the radius of the circle: S= (P X,)2 +( y) p (6.4) where p is the radius of the circle, (xo, yo) is the corresponding center of the circle and (Px, Py) is the actual tool position. From the geometrical relationship in Figure 63, the actual position, P can be represented by the axial errors and the reference position: P, =R E = psin+x, E (6.5) Py = Ry E = pcos + yo Ey (6.6) where Rx and Ry is the reference tool position P* and Ex and Ey is the axial error of the x and yaxis. Substituting Eq. (6.5) and Eq. (6.6) into Eq. (6.4) yields following equation: s= (psinOE)2 +(pcos 0E)2 p (6.7) For the simpler form of Eq. (6.7), the Taylor series expansion used as follows; E E 82 = E(sin0 x)+E(cos0 )+Order( ). (6.8) 2p 2p p Y axis Desired path E R E. R RP PE p 0e X Xaxis Figure 63. Circular contour error. Neglecting the high order term, the contour error can be approximated as follow; = ExC +EC, (6.9) where C, and Cy are defined by: E E C = sin0 C cosO (6.10) 12p 2p Since 0, E, and Eyvary during the circular motion, the gains Cx and Cy must be calculated at each interpolation step. 6.2 Implementation Method As axial controllers for the x and yaxis in Figure 61, PID+feedforward controllers developed in the previous chapter are used. To realize the cross coupling concept in HSM2, the userwritten servo algorithm provided by the Turbo PMAC2 controller is used. The userwritten servo algorithm permits users to write their own custom algorithm in a highlevel language that would execute on Turbo PMAC2's high priority servo interrupt. In Appendix C, userwritten servo algorithm codes for the linear and circular CCC implementation are presented. Important Turbo PMAC2 variables associated with userwritten servo algorithm codes are also listed in Appendix D. From experiments, the proportional gain of the CCC is determined as 2560 for the linear contour and 3584 for the circular contour which give the lowest contour error without the unstability of the system. In next chapter, different type of CCC will be proposed. First, by transforming the machine tool feed drive dynamics to the timevarying coordinate frame, the error system will be transformed into tangential, normal and binormal components to the desired contour. Since only normal and binormal components contribute the contour error, further control effort will focus on only these two components for contouring performance. Based on the transformed dynamics, the Lyapunovbased adaptive nonlinear controller will be designed to compensate uncertain inertial and friction parameters of the system. To implement the developed CCC on HSM2, the userwritten servo algorithm provided by Turbo PMAC2 will be used. CHAPTER 7 DESIGN OF THE ADAPTIVE NONLINEAR CROSS COUPLING CONTROLLER In this chapter, the adaptive nonlinear cross coupling controller (CCC) is introduced. Unlike the traditional CCC, the controller developed in this chapter is based on the transformed error system, assuming uncertain inertial and friction parameters of the machine tool feed drive system. Although the controller in this chapter is developed for a threeaxis computer numerical control (CNC) machine tool feed drive system, the results can be extended to ndimensional systems. By transforming the machine tool feed drive dynamics to the timevarying coordinate frame, the error system is transformed into tangential, normal and binormal components to the desired contour. Based on the transformed error system, Lyapunov based controllers are developed. Specifically, standard adaptive nonlinear control methods are applied to compensate for uncertain inertial and friction parameters. A Lyapunovbased analysis is used to prove global asymptotic contour tracking for an arbitrary contour. A novel second controller is also developed that contains an integral signum feedback component that yields semiglobal asymptotic contour following in the presence of uncertain friction and cutting force disturbances. 7.1 ThreeAxis Computer Numerical Control (CNC) Machine Tool Dynamics The dynamic model for a threeaxis CNC machine tool is assumed to have the following form M + Bx = 7 (7.1) where x(t), x(t), x(t) e R3 denote the position, velocity, and acceleration of the machine tool expressed in an inertial coordinate system, respectively, M denotes the unknown diagonal inertia matrix, B denotes the unknown diagonal friction matrix, and T(t) e R3 represents the input control force. To facilitate the subsequent CCC development, the machine tool coordinates can be transformed from the inertial coordinate system to a timevarying coordinate frame as follows Xf = FTx (7.2) where xf(t), x,(t), i,(t) e R3 denote the position, velocity, and acceleration of the machine tool expressed in the timevarying coordinate system, respectively. The subsequent development is based on the assumption that x (t) and f (t) are measurable. In Eq. (7.2), the known transformation matrix F(t) e is composed of a known unit tangent vector, denoted by t(t) e R, a known unit normal vector, denoted by n(t) e R, and a known binormal vector, denoted by b(t) e R, defined as b(t) = t(t) x n(t). The vectors t(t), n(t) and b(t) are defined based on the tangent and normal components of a desired contour, denoted by xd (t). That is, given a desired contour xd (t), the tangential, normal, and binormal components of xd (t) can be used to change the coordinates of the machine tool from the inertial frame to a time varying frame as follows Xfd = FTXd (7.3) where xf, (t), xf, (t), xf, (t) e R3 denote the desired position, velocity, and acceleration of the machine tool expressed in the timevarying coordinate system, respectively. See Figure 71. Actual trajectory   TimeVarying Coordinate Desired trajectory b X / Xd Inertial Coordinate Figure 71. Timevarying coordinate frame. Based on Eq. (7.2) and Eq. (7.3), the dynamic model given in Eq. (7.1) can be transformed as follows MYf + V m f + BXf + Nxf = T. (7.4) In Eq. (7.4), Af(t), Vm (t), B(t), N(t) and T(t) are defined as /I = FTAMF (7.5) Vm = 2FT(MiFFT)F (7.6) B = FTBF (7.7) N = 2FT(MFFT)F(FTF) FTBF(FTF) FTMFFTF (7.8) T = FTT. (7.9) The dynamic model in Eq. (7.4) exhibits the following properties that are utilized in the subsequent development. Property 1: The inertia matrix M(t) is symmetric, positive definite, and satisfies the following inequalities [23] m llll 2 < VTMt < m211 2 V(t) E R3 (7.10) where m,,m2 E R are known positive constants, and  I denotes the standard Euclidean norm. Property 2: The matrices M(t) and Vm(t) are skewsymmetric in the sense that [23] S () Vm(t) 0 V(t) e R3. (7.11) Property 3: The dynamic model given in Eq. (7.4) can be linearly parameterized as follows [23] YO = Mfxf + Vm,Xf + Bxf + Nxf (7.12) where 0 e R6 contains the unknown constant system parameters, and Y(xf, xf Jf) e denotes a regression matrix. The regression matrix formulation of Eq. (7.12) can also be written in terms of the desired contour in the following manner YdO = Mifd + VmXfd + Bxfd + Nxfd (7.13) where the desired regression matrix is defined by Yd(xfd, xfd, xf,) e Property 4: The time derivative of the transformation matrix F(t) can be expressed as follows [17] FT = vRFT (7.14) where v(t) = xf (t) e R denotes the desired feedrate, and R(t) e is defined as 0 K 0 R = K 0 (7.15) 0 T 0 In Eq. (7.15), K(t) e R is a singlevalued continuous function that denotes the desired curvature of the contour, and r(t) E R is a singlevalued continuous function that denotes the desired torsion. The time derivative of Eq. (7.14) can be determined as FT = 9RFT + vRFT + v2RRFT. (7.16) Based on the assumption that the desired contour is selected such that xfd(t), fd (t), fd (t), K(t), r(t), K(t), i(t) e L., then Eq. (7.14) and Eq. (7.16) can be used to conclude that F(t), F (t), F (t) e L4. Remark 1: The partial derivative of F(t) with respect to the arc length of the desired contour is commonly referred to as the SerretFrenet [24, 25, 26] formulas. From the fundamental theorem of space curves [27], the desired contour can be uniquely specified (except in position and orientation) by the single valued continuous functions r(t) and r(t). Remark 2: The following inequalities can be developed from Eq. (7.5) Eq. (7.10) and Property 4 IIMI <_ m II m IV < v (7.17) B\ < ;b \\N\\ where ,, R,, ;b ; S R denote known positive bounding constants. 7.2 Control Development 7.2.1 Control Objective The control objective is to develop a CCC for a threeaxis CNC machine tool so that a desired contour is followed. To quantify the objective, a contour tracking error, denoted by e(t) e R', is defined as follows e xfd x1 (7.19) where xfd(t) and xf(t) are defined in Eq. (7.3) and Eq. (7.2), respectively. To facilitate the subsequent analysis, a filtered tracking error, denoted by r(t) e R', is defined as r + ae (7.20) where a e R denotes positive constant control gain. The subsequent control development is based on the assumption that x (t) and f (t) are measurable, and that xfd(t), xfd(t), xjd (t), Yd (t) are known and are bounded (and hence e(t), e(t), r(t) can be computed). 7.2.2 ClosedLoop Error System The openloop error system for r(t) can be obtained by taking the timederivative of Eq. (7.20) and premultiplying the resulting expression by M(t) as follows MR = M(2ifd Xf) + aMe. After utilizing Eq. (7.4), Eq. (7.19), and Eq. (7.20), the following expression can be obtained iM = Vmyr +YdO +X (7.21) where the product of the linear regression matrix Yd (xd (t), xd (t), xfd (t)) e and the vector of unknown constants 0 introduced in Eq. (7.12) is given by the following expression YdO = Mifd + Vxmfd + BMfd + Nxfd, (7.22) and the auxiliary expression X(e,r) e R3 is defined as V = ae + (aM B)(r ae) Ne LVmr. (7.23) By utilizing Eq. (7.17), Eq. (7.18), and Eq. (7.23), the following upper bound can be developed for z(e,r) II < 'illz where z(t) e[ e rT ] (7.24) where c ER is a known, positive bounding constant. Based on Eq. (7.21) and subsequent stability analysis, T(t) is designed as follows T = (kl + k,)r + Yd0 + e. (7.25) In Eq. (7.25), kj,k IR denote positive constant control gains, and 0(t) e R6 denotes an adaptive estimate that is generated from the following differential equation 0= FYr 0(0)= 0 (7.26) where F is a constant diagonal matrix of adaptation gains, and 0(t) e R6 denotes an initial bestguess estimate of the unknown parameters in 0. The closedloop error system for r(t) can be obtained after substituting Eq. (7.25) into Eq. (7.21) as follows Mr = y Vmr + Yd + X (kl + k, )r e (7.27) where 0(t) e R6 denotes the adaptive estimate mismatch defined as follows 0= 0 (7.28) 7.2.3 Stability Analysis Theorem 1: Provided the control gain kn is selected according to the following sufficient condition kn > 1 (7.29) where 1 =min(k1, a ), the control law given in Eq. (7.25) ensures global asymptotic tracking control in the sense that limit~ 0Ile(t) I = 0. (7.30) Proof: Let V(t) e R denote the following nonnegative Lyapunov function V = rTIr + eTe + ZOF1 (7.31) 2 2 2 The time derivative of Eq. (7.31) can be written as follows = aeTe (kl + k,)rTr + r T (7.32) where Eq. (7.11), Eq. (7.20), Eq. (7.27), and Eq. (7.26) were utilized. Based on Eq. (7.24), the following inequality can be developed for Eq. (7.32) '< Aiz2 + [ jIr z k, Ir2] (7.33) where 1 was introduced in Eq. (7.29). The following expression can be obtained after completing the squares on the bracketed terms in Eq. (7.33) 4< 111Aiz2 + z2 (7.34) 4kn Provided k, is selected according to the sufficient condition given in Eq. (7.29), the following inequality can be developed V< Pllz112 (7.35) for some positive constant / e R From Eq. (7.31) and Eq. (7.35), we can conclude that V(t) e L.; hence, e(t), r(t), 0(t) e L,. The expressions in Eq. (7.31) and Eq. (7.35) can also be used to conclude that e(t), r(t) e L2. Given that e(t), r(t) e L,, linear analysis methods can be used to prove that e(t) e L, from Eq. (7.20). Since 0(t) e L,, Eq. (7.28) can be used to prove that 0(t) e L The assumption that xf (t), x (t), xd (t) e L. can be used along with Eq. (7.17) and Eq. (7.18) to conclude that Y,(xfd(t), xf(t), xfd(t)) e LL. Based on these facts, Eq. (7.24) Eq. (7.27) can be used to prove that z(e, r), T(t), 0(t), r(t) e L Since e(t), e(t), r(t), r(t) e L (i.e., a sufficient condition for e(t) and r(t) to be uniformly continuous) and e(t), r(t) e L2, Barbalat's Lemma can be used to prove the result in Eq. (7.30). Since F(t) is a unique transformation, Eq. (7.2) and Eq. (7.3) can be used to prove that if the result in Eq. (7.30) is obtained, then X Xd as t oc. 7.3 Unknown Disturbance Extension In practice, the machine tool dynamics are often subject to disturbances due to unknown friction effects and unknown cutting forces. This section describes how a recently developed controller [28] can be extended to the machine tool contour tracking problem to compensate for uncertain friction and sufficiently smooth, unknown cutting forces. Specifically, the control development is described and the stability analysis [28] is used to prove semiglobal asymptotic contour tracking in the sense that X Xd as t + o provided the control gains are selected according to the initial conditions of the system. 7.3.1 Control Formulation The machine tool dynamics in this section are modeled by the following equation Mxf + Vmf + Nf +ff + Cf = 7 (7.36) where ff(xi) e R3 denotes a friction force and C.f(x) e R3 denotes an additive bounded disturbance that represents the cutting forces, and S= 2FT(MFFT)F(FTF) FTMF" TF. The friction and cutting are modeled so that f,(xf), f, (xk), ff(2k) and Cf (x), Cf (x2), Cf (x,) exist and are bounded provided x (t), xf (t), k~x(t) e L (see [28] for more details regarding the friction model). To facilitate the control development, a second filtered tracking error, denoted by r, (t) e R, is defined as follows r2 + a2r (7.37) where a,(t) e R is a positive constant control gain and r(t) is defined in Eq. (7.20). The filtered tracking error r2(t) is not measurable since the expression in Eq. (7.37) depends on x (t). After premultiplying Eq. (7.37) by AM(t), the following expression can be obtained Mr 2 = Mfd+ Vmxf + Nxf 7+ff + Cf + (a2 + a)Mr a2Me (7.38) where Eq. (7.36) and Eq. (7.20) were utilized. Based on the expression in Eq. (7.38) the control torque input is designed as follows T = Mxfd + VmnXf + Nxy+(a2 + a)Mr a2Me + pL (7.39) where /j(t) e R' denotes a subsequently designed control term. By substituting Eq. (7.39) into Eq. (7.38), the following expression can be obtained Mr2 = ff + Cf P. (7.40) To facilitate the design of /(t), we differentiate Eq. (7.40) as follows Mr2 = ff Cf M r2. (7.41) Based on Eq. (7.41) and the subsequent stability analysis, /j(t) is designed as follows (t) = (k, +l)r(t)(k +l)r(to)+ [(k, +l)a2r(r)+ /sgn(r(r))]dr (7.42) to where the time derivative of Eq. (7.42) is given as f = (k, + 1)r2 + Psgn(r). (7.43) After substituting Eq. (7.43) into Eq. (7.41), the following closedloop error system can be obtained Mr2 = r2 (ks + 1)r2 r Psgn(r) + Q (7.44) where Q(r, r2, t) e R3 denotes the following unmeasurable auxiliary term A= + C My r2 + r. (7.45) To facilitate the subsequent analysis, another unmeasurable auxiliary term is defined as Qd(t) xfd +  fd. (7.46) The time derivative of Eq. (7.46) is given as follows: a 2f fd) ..2 K 2 1Xf.) . 2 '' )' d(t) = x Xfd + xfd + Xf. (7.47) After adding and subtracting Eq. (7.46), the closedloop error system in Eq. (7.44) can be expressed as follows Mri = M r2 (ks + 1)r2 r fsgn(r) + + d (7.48) where the unmeasurable auxiliary term Q(t) e R3 is defined as 0 Qd. (7.49) Based on the expressions in Eq. (7.46) and Eq. (7.47), the followings can be developed: 1I dll1 < 11 sdl < M2 (7.50) where g,, E R are selected to be sufficiently large positive constants. 7.3.2 Stability Analysis Theorem 2: The controller given in Eq. (7.39) and Eq. (7.42) ensures that the cross coupling position tracking error is regulated in the sense that e(t) 0 as t oo provided /f is selected according to the following sufficient condition 3 > 4+ + a7 2 (7.51) where g and ;g2 are introduced in Eq. (7.50), and ks is selected sufficiently large based on the initial conditions of e(t), r(t), and r2(t). Proof: The proof in [28] can be directly applied. 7.4 Implementation Method The controller developed in the section 7.2 is implemented on HSM2 using the userwritten servo algorithm provided by the Turbo PMAC2. Since the xy feed drive system on HSM2 is a twodimensional contouring system, the parameterization based on the feed direction (see Figure 72) can be used to present the coordinate transformation matrix F(t). Let p(t) be the incline angle between the desired velocity vector xd (t) and the xaxis, then F(t) can be represented by n t t Desired Trajectory X axis Figure 72. The 2D plane curve parameterization. F(t) cos (t) sin(t) (7.52) sin (p(t) cos p(t) I For a linear contour, the matrix R in Eq. (7.15) is the zero matrix. For a circular contour, R=[ /P (7.53) 1/p 0 where p is the radius of the circle. For a general twodimensional trajectory, R is a matrix function of the incline angle p (t). For twodimensional case, the vector of unknown constant system parameters, 0 in Eq. (7.22) is composed of [Mx My B BY where M, is the equivalent moment of inertia for xaxis, My is the moving mass for yaxis, B, is the viscous friction coefficient for xaxis and By is the viscous friction coefficient for yaxis. For the initial bestguess estimate, 0 in Eq. (7.26), the values obtained through the system identification in Chapter 3 are used. The linear regression matrix, Yd in Eq. (7.22) for twodimensional case is derived in Appendix E for reference. Considering T in Eq. (7.25), let (k, +k, ,2) be k for simplicity. Then by using Eq. (7.2), (7.3), (7.9), (7.14), (7.19), (7.20), Tcan be expressed as follows T = FT = Fk(e + ae) + F(Yd) + Fe = Fk{d(FTxd FTx)+a (Fx FTx)} + F(Y) + F(FTx FTx) d (7.54) = Fk (Fxd FT x) + ak(xx) + F(Y,) +(x,x) dt = Fk(vRFTxd +FT d vRF x F ) + ak(x x) + F(Yd) + (x dx) = k(FRF )(x ,x) +(ak +)(x x)+k(x )+F(Y). The control force input Tin Eq. (7.54) can be described as a crosscoupled component (i.e., the first set of terms), a proportional component (i.e., the second set of terms), a derivative component (i.e., the third set of terms) and an adaptive feedforward component (i.e., the fourth set of terms). For the twodimensional circular contour, Eq. (7.52) and Eq. (7.53) can be used to express the crosscoupled component of Eq. (7.54) as Scos(i ) sin(t) 0 1/ p cos(p(t) sin (p(t) x kvsin p(t) cosp(t) o1p 0 sin p(t) cos (t) (t) xd2 X2 v sin (pt)/ p cos (pt) / p cos (pt) sin 9(t) Xdl 1 cos9((t)/p sin ((t)/pL sin z(t) cos9(t) LXd2 x2 S0 l/p xdl X 1/ p 0 xd2 2X kv xd2 x2 (kv / p), 0 xd2 x 0( (k l / p)2 L 1( X) (7.55) Since the second and third terms in Eq. (7.54) represent the proportionalderivative (PD) controller, the PD controllers designed in Chapter 4 is used for those. The gains that resulted in the best performance in circular contours are determined as follows 5x102 0 0 0 o 5x102 0 0 (kv/,p) =422, (kv/p) =1359 andF= 50 10 0 (7.56) 0 0 1 0 0 0 01 Userwritten servo algorithm codes for the adaptive nonlinear CCC are described in Appendix F for reference. In next chapter, contouring performances of each controller developed in Chapter 4, 5, 6 and 7 are examined experimentally. CHAPTER 8 EXPERIMENTAL RESULTS In this chapter, contouring performances of developed controllers in Chapter 4, 5, 6 and 7 are examined experimentally. For experiments, three basic paths (square, diamond and circle) on the xy plane of HSM2 are selected. The square path is used for the cornering performance evaluation. The diamond and circular paths are used for the linear and circular contouring performance evaluation respectively. Each path with starting point and direction is shown in Figure 81, Figure 82 and Figure 83 respectively. Feedrates and accelerations used for each path are shown in Table 81. During movement, the path is measured by both encoders mounted on each axis and grid plate described in Figure 318. 100 . s O :LLI   6 0      O     S40 20 0  starting point 100 80 60 40 20 0 x axis (mm) Figure 81. Square path on the xy plane. 71 100 60        20  20      60     i itarting ,oinf S           200 180 160 140 120 100 80 60 40 20 0 .4 0   ,   L  1 .  IL   x axis (mm) Figure 82. Diamond path on the xy plane. go ^     ,    60      '  40      J  L    S20 ^  ,  g starting point >  2  L .  4 H .. .... '.. .. ... 60 .. . .  T  ...... ..... ^.. . 60 ..:. :.. ... H... 100 200 180 160 140 120 100 80 60 40 20 0 x axis (mm) Figure 83. Circular path on the xy plane. Table 81. Feedrates and accelerations for each path. Feedrate(m/s) Acceleration(m/s2) Square path 0.2 0.50 0.4 2.00 Diamond path 0.2 0.40 0.4 1.60 Circular path (0.lm radius) 0.2 0.40 0.4 1.60 Circular path (0.06m radius) 0.4 2.67 8.1 Square Path Since the x and yposition used for the x and yaxis control loop feedback is usually different from the absolute position, the path measured by the x and yaxis encoder is compared to the path measured by the grid plate. Figures 84 and 85 show the comparison between the data from encoders (blue dashed line) and the data from the grid plate (red dotted line) when the PD controller is used for the square command path (black solid line).1 From these figures, it is found that the xaxis position data from the motor encoder is quite different from the data from the grid plate, while the yaxis position data from the motor encoder is relatively consistent with the data from the gird plate. Since the rotary encoder is mounted on the back end of the xaxis rotary motor, the encoder may not sense the actual position of the table due to mechanical vibrations outside the control loop, thermal expansion or flaws in the xaxis leadscrew or leadscrew mounting. The difference between the xaxis motor encoder data and the grid plate data becomes distinguished as the feedrate is increased. It is also noticeable that the yaxis responds more slowly than the xaxis does due to the massive weight of yaxis. 1 Figures for experimental result are gathered in the end of this Chapter. Further experimental results are based on the encoder datum which controllers recognize as position feedbacks so that control efforts are reflected through results. For reference, results based on the grid plate are also presented in Appendix G. Corner behaviors of each controller in the square path with 0.2m/s feedrate are compared in Figure 86. By contrast with the command position (black dashed line), the green, black, blue and red solid lines represent the actual path using the PD controller, PD+feedforward controller, traditional CCC and adaptive nonlinear CCC respectively. Except corners, the contour error can be calculated by using Eq. (6.2), which is shown in Figure 87. In this figure, spikes represent comers (last comer is not shown) where the contour error can not be determined. The comparison for each controller in the square path with higher feedrate 0.4m/s is shown in Figures 88 and 89. From results of the square path, following facts are observed: * The cornering performance of each controller is degraded as the feedrate increases. However, due to the separate x and yaxis motion, the contouring performance is independent on the feedrate. * The traditional CCC has the best cornering performance while the adaptive nonlinear CCC has the worst. * Cross coupling controllers (CCC) could not improve the contouring performance in the square path since the CCC only works for the linear and circular contour resulted from the combined motion of the x and yaxis. The same experimental results based on the grid plate are also shown in Figures Gl, G2, G3 and G4 for reference. 8.2 Diamond Path Figures 810 and 811 show the comparison between the data from encoders (blue dashed line) and the data from the grid plate (red dotted line) when the PD controller is used for the diamond command path (black solid line). As shown in the previous section, it is expected that the main reason for the difference between data from encoders and data from the grid plate is the position of the xaxis rotary encoder placed in the outside of control loop. This difference becomes distinguished as the feedrate is increased. Corner behaviors of each controller in the diamond path with 0.2m/s feedrate are compared in Figure 812 and contour errors except covers are shown in Figure 813 (green: PD controller, black: PD+feedforward controller, blue: traditional CCC, red: adaptive nonlinear CCC). The comparison for higher feedrate 0.4m/s is also shown in Figures 814 and 815. From results of the diamond path, following facts are observed: * Both the cornering performance and contouring performance of each controller are degraded as the feedrate increases. * The traditional CCC has the best cornering performance. * The contouring performance is improved by both traditional CCC and adaptive nonlinear CCC. * The contouring performance improvement by the adaptive nonlinear CCC becomes more prominent than by the traditional CCC as the feedrate increases. This improvement is attributed to the fact that the proposed CCC accounts for uncertain nonlinear terms through the adaptive feedforward component. The same experimental results about the diamond path based on the grid plate are also shown in Figures G5, G6, G7 and G8 for reference. 8.3 Circular Path Figures 816 and 817 show the comparison between the data from encoders (blue dashed line) and the data from the grid plate (red dotted line) when the PD controller is used for the circular command path (black solid line). This figure also shows the significant difference along the xaxis between the data from encoders and data from the grid plate. Contour errors for the whole circular path can be calculated by using Eq. (6.4), which are shown in Figures 818, 819 and 820 for 0.2m/s feedrate (0.lm radius), 0.4m/s feedrate (0.lm radius) and 0.4m/s feedrate (0.06m radius) respectively. Since the maximum and the average contouring errors are the main contributors to the quality of the final part, the maximum absolute contouring error, 'k, ., and the root mean square (RMS) contouring error cEs are used to compare the performance of each control algorithm. Table 82 summarizes the circular contouring performance of each controller, and Table 83 compares the respective control effort. From results of the circular path, following facts are observed: * Contouring performance of each controller is degraded as the feedrate and acceleration increase. * The contouring performance is improved by both traditional CCC and adaptive nonlinear CCC compared to the PD and feedforward controller. * Although the absolute maximum contour errors for the traditional CCC and adaptive nonlinear CCC are similar in each case, the RMS contour error for adaptive nonlinear CCC is smaller than the traditional CCC. * The contouring performance improvement by the adaptive nonlinear CCC becomes more prominent than by the traditional CCC as the feedrate and acceleration increases. This improvement is attributed to the fact that the proposed CCC accounts for uncertain nonlinear terms through the adaptive feedforward component. The same experimental results about the circular path based on the grid plate are also shown in Figures G9, G10 and G11 for reference. 10005 100 9995 E E 999 9985 998 99 75 99 7 1002 10015 1001 10005 100 9995 999 9985 998 x axis (mm) 10005 100 9995 E E 999 9985 998 9975 997 02 Gnd plate data Command path Motor encoder data 015 01 0 05 0 005 01 015 02 x axis (mm) 03 025 02 015 E 01 005 0 05 01 1002 10015 1001 10005 100 9995 999 9985 998 x axis (mm) 015 01 005 0 005 01 015 02 x axis (mm) Figure 84. Comparison between motor encoder data and grid plate data in square path. (0.2m/s feedrate). 10005 100 9995  . ' 99 9 998 9975 997 1002 10015 1001 10005 100 9995 999 9985 998 x axis (mm) 10005 100 9995 E E 999 9985 998 9975 997 02 S Command path Motor encoder data Gnd plate data 015 01 005 0 005 01 015 02 x axis (mm) 03 025 02 015 E 01 005 0 05 01 1002 10015 1001 10005 100 9995 999 9985 998 x axis (mm) 015 01 005 0 005 01 015 02 x axis (mm) Figure 85. Comparison between motor encoder data and grid plate data in square path. (0.4m/s feedrate). 10005  100 9995      9995 T F   I I I I 9985 L  998 95 9975  99 7 1002 10015 1001 10005 100 9995 999 9985 998 x axis (mm) 03 02 015 I 0 1 T F    I I I I I 005  0 1  0 05 1002 10015 1001 10005 100 9995 999 9985 998 x axis (mm) 100 05 Command path PD controller Feedforward controller Traditional CCC Developed CCC 9995  999  9985  998 9975  99 7 02 015 01 0 05 0 005 01 015 02 x axis (mm) 03 025  02  015Tr  015    0 1 I T 005I I   015  01 0 05  I0 02 015 01 005 0 005 01 015 02 x axis (mm) Figure 86. Comparison of corner behaviors in square path with 0.2m/s feedrate. 79 0.02  E ED 0 0 0 0.02  0.04 0 0.5 1 1.5 time PD controller Feedforward controller Traditional CCC Developed CCC 2 2.5 3 3.5 (s) Figure 87. Comparison of contouring performance in square path with 0.2m/s feedrate. 10005  100 9995  999  9985     118 + ^ + \   9975 99 7 1002 10015 1001 10005 100 9995 999 9985 998 x axis (mm) 100 05 9995 E E 999 9985 Command path PD controller Feedforward controller Traditional CCC Developed CCC 998 9975 02 015 01 0 05 0 005 01 015 02 x axis (mm) 03 025 02 015 E 01 SI 005 L 0 0 1 I I I 100 2 100 15 100 1 10005 100 9995 999 9985 998 x axis (mm) 02 015 01 0 05 0 005 01 015 02 x axis (mm) Figure 88. Comparison of corner behaviors in square path with 0.4m/s feedrate. T PD controller Feedforward controller Traditional CCC Developed CCC 0.02 0.02 I l 0.04 1 1 0 0.2 0.4 0.6 0.8 time (s) 1 1.2 1.4 1.6 1.8 Figure 89. Comparison of contouring performance in square path with 0.4m/s feedrate. 0.02 Gnd plate data Command path Motor encoder data 10005 100 9995 E E 999 99 85 015 015 01 005 0 005 01 015 02 x axis (mm) 02  015 01 0 05  "\\ 0 0 05 0 1 015 0 2 200 15 200 1 200 05 200 199 95 199 9 199 85 199 8 x axis (mm) 9975 99 7 1002 10015 1001 10005 100 9995 999 9985 998 x axis (mm) 99 7 99 75 998 99 85 E 999 99 95 100 10005 1002 10015 1001 10005 100 9995 999 9985 998 x axis (mm) Figure 810. Comparison between motor encoder data and grid plate data in diamond path. (0.2m/s feedrate). 02 015 01 \ 005 0 0 05 0 1 015 015 01 0 05 0 005 01 015 02 x axis (mm) 02 015 0 0 05 o \ 01 \ 015 0 2 200 15 200 1 200 05 200 199 95 199 9 199 85 199 8 x axis (mm) Gnd plate data Command path 100 05 Motor encoder data 100 9995 999 9985 99 8 9975 9975 1002 10015 1001 10005 100 9995 999 9985 998 x axis (mm) 99 7 99 75 99 8 99 85 E 999 99 95 100 10005 1002 10015 100 1 10005 100 9995 999 9985 998 x axis (mm) Figure 811. Comparison between motor encoder data and grid plate data in diamond path. (0.4m/s feedrate). 100 05 Command path PD controller Feedforward controller Traditional CCC Developed CCC 9995 E E 999 90 oc 015 0 2/ 02 015 01 005 0 005 01 015 02 x axis (mm) 9975   99 7 1002 10015 1001 10005 100 9995 999 9985 998 x axis (mm) 997 99 75 99 8 9985 E E 999 9995 100 10005 200 15 200 1 200 05 200 199 95 199 9 199 85 199 8 x axis (mm) 100 2 100 15 100 1 10005 100 9995 999 9985 998 x axis (mm) Figure 812. Comparison of corner behaviors in diamond path with 0.2m/s feedrate. PD controller Feedforward controller Traditional CCC Developed CCC 0 0.01 0.02 0.03 0.04 0.05 0.06 i III 0 0.5 1 1.5 2 2.5 time (s) 3 3.5 4 4.5 5 Figure 813. Comparison of contouring performance in diamond path with 0.2m/s feedrate. 0.04 0.03 0.02 I L 1  L  x2 x axis (mm) 015  0 1  I 01  y I II 015  02 0 15   ^ 200 15 200 1 20005 200 19995 x axis (mm) 1999 19985 199 1999 199 85 1998 SCommand path PD controller 100 05 Feedforward controller STraditional CCC SDeveloped CCC 100  9995  99 9  99 85  99 8 9975  99 7 1002 10015 1001 10005 100 9995 999 9985 998 x axis (mm) 997 99 75 99 8 9985 N 999   9995  10005 1002 10015 100 1 10005 100 9995 999 9985 998 x axis (mm) Figure 814. Comparison of corner behaviors in diamond path with 0.4m/s feedrate. PD controller Feedforward controller Traditional CCC Developed CCC time (s) Figure 815. Comparison of contouring performance in diamond path with 0.4m/s feedrate. 0.1 0.05k 0.05 0.1 0.15 