<%BANNER%>

Design of Controllers for Improving Contour Accuracy in a High-Speed Milling Machine


PAGE 1

DESIGN OF CONTROLLERS FOR IMPROV ING CONTOUR ACCURACY IN A HIGH-SPEED MILLING MACHINE By JINHO LEE A DISSERTATION PRESENTED TO THE GRADUATE SCHOOL OF THE UNIVERSITY OF FLOR IDA IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE DEGREE OF DOCTOR OF PHILOSOPHY UNIVERSITY OF FLORIDA 2005

PAGE 2

Copyright 2005 by Jinho Lee

PAGE 3

iii ACKNOWLEDGMENTS I express my sincerest appr eciation 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 Sy stems Inc.) who kindly replied to my continuous questions and gave valuable advice. I extend most heartfelt thanks to my parent s for their endless support, sacrifice, and unconditional love. I also thank my sister, br other, brother-in-law, and sister-in-law for their constant understanding and encouragemen t. My thanks also go to my cute and lovable nephew and nieces for making me sm ile whenever I think of them. The warm love of my family motivates me to go on. Last but foremost, I thank my wife Seung-Yoon Ryu. Without her, I could complete nothing that is worth accomplishing. She gave me endless love and support, which are deeply appreciated.

PAGE 4

iv TABLE OF CONTENTS page ACKNOWLEDGMENTS.................................................................................................iii LIST OF TABLES............................................................................................................vii LIST OF FIGURES.........................................................................................................viii ABSTRACT......................................................................................................................xii CHAPTER 1 INTRODUCTION...................................................................................................1 1.1 Controllers....................................................................................................2 1.1.1 Feedback Controllers.......................................................................2 1.1.2 Feedforward Controllers..................................................................3 1.1.3 Robust Controllers...........................................................................3 1.1.4 Cross Coupling Controllers..............................................................4 1.2 Literature Review of Cr oss Coupling Controllers.......................................5 1.3 Task Specification........................................................................................7 2 DESCRIPTION OF TEST BED..............................................................................9 2.1 Mechanical Subsystem...............................................................................10 2.1.1 X-axis ............................................................................................10 2.1.2 Y-axis ............................................................................................11 2.1.3 Z-axis ............................................................................................11 2.2 Electrical Subsystem..................................................................................11 2.2.1 Controller.......................................................................................12 2.2.2 Interface Modules..........................................................................13 2.2.3 Amplifiers......................................................................................13 3 SYSTEM IDENTIFICATION...............................................................................15 3.1 System Modeling.......................................................................................15 3.1.1 Position Feedback..........................................................................16 3.1.2 Current Feedback...........................................................................16 3.1.3 Electromechanical Feed Drive System..........................................17

PAGE 5

v 3.2 X-axis System Modeling and Verification................................................18 3.2.1 Modeling the Viscous Fr iction Coefficient ( Bx)............................18 3.2.2 Modeling the Equivalent Moment of Inertia ( Jeq).........................21 3.2.3 Modeling Verification....................................................................21 3.3 Y-axis System Modeling and Verification................................................23 3.3.1 Modeling the Viscous Fr iction Coefficient ( By)............................23 3.3.2 Modeling the Total Moving Mass ( M )...........................................25 3.3.3 Modeling Verification....................................................................28 3.4 Sensitivity of Model Parameters................................................................28 3.5 Reversal Error of X-axis............................................................................30 4 DESIGN OF THE PROPORTION AL-INTEGRAL-DERIVATIVE CONTROLLER.....................................................................................................34 4.1 Tuning Procedures.....................................................................................34 4.1.1 Proportional-Integral-Derivative Tuning for the X-axis................36 4.1.2 Proportional-Integral-Derivative Tuning for the Y-axis................37 4.2 Balancing Servo Parameters between the Xand Y-axes..........................39 5 DESIGN OF THE FEEDFORWARD CONTROLLER.......................................43 5.1 Tuning Procedures.....................................................................................44 5.1.1 Feedforward Tuning for the X-axis...............................................44 5.1.2 Feedforward Tuning for the Y-axis...............................................45 5.2 Balancing Servo Parameters between the Xand Y-axes..........................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 Circular Contour............................................................................53 6.2 Implementation Method.............................................................................54 7 DESIGN OF THE ADAPTIVE NONLINEAR CROSS COUPLING CONTROLLER.....................................................................................................56 7.1 Three-Axis Computer Numerical Control (CNC) Machine Tool Dynamics...................................................................................................56 7.2 Control Development.................................................................................61 7.2.1 Control Objective...........................................................................61 7.2.2 Closed-Loop Error System............................................................61 7.2.3 Stability Analysis...........................................................................62 7.3 Unknown Disturbance Extension..............................................................64 7.3.1 Control Formulation.......................................................................64 7.3.2 Stability Analysis...........................................................................67 7.4 Implementation Method.............................................................................67

PAGE 6

vi 8 EXPERIMENTAL RESULTS...............................................................................70 8.1 Square Path................................................................................................72 8.2 Diamond Path.............................................................................................73 8.3 Circular Path..............................................................................................74 9 CONCLUSIONS AND FU TURE WORKS..........................................................93 APPENDIX A SPECIFICATIONS OF TEST BED......................................................................95 B MEASUREMENT OF XAND Y-AXI S INERTIAL PARAMETERS...............97 B.1 Equivalent Moment of Inertia of X-axis....................................................97 B.2 Total Moving Mass of Y-axis....................................................................98 C USER-WRITTEN SERVO ALGORITH MS FOR TRADITIONAL CROSS COUPLING CONTROLLER................................................................................99 C.1 User-Written Servo Algorithm fo r Traditional Cross Coupling Controller (Linear Contour).....................................................................100 C.2 User-Written Servo Algorithm fo r Traditional Cross Coupling Controller (Circular Contour)..................................................................101 D IMPORTANT VARIABLES SETU P FOR TRADITIONAL CROSS COUPLING CONTROLLER..............................................................................103 E DERIVATION OF LINEAR REGRESSION MATRIX.....................................104 F USER-WRITTEN SERVO ALGORITH M FOR ADAPTIVE NONLINEAR CROSS COUPLING CONTROLLER................................................................106 F.1 User-Written Servo Algorithm for Ad aptive Nonlinear Cross Coupling Controller (Linear Contour).....................................................................106 F.2 User-Written Servo Algorithm for Ad aptive Nonlinear Cross Coupling Controller (Circular Contour)..................................................................109 G EXPERIMENTAL RESULTS FROM GRID PLATE........................................114 LIST OF REFERENCES.................................................................................................125 BIOGRAPHICAL SKETCH...........................................................................................128

PAGE 7

vii LIST OF TABLES Table page 3-1 Summary of the obtained Jeq....................................................................................22 3-2 Summary of the obtained M .....................................................................................27 4-1 Proportional and derivative gain tuning for the x-axis.............................................37 4-2 Proportional and derivative gain tuning for the y-axis.............................................39 5-1 Proportional, derivative and feedfo rward gain tuning for the x-axis.......................45 5-2 Proportional, derivative and feedfo rward gain tuning for the y-axis.......................47 8-1 Feedrates and accelerations for each path................................................................72 8-2 Comparison of contouring perf ormance for circular path........................................91 8-3 Comparison of control effort for circular path.........................................................92 A-1 Specifications for the xand z-axis servomotor.......................................................95 A-2 Specifications for the y-axis linear motor................................................................95 A-3 Specifications for the y-axis linear encoder.............................................................96 A-4 Specifications for the xand y-axis hydrostatic guide way.....................................96 A-5 Specifications for the xand z-axis amplifier..........................................................96 A-6 Specifications for the y-axis amplifier.....................................................................96 B-1 Mass of linearly moving components in the x-axis..................................................97 B-2 Moment of inertia of rotati onal components in the x-axis.......................................97 B-3 Mass of moving components in the y-axis...............................................................98 D-1 Important I variables setup for the traditional CCC implementation.....................103 G-1 Comparison of contouring perf ormance for circular path......................................124

PAGE 8

viii LIST OF FIGURES Figure page 1-1 Contour error in machining a contour........................................................................1 1-2 Feedback controller for a single axis drive system....................................................2 1-3 Feedforward controller for a single axis drive system...............................................3 1-4 Axial and contour errors fo r different cutter locations...............................................4 1-5 Cross coupling controller fo r a biaxial drive system..................................................5 2-1 High-speed milling machine (HSM2)........................................................................9 2-2 Guideways for (a) x-axis, (b) y-axis and (c) z-axis..................................................12 2-3 Schematic diagram of electrical components for the HSM2....................................13 2-4 Interface modules for (a) xand z-axis and (b) y-axis.............................................14 2-5 Amplifiers for (a) xand z-axis and (b) y-axis.........................................................14 3-1 Simplified system block diagram of the HSM2.......................................................15 3-2 Block diagram of the Turbo PMAC2 servo loop.....................................................16 3-3 Block diagram of the Turbo PMAC2 current loop..................................................17 3-4 Block diagram of the x-axis electromechanical feed drive system..........................18 3-5 Block diagram of the y-axis electromechanical feed drive system..........................18 3-6 Sample friction measurement on x-axis feed drive..................................................20 3-7 Viscous friction measurement on x-axis feed drive.................................................20 3-8 Sample moment of inertia measurement on x-axis feed drive.................................22 3-9 Comparison of simulation to actua l system (x-axis position loop)..........................24 3-10 Sample friction measurement on y-axis feed drive..................................................26

PAGE 9

ix 3-11 Viscous friction measurement on y-axis feed drive.................................................26 3-12 Sample mass measurement on y-axis feed drive......................................................27 3-13 Comparison of simulation to actua l system (y-axis position loop)..........................29 3-14 Sensitivity of the x-axis viscous friction coefficient................................................31 3-15 Sensitivity of the x-axis e quivalent moment of inertia............................................31 3-16 Sensitivity of the y-axis viscous friction coefficient................................................32 3-17 Sensitivity of the y-axis mass...................................................................................32 3-18 The two-dimensional grid encoder set up in HSM 2...............................................33 4-1 Motion command for controll er performance evaluation........................................35 4-2 The PID tuned x-axis res ponse to 0.5 m/s motion command...................................38 4-3 The PID tuned y-axis res ponse to 0.5 m/s motion command...................................40 4-4 Contour error before bala ncing PID controller servos.............................................41 4-5 Contour error after balanc ing PID controller servos................................................41 5-1 The feedforward scheme in Turbo PMAC2.............................................................44 5-2 The PID and feedforward tuned x-ax is response to 0.5 m/s motion command.......46 5-3 The PID and feedforward tuned y-ax is response to 0.5 m/s motion command.......48 5-4 Contour error before balancing PID and feedforward controller servos..................50 5-5 Contour error after balancing PID and feedforward controller servos.....................50 6-1 Cross coupling controller fo r a biaxial drive system................................................51 6-2 Linear contour error.................................................................................................53 6-3 Circular contour error...............................................................................................54 7-1 Time-varying coordinate frame................................................................................58 7-2 The 2-D plane curve parameterization.....................................................................67 8-1 Square path on the x-y plane....................................................................................70 8-2 Diamond path on the x-y plane................................................................................71

PAGE 10

x 8-3 Circular path on the x-y plane..................................................................................71 8-4 Comparison between motor encoder data and grid plate data in square path. (0.2m/s feedrate).......................................................................................................76 8-5 Comparison between motor encoder data and grid plate data in square path. (0.4m/s feedrate).......................................................................................................77 8-6 Comparison of corner behaviors in square path with 0.2m/s feedrate.....................78 8-7 Comparison of contouring performance in square path with 0.2m/s feedrate.........79 8-8 Comparison of corner behaviors in square path with 0.4m/s feedrate.....................80 8-9 Comparison of contouring performance in square path with 0.4m/s feedrate.........81 8-10 Comparison between motor encoder data and grid plate data in diamond path. (0.2m/s feedrate).......................................................................................................82 8-11 Comparison between motor encoder data and grid plate data in diamond path. (0.4m/s feedrate).......................................................................................................83 8-12 Comparison of corner behaviors in diamond path with 0.2m/s feedrate.................84 8-13 Comparison of contouring performance in diamond path with 0.2m/s feedrate......85 8-14 Comparison of corner behaviors in diamond path with 0.4m/s feedrate.................86 8-15 Comparison of contouring performance in diamond path with 0.4m/s feedrate......87 8-16 Comparison between motor encoder data and grid plate data in circular path. (0.2m/s feedrate).......................................................................................................88 8-17 Comparison between motor encoder data and grid plate data in circular path. (0.4m/s feedrate).......................................................................................................89 8-18 Comparison of contouring performance in circular path with 0.2m/s feedrate........90 8-19 Comparison of contouring performance in circular path with 0.4m/s feedrate........90 8-20 Comparison of contouring performance in circular path with 0.4m/s feedrate. (0.06m radius)..........................................................................................................91 C-1 Traditional CCC implementation on HSM2............................................................99 G-1 Comparison of corner behaviors in square path with 0.2m/s feedrate...................115 G-2 Comparison of contouring performance in square path with 0.2m/s feedrate.......116

PAGE 11

xi G-3 Comparison of corner behaviors in square path with 0.4m/s feedrate...................117 G-4 Comparison of contouring performance in square path with 0.4m/s feedrate.......118 G-5 Comparison of corner behaviors in diamond path with 0.2m/s feedrate...............119 G-6 Comparison of contouring performance in diamond path with 0.2m/s feedrate....120 G-7 Comparison of corner behaviors in diamond path with 0.4m/s feedrate...............121 G-8 Comparison of contouring performance in diamond path with 0.4m/s feedrate....122 G-9 Comparison of contouring performance in circular path with 0.2m/s feedrate......123 G-10 Comparison of contouring performance in circular path with 0.4m/s feedrate......123 G-11 Comparison of contouring performance in circular path with 0.4m/s feedrate. (0.06m radius)........................................................................................................124

PAGE 12

xii Abstract of Dissertation Pres ented 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 IMPROV ING CONTOUR ACCURACY IN A HIGH-SPEED MILLING MACHINE By Jinho Lee December 2005 Chair: John C. Ziegert Cochair: Warren Dixon Major Department: Mechanic al and Aerospace Engineering The quality of products from a machine t ool 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 degr aded in nonlinear moti ons with high speed feedrates. To mitigate contour errors in a high-speed machine tool system, several control strategies on the three-axis milling machine (H SM2) were investigated in this research. For efficient design of controllers, accu rate models for axes dynamics of HSM2 were developed. Specifically, the important parameters for system modeling such as equivalent moment of inerti a, mass and friction coefficien ts 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 conventiona l control schemes, the proportional-integral-derivative (PID) and feed forward controllers were designed first.

PAGE 13

xiii These controllers focus on the improvement of the individual axis performance only rather than the contouring pe rformance resulted from the combined motions of the axes. To directly reduce the contour error, th e cross coupling controller (CCC) proposed by Koren was used. This controller requires th e construction of a c ontour error model in real time and its utilization in a contro l law that reduces the contour error. The coordinate transform technique allo ws the decomposition of error components into the tangential, normal a nd binormal direction in three-dimensional system, which easily draws contour error models for gene ral motions. Based on the transformed error system, standard adaptive non linear control methods were applied to compensate for uncertain inertial and friction parameters. A Lyapunov-based analysis was used to prove global asymptotic contour trac king 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, feedfo rward controller and the traditional CCC.

PAGE 14

1 CHAPTER 1 INTRODUCTION There are two types of computer numeri cal control (CNC) machines: the point-topoint (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 spatia l path resulting from the combined motions of the axes is also im portant. 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, is the error component orthogonal to the desired tool pat h. The contour error in a two-dimensional contouring system (X-Y feed driv e system) is shown in Figure 1-1. Contour error sources in machining can be classified into three categories: mechanical hardware deficiencies (e.g., b acklash, nonstraightness of the table); cutting Where: R = Reference tool position P = Actual tool position Ex = X-axial error Ey = Y-axial error Figure 1-1. Contour error in machining a contour.

PAGE 15

2 process effects (e.g., tool deflect ion due to cutting force, tool wear); and controller and drive dynamics. In this dissertation, only the th ird set of error sources will be considered. Controller and drive dynamic s error sources can be fu rther divided into three subcategories: the mismatch in axial-loop parameters, external disturbances, and the contour shape in nonlinear trajectories and corner s. In general, the co ntour error due to all these sources increases as the feedrate increases [1]. Theref ore, a more effective servocontroller is needed for high-speed machin ing, which requires high-speed 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 wide ly used in CNC machine tools. As a typical feedback controller, pr oportional-integral-derivative (P ID) controller, is shown in Figure 1-2. In the PID controller, the corre ction signal is a combination of three components: proportional, integral, a nd derivative of th e position error. The advantage of the PID controller is th at it is simple to install and easily understood by most engineers. The main problem with the PID controller in contouring applications is the poor track ing performance at corners and during nonlinear contours [1]. Figure 1-2. Feedback controller for a single axis drive system.

PAGE 16

3 1.1.2 Feedforward Controllers To decrease the tracking errors, a feedfo rward controller can be added to the control loop. One example of the common feed forward controllers is shown in Figure 13. The feedforward controller attempts to implement 1 0() Gz that is the inverse of the transfer function close to the real control loop, () Gz. Since 1 0()()1 GzGz the actual position theoretically becomes e qual 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. A lthough the error reducti on 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]. Where: H(z) = Controller, D(z) = Drive unit G-1 0 (z) = Feedforward controller Figure 1-3. Feedforwar d controller for a single axis drive system. 1.1.3 Robust Controllers Examples of robust controllers are th e sliding mode controller and the H controller. These controllers focus on making the control sy stem robust against uncertainties in the drive parameters, ma ximizing the bandwidth within the physical limitations of the system, and compensati ng for external disturbances [4].

PAGE 17

4 However, these controllers still focus on the improvement of the individual axis performance only. The main drawback of th ese methods, which consider the performance of each axis separately during contouring, is th at reducing the individual axis errors does not necessarily reduce the contour error. In Fi gure 1-4, reductions in the position error of the individual axes shift the actual cutter location from point P to point 'P. Although the axial errors x E and yE at point 'P are smaller than x E and y E the contour error at 'P is larger than that at P. To address this problem, th e cross coupling controller is introduced. Figure 1-4. Axial and contour erro rs for different cutter locations. 1.1.4 Cross Coupling Controllers The main idea of the cross coupling controlle r is that the elimination of the contour error is the controller objective, rather than the reduction of the indivi dual axis errors [5]. Therefore, the cross coupling controller requ ires the construction of a contour error model in real time, and its utilization in a control law that reduces the contouring error.

PAGE 18

5 A block diagram of a basic biaxial cross c oupling controller is shown in Figure 1-5. The axial position errors x E and yE are used to determine the contour error by being multiplied by the variable gains, x C and yC. The output of the proper control law, () Wz is decomposed into two axia l components by multiplying by x C and yC. These axial components are then inserted into the individual axis l oops with the appropriate sign ensuring that contour erro r correction is executed in the proper direction. Figure 1-5. Cross coupling contro ller for a biaxial drive system. 1.2 Literature Review of Cross Coupling Controllers The concept of the cross coupling controll er (CCC) was first pr oposed by Koren in 1980 [5] and the time-varying gain was introduced by Koren and Lo to construct the accurate contour error model [6].

PAGE 19

6 Yeh and Hsu [7, 8] combined the CCC strategy with the ZPETC method using a contouring error transfer functi on (CETF). The resulting linear single-input single-output (SISO) error system was proven to yield bounded-input bounded-output (BIBO) stability. Yeh and Hsu also proposed a modified variable-gain CCC [9] that directly applies to arbitrary contours. Specifically, a linear co ntour approximation is used in lieu of the actual contour error as a means to reduce the computational complexity. Kulkarni and Srinivasan developed and expe rimentally tested an optimal controller based on a linear feed drive model for a multi-axis feed drive system [10]. Their conclusion is that improved performance ma y be obtained by de signing the controller using a higher order linear model. Moreove r, 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 develope d and experimentally tested [11]. However, the CCC in this research was still designed ba sed on a linear model of the machine. Chen et al. [12] used a polar coordinate representa tion of the contour error so that a linear relationship between the contour error and the radi al 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 nonlin ear model of cross-coupled multi-axis machine tools motivated Yeh et al. [13] and Tarng et al. [14] to employ a fuzzy logic feedforward control component. Degraded cont our tracking at high-speed feed rates due to the nonlinear cross-coupled dynamics motivated Chuang a nd Liu [15] to develop an adaptive estimate designed as a linear pe rturbed error model described using a deterministic autoregressive moving average (DARMA). An adaptive CCC feedforward

PAGE 20

7 scheme was also proposed [16]. However, as stated by Chiu and Tomizuka [17], the approach is limited to a linear coordination objective (i.e., th e 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 representati on. The controller was de veloped in Chiu and Tomizuka [17] for a linear time-varying e rror system under the assumption of exact model knowledge. Also under th e assumption of exact mode l knowledge of the dynamics except for an additive bounded disturbance, Chiu and Yao [18] developed an adaptive robust contour tracking controller where th e problem was formulated as a regulation objective. More recently, Xu and Yao [19] de veloped another adaptive robust controller using a discontinuous adaptive estimate for a linear motor driven X-Y table with uncertainty in the nonlinear dynamics. 1.3 Task Specification The focus of this research is to devel op accurate models for axes dynamics of highspeed milling machine (HSM2) and investigate the contouring performance of several control strategies. Through th e axes dynamics modeling, system parameters such as equivalent moment of inertia, mass and fr iction coefficients will be found. Then developed models will be verified by the comparison between simulation and experiment. Based on the identified system model, severa l conventional controlle rs (PID controller, feedforward controller and traditional CCC) will be designed and implemented on HSM2 for contour error reduction. Then, as an advanced CCC, the Lyapunov-based adaptive nonlinear CCC will be proposed. This CCC de velopment is inspired by the task

PAGE 21

8 coordinated problem formulation introduced in the recent effort [17]. Specifically, standard adaptive nonlinear control methods will be applied to the transformed crosscoupled 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 three-axis milling machine (HSM2) to be used as a test bed is de scribed. In Chapter 3, the process of system identification for HSM2 is presented. Ba sed on identified syst em models, several controllers are designed: PID c ontroller in Chapter 4, feedforw ard 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.

PAGE 22

9 CHAPTER 2 DESCRIPTION OF TEST BED The configuration of the three-axis high-sp eed milling machine (HSM2) to be used as a test bed for this research is illustrated in Figure 2-1. Figure 2-1. High-speed milling machine (HSM2).

PAGE 23

10 This machine was designed and built at the Machine Tool Research Center (MTRC) of the University of Florida by modifying the de sign of an existing machine constructed in the early 1980s. The original machine had conv entional rotary drive systems with sliding contact bearing on all three axes. In the rede sign, the sliding cont act bearing guideways for the xand y-axes were replaced by the hydrostatic guideways. The x-axis, which supports the workpiece, retains a rotary ser vo motor and leadscrew, but the original ballscrew was replaced by a hydrostatic screw a nd nut [20]. The y-axis of the redesigned machine, which supports the column that contai ns the z-axis and spi ndle, 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 w ith higher speed and accuracy compared to a conven tional rotary motor drive. The Turbo PMAC2 controller from Delta Ta u Data Systems Inc. is used as a controller. It performs the phase commutati on for the servomotors and closes the current loop digitally providing the pul se width modulation (PWM) format for the motor power. Interface modules and amplifiers are used fo r the control and feedback signal delivery and magnification between the co ntroller 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 X-axis The x-axis uses a hydrostatic ball scre w/nut for the transmission and hydrostatic guideways to reduce friction a nd wear during machining. The photo of the table which is connected by the hydrostatic ball screw/nut and the hydrostatic guideways is shown in

PAGE 24

11 Figure 2-2 (a). The x-axis is driven by a three phase AC ro tary servomotor attached on the end of the hydrostatic lead screw through a coupling. Pos ition feedback is provided by a rotary encoder attached on the rotor of the servomotor. 2.1.2 Y-axis As shown in Figure 2-2 (b), the y-axis al so has hydrostatic gu ideways. 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 th e column. The stators, or stationary parts of the linear motors, which contain the perman ent magnets, are attached on the outer walls of the machine base. Position feedback is pr ovided by a single linear encoder attached on the end of the column. 2.1.3 Z-axis This machine was designed for parts where the tool path is primarily generated by xand y-axis motions, while the z-axis provides the depth of cut during the machining. The z-axis is driven by an identical motor to that used for the x-axis. Conventional rolling element guideways shown in Figure 2-2 (c) ar e used in conjunction with a ballscrew for the z-axis. Position feedback is provided by a rotary encoder attached on the rotor of the servomotor. Detailed specifications of each motor, th e encoder and the x-and y-axis 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 2-3.

PAGE 25

12 (a) (b) (c) Figure 2-2. Guideways for (a) x-axis, (b) y-axis and (c) z-axis. 2.2.1 Controller The Turbo PMAC2 from Delta Tau Data Systems Inc. is used as a controller. This controller uses a 80 MHz D SP56303 CPU as the main processor providing up to 110 second loop closure time for up to eight simultaneous axes. The Turbo PMAC2 controller in HSM2 pe rforms the phase commutation for the servomotors and closes the current loop. M odern servo motor cont rols employ current control loops for high response, tolerance of parameter variation and protection against over current conditions. While this has traditi onally 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 digita l computation operati ng on numerical values in registers rather than by using analog processing operating on voltage levels with

PAGE 26

13 Interface Module X axis Rotary Motor Z axis Rotary Motor Y axis Linear Encoder Y axis Linear Motor Y axis Linear Motor Amplifier (Y axis) Amplifier (X axis) Amplifier (Z axis) Interface Module Turbo PMAC 2 Controller Power Power Power Power Feedback Feedback Feedback Figure 2-3. Schematic diagram of electrical components for the HSM2. operational amplifiers. This digital closur e of the motor current loop creates phase voltage commands from numerical register s representing commanded and actual current values. These numerical phase voltage comm ands are converted to the pulse width modulation (PWM) format through digital comp arison to an up/down c ounter 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 re quired. IBT-002 from the Electro Craft is used for xand z-axes and A CC-8F from Delta Tau Data Systems Inc. is used for y-axis (See Figure 2-4). The output of the interface module is a direct PWM signal which can be used for the half-bridge of the three phases motor. The i nputs are the encoder position signal for the position feedback and the current from motor co ils for the current feedback. 2.2.3 Amplifiers The input to the amplifier is the PW M on/off signal which is delivered from PMAC2 through the interface module. The ma in purpose of the amplifier in HSM2

PAGE 27

14 (a) (b) Figure 2-4. Interface modules for (a) xand z-axis and (b) y-axis. is magnification of the direct PWM signal to provide the power for the motors. For the xand z-axis amplifiers, PWM-150 and PWM-075 amplifiers from the Electro Craft are used. For the y-axis amplifier, the quad amplifier from the Delta Tau Data Systems Inc. is used (see Figure 2-5). Specifications of the am plifiers are in appe ndix A for reference. (a) (b) Figure 2-5. Amplifiers for (a) xand z-axis and (b) y-axis. In next chapter, the dynamic parameters such as equivalent moment of inertia, mass and friction coefficients of the xand y-axis in HSM2 will be obtained through system identification. Then, the models for axes dynamics will be verified by comparison between simulation and experiment.

PAGE 28

15 CHAPTER 3 SYSTEM IDENTIFICATION 3.1 System Modeling The first step toward achieving maximu m performance from any system is to develop an accurate model of the system. System modeling and pa rameter 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 fo cuses on reduction of the contour error in the x-y machining plane, only the xand y-axis 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 3-1. The system block di agram also can be divided by three categories as follows: the position feedback, the curr ent feedback and the electromechanical feed drive system, which are described in following subsections. Figure 3-1. Simplified system block diagram of the HSM2.

PAGE 29

16 3.1.1 Position Feedback The Turbo PMAC2 closes a position servo l oop 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 in stant in time. The detailed block diagram for the position feedback is shown in Figure 3-2. The Turbo PMAC2 is designed to allow the use of PID, feedforward and notch ser vo filters. These are easy to understand and tune, yet powerful enough to provide good contro l of the many systems. The feedback to the position servo loop is the position signal from encoders. Figure 3-2. Block diagram of th e Turbo PMAC2 servo loop [22]. 3.1.2 Current Feedback The current control loop is performe d by the Turbo PMAC2 controller. The detailed block diagram for the current feedb ack portion which includes some parts of the controller, amplifier and motor is shown in Figure 3-3. The comm and current which is generated from the position servo loop is co mpared with the actual current which is measured from the motor coil. Inside the curr ent loop, the pre-scaled quadrature current form is used for the digital calculation. Ther efore, for the feedback, the analog-to-digital

PAGE 30

17 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. Figure 3-3. Block diagram of th e Turbo PMAC2 current loop [22]. 3.1.3 Electromechanical Feed Drive System The detailed block diagrams for electromech anical feed drive system in the xand y-axes are shown in Figure 3-4 and Fi gure 3-5 respectively. For the x-axis 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 transmi ssion. The second viscous friction component is due to the viscous shear present in the hydr ostatic guideways. Since the linear motor is used to directly drive the y-axis, no transmi ssion is required. Therefore the viscous shear present in the hydrostatic gui de way is the only compone nt for the viscous friction coefficient (By) in the y-axis electromechanical feed drive system. The equivalent inertia term Jeq refers to the total inertia the servo motor must overcome when accelerating the xaxis rotary drive. This value is comprised of two components. The first is the inertia of the servo rotor, coupling and screw which ar e 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-

PAGE 31

18 axis, the mass, M represents the total moving mass al ong the y-axis. The column, spindle and rotors of the linear motors are in cluded. These four system parameters, Bx, By, Jeq and M must be found through experiment or by calc ulation, and this is the main content for this chapter. Figure 3-4. Block diagram of the x-axis electromechanical feed drive system. Figure 3-5. Block diagram of the y-axis electromechanical feed drive system. 3.2 X-axis System Modeling and Verification 3.2.1 Modeling the Viscous Friction Coefficient ( Bx) Due to the difficulty of modeling the visc ous shear between th e hydrostatic screws and nuts inside the transmission, the combined viscous friction on the x-axis feed drive is measured directly. This is accomplished by co mmanding a constant velocity feedrate on the x-axis and recording the current output from the servomotor. From Figure 3-4, the motor torque can be expressed as:

PAGE 32

19 .eqxTJB (3-1) Once the feed drive reaches the constant command velocity, th e acceleration term, in Eq. (3-1) is equal to zero. This results in the relationship shown in Eq. (3-2) between the axis feedrate and motor torque T .xTB (3-2) Multiplying the root mean square (RMS) curren t by the torque constant of the servomotor (tK) results in the instantaneous motor to rque. Therefore the final equation for Bx can be formulated as shown in Eq. (3-3). 0.707t xIK B (3-3) The current from the servomotor coil is measured at different feedrates. An example of the current and f eedrate data is provided in Figure 3-6, 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 3-7, where the actual da ta points are represented by do ts and the solid line is a linear regression fit to the data. Based on this measurement and using Eq. (3-3), a viscous friction coefficient of x-axis is obtained as follows. 0.7070.0214(//sec)1.14(/)07070.01725(//sec).xtI BKAradNmANmrad (3-4)

PAGE 33

20 Figure 3-6. Sample friction measurement on x-axis feed drive. y = 0.0214x + 1.2184 R2 = 0.9727 0 0.5 1 1.5 2 2.5 3 010203040506070 feedrate (rad/sec)current (A) Figure 3-7. Viscous friction meas urement on x-axis feed drive.

PAGE 34

21 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 th e x-axis feed drive system. But due to the difficulty of measuring the exact dimensions of all components, the equivalent moment of inertia on the x-axis feed drive is also obtained experimentally. Eq. (3-1) can be rearranged to give: 0.707 .xtx eqTBIKB J (3-5) Sample current and feedrate data are shown in Figure 3-8 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. (3-5). Table 3-1 shows the summary of the obtained values for Jeq through several experiments using different feedrates and accelerations. The equivalent mo ment of inertia of x-axis estimated by measuring dimensions of components is shown in Appendix B for reference. 3.2.3 Modeling Verification The developed model for the x-axis feed drive system is compared to the actual machine to verify its accuracy. Using the Tu rbo PMAC2, the ramp command is issued to the x-axis drive with both the current a nd 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.

PAGE 35

22 Figure 3-8. Sample moment of inertia measurement on x-axis feed drive. Table 3-1. Summar y of the obtained Jeq. Feedrate(rad/s) Acceleration(rad/s2)Current(A) Moment of inertia(kgm2) 189 15.2 0.0628 314 24.2 0.0608 503 36.7 0.0583 50.3 628 45.2 0.0575 189 15.3 0.0628 314 24.0 0.0602 503 37.0 0.0586 62.8 628 45.5 0.0578 189 15.0 0.0611 314 23.4 0.0583 503 36.1 0.0569 69.1 628 45.3 0.0576 189 15.0 0.0612 314 23.6 0.0586 503 36.1 0.0567 81.7 628 45.3 0.0574 Average 0.0591

PAGE 36

23 Figure 3-9 compares the response of th e position loop on the actual machine Xact to that of the Simulink model Xmodel. Figure 3-9 (b) is a zoomed in view showing the beginning of the movement. By examining th e 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 Y-axis System Modeling and Verification 3.3.1 Modeling the Viscous Friction Coefficient ( By) The same procedure used for the x-axis is applied to the y-axis for modeling of the viscous friction. From the Figure 3-5, the for ce can be expressed as shown in Eq. (3-6). yFMvBv (3-6) Once the feed drive reaches consta nt velocity, the acceleration term in Eq. (3-6) is equal to zero. This results in the followi ng relationship shown in Eq. (3-7) between the axis feedrate and motor force F yFBv (3-7) Multiplying the RMS current by the force constant of the servomotor ( f K ) results in the instantaneous motor force. Th erefore the final equation for y B can be formulated as shown in Eq. (3-8). 0.707f yIK B v (3-8) The current from the servomotor coil is measured at different feedrates. An example of the current and feedrate data is provided in Figure 3-10, for a measurement taken at a constant feedrate of 0.1 m/sec. From the current plots in Figure 3-10, it is noticed that the two linear motors behave in an exactly same way. Therefore the average

PAGE 37

24 (a) (b) Figure 3-9. Comparison of simulation to actua l system (x-axis positi on loop). (a) overall view, (b) zoomed in view.

PAGE 38

25 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 3-11, 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. (3-8), a viscous friction value is obtained as follows, 0.7074.5(//sec)304(/)0707967(//sec).yfI BKAmNANm v (3.9) It should be noted that the actual viscous friction value for the y-axis 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 x-axis is applied to the y-axis to model the total moving mass. The Eq. (3-6) can be rearranged to give: 0.707 .yfyFBvIKBv M vv (3-10) An example of the current and feedrate data is shown in Figure 3-12 for measurements taken at a constant acceleration of 800 mm/sec2. The average value for current and feedrate are obtained during the constant accel eration period. From this measurement, the total moving mass can be calculated using Eq 3-10. Table 3-2 shows the summary of the obtained values for M through several experiments using different feedrates and accelerations. The total moving mass of y-axis estimated by measuring dimensions of components is shown in Appendix B for reference.

PAGE 39

26 0 2 4 6 8 -0.2 0 0.2 y axis 1feedrate(m/sec) 0 2 4 6 8 -0.2 0 0.2 y axis 2 0 2 4 6 8 -5 0 5 current(A) 0 2 4 6 8 -5 0 5 2 3 4 5 6 0.095 0.1 0.105 feedrate(m/sec) 2 3 4 5 6 0.095 0.1 0.105 2 3 4 5 6 0 1 2 current(A)time(s) 2 3 4 5 6 0 1 2 time(s) Figure 3-10. Sample friction measurement on y-axis feed drive. y = 4.497x + 0.5859 R2 = 0.9362 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 00.050.10.150.20.250.3 feedrate(m/s)current(A) Figure 3-11. Viscous friction measurement on y-axis feed drive.

PAGE 40

27 0 2 4 6 -0.5 0 0.5 y axis 1feedrate(m/s) 0 2 4 6 -0.5 0 0.5 y axis 2 0 2 4 6 -10 0 10 current(A) 0 2 4 6 -10 0 10 1.6 1.7 1.8 1.9 2 0 0.2 0.4 feedrate(m/s) 1.6 1.7 1.8 1.9 2 0 0.2 0.4 1.6 1.7 1.8 1.9 2 0 5 10 time(s)current(A) 1.6 1.7 1.8 1.9 2 0 5 10 time Figure 3-12. Sample mass measurement on y-axis feed drive. Table 3-2. Summar y of the obtained M Federate(m/s) Acceleration(m/s2) Mass(kg) 0.5 1153 0.8 1196 0.15 1.0 1146 0.5 1274 0.8 1148 0.2 1.0 1100 0.8 1158 1.0 1123 0.26 1.5 1029 0.8 1149 1.0 1140 0.32 1.5 1116 Average 1144

PAGE 41

28 3.3.3 Modeling Verification Using the Turbo PMAC 2, a ramp command is issued to the y-axis drive with both the current and position feedback loops closed. The commanded feedrate is 40 mm/s. During the moves the comma nded 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 3-13 compares the response of th e position loop on the actual machine Yact to that of the Simulink model Ymodel. Figure 3-13 (b) is a zoom ed-in view showing the beginning of the movement. By examining th e 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 syst em 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 x-axis viscous fr iction coefficient is shown in Figure 3-14 where the solid line stands for the experimental result and the dotted lines stand for

PAGE 42

29 (a) (b) Figure 3-13. Comparison of simulation to actual system (y-axis position loop). (a) overall view, (b) zoomed in view.

PAGE 43

30 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. Similarl y, Figure 3-15, Figure 3-16 and Figure 3-17 show the sensitivity of the x-axis equivalent moment of inertia, the y-axis viscous friction coefficient and the y-axis moving mass respectiv ely. 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. Thr ough the comparison between Figure 3-14 and Figure 3-15, it is shown that th e parameter of the equivalent moment of inertia is more sensitive than the viscous friction coefficient for the x-axis. Similarly, for the y-axis, the parameter of the mass is more sensitive than the viscous friction coefficient. To compare the sensitivity of the x-axis vi scous friction coefficient with the y-axis, in position profile of Figure 3-14 and Figure 3-16, the displacements at certain time lapse are compared. In result, it is shown that the y-axis viscous friction coefficient is more sensitive than the xaxis. Similarly, for the inertia parameter, the y-axis mass is more sensitive than the x-axis equivalent moment of inertia. 3.5 Reversal Error of X-axis The x-axis is driven by a three phase AC rotary servomotor attached on the end of the hydrostatic leadscrew thr ough a coupling. Since the x-ax is 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 th e axis leadscrew or leadscrew mounting can also cause a reversal error. Reversal error ap pears when an axis is being driven in one direction and then has to reverse and move in the opposite direction.

PAGE 44

31 Figure 3-14. Sensitivity of the x-axis viscous friction coefficient. Figure 3-15. Sensitivity of the x-axis equivalent moment of inertia.

PAGE 45

32 Figure 3-16. Sensitivity of the y-axis viscous friction coefficient. Figure 3-17. Sensitivity of the y-axis mass.

PAGE 46

33 To identify the x-axis revers al error, the two-dimensiona l grid encoder is used for reading the absolute position of the table as shown in Figure 3-18. 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 x-axis. Th e experiment is repeated five times with different displacements. The resultant reversal errors are found to be 0.9 m, 1.8 m, 1 m, 1.8 m and 1.3 m. The average of these values is 1.36 m which is less than the resolution of the x-axis encoder (2 m). Therefore, the reversal error of the x-axis is disregarded in system identification. In next chapter, based on the identified axes models for HSM2, as a conventional feedback controller, the proportional-integr al-derivative (PID) controller will be designed. The tuning procedure for each axis and the balancing technique between xand y-axis will be included in next chapter. Figure 3-18. The two-dimensional grid encoder set up in HSM 2.

PAGE 47

34 CHAPTER 4 DESIGN OF THE PROPORTIONAL-IN TEGRAL-DERIVATIVE CONTROLLER In this chapter, based on the identified axes model for HSM2, proportional-integralderivative (PID) feedback cont rollers are designed. Since the Turbo PMAC2 controller has the PID control algorithm built-in, tuned PI D 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 xand y-axes are balanced to improve contouring performance. 4.1 Tuning Procedures Instead of using traditional controller tuning techniques su ch as root locus and pole placement, typical motion commands, such as th e one shown in Figure 4-1, 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 4-1 indi cates that the axis travels 0.1 m in distance with 0.5 m/s feedrate and 4 m/s2 acceleration. This feed rate and the acceleration are chosen based on the maximum values whic h the xand y-axes of HSM2 can safely reach. If excessive feedrate and acceleration are used for HSM2 operation, HSM2 may be

PAGE 48

35 damaged, with the damage typically occurring as a scratch mark on the x-axis leadscrew. This is believed to be caused by excessive force between the ba llscrew and hydrostatic nut, causing collapse of the hydrostatic oil film a nd direct metal-to-metal contact to occur. This metal contact creates the scratch mark on the leadscrew and this scratch mark prevents smooth movement of the x-axis tabl e. Additionally, instability can occur in the y-axis as vibration between the two linear motors when the excessive feedrate and acceleration are used. Figure 4-1. Motion command for cont roller performance evaluation. Given a commanded path profile, the t uning 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 res ponse faster usually resu lts in overshoot which is undesirable in a precise machine tool. Theref ore, there is a trade-off between these two and tuning is simply the process of finding a good compromise between the two using P, I and D controller gains.

PAGE 49

36 Increasing P gain in an effort to reduce the following error results in an overshoot and an oscillatory response. The I gain re duces the steady state positioning error but could cause undesirable integr al windup. The D gain is usually used as proportionalderivative combined form when substantial inertia requires better transient response. 4.1.1 Proportional-Integral-Deri vative Tuning for the X-axis The PD tuning of the x-axis is complete d first. Table 4-1 shows the simulation results for several combinations of P and D gain making the x-axis 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 sec. The simulation result shows that the proper combination of large P and small D gains decreases the maximum following error (i.e., making system respons e faster) without cau sing overshoot. During experimental testing of these combinations it was found that the larger P gain than 180000 and the smaller D gains than 7200 (indicate d in shaded color in Table 4-1) cause physical damage to the x-axis leadscrew. This result shows that these gains can be considered as limit values to achieve the quickest response without overshoot in the xaxis of HSM2. Therefore, the proper gains for th e PD controller of the x-axis are selected as 180000 for the P gain and 7200 for the D gain. For the I gain tuning, the simulation and e xperiment 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 inte gral control effort is the saturated, the integral term holds the contro llers output at saturation until th e 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 x-axis. Figure 4-2 shows the response of the PID

PAGE 50

37 tuned (P=180000, I=0, D=7200) x-axis to th e test command and the following error for this move. Table 4-1. Proportional and derivative gain tuning for the x-axis. 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 Proportional-Integral-Deri vative Tuning for the Y-axis The PD tuning is completed first for the y-axis. Table 4-2 shows the simulation results for several combinations of P and D gain making the y-axis response to the command path without overshoot. The simu lation 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 cau sing overshoot. During e xperimental testing of these combinations, it was found that th e larger P gain than 80000 and the smaller D gains than 6100 (indicated in shaded colo r in Table 4-2) cau se the non-acceptable vibration between the y-axis linear motors. This result shows that these gains can be considered as limit values to achieve the quickest response without overshoot in the yaxis of HSM2. Therefore, the proper gains for th e PD controller of the y-axis are selected as 80000 for the P gain and 6100 for the D gain. And for the same reason as the x-axis, the I gain is not included in the PID cont roller for the y-axis Figure 4-3 shows the response of the PID tuned (P=80000, I=0, D= 6100) y-axis to the test command and the following error for this move.

PAGE 51

38 (a) (b) Figure 4-2. The PID tuned x-axis response to 0.5 m/s motion command. (a) command and actual position, (b) following error.

PAGE 52

39 Table 4-2. Proportional and derivative gain tuning for the y-axis. 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 Xand Y-axes Since the previously tuned xand y-axes 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 ar e different as shown in Figure 4-2 (b) and Figure 4-3 (b). Since the mismatch between xand y-axis servo parameters causes the poor contouring performance in x-y coordinate motions, the servo parameters should be balanced through the cont rol gain adjustment. Figure 4-4 shows the contour error for unbala nced axes when the xand y-axes 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 m. The simple way for balancing servo parameters between the xand y-axes is to change controller gains of one axis to have the similar following error to the other axis. As previously shown in Figure 4-2 (b) and Figure 4-3 (b), since the maximum steady state following error of the y-axis (10.54 mm) is smaller than x-axis (12.44 mm), the c ontroller gain of y-axis should be changed so that the y-axis following error becomes similar to the x-axis following error. By adjusting the y-axis P and D gain as P=58000 and D=7200, the smallest contour error in x-y coordinate motion can be achieved. Figur e 4-5 shows the contour error for balanced

PAGE 53

40 (a) (b) Figure 4-3. The PID tuned y-axis response to 0.5 m/s motion command. (a) command and actual position, (b) following error.

PAGE 54

41 Figure 4-4. Contour error before balancing PID controller servos. Figure 4-5. Contour error after balancing PID controller servos.

PAGE 55

42 axes when the same motion command as in Fi gure 4-4 is used for xand y-axes. From Figure 4-5, it is found that by balancing ser vo parameters, the maximum absolute contour error is reduced to 38 m. 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.

PAGE 56

43 CHAPTER 5 DESIGN OF THE FEEDFORWARD CONTROLLER In this chapter, feedforward terms are a dded to the proportional -integral-derivative (PID) controllers designed in th e 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 controlle rs output for better performance, either a significant error or relatively high gains is required. However, significant following error is not acceptable a nd 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 co mmand 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 po sition becomes equal to the desired position. However, the system models usually contain inaccuracy in modeling, which degrades the performance of the f eedforward controller. In most practical cases, the feedforward cont roller 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 posi tion errors that woul d be proportional to

PAGE 57

44 velocity. The acceleratio n feedforward term (Kaff) acts to reduce the potential position errors that would be proportional to acceler ation. The feedforward scheme provided by the Turbo PMAC2 is illustrated in Figure 5-1. Figure 5-1. The feedforward scheme in Turbo PMAC2. 5.1 Tuning Procedures The typical motion command shown in Figure 4-1 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 feedforw ard gains associated with the designed PID controller are found to make the system have the lo west following error without overshoot. 5.1.1 Feedforward Tuning for the X-axis First, the velocity feedforward term (Kvff) is added to the PID controller. For convenience, the P gain is fixed as 180000 de termined in the section 4.1.1 while the D gain and the Kvff are changed. Table 5-1 shows th e simulation results for several combinations of P, D and Kvff making the x-axis response to the command path without overshoot. The simulation result shows th at 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 thes e combinations, it was found that the larger

PAGE 58

45 D gains than 11000 and the larger Kvff than 8500 (indicated in shaded color in Table 5-1) cause physical damage to the x-axis leadscrew. This result shows that these gains can be considered as limit values to achieve the qui ckest response without overshoot. Therefore, the proper gains for the PD+veloc ity feedforward cont roller of the x-axis 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+feedforwar d controller for the x-axis. Figure 52 shows the response of the PID+feed forward tuned (P=180000, I=0, D=11000, Kvff=8500, Kaff=0) x-axis 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 5-1. Proportional, derivative and feedforward gain tuning for the x-axis. P gain D gain Velocity feedforward gain (Kvff) Max. following error (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 Y-axis First, the velocity feedforward term (Kvff) is added to the PID controller. For convenience, the P gain is fixed as 80000 de termined in the section 4.1.2 while the D gain and the Kvff are changed. Table 5-2 shows th e simulation results for several

PAGE 59

46 (a) (b) Figure 5-2. The PID and feedforward tuned xaxis response to 0.5 m/s motion command. (a) command and actual position, (b) following error.

PAGE 60

47 combinations of P, D and Kvff making the y-axis response to the command path without overshoot. The simulation result shows th at 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 5-2) cause non-accep table vibration between the y-axis linear motors. This result shows that these gains can be considered as limit values to achieve the quickest response without overs hoot. Therefore, the proper gains for the PD+velocity feedforward controller of the y-axis 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 x-axis, the acceleration feedforward term is not included in the PID+f eedforward controller for the y-axis. Figure 5-3 shows the response of the PID+feed forward tuned (P=80000, I=0, D=6500, Kvff=2700, Kaff=0) y-axis 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 5-2. Proportional, derivative and feedforward gain tuning for the y-axis. P gain D gain Velocity feedforward gain (Kvff) Max. following error (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

PAGE 61

48 (a) (b) Figure 5-3. The PID and feedforward tuned yaxis response to 0.5 m/s motion command. (a) command and actual position, (b) following error.

PAGE 62

49 5.2 Balancing Servo Parameters between the Xand Y-axes As shown in Figure 5-2 (b) and Figure 53 (b), due to the parameter mismatch between the xand y-axis, the steady state fo llowing errors of each axis are different. To balance servo parameters between the xand y-axis, the same method as described in the section 4.2 is used. As previously shown in Figure 5-2 (b) and Figure 5-3 (b), since the maximum steady state following error of the x-axis (4.35 mm) is smaller than y-axis (6.58 mm), the controller gain of x-axis s hould be changed so that the x-axis following error becomes similar to the y-axis following error. By adjusting the x-axis P gain, D gain and Kvff as P=180000, D=8250 and Kvff=4440, the smallest contour e rror in x-y coordinate motion can be achieved. Figure 5-4 s hows the contour error for unbala nced axes when the xand y-axes are commanded to move simultaneou sly for 0.1 m displacement with 0.14 m/s feedrate and 0.28 m/s2 acceleration. Figure 5-5 shows the contour error for balanced axes when the same motion command is used for xand y-axes. From Figure 5-4 and Figure 5-5, it is found that by balancing servo para meters, the maximum absolute contour error is reduced from 457 m to 24 m. In next chapter, to directly reduce the c ontour error, the trad itional 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 user-written servo algorithm provided by Turbo PMAC2 will be used.

PAGE 63

50 Figure 5-4. Contour error before balanci ng PID and feedforward controller servos. Figure 5-5. Contour error after balanci ng PID and feedforward controller servos.

PAGE 64

51 CHAPTER 6 DESIGN OF THE TRADITIONAL CROSS COUPLING CONTROLLER In this chapter, the cross coupling cont roller (CCC) proposed by Koren in 1991 is implemented on HSM2 to directly reduce the co ntour 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 erro r. Therefore, the cross coupling controller requires construction of a contour error model in real time, a nd its utilization in a control law that reduces the contour error. A bloc k diagram of a basic biaxial cross coupling controller is shown in Figure 6-1. The axial position error x E and yE are used to determine the contour error by being multiplied by the variable gain, x C and yC Figure 6-1. Cross coupling contro ller for a biaxial drive system.

PAGE 65

52 The output of the proper control law, () Wz is decomposed into two axial components by multiplying by x C and yC These axial components are then inserted into the individual axis loops with the appropriate sign ensuring that contour error corr ection 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 determin ed from the geometrical relationship shown in Figure 6-2: sincos.xyEE (6.1) In Eq. (6.1), x E is the x-axial error, y E is the y-axial error and is the angle between the x-axis and the desired straight line. Since sin/yVV and cos/xVV where Vx is the x-axis feedrate, Vy is the y-axis feedrate and V is the required feedrate for the linear motion, Eq. (6.1) can be rewritten as follows; x yyxEVEV V (6.2) Therefore, in the linear contour, variable gains Cx and Cy can be expressed as follows; sin,cos.y x xyV V CC VV (6.3) 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, 22 x yVVV at each interpolation step.

PAGE 66

53 Figure 6-2. Linear contour error. 6.1.2 Circular Contour The circular contour error is the differe nce between the distance from the tool location to the center of the circle and the radius of the circle: 22 00()()xyPxPy (6.4) where is the radius of the circle, ( x0, y0) is the corresponding cente r of the circle and ( Px, Py) is the actual tool position. From the ge ometrical relationship in Figure 6-3, the actual position, P can be represented by the axial errors and the reference position: 0sin x xxxPRExE (6.5) 0cosyyyyPREyE (6.6) where Rx and Ry is the reference tool position P* and Ex and Ey is the axial error of the xand y-axis. Substituting Eq. (6.5) and Eq. (6.6) into Eq. (6.4) yields following equation: 22(sin)(cos)xyEE (6.7) For the simpler form of Eq. (6.7), the Ta ylor series expansion used as follows; 2(sin)(cos)(). 22y x xyE E EEOrder (6.8)

PAGE 67

54 Figure 6-3. Circul ar contour error. Neglecting the high order term, the contour error can be approximated as follow; x xyyECEC (6.9) where Cx and Cy are defined by: sin 2 x xE C cos. 2y yE C (6.10) Since Ex and Ey vary 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 xand y-axis in Figure 6-1, PID+feedforward controllers developed in the previous chapter are used. To realize the cross coupling concept in HSM2, the user-written se rvo algorithm provided by the Turbo PMAC2 controller is used. The user-written servo algorithm permits users to write their own custom algorithm in a high-level language that would execute on Turbo PMAC2s highpriority servo interrupt. In A ppendix C, user-written servo algorithm codes for the linear

PAGE 68

55 and circular CCC implementation are presen ted. Important Turbo PMAC2 variables associated with user-written servo algor ithm 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 cont our which give the lowest contour error without the unstabili ty of the system. In next chapter, different type of CCC will be proposed. First, by transforming the machine tool feed drive dynamics to the time -varying coordinate frame, the error system will be transformed into tangential, norm al and binormal components to the desired contour. Since only normal and binormal co mponents contribute the contour error, further control effort will focus on only these two components for contouring performance. Based on the transforme d dynamics, the Lyapunov-based adaptive nonlinear controller will be designed to compensate uncertain inertial and friction parameters of the system. To implement the developed CCC on HSM2, the user-written servo algorithm provided by Turbo PMAC2 will be used.

PAGE 69

56 CHAPTER 7 DESIGN OF THE ADAPTIVE NONLINEA R CROSS COUPLING CONTROLLER In this chapter, the adaptive nonlinea r cross coupling controller (CCC) is introduced. Unlike the traditiona l CCC, the controller developed in this chapter is based on the transformed error system, assuming uncer tain inertial and friction parameters of the machine tool feed drive system. Although th e controller in this chapter is developed for a three-axis computer numerical control (CNC) machine tool feed drive system, the results can be extended to n-dimensional systems. By transforming the machine tool feed drive dynamics to the time-varying coordinate frame, the error system is transformed into tangential, normal and binormal components to the desired contour. Based on the transformed error system, Lyapunovbased controllers are devel oped. Specifically, standard adaptive nonlinear control methods are applied to compensate for un certain inertial and fr iction parameters. A Lyapunov-based analysis is used to prove global asymptotic contour tracking for an arbitrary contour. A novel second co ntroller is also developed that contains an integral signum feedback component that yields semi -global asymptotic contour following in the presence of uncertain friction and cutting force disturbances. 7.1 Three-Axis Computer Numerical Cont rol (CNC) Machine Tool Dynamics The dynamic model for a three-axis CNC m achine tool is assumed to have the following form M x B x T (7.1)

PAGE 70

57 where () x t, () x t 3() xt denote the position, velocity, and acceleration of the machine tool expressed in an inertial c oordinate system, respectively, 33 M denotes the unknown diagonal inertia matrix, 33 B denotes the unknown di agonal friction matrix, and 3() Tt represents the input c ontrol force. To facili tate the subsequent CCC development, the machine tool coordinates can be transformed from the inertial coordinate system to a time-varying coordinate frame as follows x f FT x (7.2) where ()f x t ()f x t, 3()fxt denote the position, velocity, and acceleration of the machine tool expressed in the time-varying coordinate system, respectively. The subsequent development is based on the assumption that ()f x t and ()f x t are measurable. In Eq. (7.2), the known transformation matrix 33() Ft is composed of a known unit tangent vector, denoted by () tt a known unit normal vector, denoted by () nt and a known binormal vector, denoted by () bt defined as ()()() btttnt. The vectors () tt () nt and () bt are defined based on the tangent and normal components of a desired contour, denoted by ()d x t That is, given a desired contour ()d x t the tangential, normal, and binormal components of ()d x t can be used to change the coordinates of the machine tool from the inertial frame to a time varying frame as follows x fd FTxd (7.3) where ()fd x t ()fd x t, 3()fdxt denote the desired position, velocity, and acceleration of the machine tool expressed in the time-va rying coordinate syst em, respectively. See Figure 7-1.

PAGE 71

58 Figure 7-1. Time-varyi ng coordinate frame. Based on Eq. (7.2) and Eq. (7.3), the dyna mic model given in Eq. (7.1) can be transformed as follows M x f V mx f B x f Nxf T (7.4) In Eq. (7.4), () M t ()mVt () B t () Nt and () Tt are defined as M FT MF (7.5) V m 2 FT MFF T F (7.6) B F T BF (7.7) N 2 FT MFF T F F TF FTBF F TF FTMFF T F (7.8) T F TT (7.9) The dynamic model in Eq. (7.4) exhibits the fo llowing properties that are utilized in the subsequent development.

PAGE 72

59Property 1: The inertia matrix () M t is symmetric, positive definite, and satisfies the following inequalities [23] m1 2 TM m2 2 t R3 (7.10) where 12, mm are known positive constants, and denotes the standard Euclidean norm. Property 2: The matrices () M t and ()mVt are skew-symmetric in the sense that [23] T M t V m t 0 t R3. (7.11) Property 3: The dynamic model given in Eq. (7.4) can be linearly parameterized as follows [23] Y M x f V mx f B x f Nx f (7.12) where 6 contains the unknown constant system parameters, and 36(,,)fffYxxx denotes a regression matrix. The re gression matrix formulation of Eq. (7.12) can also be written in terms of the desired contour in the following manner Yd M x fd V mx fd B x fd Nxfd (7.13) where the desired regression matrix is defined by 36(,,)dfdfdfdYxxx Property 4: The time derivative of the transformation matrix () Ft can be expressed as follows [17] F T vRF T (7.14) where ()()fdvtxt denotes the desi red feedrate, and 33() Rt is defined as

PAGE 73

60 R 0 0 0 0 0 (7.15) In Eq. (7.15), () t is a single-valued continuous f unction that denotes the desired curvature of the contour, and () t is a single-valued conti nuous function that denotes the desired torsion. The time derivative of Eq. (7.14) can be determined as F T v R FT v R FT v2 R RFT. (7.16) Based on the assumption that the desire d contour is selected such that ()fd x t ()fd x t ()fd x t () t, () t () t, () t L then Eq. (7.14) and Eq. (7.16) can be used to conclude that () Ft ()TFt ()TFt L Remark 1: The partial derivative of () Ft with respect to the arc length of the desired contour is commonly referred to as th e Serret-Frenet [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 () t and () t Remark 2: The following inequalities can be developed from Eq. (7.5) Eq. (7.10) and Property 4 M i m V mi v (7.17) B i b N i n (7.18) where m v b n denote known positive bounding constants.

PAGE 74

617.2 Control Development 7.2.1 Control Objective The control objective is to develop a CCC for a three-axis CNC machine tool so that a desired contour is fo llowed. To quantify the objectiv e, a contour tracking error, denoted by 3() et is defined as follows e xfd x f (7.19) where ()fd x t and ()f x t are defined in Eq. (7.3) and Eq. (7.2), respectively. To facilitate the subsequent analysis, a filtered tracking error, denoted by 3() rt is defined as r e e (7.20) where denotes positive constant control gain The subsequent control development is based on the assumption that ()f x t and ()f x t are measurable, and that ()fd x t ()fd x t ()fd x t ()fd x t are known and are bounded (and hence () et () et () rt can be computed). 7.2.2 Closed-Loop Error System The open-loop error system for () rt can be obtained by ta king the time-derivative of Eq. (7.20) and premultiplying the resulting expression by () M t as follows M r M x fd x f M e After utilizing Eq. (7.4), Eq (7.19), and Eq. (7.20), the following expression can be obtained M r 1 2 V mr Yd T (7.21) where the product of the linear regression matrix 36((),(),())dfdfdfdYxtxtxt and the vector of unknown constants introduced in Eq. (7.12) is given by the following expression

PAGE 75

62 Yd M x fd V mx fd B x fd Nxfd, (7.22) and the auxiliary expression 3(,) er is defined as V m e M B r e Ne 1 2 V mr (7.23) By utilizing Eq. (7.17), Eq. (7.18), and Eq. (7.23), the following upper bound can be developed for (,) er 1 z where z t eTrT T (7.24) where 1 is a known, positive bounding constant. Based on Eq. (7.21) and subsequent stability analysis, () Tt is designed as follows T k1 kn1 2 r Yd e (7.25) In Eq. (7.25), 1,nkk denote positive constant control gains, and 6 () t denotes an adaptive estimate that is generated from the following differential equation Yd Tr 0 (7.26) where 66 is a constant diagonal matrix of adaptation gains, and 6() t denotes an initial best-guess estimate of the unknown parameters in The closed-loop error system for () rt can be obtained after substituting Eq. (7.25) into Eq. (7.21) as follows M r 1 2 V mr Yd k1 kn1 2re (7.27) where 6() t denotes the adaptive estimate mismatch defined as follows (7.28) 7.2.3 Stability Analysis Theorem 1 : Provided the control gain nk is selected according to the following sufficient condition

PAGE 76

63 kn1 4 1 (7.29) where 1 =min(1k ), the control law given in Eq. (7 .25) ensures global asymptotic tracking control in the sense that lim t e t 0. (7.30) Proof: Let () Vt denote the following nonnegative Lyapunov function V 1 2 rTM r 1 2 eTe 1 2 1 (7.31) The time derivative of Eq. (7.31) can be written as follows V eTe k1 kn1 2 rTr rT (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) V 1 z 2 1 r z kn1 2 r 2 (7.33) where 1 was introduced in Eq. (7.29). The follo wing expression can be obtained after completing the squares on the bracketed terms in Eq. (7.33) V 1 z 2 z 24 kn (7.34) Provided nk is selected according to the sufficient condition given in Eq. (7.29), the following inequality can be developed V z 2 (7.35) for some positive constant From Eq. (7.31) and Eq. (7 .35), we can conclude that () VtL ; hence, () et, () rt, () tL The expressions in Eq. (7.31) and Eq. (7.35) can also be used to conclude that () et, 2() rtL Given that () et, () rtL linear analysis methods can be used to prove that () etL from Eq. (7.20). Since () tL Eq. (7.28)

PAGE 77

64 can be used to prove that () tL The assumption that ()fd x t ()fd x t ()fd x tL can be used along with Eq. (7.17) and Eq (7.18) to conclude that ((),(),())dfdfdfdYxtxtxtL Based on these facts, Eq. (7.24) Eq. (7.27) can be used to prove that (,) er () Tt () t () rtL Since () et () et () rt () rtL (i.e., a sufficient condition for () et and () rt to be uniformly continuous) and () et 2() rtL Barbalat's Lemma can be used to prove the result in Eq. (7.30). Since () Ft 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 x dast 7.3 Unknown Disturbance Extension In practice, the machine tool dynamics ar e often subject to di sturbances due to unknown friction effects and unknown cutting fo rces. This section describes how a recently developed controller [28] can be ex tended to the machine tool contour tracking problem to compensate for uncertain fric tion and sufficiently smooth, unknown cutting forces. Specifically, the control development is described and the stability analysis [28] is used to prove semi-global asymptotic contour tracking in the sense that x x dast provided the control gains are selected accordi ng to the initial condi tions of the system. 7.3.1 Control Formulation The machine tool dynamics in this sect ion are modeled by the following equation M x f V mx f N xf ff Cf T (7.36) where 3()fffx denotes a friction force and 3()ffCx denotes an additive bounded disturbance that represents the cutting forces, and

PAGE 78

65 N 2 FT MFF T F F TF FTMFF TF The friction and cutting are modeled so that () f f f x () f f f x () f f f x and () f fCx () f fCx () f fCx exist and are bounded provided ()f x t ()f x t ()f x tL (see [28] for more details regarding the friction model). To facilitate the control development, a s econd filtered tracking error, denoted by 3 2() rt is defined as follows r 2 r 2 r (7.37) where 2() t is a positive constant control gain and () rt is defined in Eq. (7.20). The filtered tracking error 2() rt is not measurable since the expression in Eq. (7.37) depends on ()f x t After premultiplying Eq. (7.37) by () M t the following expression can be obtained M r2 M x fd V mx f Nxf T ff Cf 2 M r 2M e (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 M x fd V mx f Nx f 2 M r 2M e (7.39) where 3() t denotes a subsequently designed control term. By substituting Eq. (7.39) into Eq. (7.38), the followi ng expression can be obtained M r2 ff Cf (7.40) To facilitate the design of() t we differentiate Eq. (7.40) as follows M r 2 f f C f M r2. (7.41) Based on Eq. (7.41) and the subs equent stability analysis, () t is designed as follows

PAGE 79

66 002()(1)()(1)()[(1)()sgn(())]t sss ttkrtkrtkrrd (7.42) where the time derivative of Eq. (7.42) is given as k s 1 r2 sgn r (7.43) After substituting Eq. (7.43) into Eq. (7. 41), the following closed-loop error system can be obtained M r 2 1 2 M r2 ks 1 r2 r sgn r (7.44) where 3 2(,,) rrt denotes the following unm easurable auxiliary term f f C f1 2 M r2 r (7.45) To facilitate the subsequent analysis, another unmeasurable auxiliary term is defined as d t ff x fd x fd x fd Cf x fd x fd x fd. (7.46) The time derivative of Eq. (7.46) is given as follows: d t 2ff x fd x fd 2 x fd 2 ff x fd x fd x fd2Cf x fd x fd 2 x fd 2 Cf x fd x fd x fd. (7.47) After adding and subtracting Eq (7.46), the closed-loop error sy stem in Eq. (7.44) can be expressed as follows M r 1 2 M r2 ks 1 r2 r sgn r d (7.48) where the unmeasurable auxiliary term 3() t is defined as d. (7.49) Based on the expressions in Eq. (7.46) and Eq (7.47), the followings can be developed: d d 2 (7.50) where 2 are selected to be sufficiently large positive constants.

PAGE 80

677.3.2 Stability Analysis Theorem 2 : The controller given in Eq. (7.39) and Eq. (7.42) ensures that the crosscoupling position tracking error is regulated in the sense that e t 0 ast provided is selected according to th e following sufficient condition 1 2 2 (7.51) where and 2 are introduced in Eq. (7.50), and s k is selected sufficiently large based on the initial conditions of () et, () rt, and 2() rt 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 user-written servo algorith m provided by the Turbo PMAC2. Since the x-y feed drive system on HSM2 is a two-dimensional contou ring system, the parameterization based on the feed direction (see Figure 72) can be used to present the coordinate transformation matrix F(t) Let (t) be the incline angle between the desired velocity vector ()d x t and the x-axis, then F(t) can be represented by Figure 7-2. The 2-D plan e curve parameterization.

PAGE 81

68 cos()sin() () sin()cos() tt Ft tt (7.52) For a linear contour, the matrix R in Eq. (7.15) is the zero ma trix. For a circular contour, 01/ 1/0 R (7.53) where is the radius of the circle. For a general two-dimensional trajectory, R is a matrix function of the incline angle (t) For two-dimensional case, the vector of unknown constant system parameters, in Eq. (7.22) is composed of T xyxyMMBB where Mx is the equivalent moment of inertia for x-axis, My is the moving mass for y-axis, Bx is the viscous friction coefficient for x-axis and By is the viscous friction coefficient for y-axis. For the initial best-guess estimate, 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 two-dimensional case is derived in Appendix E for reference. Considering T in Eq. (7.25), let 2 11()nkk be k for simplicity. Then by using Eq. (7.2), (7.3), (7.9), (7.14), (7.19), (7.20), T can be expressed as follows ()() {()()}()() ()()()() ()()()() ()()(1)()(d TTTTTT dddd TT dddd TTTT ddddd T ddTFT FkeeFYFe d FkFxFxFxFxFYFFxFx dt d FkFxFxkxxFYxx dt FkvRFxFxvRFxFxkxxFYxx kvFRFxxkxxkx )().ddxFY (7.54)

PAGE 82

69 The control force input T in Eq. (7.54) can be describe d as a cross-coupled 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 two-di mensional circular contour, Eq. (7.52) and Eq. (7.53) can be used to express the cro ss-coupled component of Eq. (7.54) as 11 22cos()sin()01/cos()sin() ()() sin()cos()1/0sin()cos() sin()/cos()/cos()sin() cos()/sin()/sin()cos()d T d d x x tttt kvFRFxxkv x x tttt tttt kv tttt 11 22 11 22 22 1101/ 1/0 ()d d d d d dxx xx xx kv xx xx kv xx 22 1 11 2(/)0 () 0(/)d dxx kv x x kv (7.55) Since the second and third terms in Eq. (7. 54) represent the propor tional-derivative (PD) controller, the PD controllers designed in Chapter 4 is used for those. The gains that resulted in the best performance in circ ular contours are determined as follows 1/422 kv, 2/1359 kv and 2 2510000 051000 0010 0001 (7.56) User-written 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.

PAGE 83

70 CHAPTER 8 EXPERIMENTAL RESULTS In this chapter, contouring performances of developed controllers in Chapter 4, 5, 6 and 7 are examined experimentally. For expe riments, three basic paths (square, diamond and circle) on the x-y plane of HSM2 are se lected. The square path is used for the cornering performance evaluation. The diamond and circular paths are used for the linear and circular contouri ng performance evaluation respectiv ely. Each path with starting point and direction is shown in Figure 8-1, Figure 8-2 a nd Figure 8-3 respectively. Feedrates and accelerations used for each path are shown in Table 8-1. During movement, the path is measured by both encoders mounted on each axis and grid plate described in Figure 3-18. Figure 8-1. Square pa th on the x-y plane.

PAGE 84

71 Figure 8-2. Diamond pa th on the x-y plane. Figure 8-3. Circular path on the x-y plane.

PAGE 85

72 Table 8-1. Feedrates and accelerations for each path. Feedrate(m/s) Acceleration(m/s2) 0.2 0.50 Square path 0.4 2.00 0.2 0.40 Diamond path 0.4 1.60 0.2 0.40 Circular path (0.1m radius) 0.4 1.60 Circular path (0.06m radius) 0.4 2.67 8.1 Square Path Since the xand y-position used for the xand y-axis control loop feedback is usually different from the absolute position, the path measured by the xand y-axis encoder is compared to the path measured by the grid plate. Figures 8-4 and 8-5 show the comparison between the data from encoders (blu e 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 th e x-axis position data from the motor encoder is quite different from the data from the grid plate, while the y-axis 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 x-axis rotary motor, the encoder may not sense the actual position of the table due to mechanical vi brations outside the control loop, thermal expansion or flaws in the xaxis leadscrew or leadscrew mounting. The difference between the x-axis motor encode r data and the grid plate data becomes distinguished as the feed rate is increased. It is also noticeable that the y-axis responds more slowly than the x-axis does due to the massive weight of y-axis. 1 Figures for experimental result are gathered in the end of this Chapter.

PAGE 86

73 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 pl ate are also presented in Appendix G. Corner behaviors of each cont roller in the square path with 0.2m/s feedrate are compared in Figure 8-6. By contrast with the command positi on (black dashed line), the green, black, blue and red solid lines represent the actual pa th using the PD controller, PD+feedforward controller, traditional CCC and adaptive nonlinear CCC respectively. Except corners, the contour error can be calcu lated by using Eq. (6.2), which is shown in Figure 8-7. In this figure, spikes represent corners (last corner is not shown) where the contour error can not be determined. The co mparison for each controller in the square path with higher feedrate 0.4m/s is shown in Figures 8-8 and 8-9. 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 xand y-ax is 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 work s for the linear and circular contour resulted from the combined motion of the xand y-axis. The same experimental results based on the grid plate are also shown in Figures G-1, G-2, G-3 and G-4 for reference. 8.2 Diamond Path Figures 8-10 and 8-11 show the comparison between the data from encoders (blue dashed line) and the data from the grid plat e (red dotted line) when the PD controller is used for the diamond command path (black solid line). As shown in the previous section,

PAGE 87

74 it is expected that the main reason for the di fference between data from encoders and data from the grid plate is the position of the x-ax is rotary encoder placed in the outside of control loop. This difference becomes dist inguished as the feedrate is increased. Corner behaviors of each cont roller in the diamond path with 0.2m/s feedrate are compared in Figure 8-12 and contour errors except corners are shown in Figure 8-13 (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 8-14 and 8-15. From results of the diamond path, following facts are observed: Both the cornering performance and contour ing performance of each controller are degraded as the feedrate increases. The traditional CCC has the best cornering performance. The contouring performance is impr oved 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 th at the proposed CCC accounts for uncertain nonlinear terms through the adap tive feedforward component. The same experimental results about the diamond path based on the grid plate are also shown in Figures G-5, G-6, G-7 and G-8 for reference. 8.3 Circular Path Figures 8-16 and 8-17 show the comparison between the data from encoders (blue dashed line) and the data from the grid plat e (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 x-axis between the data from encoders and data from the grid plate.

PAGE 88

75 Contour errors for the whole circular path can be calculated by using Eq. (6.4), which are shown in Figures 8-18, 8-19 and 8-20 for 0.2m/s feedrate (0.1m radius), 0.4m/s feedrate (0.1m radius) and 0.4m/s feedrate (0.06m radius) resp ectively. Since the maximum and the average contouring errors are the main contributors to the quality of the final part, the maximum absolute contouring error, M AX, and the root mean square (RMS) contouring error RMS are used to compare the performance of each control algorithm. Table 8-2 summarizes the circular contouring performance of each controller, and Table 8-3 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 impr oved 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 traditio nal CCC as the feedra te and acceleration increases. This improvement is attri buted to the fact that the proposed CCC accounts for uncertain nonlinear term s through the adaptive feedforward component. The same experimental results about the circular path based on the grid plate are also shown in Figures G-9, G10 and G-11 for reference.

PAGE 89

76 -100.2 -100.15 -100.1 -100.05 -100 -99.95 -99.9 -99.85 -99.8 99.7 99.75 99.8 99.85 99.9 99.95 100 100.05 x axis (mm)y axis (mm) -0.2 -0.15 -0.1 -0.05 0 0.05 0.1 0.15 0.2 99.7 99.75 99.8 99.85 99.9 99.95 100 100.05 x axis (mm)y axis (mm) Grid plate data Command path Motor encoder data -100.2 -100.15 -100.1 -100.05 -100 -99.95 -99.9 -99.85 -99.8 -0.1 -0.05 0 0.05 0.1 0.15 0.2 0.25 0.3 x axis (mm)y axis (mm) -0.2 -0.15 -0.1 -0.05 0 0.05 0.1 0.15 0.2 -0.1 -0.05 0 0.05 0.1 0.15 0.2 0.25 0.3 x axis (mm)y axis (mm) Figure 8-4. Comparison between motor encoder data and grid plate data in square path. (0.2m/s feedrate).

PAGE 90

77 -100.2 -100.15 -100.1 -100.05 -100 -99.95 -99.9 -99.85 -99.8 99.7 99.75 99.8 99.85 99.9 99.95 100 100.05 x axis (mm)y axis (mm) -0.2 -0.15 -0.1 -0.05 0 0.05 0.1 0.15 0.2 99.7 99.75 99.8 99.85 99.9 99.95 100 100.05 x axis (mm)y axis (mm) Command path Motor encoder data Grid plate data -100.2 -100.15 -100.1 -100.05 -100 -99.95 -99.9 -99.85 -99.8 -0.1 -0.05 0 0.05 0.1 0.15 0.2 0.25 0.3 x axis (mm)y axis (mm) -0.2 -0.15 -0.1 -0.05 0 0.05 0.1 0.15 0.2 -0.1 -0.05 0 0.05 0.1 0.15 0.2 0.25 0.3 x axis (mm)y axis (mm) Figure 8-5. Comparison between motor encoder data and grid plate data in square path. (0.4m/s feedrate).

PAGE 91

78 -100.2 -100.15 -100.1 -100.05 -100 -99.95 -99.9 -99.85 -99.8 99.7 99.75 99.8 99.85 99.9 99.95 100 100.05 x axis (mm)y axis (mm) -0.2 -0.15 -0.1 -0.05 0 0.05 0.1 0.15 0.2 99.7 99.75 99.8 99.85 99.9 99.95 100 100.05 x axis (mm)y axis (mm) Command path PD controller Feedforward controller Traditional CCC Developed CCC -100.2 -100.15 -100.1 -100.05 -100 -99.95 -99.9 -99.85 -99.8 -0.1 -0.05 0 0.05 0.1 0.15 0.2 0.25 0.3 x axis (mm)y axis (mm) -0.2 -0.15 -0.1 -0.05 0 0.05 0.1 0.15 0.2 -0.1 -0.05 0 0.05 0.1 0.15 0.2 0.25 0.3 x axis (mm)y axis (mm) Figure 8-6. Comparison of co rner behaviors in square pa th with 0.2m/s feedrate.

PAGE 92

79 0 0.5 1 1.5 2 2.5 3 3.5 -0.04 -0.02 0 0.02 time (s)contour error (mm) PD controller Feedforward controller Traditional CCC Developed CCC Figure 8-7. Comparison of cont ouring performance in square path with 0.2m/s feedrate.

PAGE 93

80 -100.2 -100.15 -100.1 -100.05 -100 -99.95 -99.9 -99.85 -99.8 99.7 99.75 99.8 99.85 99.9 99.95 100 100.05 x axis (mm)y axis (mm) -0.2 -0.15 -0.1 -0.05 0 0.05 0.1 0.15 0.2 99.7 99.75 99.8 99.85 99.9 99.95 100 100.05 x axis (mm)y axis (mm) Command path PD controller Feedforward controller Traditional CCC Developed CCC -100.2 -100.15 -100.1 -100.05 -100 -99.95 -99.9 -99.85 -99.8 -0.1 -0.05 0 0.05 0.1 0.15 0.2 0.25 0.3 x axis (mm)y axis (mm) -0.2 -0.15 -0.1 -0.05 0 0.05 0.1 0.15 0.2 -0.1 -0.05 0 0.05 0.1 0.15 0.2 0.25 0.3 x axis (mm)y axis (mm) Figure 8-8. Comparison of co rner behaviors in square pa th with 0.4m/s feedrate.

PAGE 94

81 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 -0.04 -0.02 0 0.02 time (s)contour error (mm) PD controller Feedforward controller Traditional CCC Developed CCC Figure 8-9. Comparison of cont ouring performance in square path with 0.4m/s feedrate.

PAGE 95

82 -0.2 -0.15 -0.1 -0.05 0 0.05 0.1 0.15 0.2 -0.2 -0.15 -0.1 -0.05 0 0.05 0.1 0.15 0.2 x axis (mm)y axis (mm) -100.2 -100.15 -100.1 -100.05 -100 -99.95 -99.9 -99.85 -99.8 99.7 99.75 99.8 99.85 99.9 99.95 100 100.05 x axis (mm)y axis (mm) Grid plate data Command path Motor encoder data -200.15 -200.1 -200.05 -200 -199.95 -199.9 -199.85 -199.8 -0.2 -0.15 -0.1 -0.05 0 0.05 0.1 0.15 0.2 x axis (mm)y axis (mm) -100.2 -100.15 -100.1 -100.05 -100 -99.95 -99.9 -99.85 -99.8 -100.05 -100 -99.95 -99.9 -99.85 -99.8 -99.75 -99.7 x axis (mm)y axis (mm) Figure 8-10. Comparison between motor enco der data and grid pl ate data in diamond path. (0.2m/s feedrate).

PAGE 96

83 -0.2 -0.15 -0.1 -0.05 0 0.05 0.1 0.15 0.2 -0.2 -0.15 -0.1 -0.05 0 0.05 0.1 0.15 0.2 x axis (mm)y axis (mm) -100.2 -100.15 -100.1 -100.05 -100 -99.95 -99.9 -99.85 -99.8 99.7 99.75 99.8 99.85 99.9 99.95 100 100.05 x axis (mm)y axis (mm) Grid plate data Command path Motor encoder data -200.15 -200.1 -200.05 -200 -199.95 -199.9 -199.85 -199.8 -0.2 -0.15 -0.1 -0.05 0 0.05 0.1 0.15 0.2 x axis (mm)y axis (mm) -100.2 -100.15 -100.1 -100.05 -100 -99.95 -99.9 -99.85 -99.8 -100.05 -100 -99.95 -99.9 -99.85 -99.8 -99.75 -99.7 x axis (mm)y axis (mm) Figure 8-11. Comparison between motor enco der data and grid pl ate data in diamond path. (0.4m/s feedrate).

PAGE 97

84 -0.2 -0.15 -0.1 -0.05 0 0.05 0.1 0.15 0.2 -0.2 -0.15 -0.1 -0.05 0 0.05 0.1 0.15 0.2 x axis (mm)y axis (mm) -100.2 -100.15 -100.1 -100.05 -100 -99.95 -99.9 -99.85 -99.8 99.7 99.75 99.8 99.85 99.9 99.95 100 100.05 x axis (mm)y axis (mm) Command path PD controller Feedforward controller Traditional CCC Developed CCC -200.15 -200.1 -200.05 -200 -199.95 -199.9 -199.85 -199.8 -0.2 -0.15 -0.1 -0.05 0 0.05 0.1 0.15 0.2 x axis (mm)y axis (mm) -100.2 -100.15 -100.1 -100.05 -100 -99.95 -99.9 -99.85 -99.8 -100.05 -100 -99.95 -99.9 -99.85 -99.8 -99.75 -99.7 x axis (mm)y axis (mm) Figure 8-12. Comparison of co rner behaviors in diamond pa th with 0.2m/s feedrate.

PAGE 98

85 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 -0.06 -0.05 -0.04 -0.03 -0.02 -0.01 0 0.01 0.02 0.03 0.04 time (s)contour error (mm) PD controller Feedforward controller Traditional CCC Developed CCC Figure 8-13. Comparison of contouring pe rformance in diamond path with 0.2m/s feedrate.

PAGE 99

86 -0.2 -0.15 -0.1 -0.05 0 0.05 0.1 0.15 0.2 -0.2 -0.15 -0.1 -0.05 0 0.05 0.1 0.15 0.2 x axis (mm)y axis (mm) -100.2 -100.15 -100.1 -100.05 -100 -99.95 -99.9 -99.85 -99.8 99.7 99.75 99.8 99.85 99.9 99.95 100 100.05 x axis (mm)y axis (mm) Command path PD controller Feedforward controller Traditional CCC Developed CCC -200.15 -200.1 -200.05 -200 -199.95 -199.9 -199.85 -199.8 -0.2 -0.15 -0.1 -0.05 0 0.05 0.1 0.15 0.2 x axis (mm)y axis (mm) -100.2 -100.15 -100.1 -100.05 -100 -99.95 -99.9 -99.85 -99.8 -100.05 -100 -99.95 -99.9 -99.85 -99.8 -99.75 -99.7 x axis (mm)y axis (mm) Figure 8-14. Comparison of co rner behaviors in diamond pa th with 0.4m/s feedrate.

PAGE 100

87 0 0.5 1 1.5 2 2.5 -0.2 -0.15 -0.1 -0.05 0 0.05 0.1 time (s)contour error (mm) PD controller Feedforward controller Traditional CCC Developed CCC Figure 8-15. Comparison of contouring pe rformance in diamond path with 0.4m/s feedrate.

PAGE 101

88 -0.03 -0.025 -0.02 -0.015 -0.01 -0.005 0 0.005 0.01 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 x axis (mm)y axis (mm) -103 -102 -101 -100 -99 -98 -97 99.7 99.75 99.8 99.85 99.9 99.95 100 100.05 x axis (mm)y axis (mm) Grid plate data Command path Motor encoder data -200.15 -200.1 -200.05 -200 -199.95 -199.9 -199.85 -199.8 -4 -3 -2 -1 0 1 2 3 4 x axis (mm)y axis (mm) -103 -102 -101 -100 -99 -98 -97 -100.05 -100 -99.95 -99.9 -99.85 -99.8 x axis (mm)y axis (mm) Figure 8-16. Comparison between motor encoder da ta and grid plate data in circular path. (0.2m/s feedrate).

PAGE 102

89 -0.03 -0.025 -0.02 -0.015 -0.01 -0.005 0 0.005 0.01 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 x axis (mm)y axis (mm) -103 -102 -101 -100 -99 -98 -97 99.7 99.75 99.8 99.85 99.9 99.95 100 100.05 x axis (mm)y axis (mm) Grid plate data Command path Motor encoder data -200.15 -200.1 -200.05 -200 -199.95 -199.9 -199.85 -199.8 -4 -3 -2 -1 0 1 2 3 4 x axis (mm)y axis (mm) -103 -102 -101 -100 -99 -98 -97 -100.2 -100.15 -100.1 -100.05 -100 -99.95 -99.9 -99.85 -99.8 -99.75 -99.7 x axis (mm)y axis (mm) Figure 8-17. Comparison between motor encoder da ta and grid plate data in circular path. (0.4m/s feedrate).

PAGE 103

90 0 0.5 1 1.5 2 2.5 3 3.5 4 -0.12 -0.1 -0.08 -0.06 -0.04 -0.02 0 0.02 0.04 0.06 0.08 time (s)contour error (mm) PD controller Feedforward controller Traditional CCC Developed CCC Figure 8-18. Comparison of contouring perf ormance in circular path with 0.2m/s feedrate. 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 -0.3 -0.25 -0.2 -0.15 -0.1 -0.05 0 0.05 0.1 0.15 0.2 time (s)contour error (mm) PD controller Feedforward controller Traditional CCC Developed CCC Figure 8-19. Comparison of contouring perf ormance in circular path with 0.4m/s feedrate.

PAGE 104

91 0 0.2 0.4 0.6 0.8 1 1.2 -0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 time (s)contour error (mm) PD controller Feedforward controller Traditional CCC Developed CCC Figure 8-20. Comparison of contouring perf ormance in circular path with 0.4m/s feedrate. (0.06m radius). Table 8-2. Comparison of contouring performance for circular path. Contour error ( m) Feedrate (m/s) Controller M AX RMS PD 119 43 PD+feedforward 80 28 Traditional CCC 46 15 0.2 Adaptive Nonliner CCC 63 12 PD 288 160 PD+feedforward 285 105 Traditional CCC 149 56 0.4 Adaptive Nonliner CCC 125 28 PD 530 251 PD+feedforward 369 161 Traditional CCC 215 86 0.4 (radius=0.06m) Adaptive Nonliner CCC 219 49

PAGE 105

92 Table 8-3. Comparison of cont rol effort for circular path. Control effort Feedrate (m/s) Controller X-axis torque ( TRMS [Nm]) Y-axis force ( FRMS [N]) PD 3.85 287 PD+feedforward 3.84 288 Traditional CCC 3.83 293 0.2 Adaptive Nonliner CCC 3.86 288 PD 15.2 1270 PD+feedforward 15.2 1280 Traditional CCC 15.3 1310 0.4 Adaptive Nonliner CCC 15.3 1280 PD 24.0 1980 PD+feedforward 24.0 2020 Traditional CCC 24.2 2010 0.4 (radius=0.06m) Adaptive Nonliner CCC 24.2 1990

PAGE 106

93 CHAPTER 9 CONCLUSIONS AND FUTURE WORKS The goal of this research is to develop control schemes for c ontouring performance improvement in a high-speed milling machine (H SM2). The first subject for this goal is to develop accurate models for the xand y-ax is feed drive system of HSM2, the test bed described in Chapter 2. In Chapter 3, importa nt parameters for system modeling such as equivalent moment of inertia, mass and friction coeffi cients of each axis were found experimentally. Based on these parameters, mo dels for xand y-axis feed drive system were developed and verified by the comp arison between simulation and experiment. The second subject is to develop contro l schemes based on the verified system model to investigate the cont ouring performance. As conventional control schemes, the proportional-integral-derivative (PID) and f eedforward controllers were described in Chapter 4 and 5 respectively. These cont rollers focus on the improvement of the individual axis performance only rather than the contouring perfor mance resulted from the combined motion of the xand y-axis. To directly reduce the contour error, the cross coupling controller (CCC) was used. The traditional CCC developed by Koren in 19 91 was described in Chapter 6. This controller requires the constr uction of a contour error model in real time and its utilization in a control law that reduces the contour error. Based on the coordinate transform technique allowing the decomposition of error components in to the tangential and normal direction in two-dimensional system, the adaptive nonlinear CCC was proposed in Chapter 7. Standard adaptive non linear control methods were applied to the

PAGE 107

94 transformed cross coupled mach ine dynamics to compensate for uncertain inertial and friction parameters. A Lyapunov-based analysis was used to prove global asymptotic contour tracking for an arbitr ary contour. Controllers develo ped in Chapter 6 and 7 were effectively implemented on HSM2 using the user-written servo al gorithm provided by the Turbo PMAC2 from Delta Tau Data Systems Inc. Based on developed controllers in Chapter 4, 5, 6 and 7, contour errors were examined experimentally in Chapter 8. For the experiment, three basic paths on the x-y plane of HSM2 with different feedrates were selected. Experimental results showed that the contouring performance was improve d by the proposed adaptive nonlinear CCC compared to the PID, feedforward controller and the traditional CCC. Several topics are suggested as future works. Although the proposed controller in Chapter 7 was examined for two-dimensional x-y plane, the experiment could be easily extended to three-dimensional case for the xy-z coordinate contour ing system. The novel second controller developed in Chapter 7 c ould be implemented to yield semi-global asymptotic contour following in the presen ce of uncertain friction and cutting force disturbance on HSM2. Through the real cutting te st, the effectiveness of this controller should be examined. To improve both corner ing and contouring performance in HSM2, other control strategies must be consider ed. For example, the feedforward controller which is adequate for sharp co rners could be applie d only near corner s. After departing corners, control algorithm should be im mediately switched to CCC for contouring performance.

PAGE 108

95 APPENDIX A SPECIFICATIONS OF TEST BED Table A-1. Specifications for the xand z-axis servomotor. Symbol Value Unit Maximum speed Nmax 2000 min-1 Rated torque at stall Ts 22.5 Nm Rotor inertia Jm 0.017 kgm2 Continuous RMS current at stall Is 19.7 A(rms) Torque constant Kt 1.14 Nm/A(rms) Back EMF constant Ke 40 V/1000 min-1 Armature resistance Ra 0.150 Mechanical time constant tm 0.006 S Thermal time constant tt 65 Min Static friction Tf 1.2 Nm Maximum allowable current Im 170 A(peak) Max. torque Tm 147 Nm Max. acceleration 8800 rad/s2 Max. winding temperature rise m 125 C weight 34 Kg Table A-2. Specifications for the y-axis linear motor [29]. Symbol Value Unit Continuous Force Fc 5590 N Continuous Current Ac 18.4 A rms Peak Force Fp 12955 N Peak Current Ap 46.5 A rms Force Constant Kf 304.0 N / A rms Back EMF Kb 101.3 V rms / m / sec Resistance R 3.3 Inductance L 33.0 mH Electrical Time Constant Etm 10.2 Msec Motor Constant C 86.4 N / W Maximum Coil Temperature Temp 95 C Cooling Supply Pressure P 414 kPa

PAGE 109

96 Table A-3. Specifications for the y-axis linear encoder. Unit Value Accuracy m Interpolation cycle 5 Max. operating speed mm/s 380 Max. acceleration m/s 2 30 Table A-4. Specifications for the xand y-axis hydrostatic guide way [20]. Unit Value (x-axis) Value (y-axis) Supply pressure N/m2 6.89E+06 6.89E+06 Oil viscosity Nsec/m2 0.04 0.04 Resulting stiffness N/um 1674.783 2986.696 Pumping power Watts 703.212 470.051 Max. velocity m/s 1.131 0.848 Friction power Watts 3.594 2.402 Total power Watts 706.807 472.453 Table A-5. Specifications for th e xand z-axis amplifier [30]. Value Unit PWM-075 (z-axis) PWM-150 (x-axis) AC Input Voltage V 100~240 100~240 AC Input Current A 30 46 Peak Output Current A 75 150 Continuous Output Current A 35 65 Table A-6. Specifications fo r the y-axis amplifier [31]. Unit Value AC Input Voltage V 460 AC Input Current A 25 Peak Output Current A 75 Continuous Output Current A 25 Peak HP HP 60 Continuous HP HP 20

PAGE 110

97 APPENDIX B MEASUREMENT OF XAND YAXIS INERTIAL PARAMETERS B.1 Equivalent Moment of Inertia of X-axis The linearly moving components for x-axis are comprised of the table, screw nut and miscellaneous parts which are attach ed on the table. The mass by measuring dimensions of these components is shown in Table B-1. Since the pitch of the screw is equal to 0.02 m the moment of inertia which linear ly moving components contribute is calculated as shown in Equation B-1. Table B-1. Mass of linearly m oving components in the x-axis. Part Mass( kg ) Table 397 Screw nut 13 Miscellaneous Parts 102 Total 512 2 20.02 5120.00519 2lpJkgm (B-1) The rotational components for the x-axis ar e comprised of the screw, coupling and servo motor as shown in Table B-2. Therefore, the sum of Jlp and Jrp is equal to 0.0433 2kgm which is the equivalent mome nt of inertia of the x-axis. Table B-2. Moment of inertia of rotational components in the x-axis. Part Moment of inertia(2kgm ) Screw 0.00895 Coupling 0.0121 Motor 0.0170 Total ( Jrp) 0.0381

PAGE 111

98 B.2 Total Moving Mass of Y-axis The list of the moving components with mass estimated by measuring dimensions for the y-axis is shown in Table B-3. Table B-3. Mass of moving components in the y-axis. Part Quantity Mass( kg ) Column 1 977 Spindle jig 1 233 Z axis motor jig 1 128 Spindle 1 160 Z axis motor 1 34 Y axis linear motor 2 86 Miscellaneous parts 1127 Total 2745

PAGE 112

99 APPENDIX C USER-WRITTEN SERVO ALGORITHMS FOR TRADITIONAL CROSS COUPLING CONTROLLER Figure C-1 shows the confi guration of the traditional cross coupling controller (CCC) implementation on HSM2. In this figure, channel #1 means the controller channel for the x-axis and channel #5 and #6 means th e controller channels for the y-axis (note that y-axis has two linear motors, therefore n eeds two controller channels). To insert the output of the P controller to each axial loop, extra phantom channels are used: channel #3 for the x-axis and channel #7 and #8 for the y-ax is. Inserting the signal 4 to the x-axis and the signal 5 to the y-axis are made by setti ng I variables for the Turbo PMAC2, which is described in Appendix D. Figure C-1. Traditional CCC implementation on HSM2.

PAGE 113

100 C.1 User-Written Servo Al gorithm for Traditional Cross Coupling Controller (Linear Contour) ;Definitions and substitutions #define DPOS1 F1 ; desired position of #1 F1->D:$000088 #define APOS1 F2 ; actual position of #1 F2->D:$00008B #define DVEL1 F3 ; desired velocity of #1 F3->D:$000086 #define DPOS5 F4 ; desired position of #5 F4->D:$000288 #define APOS5 F5 ; actual position of #5 F5->D:$00028B #define DVEL5 F6 ; desired velocity of #5 F6->D:$000286 #define Pgain3 10 ; proportional gain of #3 #define Pgain7 10 ; proportional gain of #7 #define ERR1 P10 ; preparing buffer to store data #define ERR5 P11 #define CX P12 #define CY P13 #define SIG1 P14 #define SIG2 P15 #define SIG3 P16 #define SIG4 P17 #define SIG5 P18 #define DV1 P19 #define DV5 P20 #define 2DV1 P21 #define 2DV5 P22 #define V P23 OPEN SERVO CLEAR ; beginning the main algorithm ERR1=DPOS1*0.000651-APOS1*0.000651 ; positional error of #1 ERR5=DPOS5*0.0003255-APOS5*0.0003255 ; positional error of #5 DV1=DVEL1*0.0000001164 ; x-axis feedrate DV5=DVEL5*0.0000000582 ; y-axis feedrate 2DV1=DV1*DV1 2DV5=DV5*DV5 V=SQRT(2DV1+2DV5) ; required feedrate for linear motion CX=DV5/V ; Variable gain Cx for linear motion CY=DV1/V ; Variable gain Cy for linear motion SIG1= ERR1*CX + ERR5*CY ; signal 1 in Figure C-1 SIG2= SIG1*Pgain3*256 ; signal 2 in Figure C-1 SIG3= SIG1*Pgain7*256 ; signal 3 in Figure C-1 SIG4= SIG2*CX ; signal 4 in Figure C-1

PAGE 114

101 SIG5= SIG3*CY ; signal 5 in Figure C-1 If (MTRNUM = 3) ; inserting output of P controller to x-axis RETURN(FTOI(SIG4)) EndIf If (MTRNUM = 7 Or MTRNUM = 8) ; inserting output of P controller to y-axis RETURN(FTOI(SIG5)) EndIf CLOSE ; ending the main algorithm C.2 User-Written Servo Al gorithm for Traditional Cross Coupling Controller (Circular Contour) ;Definitions and substitutions #define DPOS1 F1 ; desired position of #1 F1->D:$000088 #define APOS1 F2 ; actual position of #1 F2->D:$00008B #define DVEL1 F3 ; desired velocity of #1 F3->D:$000086 #define DPOS5 F4 ; desired position of #5 F4->D:$000288 #define APOS5 F5 ; actual position of #5 F5->D:$00028B #define DVEL5 F6 ; desired velocity of #5 F6->D:$000286 #define Radius 100000 ; radius of circular motion (count) #define Pgain3 14 ; proportional gain of #3 #define Pgain7 14 ; proportional gain of #7 #define ERR1 P10 ; preparing buffer to store data #define ERR5 P11 #define CX P12 #define CY P13 #define SIG1 P14 #define SIG2 P15 #define SIG3 P16 #define SIG4 P17 #define SIG5 P18 #define DV1 P19 #define DV5 P20 #define 2DV1 P21 #define 2DV5 P22 #define V P23 OPEN SERVO CLEAR ; beginning the main algorithm ERR1=DPOS1*0.000651-APOS1*0.000651 ; positional error of #1 ERR5=DPOS5*0.0003255-APOS5*0.0003255 ; positional error of #5 DV1=DVEL1*0.0000001164 ; x-axis feedrate

PAGE 115

102 DV5=DVEL5*0.0000000582 ; y-axis feedrate 2DV1=DV1*DV1 2DV5=DV5*DV5 V=SQRT(2DV1+2DV5) ; required feedrate for circular motion CX=DV5/V-ERR1/(2*Radius) ; variable gain Cx for circular motion CY=DV1/V+ERR5/(2*Radius) ; variable gain Cy for circular motion SIG1= ERR1*CX + ERR5*CY ; signal 1 in Figure C-1 SIG2= SIG1*Pgain3*256 ; signal 2 in Figure C-1 SIG3= SIG1*Pgain7*256 ; signal 3 in Figure C-1 SIG4= SIG2*CX ; signal 4 in Figure C-1 SIG5= SIG3*CY ; signal 5 in Figure C-1 If (MTRNUM = 3) ; inserting output of P controller to x-axis RETURN(FTOI(SIG4)) EndIf If (MTRNUM = 7 Or MTRNUM = 8) ; inserting output of P controller to y-axis RETURN(FTOI(SIG5)) EndIf CLOSE ; ending the main algorithm

PAGE 116

103 APPENDIX D IMPORTANT VARIABLES SETUP FO R TRADITIONAL CROSS COUPLING CONTROLLER This Appendix describes important I vari ables setup for the traditional cross coupling controller (CCC) im plementation on HSM2. Table D-1 shows those I variables with brief description. More detailed desc ription about these I va riables is in [32]. Table D-1. Important I variables set up for the traditional CCC implementation. I variable Value Description Role for CCC implementation I300 1 Motor #3 activation control I700 1 Motor #7 activation control I800 1 Motor #8 activation control For the user written servo algorithm to execute for a given motor, Ix00 must be set to 1. I301 0 Motor #3 commutation enable I701 0 Motor #7 commutation enable I801 0 Motor #8 commutation enable By putting 0 to the Ix01, the address which is set using Ix02 accesses the Y registers. By specifying Y register instead of X register, this value can be added to any other motor servo output values. I302 $BF Motor #3 command output address The value stored in this address of Y register is added to the motor #1. I702 $2BF Motor #7 command output address The value stored in this address of Y register is added to the motor #5. I802 $33F Motor #8 command output address The value stored in this address of Y register is added to the motor #6. I325 $78008 Motor #3 flag address By making equal to motor #1 flag address, motor #3 can be closed for user written servo algorithm. I725 $78100 Motor #7 flag address By making equal to motor #5 flag address, motor #7 can be closed for user written servo algorithm. I825 $78108 Motor #8 flag address By making equal to motor #6 flag address, motor #8 can be closed for user written servo algorithm. I359* 1 Motor #3 user written servo enable Mo tor #3 will choose the user written servo algorithm instead of a built in servo algorithm (PID etc.). I759* 1 Motor #7 user written servo enable Mo tor #7 will choose the user written servo algorithm instead of a built in servo algorithm (PID etc.). I859* 1 Motor #8 user written servo enable Mo tor #8 will choose the user written servo algorithm instead of a built in servo algorithm (PID etc.). Whenever after downloading the user written servo algorithm to the volatile active RAM memory, these variables must be set to 1 from 0 through the command window to activate the user written servo algorithm.

PAGE 117

104 APPENDIX E DERIVATION OF LINEAR REGRESSION MATRIX For simplicity, the character s is used for symbol of sin (t) and the character c is used for symbol of cos (t) For two-dimensional contouring system, the first term in Eq. (7.22) is linearly parameterized as follows 22 11 22 22 22 1212 22 1210 0xfdfd xyxy T fdfd yfdfd xyxy fdfdfdfd fdfdfdMxx sMcMscMscM scsc MxFMFx Mxx scMscMcMsM cscs sxscxcxscx scxcxscxs 2.x y fdM M x In a similar way, the rest terms are linearly parameterized as follows 1 2 22 1 22 2 2 10 0/ 2()2 0 /0 2 2x fd TT mfdfd y fd fd xyxy fd xyxy fdMx scscvrscsc VxFMFFFx Mx cscsvrcscs x scMscMsMcM v x cMsMscMscM r scxs v r 2 212 22 1212,x fdfdfd y fdfdfdfdM xscxcx M cxscxsxscx 22 11 22 22 22 1212 22 12120 0xfdfd xyxy T fdfd yfdfd xyxy x fdfdfdfd fdfdfdfdBxx sBcBscBscB scsc BxFBFx Bxx scBscBcBsB cscs B sxscxcxscx scxcxscxsx yB and

PAGE 118

105 2222 2 2222 2 22 2 22 22{()()()} 2TTTTTTT fd fd xyxyxyxy xyxyxyxy xyxy xyxyNxFMFFFFFFBFFFFMFFFx sMcMscMscMscBscBsBcB vv scMscMcMsMcBsBscBscB rr sMcMscMscM v scMscMcMsM r 1 2 2222 2222 12121212 2222 2222 2222 12121212 2222 fd fd x fdfdfdfdfdfdfdfd fdfdfdfdfdfdfdfdx x M vvvvvvvv sxscxcxscxscxcxscxcx rrrrrrrr vvvvvvvv scxcxscxsxcxscxsxscx rrrrrrrr .y x yM B B Summing all terms obtained above, the regr ession matrix and the unknown constant system parameters can be expressed as follows 11121314 21222324 x y dddd d x dddd y M M YYYY Y B YYYY B where 22 222 11111222 2222 ,dfdfdfdfdfdfdvvvv Ysxscxsxscxsxscx rrrr 22 222 12111222 2222 ,dfdfdfdfdfdfdvvvv Ycxscxcxscxcxscx rrrr 22 131122,dfdfdfdfdvv Ysxscxscxsx rr 22 141122,dfdfdfdfdvv Ycxscxscxcx rr 22 222 21111222 2222 ,dfdfdfdfdfdfdvvvv Yscxcxscxcxscxcx rrrr 22 222 22111222 2222 ,dfdfdfdfdfdfdvvvv Yscxsxscxsxscxsx rrrr 22 231122,dfdfdfdfdvv Yscxcxcxscx rr 22 241122.dfdfdfdfdvv Yscxsxsxscx rr

PAGE 119

106 APPENDIX F USER-WRITTEN SERVO ALGORITHM FO R ADAPTIVE NONLINEAR CROSS COUPLING CONTROLLER F.1 User-Written Servo Al gorithm for Adaptive Nonlinear Cross Coupling Controller (Linear Contour) ;;;;;; NOTICE !!! ;;;;;; To run this code, the servo update time must be increased to 1 msec from 0.443 msec ;;;;;; so that code can be executed within every servo loop. ;Definitions and substitutions #define DACC1 F4 ; desired acceleration of #1 F4->D:$000084 #define DACC5 F8 ; desired acceleration of #5 F8->D:$000284 #define Ix30 L3 ; proportional gain for each motor L3->Y:(R1-$17) #define Ix31 L4 ; derivative gain for each motor L4->X:(R1-$1E) #define Ix69 L9 ; output command limit for each motor L9->Y:(R1-2) #define K16 0.000015259 ; constant of 2^-16 #define K128 0.0078125 ; constant of 1/128 #define AVEL P0 ; preparing buffer to store data #define DVEL P1 #define FE P2 #define APOS P3 #define DPOS P4 #define AV1 P5 #define DV1 P6 #define FE1 P7 #define AP1 P8 #define DP1 P9 #define DA1 P10 #define AV5 P11 #define DV5 P12 #define FE5 P13 #define AP5 P14 #define DP5 P15 #define DA5 P16 #define DACOUT1 P20 #define DACOUT5 P21

PAGE 120

107 #define V P32 #define SI P35 #define CO P36 #define SI2 P37 #define CO2 P38 #define SICO P41 #define ef_1 P50 #define ef_2 P51 #define efdot_1 P52 #define efdot_2 P53 #define r_1 P54 #define r_2 P55 #define xfd_1 P56 #define xfd_2 P57 #define xfddot_1 P58 #define xfddot_2 P59 #define xfd2dot_1 P60 #define xfd2dot_2 P61 #define yd11 P62 #define yd12 P63 #define yd13 P64 #define yd14 P65 #define yd21 P66 #define yd22 P67 #define yd23 P68 #define yd24 P69 #define thdot_1 P70 #define thdot_2 P71 #define thdot_3 P72 #define thdot_4 P73 #define th_1_old P74 #define th_2_old P75 #define th_3_old P76 #define th_4_old P77 #define thdot_1_old P78 #define thdot_2_old P79 #define thdot_3_old P80 #define thdot_4_old P81 #define th_1 P82 #define th_2 P83 #define th_3 P84 #define th_4 P85 #define ydth_1 P86 #define ydth_2 P87 #define Tydth_1 P88 #define Tydth_2 P89 #define alpha1 1 ; defining gains #define alpha2 1 #define gam_1 0.00000005 #define gam_2 0.00000005 #define gam_3 0.000001 #define gam_4 0.000001

PAGE 121

108 OPEN SERVO CLEAR ; beginning the main algorithm COPYREG P0 If (MTRNUM = 1) AV1=AVEL*0.651 ; actual velocity of motor #1 DV1=DVEL*0.651 ; desired velocity of motor #1 FE1=FE*0.000651 ; position error of motor #1 AP1=APOS*0.000651 ; actual position of motor #1 DP1=DPOS*0.000651 ; desired position of motor #1 DA1=DACC1*0.000233 ; desi red acceleration of motor #1 EndIf If (MTRNUM = 5 Or MTRNUM = 6) AV5=AVEL*0.3255 ; actual velocity of motor #5 DV5=DVEL*0.3255 ; desired velocity of motor #5 FE5=FE*0.00032552 ; position error of motor #5 AP5=APOS*0.00032552 ; actual position of motor #5 DP5=DPOS*0.00032552 ; desired position of motor #5 DA5=DACC5*0.000116 ; desi red acceleration of motor #5 EndIf V=SQRT(DV1*DV1+DV5*DV5) ; required feedrate for linear motion SI=-DV1/V ; sine CO=DV5/V ; cosine SI2=SI*SI CO2=CO*CO SICO=SI*CO ef_1=-SI*FE1+CO*FE5 ; Eq. (7.19) ef_2=-CO*FE1-SI*FE5 efdot_1=-SI*(DV1-AV1)+CO*(DV5-AV5) efdot_2=-CO*(DV1-AV1)-SI*(DV5-AV5) r_1=(efdot_1+alpha1*ef_1) ; Eq. (7.20) r_2=(efdot_2+alpha2*ef_2) xfd_1=(-SI*DP1+CO*DP5) xfd_2=(-CO*DP1-SI*DP5) xfddot_1=(-SI*DV1+CO*DV5) xfddot_2=(-CO*DV1-SI*DV5) xfd2dot_1=(-SI*DA1+CO*DA5) xfd2dot_2=(-CO*DA1-SI*DA5) yd11 = SI2*xfd2dot_1+SICO*xfd2dot_2 ; reduced forms to save the memory occupation yd12 = CO2*xfd2dot_1-SICO*xfd2dot_2 yd13 = SI2*xfddot_1+SICO*xfddot_2 yd14 = CO2*xfddot_1-SICO*xfddot_2 yd21 = SICO*xfd2dot_1+CO2*xfd2dot_2 yd22 = -SICO*xfd2dot_1+SI2*xfd2dot_2 yd23 = SICO*xfddot_1+CO2*xfddot_2 yd24 = -SICO*xfddot_1+SI2*xfddot_2 thdot_1=gam_1*(yd11*r_1+yd21*r_2) ; Eq. (7.26) thdot_2=gam_2*(yd12*r_1+yd22*r_2) thdot_3=gam_3*(yd13*r_1+yd23*r_2) thdot_4=gam_4*(yd14*r_1+yd24*r_2) If (I5111 = 0) ; start integration to get theta hat

PAGE 122

109 th_1_old=5839 ; initial best guess estimate of Mx th_2_old=1144 ; initial best guess estimate of My th_3_old=1703 ; initial best guess estimate of Bx th_4_old=967 ; initial best guess estimate of By thdot_1_old=0 thdot_2_old=0 thdot_3_old=0 thdot_4_old=0 Else th_1=th_1_old+0.5*(thdot_1+thdot_1_old)*0.001 ; trapezoidal integration method th_2=th_2_old+0.5*(thdot_2+thdot_2_old)*0.001 th_3=th_3_old+0.5*(thdot_3+thdot_3_old)*0.001 th_4=th_4_old+0.5*(thdot_4+thdot_4_old)*0.001 th_1_old=th_1 th_2_old=th_2 th_3_old=th_3 th_4_old=th_4 thdot_1_old=thdot_1 thdot_2_old=thdot_2 thdot_3_old=thdot_3 thdot_4_old=thdot_4 EndIf ydth_1=(yd11*th_1+yd12*th_2+yd13*th_3+yd14*th_4) ydth_2=(yd21*th_1+yd22*th_2+yd23*th_3+yd24*th_4) Tydth_1=(-SI*ydth_1-CO*ydth_2)*0.000001 Tydth_2=(CO*ydth_1-SI*ydth_2)*0.000001 If (MTRNUM = 1) ; control output for x-axis DACOUT1 = FLIMIT(ITOF(Ix30)*K16*(FE) ITOF(Ix30)*K16*K128*ITOF(Ix31)*AVEL+Tydth_1, ITOF(Ix69)) RETURN(FTOI(DACOUT1)) EndIf If (MTRNUM = 5 Or MTRNUM = 6) ; control output for y-axis DACOUT5 = FLIMIT(ITOF(Ix30)*K16*(FE) ITOF(Ix30)*K16*K128*ITOF(Ix31)*AVEL+Tydth_2, ITOF(Ix69)) RETURN(FTOI(DACOUT5)) EndIf CLOSE ; ending the main algorithm F.2 User-Written Servo Al gorithm for Adaptive Nonlinear Cross Coupling Controller (Circular Contour) ;;;;;; NOTICE !!! ;;;;;; To run this code, the servo update time must be increased to 1 msec from 0.443 msec ;;;;;; so that code can be executed within every servo loop. ;Definitions and substitutions #define DACC1 F4 ; desired acceleration of #1 F4->D:$000084 #define DACC5 F8 ; desired acceleration of #5 F8->D:$000284

PAGE 123

110 #define Ix30 L3 ; proportional gain for each motor L3->Y:(R1-$17) #define Ix31 L4 ; derivative gain for each motor L4->X:(R1-$1E) #define Ix69 L9 ; output command limit for each motor L9->Y:(R1-2) #define K16 0.000015259 ; constant of 2^-16 #define K128 0.0078125 ; constant of 1/128 #define AVEL P0 ; preparing buffer to store data #define DVEL P1 #define FE P2 #define APOS P3 #define DPOS P4 #define AV1 P5 #define DV1 P6 #define FE1 P7 #define AP1 P8 #define DP1 P9 #define DA1 P10 #define AV5 P11 #define DV5 P12 #define FE5 P13 #define AP5 P14 #define DP5 P15 #define DA5 P16 #define DACOUT1 P20 #define DACOUT5 P21 #define V P32 #define VK P33 #define VK2 P34 #define SI P35 #define CO P36 #define SI2 P37 #define CO2 P38 #define VKSI P39 #define VKCO P40 #define SICO P41 #define VKSICO P42 #define VKSI2 P43 #define VKCO2 P44 #define VK2SICO P45 #define ef_1 P50 #define ef_2 P51 #define efdot_1 P52 #define efdot_2 P53 #define r_1 P54 #define r_2 P55 #define xfd_1 P56

PAGE 124

111 #define xfd_2 P57 #define xfddot_1 P58 #define xfddot_2 P59 #define xfd2dot_1 P60 #define xfd2dot_2 P61 #define yd11 P62 #define yd12 P63 #define yd13 P64 #define yd14 P65 #define yd21 P66 #define yd22 P67 #define yd23 P68 #define yd24 P69 #define thdot_1 P70 #define thdot_2 P71 #define thdot_3 P72 #define thdot_4 P73 #define th_1_old P74 #define th_2_old P75 #define th_3_old P76 #define th_4_old P77 #define thdot_1_old P78 #define thdot_2_old P79 #define thdot_3_old P80 #define thdot_4_old P81 #define th_1 P82 #define th_2 P83 #define th_3 P84 #define th_4 P85 #define ydth_1 P86 #define ydth_2 P87 #define Tydth_1 P88 #define Tydth_2 P89 #define K 100000 ; radius (0.1m) #define Pgain_1 0.3 ; (kv/r)1 in Eq. (7.56) #define Pgain_2 1.5 ; (kv/r)2 in Eq. (7.56) #define alpha1 1 ; defining gains #define alpha2 1 #define gam_1 0.00000005 #define gam_2 0.00000005 #define gam_3 0.000001 #define gam_4 0.000001 OPEN SERVO CLEAR ; beginning the main algorithm COPYREG P0 If (MTRNUM = 1) AV1=AVEL*0.651 ; actual velocity of motor #1 DV1=DVEL*0.651 ; desired velocity of motor #1 FE1=FE*0.000651 ; position error of motor #1 AP1=APOS*0.000651 ; actual position of motor #1 DP1=DPOS*0.000651 ; desired position of motor #1 DA1=DACC1*0.000233 ; desi red acceleration of motor #1 EndIf If (MTRNUM = 5 Or MTRNUM = 6)

PAGE 125

112 AV5=AVEL*0.3255 ; actual velocity of motor #5 DV5=DVEL*0.3255 ; desired velocity of motor #5 FE5=FE*0.00032552 ; position error of motor #5 AP5=APOS*0.00032552 ; actual position of motor #5 DP5=DPOS*0.00032552 ; desired position of motor #5 DA5=DACC5*0.000116 ; desi red acceleration of motor #5 EndIf V=SQRT(DV1*DV1+DV5*DV5) ; required feedrate for linear motion SI=-DV1/V ; sine CO=DV5/V ; cosine VK=V/K VK2=V*V/K/K SI2=SI*SI CO2=CO*CO VKSI=VK*SI VKCO=VK*CO SICO=SI*CO VKSICO=VK*SICO VKSI2=VK*SI2 VKCO2=VK*CO2 VK2SICO=VK2*SICO ef_1=-SI*FE1+CO*FE5 ; Eq. (7.19) ef_2=-CO*FE1-SI*FE5 efdot_1=-VKCO*FE1-VKSI*FE5-SI*(DV1-AV1)+CO*(DV5-AV5) efdot_2=VKSI*FE1-VKCO*FE5-CO*(DV1-AV1)-SI*(DV5-AV5) r_1=(efdot_1+alpha1*ef_1) ; Eq. (7.20) r_2=(efdot_2+alpha2*ef_2) ;xfd_1=(-SI*DP1+CO*DP5) xfd_2=(-CO*DP1-SI*DP5) ;xfddot_1=(-VKCO*DP1-VKSI*DP5-SI*DV1+CO*DV5) ;xfddot_2=(VKSI*DP1-VKCO*DP5-CO*DV1-SI*DV5) xfd2dot_1=(VK2*SI*DP1-VK2*CO*DP5-2*VKCO*DV1-2*VKSI*DV5-SI*DA1+CO*DA5) ;xfd2dot_2=(VK2*CO*DP1+VK2*SI*DP5+2*VKSI*DV1-2*VKCO*DV5-CO*DA1-SI*DA5) yd11 = SI2*xfd2dot_1-VK2SICO*xfd_2 ; reduced forms to save the memory occupation yd12 = CO2*xfd2dot_1+VK2SICO*xfd_2 yd13 = -VKSI2*xfd_2 yd14 = -VKCO2*xfd_2 yd21 = SICO*xfd2dot_1-VK2*CO2*xfd_2 yd22 = -SICO*xfd2dot_1-VK2*SI2*xfd_2 yd23 = -VKSICO*xfd_2 yd24 = VKSICO*xfd_2 thdot_1=gam_1*(yd11*r_1+yd21*r_2) ; Eq. (7.26) thdot_2=gam_2*(yd12*r_1+yd22*r_2) thdot_3=gam_3*(yd13*r_1+yd23*r_2) thdot_4=gam_4*(yd14*r_1+yd24*r_2) If (I5111 = 0) ; start integration to get theta hat th_1_old=5839 ; initial best guess estimate of Mx th_2_old=1144 ; initial best guess estimate of My th_3_old=1703 ; initial best guess estimate of Bx th_4_old=967 ; initial best guess estimate of By

PAGE 126

113 thdot_1_old=0 thdot_2_old=0 thdot_3_old=0 thdot_4_old=0 Else th_1=th_1_old+0.5*(thdot_1+thdot_1_old)*0.001 ; trapezoidal integration method th_2=th_2_old+0.5*(thdot_2+thdot_2_old)*0.001 th_3=th_3_old+0.5*(thdot_3+thdot_3_old)*0.001 th_4=th_4_old+0.5*(thdot_4+thdot_4_old)*0.001 th_1_old=th_1 th_2_old=th_2 th_3_old=th_3 th_4_old=th_4 thdot_1_old=thdot_1 thdot_2_old=thdot_2 thdot_3_old=thdot_3 thdot_4_old=thdot_4 EndIf ydth_1=(yd11*th_1+yd12*th_2+yd13*th_3+yd14*th_4) ydth_2=(yd21*th_1+yd22*th_2+yd23*th_3+yd24*th_4) Tydth_1=(-SI*ydth_1-CO*ydth_2)*0.000001 Tydth_2=(CO*ydth_1-SI*ydth_2)*0.000001 If (MTRNUM = 1) ; control output for x-axis DACOUT1 = FLIMIT(ITOF(Ix30)*K16*(FE+V/K*K128*Pgain_1*FE5*3072) ITOF(Ix30)*K16*K128*ITOF(Ix31)*AVEL+Tydth_1, ITOF(Ix69)) RETURN(FTOI(DACOUT1)) EndIf If (MTRNUM = 5 Or MTRNUM = 6) ; control output for y-axis DACOUT5 = FLIMIT(ITOF(Ix30)*K16*(FE-V/K*K128*Pgain_2*FE1*1536) ITOF(Ix30)*K16*K128*ITOF(Ix31)*AVEL+Tydth_2, ITOF(Ix69)) RETURN(FTOI(DACOUT5)) EndIf CLOSE ; ending the main algorithm

PAGE 127

114 APPENDIX G EXPERIMENTAL RESULTS FROM GRID PLATE Experimental results presented in chapte r 8 are based on the encoder datum which the controller recognizes as position feedbacks so that control efforts are reflected through results. However, actual position datum fr om the grid plate are different from the data from encoders as already shown in Figures 8-4, 8-5, 8-10, 8-11, 8-16 and 8-17. In this Appendix, experimental results conducte d in chapter 8 are shown based on the data from the grid plate rather than encoders. Comparisons of contouring performance in the square path are shown in Figures G1 and G-2 for 0.2m/s feedrate and Figures G-3 and G-4 for 0.4m/s feedrate. The green, black, blue and red lines represent the actual path using the PD controller, PD+feedforward controller, traditional CCC and adaptive nonlinear CCC respectively. For data displacement from the grid plate, ACCOM software provided by the HEIDENHAIN Inc. is used. Comparisons of contouring performance in the diamond path ar e shown in Figures G-5 and G-6 for 0.2m/s feedrate and Figures G-7 and G-8 for 0.4m/s feedrate with the same manner. Comparisons of contour errors for several circular paths are shown in Figures G-9, G-10 and G-11. The maximum absolute contouring error, M AX and the root mean square (RMS) contouring error, RMS for each case are summarized in Table G-1.

PAGE 128

115 Figure G-1. Comparison of co rner behaviors in square path with 0.2m/s feedrate.

PAGE 129

116 Figure G-2. Comparison of cont ouring performance in square path with 0.2m/s feedrate.

PAGE 130

117 Figure G-3. Comparison of co rner behaviors in square path with 0.4m/s feedrate.

PAGE 131

118 Figure G-4. Comparison of cont ouring performance in square path with 0.4m/s feedrate.

PAGE 132

119 Figure G-5. Comparison of co rner behaviors in diamond pa th with 0.2m/s feedrate.

PAGE 133

120 Figure G-6. Comparison of contouring performance in diamond path with 0.2m/s feedrate.

PAGE 134

121 Figure G-7. Comparison of co rner behaviors in diamond pa th with 0.4m/s feedrate.

PAGE 135

122 Figure G-8. Comparison of contouring performance in diamond path with 0.4m/s feedrate.

PAGE 136

123 0 0.5 1 1.5 2 2.5 3 3.5 4 -0.1 -0.05 0 0.05 0.1 0.15 0.2 time (s)contour error (mm) PD controller Feedforward controller Traditional CCC Developed CCC Figure G-9. Comparison of cont ouring performance in circular path with 0.2m/s feedrate. 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 -0.2 -0.1 0 0.1 0.2 0.3 time (s)contour error (mm) PD controller Feedforward controller Traditional CCC Developed CCC Figure G-10. Comparison of contouring perf ormance in circular path with 0.4m/s feedrate.

PAGE 137

124 0 0.2 0.4 0.6 0.8 1 1.2 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5 time (s)contour error (mm) PD controller Feedforward controller Traditional CCC Developed CCC Figure G-11. Comparison of contouring perf ormance in circular path with 0.4m/s feedrate. (0.06m radius). Table G-1. Comparison of contouri ng performance for circular path. Contour error ( m) Feedrate (m/s) Controller M AX RMS PD 187 47 PD+feedforward 160 43 Traditional CCC 182 53 0.2 Adaptive Nonliner CCC 166 54 PD 410 127 PD+feedforward 406 90 Traditional CCC 285 75 0.4 Adaptive Nonliner CCC 266 107 PD 640 196 PD+feedforward 487 120 Traditional CCC 337 86 0.4 (radius=0.06m) Adaptive Nonliner CCC 330 131

PAGE 138

125 LIST OF REFERENCES 1. Y. Koren and C. C. Lo, Advanced Contro llers for Feed Drives, Annals of the CIRP, Vol. 41, pp. 689-698, Feb. 1992. 2. M. Tomizuka, Zero Phase Error Tracking Algorithm for Digital Control, Journal of Dynamic Systems, Measurement, and Control, Vol. 109, pp. 65-68, 1987. 3. M. Weck and G. Ye, Sharp Corner Tr acking Using the IKF Control Strategy, Annals of the CIRP, Vol. 39/1, pp. 437-441, 1990. 4. Y. Altintas, K. Erkorkmaz, and W.-H. Z hu, 2000, Sliding Mode Controller Design for High Speed Feed Drives, Annals of the CIRP, Vol. 49, pp. 265-270. 5. Y. Koren, Cross-Coupled Biaxial Comput er Control for Manufactruing Systems, ASME Transaction, Journal of Dynamic Sy stems, Measurement and Control, Vol. 102, No. 4, pp. 265-272, Dec. 1980. 6. Y. Koren and C. C. Lo, VariableGain Cross-Coupling Controller for Contouring, Annals of the CIRP, Vol. 104, Aug., pp. 371-374, 1991. 7. S.-S. Yeh and P.-L. Hsu, Analysis and De sign of the Integrated Controller for Precise Motion Systems, IEEE Transact ion on Control Systems Technology, Vol. 7, No. 6, pp. 706-717, Nov. 1999. 8. S.-S. Yeh and P.-L. Hsu, Analysis and De sign of Integrated Control for MultiAxis Motion Systems, IEEE Transaction on Control Systems Technology, Vol. 11, No. 3, pp. 375-382, Mar. 2003. 9. S.-S. Yeh and P.-L. Hsu, Estimation of th e Contouring Error Vector for the CrossCoupled Control Design, IEEE Transact ion on Mechatronics, Vol. 7, No. 1, pp. 44-51, Mar. 2002. 10. P. K. Kulkarni and K. Srinivasan, Op timal Contouring Control of Multi-Axial Drive Servomechanisms, ASME Transaction, Journal of Engineering for Industry, Vol. 111, pp. 140-148, 1989. 11. P. K. Kulkarni and K. Srinivasan, Cro ss-Coupled Control of Biaxial Feed Drive Servomechanisms, ASME Transactions, Journal of Dynamic systems, Measurement and Control, Vol. 112, No. 2, pp. 225-232, June 1990.

PAGE 139

126 12. S.-L. Chen, H.-L. Liu, and S. C. Ting, Contouring Control of Biaxial Systems Based on Polar Coordinates, IEEE/ASME Transactions on Mechatronics, Vol. 7, No. 3, pp. 329-345, Sep. 2002. 13. Z.-M. Yeh, Y. S. Tarng, and Y. S. Lin, Cross-Coupled Fuzzy Logic Control for Multiaxis Machine Tools, Mechat ronics, Vol. 7, No. 8, pp.663-681, 1997. 14. Y. S. Tarng, H. Y. Chuang, and W. T. Hsu, Intelligent Cr oss-Coupled Fuzzy Feedrate Controller Design for CNC Machin e Tools based on Genetic Algorithms, International Journal of Machine Tool & Manufacture 39, pp. 1673-1692, 1999. 15. H. Y. Chuang and C. H. Liu, CrossCoupled Adaptive Feedrate Control for Multiaxis Machine Tools, ASME Transa ction, Journal of Dynamic Systems, Measurement and Control, Vol. 113, pp. 451-457, Sep. 1991. 16. M. Tomizuka, J. Hu, T.-C. Chiu, and T. Kamano, Synchronization of Two Motion Control Axes under Adaptive Feedforward Control, ASME J. Dynamic Systems, Measurement, and Control, vol. 114, pp. 196-203, June 1992. 17. G. T.-C. Chiu and M. Tomizuka, Contouring Control of Machine Tool Feed Drive Systems: A Task Coordinate Frame A pproach, IEEE Transactions on Control Systems Technology, Vol. 9, No. 1, pp. 130-139, Jan. 2001. 18. G. T.-C. Chiu and B. Yao, Adaptive Robust Control Tracking of Machine Tool Feed Drive System A Task Coordinate Frame Appro ach, Proc. of the American Control Conference, Albuque rque, New Mexico, 1997, pp. 2731-2735. 19. L. Xu and B. Yao, Coordinated Adaptive Robust Contour Tracking of LinearMotor-Driven Tables in Task Space, Proc. of the 39th IEEE Conference on Decision and Control, Sydney, Australia, Dec. 2000, pp. 2430-2435. 20. D. B. Peterson, Design of a Hydrostatic Bearing System for the McMaster 3 Axis Milling Machine, Thesis (MS) Univer sity of Florida, Gainesville, 2000. 21. M. A. Pecchio, Design of a Linear Mo tor Feed Drive for a High Speed Milling Machine, Thesis (MS) Universi ty of Florida, Gainesville, 2001. 22. Delta Tau Data Systems, Inc., Turbo PM AC User Manual, Chatsworth, CA, Jan. 2004. 23. F. Lewis, C. Abdallah, and D. Dawson, C ontrol of Robot Manipulators, New York: MacMillan Publishing Co., 1993. 24. F. Frenet, Sur les courbes double c ourbure, Thse, Toulouse, 1847. Abstract Journal of Math. 17, 1852. 25. E. Kreyszig, Formulae of Frenet, Di fferential Geometry, New York: Dover, pp. 40-43, 1991.

PAGE 140

127 26. J. A. Serret, Sur quelques formules re latives la thorie des courbes double courbure, Journal of Math. 16, 1851. 27. A. Gray, The Fundamental Theorem of Space Curves, Modern Differential Geometry of Curves and Surfaces with Mathematica, 2nd ed, Boca Raton, FL: CRC Press, pp. 219-222, 1997. 28. C. Makkar, W. E. Dixon, W. G. Sawy er, and G. Hu, Lyapunov-Based Tracking Control in the Presence of Uncertain Non linear Parameterizable Friction, Proc. of the American Control Conference, Portland, Oregon, 2005, pp. 1975-1980. 29. Anorad Corporation, Linear Motor Reference Manual, Hauppauge, NY, 1998. 30. Electro-Craft, BRU-SeriesTM Pure Power Hardware and Installation Manual for Models PWM-010, PWM-020, PWM-030, PWM075 and PWM-150, Eden Prairie, MN, 1998. 31. Delta Tau Data Systems, Inc., Hardware Reference Manual 4 Axis Digital Amplifier (Quad Amp), Chatsworth, CA, Oct. 1997. 32. Delta Tau Data Systems, Inc., Turbo PM AC/PMAC2 Software Reference Manual, Chatsworth, CA, Aug. 2003.

PAGE 141

128 BIOGRAPHICAL SKETCH Jinho Lee was born on April 23, 1974, in Se oul, South Korea. He grew up and spent most of his early life in the city. In 1998, he achieve d the bachelors degree in mechanical engineering from the Korea Adva nced Institute of Science and Technology (KAIST). In 2000, he received an M.S. in m echatronics from the Gwang-Ju Institute of Science and Technology (GIST). In August of 2001, he began pursuing a Ph.D. in mechanical and aerospace engineering at the University of Florida.


Permanent Link: http://ufdc.ufl.edu/UFE0010702/00001

Material Information

Title: Design of Controllers for Improving Contour Accuracy in a High-Speed Milling Machine
Physical Description: Mixed Material
Copyright Date: 2008

Record Information

Source Institution: University of Florida
Holding Location: University of Florida
Rights Management: All rights reserved by the source institution and holding location.
System ID: UFE0010702:00001

Permanent Link: http://ufdc.ufl.edu/UFE0010702/00001

Material Information

Title: Design of Controllers for Improving Contour Accuracy in a High-Speed Milling Machine
Physical Description: Mixed Material
Copyright Date: 2008

Record Information

Source Institution: University of Florida
Holding Location: University of Florida
Rights Management: All rights reserved by the source institution and holding location.
System ID: UFE0010702:00001


This item has the following downloads:


Full Text












DESIGN OF CONTROLLERS FOR IMPROVING CONTOUR ACCURACY IN A
HIGH-SPEED 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, brother-in-law, and sister-in-law 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, Seung-Yoon 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 X-axis 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 Y-axis 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 PROPORTIONAL-INTEGRAL-DERIVATIVE
CON TROLLER ......... ..... .... ................ ...................... ........ .... 34

4.1 Tuning Procedures ....................... ... ..... ... ..................34
4.1.1 Proportional-Integral-Derivative Tuning for the X-axis................36
4.1.2 Proportional-Integral-Derivative Tuning for the Y-axis................37
4.2 Balancing Servo Parameters between the X- and Y-axes........................39

5 DESIGN OF THE FEEDFORWARD CONTROLLER ......................................43

5.1 T uning P procedures .................... ...................................... .....................44
5.1.1 Feedforward Tuning for the X-axis ............................................ 44
5.1.2 Feedforward Tuning for the Y-axis ............................................ 45
5.2 Balancing Servo Parameters between the X- and Y-axes........................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 Three-Axis 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 Closed-Loop 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 Y-AXIS INERTIAL PARAMETERS...............97

B.1 Equivalent M oment of Inertia of X-axis ................................................97
B.2 Total Moving Mass of Y-axis............................................... 98

C USER-WRITTEN SERVO ALGORITHMS FOR TRADITIONAL CROSS
COU PLIN G CON TR OLLER .................................................... ............... ............99

C. 1 User-Written Servo Algorithm for Traditional Cross Coupling
Controller (Linear Contour)................................................................ 100
C.2 User-Written 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 USER-WRITTEN SERVO ALGORITHM FOR ADAPTIVE NONLINEAR
CROSS COUPLING CONTROLLER .........................................................106

F.1 User-Written Servo Algorithm for Adaptive Nonlinear Cross Coupling
Controller (Linear Contour) .................... ............. ............................ 106
F.2 User-Written 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

3-1 Summary of the obtained Jeq ........... ............................... ...... ...................22

3-2 Summary of the obtained M ....................... ......................... 27

4-1 Proportional and derivative gain tuning for the x-axis..........................................37

4-2 Proportional and derivative gain tuning for the y-axis..........................................39

5-1 Proportional, derivative and feedforward gain tuning for the x-axis .....................45

5-2 Proportional, derivative and feedforward gain tuning for the y-axis .....................47

8-1 Feedrates and accelerations for each path. ............. .......................... ............... 72

8-2 Comparison of contouring performance for circular path................... ............91

8-3 Comparison of control effort for circular path. ................. .............................. 92

A-i Specifications for the x- and z-axis servomotor................................................. 95

A-2 Specifications for the y-axis linear motor. .................................... .................95

A-3 Specifications for the y-axis linear encoder. ................................. .................96

A-4 Specifications for the x- and y-axis hydrostatic guide way. ...................................96

A-5 Specifications for the x- and z-axis amplifier. ................................. ...............96

A-6 Specifications for the y-axis amplifier. ....................................... ............... 96

B-1 Mass of linearly moving components in the x-axis .......................................97

B-2 Moment of inertia of rotational components in the x-axis.................................97

B-3 Mass of moving components in the y-axis........... ................ ..............98

D-1 Important I variables setup for the traditional CCC implementation.....................103

G-l Comparison of contouring performance for circular path................................. 124
















LIST OF FIGURES


Figure pge

1-1 Contour error in machining a contour. ............................... .. ........................ 1

1-2 Feedback controller for a single axis drive system. ................................................2

1-3 Feedforward controller for a single axis drive system. ............................................3

1-4 Axial and contour errors for different cutter locations.............................................4

1-5 Cross coupling controller for a biaxial drive system ...............................................5

2-1 High-speed milling machine (H SM 2)......................................................................9

2-2 Guideways for (a) x-axis, (b) y-axis and (c) z-axis ........... ..................................12

2-3 Schematic diagram of electrical components for the HSM2.............................. 13

2-4 Interface modules for (a) x- and z-axis and (b) y-axis. ...........................................14

2-5 Amplifiers for (a) x- and z-axis and (b) y-axis .............. .......................................14

3-1 Simplified system block diagram of the HSM2 ............. ..... .................15

3-2 Block diagram of the Turbo PMAC2 servo loop ............................... ...............16

3-3 Block diagram of the Turbo PMAC2 current loop. ........................................17

3-4 Block diagram of the x-axis electromechanical feed drive system..........................18

3-5 Block diagram of the y-axis electromechanical feed drive system .........................18

3-6 Sample friction measurement on x-axis feed drive ............................................20

3-7 Viscous friction measurement on x-axis feed drive. ..........................................20

3-8 Sample moment of inertia measurement on x-axis feed drive. ..............................22

3-9 Comparison of simulation to actual system (x-axis position loop)........................24

3-10 Sample friction measurement on y-axis feed drive ............................................26









3-11 Viscous friction measurement on y-axis feed drive. ..........................................26

3-12 Sample mass measurement on y-axis feed drive.....................................................27

3-13 Comparison of simulation to actual system (y-axis position loop)........................29

3-14 Sensitivity of the x-axis viscous friction coefficient............... .............................31

3-15 Sensitivity of the x-axis equivalent moment of inertia. ................. ............... 31

3-16 Sensitivity of the y-axis viscous friction coefficient............... ............................32

3-17 Sensitivity of the y-axis m ass............... ......................................... ..................... 32

3-18 The two-dimensional grid encoder set up in HSM 2. ............. ............... 33

4-1 Motion command for controller performance evaluation. .....................................35

4-2 The PID tuned x-axis response to 0.5 m/s motion command..............................38

4-3 The PID tuned y-axis response to 0.5 m/s motion command..............................40

4-4 Contour error before balancing PID controller servos .......................................41

4-5 Contour error after balancing PID controller servos.............................................41

5-1 The feedforward scheme in Turbo PMAC2........................................................44

5-2 The PID and feedforward tuned x-axis response to 0.5 m/s motion command.......46

5-3 The PID and feedforward tuned y-axis response to 0.5 m/s motion command......48

5-4 Contour error before balancing PID and feedforward controller servos..................50

5-5 Contour error after balancing PID and feedforward controller servos...................50

6-1 Cross coupling controller for a biaxial drive system............... ............................51

6-2 Linear contour error. ................................................ ...............53

6-3 C circular contour error .............................................................................. .... ........54

7-1 Tim e-varying coordinate fram e ................................................................... ....... 58

7-2 The 2-D plane curve parameterization. .......................................... ............... 67

8-1 Square path on the x-y plane. ...... ......................................................................70

8-2 Diam ond path on the x-y plane. ........................................ ......................... 71









8-3 Circular path on the x-y plane. ..... ...................................................................... 71

8-4 Comparison between motor encoder data and grid plate data in square path.
(0 .2 m /s feedrate)................................................ ................ 7 6

8-5 Comparison between motor encoder data and grid plate data in square path.
(0 .4 m /s feedrate)................................................ ................ 7 7

8-6 Comparison of corner behaviors in square path with 0.2m/s feedrate ...................78

8-7 Comparison of contouring performance in square path with 0.2m/s feedrate. ........79

8-8 Comparison of corner behaviors in square path with 0.4m/s feedrate ...................80

8-9 Comparison of contouring performance in square path with 0.4m/s feedrate. ........81

8-10 Comparison between motor encoder data and grid plate data in diamond path.
(0 .2 m /s feedrate)................................................ ................ 82

8-11 Comparison between motor encoder data and grid plate data in diamond path.
(0 .4 m /s feedrate)................................................ ................ 83

8-12 Comparison of corner behaviors in diamond path with 0.2m/s feedrate. ...............84

8-13 Comparison of contouring performance in diamond path with 0.2m/s feedrate......85

8-14 Comparison of corner behaviors in diamond path with 0.4m/s feedrate. ...............86

8-15 Comparison of contouring performance in diamond path with 0.4m/s feedrate......87

8-16 Comparison between motor encoder data and grid plate data in circular path.
(0 .2 m /s feedrate)................................................ ................ 8 8

8-17 Comparison between motor encoder data and grid plate data in circular path.
(0 .4 m /s feedrate)................................................ ................ 89

8-18 Comparison of contouring performance in circular path with 0.2m/s feedrate........90

8-19 Comparison of contouring performance in circular path with 0.4m/s feedrate........90

8-20 Comparison of contouring performance in circular path with 0.4m/s feedrate.
(0 .06m radiu s). ..................................................... ................. 9 1

C-1 Traditional CCC implementation on HSM 2. ................................... ..................... 99

G-1 Comparison of corner behaviors in square path with 0.2m/s feedrate.................15

G-2 Comparison of contouring performance in square path with 0.2m/s feedrate. ...... 116









G-3 Comparison of corner behaviors in square path with 0.4m/s feedrate.................17

G-4 Comparison of contouring performance in square path with 0.4m/s feedrate. ...... 118

G-5 Comparison of corner behaviors in diamond path with 0.2m/s feedrate. ............19

G-6 Comparison of contouring performance in diamond path with 0.2m/s feedrate....120

G-7 Comparison of corner behaviors in diamond path with 0.4m/s feedrate. ............121

G-8 Comparison of contouring performance in diamond path with 0.4m/s feedrate....122

G-9 Comparison of contouring performance in circular path with 0.2m/s feedrate......123

G-10 Comparison of contouring performance in circular path with 0.4m/s feedrate......123

G-11 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
HIGH-SPEED 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 high-speed machine tool system, several control

strategies on the three-axis 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

proportional-integral-derivative (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 three-dimensional 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 Lyapunov-based 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 point-to-

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 two-dimensional

contouring system (X-Y feed drive system) is shown in Figure 1-1.

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 = X-axial error E = Y-axial error

Figure 1-1. 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 axial-loop 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 high-speed machining, which requires high-speed 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, proportional-integral-derivative (PID) controller, is shown in

Figure 1-2. 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 1-2. 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 1-3. 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 1-4, 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 1-4. 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 1-5.

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 1-5. 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 time-varying 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 single-input single-output

(SISO) error system was proven to yield bounded-input bounded-output (BIBO) stability.

Yeh and Hsu also proposed a modified variable-gain 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 multi-axis 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 cross-coupled multi-axis

machine tools motivated Yeh et al. [13] and Tarng et al. [14] to employ a fuzzy logic

feedforward control component. Degraded contour tracking at high-speed feed rates due

to the nonlinear cross-coupled 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 time-varying 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 X-Y 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 Lyapunov-based 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 three-axis 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 three-axis high-speed milling machine (HSM2) to be used

as a test bed for this research is illustrated in Figure 2-1.


Figure 2-1. High-speed 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 y-axes were replaced by the hydrostatic guideways. The x-axis, 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 y-axis of the redesigned

machine, which supports the column that contains the z-axis 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 X-axis

The x-axis 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 2-2 (a). The x-axis 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 Y-axis

As shown in Figure 2-2 (b), the y-axis 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 Z-axis

This machine was designed for parts where the tool path is primarily generated by

x- and y-axis motions, while the z-axis provides the depth of cut during the machining.

The z-axis is driven by an identical motor to that used for the x-axis. Conventional rolling

element guideways shown in Figure 2-2 (c) are used in conjunction with a ballscrew for

the z-axis. Position feedback is provided by a rotary encoder attached on the rotor of the

servomotor.

Detailed specifications of each motor, the encoder and the x-and y-axis 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 2-3.




















P ua,)= I I I A I a(b)













Figure 2-2. Guideways for (a) x-axis, (b) y-axis and (c) z-axis.

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 2-3. 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. IBT-002 from the Electro Craft is

used for x- and z-axes and ACC-8F from Delta Tau Data Systems Inc. is used for y-axis

(See Figure 2-4). The output of the interface module is a direct PWM signal which can be

used for the half-bridge 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 2-4. Interface modules for (a) x- and z-axis and (b) y-axis.

is magnification of the direct PWM signal to provide the power for the motors. For the x-

and z-axis amplifiers, PWM-150 and PWM-075 amplifiers from the Electro Craft are

used. For the y-axis amplifier, the quad amplifier from the Delta Tau Data Systems Inc. is

used (see Figure 2-5). Specifications of the amplifiers are in appendix A for reference.
















Figure 2-5. Amplifiers for (a) x- and z-axis and (b) y-axis.

In next chapter, the dynamic parameters such as equivalent moment of inertia, mass

and friction coefficients of the x- and y-axis 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 x-y machining plane, only the x- and y-axis 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 3-1. 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 3-1. 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 3-2. 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 -z-1)

Kaff(1-2z- +Z-2) + Notch filter
Kp: Proportional gain 1-
Reference + + + +dl-1z+d22z
Position + 1+nl-lz+n22z

1-z-1
K,: Integral gain
Kd(1-Z-1) Kd: Derivative gain

Position
Feedback


Figure 3-2. 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 3-3. 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 pre-scaled quadrature current

form is used for the digital calculation. Therefore, for the feedback, the analog-to-digital









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 3-3. 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

y-axes are shown in Figure 3-4 and Figure 3-5 respectively. For the x-axis

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 y-axis, 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 y-axis 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 y-axis. 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

--------- Back EMF
constant

V= voltage /= current T= torque w = angular velocity 0 = angle


Figure 3-4. Block diagram of the x-axis 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 3-5. Block diagram of the y-axis electromechanical feed drive system.

3.2 X-axis 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 x-axis feed drive is

measured directly. This is accomplished by commanding a constant velocity feedrate on

the x-axis and recording the current output from the servomotor. From Figure 3-4, the

motor torque can be expressed as:









T= Jeq +Bxo). (3-1)

Once the feed drive reaches the constant command velocity, the acceleration term, 6d in

Eq. (3-1) is equal to zero. This results in the relationship shown in Eq. (3-2) between the

axis feedrate o and motor torque T

T = B,). (3-2)

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. (3-3).


Bx= I-K .707 (3-3)
0)

The current from the servomotor coil is measured at different feedrates. An

example of the current and feedrate data is provided in Figure 3-6, 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 3-7, 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. (3-3), a viscous

friction coefficient of x-axis 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)


(3-4)












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 3-6. Sample friction measurement on x-axis feed drive.


y = 0.0214x + 1.2184
R2 = 0.9727











0 10 20 30 40 50 60 7(

feedrate (rad/sec)


Figure 3-7. Viscous friction measurement on x-axis 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 x-axis feed drive system.

But due to the difficulty of measuring the exact dimensions of all components, the

equivalent moment of inertia on the x-axis feed drive is also obtained experimentally. Eq.

(3-1) can be rearranged to give:

T-Bxo I-K, -0.707-Bo
Jeq (3-5)


Sample current and feedrate data are shown in Figure 3-8 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. (3-5). Table 3-1 shows the

summary of the obtained values for Jeq through several experiments using different

feedrates and accelerations. The equivalent moment of inertia of x-axis estimated by

measuring dimensions of components is shown in Appendix B for reference.

3.2.3 Modeling Verification

The developed model for the x-axis feed drive system is compared to the actual

machine to verify its accuracy. Using the Turbo PMAC2, the ramp command is issued to

the x-axis 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 3-8. Sample moment of inertia measurement on x-axis feed drive.

Table 3-1. 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 3-9 compares the response of the position loop on the actual machine Xact to

that of the Simulink model Xmodel. Figure 3-9 (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 Y-axis System Modeling and Verification

3.3.1 Modeling the Viscous Friction Coefficient (By)

The same procedure used for the x-axis is applied to the y-axis for modeling of the

viscous friction. From the Figure 3-5, the force can be expressed as shown in Eq. (3-6).

F = M + Byv (3-6)

Once the feed drive reaches constant velocity, the acceleration term r* in Eq. (3-6) is

equal to zero. This results in the following relationship shown in Eq. (3-7) between the

axis feedrate v and motor force F .

F = Byv (3-7)

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. (3-8).

S IK, *0.707
By = (3-8)
v

The current from the servomotor coil is measured at different feedrates. An

example of the current and feedrate data is provided in Figure 3-10, for a measurement

taken at a constant feedrate of 0.1 m/sec. From the current plots in Figure 3-10, it is

noticed that the two linear motors behave in an exactly same way. Therefore the average












120


100 -





E
120 --------------I--------I------I ----- ----


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 3-9. Comparison of simulation to actual system (x-axis 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 3-11, 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. (3-8), 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 y-axis 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 x-axis is applied to the y-axis to model the total

moving mass. The Eq. (3-6) can be rearranged to give:

F-Byv I-Kf 0.707-Bv
M=- Y-y (3-10)
v v

An example of the current and feedrate data is shown in Figure 3-12 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. 3-10. Table 3-2 shows the summary of the

obtained values for Mthrough several experiments using different feedrates and

accelerations. The total moving mass of y-axis 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 3-10. Sample friction measurement on y-axis feed drive.



y = 4.497x + 0.5859
R2 = 0.9362


0.05


0.15
feedrate(m/s)


0.25


Figure 3-11. Viscous friction measurement on y-axis feed drive.










y axis 1


-0.5L
6 0


" 0.5
E
a) 0


S-0.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 3-12. Sample mass measurement on y-axis feed drive.


Federate(m/s)
0.15


Table 3-2. 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 y-axis 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 3-13 compares the response of the position loop on the actual machine Yact

to that of the Simulink model Ymodel. Figure 3-13 (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 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 x-axis viscous friction coefficient is shown in Figure 3-14

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 3-13. Comparison of simulation to actual system (y-axis 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 3-15, Figure 3-16 and Figure 3-17

show the sensitivity of the x-axis equivalent moment of inertia, the y-axis viscous friction

coefficient and the y-axis 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 3-14 and

Figure 3-15, it is shown that the parameter of the equivalent moment of inertia is more

sensitive than the viscous friction coefficient for the x-axis. Similarly, for the y-axis, the

parameter of the mass is more sensitive than the viscous friction coefficient. To compare

the sensitivity of the x-axis viscous friction coefficient with the y-axis, in position profile

of Figure 3-14 and Figure 3-16, the displacements at certain time lapse are compared. In

result, it is shown that the y-axis viscous friction coefficient is more sensitive than the x-

axis. Similarly, for the inertia parameter, the y-axis mass is more sensitive than the x-axis

equivalent moment of inertia.

3.5 Reversal Error of X-axis

The x-axis is driven by a three phase AC rotary servomotor attached on the end of

the hydrostatic leadscrew through a coupling. Since the x-axis 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 3-14. Sensitivity of the x-axis 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 3-15. Sensitivity of the x-axis equivalent moment of inertia.


15 2



velocity i








32




position profile(dot simulation line experiment)


velocity profile(dot simulation line experiment)


Figure 3-16. Sensitivity of the y-axis viscous friction coefficient.


position profile(dot simulation line experiment)


Figure 3-17. Sensitivity of the y-axis mass.









To identify the x-axis reversal error, the two-dimensional grid encoder is used for

reading the absolute position of the table as shown in Figure 3-18. 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 x-axis. 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 x-axis encoder (2 am). Therefore, the reversal error of the x-axis is

disregarded in system identification.

In next chapter, based on the identified axes models for HSM2, as a conventional

feedback controller, the proportional-integral-derivative (PID) controller will be

designed. The tuning procedure for each axis and the balancing technique between x- and

y-axis will be included in next chapter.


Figure 3-18. The two-dimensional grid encoder set up in HSM 2.














CHAPTER 4
DESIGN OF THE PROPORTIONAL-INTEGRAL-DERIVATIVE CONTROLLER

In this chapter, based on the identified axes model for HSM2, proportional-integral-

derivative (PID) feedback controllers are designed. Since the Turbo PMAC2 controller

has the PID control algorithm built-in, 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 y-axes 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 4-1, 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 4-1 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 y-axes 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 x-axis 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 metal-to-metal contact to occur.

This metal contact creates the scratch mark on the leadscrew and this scratch mark

prevents smooth movement of the x-axis table. Additionally, instability can occur in the

y-axis 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
I-0 02 --------- -------- __'I-y --------T -------- T-------- T,-------- T,--------


0 01 -- ------- --/ --- -------- -------- -------- -------- -------- --------_
0
0 0 05 01 015 02 0.25 0.3 0 35 04
times)


Figure 4-1. 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 trade-off 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 Proportional-Integral-Derivative Tuning for the X-axis

The PD tuning of the x-axis is completed first. Table 4-1 shows the simulation

results for several combinations of P and D gain making the x-axis 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 4-1) cause

physical damage to the x-axis 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 x-axis 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 x-axis. Figure 4-2 shows the response of the PID









tuned (P=180000, I=0, D=7200) x-axis to the test command and the following error for

this move.

Table 4-1. Proportional and derivative gain tuning for the x-axis.
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 Proportional-Integral-Derivative Tuning for the Y-axis

The PD tuning is completed first for the y-axis. Table 4-2 shows the simulation

results for several combinations of P and D gain making the y-axis 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 4-2) cause the non-acceptable

vibration between the y-axis 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 y-axis are selected

as 80000 for the P gain and 6100 for the D gain. And for the same reason as the x-axis,

the I gain is not included in the PID controller for the y-axis. Figure 4-3 shows the

response of the PID tuned (P=80000, I=0, D=6100) y-axis 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 4-2. The PID tuned x-axis 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 4-2. Proportional and derivative gain tuning for the y-axis.
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 Y-axes

Since the previously tuned x- and y-axes 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 4-2 (b) and

Figure 4-3 (b). Since the mismatch between x- and y-axis servo parameters causes the

poor contouring performance in x-y coordinate motions, the servo parameters should be

balanced through the control gain adjustment.

Figure 4-4 shows the contour error for unbalanced axes when the x- and y-axes 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 y-axes is to change controller gains of one axis to

have the similar following error to the other axis. As previously shown in Figure 4-2 (b)

and Figure 4-3 (b), since the maximum steady state following error of the y-axis (10.54

mm) is smaller than x-axis (12.44 mm), the controller gain of y-axis should be changed

so that the y-axis following error becomes similar to the x-axis following error. By

adjusting the y-axis P and D gain as P=58000 and D=7200, the smallest contour error in

x-y coordinate motion can be achieved. Figure 4-5 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 4-3. The PID tuned y-axis 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 10-4
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 4-4. Contour error before balancing PID controller servos.


0.5

0

-0.5

-1

-1.5

-2

-2.5

-3

3 5


x 10-6

I -- - --i- I - - -
--------------------




.....~..~... ..~.i....~..~..~..~..... ...........~.~
- - - - - -- - - - - - - - - - - -~~
- ----
---- -
------ ---



- -
I


0.2 0.4 0.6 0.8 1 1.2 1.4
times)


Figure 4-5. Contour error after balancing PID controller servos.


0






42


axes when the same motion command as in Figure 4-4 is used for x- and y-axes. From

Figure 4-5, 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 proportional-integral-derivative

(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 5-1.


Velocity feedforward


Acceleration feedforward
Kaff(l-2z- +z-2)

Reference Control
position + Erro PID + + signal
R i E controller U

Position feedback

Figure 5-1. The feedforward scheme in Turbo PMAC2.

5.1 Tuning Procedures

The typical motion command shown in Figure 4-1 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 X-axis

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 5-1 shows the simulation results for several

combinations of P, D and Kvff making the x-axis 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 5-1)

cause physical damage to the x-axis 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 x-axis 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 x-axis. Figure 5-

2 shows the response of the PID+feedforward tuned (P= 180000, I=0, D= 11000,

Kvf8500, Kaff=0) x-axis to the test command and the following error for this move. It is

noted that the maximum following error for x-axis is reduced to 4.35 mm while it was

12.44 mm for the PID controller.

Table 5-1. Proportional, derivative and feedforward gain tuning for the x-axis.
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 Y-axis

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 5-2 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 5-2. The PID and feedforward tuned x-axis 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 --------I--------1-------- _____ __ ______ __1_______





L- L- - -


-









combinations of P, D and Kvff making the y-axis 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 5-2) cause non-acceptable vibration between the y-axis 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 y-axis 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 x-axis, the acceleration

feedforward term is not included in the PID+feedforward controller for the y-axis. Figure

5-3 shows the response of the PID+feedforward tuned (P=80000, I=0, D=6500,

Kvf2700, Kaff=0) y-axis to the test command and the following error for this move. It is

noted that the maximum following error for y-axis is reduced to 6.58 mm while it was

10.54 mm for the PID controller.

Table 5-2. Proportional, derivative and feedforward gain tuning for the y-axis.
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 5-3. The PID and feedforward tuned y-axis 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-------- T--------t ------- -


----- ---- -- --- -- -- -------- -------- -------- -------- --------
- - - - - 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 Y-axes

As shown in Figure 5-2 (b) and Figure 5-3 (b), due to the parameter mismatch

between the x- and y-axis, the steady state following errors of each axis are different. To

balance servo parameters between the x- and y-axis, the same method as described in the

section 4.2 is used.

As previously shown in Figure 5-2 (b) and Figure 5-3 (b), since the maximum

steady state following error of the x-axis (4.35 mm) is smaller than y-axis (6.58 mm), the

controller gain of x-axis should be changed so that the x-axis following error becomes

similar to the y-axis following error. By adjusting the x-axis P gain, D gain and Kvff as

P=180000, D=8250 and Kvff4440, the smallest contour error in x-y coordinate motion

can be achieved. Figure 5-4 shows the contour error for unbalanced axes when the x- and

y-axes are commanded to move simultaneously for 0.1 m displacement with 0.14 m/s

feedrate and 0.28 m/s2 acceleration. Figure 5-5 shows the contour error for balanced axes

when the same motion command is used for x- and y-axes. From Figure 5-4 and Figure

5-5, 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 user-written servo algorithm provided by Turbo PMAC2

will be used.








x 104
1 i--


I ----------- ---------



1 ----- --- -
0 I

-^ --------- --- ---------- -------- ---- -- --------------------F-- -- -
W- -- 2 --- -- --
1-1 /



-4 ------------------------- ------ .--------- --------- ----------- r---------

0 02 0.4 06 0.8 1 1.2 1.4
times)

Figure 5-4. Contour error before balancing PID and feedforward controller servos.
4 -



0 02 0.4 06 0.8 1 1.2 1.4
times)

Figure 5-4. Contour error before balancing PID and feedforward controller servos.


x 10-5
2.5 --


0 0.2 0.4 0.6 0.8 1 1.2 1.4
times)


Figure 5-5. 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 6-1. 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 6-1. 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 6-2:

E = -Ex sin0 +E cos0. (6.1)

In Eq. (6.1), Ex is the x-axial error, Ey is the y-axial error and 0 is the angle between

the x-axis and the desired straight line. Since sin = V / V and cos = V / V where Vx is

the x-axis feedrate, Vy is the y-axis 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 6-2. 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 6-3, 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 y-axis. Substituting Eq. (6.5) and Eq. (6.6) into Eq. (6.4) yields following equation:

s= (psinO-E)2 +(pcos 0-E)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 6-3. 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 y-axis in Figure 6-1, PID+feedforward

controllers developed in the previous chapter are used. To realize the cross coupling

concept in HSM2, the user-written servo algorithm provided by the Turbo PMAC2

controller is used. The user-written servo algorithm permits users to write their own

custom algorithm in a high-level language that would execute on Turbo PMAC2's high-

priority servo interrupt. In Appendix C, user-written servo algorithm codes for the linear









and circular CCC implementation are presented. Important Turbo PMAC2 variables

associated with user-written 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 time-varying 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 Lyapunov-based adaptive

nonlinear controller will be designed to compensate uncertain inertial and friction

parameters of the system. To implement the developed CCC on HSM2, the user-written

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 three-axis computer numerical control (CNC) machine tool feed drive system, the

results can be extended to n-dimensional systems.

By transforming the machine tool feed drive dynamics to the time-varying

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

Lyapunov-based 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 semi-global asymptotic contour following in the

presence of uncertain friction and cutting force disturbances.

7.1 Three-Axis Computer Numerical Control (CNC) Machine Tool Dynamics

The dynamic model for a three-axis 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 time-varying 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 time-varying 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 time-varying coordinate system, respectively. See

Figure 7-1.
















Actual trajectory --- ---


Time-Varying Coordinate
Desired trajectory
b

X /
Xd





Inertial Coordinate



Figure 7-1. Time-varying 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 skew-symmetric 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 single-valued continuous function that denotes the desired

curvature of the contour, and r(t) E R is a single-valued 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 Serret-Frenet [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 three-axis 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 Closed-Loop Error System

The open-loop error system for r(t) can be obtained by taking the time-derivative

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)


I||I < 'ill||z 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 best-guess estimate of the unknown parameters in 0. The closed-loop 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 + ZOF-1 (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)

'< -Ai|z||2 + [ jIr| |z|| k, Ir||2] (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< -111Ai|z2 + 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 semi-global 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 closed-loop 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 closed-loop 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

user-written servo algorithm provided by the Turbo PMAC2. Since the x-y feed drive

system on HSM2 is a two-dimensional contouring system, the parameterization based on

the feed direction (see Figure 7-2) 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 x-axis, then F(t) can be represented by


n


t
t- Desired Trajectory





X axis


Figure 7-2. The 2-D 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 two-dimensional trajectory, R is a

matrix function of the incline angle p (t).

For two-dimensional 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 x-axis, My is the moving mass for y-axis, B, is the viscous friction coefficient

for x-axis and By is the viscous friction coefficient for y-axis. For the initial best-guess

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 two-dimensional

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(x-x) + 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 cross-coupled 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 two-dimensional circular contour, Eq. (7.52) and Eq.

(7.53) can be used to express the cross-coupled 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) o-1p 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 x-dl X
-1/ p 0 xd2 2-X
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 proportional-derivative (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

User-written 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 x-y 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 8-1, Figure 8-2 and Figure 8-3 respectively.

Feedrates and accelerations used for each path are shown in Table 8-1. During movement,

the path is measured by both encoders mounted on each axis and grid plate described in

Figure 3-18.




100 .-----


s O ---------:------------------------L---L---I --- -----


6 0 -- - - - -- --O- - - -- -


S40

20



0 -----
starting point
-100 -80 -60 -40 -20 0
x axis (mm)


Figure 8-1. Square path on the x-y 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 8-2. Diamond path on the x-y 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 8-3. Circular path on the x-y plane.









Table 8-1. 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 y-position used for the x- and y-axis control loop feedback is

usually different from the absolute position, the path measured by the x- and y-axis

encoder is compared to the path measured by the grid plate. Figures 8-4 and 8-5 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 x-axis position data from the motor

encoder is quite different from the data from the grid plate, while the y-axis 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 x-axis 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 x-axis leadscrew or leadscrew mounting. The

difference between the x-axis motor encoder data and the grid plate data becomes

distinguished as the feedrate is increased. It is also noticeable that the y-axis responds

more slowly than the x-axis does due to the massive weight of y-axis.


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 8-6. 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 8-7. 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 8-8 and 8-9. 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 y-axis 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 y-axis.

The same experimental results based on the grid plate are also shown in Figures G-l, G-2,

G-3 and G-4 for reference.

8.2 Diamond Path

Figures 8-10 and 8-11 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 x-axis 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 8-12 and contour errors except covers are shown in Figure 8-13

(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 8-14 and 8-15. 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 G-5, G-6, G-7 and G-8 for reference.

8.3 Circular Path

Figures 8-16 and 8-17 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 x-axis 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 8-18, 8-19 and 8-20 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 8-2 summarizes the circular contouring performance of each controller,

and Table 8-3 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 G-9, G-10 and G-11 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 8-4. 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 8-5. 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 -
015-------T---r-- -----


015------- --- -- --



0 1 I T


005-------I ---I -- ------
015 --

01






-0 05 ----
I0









-02 -015 -01 -005 0 005 01 015 02
x axis (mm)


Figure 8-6. 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 8-7. 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 8-8. 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 8-9. 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 8-10. 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 8-11. 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 8-12. 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 8-13. Comparison of contouring performance in diamond path with 0.2m/s
feedrate.


0.04

0.03

0.02
























































I L -1 -- L -











x--2
x axis (mm)


015 -



0 1 -




I


01------- -- y--



I I-I






-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 8-14. Comparison of corner behaviors in diamond path with 0.4m/s feedrate.




























PD controller
Feedforward controller
Traditional CCC
Developed CCC


time (s)


Figure 8-15. Comparison of contouring performance in diamond path with 0.4m/s
feedrate.


0.1


0.05k


-0.05


-0.1


-0.15