High Speed Motion Control of CNC Machine Tools by Mostafizur Rahaman B.Sc., Bangladesh University of Engineering and Technology, 2011 A THESIS SUBMITTED IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE DEGREE OF MASTER OF APPLIED SCIENCE in THE COLLEGE OF GRADUATE STUDIES (Mechanical Engineering) THE UNIVERSITY OF BRITISH COLUMBIA (Okanagan) July 2013 ? Mostafizur Rahaman, 2013 ii Abstract High speed machining is a relatively new technology that has been applied to industries such as aerospace and die and mold making. By maximizing feedrates and cutting speeds of computer numerically controlled (CNC) machine tools, high levels of productivity are achieved. High speed machining requires rigid tool structures, stable spindles with high power and feed drives which can follow the desired tool trajectory. It is important to point out that both velocity and acceleration are physically constrained for any machine tool. However, the paths supplied by Computer Aided Design (CAD) systems do not take machine constraints into account. Thus, they usually provide very conservative (slow) part programs to this CNC machine, and the operator is then required to adjust the feedrates manually. This process is tedious, and attempts at providing improved preprocessors between the CAD system and the CNC tool have not been successful commercially, since there are too many unknown process parameters. As a result, realtime control techniques such as Cross Coupled Control (CCC), Zero Phase Error Tracking Control (ZPETC), or Realtime Feedrate Modulation (FM) have been studied in the literature. This thesis compares the performance of these traditional control techniques in their ability to reduce path error. It is shown that none of these algorithms are universally applicable to both corner tracking and circular interpolation, which are two of the most common challenges in high speed machining. The thesis then presents two new tracking algorithms that improve and combine the benefits of the existing algorithms. First, a new Linearized Cross Coupled Control (LCCC) algorithm is presented that is easier to implement than traditional CCC and improves the corner tracking capabilities. Then an algorithm termed Robust Tracking Control iii (RTC) is presented that combines LCCC with FM in order to further improve corner tracking performance and robustness towards multiple machining constraints. Experiments on a custom built x-y table show that RTC performs extremely well in both corner tracking and circular interpolation, even when multiple constraints such as current saturation and voltage saturation are present. iv Table of Contents Abstract .............................................................................................................................. ii Table of Contents .............................................................................................................. iv List of Tables .................................................................................................................... vii List of Figures .................................................................................................................. viii Nomenclature ...................................................................................................................xvi Acronyms ........................................................................................................................... xx Acknowledgements ...........................................................................................................xxi Dedication ....................................................................................................................... xxii Chapter 1: Introduction .....................................................................................................1 1.1 Machine Tool Types ..............................................................................................1 1.2 CNC Drive Components ........................................................................................4 1.3 Research Objective and Thesis Outline ..................................................................6 Chapter 2: Literature Review ............................................................................................8 2.1 Overview ...............................................................................................................8 2.2 Position Control .....................................................................................................9 2.2.1 Motor .................................................................................................................9 2.2.2 Velocity Loop Amplifier .................................................................................. 11 2.2.3 Lead-lag Position Controller ............................................................................ 12 2.3 Machining Accuracy ............................................................................................ 13 2.4 Zero Phase Error Tracking Control (ZPETC) ....................................................... 16 2.5 Cross-Coupled Control (CCC) ............................................................................. 18 2.6 Feedrate Modulation (FM) ................................................................................... 22 v 2.7 Advanced Feedrate Modulation Algorithms ......................................................... 27 2.8 Summary ............................................................................................................. 27 Chapter 3: Experimental Comparisons of Existing Algorithms ..................................... 29 3.1 Experimental Testbed .......................................................................................... 29 3.2 Corner Tracking ................................................................................................... 31 3.2.1 Simple Servo .................................................................................................... 32 3.2.2 Feedrate Modulation ........................................................................................ 36 3.2.3 Cross-Coupled Control (CCC) ......................................................................... 40 3.2.4 Zero Phase Error Tracking Control (ZPETC) ................................................... 44 3.3 Circular Interpolation ........................................................................................... 49 3.4 Summary ............................................................................................................. 59 Chapter 4: Linearized Cross-Coupled Controller (LCCC) ............................................ 61 4.1 Derivation ............................................................................................................ 61 4.2 Experimental Validation ...................................................................................... 65 4.2.1 Corner Tracking ............................................................................................... 65 4.2.2 Circular Interpolation ....................................................................................... 68 4.3 Summary ............................................................................................................. 72 Chapter 5: Robust Tracking Control (RTC) ................................................................... 74 5.1 The RTC Algorithm ............................................................................................. 74 5.2 Experimental Validation ...................................................................................... 75 5.2.1 Corner Tracking ............................................................................................... 76 5.2.2 Circular Interpolation ....................................................................................... 81 5.3 Summary ............................................................................................................. 97 vi Chapter 6: Conclusions .................................................................................................... 98 6.1 Contributions ....................................................................................................... 98 6.1.1 Comprehensive Experimental Comparison of Prominent Tracking Algorithms 98 6.1.2 Linearized Cross Coupling Controller .............................................................. 99 6.1.3 Robust Tracking Control (RTC) ....................................................................... 99 6.2 Future Research Directions ................................................................................ 100 References ........................................................................................................................ 102 Appendix A: Experimental Results ................................................................................ 107 vii List of Tables Table 3.1: Testbed parameters ............................................................................................. 30 Table 4.1: Parameters for circular interpolation ................................................................... 69 Table 5.1: Experimental parameters for corner tracking ....................................................... 76 Table 5.2: Experimental parameters for linear dynamic error ............................................... 82 Table 5.3: Experimental parameters for velocity saturation error ......................................... 86 Table 5.4: Experimental parameters for interpolation error .................................................. 88 Table A.1: Experimental results of all algorithms????????????????.107 viii List of Figures Figure 1.1: Center lathe ..................................................................................................... 2 Figure 1.2: Turret lathe (used with the permission from reference [1]) ............................... 2 Figure 1.3: Vertical Milling Center .................................................................................... 3 Figure 1.4: CNC control loop............................................................................................. 5 Figure 1.5: DC brushed servo amplifier ............................................................................. 5 Figure 1.6: DC brushed servomotor ................................................................................... 6 Figure 1.7: High speed X-Y table........................................................................................ 6 Figure 2.1: Closed loop block diagram of a simple servo ................................................. 10 Figure 2.2: Block diagram of a velocity loop ................................................................... 11 Figure 2.3: Block diagram of a position loop ................................................................... 12 Figure 2.4: Contour error, ? and axis errors, Ex and Ey ...................................................... 13 Figure 2.5: Linear error model with contour error, ? ......................................................... 19 Figure 2.6: Cross-coupled controller ................................................................................ 20 Figure 2.7: Circular error model with contour error, ? ...................................................... 21 Figure 2.8: Feedrate modulation architecture ................................................................... 23 Figure 2.9: Flowchart of original FM algorithm ............................................................... 25 Figure 2.10: Velocity spline ............................................................................................... 26 Figure 3.1: Positions of simple servo during square shape contour with matched axes ..... 33 Figure 3.2: Enlargement of simple servo response for square shape contour with matched axes ................................................................................................. 34 Figure 3.3: Positions of simple servo during square shape contour with mismatched axes ............................................................................................................... 35 ix Figure 3.4: Enlargement of simple servo response for square shape contour with mismatched axes ............................................................................................ 36 Figure 3.5: Positions of feedrate modulation during square shape contour with matched axes ............................................................................................................... 37 Figure 3.6: Enlargement of feedrate modulation response for square shape contour with matched axes ................................................................................................. 38 Figure 3.7: Positions of feedrate modulation during square shape contour with mismatched axes ............................................................................................ 39 Figure 3.8: Enlargement of feedrate modulation response for square shape contour with mismatched axes ............................................................................................ 40 Figure 3.9: Positions of cross-coupled control during square shape contour with matched axes ................................................................................................. 41 Figure 3.10: Enlargement of cross-coupled control response for square shape contour with matched axes ......................................................................................... 42 Figure 3.11: Positions of cross-coupled control during square shape contour with mismatched axes ............................................................................................ 43 Figure 3.12: Enlargement of cross-coupled control response for square shape contour with mismatched axes .................................................................................... 44 Figure 3.13: Positions of ZPETC during square shape contour with matched axes ............. 46 Figure 3.14: Enlargement of ZPETC response for square shape contour with matched axes ............................................................................................................... 47 Figure 3.15: Positions of ZPETC during square shape contour with mismatched axes........ 48 x Figure 3.16: Enlargement of ZPETC response for square shape contour with mismatched axes ............................................................................................ 49 Figure 3.17: Circular interpolation error geometry ............................................................. 50 Figure 3.18: Maximum radius vs maximum angular frequency for a tolerance 50?m ......... 52 Figure 3.19: Positions of (a) Simple Servo, (b) Feedrate Modulation, (c) Cross-coupled Control and (d) Zero Phase Error Tracking Control during circular interpolation (Linear Dynamic Error) with matched axes ............................... 54 Figure 3.20: Path of (a) Simple Servo, (b) Feedrate Modulation, (c) Cross-coupled Control and (d) Zero Phase Error Tracking Control for circular interpolation (Linear Dynamic Error) with matched axes ............................... 55 Figure 3.21: Error response of (a) Simple Servo, (b) Feedrate Modulation, (c) Cross-coupled Control and (d) Zero Phase Error Tracking Control for circular interpolation (Linear Dynamic Error) with matched axes ............................... 56 Figure 3.22: Positions of (a) Simple Servo, (b) Feedrate Modulation, (c) Cross-coupled Control and (d) Zero Phase Error Tracking Control during circular interpolation (Linear Dynamic Error) with mismatched axes .......................... 57 Figure 3.23: Path of (a) Simple Servo, (b) Feedrate Modulation, (c) Cross-coupled Control and (d) Zero Phase Error Tracking Control for circular interpolation (Linear Dynamic Error) with mismatched axes .......................... 58 Figure 3.24: Error response of (a) Simple Servo, (b) Feedrate Modulation, (c) Cross-coupled Control and (d) Zero Phase Error Tracking Control for circular interpolation (Linear Dynamic Error) with mismatched axes .......................... 59 Figure 4.1: Linear error model with contour error, ? ......................................................... 62 xi Figure 4.2: Axial error for delayed reference path ............................................................ 63 Figure 4.3: Linearized cross-coupled control (LCCC) algorithm ...................................... 65 Figure 4.4: Positions of (a) Cross-coupled Control (CCC) and (b) Linearized Cross-coupled Control (LCCC) during square shape contour with matched axes ...... 66 Figure 4.5: Contour path of (a) Cross-Coupled Control (CCC) and (b) Linearized Cross-Coupled Control (LCCC) for square shape contour with matched axes ............................................................................................................... 67 Figure 4.6: Positions of (a) Cross-Coupled Control (CCC) and (b) Linearized Cross-Coupled Control (LCCC) during square shape contour with mismatched axes ............................................................................................................... 68 Figure 4.7: Contour path of (a) Cross-Coupled Control (CCC) and (b) Linearized Cross-Coupled Control (LCCC) for square shape contour for mismatched axes ............................................................................................................... 68 Figure 4.8: Positions of (a) Cross-Coupled Control (CCC) and (b) Linearized Cross-Coupled Control (LCCC) during circular interpolation (Linear dynamic error) with matched axes ................................................................................ 69 Figure 4.9: Contour path of (a) Cross-Coupled Control (CCC) and (b) Linearized Cross-Coupled Control (LCCC) for circular interpolation (Linear dynamic error) with matched axes ................................................................................ 70 Figure 4.10: Error response of (a) Cross-Coupled Control (CCC) and (b) Linearized Cross-Coupled Control (LCCC) for circular interpolation (Linear dynamic error) with matched axes ................................................................................ 70 xii Figure 4.11: Positions of (a) Cross-Coupled Control (CCC) and (b) Linearized Cross-Coupled Control (LCCC) during circular interpolation (Linear dynamic error) with mismatched axes .......................................................................... 71 Figure 4.12: Path of (a) Cross-Coupled Control (CCC) and (b) Linearized Cross-Coupled Control (LCCC) for circular interpolation (Linear dynamic error) with mismatched axes .................................................................................... 71 Figure 4.13: Error response of (a) Cross-Coupled Control (CCC) and (b) Linearized Cross-Coupled Control (LCCC) for circular interpolation (Linear dynamic error) with mismatched axes .......................................................................... 72 Figure 5.1: Block diagram of RTC algorithm ................................................................... 75 Figure 5.2: Positions of (a) Simple Servo, (b) Feedrate Modulation, (c) Linearized Cross-Coupled Control, (d) Zero Phase Error Tracking Control and (e) Robust Tracking Control during square shape contour with matched axes ...... 77 Figure 5.3: Path of (a) Simple Servo, (b) Feedrate Modulation, (c) Linearized Cross-Coupled Control, (d) Zero Phase Error Tracking Control and (e) Robust Tracking Control for square shape contour with matched axes ....................... 78 Figure 5.4: Positions of (a) Simple Servo, (b) Feedrate Modulation, (c) Linearized Cross-Coupled Control, (d) Zero Phase Error Tracking Control and (e) Robust Tracking Control during square shape contour with mismatched axes ............................................................................................................... 80 Figure 5.5: Path of (a) Simple Servo, (b) Feedrate Modulation, (c) Linearized Cross-Coupled Control, (d) Zero Phase Error Tracking Control and (e) Robust Tracking Control for square shape contour with mismatched axes ................. 81 xiii Figure 5.6: Positions of (a) Simple Servo, (b) Feedrate Modulation, (c) Linearized Cross-Coupled Control, (d) Zero Phase Error Tracking Control and (e) Robust Tracking Control during circular interpolation (Linear dynamic error) with matched axes ................................................................................ 83 Figure 5.7: Path of (a) Simple Servo, (b) Feedrate Modulation, (c) Linearized Cross-Coupled Control, (d) Zero Phase Error Tracking Control and (e) Robust Tracking Control for circular interpolation (Linear dynamic error) with matched axes ................................................................................................. 84 Figure 5.8: Error response of (a) Simple Servo, (b) Feedrate Modulation, (c) Linearized Cross-Coupled Control, (d) Zero Phase Error Tracking Control and (e) Robust Tracking Control for circular interpolation (Linear dynamic error) with matched axes ................................................................................ 85 Figure 5.9: Positions of (a) Simple Servo and (b) Robust Tracking Control during circular interpolation (Velocity saturation) with matched axes ....................... 86 Figure 5.10: Path of (a) Simple Servo and (b) Robust Tracking Control for circular interpolation (Velocity saturation) with matched axes .................................... 87 Figure 5.11: Error response of (a) Simple Servo and (b) Robust Tracking Control for circular interpolation (Velocity saturation) with matched axes ....................... 87 Figure 5.12: Positions of (a) Simple Servo and (b) Robust Tracking Control during circular interpolation (Interpolation error) with matched axes ........................ 88 Figure 5.13: Path of (a) Simple Servo and (b) Robust Tracking Control for circular interpolation (Interpolation error) with matched axes ..................................... 89 xiv Figure 5.14: Error response of (a) Simple Servo and (b) Robust Tracking Control for circular interpolation (Interpolation error) with matched axes ........................ 89 Figure 5.15: Positions of (a) Simple Servo, (b) Feedrate Modulation, (c) Linearized Cross-Coupled Control, (d) Zero Phase Error Tracking Control and (e) Robust Tracking Control during circular interpolation (Linear dynamic error) with mismatched axes .......................................................................... 91 Figure 5.16: Path of (a) Simple Servo, (b) Feedrate Modulation, (c) Linearized Cross-Coupled Control, (d) Zero Phase Error Tracking Control and (e) Robust Tracking Control for circular interpolation (Linear dynamic error) with mismatched axes ............................................................................................ 92 Figure 5.17: Error response of (a) Simple Servo, (b) Feedrate Modulation, (c) Linearized Cross-Coupled Control, (d) Zero Phase Error Tracking Control and (e) Robust Tracking Control for circular interpolation (Linear dynamic error) with mismatched axes .......................................................................... 93 Figure 5.18: Positions of (a) Simple Servo and (b) Robust Tracking Control during circular interpolation (Velocity saturation) with mismatched axes .................. 94 Figure 5.19: Path of (a) Simple Servo and (b) Robust Tracking Control for circular interpolation (Velocity saturation) with mismatched axes .............................. 94 Figure 5.20: Error response of (a) Simple Servo and (b) Robust Tracking Control for circular interpolation (Velocity saturation) with mismatched axes .................. 95 Figure 5.21: Positions of (a) Simple Servo and (b) Robust Tracking Control during circular interpolation (Interpolation error) with mismatched axes ................... 95 xv Figure 5.22: Path of (a) Simple Servo and (b) Robust Tracking Control for circular interpolation (Interpolation error) with mismatched axes ............................... 96 Figure 5.23: Error response of (a) Simple Servo and (b) Robust Tracking Control for circular interpolation (Interpolation error) with mismatched axes ................... 96 xvi Nomenclature a Filter lead parameter b Filter lag parameter )( 1?zB sc Stable zeros )( 1?zBuc Unstable zeros yx CC , Cross-coupled gains yx CC ?? , Cross-coupled gains for delayed reference path e Radial error actuale Actual error allowablee Allowable error yx EE , Axial errors yx EE ?? , Delayed axial errors )(zF Feedforward prefilter )(sG Transfer function of the axis loop )(zG Closed loop transfer function maxI Maximum current eJ Rotor inertia K Lead-lag filter proportional gain mK Motor gain tK Motor torque constant xvii vK Velocity loop gain LP Amplifier loop gain TP Amplifier tachometer gain r Actual dr Desired contour radius onacceleratir Radius to avoid current saturation erpolationrint Radius to avoid interpolation error linearr Radius to avoid linear dynamic error velocityr Radius to avoid velocity saturation )(kr Reference input R Armature resistance, Radius of curvature maxT Maximum motor torque U Supply voltage maxU Maximum voltage yx UU , Supply voltage in x and y axis V Axis velocity yx VV , Reference velocity in x and y axis yx VV ??, Reference velocities for delayed reference path )(zW PID control loop dip WWW ,, Proportional, integral and derivative gain xviii dd yx , Desired positions measuredmeasured YX , Measured positions progprog YX , Programed positions refref YX , Reference positions refref YX ?? , Delayed reference positions )(ky Actual output )(kyd Desired output static? Static error ? Difference operator t? Slave sampling period T? Master sampling period yx ?? , Slave position increments YX ?? , Master position increments ? Contour error ? Servo axis control loop damping ratio ? Instantaneous slop angle of reference path act? Actual position ref? Reference position max??? Maximum acceleration m? Motor time constant v? Velocity loop time constant xix ? Phase lag ? Rotational speed act? Actual angular velocity n? Natural frequency of position loop ref? Reference angular velocity yx ?? , Natural frequency of x and y axis controller xx Acronyms CAD/CAM Computer Aided Design/ Computer Aided Manufacturing CCC Cross-Coupled Control CNC Computer Numerical Control DSP Digital Signal Processor EFM Extended Feedrate Modulation FM Feedrate Modulation LCCC Linearized Cross-Coupled Control PD Proportional Derivative PID Proportional Integral Derivative PWM Pulse Width Modulation RTC Robust Tracking Control RMS Root Mean Square ZPETC Zero Phase Error Tracking Control xxi Acknowledgements First and foremost I would like to express my earnest gratitude to my supervisors, Dr. Rudolf Seethaler and Dr. Ian Yellowley, who have supported me throughout my Master?s Studies with their valuable instructions, patience and knowledge whilst allowing me the space to work freely and independently. I attribute the level of my Master?s degree to their encouragement and effort and without their guidance this thesis would not have been completed or written. One simply could not wish for better or friendlier supervisors. I would like to thank my beloved family for their unwavering support and patience throughout my graduate study abroad. xxii Dedication To my parents. 1 Chapter 1: Introduction Computer Numerically Controlled (CNC) machine tools allow added flexibility, repeatability and productivity to be attained. The typical CNC machine tool structure is similar to but usually better constructed than conventional machine tools. Improvements in structural stiffness, alignment accuracy and thermal performance are necessary to allow the machine to adequately exploit the capabilities of computer control. Most such machine tools comprise two or more orthogonal axes and more complex machine tools will add rotational degrees of freedom to either table or spindle elements; this allows the production of more complex parts and indeed can also enhance productivity through a decrease in setups. The drive systems for the spindle and the axes are all controlled in a synchronized manner by the CNC system which may also deal with ancillary actions such as tool changing, measurement or work loading/unloading. This chapter provides some general background on the different types of machine tools and their drive components as well as an outline of the research objectives. 1.1 Machine Tool Types Typical examples of CNC machine tools include the various types of lathes shown in Figures (1.1) and (1.2) and machining center configurations, (designed for milling and hole making operations) shown in Figure (1.3). A center lathe is the most basic lathe suited for all purpose machining. It can be operated either manually or it can be numerically controlled to carry out a particular task. The size of this lathe is determined by the largest diameter, (swing), and length of the workpiece that can be machined. 2 Figure 1.1: Center lathe Turret lathes are used in production or job shops for mass production of specialized parts. A turret has an indexable toolholder which performs multiple cutting operations without installing or uninstalling cutting tools in between operations. The sequence of tool paths is usually controlled by a combination of sequential control and mechanical depth stops. Figure 1.2: Turret lathe (used with the permission from reference [1]) 3 Figure 1.3: Vertical Milling Center Other types of lathes include multiple spindle lathes and gang-tool lathes. Multiple spindle lathes have multiple spindles that are controlled automatically and provide automated transfer of parts between spindles; they are used only for mass production because of high setup times. Multiple spindle lathes can produce a wide variety of parts with high accuracy, low cycle time and with very little human intervention. Machining centers such as the one shown in Figure 1.3 can perform a variety of operations such as milling, drilling, boring, tapping and turning in a single setup. Most of these machines utilize a tool changer while part changing using pallet shuttles is also common practice. To provide more flexibility, these machines often use rotary tables and complex geometries are often accommodated by the addition of another rotary axis attached to the 4 tool. Recent advances in such machine tools include the use of probes to identify the position of specific features on the workpiece and simple devices to identify tool breakage, especially where smaller taps and drills are involved. In recent years, high speed machining has been adopted by many manufacturing industries due to the higher productivity and ability to produce complex assembly parts [2]. Generally, high speed machining involves cutting speeds of up to 1000 ]min[m , feedrates of up to 40 ]min[m and accelerations above 1 ][g . These requirements pose new challenges to the mechanical feed drive components and the axis control systems that are described in the next section. 1.2 CNC Drive Components The individual axis drives utilize a servomotor, an amplifier, a mechanical drive system, (usually a ballscrew, but rack and pinion drives are common on larger machines), and a position measuring sensor, (usually a ballscrew mounted encoder but linear transducers such as moir? fringe scales and inductosyns are also used). A typical example of the control loop for a CNC axis is shown in Figure 1.4. The computer based control system receives motion commands (typically lines and circles) from the CNC program. These are converted to axis reference commands by a trajectory generator. A position error signal is created by subtracting the measured actual position from the reference or programmed position. A command signal to the amplifier is created by passing the error signal through a suitable filter. Finally, the motor is driven by the amplifier. It should be noted that the loop closing frequency used by the computer will (typically) be at least one 5 order of magnitude higher than the bandwidth of the electromechanical system. Typical examples of axis components are shown in Figures (1.5) and (1.6). The lab system used in this thesis has similar high performance components and a general view of these is shown in Figure (1.7). CNC Program Trajectory GeneratorG-codesFilter Amplifier MotorFilter Amplifier MotorErrorErrorComputer+-+- Figure 1.4: CNC control loop Figure 1.5: DC brushed servo amplifier 6 Figure 1.6: DC brushed servomotor Figure 1.7: High speed X-Y table 1.3 Research Objective and Thesis Outline The accuracy of a particular machine tool is dependent on many factors such as the mechanical structure of the machine, the control software used to drive the axes of motion, and the part geometry and material properties of the part. The main goal of this research is to 7 provide a method to improve machining accuracy during corner tracking and circular interpolation. A number of algorithms have been suggested in the literature to address this goal; these algorithms are reviewed critically in Chapter 2. An experimental comparison of the different algorithms is presented in Chapter 3 which shows that some algorithms are better suited to reduce path error due to component saturation, and other algorithms are more successful in reducing linear dynamic controller error or axis mismatch. Chapter 4 suggests a simplified implementation of Cross Coupled Control (CCC), one of the most eminent algorithms for reducing linear dynamic control errors. Finally, Chapter 5 shows a new robust tracking control algorithm that reduces both linear dynamic control errors and path errors due to component saturation. 8 Chapter 2: Literature Review 2.1 Overview In the past decades a considerable amount of work has been directed towards the development of high-speed contouring algorithms. Generally there are two approaches used to reduce contour errors. The first approach involves manipulating the path velocity during a path preprocessing stage. This approach has been highly successful in robotic pick and place operations, where the robot dynamics are highly nonlinear, but well defined, and a preprocessor can provide time savings [3-8]. For machining operations, this approach has also been investigated extensively for machine tools. This work included feedrate optimization for different machining constraints [9, 10], more effective splining algorithms [11], tool axis orientation angle optimization to eliminate gouging and collisions [12-16], tool axis orientation smoothing [17], and time optimal toolpaths for non cartesian machine tools [22-26]. Even though considerable effort has been spent on path pre-processing algorithms, they have not been commercially successful. This is due to the fact that preprocessing requires an exact knowledge of the machine tool and workpiece parameters. Unfortunately, these are often difficult to attain and might even change with time. Thus, it is still standard practice today, that an operator manually adjusts the speed of the tool path in order to achieve a compromise between part accuracy and short production times. Often the part programmer too chooses conservative path velocities in order to guarantee good part accuracy. The second approach involves real time control of error where accurate models of axes drives and process may or may not be required depending on the approach taken. The development of faster computer hardware has increased the practicality and importance of this second 9 approach. The principal aim of this research is to develop improved algorithms for this second approach and to demonstrate their effectiveness. The remainder of this chapter describes the most important algorithms that have been suggested for this purpose to date. 2.2 Position Control Since the position controller has a significant impact on the accuracy of the produced part, a description of this system is provided first. There are three major elements in the loop which require closer attention, (see Figure 1.4 in chapter 1). The first is the drive motor itself, the second is the amplifier, and the third is the position control subsystem that provides input to the amplifier. It should also be noted that some systems are integrated, (mainly for commercial reasons). So one may for instance have control actions or filters bundled with an amplifier element, or indeed systems supplied with integrated amplifiers and motors. The following sections describe these components in detail. 2.2.1 Motor The drive motor has a supply voltage, )(U provided by the servo amplifier. Generator action within the motor leads to an opposing electromotive force (emf) which is proportional to the motor speed. The resulting current then generates a proportional torque and acceleration. The important parameters of the motor are thus Rotor Inertia, eJ , Armature Resistance, R , Torque constant, tK , and the back emf constant, which is numerically identical to the Torque constant. Note that armature inductance is neglected in most simple analyses since the electrical time constant is usually significantly less than the mechanical time constant. 10 The motor can be represented by the closed-loop block diagram shown in Figure 2.1. The input to the close-loop system is voltage, U and output is rotational speed, ? . The back emf which is fed back is proportional to the speed and to the motor constant, tK . +- Figure 2.1: Closed loop block diagram of a simple servo The closed-loop transfer function for the above block diagram is as follows, 2tetKsRJKU ??? (2. 1) Rearranging gives, 1?? sKU mm?? (2. 2) Where, Motor gain, tm KK1? (2. 3) Motor time constant,2tem KRJ?? (2. 4) 11 2.2.2 Velocity Loop Amplifier The motor is driven through an amplifier which typically contains a simple PD controller to regulate the motor velocity according to the reference velocity provided by the position controller. +- Figure 2.2: Block diagram of a velocity loop The closed-loop transfer function for the above block diagram is: TLmmmLrefactPPKsKP??? 1??? (2. 5) Where, LP and TP are amplifier loop gain and amplifier tachometer gain respectively. Rearranging yields, 1?? sKvvrefact??? (2. 6) Where, Velocity loop gain, TLmmLv PPKKPK ?? 1 (2. 7) Velocity loop time constant,TLmmv PPK?? 1?? (2. 8) By selecting suitable values of LP and TP , the velocity loop is tuned to provide the desired velocity loop gain and time constant: 12 vmmvL KKP ??? (2. 9) LvmvmLT PKKKKPP ?? (2. 10) 2.2.3 Lead-lag Position Controller The velocity loop amplifier is typically driven through lead lag filter operating on the error between reference position and actual position as shown in Figure 2.3. +- Figure 2.3: Block diagram of a position loop By selecting suitable filter parameters, the position loop turns into a second order system with undamped natural frequency, n? and damping ratio, ? : 2222 nnnrefactss ????????? (2. 11) Where the lead-lag controller parameters are selected as follows: vvnKK?? 2? (2. 12) va ?1? (2. 13) nb ??2? (2. 14) 13 Since the position control system represents a simple second order system, its bandwidth is limited by the natural frequency of the control loop. However, there are also other considerations that determine the accuracy of the position control system. These are outlined in the next section. 2.3 Machining Accuracy Having studied the components of a typical Machine tool, it is important to understand that there are many sources of machining error in a CNC machine tool. It is important to note that there is a distinct difference between axis error and contour error. Figure 2.4 shows a solid reference path and a dashed actual path. The difference between reference position Pref and actual position Pact defines the axis errors Ex and Ey. The contour error, ?, on the other hand is the shortest distance between the actual position and the reference path. It is often observed that the contour error is much smaller than the axis error. Figure 2.4: Contour error, ? and axis errors, Ex and Ey Y Ey Pact Pref Ex ? X 14 All parts are designed to be accurate within a particular tolerance. If the machine tool is not able to provide this tolerance, then the part is rendered useless. The sources for these errors can be due either to the mechanical structure of the machine or to the performance limitations of the machine?s control system. Starting with the mechanical components of the machine one has to deal with errors due to both the mechanical alignment of the axis ways and to thermal deflections caused by heat loss from motors, from guideways, and indeed from the process itself. The process also generates forces that cause deflections in the structure and tool; in some cases these may cause the process to be disrupted by forced vibration or by chatter vibrations which lead to unacceptable finish on the part. Finally of course any clearances in bearing elements or drive systems exert an influence on accuracy. The mechanical sources of error can be largely dealt with by improvements in structural stiffness, by improved assembly techniques, by careful ongoing maintenance and improvements in thermal design. Such improvements in machine tool accuracy do inevitably cause the cost of machine tools to rise and recently much effort has been applied to using the control system to compensate for some of the more common errors. The limitations of the motors used to drive the separate axes provide a second source for errors. Since the magnetic materials used in the drive motors saturate when the driving currents get too high, the servo motors are torque limited: satpeaktpeak IKT .? (2. 15) A limited torque leads to a limited acceleration: epeakpeak JT???? (2. 16) 15 Consequently, the reference path should not contain accelerations larger than the maximum allowable acceleration. This however requires that velocity around a corner is very low. The magnetic saturation limit is usually only encountered during short transients typically for cornering operations. The RMS current, IRMS, is related to the thermal loading of the motor and needs to be kept at a level that ensures that the motor does not overheat: RMStRMS IKT ? (2.17) Motor overheating is usually only encountered during extended periods of acceleration or large motor torques due to process disturbances such as excessive cutting forces. Due to the back emf voltage, the maximum speed of a drive motor is limited by the available supply voltage: tKU maxmax ??? (2. 18) This leads to the conclusion that the reference trajectory cannot contain velocities larger than the maximum allowable velocity. Another possible source of error is due interpolation. This phenomenon is usually not encountered in linear moves but in second or higher order curves when the splines used to approximate the trajectory between set points do not represent the desired shape accurately enough. Finally, the control loop itself can be responsible for path error. For a typical second order position control system, there is a time lag between actual and reference position. For frequencies well below the natural frequency of the position loop, this time lag is a constant value: 16 n??? 2? (2. 19) In order to have low path error, the actual axis positions can lag behind their respective reference position by the same amount of time. However, if the axes are not exactly tuned to the same natural frequency and damping ratio, then the axes lag different amounts of time behind their respective reference positions and considerable path error can be observed. This phenomenon is termed axis mismatch. Once the frequency components of the reference trajectory get close to the natural frequency, then the time lag between the actual and the reference position is not constant and the magnitude of the actual path is smaller than the reference path. This error is observed during circular interpolation where the actual circle is smaller than the reference circle, if the path velocity is too high. We will term this type of error linear dynamic control error in the remainder of this thesis. Having seen the sources of machining inaccuracies, we can study the algorithms that have been suggested to combat some of these errors in real time. 2.4 Zero Phase Error Tracking Control (ZPETC) Tomizuka [27] presented one of the first algorithms to minimize path error. He suggested reducing the phase lag between commanded and actual position of the individual axis to zero by adding a prefilter in front of the conventional control loop that would essentially cancel the control loop dynamics. A brief derivation of this technique is shown below. The closed loop transfer function of the traditional position control system can be written in terms of output and input, 17 )()()()(zAzBkrky ? (2. 20) Where, )(ky is the actual output and )(kr is the reference input to the traditional servo loop. By adding a feedforward prefilter )(zF , in front of the reference input, the overall transfer function is changed to: )()()()()(zAzBzFkykyd? (2. 21) Where, )(kyd is desired output. The purpose of this feed forward controller is to minimize the difference between )(ky and)(kyd . If the feed forward is designed as the inverse of the )(zG and the )(zG has stable poles and zeros, then the transfer function relating output and input becomes unity. This means the system is exactly tracking the desired position. However, this only works, if the system has stable zeros inside the unit circle. Otherwise, the unstable zeros will create unstable poles in the feed forward prefilter, which will ultimately lead to an unstable overall response. Therefore, the unstable zeros need to be removed from the feedforward controller. For this purpose, the numerator in the transfer function is separated into two factors i.e stable and unstable zeros )()()( 111 ??? ? zBzBzB ucscc (2. 22) It is then proposed that the feed forward controller take on the following form: )1()()()( 11ucsc BzBzAzF ??? (2. 23) Where )1(ucB in is used to scale the steady state gain of tracking controller. 18 As a result the entire transfer function can be written as )1()()()( 1ucucd BzBkyky ?? (2. 24) The phase difference of the transfer function between the actual path and the desired path is zero because the transfer function results in the multiplication of two conjugate complex numbers. This means the output is tracking the input with no delay, the gain in the steady state is unity and the error in the steady state is zero. When the closed loop transfer function has a zero on the left half of the plane, the gain increases. That means ZPETC can have error in the higher frequency range instead of making the phase difference zero. Thus, ZPETC can work well in the low frequency range but it requires an accurate system model and cannot track corners. To solve this problem Weck [28] suggested to filter out high frequency component from the reference trajectory. Here a low pass filter is put in front of the ZPETC which solves the problem of amplifier saturation and shows better performance in corner tracking. 2.5 Cross-Coupled Control (CCC) A different approach to achieve more precision in manufacturing systems has been introduced by Koren [29, 30]. The idea of this approach is, instead of simply reducing individual axis error, one needs to focus on the minimization of the net contouring error with respect to the reference trajectory. The resulting cross-coupled approach is described in the following section. Consider a linear contour at an angle ? with the X-axis as shown in Figure 2.4. The reference position, P and the corresponding actual position P* results in axis errors xE and yE in the X 19 and Y directions respectively. The contour error, ? can be expressed in terms of these axial errors as follows ??? cossin yx EE ??? (2. 25) YX? ? PP* Figure 2.5: Linear error model with contour error, ? If V is the required feedrate along the desired path then xV and yV are the feedrate components along the X and Y axes. From Figure 2.4 one can derive that VVy??sinand VVx??cos (2. 26) Therefore, the contour error becomes VVEVVE xyyx ???? (2. 27) Figure 2.5 shows the general block diagram for a cross-coupled controller. The axial errors xE and yE are multiplied by xC and yC then contour error ? is determined. So from Figure 2.5 it can be written that yyxx CECE ???? (2. 28) Comparing equation (2.26) with equation (2.27) cross-coupling gains are found as 20 VVC yx ?and VVC xy ? (2. 29) The contour error, ? is injected into a PID controller and the output of PID controller is decomposed into two components and again multiplied by xC and yC and then added to the loop. X- axis ControllerCxY-axis ControllerCyW(z)CxCy-+-+++ExEyCross-coupling ControllerUxUy? X-axisPlantY-axisPlant+--+ Figure 2.6: Cross-coupled controller The PID parameters are used to tune how rapidly the cross coupled controller reduces path error. Due to interaction between the axis controllers and the cross coupled PID controller, path error reduction cannot be faster than the bandwidth of the axis controllers. 21 The gains xC and yC depend on the type of reference trajectory. For a linear segment xC and yC values are predetermined and defined by equation 2.28. For non-linear trajectories such as a circle the gain values are adjusted continuously. The gain values for a circle are calculated from Figure 2.6 and can be written as ? Reference Position, PActual Position, P*Tangent at PXYR (radius of curvature)? Figure 2.7: Circular error model with contour error, ? REC xx 2sin ?? ?and REC yy 2cos ?? ? (2. 30) Where, R is the radius of the circle. Since CCC is much more robust than ZPETC and does not require an exact process model, it has been studied widely in the literature. An approximated stability analysis of the cross-coupling controller is presented in [31]. A variation of CCC is proposed in [32] where a modular CCC structure allows for an easier integration with existing position controllers. In [33], CCC and friction compensation modules with different objectives are added and 22 applied to a machining system simultaneously. Syh-Shiuh Yeh and Pau-Lo Hsu [34] broadened CCC from biaxial to multi-axis systems with arbitrary contours. Tarng [35] presented an intelligent cross coupled contour controller where the contour controller is non-linear and multivariable. However, the selection of the controller parameters is difficult and requires a genetic algorithm to optimize the parameters. Finally, it should be pointed out, that cross coupling can only compensate for linear controller errors, but not for motor saturation, since this would require real-time modulation of path velocity. This is the topic of the following section. 2.6 Feedrate Modulation (FM) Both ZPETC and CCC assume a linear control system with physically feasible reference paths. However, many tool paths are comprised of line segments and circles that are linked with sharp corners. In such a case, there are infinite accelerations at the corner points that lead to large path errors. To avoid this type of error, CNC machines use a trapezoidal velocity profile for motion segments. Another common disturbance is cutting forces. When these forces become too large they can lead to path errors or even broken tools. In order to reduce errors of this kind, one needs to reduce the path velocity which is commonly referred to as the federate. The first realtime algorithm that modulated federate in order to reduce path error was described by Seethaler and Yellowley [36]. Their algorithm takes advantage of a specialized hardware architecture [37] that allows for very efficient synchronized feed regulation across many axes of motion. This architecture is shown in Figure 2.7. 23 Master X-axis Y-axis?X, ?YBack Plane BUS at 1/?T HzFront Plane BUS at 1/?t HzSync LineStateline?X ?Y Figure 2.8: Feedrate modulation architecture The architecture employs a two stage position interpolation scheme. The first stage interpolation is usually performed ahead of time and often on a high level processor depicted as the Master in Figure 2.7. The Master Controller sends master position increments, ?X, and ?Y, over the backplane bus to the slave axis controllers at the master sampling rate, 1/?T. The second stage interpolation process splines the coarse increment provided by the first stage process and provides higher frequency second stage increments ?x, and ?y. The second stage is carried out in real time (to minimize memory requirements), and performed by a lower level axis processor. Fairly obviously the first and the second stage interpolation frequencies will be important parameters for controlling the error. There are several ways to perform the splining of first stage increments, in the work reported in this thesis a parabolic interpolation scheme is employed [38]. To ensure that there is synchronization between the slave axes, all slave controllers are time synchronized at the slave sampling period ?t through a sync line on the front plane bus. Whenever there is a rising edge on the sync line, the slave controllers close their respective position loop. 24 The second signal line on the front plane bus is a stateline that provides a mechanism to modulate velocity based on the state of each axis. If the state of each axis in terms of error, (or other parameters), is acceptable then each individual axis will drive the stateline high and the next increment of motion will be actuated. Should any axis not deem itself to be in a healthy state then it will not drive the line and the next increment of motion will not be actuated. Should the stateline be low 50% of the time then the velocity achieved will be half that programmed. Within the control system an error checking criteria is used at each axis to drive the state line and hence modulate the velocity. The stateline itself is ?open-collector ??; hence any axis can pull the stateline down when actual error exceeds allowable and vice versa. In the simplest type of algorithm the allowable error is assumed proportional to the axis velocity and it is defined as follows: staticallowable Ve ?? ?? (2. 31) Where static? allows friction induced error and a reasonable acceleration, and n??? 2? is the expected time lag between reference and actual position. A flowchart of this algorithm is shown in Figure 2.8. 25 Position splineVelocity splineX-axiscontroller? ANDVdesiredVdesired?X ?x?Y ?y++?static++?staticeactualeactualeallowableeallowableInterpolatorInterpolatorStateline Figure 2.9: Flowchart of original FM algorithm The position spline allows discontinuities in velocity and large infeasible accelerations. The velocity used to check error levels is calculated from a velocity spline rather than directly from the derivative of the position spline. The expected velocity between two master samples is presumed to go between the averages of two velocities of the corresponding master sampling times. The velocity spline is thus linear and is shown in Figure 2.9. 26 Velocity SplineTimeVelocity Figure 2.10: Velocity spline The FM algorithm using a velocity spine to calculate allowable errors serves two purposes. First, the velocity spline filter starts to reduce the allowable error one master sample before a corner is reached. In fact, the length of master sample time determines how much look-ahead is provided for gradually reducing the velocity around corners. Thus, this algorithm can reduce the infinite accelerations encountered around sharp corners to levels achievable with the respective hardware without relying on extensive preprocessing of the reference path. The second purpose of this strategy is to provide a failsafe algorithm in case unknown disturbances such as weight of the workpiece or larger than expected cutting forces are encountered. In such a case, the axis errors would increase, and the FM algorithm would decrease the velocity automatically. It should be pointed out however, that the FM algorithm assumes matched slave axes (all axes have the same controller natural frequency, damping ratio, and therefore also the same lag between reference and actual position). Unlike the CCC algorithm, it cannot provide reference path offset positions that will compensate for path errors due to axis mismatch, or linear controller errors. 27 2.7 Advanced Feedrate Modulation Algorithms The FM algorithm presented in section 2.6 is designed to minimize path error in real time. However, it can neither increase the programmed velocity nor reverse along the path of motion. The first deficiency can be overcome by programming a higher feed than required. However, this can lead to coarse first stage motion increments which have the potential of larger second stage interpolation errors. The second deficiency cannot be solved when only a single state line is available. Therefor the AFM algorithm was developed by Yang and Yellowley [39] to both speed up and move backwards along the path of motion. In this case, one needs to decide how many increments one would like to move forwards or backwards. The algorithm to make this decision is similar to the FM algorithm presented in section 2.6. Oldknow and Yellowley [40, 41] added a 3D dynamic interpolation method to FM. This approach aims to compensate for dynamic controller errors, saturation, and tool offsets due to tool deflection or tool wear. 2.8 Summary Machining accuracy is dependent both on the mechanical structure and the control system used to drive the machine. If all machining process parameters are fully known, it is theoretically possible to create a reference path that will achieve the desired path accuracy in minimum time. However, since process and machining parameters are often not known exactly, realtime path error minimization algorithms are extremely useful. Although many of these algorithms have been available in the literature for many years, they have not been implemented widely in commercial machine tools. Chapter 3 will test the most popular 28 algorithms on an experimental x-y table and indicate why these algorithms only have limited usefulness for commercial machine tools. 29 Chapter 3: Experimental Comparisons of Existing Algorithms This thesis focuses on the use of real time error control algorithms to improve the contouring performance of machine tools with multiple axes. Chapter 2 introduced the most popular algorithms described in the literature for the purpose of improving contouring performance. This chapter compares the performance of these algorithms using contours which are specifically designed to test each of the approaches in extreme circumstances. A square shape, with sides at forty five degrees to the axes, is used to show the effect of motor saturation during the corners and the effect of axis mismatch during the straight segments of the square. A circle is used to demonstrate linear controller errors as well as axis mismatch. 3.1 Experimental Testbed A high speed x-y table was used to conduct the contouring experiments. This table consists of two orthogonal axes that are driven by high performance Brushed DC servo motors through low friction ball screws that have a pitch of ?? per revolution. The motors are equipped with tachometers for velocity feedback and 1000 line encoders for position feedback. The motors are driven by Copley 311 PWM amplifiers that operate in velocity mode. The position controllers, which generate reference positions, read encoder feedback and generate the reference velocities for the amplifiers through digital leadlag filters, are implemented on a dSpace 1104 DSP that is programmed in Simulink using the Realtime workshop toolbox for code generation. Table 3.1 lists the relevant parameters of the testbed. The position controller is set to a natural frequency of 30 Hz and a damping ration of 1 for both axes. The master sample update time is chosen at 8 ms and the slave sample update time is set to 0.125 ms. This provides a ratio of 64 slave samples per master sample when the feedrate is kept at 30 100%. For corner tracking with the FM algorithm, this allows for 8ms of lookahead before the corner. The maximum speed of each axis drive is 1.28 m/s and the maximum acceleration is approximately 10 m/s2. The desired tolerance for this system is 50 ?m. Table 3.1: Testbed parameters Parameters X-axis Y-axis Moving mass: ][, kgmm yx 68.58 15.9 Ballscrew inertia: ][, 2,, mkgJJ ysxs 1.95e-4 1.25e-4 Ballscrew pitch: ][, revmpp yx 6.35e-3 6.35e-3 Motor inertia: ][ 2mkgJ m 1.77e-4 1.77e-4 Motor Resistance: ][?R 4.5 4.5 Motor Constant: ][, ANmKK tt 0.463 0.463 Maximum Motor Current: ][, max,max, AII yx 9.43 6.79 Maximum Motor Torque: ][, max,max, NmTT yx 4.37 3.14 Maximum Motor Voltage: ][, max,max, VUU yx 110 110 Maximum Motor Speed: ][, max,max, RPMnn yx 2267 2271 Maximum Table Velocity: ][, max,max, smvv yx 1.28 1.28 Maximum Table Acceleration: ][, 2max,max, smaa yx 10 10 Velocity loop Gain: vyvx KK , 100 100 Velocity loop time constant: ][, ,, msyvxv ?? 0.0063 0.0045 31 Position loop Natural Frequency: ]sec[, ,, radynxn ?? 30 30 Position loop damping ratio: yx ?? , 1 1 Master sample update time: ][, msTT yx ?? 8 8 Master sample update time: ][, mstt yx ?? 0.125 0.125 Time lag for FM: ][, msyx ?? 0.0113 0.0113 Static error for FM: ][, ,, mystatxstat ??? 50 50 Desired tolerance: ][, mtoltol yx ? 50 50 3.2 Corner Tracking A square profile with edges at 45 degrees to each axis has been used to compare algorithms. There are two distinct portions of this trajectory that will lead to different types of error. At the beginning and end of every line segment, accelerations can be very high and lead to current saturation of the amplifiers. This would lead to an overshoot around the corners. At the same time, the frequency component at the corners is very high and can lead to undershoots. These two effects counteract each other and the traversed velocity determines which of these effects is dominant. Path errors due to current saturation can be reduced by FM. During the constant velocity portions of the line segments, mismatching of axes or velocity saturation can lead to errors. Axis mismatch can be addressed by tuning the servo controller or by using ZPETC or CCC. Effects of velocity saturation can be reduced by FM. 32 Interpolation errors should not be a factor for this set of experiments, since the parabolic position spline can represent the desired position perfectly. The reference square used in the tests described has a dimension of 16 mm across each diagonal and the path is traversed at 140 mm/s. This leads to current saturation in the corners but no velocity saturation during the straight parts of the trajectory. Two types of experiments were conducted; one with matched axes and the other with mismatched axes. 3.2.1 Simple Servo The high performance x-y table shown in Figure 1.7 was used for the experiments. It consists of a controller, PWM amplifiers and high performance brushed permanent magnet d.c servomotors. Details of the setup are listed in table 3.1. Matched Axes The x-axis of the x-y table has considerably more inertia than the y-axis. In order to achieve matching of the axes, the position controller parameters were adjusted so that the two position loops would have approximately identical natural frequencies and damping ratios. Theoretically, this should lead to zero path error during a constant velocity motion. A plot of time vs position is depicted in Figure 3.1. This figure indicates that the axes have close to equal time lags. This leads to a correspondingly small path error during the straight line segments. At the corners, significant overshoot is visible for the reversing axis, since the reference acceleration is higher than that achievable. This, in turn, leads to considerable path error at the corners. Figure 3.1 also shows that the time required traversing the square shape at the programmed velocity is 0.34 sec. A plot of x vs y positions for the matched simple 33 servo experiment is shown in Figure 3.2. The enlarged view confirms that the steady state path error prior to the corner is quite small, but not zero, due to imperfect axis matching. The corner itself shows path errors of more than 1100 ?m. Figure 3.1: Positions of simple servo during square shape contour with matched axes 34 Figure 3.2: Enlargement of simple servo response for square shape contour with matched axes Mismatched Axes To show the effect of mismatched axes, the controller natural frequency of the x axis was set to 3/4 of the controller natural frequency of the y axis. The resulting position curves in Figure 3.3 show that the same amount of time (0.34 sec) is required to traverse the square shape. As expected, the time lag for the x axis is larger than that for the y axis. The actual path of the mismatched servo system shown in Figure 3.4 has much larger steady state path errors of 300 ?m then the matched servo system shown in Figure 3.2. The maximum error around the corner is close to 600 ?m. 35 Figure 3.3: Positions of simple servo during square shape contour with mismatched axes 36 Figure 3.4: Enlargement of simple servo response for square shape contour with mismatched axes 3.2.2 Feedrate Modulation The FM algorithm is known to be able to reduce the accelerations around the corners of the square shape. This reduces the path errors at the corners, but leads to an increased time to traverse the contour. Matched Axes This experiment was conducted with the same servo controller parameter as the simple servo system with matched axes. The value for staticwas set to 50 ?m which corresponds to the 37 desired tolerance of the test setup. Time responses and path for this experiment are shown in Figures 3.5 and 3.6 respectively. The FM algorithm requires more time to go around the corner than the simple servo system (traverse time for the square is now 0.46 sec, compared to 0.34 seconds for the simple servo). However, the path error is reduced during the sharp corners. While the error around the corner for the simple servo was 1100 ?m, the FM algorithm reduced the error to 55 ?m. This is achieved without any preprocessing of the input geometry and thus provides a robust approach to contouring that will also deal with problems caused by faults or degradation of system components. Figure 3.5: Positions of feedrate modulation during square shape contour with matched axes 38 Figure 3.6: Enlargement of feedrate modulation response for square shape contour with matched axes Mismatched Axes When FM is applied to a system where the controller natural frequency of the x axis is only 3/4 of the controller natural frequency of the y axis, the responses in Figures 3.7 and 3.8 are obtained. It takes almost the same time to traverse the contour with mismatched (0.48 sec) and matched axes (0.46 sec). The maximum error at the corner is close to 70 ?m. However, the steady state path error is not reduced by the feedrate modulation system and is measured at approximately 300 ?m. 39 Figure 3.7: Positions of feedrate modulation during square shape contour with mismatched axes 40 Figure 3.8: Enlargement of feedrate modulation response for square shape contour with mismatched axes 3.2.3 Cross-Coupled Control (CCC) CCC is not able to adjust the path velocity, but it adds position offsets in order to reduce path errors caused by axis mismatch or linear dynamic control errors. For the square shape investigated here, it should be able to reduce steady state path error, but not the cornering error. Matched Axes This experiment was conducted with the same servo controller parameter as the simple servo system with matched axes. A cross coupled control algorithm was added and the responses are shown in Figures 3.9 and 3.10. 41 The traverse time is the same as for the simple servo (0.34 sec), since the feedrate was not modulated. The cross-coupled controller works better for the lines than corners. Figure 3.10 shows that the error along the path before the corner approaches approximately 8 ?m, but during the corner, the error increases to approximately 1500 ?m and it takes considerable time to recover from this error. Figure 3.9: Positions of cross-coupled control during square shape contour with matched axes 42 Figure 3.10: Enlargement of cross-coupled control response for square shape contour with matched axes Mismatched Axes When CCC is applied to a system where the controller natural frequency of the x axis is only 3/4 of the controller natural frequency of the y axis, the responses in Figures 3.11 and 3.12 are obtained. The steady state error before the corner is reduced close to zero, which indicates that the CCC algorithm successfully compensates for axis mismatch during straight line moves. However, at the corner there still is a 1500 ?m error since the CCC algorithm cannot reduce the feedrate. 43 Figure 3.11: Positions of cross-coupled control during square shape contour with mismatched axes 44 Figure 3.12: Enlargement of cross-coupled control response for square shape contour with mismatched axes 3.2.4 Zero Phase Error Tracking Control (ZPETC) The zero phase error tracking control (ZPETC) algorithm minimizes the path error by attempting to create zero phase lag between commanded and actual position of individual axis. This is achieved by inserting a prefilter in front of the traditional servo control loop. In the absence of zeros and lag elements in the servo control loop, this filter essentially reduces to an inverted transfer function of the servo controller. In our experimental testbed, with a second order transfer function defined by equation 2.11, the ZPETC prefilter is simply defined as: 45 12)( 22???nnsszF ??? (3. 1) In this case, the ZPETC represents a system with velocity and acceleration feedforward. Matched Axes This experiment was conducted with the same servo controller parameter as the simple servo system with matched axes. A ZPETC was added and the responses are shown in Figures 3.13 and 3.14. The traverse time is the same as the one obtained with the simple servo (0.34 sec), since the feedrate was not modulated. Figure 3.13 shows that the time lag between reference and actual position is substantially reduced compared to the simple servo system. However, corner tracking is still poor, since the prefilter creates accelerations that are not physically feasible. The path response for ZPETC is shown in Figure 3.14. Along the straight line segments, a small error of approximately 25 ?m is recorded. This is within the tolerance limit but much larger than for CCC; this error is due to a mismatch between the prefilter and the actual system. If there were any additional unmodelled disturbances such as cutting forces, this error would increase further. Around the corner, a large path error of 1300 ?m is observed as a result of the required accelerations being too high. 46 Figure 3.13: Positions of ZPETC during square shape contour with matched axes 47 Figure 3.14: Enlargement of ZPETC response for square shape contour with matched axes Mismatched Axes When ZPETC is applied to a system where the controller natural frequency of the x axis is only 3/4 of the controller natural frequency of the y axis, the responses in Figures 3.15 and 3.16 are obtained. Again, the traverse time is the same as for the simple servo system, since the feedrate was not altered. However, the steady state error along the straight line segments is only 55 ?m. This is more than for the matched axes. This indicates that the match between the prefilter and the actual servo loop was less accurate than for the matched system. Again, this value is much larger than for CCC, since CCC is not dependent on an accurate system model. Finally, the 48 overshoot of 1500 ?m is due to the fact that the reference values of acceleration around this corner are physically infeasible and would require a reduction in feedrate to achieve the desired tolerance. Figure 3.15: Positions of ZPETC during square shape contour with mismatched axes 49 Figure 3.16: Enlargement of ZPETC response for square shape contour with mismatched axes 3.3 Circular Interpolation The previous sections discussed the contouring performance for square shape contours. This section discusses the performance for circular contours. Circular interpolation is clearly related to the frequency response of the control system since the desired circle is comprised of a cossin/ combination on two orthogonal axes: )sin( trx dd ?? (3. 2) )cos( try dd ?? (3. 3) Where dr is the desired contour radius and ? is the angular velocity of the contour. 50 There are different reasons for the errors which might occur during circular interpolation. The first type of error is due to linear dynamic controller errors. A transfer function for the axis loop can be approximated by an equivalent quadratic lag as follows, dnnnrrsssG ???? 2222)( ???? (3. 4) Where, r is the actual radius. The radial error can be written as tolerancejGrjGrrrre dddd ??????? ))(1()( ?? (3. 5) So the maximum radius to provide a desired tolerance is given by )(1 ?jGtolerancerlinear ?? (3. 6) The second type of error occurs due to the velocity limit of the servomotor. If the velocity of either axis is over the maximum allowable velocity then the servo saturates. For circular interpolation, this can be expressed in the form: ?maxvrvelocity ? (3. 7) The third type of error is introduced by the interpolation process. When there are only a few master samples in the circle, then the interpolated slave positions can be quite far from the desired arc. The following Figure 3.17 explains this for a linear slave interpolator, Figure 3.17: Circular interpolation error geometry 51 The above figure indicates that ?cosdrh ? (3. 8) And ?? 2??T (3. 9) Where T? is the master sampling time. The resulting error is, tolerancerrrhre dddd ??????? )cos1(cos ?? (3. 10) Thus, the following equation for limiting the circle radius to maintain the desired tolerance is obtained: )2cos(1int Ttolerancer erpolation ??? ? (3. 11) The final type of error arises from current saturation of the amplifier. Here the following relationship is obtained for circular interpolation: 2max?ar onaccelerati ? (3. 12) It is interesting to compare the allowable values of radius versus frequency for a typical tolerance as shown in Figure 3.18 below. 52 Figure 3.18: Maximum radius vs maximum angular frequency for a tolerance 50?m This plot provides a guide to the constraints which are likely to be dominant in each operating range. For the system under consideration with a master sampling time of 8 msec, maximum acceleration 1 g and ?=1 the linear transfer function error is the dominant curve for angular velocities larger than about 10 rad/s. At angular frequencies of less than 10 rad/s, and radii larger than 20000 ?m velocity saturation takes place. If one were to select an operating point at 25 rad/s and 7000 ?m, then both velocity saturation and linear error is encountered. Interpolation error is only likely at very high frequencies and low radii. The maximum acceleration limit will not likely be encountered during circular interpolation. For the experiments in this study, the radius of the circle was selected as 3.1 mm, and the nominal feedrate was set to 100 mm/s. This is an operating point with linear dynamic 53 controller errors only. The remaining system parameters are listed in Table 3.1. Two separate sets of experiments were conducted: one set for matched axes and one set for mismatched axes. In both sets of experiments, simple servo control, ZPETC, CCC, and FM were evaluated. Matched Axes For matched axes, the time lag for the simple servo between desired and actual position will be the same, but since the magnitude of the actual position response is reduced due to the relatively high angular frequency, it is expected that the actual circle will have a smaller radius than the desired circle. Figure 3.19 shows a plot of position vs time. The simple servo controller, ZPETC and CCC all require about 0.23 sec to traverse the circle, while the FM strategy takes 0.30 sec, since it decreases the feedrate at the zero crossings and provides slightly smaller path errors. Figure 3.20 shows a plot of x vs y positions of the table during the circular interpolation experiments with matched axes. The error responses are shown in Figure 3.21. The simple servo has a maximum path error of 140 ?m during the entry transition to the circle and path errors smaller than 70 ?m during the remainder of the circle. The FM algorithm reduces the path error to 108 ?m in the entry transient. During the remaining circle the maximum path error of 70 ?m is essentially equivalent to the one obtained with the simple servo system. 54 The CCC implementation provides path errors less than 30 ?m. Thus, CCC is the only algorithm that provides path errors smaller than the tolerance limit for the entire circular path. ZPETC follows the path quite well. Although an error of 134 ?m is measured at the entry transient, most of the path has errors smaller than the tolerance limit. Figure 3.19: Positions of (a) Simple Servo, (b) Feedrate Modulation, (c) Cross-coupled Control and (d) Zero Phase Error Tracking Control during circular interpolation (Linear Dynamic Error) with matched axes 55 Figure 3.20: Path of (a) Simple Servo, (b) Feedrate Modulation, (c) Cross-coupled Control and (d) Zero Phase Error Tracking Control for circular interpolation (Linear Dynamic Error) with matched axes 56 Figure 3.21: Error response of (a) Simple Servo, (b) Feedrate Modulation, (c) Cross-coupled Control and (d) Zero Phase Error Tracking Control for circular interpolation (Linear Dynamic Error) with matched axes Mismatched Axes For mismatched axes the time lag between the desired and the actual position will be different for the two axes. This will lead to axis mismatching errors, in addition to the linear dynamic controller errors. The actual shape should be smaller and noncircular for the simple servo system. Figure 3.22 shows position vs time for the different algorithms. The CCC, ZPETC, and the simple servo complete the trajectory in 0.23 sec. FM reduces the feed during zero crossings and extends the time to traverse the circle to 0.34 sec. 57 Figure 3.22: Positions of (a) Simple Servo, (b) Feedrate Modulation, (c) Cross-coupled Control and (d) Zero Phase Error Tracking Control during circular interpolation (Linear Dynamic Error) with mismatched axes Figure 3.23 shows x vs y positions of the table during the mismatched circular interpolation experiments. The noncircular shape due to axis mismatching is clearly evident on this figure. Maximum path errors for the simple servo controller, FM, CCC and ZPETC are recorded at 360 ?m, 270 ?m, 80 ?m, 165 ?m respectively. Only circular CCC produces a contour with errors close to the specified tolerance. 58 Figure 3.23: Path of (a) Simple Servo, (b) Feedrate Modulation, (c) Cross-coupled Control and (d) Zero Phase Error Tracking Control for circular interpolation (Linear Dynamic Error) with mismatched axes 59 Figure 3.24: Error response of (a) Simple Servo, (b) Feedrate Modulation, (c) Cross-coupled Control and (d) Zero Phase Error Tracking Control for circular interpolation (Linear Dynamic Error) with mismatched axes 3.4 Summary The performance of three widely studied realtime path error control algorithms were studied in this Chapter using a custom built high performance x-y table. For ZPTEC, the requirement to have a very exact model of the machine tool renders the algorithm difficult to implement in practice. CCC requires adaptive gains for trajectories other than simple lines; this makes the algorithm cumbersome (a new CCC algorithm that avoids this necessity will be presented in Chapter 4). In addition neither ZPETC nor CCC can 60 avoid motor saturation when the reference path contains excessive accelerations typical for axis reversals. Finally, FM is able to reduce motor saturation commonly found at the transition between line segments, but it cannot sufficiently reduce linear control system errors and axis mismatch. Given that both CCC and FM have advantages for particular errors, Chapter 5 will also show how to combine the two in order to harvest the combined benefits of both algorithms. 61 Chapter 4: Linearized Cross-Coupled Controller (LCCC) Cross-Coupled Control (CCC) was first introduced by Koren [29, 30] to minimize the contour error while allowing individual axis error. Unfortunately, the gains in this controller are a function of the trajectory type that is being followed. At a minimum, one requires reference velocity and instantaneous radius of curvature in addition to the conventional reference position. This is inconvenient, since that information is not usually present at the axis controller. This chapter describes a new linearized cross-coupled control algorithm that does not require a priori knowledge of the trajectory shape. 4.1 Derivation For a linear contour the error between the actual position P* and the desired path is denoted as ? in Figure 4.1. For a linear contour this error is defined by equation 2.26: VVEVVECECE xyyxyyxx ??????? (2. 26) Where xE and yE are the axis errors at point P, and xV and yV are the reference velocities at point P. For the circular contour, shown in Figure 4.1, the error ? connects the actual position P* with the tangent line to the circle at point P. Thus, when equation 2.26 is used to compensate path error of a circle, the resulting circle will invariably be too large. 62 YX? ? Actual Position, P*Reference Position, P Figure 4.1: Linear error model with contour error, ? To address this problem, separate error equations and CCC gains have been proposed for curved paths: ?????? ???????? ?????? rEVVErEVVECECE yxyxyxyyxx 22? (4. 1) However, this equation requires not only reference velocities, xV and yV , but also the radius of curvature, r . These values are usually not available at the axis control system, which makes implementing this algorithm difficult. In the new LCCC algorithm, a delayed reference position P? is defined at the minimum distance between reference and actual path (see Figure 4.2). At that point, the path error is approximately equal to the axis error and equations 2.26 can be applied without requiring the radius of curvature: '''''''''' VVEVVECECE xyyxyyxx ??????? (4. 2) 63 Where 'xE and 'yE are defined as the delayed errors: *'' xxx PPE ?? and *'', yyy PPE ?? (4. 3) And 'xV , 'yV and 'V are velocities measured either at P? or P*. The delayed cross coupled gains are also defined in the same delayed reference frame ''' VVC yx ?and''' VVC xy ? (4. 4) Reference Position, PActual Position, P*Delayed Reference Position, P?Ey?Ex?XY Figure 4.2: Axial error for delayed reference path To implement this algorithm, we first need to locate the delayed reference position P?, which is delayed by ? seconds from the actual reference position P. Below the natural frequency of the control system, the time delay between the actual path and the reference path can be approximated by 64 n??? 2? (4. 5) Thus, in the discrete time domain, the delayed reference path can be defined as trefrefrefref nzYYXX ???? ??2'' (4. 6) Similarly, the delayed velocities are defined by the following transfer functions: (4. 7) Figure 4.3 shows a block diagram of the linearized cross coupled controller. The delayed reference positions, 'X and 'Y , are obtained with an integer delay function using equation 4.5. The delayed velocities, 'xV and 'yV are obtained using the discrete transfer function in equation 4.6. Finally, the cross coupling gains, xC and yC are obtained from equation 4.4. The remainder of the algorithm follows the original cross coupled architecture described by Koren [29]. ? ?? ? ? ? 21221222222212''????????????????? zzttttzsssYVXVnnnnnnnrefyrefx?????????? 65 +-+----+++Y-axis controllerX-axis controller+-++UxUyX-axis PlantY-axis PlantXXXX Figure 4.3: Linearized cross-coupled control (LCCC) algorithm 4.2 Experimental Validation To validate the performance of the LCCC algorithm, both linear and circular interpolation experiments were carried out. For both of these experiments matched and mismatched axis controllers were tested. 4.2.1 Corner Tracking A square shape with edges at 45 degrees to each axis is chosen to compare the performance of CCC to LCCC for both matched and mismatched axis controllers. The reference diamond 66 has a dimension of 16 cm across each diagonal and the path is traversed at 14.14 cm/s. This leads to current saturation in the corners and no velocity saturation during the straight parts of the trajectory. Results from both of these setups are discussed below. Matched Axes Firstly, a matched axes experiment was performed using the experimental testbed with its parameters listed in table 3.1. To see the operation time and the corresponding positions, a time vs position graph is plotted in Figure 4.4. This Figure shows that both CCC and LCCC take 0.34 sec to traverse the profile. LCCC and CCC have similar errors along the linear path but LCCC has much smaller overshoots around the corner. Both overshoot magnitude and settling time are reduced by LCCC. Figure 4.5 shows the path followed by of both control strategies. For CCC, the error around the corner is approximately 1500 ?m; LCCC reduces the error to 450 ?m. This figure also shows that LCCC provides less overshoot and considerably faster recovery after the corner. Figure 4.4: Positions of (a) Cross-coupled Control (CCC) and (b) Linearized Cross-coupled Control (LCCC) during square shape contour with matched axes 67 Figure 4.5: Contour path of (a) Cross-Coupled Control (CCC) and (b) Linearized Cross-Coupled Control (LCCC) for square shape contour with matched axes Mismatched Axes To show the effect of mismatched axes controllers, the controller natural frequency of the x axis was set to 3/4 of the controller natural frequency of the y axis. Figure 4.6 indicates that both controllers take the same amount of time to traverse the trajectory. However, CCC has large overshoots and longer settling times at the corners. Figure 4.7 shows a plot of the x vs y position of the controller responses. The smallest error produced by CCC is 90 ?m along the straight path and LCCC can reduce the error to 8 ?m. The maximum error observed during transients is 1500 ?m for CCC and 420 ?m for LCCC. Again, LCCC performs better than CCC in terms of transient errors. 68 Figure 4.6: Positions of (a) Cross-Coupled Control (CCC) and (b) Linearized Cross-Coupled Control (LCCC) during square shape contour with mismatched axes Figure 4.7: Contour path of (a) Cross-Coupled Control (CCC) and (b) Linearized Cross-Coupled Control (LCCC) for square shape contour for mismatched axes 4.2.2 Circular Interpolation Recalling from the Chapter 3, Figure 3.18 there are three types of constraints that the servo system can run into depending on the radius, R and the angular velocity, ? of the reference circle. Since linear dynamic controller error is the most dominant constraint, it is used as the basis for comparison. Both matched and mismatched experiments are carried out. Testbed parameters are shown on Table 3.1, and experimental parameters are listed in Table 4.1. 69 Table 4.1: Parameters for circular interpolation Parameters Value Angular velocity, ]sec[rad? 31.5 Radius, ][mmR 3.175 Feedrate, ]sec[mmf 100 Matched Axes Figure 4.8 shows the position and traverse time for CCC and LCCC. The traverse time for both controllers is 0.23 sec. Figure 4.9 shows the path response of both controllers. Both controllers achieve acceptable levels of path error. CCC results in path errors smaller than 30 ?m of error throughout the circular path. LCCC shows a path error of 60 ?m during the entry transient, and path errors smaller than 30?m during the remainder of the circle. Thus, LCCC has transient errors slightly larger than the desired tolerance during the entry transient of the circle. Figure 4.8: Positions of (a) Cross-Coupled Control (CCC) and (b) Linearized Cross-Coupled Control (LCCC) during circular interpolation (Linear dynamic error) with matched axes 70 Figure 4.9: Contour path of (a) Cross-Coupled Control (CCC) and (b) Linearized Cross-Coupled Control (LCCC) for circular interpolation (Linear dynamic error) with matched axes Figure 4.10: Error response of (a) Cross-Coupled Control (CCC) and (b) Linearized Cross-Coupled Control (LCCC) for circular interpolation (Linear dynamic error) with matched axes Mismatched Axes For the mismatched axis experiments, the controller natural frequency of the x axis was set to 3/4 of the controller natural frequency of the y axis. The result plots are shown in Figures 4.11, 4.12, and 4.13. 71 Both control algorithms have the same traverse time of 0.23 sec. However, the amount of errors is different than in the matched axes experiment. Both CCC and LCCC show path errors close to 80 ?m during the entry transient and 60 ?m at different points along remainder of the circular contour. Figure 4.11: Positions of (a) Cross-Coupled Control (CCC) and (b) Linearized Cross-Coupled Control (LCCC) during circular interpolation (Linear dynamic error) with mismatched axes Figure 4.12: Path of (a) Cross-Coupled Control (CCC) and (b) Linearized Cross-Coupled Control (LCCC) for circular interpolation (Linear dynamic error) with mismatched axes 72 Figure 4.13: Error response of (a) Cross-Coupled Control (CCC) and (b) Linearized Cross-Coupled Control (LCCC) for circular interpolation (Linear dynamic error) with mismatched axes 4.3 Summary A new linearized cross coupling controller (LCCC) has been introduced. In contrast to conventional CCC the new LCCC does not require reference velocity and reference radius of curvature in order to adaptively update its gains. This makes LCCC easier to implement in realtime axis controllers where usually only the reference position is available. For corner tracking, the LCCC performs better than the CCC in terms of transient error. For the circular interpolation (both matched and mismatched axes) both controllers demonstrate almost identical level of performance. However, CCC shows some advantages during the entry transient of circular paths. LCCC can be applied to both corner tracking and circular interpolation. It should be noted however, that even though LCCC has smaller transient errors during corner tracking, it cannot guarantee errors smaller than the allowable tolerance limit during corner tracking. This is due to the fact that corners contain infinite accelerations that require active feedrate 73 reduction during corner transients. Chapter 5 will show a combination of LCCC with FM that is able to traverse both corners and circles with errors smaller than the tolerance limit. 74 Chapter 5: Robust Tracking Control (RTC) In Chapter 3, several state of the art tracking controllers were compared. It was shown that CCC and ZPETC can both reduce steady state path errors, but that they perform poorly around corners. Since it was also shown that CCC is more tolerant to parameter uncertainties than ZPETC, a new linearized CCC controller was presented in Chapter 4; the new controller is easier to implement than pure CCC because it requires no a priori path information. Unfortunately, LCCC inherits poor cornering capabilities from CCC, since it cannot modulate feedrate around corners. By combining the active feedrate modulation provided by FM with the steady state tracking performance of LCCC, a new generalized tracking controller is proposed in this chapter. 5.1 The RTC Algorithm In order to combine the corner tracking capabilities of FM with the steady state tracking performance of LCCC, a combined architecture is required as shown in Figure 5.1. This is possible, since FM modifies the reference path fed to the axis controllers by inserting zero moves while LCCC uses axis errors in order to inject offset commands to the plant. The two algorithms are in a sense decoupled from each other and can be used concurrently. 75 Position splineVelocity spline? AND?X ?x?Y ?y++?static++?staticInterpolatorInterpolatorStatelineNewCross-coupling Controller+++-UxUy+-X-axis controller+-X-axis PlantY-axisPlant Figure 5.1: Block diagram of RTC algorithm 5.2 Experimental Validation The RTC algorithm is intended to provide exceptional trajectory tracking in both transient and quasi steady state scenarios without changing any parameters in the algorithm. Thus, both corner tracking and circular experiments with matched and mismatched axes need to be performed for validation purposes. To show the broad range and limitations of RTC, the experimental scope for circular interpolation will be extended from simple linear dynamic controller errors to cases where velocity saturation and interpolation errors are also encountered. The basis for comparison will be a conventional simple servo system, ZPETC, and LCCC. A comparison with CCC is omitted, since it is shown in Chapter 4 that CCC and LCCC perform in almost identical fashion. 76 5.2.1 Corner Tracking The square shape already introduced in the previous chapters with a diagonal length of 160 mm and a velocity of 140 mm/s profile is chosen to analyze the corner tracking performance of RTC. The results for experiments with matched and mismatched axes are shown below. The base parameters for the testbed are listed in Table 3.1, and the specific experimental parameters are shown in Table 5.1 Table 5.1: Experimental parameters for corner tracking Parameters Matched Axes Mismatched Axes Length across Diamond Diagonal ][mm 160 160 Traverse velocity ]sec[mm 140 140 Controller natural Frequencies ]sec[, radyx ?? 30 30 LCCC Gains: dip WWW ,, 2, 200, 0 2, 200, 0 Matched Axes The position vs traverse time relationships for matched axes are shown in Figure 5.2, while the path responses are presented in Figure 5.3. These figures indicate that RTC produces smaller path errors than any of the other tested algorithms. Neither ZPETC nor LCCC can reduce the feedrate around corners in order to achieve acceptable corner tracking. While FM provides path errors close to the tolerance limit of 55 ?m around the corner, RTC results in 42 ?m of path error around the corner. Along the path the error of RTC is also very small at just less than 2 ?m. 77 While low cornering errors are important, one also wants to minimize the time required to traverse the trajectory. Good corner tracking can only be achieved by reducing the feedrate around corners. This automatically increases the amount of time required to traverse the trajectory. Figure 5.2 indicates that FM and RTC achieve their excellent cornering capabilities by increasing the travel time from around 0.34 seconds to about 0.45 seconds. However, the new RTC algorithm takes slightly less time (0.43 sec) than FM. Figure 5.2: Positions of (a) Simple Servo, (b) Feedrate Modulation, (c) Linearized Cross-Coupled Control, (d) Zero Phase Error Tracking Control and (e) Robust Tracking Control during square shape contour with matched axes 78 Figure 5.3: Path of (a) Simple Servo, (b) Feedrate Modulation, (c) Linearized Cross-Coupled Control, (d) Zero Phase Error Tracking Control and (e) Robust Tracking Control for square shape contour with matched axes Mismatched Axes When the axis controllers are mismatched, the simple servo systems and FM result in large steady state errors along the line segments. ZPETC, LCCC, and RTC can all reduce this error, but only RTC can also reduce cornering error at the same time. This is seen from Figures 5.4 and 5.5 that show the time responses and the path responses of the mismatched axes experiments. 79 Along the straight portions of the path, the new RTC controller performs extremely well. With maximum 7 ?m errors along the straight path, it outperforms the simple servo and FM both with tracking errors of 400 ?m, as well as ZPTEC and LCCC with tracking errors of 55 ?m and 5 ?m respectively. Around the corners, only RTC is able to achieve the tolerance limit of 50 ?m. All other algorithms are substantially worse with ZPETC demonstrating the largest error of over 1000 ?m. As with LCCC, the new RTC algorithm takes longer than the simple servo, ZPETC, or LCCC. However, RTC still takes slightly more time than FM. While LCCC and FM require 0.34 sec and 0.47 sec respectively, the RTC takes only 0.48 sec for this operation. 80 Figure 5.4: Positions of (a) Simple Servo, (b) Feedrate Modulation, (c) Linearized Cross-Coupled Control, (d) Zero Phase Error Tracking Control and (e) Robust Tracking Control during square shape contour with mismatched axes 81 Figure 5.5: Path of (a) Simple Servo, (b) Feedrate Modulation, (c) Linearized Cross-Coupled Control, (d) Zero Phase Error Tracking Control and (e) Robust Tracking Control for square shape contour with mismatched axes 5.2.2 Circular Interpolation During circular interpolation, there are four sources of error: Linear dynamic controller errors, velocity saturation, current saturation, and interpolation error. However, only linear dynamic errors were tested in chapter 3 and 4, since some of the algorithms would result in unstable table movement when subjected to the other errors. Since RTC is a very stable algorithm, we will also show its performance during other types of error. 82 Matched Axes Experiments for linear dynamic controller error, a combination of linear dynamic error and velocity saturation as well as an experiment that contains linear dynamic error, interpolation error, and current saturation error were conducted for matched axis controllers and are reported in this section. Linear Dynamic Controller Error Linear dynamic controller error occurs when the angular frequency of the reference circle gets too close to the natural frequency of the control loops. Since the magnitude response of the axis controllers drops off at those frequencies, a simple servo system creates actual circles that are smaller than the reference path. The parameters for the experimental testbed are listed in Table 3.1. The parameters for the circular path are listed in Table 5.2. Table 5.2: Experimental parameters for linear dynamic error Parameters Value Angular velocity, ]sec[rad? 31.5 Radius, ][mmR 3.175 Feedrate, ]sec[mmf 100 Figure 5.6 shows the time responses of the tested tracking algorithms. It indicates that RTC with 0.27 sec traverse time lies in between LCCC with 0.23 sec and FM with 0.30 sec traverse time. 83 When comparing errors for circular interpolation, it is again important to distinguish between transient entry and exit conditions, and the steady state tracking of the contour. Figure 5.7 indicates that the new LCCC and RTC algorithms both exhibit the smallest transient entry and exit errors in terms of time and length. Both have the maximum transient error of 60 ?m. During steady state tracking, RTC has consistently lower values than LCCC of less than 15 ?m. Figure 5.6: Positions of (a) Simple Servo, (b) Feedrate Modulation, (c) Linearized Cross-Coupled Control, (d) Zero Phase Error Tracking Control and (e) Robust Tracking Control during circular interpolation (Linear dynamic error) with matched axes 84 Figure 5.7: Path of (a) Simple Servo, (b) Feedrate Modulation, (c) Linearized Cross-Coupled Control, (d) Zero Phase Error Tracking Control and (e) Robust Tracking Control for circular interpolation (Linear dynamic error) with matched axes 85 Figure 5.8: Error response of (a) Simple Servo, (b) Feedrate Modulation, (c) Linearized Cross-Coupled Control, (d) Zero Phase Error Tracking Control and (e) Robust Tracking Control for circular interpolation (Linear dynamic error) with matched axes Linear Dynamic Controller Error and Velocity Saturation Error The x-y table in this study has a maximum achievable velocity of approximately 200 mm/s. In this experiment, the reference velocity is set to 250 mm/s. This leads to velocity saturation in addition to dynamic errors. In this case, velocity saturation can only be avoided if the feedrate is actively reduced during the phases of high velocity. To avoid unstable table motion, only simple servo and RTC are compared. The geometric parameters for this path are listed in Table 5.3. 86 Table 5.3: Experimental parameters for velocity saturation error Parameters Value Angular velocity, ]sec[rad? 31.5 Radius, ][mmR 7.9375 Feedrate, ]sec[mmf 250 Figure 5.9 shows the time response of this experiment. With 0.3 sec traverse time, the new RTC algorithm takes longer than the simple servo with 0.26 sec traverse time. This is not surprising, since the velocity needed to be reduced along the high velocity portions of the path. Figure 5.9: Positions of (a) Simple Servo and (b) Robust Tracking Control during circular interpolation (Velocity saturation) with matched axes Figure 5.10 shows the actual path response. The simple servo cannot follow the reference path well since the required velocities are too high. As a result, path errors of up to 900 ?m are measured for the simple servo response. The new RTC is able to reduce this error to 180 ?m during the entry transient and about 80 ?m during the remaining contour. This is a 87 remarkable reduction in path error, even though there still is room for improvement for this scenario. Figure 5.10: Path of (a) Simple Servo and (b) Robust Tracking Control for circular interpolation (Velocity saturation) with matched axes Figure 5.11: Error response of (a) Simple Servo and (b) Robust Tracking Control for circular interpolation (Velocity saturation) with matched axes Linear Dynamic Controller Error, Interpolation Error and Current Saturation Error When the angular velocity of the circle is increased too far, then there are not enough master samples to describe the desired circle accurately. This leads to interpolation errors. At the same time, accelerations are increased and for the scenario shown in this section, this leads to 88 current saturation. The testbed parameters are listed in Table 3.1, and the geometrical parameters of the contour is listed in Table 5.4. Table 5.4: Experimental parameters for interpolation error Parameters Value Angular velocity, ]sec[rad? 90 Radius, ][mmR 1.11 Feedrate, ]sec[mmf 100 Figure 5.12 shows that RTC has substantially increased the time required to traverse the trajectory. While the simple servo only takes 0.14 seconds, the RTC algorithm takes close to 0.16 seconds. This is not surprising, since at this operating point the accelerations need to be reduced in order to reduce path errors due to current saturation. Figure 5.12: Positions of (a) Simple Servo and (b) Robust Tracking Control during circular interpolation (Interpolation error) with matched axes Figure 5.13 shows the path response for this experiment. The interpolation error is clearly visible in the reference path at the start of the trajectory at top of the figure. Simple servo 89 control results in substantial path errors of 275 ?m throughout the contour. The new RTC algorithm improves contouring considerably providing path errors of 120 ?m at the start and then reducing the error to the tolerance limit. Clearly, the starting error is quite large, but no algorithm can compensate for interpolation error. The only way to reduce that type of error would be to decrease the master sampling time. Figure 5.13: Path of (a) Simple Servo and (b) Robust Tracking Control for circular interpolation (Interpolation error) with matched axes Figure 5.14: Error response of (a) Simple Servo and (b) Robust Tracking Control for circular interpolation (Interpolation error) with matched axes 90 Mismatched Axes Experiments for linear dynamic controller error, a combination of linear dynamic controller error and velocity saturation as well as an experiment that contains linear dynamic controller error, interpolation error, and current saturation error have been conducted for mismatched axis controllers and are reported in this section. In this case the controller natural frequency for the x axis was reduced to 3/4 of the controller natural frequency of the y-axis. Linear Dynamic Controller Error The parameters for the experimental testbed are listed in table 3.1. The parameters for the circular path are listed in table 5.2. Figure 5.15 shows the time response for this experiment. For mismatched axes, the new RTC algorithm takes 0.29 sec to traverse the circle. This is slightly longer than for the matched axes case where 0.27 sec had been recorded. 91 Figure 5.15: Positions of (a) Simple Servo, (b) Feedrate Modulation, (c) Linearized Cross-Coupled Control, (d) Zero Phase Error Tracking Control and (e) Robust Tracking Control during circular interpolation (Linear dynamic error) with mismatched axes Figure 5.16 shows the actual path response for the tested tracking algorithms. Again, RTC exhibits slightly smaller path errors than the LCCC. During the entry transient, RTC records a maximum path error of 75 ?m and along the contour errors of approximately 25 ?m are recorded. All other algorithms show path errors larger than the tolerance limit. 92 Figure 5.16: Path of (a) Simple Servo, (b) Feedrate Modulation, (c) Linearized Cross-Coupled Control, (d) Zero Phase Error Tracking Control and (e) Robust Tracking Control for circular interpolation (Linear dynamic error) with mismatched axes 93 Figure 5.17: Error response of (a) Simple Servo, (b) Feedrate Modulation, (c) Linearized Cross-Coupled Control, (d) Zero Phase Error Tracking Control and (e) Robust Tracking Control for circular interpolation (Linear dynamic error) with mismatched axes Linear Dynamic Controller Error and Velocity Saturation Error The general testbed parameters are listed in Table 3.1 and the geometric path parameters for this experiment are listed in table 5.3. To avoid unstable table motion, simple servo and RTC are compared. Figure 5.18 indicates that the simple servo system and the RTC require 0.24 sec and 0.31 sec to traverse the trajectory. These are the same values as for the matched axis experiments. 94 Figure 5.18: Positions of (a) Simple Servo and (b) Robust Tracking Control during circular interpolation (Velocity saturation) with mismatched axes The path responses are shown in 5.19. The simple servo produces a huge error of more than 900 ?m at the beginning of the circle and throughout the trajectory; the path errors remain larger than the tolerance imit. The new RTC provides a maximum error of 210 ?m at the beginning of the circle. However throughout the rest of the circle the error is around 100 ?m. This result is very similar to the one found for matched axes. Figure 5.19: Path of (a) Simple Servo and (b) Robust Tracking Control for circular interpolation (Velocity saturation) with mismatched axes 95 Figure 5.20: Error response of (a) Simple Servo and (b) Robust Tracking Control for circular interpolation (Velocity saturation) with mismatched axes Linear Dynamic Controller Error, Interpolation Error and Current Saturation Error For this experiment, the testbed parameters are listed in Table 3.1, and the geometrical parameters of the contour is listed in table 5.4. Again only a simple servo response is compared to the RTC since other algorithms are too unstable for this scenario. Figure 5.21 indicates that for the time required to traverse the circle is the same for matched and mismatched axes. In both cases, the simple servo system requires 0.15 sec and the RTC takes 0.17 sec. Figure 5.21: Positions of (a) Simple Servo and (b) Robust Tracking Control during circular interpolation (Interpolation error) with mismatched axes 96 Figure 5.22 shows the path response of this experiment. The simple servo produces up to 450 ?m of error. The new RTC shows errors of 150 ?m at the beginning and along the rest of the circle, errors slightly more than the tolerance limit are recorded. Again this trend is quite similar to the matched axis experiment. Figure 5.22: Path of (a) Simple Servo and (b) Robust Tracking Control for circular interpolation (Interpolation error) with mismatched axes Figure 5.23: Error response of (a) Simple Servo and (b) Robust Tracking Control for circular interpolation (Interpolation error) with mismatched axes 97 5.3 Summary This chapter presented a robust tracking controller (RTC) that merges the new linearized cross-coupled controller (LCCC) presented in Chapter 4 with the FM algorithm presented by Seethaler and Yellowley [36]. This new algorithm combines the excellent tracking performance of LCCC with superior transient corner tracking performance of FM. As a result, the RTC algorithm provides excellent tracking along smooth contours and accurate corner tracking between motion segments. The algorithm performs quite well in the presence of multiple error sources. Only for extremely fast circles with acceleration, saturation, and interpolation errors in the reference path, were considerable errors found; these were during the entry transients. However, the scenario of actuating a high speed contouring move in a manner which dictates extreme accuracy during the entry transient is both unlikely, (and bad practice), so this does not present a practical impediment to the algorithm. Since low traverse times are often as important as low contouring errors, it is interesting to note that the new RTC algorithm actually took less time to traverse the tested contours than the FM algorithm, even though both algorithms use the same technique to modulate the feedrate when measured axis errors are high. 98 Chapter 6: Conclusions This thesis focuses on the real time reduction of path error for CNC machine tools. After a rigorous experimental comparison of the best known algorithms from the scientific literature, two new algorithms have been proposed that perform significantly better than the previous state of the art. Details of these algorithms and possible future research directions are summarized in this Chapter. A summary table showing the numerical results of all the experiments is shown in Appendix A. 6.1 Contributions Chapters 3 to 5 represent the major contributions made in this thesis. They are summarized in the following sections. 6.1.1 Comprehensive Experimental Comparison of Prominent Tracking Algorithms In Chapter 3, a high speed x-y table was used to compare the most widely published tracking algorithms: Zero Phase error Tracking Control (ZPETC) [27], Cross Coupled Control (CCC) [29, 30], and Feedrate Modulation (FM) [36]. This comparison showed ZPTEC requires a very exact model of the machine tool in order to work well. Unfortunately, this requirement renders the algorithm difficult to implement in practice, (typical uncertainties include friction and cutting forces which are difficult to model and may be time varying). CCC works very well for reducing tracking error along smooth contours. However, in addition to the conventional reference position, CCC requires reference velocity and instantaneous radius of curvature. These additional variables are usually not available at the axis controller level which makes a practical implementation of CCC difficult. In addition, neither ZPETC nor 99 CCC can avoid motor saturation when the reference path contains excessive accelerations. Finally, FM is able to reduce motor saturation commonly found at the transition between line segments, but it cannot sufficiently reduce linear dynamic controller errors and axis mismatch. 6.1.2 Linearized Cross Coupling Controller In Chapter 4, a linearized cross coupling controller (LCCC) was introduced. In contrary to conventional CCC the new LCCC does not require reference velocity and reference radius of curvature in order to adaptively update its gains. This makes LCCC easier to implement in realtime axis controllers where, (usually), only the reference position is available. For corner tracking, the LCCC performs better than the conventional CCC in terms of transient error. For circular interpolation, (both matched and mismatched axes), both controllers demonstrate an almost identical level of performance. It has been demonstrated that the linearized cross-coupled controller can be used to advantage for both corner tracking and circular interpolation. It should be noted however, that even though LCCC has smaller transient errors than CCC, it cannot guarantee errors smaller than the allowable tolerance limit during corner tracking. This is due to the fact that corners contain infinite accelerations that require active feedrate reduction during corner transients. 6.1.3 Robust Tracking Control (RTC) Chapter 5 presented a robust tracking controller (RTC) that merges the new linearized cross-coupled controller (LCCC) presented in Chapter 4 with the FM algorithm presented by 100 Seethaler and Yellowley [36]. The new RTC algorithm combines the excellent tracking performance of LCCC with superior transient corner tracking performance of FM. As a result the RTC algorithm provides outstanding tracking along smooth contours and effective corner tracking between motion segments. The algorithm performs quite well in the presence of multiple error sources. Only in the case of high frequency circular interpolation with both acceleration saturation and interpolation errors in the reference path were large errors recorded, (these were during the entry transients). The likelihood of encountering the extreme conditions described for circular interpolation is obviously extremely unlikely for typical machining, (even high speed machining). It should also be pointed out that the new RTC algorithm requires less time to traverse the tested contours than the FM algorithm, this reduced time will equate to a corresponding cost reduction in production operations. 6.2 Future Research Directions The newly proposed RTC algorithm has been shown to work very well in a variety of experiments that have been designed specifically to tax such algorithms. The author believes however that there are still possibilities to improve the design of the algorithm further. ? The original FM algorithm uses the ratio of master samples to slave samples as a means of reducing the number of increments passed to the axis controllers. At the same time, the master sample time also determines the amount of look-ahead time that is provided and so is critical to performance, ( particularly during fast transients). At this point in time the interaction between master sample time, slave sample time, and axis controller bandwidth has not been analyzed in detail and the selection of these values is heuristic. This approach has been quite successful, however the author 101 believes that a comprehensive analytical study of the sampling times and controller bandwidth would provide a better means to select these parameters in order to achieve minimum travel times for a given path tolerance. ? The current literature on corner tracking focuses on symmetric reversal, where one axis performs a complete reversal, while the other remains at a constant velocity. While this represents a worst case scenario in terms of required axis accelerations, the current algorithms need to be validated for a wider range of reversal scenarios. ? The original FM algorithm only allows a reduction in feedrate. An extension to this idea that allows for increasing and reversing the feedrate for all axes was presented by Yang and Yellowley in [39]. This extended real-time feedrate modulation (EFM) algorithm allows for much faster travel times, when the reference velocity is low. In the future, the RTC algorithm should be extended to include this option. 102 References [1] Http://Www.Marathon-Excel.Com, [2] Erkorkmaz, K., 1999, "High Speed Contouring Control for Machine Tool Drives," pp. [3] Shin, K., and Mckay, N., 1985, "Minimum-Time Control of Robotic Manipulators with Geometric Path Constraints," Automatic Control, IEEE Transactions on, 30(6), pp. 531-541. [4] Bobrow, J. E., Dubowsky, S., and Gibson, J., 1985, "Time-Optimal Control of Robotic Manipulators Along Specified Paths," The International Journal of Robotics Research, 4(3), pp. 3-17. [5] Shin, K., and Mckay, N., 1986, "A Dynamic Programming Approach to Trajectory Planning of Robotic Manipulators," Automatic Control, IEEE Transactions on, 31(6), pp. 491-500. [6] Balkan, T., 1998, "A Dynamic Programming Approach to Optimal Control of Robotic Manipulators," Mechanics research communications, 25(2), pp. 225-230. [7] Costantinescu, D., and Croft, E., 2000, "Smooth and Time-Optimal Trajectory Planning for Industrial Manipulators Along Specified Paths," Journal of Robotic Systems, 17(5), pp. 233-249. [8] Gasparetto, A., and Zanotto, V., 2007, "A New Method for Smooth Trajectory Planning of Robot Manipulators," Mechanism and machine theory, 42(4), pp. 455-471. [9] Altintas, Y., and Erkorkmaz, K., 2003, "Feedrate Optimization for Spline Interpolation in High Speed Machine Tools," CIRP Annals-Manufacturing Technology, 52(1), pp. 297-302. [10] Butler, J., Haack, B., and Tmizuka, M., 1991, "Reference Input Generation for High Speed Coordinated Motion of a Two Axis System," Journal of dynamic systems, measurement, and control, 113(1), pp. 67-74. 103 [11] Erkorkmaz, K., and Altintas, Y., 2001, "High Speed Cnc System Design. Part I: Jerk Limited Trajectory Generation and Quintic Spline Interpolation," International Journal of machine tools and manufacture, 41(9), pp. 1323-1345. [12] Sencer, B., Altintas, Y., and Croft, E., 2008, "Feed Optimization for Five-Axis Cnc Machine Tools with Drive Constraints," International Journal of machine tools and manufacture, 48(7), pp. 733-745. [13] Tounsi, N., Bailey, T., and Elbestawi, M., 2003, "Identification of Acceleration Deceleration Profile of Feed Drive Systems in Cnc Machines," International Journal of machine tools and manufacture, 43(5), pp. 441-451. [14] Rao, A., and Sarma, R., 2000, "On Local Gouging in Five-Axis Sculptured Surface Machining Using Flat-End Tools," Computer-Aided Design, 32(7), pp. 409-420. [15] Duc, E., Lartigue, C., Tournier, C., and Bourdet, P., 1999, "A New Concept for the Design and the Manufacturing of Free-Form Surfaces: The Machining Surface," CIRP Annals-Manufacturing Technology, 48(1), pp. 103-106. [16] Lee, Y.-S., 1997, "Admissible Tool Orientation Control of Gouging Avoidance for 5-Axis Complex Surface Machining," Computer-Aided Design, 29(7), pp. 507-521. [17] Yoon, J.-H., Pottmann, H., and Lee, Y.-S., 2003, "Locally Optimal Cutting Positions for 5-Axis Sculptured Surface Machining," Computer-Aided Design, 35(1), pp. 69-81. [18] Chiou, C.-J., and Lee, Y.-S., 2002, "A Machining Potential Field Approach to Tool Path Generation for Multi-Axis Sculptured Surface Machining," Computer-Aided Design, 34(5), pp. 357-371. 104 [19] Ho, M.-C., Hwang, Y.-R., and Hu, C.-H., 2003, "Five-Axis Tool Orientation Smoothing Using Quaternion Interpolation Algorithm," International Journal of machine tools and manufacture, 43(12), pp. 1259-1267. [20] Jun, C.-S., Cha, K., and Lee, Y.-S., 2003, "Optimizing Tool Orientations for 5-Axis Machining by Configuration-Space Search Method," Computer-Aided Design, 35(6), pp. 549-566. [21] Fleisig, R. V., and Spence, A. D., 2001, "A Constant Feed and Reduced Angular Acceleration Interpolation Algorithm for Multi-Axis Machining," Computer-Aided Design, 33(1), pp. 1-15. [22] Wang, N., and Tang, K., 2007, "Automatic Generation of Gouge-Free and Angular-Velocity-Compliant Five-Axis Toolpath," Computer-Aided Design, 39(10), pp. 841-852. [23] Bohez, E. L., 2002, "Compensating for Systematic Errors in 5-Axis Nc Machining," Computer-Aided Design, 34(5), pp. 391-403. [24] Munlin, M., Makhanov, S. S., and Bohez, E. L., 2004, "Optimization of Rotations of a Five-Axis Milling Machine near Stationary Points," Computer-Aided Design, 36(12), pp. 1117-1128. [25] S?rby, K., 2007, "Inverse Kinematics of Five-Axis Machines near Singular Configurations," International Journal of machine tools and manufacture, 47(2), pp. 299-306. [26] Makhanov, S., 2007, "Optimization and Correction of the Tool Path of the Five-Axis Milling Machine: Part 1. Spatial Optimization," Mathematics and Computers in Simulation, 75(5), pp. 210-230. 105 [27] Kim, T., and Sarma, S. E., 2002, "Toolpath Generation Along Directions of Maximum Kinematic Performance; a First Cut at Machine-Optimal Paths," Computer-Aided Design, 34(6), pp. 453-468. [28] Tomizuka, M., 1987, "Zero Phase Error Tracking Algorithm for Digital Control," Trans. of ASME, Journal of Dynamic Systems, Measurement, and Control, 109(pp. 65-68. [29] Weck, M., and Ye, G., 1990, "Sharp Corner Tracking Using the Ikf Control Strategy," CIRP Annals-Manufacturing Technology, 39(1), pp. 437-441. [30] Koren, Y., and Lo, C.-C., 1991, "Variable-Gain Cross-Coupling Controller for Contouring," CIRP Annals-Manufacturing Technology, 40(1), pp. 371-374. [31] Koren, Y., 1980, "Cross-Coupled Biaxial Computer Control for Manufacturing Systems," ASME Journal of Dynamic Systems, Measurement, and Control, 102(4), pp. 265-272. [32] Srinivasan, K., and Kulkarni, P., 1990, "Cross-Coupled Control of Biaxial Feed Drive Servomechanisms," Journal of dynamic systems, measurement, and control, 112(2), pp. 225-232. [33] Shih, Y.-T., Chen, C.-S., and Lee, A.-C., 2002, "A Novel Cross-Coupling Control Design for Bi-Axis Motion," International Journal of machine tools and manufacture, 42(14), pp. 1539-1548. [34] Chen, B., Tilbury, D., and Ulsoy, A., 1998, "Modular Control for Machine Tools: Cross-Coupling Control with Friction Compensation," Proc. of the ASME DSC Division, pp. 455-462. 106 [35] Yeh, S.-S., and Hsu, P.-L., 2002, "Estimation of the Contouring Error Vector for the Cross-Coupled Control Design," Mechatronics, IEEE/ASME Transactions on, 7(1), pp. 44-51. [36] Tarng, Y., Chuang, H., and Hsu, W., 1999, "Intelligent Cross-Coupled Fuzzy Feedrate Controller Design for Cnc Machine Tools Based on Genetic Algorithms," International Journal of machine tools and manufacture, 39(10), pp. 1673-1692. [37] Seethaler, R., and Yellowley, I., 1996, "The Regulation of Position Error in Contouring Systems," International Journal of machine tools and manufacture, 36(6), pp. 713-728. [38] Yellowley, I., and Pottier, P., 1994, "The Integration of Process and Geometry within an Open Architecture Machine Tool Controller," International Journal of machine tools and manufacture, 34(2), pp. 277-293. [39] Yellowley, I., and Pottier, P., 1989, "A Nore on a Simple Method for the Improvement of Interpolation Accuracy in a General Purpose, Multiprocessor Based Motion Controller," International Journal of machine tools and manufacture, 29(2), pp. 287-292. [40] Yang, L., and Yellowley, I., 2001, "High-Speed Contouring Using a Novel Dynamic Interpolation Mechanism," International Journal of machine tools and manufacture, 41(6), pp. 773-794. [41] Oldknow, K., and Yellowley, I., 2003, "Implementation and Validation of 3-Dimensional Dynamic Interpolation Using an Fpga Based Controller," International Journal of machine tools and manufacture, 43(9), pp. 937-945. [42] Oldknow, K., and Yellowley, I., 2002, "Three-Dimensional Dynamic Interpolation Using Stateline Based Control Architectures," International Journal of machine tools and manufacture, 42(15), pp. 1627-1641. 107 Appendix A: Experimental Results For an easy comparison, the experimental results obtained with the studied algorithms are listed in the following table: Table A.1: Experimental results of all algorithms Contour Type Axes Condition Algorithms Traverse Time (sec) ?transient (?m) ?steady-state (?m) Square Matched Axes Simple Servo 0.34 1100 35 Feedrate Modulation 0.46 55 33 Cross-Coupled Control 0.34 1500 8 Zero Phase Error Tracking Control 0.34 1300 25 Linearized Cross-Coupled Control 0.34 450 3 Robust Tracking Control 0.43 42 2 Mismatched Axes Simple Servo 0.34 600 300 Feedrate Modulation 0.48 70 300 Cross-Coupled Control 0.34 1500 90 Zero Phase Error Tracking Control 0.34 1500 55 Linearized Cross-Coupled Control 0.34 420 5 Robust Tracking Control 0.48 40 7 108 Contour Type Axes Condition Algorithms Traverse Time (sec) ?transient (?m) ?steady-state (?m) Circle Matched Axes Simple Servo 0.23 140 70 Feedrate Modulation 0.3 108 70 Cross-Coupled Control 0.23 30 20 Zero Phase Error Tracking Control 0.23 134 35 Linearized Cross-Coupled Control 0.23 60 20 Robust Tracking Control 0.27 60 15 Mismatched Axes Simple Servo 0.23 360 270 Feedrate Modulation 0.34 270 200 Cross-Coupled Control 0.23 80 60 Zero Phase Error Tracking Control 0.23 165 30 Linearized Cross-Coupled Control 0.23 80 60 Robust Tracking Control 0.29 75 25