UBC Theses and Dissertations

UBC Theses Logo

UBC Theses and Dissertations

High speed contouring control for machine tool drives Erkorkmaz, Kaan 1999

Your browser doesn't seem to have a PDF viewer, please download the PDF to view this item.

Item Metadata

Download

Media
831-ubc_1999-0119.pdf [ 9.02MB ]
Metadata
JSON: 831-1.0080959.json
JSON-LD: 831-1.0080959-ld.json
RDF/XML (Pretty): 831-1.0080959-rdf.xml
RDF/JSON: 831-1.0080959-rdf.json
Turtle: 831-1.0080959-turtle.txt
N-Triples: 831-1.0080959-rdf-ntriples.txt
Original Record: 831-1.0080959-source.json
Full Text
831-1.0080959-fulltext.txt
Citation
831-1.0080959.ris

Full Text

HIGH SPEED CONTOURING CONTROL FOR MACHINE TOOL DRIVES By Kaan Erkorkmaz B.A.Sc. (Mechanical Engineering) Istanbul Technical University A THESIS SUBMITTED IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE DEGREE OF MASTER OF APPLIED SCIENCE in THE FACULTY OF GRADUATE STUDIES MECHANICAL ENGINEERING We accept this thesis as conforming to the required standard THE UNIVERSITY OF BRITISH COLUMBIA February 1999 © Kaan Erkorkmaz, 1999 In presenting this thesis in partial fulfilment of the requirements for an advanced degree at the University of British Columbia, I agree that the Library shall make it freely available for reference and study. I further agree that permission for extensive copying of this thesis for scholarly purposes may be granted by the head of my department or by his or her representatives. It is understood that copying or publication of this thesis for financial gain shall not be allowed without my written permission. Department of .g^M~&su^ i c^>~~@ / t x i y ^ ^ x i ^ ^ / L - ^ ^ ^ The University of British Columbia Vancouver, Canada DE-6 (2/88) Abstract High speed machining technology has been rapidly adopted in aerospace, die and mold man-ufacturing industry for its high productivity. High speed machine tools require a rigid structure, thermally and dynamically stable spindles with high power, and fast feed drives which are able to track complex tool paths accurately at feed speeds up to 40 [m/min] with high accelerations over 1 [g]. The design of trajectory generation and control algorithms play a crucial role in realizing the accuracy requirement for high speed feed motion. This thesis presents a systematic approach to designing a smooth trajectory generation algorithm and a high performance control system for machine tool feed drives. A jerk limited trajectory generation algorithm employing trapezoidal acceleration profiles is developed to minimize discontinuity and harmonics in actuation force. The original position com-mands with varying interpolation period are re-sampled at control loop frequency via fifth order polynomials. The generated smooth trajectory commands for individual axes are delivered to a control system designed for accurate tracking and disturbance robustness. Axis dynamics are first stabilized via pole-placement control. Overall bandwidth is increased with a zero phase error tracking controller to minimize tracking errors. Disturbance rejection and parameter variation robustness is achieved using a Kalman filter based disturbance observer. Friction forces are com-pensated for in feedforward to improve the tracking accuracy at sharp corners and circular quad-rants. On top of these, the contour error is also estimated in real-time and used in cross-coupling control via PID controllers, to achieve additional contouring accuracy in the presence of cutting forces. The effectiveness of the proposed trajectory generation and control scheme is verified both in simulations and in experiments, where a high speed x-y table driven by linear motors is used. ii Abstract Table of Contents List of Tables List of Figures Acknowledgment Nomenclature 1. Introduction 2. Literature Review 2.1. Overview 2.2. Trajectory Generation 2.3. Tracking Control 2.4. Contouring Control 2.5.Summary 3. Trajectory Generation 3.1.Introduction 3.2.Linear Interpolation Table of Contents ii iii vi vii xi xii 1 3 3 4 6 13 19 20 20 22 iii 3.3. Circular Interpolation 23 3.4. Jerk Limited Velocity Profile Generation 24 3.4.1 .Formulation 25 3.4.2.Implementation 30 3.4.2.1.Initialization 30 3.4.2.2.Continuously Executed Part 37 3.5. Reconstruction of Reference Trajectory at Servo Loop Closure Frequency 38 3.5.1 .Estimation of Derivatives 39 3.5.2.Reconstruction of Reference Trajectory Using a Fifth Degree Polynomial 39 3.6. Comments 41 4. Axis Control 45 4.1.Overview 45 4.2. Axis Tracking Control 46 4.2.1 .Pole-Placement Control 49 4.2.2. Disturbance Rejection Through a State Observer 51 4.2.3. Feedforward Friction Compensation 59 4.2.4. Feedforward Compensation of Axis Dynamics 65 4.2.5.0verall Axis Tracking Control Scheme 67 4.3. Cross-Coupling Control 68 4.3.1 .Real-Time Estimation of Contouring Errors 70 4.3.2.Contour Error Regulation 75 4.4.0verall Contouring Control Scheme 75 iv 5. Simulations and Experimental Results 78 5.1.Overview 78 5.2. Experimental Test Platform 78 5.3. Modeling and Identification of Axis Dynamics 80 5.4. Addition of Cutting Forces into Simulation 86 5.5. Controller Design 89 5.5.1 .Pole-Placement Control 89 5.5.2. Disturbance Observer 91 5.5.3. Feedforward Friction Compensation 93 5.5.4. Zero Phase Error Tracking Control 96 5.5.5. Cross-Coupling Control 97 5.6.Simulation Results 99 5.6.1 .No Cutting Forces, No Parameter Mismatch 102 5.6.2.With Cutting Forces and Parameter Mismatch 113 5.7.Experimental Results 121 5.8.Summary 136 6. Conclusions 137 6.1. Conclusions 137 6.2. Future Research Directions 139 Bibliography 141 v List of Tables 4.1 :Friction Compensation Rule Base 64 5.1 :Nominal Parameters for X and Y Axes. 82 5.2 :Identified Values of Axis Dynamics. 85 5.3 .Identified Friction Model Parameters. 96 5.4 :Summary of Simulation Results for No Cutting Forces and No Parameter Mismatch. 112 5.5 :Summary of Simulation Results with Cutting Forces and Parameter Mismatch. 121 5.6: Summary of Experimental Results. 135 vi List of Figures 2.1 :The Occurrence of Contour Error as a Results of Axis Tracking Errors. 4 2.2 :Common Feedforward Control Techniques: (a) Basic Feedforward Control Alone, (b) Smoothing of Position Commands with a Low Pass Filter. 10 2.3 :Disturbance Cancellation via: (a) Disturbance Estimation in Feedback, (b) Disturbance Model in Feedforward. 13 2.4 Estimation of Contour Error from Axis Tracking Errors Using a Linear Reference Path. 17 2.5 :Cross-Coupling Control Scheme. 17 2.6 Estimation of Contour Error from Axis Tracking Errors Using a Circular Reference Path. 18 2.7 Estimation of Contour Error from Axis Tracking Errors Using a Linear Reference Path Obtained by Averaging the Instantaneous Reference and Actual Tool Velocities. 18 3.1 :(a) Path Generation in Spatial Coordinates; (b) Feedrate Profile Generation for an Existing Path. 21 3.2 :Path Generation in Linear Interpolation. 22 3.3 :(a) Path Generation in Circular Interpolation; (b) Radial Error for Circular Interpolation. 23 3.4 :Kinematic Profiles for Jerk Limited Feedrate Generation. 27 3.5 :Re-Sampling of Interpolator Output Trajectory at Control Loop Frequency. 40 3.6 Comparison of Trapezoidal Acceleration Profiled and Trapezoidal Velocity Profiled Trajec-tories. 43 3.7 :Original Interpolated Trajectory with Varying Interpolation Period and Fifth-Order Re-Sam-pled Trajectory. 44 4.1 :Dynamics of a Drive System. 46 4.2 :(a) Approximate Transfer Function of a Current Controlled Servo; (b) Discrete-Time Model of Axis Dynamics. 48 V l l 4.3 :Pole-Placement Position Controller Design. 49 4.4 :Probability Density Function of Control Signal Error. 53 4.5 :Disturbance Observer Implementation. 54 4.6 :The Relation Between Sliding Velocity and Friction Force for Two Lubricated Metallic Sur-faces in Contact. 60 4.7 :Interaction of Friction with Axis Dynamics. 63 4.8 :Feedforward Friction Compensation Scheme. 63 4.9 :Insertion of a Feedforward Controller Before Closed Loop Axis Dynamics. 67 4.10 :Proposed Axis Tracking Control Scheme. 68 4.11 :Cross-Coupling Control Structure. 69 4.12 :Contour Error Estimation Using Closest Path Segment or Reference Point. 73 4.13 :(a) Different Regions for Contour Error Estimation; (b) Normals that Determine the Differ-ent Treatment Regions. 74 4.14 :Proposed High Speed Contouring Control Scheme. 77 5.1 :High Speed X-Y Table Used as Experimental Test Platform. 79 5.2 :High Speed X-Y Table Controlled with In-House Developed Real-Time System. 80 5.3 :Dynamics of a Single Axis. 81 5.4 :Simplified Dynamics of a Single Axis. 83 5.5 :Estimation of Cutting Forces in Simulations. 88 5.6 :Unit Feedrate (1 [mm/sec]) Cutting Forces for One Spindle Revolution. 88 5.7 :Estimated and Modeled Friction versus Axis Position at the Travel Speed of 100 [mrn/sec]: (a) X Axis, (b) Y Axis. 95 5.8 :Estimated and Modeled Friction Versus Axis Velocity at (0,0) Position: (a) X Axis, (b) Y Axis. 95 5.9 frequency Response Characteristics of Pole-Placement (PPC) and Zero Phase Error Track-ing (ZPETC) Controllers. 98 5.10 :Kinematic Profiles for Diamond Shaped Reference Trajectory Used in Simulations. 100 viii 5.11 :Kinematic Profiles for Circular Reference Trajectory Used in Simulations. 101 5.12 Simulation Result for Tracking a Diamond Shaped Path with PPC; No Cutting Forces, No Parameter Mismatch. 105 5.13 Simulation Result for Tracking a Diamond Shaped Path with PPC & OBS; No Cutting Forces, No Parameter Mismatch. 106 5.14 Simulation Result for Tracking a Diamond Shaped Path with ZPETC & PPC & OBS; No Cutting Forces, No Parameter Mismatch. 107 5.15 Simulation Result for Tracking a Diamond Shaped Path with ZPETC & PPC & OBS & FFRIC; No Cutting Forces, No Parameter Mismatch. 108 5.16 Simulation Result for Tracking a Diamond Shaped Path with ZPETC & PPC & OBS & FFRIC & CCC; No Cutting Forces, No Parameter Mismatch. 109 5.17 Simulation Result for Tracking a Circular Path with PPC; No Cutting Forces, No Parame-ter Mismatch. 110 5.18 Simulation Result for Tracking a Circular Path with PPC & OBS; No Cutting Forces, No Parameter Mismatch. 110 5.19 Simulation Result for Tracking a Circular Path with ZPETC & PPC & OBS; No Cutting Forces, No Parameter Mismatch. I l l 5.20 Simulation Result for Tracking a Circular Path with ZPETC & PPC & OBS & FFRIC; No Cutting Forces, No Parameter Mismatch. I l l 5.21 Simulation Result for Tracking a Circular Path with ZPETC & PPC & OBS & FFRIC & CCC; No Cutting Forces, No Parameter Mismatch. 112 5.22 Simulated Cutting Forces for Spindle Speed of 15000 [rpm]; (a) Diamond Shaped Path, (b) Circular Path. 114 5.23 Simulation Result for Tracking a Diamond Shaped Path with ZPETC & PPC & OBS & FFRIC; with Cutting Forces and Parameter Mismatch. 117 5.24 Simulation Result for Tracking a Diamond Shaped Path with ZPETC & PPC & OBS & FFRIC & CCC; with Cutting Forces and Parameter Mismatch. 118 i x 5.25 Simulation Result for Tracking a Diamond Shaped Path with ZPETC & PPC & OBS2 & FFRIC; with Cutting Forces and Parameter Mismatch. 119 5.26 Simulation Result for Tracking a Circular Path with ZPETC & PPC & OBS & FFRIC; with Cutting Forces and Parameter Mismatch. 120 5.27 Simulation Result for Tracking a Circular Path with ZPETC & PPC & OBS & FFRIC & CCC; with Cutting Forces and Parameter Mismatch. 120 5.28 Simulation Result for Tracking a Circular Path with ZPETC & PPC & OBS2 & FFRIC; with Cutting Forces and Parameter Mismatch. r 121 5.29 :Kinematic Profiles for Diamond Shaped Reference Trajectory Used in Experiments. 123 5.30 -.Kinematic Profiles for Circular Reference Trajectory Used in Experiments. 124 5.31 rExperimental Result for Tracking a Diamond Shaped Path with PPC. 128 5.32 rExperimental Result for Tracking a Diamond Shaped Path with PPC & OBS. 129 5.33 :Experimental Result for Tracking a Diamond Shaped Path with ZPETC & PPC & OBS. 130 5.34 :Experimental Result for Tracking a Diamond Shaped Path with ZPETC & PPC & OBS & FFRIC. 131 5.35 :Experimental Result for Tracking a Diamond Shaped Path with ZPETC & PPC & OBS & FFRIC & CCC. 132 5.36 rExperimental Result for Tracking a Circular Path with PPC. 133 5.37 rExperimental Result for Tracking a Circular Path with PPC & OBS. 133 5.38 rExperimental Result for Tracking a Circular Path with ZPETC & PPC & OBS. 134 5.39 rExperimental Result for Tracking a Circular Path with ZPETC & PPC & OBS & FFRIC. 134 5.40 rExperimental Result for Tracking a Circular Path with ZPETC & PPC & OBS & FFRIC & CCC. 135 x Acknowledgment I would like express my gratitude to my research supervisor Dr. Yusuf Altintas for the valu-able instruction, guidance, and support which he has provided throughout my research and coursework. I would also like to thank my friends, as well the faculty and staff at the University of British Columbia - Department of Mechanical Engineering, who through their support and kind-ness have helped to make my M.A.Sc. studies an enjoyable and fruitful endeavor. Finally, I would like to thank my beloved family for their unwavering support and patience regarding my graduate study abroad and the long absence from my home. I dedicate this work to them. xi Nomenclature a(t) acceleration profile along given tool path A system matrix in continuous-time state space representation A, D acceleration and deceleration values A, B, ...,F fifth order re-sampling polynomial coefficients A, B, C, D friction model coefficients A(q~x),A(z) plant (axis dynamics) denominator Acl(z) denominator of closed loop transfer function A m (z) model transfer function denominator A"(z), Bn{z) nominal plant denominator and numerator Ag{z) observer polynomial B input matrix in continuous-time state space representation B(q~l), B(z) plant (axis dynamics) numerator Bcl(z) numerator of closed loop transfer function B'^z), B^{z) component of numerator containing all unstable or poorly damped zeros B£(z), B+(z) component of numerator containing all stable and well-damped zeros Bi normal (surface) to bisect the angle between consecutive path segments Bm(z) model transfer function numerator C output matrix Cz augmented output matrix C{q~x) noise dynamics Cj 2 3 4 coefficients used in estimating first and second time derivatives Cr, Cv contour error estimation coefficients d(z) disturbance acting on the plant input d{z) estimated value of input disturbance xii e(k) output (position) prediction error in augmented state estimation x and y axis tracking errors E[ ] expectation operator F desired feedrate value Fn cutting force perpendicular to the direction of tool motion Ft cutting force in co-axial with the direction of motion F^Fy x and y axis components of cutting force f force delivered by the actuator fit) feedrate profile along given tool path f\,2, ...,6 feedrates reached at the end of each trajectory generation phase fd disturbance force ff friction force fnax maximum feedrate / „ ( ' ) unit feedrate cutting force normal to the direction of motion fs' fe initial and final feedrate values fSTAT static friction force unit feedrate cutting force co-axial with the direction motion G(s) drive dynamics G~\s) stable inverse of drive dynamics Gcc contour error regulator for cross-coupling control Gd drive gain; from control signal to actuation force Gfu(s) dynamics from control signal to actuation force in servo control system dynamics from axis velocity to actuation force in servo control system GJs) dynamics of the mechanical structure to be actuated G Z O H ( S ) transfer function of zero order hold H(z) plant (axis dynamics) transfer function xiii Hn{z) nominal plant (axis dynamics) transfer function i armature current J desired jerk limit J{ ) cost function 7j 3 5 7 jerk magnitudes during Ist, 3rd, 5th and 1th phases of trajectory generation j(t) jerk profile along given tool path K overall axis gain KA current loop gain Ka current feedback gain Kb back EMF constant Kcc cross-coupling control gain KD disturbance gain K{ current control gain K0BS state (disturbance) observer gain Kp axis tracking control gain, pulse-width modulation gain Kp, K(, Kd continuous-time PID controller gains KR, KH servo amplifier input gains Kt motor force constant L total travel length La armature inductance /j 2 f 7 travel lengths for each trajectory generation phase l\ 2 7 quantized travel lengths for each trajectory generation phase M actuated axis mass Mp maximum percentage overshoot to a step input N number of interpolation steps NL normal (surface) to path vector xiv A 7!, N2 lower and upper tracking error prediction horizons Nl 2 7 number of interpolation steps for each phase of trajectory generation Nacc, Ndec number of interpolation steps for acceleration and deceleration stages Nu control signal prediction horizon n model order P(k\k) state estimation error covariance p actual tool position with respect to nearest reference point p' projection of actual tool position onto closest reference path segment p(u) probability density function of control signal quantization error Q(s) low-pass filter used in disturbance observer q~l backward shift operator R reference point in tool path R(z) pole-placement controller denominator Ra armature resistance Rc center point of circular tool path Rs, Re start and end points in tool path Rn variance of control signal quantization error Rw variance of input noise Rw d variance of disturbance perturbation Rx variance of position measurement quantization error r closest reference path vector rn normalized path vector r radius of circular path S(z) pole-placement controller feedback numerator s Laplace operator s(t) displacement profile along given tool path xv sx 2 6 t 0 ° l displacements achieved at the end of each trajectory generation ph: 5j 2 continuous-time dominant closed-loop poles ss, se initial and final tool displacements T digital control loop closure period T{z) pole-placement controller feedforward numerator J] 2 7 phase durations of jerk limited feedrate generation V interpolation period Tspindle spindle revolution period t time tr rise time for a step input tp peak time for a step input u(z) control signal tt control signal quantization error ucc cross-coupling control signal Uj feedforward friction compensation signal VA armature voltage V £ W f back EMF voltage v(t) tool velocity vector v axis velocity, resultant tool velocity magnitude vr resultant reference velocity magnitude vrej reference velocity estimate vrx, vry x and y axis reference velocity components vx, v v x and y axis velocities W input noise matrix w(k) input noise vector w(k) uncorrected random noise process xvi wd(k) p e r t u r b a t i o n to d i s t u r b a n c e X, Y, x, y x a n d y a x i s i n d i c e s o r c o o r d i n a t e s x(k) state v e c t o r x(z) a x i s p o s i t i o n x, x e s t i m a t e d f irst a n d s e c o n d t i m e d e r i v a t i v e s o f r e f e r e n c e t r a j e c t o r y X{i) fifth o r d e r r e - s a m p l e d t ra jec tory x(k) a x i s p o s i t i o n m e a s u r e m e n t q u a n t i z a t i o n e r r o r xc, yc c e n t e r p o i n t x a n d y c o o r d i n a t e s o f t o o l p a t h xe, ye e n d p o i n t x a n d y c o o r d i n a t e s o n t o o l p a t h xMEAS(k) m e a s u r e d a x i s p o s i t i o n xn e x p e c t e d a x i s p o s i t i o n o f n o m i n a l a x i s d y n a m i c s xs, ys s tar t ing p o i n t x a n d y c o o r d i n a t e s o n t o o l p a t h xref(z) a x i s p o s i t i o n r e f e r e n c e x*ej(z) m o d i f i e d a x i s p o s i t i o n r e f e r e n c e Z{ } z t r a n s f o r m a t i o n o p e r a t o r z z o p e r a t o r Zj 2 d i s c r e t e - t i m e d o m i n a n t c l o s e d l o o p p o l e s z(k) a u g m e n t e d state v e c t o r Z(k) e s t i m a t e o f a u g m e n t e d state v e c t o r x v i i a , p, y quadratic coefficients used in solving the achievable value of feedrate P d.c. gain scaling factor A difference operator Ar radial error in circular interpolation As interpolation path increment Ax, Ay x and y axis increments A0 angular increment in circular interpolation A 0 m a x maximum allowable angular increment for maintaining radial accuracy 6M , 8x digital to analog converter and position feedback resolutions £ contour error vector e magnitude of contour error £ x , e x and y components of contour error vector O discrete-time system matrix <E>Z augmented discrete-time system matrix r discrete-time input matrix Tz augmented discrete-time input matrix X control activity weighing factor A,1 2 n state observer eigenvalues 0 instantaneous slope angle of reference path Qs, Qe start and end angles for circular tool path con natural frequency conl current control loop natural frequency x relative time parameter %e electrical time constant of motor armature C, damping ratio C, j current control loop damping ratio xviii ACRONYMS: ARC Adaptive Robust Control CARJMA Controlled Auto Regressive Integrated Moving Average CCC Cross-Coupling Control CNC Computer Numerical Controlled DAC Digital to Analog Converter DSP Digital Signal Processor EB ZPETC Extended Bandwidth Zero Phase Error Tracking Controller EMF Electro-Motive Force FFRIC Feedforward Friction Compensation GPC Generalized Predictive Control IKF Inverse Compensation Filter LTR Loop Transfer Recovery NC Numerical Controlled OBS State (or disturbance) Observer ORTS Open Real-Time System PID Proportional Integral Derivative PPC Pole-Placement Control PTC Perfect Tracking Control PWM Pulse Width Modulation RMS Root Mean Square ZOH Zero Order Hold ZPETC Zero Phase Error Tracking Control xix Chapter 1 Introduction High speed machining technology has rapidly evolved in the manufacturing of monolithic aerospace parts, dies and molds. Instead of producing multiple parts and assembling them with rivets and bolts, aerospace industry prefers to machine the complete component as a monolithic part in one set up in order to minimize the stress concentration at the assembly joints. Dies and molds have generally been produced using electro-chemical or discharge machining processes with electrode and erosion machining steps, which produce non-environmental waste. In general, high speed machining involves cutting speeds up to 1000 [m/min], which require feed speeds up to 40 [m/min], and accelerations above 1 [g]. Typically, high speed machining spindles have speeds which range above 20 000 [rpm], with 40 [kW] or higher power. High speed machining requires cutting tools which can withstand high thermal loads, rigid machine tool structure, and a CNC which can deliver high precision tool path tracking [20,40]. This thesis focuses on the accurate tool path tracking of high-speed CNC machine tools. A given tool path is tracked by coordinating multiple axes in a CNC machine tool. The tool path is specified in an NC (Numerical Control) program loaded into the machine tool's computer. The real-time interpolation function of the CNC executive software generates time stamped posi-tion commands for each active axis by decoupling the desired vectorial motion into its axis com-ponents. The programmed feed speed and acceleration values are realized during the generation of time stamped position commands, while the physical actuation limits of the drives are also taken into account, These position commands are then provided as reference inputs to the feed drive servo unit of each axis, which deliver the final motion to the machine. 1 Chapter 1. Introduction 2 The accuracy of the realized tool path depends on the smoothness of the reference trajectory, robustness and tracking ability of the digital control law, and the physical characteristics of actu-ated axes. This thesis provides a systematic analysis and development of reference trajectory genera-tion, independent axis tracking control, and coordinated path control of multiple axes. After a brief literature survey presented in Chapter 2, a trajectory generation algorithm is presented in Chapter 3. The trajectory generation algorithm considers piecewise constant jerk, trapezoidal acceleration and parabolic velocity profiles along the tool path, which result in smooth position commands. Avoiding discontinuity in acceleration and velocity profiles enables the axis tracking control law to follow the desired tool path accurately without exciting the unwanted dynamics of the drive system. Chapter 4 proposes a control scheme consisting of the joint implementation of axis tracking control and path control. Axis tracking control is realized via pole-placement and feedforward control. The friction in the drives are precompensated for, and additional unmodeled disturbances as well parameter variations are handled by a Kalman filter based disturbance observer. Using the position readings available from the feedback sensors, and the reference tool path that is already provided in the NC program, the contour error, which is defined as the deviation of the actual tool position from the reference tool path, is also estimated in real-time. The contour error estimate is then used in cross-coupling control action to improve the path accuracy of the overall control scheme. The proposed algorithms are implemented on an in-house developed open CNC system, and experimentally tested on a high speed x-y table driven by linear motors. The simulation and experimental results are presented in Chapter 5. The effect of individual components in the con-trol scheme are demonstrated in high speed path tracking tests. The thesis is concluded with a summary of contributions and future research directions in Chapter 6. Chapter 2 Literature Review 2.1. Overview Contouring errors, defined as deviations from the desired tool path, occur in machine tools and other multi-axis dynamic systems due to tracking errors in individual axes (Figure 2.1). The main reasons behind the axis tracking errors are: The dynamic response of the feed drive system to the reference trajectory; Disturbances, such as friction and cutting forces; Nonlinearities, such as backlash and saturation in the actuation system; Modeling errors and axis dynamics mismatch. High-speed machining techniques demand high feed-rates in order to accommodate high spindle speeds, which in turn results in high tracking errors on each axis, hence leading to larger contour-ing errors. One of the fundamental research problems in high speed machining is therefore the development of new trajectory generation and control techniques, which minimize the contouring error, so that parts are machined at high speeds without violating their dimensional tolerance. The attempts in minimizing the contouring errors start at trajectory generation stage, where time stamped position commands for each axis are planned. The time stamped position com-mands must avoid discontinuity in velocity and acceleration profiles, which otherwise excite the dynamics of the feed drive system with their high frequency harmonics. Control action is later applied on each axis to track the position commands, which realize the desired tool path. Two major control approaches have been reported to reduce contouring errors in the litera-ture. In the first approach, referred to as Axis Tracking Control, the contour errors are reduced indirectly by trying to reduce the axis tracking errors. The second approach, referred to as Path Control or Contouring Control focussed only on the reduction of contouring error, without deal-3 Chapter 2. Literature Review 4 ing with the tracking errors on each axis. The literature related to both approaches are reviewed in the following sections. Figure 2.1 : The Occurrence of Contour Error as a Results of Axis Tracking Errors. This chapter is organized as follows: A brief survey of various trajectory generation approaches found in literature is presented in Section 2.2. This is followed by a summary of track-ing control research Section 2.3. Contouring control, developed as an alternative to tracking con-trol, is covered in Section 2.4. The chapter is concluded with a summary in Section 2.5. 2.2. Trajectory Generation Trajectory generation plays an important role in motion control systems, as the generated tra-jectories must not only describe the desired path accurately, but must also have continuous deriv-atives at least up to the second order, to enable better tracking performance of the servo loop. Furthermore, acceleration and jerk profiles should have pre-specified limits in order to avoid satu-actual path actual tool position Chapter 2. Literature Review 5 rating the actuators, or exciting unwanted dynamics in the servo or the mechanical structure. In the following, various trajectory generation approaches suggested in literature are summarized. Butler et al. [7] have recommended the modification of the feedrate profile for a given path of C 2 continuity, considering the axis dynamics for a feedforward-feedback control case, in a way to avoid actuator saturations. They have also approximated sharp corners with arcs of smaller radius than of the position feedback resolution, and let this algorithm with preview action take care of accelerations and decelerations at the corners. However, they have used constant acceleration and deceleration profiles, which result in high jerks. Week and Ye [56] have used a low-pass filter which they have referred to as the "Inverse Compensation Filter" (IKF) with zero phase delay characteristics, to filter out the high-frequency components of reference trajectories without accelerations or decelerations, and make them easier to track. This filter is used before a zero phase error tracking controller (ZPETC - see Section 2.3), which is based on inverting the dynamics of the axis control loop in a stable manner. They have achieved accurate corner tracking with this strategy. However, the tuning of the IKF is closely dependent on the drive dynamics, and for operations of different feedrate, readjustments to the fil-ter are necessary. A similar approach of using an additional low-pass filter with zero phase char-acteristics before the ZPETC was also adopted by Tung and Tomizuka in [50]. Makino and Ohde [32] used a universal cam curve for jerk-continuous trajectory generation. Tomita et al. [44] also used trigonometric functions for the same purpose. Wang and Yang [55] have implemented trajectory generation via cubic and quintic splines using chord length and nearly arc length parameterization. Simon and Isik [41] have proposed using trigonometric splines in trajectory generation for robotic manipulators, because of their high order continuity, ease of computing parameters from boundary conditions, and less oscillatory behavior between distantly spaced knots, compared to high order algebraic splines. They have also performed opti-mization of such trajectories for certain kinematic criteria, such as minimum jerk. Chapter 2. Literature Review 6 Pritschow [39] has recommended the usage of jerk limited trajectories with trapezoidal or sine square acceleration profiles, favoring the latter one for better continuity. Chen and Tlusty [8] have also used a trapezoidal acceleration profile in their feed drive development work. Jeon et al. [24] have proposed an efficient way of generating jerk limited trajectories on-line, based on convolving feedrate values generated for a trapezoidal velocity profile with precalcu-lated factors to result in a jerk limited trajectory such that desired acceleration and deceleration durations are realized. In this work, an on-line scheme for jerk limited trajectory generation based on trapezoidal acceleration profile is implemented (Chapter 3). Such an approach, compared to trapezoidal velocity profiling, not only yields smoother reference trajectories which are easier to track, but also avoids high frequency harmonics in the acceleration profile, that would otherwise excite the unwanted dynamics of the servo loop or the mechanical structure. 2.3. Tracking Control If a feed drive system is simplified as a second order linear system, it can be seen that the magnitudes of steady state tracking and contouring error are directly proportional with the com-mand velocity and inversely proportional with the square of the closed loop control bandwidth [27,38]. A common practice in designing feedback control systems has been to implement simple control strategies such PID, or pole-placement control [29,52] and design or tune them to achieve the quickest possible response without too much overshoot. However, such feedback control approaches alone result in a relatively limited bandwidth and have poor tracking performance at high speeds. This results in the reduction of feedrate and therefore machining productivity to enable desired contouring tolerances to be maintained. For this reason, the research on axis track-ing control focused mainly on the improvement of drive bandwidth to enable accurate tracking of tool paths at high feedrates. Chapter 2. Literature Review 7 The desired tool path is known a priori and given in NC program to the control system. Hence, the future deviations in the input command are known, and can be incorporated in the con-trol law. Spence and Altintas [42] have successfully applied this philosophy in adaptive control of machining processes using an adaptive pole-placement control scheme. However, their goal was to reduce the overshoot at sharp transients, and they applied a low frequency milling force control only. This idea was well utilized by others in high speed feed drive control. Generalized Predictive Control (GPC) which was originally developed by Clarke et al. [11] was used for feed drive control by Boucher et al. [5,6] in various ways. The control law in this approach is designed to minimize tracking errors and control signal activity, by using priori knowledge of tool path. For the Controlled Auto Regressive Integrated Moving Average (CAR-IMA) plant model written in the form, A(q-X)x{k) = B(q-\)u{k-\) + C(q-\)w(k)/A (2.1) the control law is designed to minimize the cost function, J(NVN2,NU,X) = E "2 Nu X {(x(k + i)-xreJ(k+i))}2+ ^{Auik + i-l)}' i = N, ,= 1 (2.2) where x(k) is the plant output, u(k) is the control signal, w(k) is uncorrected random noise, q~l is the backward shift operator, A(q~l) is the plant denominator, B(q~x) is the plant numera-tor, C(q~x) is the noise dynamics numerator, A is the difference operator defined as, A = 1 - q~x and E[ ] is the expectation operator. J is the cost function to be minimized based on the lower and upper prediction horizons N} and N2 of tracking error, upper horizon Nu of control signal and control signal activity weighing factor X. xrej{k) represents future reference inputs which are known in advance and Aw (Ac) the increment of control signal. Generalized predictive control has inherent integral action due to its disturbance model for-mulation, which gives it good disturbance rejection properties, in addition to tracking. Further-more, it has been observed to be robust against varying time delay in the plant. However, the Chapter 2. Literature Review 8 prediction horizons Nx, N2, Nu and the control activity weight X are difficult tune and closed loop stability is not guaranteed. Clarke et al. [12] present an analysis of generalized predictive control with relation to other techniques such as deadbeat, pole-placement, and linear quadratic optimal control, and demonstrate its stability conditions. Boucher et al. have implemented generalized predictive control in cascade form for position and velocity control loops [5], and have set forth tuning guidelines [6] to achieve satisfactory results compared to proportional control. However, they have not been able to report satisfactory performance at high speeds, mainly due to the sensitivity of GPC to sharp transients in the tool path and disturbance properties. An alternative to using predictive techniques has been feedforward control. Feedforward con-trol also utilizes priori knowledge of the reference trajectory to achieve accurate tracking at high speeds. The basic feedforward control structure of is shown in Fig. 2.2a. The aim is to design the feedforward control block such that the dynamics of the closed loop system are cancelled in a sta-ble manner and the overall transfer function of axis dynamics is very close to unity; which enables accurate tracking. The major contribution to feedforward tracking control was made by Tomizuka [45]. Tomi-zuka proposed the Zero Phase Tracking Error Control (ZPETC) scheme, which provides a wide bandwidth with and zero phase (i.e. time) delay. By excluding the unstable zeros, the closed-loop transfer function is cancelled with a feedforward filter. For the closed-loop dynamics defined in the z domain as, x(z) Bcl(z) B-^-B^iz) (2.3) cl{z) Acl(z) the feedforward filter is designed as, (2.4) xref(z) [Bcj(l)]2-Bc)(z) Chapter 2. Literature Review 9 resulting in the overall axis transfer function as, x(z) = Ael(z) • B-Jr1) B-Cl(z) • B-cl(z) _ B-Cl(z~') • B-Cl{z) xrej{z) [B-Cl(l)]2-B*,(z)' Acl(z) IB-Cl(l)]2 In the above equations, x(z) is axis position, xre^(z) is the original position command signal, x*ef(z) is the axis command signal modified by the feedforward controller. Acl(z) and Bcl(z) are the closed loop transfer function denominator and numerator respectively. Bcl{z) is factored into its stable and well damped, and unstable or poorly damped components as B^(z) and B^{z) respectively. It can be shown that the transfer function in Eq. (2.5) has zero phase shift for all fre-quencies, and a gain very close to unity for low frequencies [45]. Note that the filter in Eq. (2.4) is non-causal and requires the knowledge of future reference points. Theoretically, ZPETC has an excellent ability to track complex paths, due to the zero phase delay and overall bandwidth increase, which is typically tenfold. However, the scheme requires very accurate identification of the feed drive's transfer function which must be time invariant. Pritschow and Philipp [37] have pointed out that a significant deterioration in tracking and con-touring accuracy is caused due to the variation of the drive parameters when ZPETC or other feedforward control strategies are used. Tsao and Tomizuka [47] have tackled this problem by implementing adaptive zero phase error tracking control. Another problem with ZPETC and other feedforward approaches is the amplification of high frequencies in the reference trajectory, causing harmonics in the actuation force which is not desirable. Furthermore the existing closed-loop system is forced to behave like a much faster one by the feedforward controller, which risks saturating the actuators and making the system behave nonlinearly, causing tracking errors. Week and Ye [56] have avoided these problems by adding a low-pass filter with zero phase delay before the ZPETC (Fig. 2.2b). They called this filter the Inverse Compensation Filter (IKF), and have used it to smoothen the sharp transients in position commands, hence making them easier to track. This way they have avoided the task of generating Chapter 2. Literature Review 10 smooth trajectories, and have obtained satisfactory results in tracing sharp corners, for the trade-off of having to re-tune the low pass filter for different operations. This approach was also imple-mented by Tung and Tomizuka [50]. Haack and Tomizuka [19] have discussed the effect of adding zeros to ZPETC. They have reported further bandwidth increase, as well as matching of axis dynamics in feedforward control-ler design stage with this approach. Torfs et al. [46] have increased the ZPETC bandwidth even further by adding extra terms in the feedforward control law. In their controller design, referred to as the Extended Bandwidth Zero Phase Error Tracking Controller (EBZPETC), with the addition of each new term, the tracking error is reduced proportional to e2, eA, e6, etc.; where e is the tracking error for the implementation of ZPETC alone. Jayasuriya and Tomizuka [23] have car-ried the ZPETC concept to continuous time systems and have developed a non-proper feedfor-ward controller to yield perfect tracking for non-minimum phase SISO systems. In addition to these, several other feedforward controllers were proposed in literature, which were synthesized using optimization techniques [17,18,48]. (a) Feedforward Controller o Feedback Controller u Drive (b) Low-Pass Feedforward x* Filter Controller Feedback Controller u Drive Figure 2.2 : Common Feedforward Control Techniques: (a) Basic Feedforward Control Alone, (b) Smoothing of Position Commands with a Low Pass Filter. In spite of these improvements in feedforward control, the performance of the overall system performance is limited by the modeling accuracy of the drives and rejection of disturbances such as cutting forces and friction. Axis gains change with varying table mass, which is inevitable dur-Chapter 2. Literature Review 11 ing machining. In drive systems with gear ratios or ball screws, the change in axis gain is very small, as its dynamic effect is diminished by the square of the transmission ratio. However, in direct drive systems, this change is directly felt by the motors, resulting in significant variation of the closed loop dynamics which deteriorates the performance of feedforward control. Pritschow and Philipp [37] note that on-line parameter identification can estimate the axis gain only with 5 [%] closeness, which is not enough to fully exploit the advantage of feedforward control. Furthermore, even if the axis dynamics are accurately cancelled with feedforward control, disturbances such as friction and cutting forces may cause large tracking errors which nullify the performance improvement obtained via feedforward control. The cutting forces change with vary-ing workpiece geometry and feed direction. The friction between the slides and guides may also exhibit a special pattern. The major approaches in minimizing the effects of such disturbances have been in two directions: On-line estimation and cancellation of disturbances in feedback (Fig. 2.3a); Modeling and precompensation of disturbances in feedforward (Fig. 2.3b). Addressing both the parameter variation robustness, and the disturbance rejection issues, Umeno and Hori [51] have proposed a disturbance observer which has the structure is shown in Fig. 2.3a. By using the model of axis dynamics, the disturbance (force) d(z) is estimated by mon-itoring the control signals u(z) and plant output x(z), which may be position or velocity. The estimated disturbance d(z) is added to the control signal u'(z) of the feedback controller to can-cel the effect of the actual disturbance d(z). If the drive dynamics are x(s)/u(s) = G(s), the disturbance estimate is obtained in the form, d(s) = Q(s) • G-\s) • x(s) - Q(s) • u(s) (2.6) where Q{s) is a low-pass Butterworth filter usually of second or third order. It's cut-off fre-quency is determined based on trial and error. G~l(s) is a stable inverse of the drive dynamics, which can be approximate if necessary. The role of <2(s) is not only to provide smooth estimates of disturbance, but it also makes the Q(s) • G~](s) term proper (i.e. causal in discrete-time), for Chapter 2. Literature Review 12 practical implementation purposes. Umeno and Hori have shown that the implementation of such a disturbance observer provides both performance robustness (i.e. makes the actual drive dynam-ics behave like the nominal one that the observer was designed for, in spite of parameter changes), as well as disturbance rejection properties. Tomizuka presented several successive articles that tackle the disturbance rejection and parameter variation robustness issues. He implemented feedforward friction compensation based on a friction model obtained through repetitive control experiments [49]. The friction compensa-tion scheme had the structure shown in Fig. 2.3b. He then implemented the disturbance observer developed by Umeno and Hori to achieve parameter variation robustness and disturbance rejec-tion [14]. He combined feedforward friction compensation with the disturbance observer, show-ing that they can co-exist and operate successfully in [31]. The friction compensation, on top of the disturbance observer, improved the tracking accuracy at zero velocity crossings such as sharp corners and circular quadrants. In his later work [57], Tomizuka proposed using Adaptive Robust Control (ARC), which eliminated the need to implement feedforward friction compensation, and maintained performance robustness for a larger range of parameter variation compared to the former approach. Feedforward control was also implemented by Pritschow and Philipp [37], and Van Brussel et al. [52] to achieve accurate tracking in direct drive systems. Van Brussel has also used a Kal-man filter both as a disturbance observer, as well as a state estimator where the servo loop was closed using Loop Transfer Recovery (LTR) state feedback control technique. Van Den Braem-bussche et al. [53] have implemented feedforward compensation of cogging and force ripples in direct drives, to enhance the tracking accuracy. Van Brussel and Van Den Braembussche [54] have also implemented robust control techniques such as sliding mode control and control, and have obtained consistent tracking accuracies even in the presence of 300 [%] load increase. Apart from the above mentioned approaches, another contribution to feed drive control is seen in the work of Chen and Tlusty, where the vibrations arising from the flexibility of the ball Chapter 2. Literature Review 13 screw transmission are damped via accelerometric feedback, while accurate tracking is still achieved by the use of feedforward control. (a) x, ref Feedback Controller d Drive Dynamics Disturbance Observer (b) Disturbance Model Feedback Controller A d Drive Dynamics Figure 2.3 : Disturbance Cancellation via: (a) Disturbance Estimation in Feedback, (b) Disturbance Model in Feedforward. 2.4. Contouring Control In a multi-axis control application, each active axis may have a different magnitude of track-ing error. The contouring error is defined by the normal distance between the actual location of the tool center and the commanded tool path, and can be evaluated as a function of tracking errors and the reference tool path. In machining, the contouring error determines the deviation of actual tool path from the specified one, hence maintaining the contouring error within the tolerance of the part is satisfactory regardless of the magnitude of tracking errors. Koren [26] used this engi-neering fact, and proposed a simple contouring control scheme for bi-axial systems. He assumed the tool path to be linear (Fig. 2.4) and formulated the contour error e as a function of the axis tracking errors as, Chapter 2. Literature Review 14 E = -Cx ex + Cyey (2.7) where ex and ey are the axis tracking errors in the x and y axes respectively, Cx and C are constant coefficients which are determined by the slope angle 9 of the of the linear path in the form, Cx = sine , Cy = cos0 (2.8) For implementation convenience, Cx and Cy can also be calculated using the axis compo-nents and resultant value of reference velocity as, Cx = sinG = vry/vr , Cy = cos6 = vrx/vr (2.9) where vrx and vry are the x and y axis reference velocities respectively, and vr is the result-ant reference velocity. The control system that Koren developed, which he named as Cross-Coupling Control (CCC), is shown in Fig. 2.5. In the figure, Kpx and KPY are the axis tracking control gains which result in the axis tracking control signals uaxisX and uaxisY. dx and dY are the axis disturbance values which are assumed to act at control signal stage. The contour error estimation coefficients Cx and Cy are obtained from Eq. (2.9) and the contour error e estimated in accordance with Eq. (2.7). The contour error estimate is used in the feedback control law through proportional control with the gain Kcc. The cross-coupling control signal is then distributed back to each axis by weighing it with the coefficients Cx and Cy which indicate the contribution of each axis to the contour error. The contour error feedback loops are closed by feeding the resulting cross-coupling control signals uccX and uccY back to their corresponding axes with the correct negative feedback signs. Koren showed that this scheme attenuated the contour errors significantly, provided that the contour error was estimated accurately in real-time. He also analyzed the range that the cross-cou-pling controller gain Kcc can be varied to maintain closed-loop system stability. Chapter 2. Literature Review 15 Kulkarni and Srinivasan continued Koren's work in cross-coupling control. They have pro-posed decoupling the contour error into its axial components in the form, zx = -Cxe , zy = Cye (2.10) and using different contour error regulators for each axis, if axis dynamics are different. They have implemented Koren's contour error estimation approach for tracking linear and circular paths as well as sharp corners, for which they have reported success in experimental results [43]. They have also formulated the cross-coupling control design problem as an optimal control prob-lem, where the magnitudes of contour error and control signal, and their oscillatory behavior are penalized in a cost function which is minimized to obtain the Optimal Cross-Coupling Controller [30]. Koren and Lo [28] later proposed the Variable Gain Cross-Coupling Controller. They formu-lated the contour error for a circular reference path, which resulted in the Cx and Cy coefficients in Eq. (2.7) to become time-varying as, Cx=&m%-ex/{2r) , Cy = cos8 + e/(2r) (2.11) where r is the path radius and 0 is the instantaneous slope angle. They have also proposed approximating arbitrary curved tool paths (Fig. 2.7) with arcs of the same instantaneous radius and center of curvature. Furthermore, they replaced the proportional cross-coupling controller Kcc with a PID controller instead. These enhancements have improved the overall performance of the cross-coupling controller. However, this approach had a high computational load and required the shape of the toolpath to be known in advance by the cross-coupling controller, so that the correct contour error estimation strategy could be used. Chuang and Liu [10] developed a contour error estimation scheme which is relatively simple compared to the circular reference path approach, but is effective both for linear as well as curved tool paths. They have proposed using the linear reference path based contour error estimation Chapter 2. Literature Review 16 approach (Fig. 2.7). But instead of the reference velocity alone, the reference path slope is deter-mined based on the average direction of the reference and actual tool velocities. Hence the Cx and Cy coefficients are calculated as, V + V V + V C = s i n 6 = ^ y- , C = c o s 9 = - ^ x- (2.12) yr + v y vr + v where and vy are the x and y axis velocities of the tool motion, and v is the resultant tool velocity. This algorithm is easy to implement and gives better results for curved paths, compared to the original linear reference path approach. However, it is still an approximation, and does not esti-mate the actual value of contour error. In this thesis, a more accurate contour error estimation algorithm [15] is presented for arbitrary tool paths. The algorithm is simpler than the circular ref-erence path approach and does not require the path shape to be known in advance. Furthermore, it enables the computation of contour error as accurately as the reference path is defined during tra-jectory generation. As an alternative to position control, Chuang and Liu [10] have also proposed adjusting the feedrate adaptively in order to regulate the contour error, and have used their contour error estima-tion algorithm for this purpose. Other work done in cross-coupling control have implementation of cross-coupling control together with feedforward tracking control [15,21], as well as the use of cross-coupling control to modify the axis position commands in real-time, based on the estimated value of contour error [9]. In spite of the different work in this area, the stability of cross-coupling control has only been shown for the simple case of tracking linear paths [26,43]. Chapter 2. Literature Review 17 x axis Figure 2.4 : Estimation of Contour Error from Axis Tracking Errors Using a Linear Reference Xref Interpolation yref.r^ K PX UaxisX ^ UX c u XAxis Dynamics c cv c c K PY Cross-Coupling Controller u. ,vccY YAxis y Dynamics Figure 2.5 : Cross-Coupling Control Scheme. Chapter 2. Literature Review 18 I y axis Figure 2.6 : Estimation of Contour Error from Axis Tracking Errors Using a Circular Reference Path. y axis x axis Figure 2.7 : Estimation of Contour Error from Axis Tracking Errors Using a Linear Reference Path Obtained by Averaging the Instantaneous Reference and Actual Tool Velocities. Chapter 2. Literature Review 19 2.5. Summary A considerable amount of work has been done in all three areas; trajectory generation, axis tracking control and cross-coupling control. In some literature, smooth trajectory generation and axis tracking control have been used together to achieve accurate tracking results and indirect contour error minimization. However, there are very few cases where axis tracking control has been implemented together with cross-coupling control. In most cross-coupling control literature, the main focus has only been on reducing the contour error itself. This thesis presents a combination of all three approaches. First, a jerk limited trajectory gen-eration employing trapezoidal acceleration profiles is presented; where position, velocity, and acceleration continuity is ensured by the re-sampling of reference trajectory at control loop fre-quency via fifth order polynomials. The tracking errors are minimized by zero phase error track-ing control, cascaded with a pole-placement controller that stabilizes the axis dynamics. Disturbances such as friction and cutting forces, as well as parameter variations are handled by a Kalman filter based disturbance observer. Friction is also precompensated in feedforward to yield better tracking at sharp corners and circular quadrants. On top of the tracking error minimization, contour errors are further reduced using a cross-coupling controller, that utilizes an improved con-tour error estimation scheme. It is shown that the combination of all three efforts are necessary in order to achieve minimum contouring error in high speed machining applications. The details of each proposed algorithm, and the adopted methods from literature are presented in the following chapters. Chapter 3 Trajectory Generation 3.1. Introduction Reference trajectory generation plays an important role in computer control of machine tools. Generated reference trajectories must not only describe the desired work path accurately, but must also have kinematic profiles which enable smooth motion of the servo system. Limitations on acceleration and jerk are required in order to avoid overloading the drives, or exciting the struc-tural dynamics. In addition, feedrates should also be realized accurately to ensure chip load to occur at its planned value. Neither feedrate nor acceleration fluctuations should occur, in order to obtain a good surface finish. A common practice in multi-axis motion control systems is to generate reference points belonging to a desired path as if the whole path was to be travelled at a desired constant feedrate, as shown in Fig. 3.1a. In the figure, Rs denotes the starting point, Re denotes the end point, and /?( (i = 1, 2 , k - 1, k, N- 1) are intermediate points on the desired path. Since the refer-ence points are generated based on constant feedrate assumption, the distance As between con-secutive reference points is always the same. The generation of reference points for a certain path, without taking into consideration accelerations and decelerations is referred to as Path Genera-tion in this work. Once path generation is complete, desired acceleration and deceleration profiles are achieved by varying the interpolation period, which is the time interval between consecutive reference points, as shown in Fig. 3.1b. As can be seen from the figure, As, which is the distance between consecutive points is constant. However, by changing the interpolation period T'k, (k = 0, 1 , T V - 1), desired feedrate, acceleration and jerk profiles are imposed for motion 20 Chapter 3. Trajectory Generation 21 N-As±_ Ast As As As Travel Distance f y Feedrate Acceleration Jerk t time t (a) (b) Figure 3.1 : (a) Path Generation in Spatial Coordinates; (b) Feedrate Profile Generation for an Existing Path. along the pre-specified path, shown in Fig. 3.1a. In this work, this stage of trajectory generation is referred to as Feedrate Generation. In feedrate generation, care should be taken to ensure continu-ity of position, velocity, and acceleration. Also, jerks in the reference trajectory should not exceed pre-specified values. This is referred to as Jerk Limited Feedrate Generation, which is the type of feedrate generation implemented in this work. Although the generated reference trajectory contains reference points set apart by varying interpolation period, the servo control loop runs at a constant sampling frequency, and needs to be supplied with reference points at that frequency. Therefore, the trajectories generated during inter-polation have to be reconstructed at control loop frequency while maintaining the original kine-matic profiles of position, feedrate, and acceleration. This problem is referred to as Re-Sampling of the reference trajectory at control loop frequency. In this chapter two basic interpolation methods common to most CNC machine tools, which are linear and circular interpolation, are briefly be explained in Sections 3.2 and 3.3. An algorithm for jerk limited feedrate generation is presented in Section 3.4. Then, the problem of reconstruct-Chapter 3. Trajectory Generation 22 ing the desired reference trajectory at servo loop frequency is discussed in Section 3.5. The chap-ter is concluded with comments in Section 3.6. 3.2. Linear Interpolation The objective in linear interpolation is to move from one point in space to another, following a linear path [1,27]. This is illustrated in Fig. 3.2, where Rs(xs, ys) denotes the starting point and Re(xe, ye) denotes the end point. If the maximum feedrate fmax to be travelled at, along this path, and the control loop closure period T, which cannot be larger than the interpolation period, is specified, the motion from Rs to Re can be divided into N points such that, where L is the total distance to be travelled along the path. For the case of a two dimensional linear path, max (3.1) (3.2) The axial increments (Ax and Ay) are calculated as: Ax = (xe-xs)/N , Ay (ye-ysVN (3.3) which results in the path increment, X Chapter 3. Trajectory Generation 23 As = jAx2 + Ay2 (3.4) and the reference points Rk on the linear path are generated as, xk = xs + k • Ax ; yk = ys + k • Ay (3.5) for k = 1,2, ...,N. 3.3. Circular Interpolation The objective in circular interpolation is to move along a defined circular arc [1,27], as shown in Fig. 3.3a. The motion starts at Rs(xs, ys), continues on a circular arc with radius r and center point at Rc(xc,yc), and ends at point Re(xe,ye). Qs and 0 e are the starting and ending angles (in radians) respectively. Similar to linear interpolation, the distance between consecutive reference points, As is constant, and so is AG ; the angle swept at each step. The number of inter-polation steps is calculated as, N = floo/-A_) (3.6) where in this case, Chapter 3. Trajectory Generation 24 L = r.(9 e-e a) (3.7) The angular increment for each step of interpolation is calculated as, AQ = (Qe-Qs)/N (3.8) which results in the distance As between consecutive points as, As = r- A0 (3.9) On the other hand, if it is desired to maintain a certain radial accuracy, denoted with Ar in Fig. 3.3b, it should be ensured that AG does not exceed the critical value AQmax, which can be written as, If it does, the maximum feedrate should be reduced to result in smaller angular increments. Henceforth, coordinates of reference points Rk are calculated as, The suggested circular interpolation scheme involves trigonometric computations at each step. Although there are incremental methods in literature, for performing circular interpolation with less computational load [1,27], this approach is preferred in order to maintain maximum pos-sible interpolation accuracy, which is crucial for jerk limited trajectory generation. This way jerks are also avoided which result from making corrections to the reference path, to compensate for accumulating radial deviations due to round-off errors. (3.10) xk = xs + r • cos(Qs + k • AS) yk = ys + r- s i n ^ + A: • A0) (3.11) 3.4. Jerk Limited Velocity Profile Generation In CNC systems, the tool displacement along the specified tool path is referred to as Travel Distance. It's first derivative with respect to time is called Feedrate, which corresponds to the Chapter 3. Trajectory Generation 25 speed that the workpiece is fed into the cutting process. The time derivative of feedrate is Acceler-ation, and its time derivative is named Jerk. In recent CNC literature, advanced trajectory generation algorithms that yield smoother kine-matic profiles have gained considerable importance, with the trend of using higher performance drives and the availability of higher computational power [7, 56, 32, 44 55, 39]. Jerk limited tra-jectory generation is preferred both in order to avoid the excitation of structural dynamics due to the high bandwidth of the drive system, and also to generate reference trajectories that have lower frequency content, which makes them easier to follow; especially during accelerations and decel-erations. Trapezoidal acceleration profiled feedrate generation has been chosen as to be implemented in this thesis. The kinematic profiles that occur in this type of feedrate generation are illustrated in Fig. 3.4. For motion along path coordinates, accelerations have trapezoidal profiles with pre-spec-ified slopes (i.e. jerk values). Acceleration profiles are linear, velocity profiles are parabolic and displacement profiles are cubic for regions 1,3,5, and 7 where accelerations and decelerations with constant jerk occur. Acceleration values are constant and jerk is zero for regions 2 and 6, where velocity profiles are linear and displacement profiles are parabolic (as in trapezoidal fee-drate generation). In region 4, jerk and acceleration values are zero, feedrate is constant and dis-placement is linear. 3.4.1. Formulation Considering Fig. 3.4, if the initial conditions for displacement, feedrate and acceleration at time ti (i = 0, 1 , 6 ) are known, and the jerk profile is known, the displacement s(t), feedrate f(t), and acceleration a(t) profiles can be obtained by integrating the jerk profile j(t) as, Chapter 3. Trajectory Generation 26 a(t) = a{tt) + \j(x) • dx , f(t) = f(t{) + Ja(x) • dx , The jerk profile in Fig. 3.4 is written as, 0<t<tx 0 , tx<t<t2 -J3, t2<t<t3 0 , t3<t<t4 - ' 5 . t4<t<t5 0 , t5<t<t6 t6<t<t7 where t denotes absolute time, tvt2, ...,tn denote the time boundaries of each phase; / , , J3, J5, and 7 7 are the magnitudes of jerk in regions 1,3,5, and 7. By integrating (3.13) with respect to time, and considering that the boundary conditions of desired acceleration and deceleration magnitudes A and D are realized at phases 2 and 6, the acceleration profile can be expressed as, t s(t) = s(ti) + \f(x)-dx (3.12) Chapter 3. Trajectory Generation 27 Chapter 3. Trajectory Generation 28 a(x) = 0<t <t{ A tx<t<t2 t2<t<t3 o t3<t<t4 t4<t<t5 -D t5<t<t6 -D + J7x7 , te<t<tn (3.14) where %k (A; = 1,2, ...,7) denotes relative time starting from the beginning of the kth phase. By integrating Eq. (3.14) with respect to time, and considering the boundary conditions of feedrate starting at the initial value of fs, and reaching its desired value of F at the end of the third stage, the velocity profile for each phase is obtained as, fi + A T 2 f2+Ax3 - ^J3i3 / 5 - ^ 6 U - D h + \J1X1 0<t<t, t,<t<u t2<t<t3 t3<t<t4 t4<t<t5 t5<t<t6 t6<t<t7 fs: initial feedrate fx=fs+yj? f2=fl+AT2 1 f3=f2+AT3-^J3T2 = F fe=fs-DT6 (3.15) where Tk (k = 1, 2, 7) is the duration of the kth phase and fk is the feedrate reached at the end of the corresponding phase. Again, integrating Eq. (3.15) with respect to time yields the displacement profile as, Chapter 3. Trajectory Generation 29 5(T) = 0<t<tl , V initial position along path tx<t<t2 , s \ s2 +/ 2t 3 + 2^ T 3 ~ 6^3X3 ' t2<t<t3 , S2 = 5 1 + / 1 r 2 + iAr22 s3 + / 3 X 4 t2<t<t4 , s3 = ^ + / 2 ^ + ^ r f - i / 3 r 3 3 (3.16) ^4 + / 4 T 5 ~ 6^5 X 5 t4<t<t5 , s4 = s3 +f3T4 t5<t<t6 , S5 = s4 +f4T5 - ^ J^Tl t6<t<t7 , s6 = s5+f5T6-l-DTl where ss is the initial displacement and sk (k = 1, 2, 7) is the displacement reached at the end of the kth phase. The distances travelled at each phase can be expressed as, l = s\-ss=fsT\+2JiT3\ 1 2 - S2 - Sj -/ , T2 + -^A.T\ 1 - s3 S2 -fl^3 + ^A^3 ~ 2J3T3 4 - s4 - s3 - f3 T4 (3.17) 5 - s5 ~ S4 =fjs-y5n 1 6 = s6~s5 =fsT6-2DT6 i = Si-S6=f6T1-\DTi+l-J1Ti Furthermore, from the trapezoidal nature of the acceleration profile, A - JXTX - J3T3 D = J5T5 = JnTn (3.18) (3.19) Chapter 3. Trajectory Generation 30 should hold. Considering that the desired feedrate F is reached at the end of the 3rd stage (Eq. (3.15)), f3 = F -> T2 = F-fs-\-fJ}-AT^\j3Tl (3.20) and similarly, considering that the final feedrate fe is reached at the end of the 1 th stage, 1 T T i 9 r . rr* 1 f7=f6-DT7 + -J7T]=fe -> T6 = ±\F-fe-±J5T}-DT1 + ±J7T* U ^ o _ 1 (3.21) In addition, the sum of distances travelled at each step should be equal to the total distance to be travelled. 7 k = 1 where L is the total distance of travel and se is the final displacement along the given path. 3.4.2. Implementation Due to its complexity, the implementation of jerk limited feedrate generation is covered in two separate subsections. The initialization part is explained in Section 3.4.2.1, followed by the continuously executed part in Section 3.4.2.2. 3.4.2.1. Initialization The inputs to the jerk-limited feedrate generation are: - control loop sampling period T - total distance L to be traveled, - total number of interpolation steps N - initial feedrate fs, - desired feedrate F, Chapter 3. Trajectory Generation 31 - final feedrate fe, - desired acceleration magnitude A, - desired deceleration magnitude D, - desired jerk magnitude J. Initially, the correct signs for acceleration, deceleration and jerk values are determined from the given feedrate conditions. A = sgn(F-/ 5 )- |A| (3.23) D = sgn(F-/<?) • \D\ (3.24) J,=J3 = sgn(A)-|J| (3.25) J5 = J7 = sgn(D)-|7| (3.26) A negative value for A indicates deceleration instead of acceleration in the beginning of motion. Similarly, a negative value for D indicates acceleration instead of deceleration. If the value of A or D is zero, this indicates the absence of an acceleration or a deceleration stage. The jerk limited feedrate generation algorithm is designed to function in the most general case, to allow smooth transition between joined paths for all feasible boundary conditions on feedrate. This is the reason that special cases are also considered. The total number of interpolation steps are checked. If both acceleration and deceleration stages exist (A * 0 and D * 0) and the total number of interpolation steps N is less than four, then N is made four, to allow one step each for each of the phases 1,3,5, and 7. If only an acceler-ation or deceleration stage exists, and the total number of interpolation steps is less than two, then N is made two, to allow one step each for the acceleration or deceleration with jerk phases (1 and 3, or 5 and 7). If neither acceleration nor deceleration stages exist, it is natural that the minimum value of /V will be one, for a nonzero travel length. Upon modification to N, the path generation initialization is re-invoked to calculate the new path increment As. Chapter 3. Trajectory Generation 32 After these checks, the requested kinematic values are checked for compatibility, and modi-fied if necessary. The compatibility checks applied are as follows: 1°) Jerk Condition The requested value of jerk should not be larger than the achievable value for given accelera-tion, deceleration and sampling period values. This can be expressed as, " • o i n ^ . H ) (3.27) for \A\ > 0 and \D\ > 0. If this condition does not hold, desired jerk value is reduced to its maximum possible value as ' ® ) (3-28) If acceleration is absent, only deceleration values are considered, and vice versa. If both acceleration and deceleration are absent, this condition is not checked. 2 ° ) Acceleration Condition If an acceleration stage exists in the motion, the desired feedrate F should be reached through the first three stages of interpolation, either including a constant acceleration stage, or without one. Considering the expression for T2 in Eq. (3.20), this implies that T2 > 0. Also con-sidering that 7j = J3 (Eq. (3.25)), and T3 = A/J3 (Eq. (3.18)), the acceleration condition becomes, F — f A T2 = —--y>0 (3.29) Pi. J j for A * 0. If Eq. (3.29) does not hold, then the magnitude of acceleration is reduced to its maximum possible limit as, Chapter 3. Trajectory Generation 33 A = sgn(A) • JJr(F-fs) (3.30) and T2 is set to zero. 3°) Deceleration Condition If a deceleration stage exists in the motion, the final feedrate fe should be reached through the last three stages, either including a constant deceleration stage, or without one. Considering the expression for T6 in Eq. (3.21), this implies that J T 6 > 0 . Also considering that J5 = J7 (Eq. (3.26)), and T7 = D/J7 (Eq. (3.19)), the deceleration condition becomes, T6 = ^ - j - > 0 (3.31) if D ^  0. If Eq. (3.31) does not hold, then the magnitude of deceleration D is reduced to its maximum possible limit as, D = sgn(D) • JJ5.(F-fe) (3.32) and T6 is set to zero. 4°) Travel Length Condition The total length of travel L should be encompassed through all seven stages of interpolation, either including a constant feedrate stage or without one. Therefore, the constant feedrate interval TA should be T4 > 0. By considering that 7j = 7 3 , 7 5 = J7 (Eq. (3.25), (3.26)), which leads to T, = T3 = A/Jx, T5 = T7 = D/J5 (Eq. (3.18), (3.19)), the total travel length in Eq. (3.22) can be rewritten, using Eq. (3.17) and substituting T2 and T6 from Eq. (3.20) and (3.21) as, Chapter 3. Trajectory Generation 34 If an acceleration or deceleration stage does not exist, its corresponding terms should not be considered in the above equation. For T4 > 0 to hold, L- + 2 A 2D) 27, 2J5 *f, Dfe ft fe 27, 275 2A 2D >0 (3.34) should hold. If Eq.(3.34) does not hold, then T4 is set to zero and the magnitude of feedrate is reduced to its maximum possible value as, _ - P + V p 2 - 4 a y F = 2a (3.35) W h C r e a = U + P = ^ + ^ ' y = ^ + ^ - £ - ^ - L - * Bq. (3.35) pos-27, 27, 27, 275 2A 2D sesses complex roots, then initial and final feedrates fs and / are set to zero. Path generation ini-tialization is re-invpked to use the new maximum feedrate, and the other kinematic parameters 7, A, D and F are readjusted if necessary to obtain a realizable case. For interpolation initialization to continue, all four conditions above must be realized. If any of the conditions require a parameter adjustment, then the dependent conditions are re-checked. Determination and Quantization of Travel Lengths In the next part of initialization, feedrates (/], f2, ..., / 6 ) to be reached at the end of each stage and the distances (/j, l 2 , / 7 ) to be travelled in each stage are calculated from Eq. (3.15) and (3.17). The number of interpolation steps for each phase are calculated as follows: Nx = round (/j/Ai 1) N5 = round (l5/As) N3 = round (l3/As) N7 = round (/ 7/As) (3.36) Chapter 3. Trajectory Generation 35 if any of A 7 , , N3, N5, or A^ are zero for corresponding nonzero lx, l3, / 5 , and l7, they are made to be equal to one. Then the total number of steps for the acceleration and deceleration stages are calculated as, Nacc = round ((/, + l2 + l3)/As),Ndec = round((/5 + l6 + l7)/As) (3.37) and the number of steps for jerkless acceleration and deceleration stages are obtained as, ^ 2 = Nacc - (AT, + N3), iV 6 = Ndec - (N5 + N7) (3.38) which yield the number of constant feedrate steps as N4 = N-(Nacc + Ndec) (3.39) Using the path increment As and number of interpolation steps Nl,N2, ...,N7 for each stage, the travel lengths are quantized as, lk' = Nk-As where k = 1,2, ...,7 (3.40) Readjustment of Acceleration and Jerk Values After travel length quantizations, acceleration, time and jerk values are readjusted to yield the specified feedrates (fs, F, and fe) for the new travel lengths. For the acceleration stage, the expressions of / , , l2, and l3 in Eq. (3.17) are used to readjust the values of A , T , , and T3, which would also result in the adjustment of J{ and J3, due to Eq. (3.18). For the case T2 > 0, the expression for T2 is substituted from Eq. (3.20) and / , , l2, and l3 are substituted by l2, and l3 respectively, resulting in the following equations to be solved for A, Tx, and T3, Chapter 3. Trajectory Generation 36 1 1 1 1 F2-f FT3-l-AT2-l3' = 0 (3.41) If T2 = 0, the l2 expression in Eq. (3.17) cannot be used. Instead, the feedrate condition for the end of the acceleration stage (the expression for f3 in Eq. (3.15)) is used as the second equa-tion. In this case, the equations to be solved for A, 7,, and T3 become, fsh^\AT\-l{=Q 1-ATl + l-AT3+fs-F = 0 \AT] + \ATJ3+fsT3-l3^0 (3.42) Similarly, for the deceleration stage, the expressions of / 5 , l6, and l7 in Eq. (3.17) are used to readjust the vales of D, T5, and T7, which would also result in the adjustment of J5 and J7, due to Eq. (3.19). For the case T6 > 0, the expression for T6 is substituted from Eq. (3.21) and / 5 , / 6 , and l7 are substituted by / 5 ' , / 6 ' , and l7 respectively, resulting in the following equations to be solved for D, T5, and T7, FTs-±DTI-l5' = 0 \DTl-\DT2-\FT5-^eT7 + 2D 6 feT7 + ±DTl-l7' = 0 (3.43) Chapter 3. Trajectory Generation 37 If r 6 = 0, the / 6 expression in Eq. (3.17) cannot be used. Instead, the feedrate condition at the end of deceleration (the expression of /(x) for x 7 = T7 in the interval of t6<t<t7 in Eq. (3.15)) is used as the second equation. In this case, the equations to be solved for D, T5, and T7 become, FT5-l-DTj-l5' = 0 L-DT5 + L-DT7+fE-F = 0 \DT2-\DT5T7 + FT7-I7 = 0 (3.44) The nonlinear equation systems (3.41), (3.42), (3.43), and (3.44) are solved iteratively using Newton-Raphson's algorithm. Once the vales of A, Tx, T3, and D, T5, T7 converge, the jerk values 7j, J3, J5, and J7 are updated using Eq. (3.18) and (3.19). Furthermore, the final fee-drates fvf2, •••,!(, reached at the end of each phase are recalculated from Eq. (3.15), to be used in the continuously executed part of the algorithm. 3.4.2.2. Continuously Executed Part After the initialization is completed, the continuously executed part of jerk limited feedrate generation is invoked at each step of interpolation. For any of the seven phases in Fig. 3.4, the displacement profile can be written as, s(Xk) = \jo,k4 + \aQ,kXk+hk\ + sQ,k (3-45) where y 0 k, a0 k, / 0 k, and s0 k are the jerk, acceleration, feedrate and displacement values at the beginning of the kth phase respectively, and xk is the relative time parameter that starts at the beginning of the kth phase. The coefficients ; 0 k, a0 k, / 0 k and s0 k are calculated during the initialization period. Chapter 3. Trajectory Generation 38 Since the displacement amount As for each interpolation step is predetermined during path generation, the objective is to compute the interpolation period between consecutive reference points such that the kinematic profiles in Fig. 3.4 are realized. For the nth interpolation step in the kth stage, the total distance traveled in this stage will be, sk, n(xk, n) = n • As = yQ k%l n + i a 0 > k%l n +fQ kxK n + sQJl (3.46) The interpolation period 7| is calculated by solving xk n from Eq. (3.46), and then sub-tracting the incremental time tk n_ \ calculated at the previous step as, = \ n ~ \ n - l (3-47) Although Eq. (3.46) can be solved analytically, the solution involves computation of trigono-metric functions and cubic roots. Since the cubic equations that are to be solved at consecutive interpolation cycles have similar coefficients, Newton-Raphson's iterative algorithm is preferred for its efficiency [36]. It is also possible to use Eq. (3.46) to directly estimate interpolation period for each cycle, replacing the initial conditions as the final conditions reached in the previous cycle. However, doing so results in the accumulation of round-off errors. Since jerk limited trajec-tory generation requires very accurate estimates of interpolation period, this approach is not suit-able. 3.5. Reconstruction of Reference Trajectory at Servo Loop Closure Frequency Reference trajectories generated with varying interpolation period have to be re-sampled at control loop closure frequency. In this work, 5 th degree polynomials are used, which are com-puted with the boundary conditions of position, velocity, and acceleration continuity between con-secutive interpolation steps. Furthermore, first and second derivative estimates are obtained using 3 rd degree polynomials, to smoothen out undesirable jerks, arising from having to accelerate and decelerate within a finite number of steps. The scheme of reconstructing reference trajectories Chapter 3. Trajectory Generation 39 with 5th order polynomials is referred to as Fifth Order Re-Sampling in this work. The use of fifth order polynomials for trajectory generation is also commonly applied in robotics [58]. The implementation of fifth order re-sampling is explained in the following subsections. 3.5.1. Estimation of Derivatives Considering Fig. 3.5, given the reference position values Jt,-_[,*,•, ...,xi + 2 with the corre-sponding time values ti _,, r•, ..., tt + 2, the first and second time derivatives are estimated using a third order polynomials, x{t) = Cxt3 + C2t2 + C3t + CA (3.48) where C , , C 2 , C 3 , and C 4 are calculated from the boundary conditions, x{tt _]) = xi_l , = xt , x(tt + ,) = xt + , , x{ti + 2) = xi + 2 (3.49) Hence, feedrate and acceleration values for new reference point xi + , are estimated as, jt,-+i = 3C 1 r 2 + 2C 2 f+C 3 (3.50) Xi+i = 6C]t + 2C2 (3.51) Using cubic splines in derivative estimates, instead of parabolas or first order backward or forward differentiation techniques yields smoother kinematic profiles. Since more reference points are taken into account, the spikes that occur in acceleration and jerk profiles due to interpo-lation period being relatively large at the beginning of acceleration and end of deceleration stages are filtered out. This is shown with an example at the end of this chapter. 3.5.2. Reconstruction of Reference Trajectory Using a Fifth Degree Polynomial Once first and second time derivative estimates are obtained for two consecutive reference points X[ and xi+],a 5th degree polynomial is then fit between them in the form, Chapter 3. Trajectory Generation 40 o-X time t Figure 3.5 : Re-Sampling of Interpolator Output Trajectory at Control Loop Frequency. where 0<x<(tj+l-ti), xi, X{, + jc,+ i are feedrate and acceleration estimates for points xi and xi + j respectively. For each new reference point coming out of the interpolator, the polynomial coefficients are recalculated and reference points at constant time intervals T, which is equal to the control loop closure period, are generated by interpolating along the polynomial. This technique is imple-mented in a recursive form in real-time, making use of derivative estimates available from previ-ous step. Hence, position, velocity, and acceleration continuity are achieved for all reference trajectories, while undesirable jerks due to having to accelerate and decelerate within a finite num-ber of steps are smoothened out. X(x) = A T 5 + Bx4 + C T 3 + Dx2 + Ex + F (3.52) The coefficients A, B, C, D, E, and F are calculated using the boundary conditions, 1(0) = X; , X(tf) = X i + l dx(0)/dx = xi , dx(tf)/dx = h+i d2x(0)/dx2 = Xi , d2x(tf)/dx2 = h+\ (3.53) Chapter 3. Trajectory Generation 41 3.6. Comments Trapezoidal acceleration profiled trajectories have smoother feedrate, acceleration and jerk characteristics, compared to trapezoidal velocity profiled trajectories, which are commonly used in industrial motion control systems. This can be seen in Fig. 3.6, where two reference trajectories with the same travel distance, feedrate, acceleration values are shown. For both cases, a linear dis-placement of 10 [mm] in one axis is delivered with a feedrate of 100 [mm/sec] and acceleration/ deceleration value of 3000 [mm/sec2]. For the trapezoidal acceleration case, a jerk value of 100 000 [mm/sec3] was also imposed. Both trajectories were re-sampled with fifth order polyno-mials. As can be seen, the acceleration and deceleration profiles for the jerk limited trajectory are smoother. The control signals resulting from the usage of such a reference trajectory will also be smoother, hence reducing the risk of overheating the drives, or exciting the machine tool's struc-tural dynamics. This can be seen by comparing the frequency content of the acceleration profiles of the two trajectories, which are shown at the bottom of the figure. A drawback of jerk limited trajectory generation is the high computational load, and amount of code required for its realization. Furthermore, accelerations and decelerations require more time in jerk limited trajectory generation, compared to trapezoidal velocity profiling, thus slowing down the overall motion. However, with the implementation of jerk limited trajectory generation, higher feedrates can easily be reached with better tracking accuracy compared to trapezoidal velocity profiling. In Fig. 3.7, the smoothing of undesired jerks in jerk limited feedrate generation, by the use of fifth order polynomials employing derivative estimates through cubic splines, is illustrated. Again, the displacement is 10 [mm] of linear motion on a single axis, feedrate is 100 [mm/sec], acceleration/deceleration values are 3000 [mm/sec2] and jerk limit is 100 000 [mm/sec3]. Spikes in acceleration and jerk occur in the original trajectory, especially, where the interpo-lation period is large (at the beginning of acceleration, or end of deceleration). Furthermore, when a stop in the motion is commanded, stationary points at control loop frequency have to be gener-Chapter 3. Trajectory Generation 42 ated by the interpolator, to prevent the fifth order re-sampling from extrapolating beyond the desired path. The addition of such stationary points after a deceleration stage also results in large spikes in acceleration and jerk profiles, which are shown with the extreme values that are out of axis bounds in the jerk profile. With the implementation of fifth order re-sampling that uses first and second time derivatives obtained via cubic splines, these peaks are filtered out to yield much smoother kinematic profiles. Furthermore, implementing jerk limited trajectory generation also allows the servo loop to have a smaller damping factor, while still maintaining the desired contouring accuracy. This enables higher bandwidths to be realized for the same control effort. Chapter 3. Trajectory Generation 43 E, x Trapezoidal Velocity Profile Trapezoidal Acceleration Profile (Jerk Limited Trajectory) o CD E E 100 50 0 0 0.02 0.04 0.06 0.08 0.1 0.12 0.14 0.16 0.18 "Feedrate ' " 0.02 0.04 0.06 0.08 0.1 0.12 0.14 0.16 0.18 0.02 0.04 0.06 0.08 0.1 0.12 0.14 0.16 0.18 „ 2x10 6 8 1x10' w E E -2x10 b -\ Jerk i' - i 1 i 1 _i> , i i> i • • i 1 1 - w ii 11 ll 1 1 1 1 1 1 1 0 0.02 0.04 0.06 0.08 0.1 0.12 0.14 0.16 0.18 Time [sec] ; FFT Magnitude of Acceleration 0 50 100 150 200 250 300 350 400 450 500 Frequency [Hz] Figure 3.6 : Comparison of Trapezoidal Acceleration Profiled and Trapezoidal Velocity Profiled Trajectories. Chapter 3. Trajectory Generation 44 E E o CD CO 10 8 6 4 2 0 100 50 0 Travel Distance -—•Original Trajectory - Fifth Order Re-Sampled Trajectory 0 0.02 0.04 0.06 0.08 0.1 0.12 0.14 0.16 0.18 Feedrate CM o CD CO E £ cc 0 0.02 0.04 0.06 0.08 0.1 0.12 0.14 0.16 0.18 5 0 0 0 [Acceleration 0 0.02 0.04 0.06 0.08 0.1 0.12 0.14 0.16 0.18 ^ 5x10 5 CO O CD | OK — - 5 x 1 o sr Jerk * 5.58x106 -4.69x106 0 0.02 0.04 0.06 0.08 0.1 0.12 0.14 0.16 0.18 Time [sec] Figure 3.7 : Original Interpolated Trajectory with Varying Interpolation Period and Fifth-Order Re-Sampled Trajectory. Chapter 4 Axis Control 4.1. Overview In this chapter, a control scheme for minimizing the contouring error in a two axis actuation system is presented. The scheme employs two different control strategies simultaneously. The first approach, referred to as Axis Tracking Control, aims to minimize axis tracking errors, which also indirectly results in the minimization of the contour error. The second approach, referred to as Cross-Coupling Control, aims to estimate contour error in real-time and take control action against it directly. In axis tracking control work, desired closed loop dynamics are achieved by implementing pole-placement controllers around the drives. Disturbance rejection is realized with a disturbance observer based on steady state Kalman Filter design. Friction forces which are predictable distur-bances are precompensated for. To enhance the overall tracking performance, the closed loop transfer function obtained by the pole-placement controller is cancelled with a feedforward con-troller in a stable manner. In addition to the above components, which work to minimize axis tracking errors, the con-tour error is also estimated in real-time, using a novel algorithm. The axial components of contour error are fed back into the axis control signals through PID controllers. This enables further con-tour error reduction on top of the axis tracking control approach. The components of the axis tracking control scheme are presented in Section 4.2. This is fol-lowed by cross-coupling control in Section 4.3. Then, the trajectory generation algorithm pre-sented in Chapter 3, and the control modules presented in this chapter are brought together in 45 Chapter 4. Axis Control 46 Section 4.4, into a contouring control scheme proposed for feed drive control in high speed machining applications. 4.2. Axis Tracking Control The dynamics of a typical feed drive mechanism without the control law is shown in Fig. 4.1. This representation holds for a large class of servo drives, including cases with or without velocity feedback, as well as armature current or voltage control. In the figure, u is the command input to the drive system, which can be velocity, torque (motor current), or armature voltage reference. / is the actuation force (or torque) delivered by the actuator. fd denotes disturbance forces, such as friction and cutting forces, v is axis velocity and x is axis position. The amplifier, armature, and motor dynamics have been reduced into two transfer functions; Gju which relates control input to actuation force / , and Gjv which relates axis velocity v to / . These transfer functions will typically include amplifier gains, armature circuitry, motor torque constant, back e.m.f., current (or voltage) control loop, velocity control loop (if there is one), and nonlinearities such as saturation and overload protections. Gm{s) denotes the dynamics of the mechanical structure to be actuated. In a typical servo, it consists of inertia and viscous damping. In some cases, it may also involve additional dynamics arising from the flexibility of transmission elements, as well as gear ratio related gains and nonlinearities such as backlash. The axis position can be written in terms of control signal and disturbances as, u I —• ZOH s ij. Figure 4.1 : Dynamics of a Drive System. Chapter 4. Axis Control Al Since computer control implementation is targeted for the drive, discrete-time control signals are fed into the system through a Zero Order Hold (ZOH) block, which reconstructs them into continuous time, by keeping them constant during each sampling period T. The plant output, which is axis position is also sampled at control loop closure period. The sampled axis position, as a function of control signal and disturbances can be written as, 1 GJs)_ X ( Z ) = Z\s ' l + GJs)Gv(s)[Gf"{s)G^H(sMz)+fd(s^ (4.2) where Z{ } denotes z transform and GZ0H{s) is the transfer function of the zero-order hold as [34], 1 - e~sT Gzods) = —~— In this work, it is assumed that the servo drive operates in current (i.e. torque) mode, i.e. the control input represents the amount of current delivered to the actuator, which is directly propor-tional to the actuation force (or torque). Furthermore, the current control loop dynamics are con-sidered to have high enough bandwidth, allowing their effect to be neglected at position control loop design stage. This enables simplification in the derivation of the discrete-time model of the plant. Furthermore, it also allows disturbances such as cutting forces and friction to be considered to act directly at the control signal stage, which makes their on-line estimation and compensation easier. Hence, the approximate dynamics of the servo system can be represented as shown in Fig. 4.2a, where the drive dynamics G^u and Gj-V have been replaced with a drive gain Gd which maps control input to actuator force. Furthermore, the discrete-time transfer function for the over-Chapter 4. Axis Control 48 all system can be represented as shown in Fig. 4.2b, where u(z) is the control signal, d(z) is the disturbance considered to act at the control signal stage, which can be approximated as, d(z) = Z{fd(s)}/Gd (4.3) and x(z) is the sampled axis position. The discrete-time transfer function B{z)/A{z) can be written as, Biz) _ 7 \Gd-Gm{s)\ _ J i - e ^ r Gd-GJsY A(z) ~ Lz0H\ s J " Z {~ S b0zm + bxzm-1 + ...+bm , n > m (4.4) zn + axzn~ 1 + ... + an The above model is used in axis tracking controller design. In Section 4.2.1, pole-placement controller design to stabilize and modify the existing axis dynamics is presented. Then in Section 4.2.2, a disturbance observer is added to estimate the disturbance d{z) on-line and counteract it. Friction force, being a predictable disturbance, is precompensated for using a friction model and knowledge of reference trajectory in Section 4.2.3. Furthermore, the axis dynamics achieved by the pole-placement controller are cancelled in a stable manner by the addition of a noncausal feedfoward filter in Section 4.2.4. This yields an overall transfer function which is very close to unity for low frequencies and has zero phase shift for all frequencies, which substantially improves tracking performance. The components of the tracking control scheme are then brought together in Section 4.2.5. (a) ZOH 1 _ScJL s T ™ , (b) \d(z) B(z) A ( z ) x(z). Figure 4.2 : (a) Approximate Transfer Function of a Current Controlled Servo; (b) Discrete-Time Model of Axis Dynamics. Chapter 4. Axis Control 49 4.2.1. Pole-Placement Control In this section, the stabilization and modification of axis dynamics using a pole-placement controller (PPC) is presented. Minimum degree PPC design without plant zero cancellation [3] is implemented. The effect of disturbances are not considered at this stage, but they are left to be dealt with using on-line and feedforward compensation approaches in Sections 4.2.2 and 4.2.3. Pole-placement control structure is illustrated in Fig. 4.3. The axis transfer function B(z)/A(z), is modified with a feedforward filter T(z)/R(z) and feedback filter S(z)/R(z), to yield an overall transfer function of Bm(z)/Am(z), which reflects the desired dynamics between reference position x*e^(z) and axis position x(z) • T\z) R(z) u(z) B{z) A(z) x(z) S(z) R(z) Xfefiz) Bm(z) Am(z) x(z) Figure 4.3 : Pole-Placement Position Controller Design. For PPC controller design, first the model transfer function Bm(z)/Am(z) and an additional polynomial A0(z), which contains the observer poles of the closed loop system are specified. Then, the controller polynomials R(z), S(z), and T(z) are solved from Eq. (4.5) and (4.6), which are obtained by matching the overall closed loop transfer function with that of the model. B(z)T(z) = A0(z)Bm(z) (4.5) A(z)R(z) + B{z)S(z) = A0(z)Am{z) (4.6) The model denominator Am(z) is chosen as a stable polynomial (i.e. all of its roots are within the unit circle), such that deg Am(z) = deg A(z). Furthermore, its low frequency roots, which are the dominant poles of Bm(z)/Am{z), are chosen to reflect the desired performance specifica-tions. Chapter 4. Axis Control 50 For example, if performance specifications are given in terms of rise time tr and maximum overshoot Mp to a step input, the continuous-time poles to yield these specifications can be expressed as [35], * i , 2 = - C < o „ ± ; c o „ V T T 2 (4.7) where the natural frequency con and damping ratio t\ are calculated from, ln(Mp) Ti - atan Jn2 + \n2(M) (4.8) Hence, desired discrete-time dominant closed loop poles z, and z 2 are obtained by mapping the continuous-time poles sx and s2 into the z domain as [34], -1,2 (4.9) where T is the control loop sampling period. The model denominator Bm{z) is chosen to contain all plant zeros; hence BJz) = p f i ( z ) where 3 is a scaling factor to obtain unit d.c. gain as, (4.10) Z = Am(z) =l-> P= *(z) (4.11) z= 1 Considering that a minimum degree solution is desired, deg R(z), deg S ( z ) , deg T(z) and deg A 0 ( z ) are chosen to be equal to deg A{z) - 1 [3]. Hence if deg A(z) = n, then R(z) = zn'] + rxzn~2 + ... + r n _ , S(z) = s0zn~] + slzn~2 + ... +sn_] T{z) = f 0 z " - 1 + f 1 z ' i - 2 + . . . n - 2 AQ(z) = z +aoAz +...+aon__ (4.12) (4.13) (4.14) (4.15) Chapter 4. Axis Control 51 A0(z) is chosen as a stable polynomial, to contain the desired observer poles. The choice of observer poles is based on a trade off between disturbance rejection and output noise sensitivity properties. Better disturbance rejection is obtained by choosing faster observer poles, but this also makes the servo loop more sensitive to measurement errors [3]. The closed loop dynamics induced by AQ(z) are cancelled out by T(z), since T(z) is set to T(z) = pA c(z) (Eq. (4.5), (4.10)). R(z) and S(z) are solved from Eq. (4.6), which is referred to as the Diophantine Equa-tion. 4 . 2 . 2 . Disturbance Rejection Through a State Observer In this section, the discrete-time model of the drive is first expressed in state space. Then the model is augmented to contain the input disturbance J as an extra state. A steady state Kalman Filter based state estimator is designed to provide the optimal disturbance estimate cl, in the pres-ence of input noise, such as DAC quantization, disturbance variations such as changing cutting or friction conditions, and measurement noise, such as position measurement quantization. The esti-mated disturbance cl is then injected back into the control signal to cancel out the actual distur-bance, and provide robustness against disturbances in the servo. The discrete-time model in Eq. (4.4) can be expressed in state space as, xl (k +1) xn(k + l) 0 («-i><i -a„ - a L « - i n - l x(k +1) 1 '• + xAk) •u(k) x(k) m = [oHn_m) K ... b\ * „ ( * ) x(*) (4.16) Chapter 4. Axis Control 52 where x(k) is the state vector, u{k) is control input, O is the system matrix, T is the input matrix, C is the output matrix, and x(k) is axis position. In_] is an identity matrix of ( n - l ) x ( n - l ) . O n X m i s a n x m matrix of zeros. O, T, and C are obtained in a canonical form, from the input - output representation in Eq. (4.4) through realization. They may also be obtained via other approaches, such as starting with a state space model in continuous-time, and discretizing it [34]. Using similarity transformations [34], a different set of states may also be cho-sen, which reflect physical variables of interest, such as axis velocity or flexures along transmis-sion elements. All discrete-time state-space representations are acceptable as long as they provide an observable model [3]. In estimation of input disturbance d via a state observer, first a dynamic model for distur-bances has to be assumed. In this work, it is assumed that the input disturbance is a sequence of perturbed piecewise constant signals, expressed as, where d{k) is the disturbance signal, and wd(k) is the perturbation. It is assumed that wd(k) is an uncorrected random sequence with a normal distribution of zero mean and Rw d variance. Apart from input disturbance, two other sources of noise in the actual system will be DAC (Digital to Analog Converter) and position measurement quantization. If the smallest difference in control voltage that can be generated by the DAC is 8w , the actual control signals will lie in a range of -bu/2 to 8w/2 of the commanded control signal. In this case, if u(k) is the com-manded control signal, and uACT{k) is the actual one after DAC quantization, the control signal error tt defined as, will have a uniform distribution with zero mean between - 8 M / 2 and Sw/2, as shown in Fig. 4.4. The probability density function of this distribution can be expressed as, d(k+l) = d(k) + wd(k) (4.17) u(k) = uACT(k)-u(k) (4.18) Chapter 4. Axis Control 53 p'u) = \ ' - 8 W / 2 < M < 8 W / 2 [ 0 , otherwise (4.19) The variance of the distribution can be calculated as, R, = E f V u - E\ii] T Su/2 1 _ 2 SU7 = E\u]= fp(u)• u2 • du - [ —u2du = -~ -<5u / 2 12 (4.20) where E[ ] denotes expectancy. A similar case is also valid for the measured axis position. The measured axis position xMEAS(k) will have the measurement quantization error X(k), on top of the actual axis position x(k), such that, *(*) = x(k)-xMEAS(k) (4.21) If for example, position measurements are obtained through an encoder with a resolution of 8x, the measurement error x(k) will have a uniform distribution of zero mean and a variance of Rx = 5*2/12 (4.22) kp(u) 1/hu -ou/2 hu/2 Figure 4.4 : Probability Density Function of Control Signal Error. An augmented state space model, which includes the disturbance, as well as input and mea-surement noise can be written in the form, Chapter 4. Axis Control 54 'x(k + l) d{k +1) o r o 1 z(Jfc + l) \(k) d(k) + r 0 F •u(k) + x(k) d(k) (4.23) + x(k) In the above equation, z(k) is the augmented state vector, which contains the disturbance d{k) in addition to the other states x(k). O z , Tz, and Cz are the new system, input and output matrices respectively. W is the process noise matrix and w(k) is the noise input, which contains DAC quantization H(k) and disturbance perturbation wd(k). xMEAS(k) is measured axis position, and X(k) is the position measurement error. Using the formulation in Eq. (4.23), a disturbance observer structure as shown in Fig. 4.5 is proposed. Using known control signal values u(z), and axis position measurement xMEAS(z), the input disturbance d(z) is estimated as cl(z), in the presence of DAC quantization and position measurement errors, U(z) and x(z) respectively. d(z) u'(z)m0u(z) A 1 d(z) \u(z) B(z) A(z) x(z)\ X(z) IXMEAS >0 t » Disturbance Observer (z) Figure 4.5 : Disturbance Observer Implementation. The disturbance estimate d(k) is obtained by estimating the augmented state vector z(k), with a fixed gain state observer [3] as, t(k\k-l) = ®Z-Z{k-l\k- l) + Tz- u(k- 1) (4.24) Chapter 4. Axis Control 55 «W = xMEAS(k)-Cz-Z(k\k-l) (4.25) t(k\k) = Z(k\k- 1) +K0BS • e(k) (4.26) In Eq. (4.24), i{k - 1 \k - 1) is the state estimate at time k - 1. z(fc| /c - 1) is the prediction of the state vector for time k, based on knowledge up to time k - 1. In Eq. (4.25), the measured axis position xMEAS(k) is compared to the axis position that would have resulted from the state predic-tion z(k\k- 1); which is the Cz • z(k\k - 1) term, and the error between the two e(k) is calcu-lated. In Eq. (4.26), the state prediction is readjusted based on the output prediction error e(k), through the observer gain KOBS. After each cycle, the disturbance estimate cl(k), which is the last element of z(k) is fed back into the control signal with negative sign, to cancel out the effect of the actual disturbance d(z), as shown in Fig. 4.5. By combining Eq. (4.24), (4.25), and (4.26), the observer dynamics can be written as, z(k\k) = (I-KOBS-Cz)0z-t(k-l\k-l) + (I-KOBS-Cz)Tz-u(k-l) (4.27) In classical observer design, the gain K0BS is chosen such that the state estimation dynamics posses prespecified eigenvalues, eig((I-KOBS-Cz)Oz) = XvX2,...,ln. (4.28) where X.,, A , 2 , A . n also happen to be the design parameters. In this work, the observer gain KOBS is determined using a steady state Kalman Filter [25] design approach. This enables the incorporation of DAC quantization noise a(k), disturbance perturbation wd(k), and position measurement error X(k) into the state observer design such that the state estimates in the presence of these factors are closest to the true ones. The implementation of Kalman Filter based fixed gain observer design requires some assumptions about the nature of the plant and signals. These assumptions are: 1°) The plant is linear and time invariant (LTI). Chapter 4. Axis Control 56 2°) The states z and the output xMEAS have normal distributions. Furthermore, they are jointly normal distributed. z ~ N(z0, Rz) , xMEAS ~ N(xMEAS^ Q, RxMEAS), z XMEAS H *0 KXMEAS,0 ^z ^z,xMEAS RxMEAS,z RxMEAS where N{ ) indicates normal distribution. z 0 is the mean value of states, xMEAS 0 is the mean value of position measurements, RZ is the covariance of states, RXMEAS 1S> m e covariance of mea-surements, RZ X M E A S and R X M E A S Z are the cross-covariances. Theses mathematical terms can be written as, z0 = E[z], xMEAS 0 = E[xMEAS], RZ = E[z • zT], R X M E A S = E[xMEAS • xTjEAS], RxMEAS,z = E&MEAS ' Z ^ ' ^z,xMEAS = E[Z ' XMEAS^ 3°) The input and measurement noise (w(k) and x(k) respectively) are uncorrelated signals with normal distributions and zero mean. Thus, w~N(0,Rw),x~N(0,RX) E[w(j)w(k)] = bjk-Rw,E[xU)-x(k)] = 8JKRX In the above equations RW is the input noise covariance, which can be expressed as, Ru 0 0 R w, d (4.29) assuming that DAC quantization error u(k) and disturbance perturbation wd(k) are indepen-dent of each other. 8^ is the Kronecker Delta operator, which is defined as, ^ = 1 ' j = k (4.30) Defining the state estimation error Z(k) as Chapter 4. Axis Control 57 Z(k) = Z{k)-i{k) (4.31) where z(k) is the actual state vector, and z(k) is the estimated one. The fixed observer gain K0BS to minimize to cost function J = E[z(k) • ZT(k)] (4.32) which is the variance of state estimation errors, can be obtained by iteratively solving the fol-lowing equations until they converge to a steady state value [25,33], P(k\k-1) = Oz-P(k-l\k-l)-0T+W-Rw-WT (4.33) * W f e ) = P(k\k-l)-CT-(Rx + Cz-P(k\k-l)-CTz)-x (4.34) P(k\k) = (I-K0BS(k)-Cz)-P(k\k-l) (4.35) In the above equations, P(k - 11 k - 1) is the state estimation error covariance for time k - 1, which can be expressed as, P(k-\\k-\) = E[Z{k-\)-ZT{k- 1)] (4.36) P(k\ k - 1) is its prediction to the next step, based on knowledge of plant dynamics (O z) and input noise (W and Rw). Eq. (4.34) presents the calculation of the optimal state estimation gain K0BS(k), in the presence of input and measurement noise. Then the state estimation error covari-ance is updated P(k\k), using the new state estimation gain K0BS(k) in Eq. (4.35). In the off-line iterative solution for the optimal observer gain K0BS, P(k\k) is initially set to a large value (for example P(0|0) = a 2 • / where a » 0) and KOBS(0) is set to zero. KOBS is obtained when the iterative algorithm converges, within 50 or 100 samples. Its steady state value is then used in Eq. (4.27) to estimate the state I on-line, which also includes the disturbance esti-mate 5. It should be noted that some of the underlying assumptions of the Kalman Filter are violated during the design process. The first violation is that there is no guarantee that the states and mea-sured position values will have normal distributions. The second violation is that the statistical Chapter 4. Axis Control 58 distributions of DAC and position measurement quantization errors are not normal, but they are uniform. The variance values that belong to these uniform distributions are used as if they were of normal distributions. In spite of these violations, the Kalman Filter is still preferred over the fixed gain state observer for its ability to locate the "optimal" location of observer poles for given plant dynamics and noise properties. As far as design parameters are concerned, the only parameter that needs to be chosen is the disturbance perturbation covariance Rw d , whereas the other covariances RH and Rx are known from the physical system. If the disturbance characteristic is known, Rw d can be chosen using this knowledge. Otherwise, Rw d is chosen on a trial and error basis. One interesting property of using a disturbance observer is that, in addition to cancelling out disturbances, it also provides robustness against parameter variations if the observer dynamics are fast enough. This concept is shown, without formal proof in the following. Let the nominal plant dynamics used in observer design be, H"(z) = B"(z)/An(z) (4.37) and the actual plant dynamics be, H(z) = B(z)/A(z) (4.38) Neglecting the influence of quantization errors u(z) and x{z), the actual axis position can be written as, x = H-(u + d) (4.39) On the other hand, the expected axis position xn in the presence of no disturbances will be, xn = Hnu (4.40) The difference in the x and xn will be accounted an equivalent disturbance 5 acting at the nominal plant input, to yield the observed axis position as, x = Hn-(u + ^ ) (4.41) Chapter 4. Axis Control 59 Combining Eq. (4.39) and (4.41), it can be seen that the disturbance estimate d can be expressed as, d^ltzMl.u + i L . d (4.42) Hn Hn This estimate is then fed back into the control law, in the form, u = u'-d (4.43) where «' is the axis control signal before disturbance compensation. The disturbance esti-mate in Eq. (4.42) then becomes d = H~J*N • u' + d (4.44) H and the plant output in Eq. (4.39) can be expressed as, x = H(u + d) = H-(u,-d + d)=H-(u'-H~HH" -u'-d + dj = Hn • u' (4.45) Therefore, not only the disturbance force d is cancelled, but also the actual plant H is made to behave like the nominal one Hn, as long as the disturbance estimate d is obtained quick enough. However, making the observer bandwidth too high would result in an extra sensitivity to measurement errors x. To get an "optimal compromise" between measurement noise sensitivity and disturbance rejection performance, Kalman Filter based observer design was preferred. 4.2.3. Feedforward Friction Compensation In Section 4.2.2, a method of estimating disturbances on-line and compensating for them in the control signal was presented. In this section, friction force, which is a disturbance that can approximately be known ahead of time, is precompensated for. Although the state observer is capable of estimating friction force, there is a delay between a transient in friction conditions (such as turning around a corner or crossing a quadrant in a circular path), and the estimate to con-verge to the correct value. This delay is governed by the observer poles, which are the eigenvalues Chapter 4. Axis Control 60 of (I - KOBSCZ) • <J>Z in Eq. (4.27). The disturbance estimation delay results in poor contouring performance where such transients occur. Typical friction characteristics for lubricated metallic surfaces in contact can be described by the Streibeck curve [2], as shown in Fig 4.6. fs 1. Static Friction-2_^( Fric < i f l III :tion Streibi , Effei IV Force ;t Viscous Friction Coulomb Friction IV III II Sliding Velocity v ^ II. Boundary Lubrication ^ III. Partial Fluid Lubrication ^ IV. Full Fluid Lubrication Figure 4.6 : The Relation Between Sliding Velocity and Friction Force for Two Lubricated Metallic Surfaces in Contact. If a tangential force is applied to the surfaces, it will first work to elastically deform the asper-ity junctions (local spikes which are in contact between the two surfaces). This phenomenon is referred to as Presliding Displacement or Microslip. If the tangential force exceeds a certain threshold, the junctions will break, causing sliding to start. This threshold is referred to as the Static Friction value. It is noted in tribology literature that static friction level will be a function of Dwell Time, which is the duration that the surfaces are at rest before sliding occurs. Once breakaway occurs, a film of lubricant will not be able to build between the contact sur-faces at very low velocities. In this case, sliding will occur between solid boundary layers of lubri-cant that are stuck to the metal surfaces. This regime of the Streibeck curve, is referred to as Chapter 4. Axis Control 61 Boundary Lubrication. Unless the viscous forces of the lubricant are greater than the shear strength of the boundary layer, the boundary lubrication regime will often have a larger friction force than partial fluid lubrication and full fluid lubrication regimes. As the sliding velocity between the two surfaces increases, more lubricant is drawn into the contact zone, which allows a lubricant film to be formed. At this stage, the film is not thick enough to completely separate the two surfaces, and the contacts at some asperities still affect the friction forces. This regime is named as Partial Fluid Lubrication. As partial fluid lubrication increases, solid to solid contact between the boundary layers decreases, which results in the reduction of friction force with increasing velocity. Partial fluid lubrication is inherently an unsta-ble regime; with increasing velocity, the lubricant film gets thicker, hence reducing the friction force and allowing further velocity increase. This regime is difficult to model, as it involves the interaction of elasto-hydrodynamic phenomena with surface roughness properties. Furthermore, the changes in friction force do not immediately follow the changes in velocity or load conditions, but there is a phase lag between the two, referred to as Frictional Memory which may be in the order of milliseconds to seconds. After sliding velocity reaches a certain level, a continuous fluid film is formed which com-pletely separates the two surfaces. In this regime, referred to as Full Fluid Lubrication, the viscos-ity of the lubricant is dominant on the friction force. If the two surfaces are conformal (i.e. they have same radius of curvature) hydrodynamic lubrication occurs. If the surfaces are nonconfor-mal, elasto-hydrodynamic lubrication occurs, which usually results in larger friction forces and more wear compared to hydrodynamic lubrication. Neglecting the time dependent properties of friction, such as the increase of static friction with dwell time, and the phase lag between varying load and velocity conditions and its outcome in friction force, friction dynamics may be incorporated into the axis model shown in Fig. 4.2a, which results in the block diagram shown in Fig. 4.7. Chapter 4. Axis Control 62 The friction force fj is considered to be dependent on axis velocity v, position x and actua-tion force / . Velocity dependence arises from the nature of the Streibeck curve. Position depen-dence assumes that friction properties will vary along different locations on the same axis, therefore an envelope of Streibeck curves in the form fs(x, v) will occur, where axis position is also a parameter. Actuation force dependence has a decision making role in determining whether the static friction force will be overcome to initiate motion, when the axis is at rest. The expres-sion for friction force fj- may be written as, ff(x,v,f) = 0 if V = 0 & / = 0 -/ if V = 0 & />0 & f<fs+TAT{x) -/ if V = 0 & f<0 & fs-TAT(x)<f ~fsTArix) if V = 0 & />0 & f>fs+TAT(x) ~fsTAr(x) if V = 0 & f<0 & fs-TAT(x)>f - / / (* , v) if v>0 -/;(*, v) if v<0 (4.46) The first case of Eq. (4.46) attributes to no actuation and when the axis at rest. The second and third cases deal with the actuation force not being large enough to overcome the static fric-tion. The fourth and fifth cases handle the beginning of motion when the axis is at rest and the actuation force is large enough to overcome the friction forces. The last two cases account for fric-tion properties when the axis is in motion. In Eq. (4.46), fs+(x, v) refers to the part of the Streibeck curve that corresponds to positive velocity and fs'(x, v) to negative velocity (see Fig. 4.6). The static friction values fsTAT and f§TAT are obtained from these two curves as, /STAT(X)= l im/ / (* ,v) , fs-TAT(x)= l im/;(x, v) v->0+ v->0" (4.47) Chapter 4. Axis Control 63 ff Friction Dynamics GJs) Figure 4.7 : Interaction of Friction with Axis Dynamics. Using the knowledge of friction dynamics described in Eq. (4.46) and (4.47), a feedforward friction compensation scheme is proposed as illustrated in Fig. 4.8. The servo control signal u. of other control components, such as the pole-placement controller, or the disturbance observer, is joined with the friction compensation control signal My, which attempts to cancel out the effect of the actual friction force fj-. The feedforward friction compensation block uses reference position signals xrep and reference velocity estimates vre^ obtained through backward difference time derivative estimation. Feedforward compensation involving reference input signals is preferred over feedback compensation using positional readings for two main reasons. The first reason is to provide the friction compensation block with preview action to predict and cancel out the actual friction force before it has a degrading effect on the contouring performance. The second reason is that reference position and velocity signals are much less noisier compared to those obtained via feedback. Therefore, they provide a more accurate description of the friction conditions to be encountered. Ve/ Z± Tz Friction Compensation / u ZOH fl Friction Dynamics H~i O- Gm(s) Figure 4.8 : Feedforward Friction Compensation Scheme. Chapter 4. Axis Control 64 The friction compensation control signal Uj is calculated using the rule base presented in Table 4.1. First, the compensation strategy is chosen based on the signs of the current and previ-ous reference velocities. Then, sliding and static friction models Jj{x, v), JSTAT(x) » a n a " JSTAT(X) are used to compute the control signal uA[k) that will cancel out the effect of the actual friction force fp when passed through the drive gain Gd. With this approach, if an accurate friction model is used, near perfect friction force cancellation is achieved. Considering Table 4.1, if the axis is at rest (Case 5), then no friction compensation is applied. If motion is starting from rest (Cases 4 and 6), then static friction is compensated for. Similarly, if a change velocity direction is detected, which indicates zero velocity crossing (Cases 3 and 7), static friction is again compensated for. On the other hand, if continuous unidirectional motion is of concern (Cases 1 and 9), then sliding friction is compensated for. Furthermore, if the axis is slowing down to zero velocity (Cases 2 and 8) no friction compensation is applied. Table 4.1: Friction Compensation Rule Base CASE sgn(v r e /A:- l ) ; sgn(f> r e /(*» "/(AO 1 - - (l/Gd)-?f(x(k),v(k)) 2 - 0 0 3 - + ~(\/Gd) -JsTAT 4 0 - - JsTAT 5 0 0 0 6 0 + - JsTAT 7 + - -(1/G^) - JsTAT 8 + 0 0 . 9 + + {WGd)-Jf{x{k),v(k)) Chapter 4. Axis Control 65 4.2.4. Feedforward Compensation of Axis Dynamics In Section 4.2.1., desired axis dynamics Bm(z)/Am(z) were achieved by modifying the existing axis dynamics B(z)/A(z). However, it is noted that to achieve perfect tracking, the transfer function between the reference signal xrej and the actual axis position x should be equal to unity. If the closed loop transfer function Bm(z)/Am(z) has stable and well-damped poles and zeros, this can easily be accomplished by cascading the model transfer function Bm{z)/Am{z) with its inverse as in Eq. (4.48). This concept was presented by Tomizuka as Perfect Tracking Control (PTC) [45]. ^ = ^ B j n ( z ) = Discrete-time models of axis transfer function typically contain uncancellable zeros at, or very close to - 1 . In pole-placement controller design, this zero is not cancelled, but is included into the model transfer function numerator Bm(z) to maintain stability. This hinders the possibil-ity using the perfect tracking control approach. Instead, an alternative inversion technique, again developed by Tomizuka is implemented. The model numerator can be factorized into its stable and unstable components as follows: = B+{z)-B^z) (4.49) where B+(z) contains all of the stable and well-damped zeros and Bm(z) contains the unsta-ble or poorly damped ones. Assuming that the model denominator Am{z) is stable, a feedforward filter in the form, _ Am(z)Bm(z-') xrefiz) [B - ( l ) ] 2 f i m + (z) (4.50) is cascaded to the existing axis dynamics, as shown in Fig. 4.9. Hence the overall transfer function becomes, Chapter 4. Axis Control 66 x(z) _ K(z)Bm(z-1) B+{z)-Bm(z) ^ Bm(z)Bm(z-1) xrefiz) [B-(\)]2Bm+ (z)' AJz) [Bm(l)]2 It can easily be seen that the above transfer function has zero phase shift for all frequencies and a gain very close to unity for low frequencies. This feedforward control strategy is named as Zero Phase Error Tracking Control (ZPETC) for its phase shift property [45] . The zero phase error tracking controller is a noncausal filter and requires the reference values xrej- to be known d + s steps ahead of time, where d is the model transfer function delay (d = deg(Am) - deg (5 m ) ) , and 5 is the number of unstable or poorly damped zeros of Bm (s = deg(Bm)). This is an acceptable requirement for CNC applications, where the desired refer-ence trajectory is already specified in the NC code. When the axis dynamics are known accurately and there are no disturbances, ZPETC results in excellent tracking performance. However, its feedforward action results in higher control sig-nals which can result in actuator saturations. To avoid this, smoother trajectories with controlled jerks and accelerations should be used. If closed loop dynamics vary, the tracking performance of ZPETC significantly degrades, due to the cancellation of the incorrect dynamics [37]. Other feedforward control strategies, as well as various improvements to ZPETC have been proposed in literature, some of which have better tracking performance under ideal conditions. In this work ZPETC is chosen for its ability to provide a substantial tracking improvement, in spite of its simplicity. Chapter 4. Axis Control 67 Xrefiz) Bm(z-l)Am(z) >*e/{z) lBm(l)]2B + (z) T(z) R(z) u(z) B{z) Hz) x(z) S(z) R(z) Zero Phase Error Pole-Placement Control Tracking Controller E q u j v a l e n t c / o s e d . L o o p B+(z)Bm(z) Transfer Function : A m (z) Figure 4.9 : Insertion of a Feedforward Controller Before Closed Loop Axis Dynamics. 4.2.5. Overall Axis Tracking Control Scheme The components presented in Sections 4.2.1 to 4.2.4 and are combined into an axis tracking control scheme that minimizes tracking errors, in the presence disturbances and parameter varia-tions. The scheme is shown in Fig. 4.10. The reference position signal xref is prefiltered by the zero phase error tracking controller (ZPETC block) as x*rej to enhance tracking performance, and is fed into the feedforward compo-nent of the pole-placement controller T(z)/R(z). The pole-placement controller, consisting of the T{z)/R(z) and S{z)/R{z) blocks, is the core part of the controller, which realizes the desired closed loop axis dynamics. The friction compensation block uses the reference position signal xrej and the estimated reference velocity signal vrej- to predict changing friction conditions and cancel out the effect of the actual friction force f^. Finally, the disturbance observer estimates the remaining of the total disturbance fd, after the friction force fj has been cancelled by the feedfor-ward friction compensation signal u^. It should be noted that the success of friction compensation depends on how well the used friction model represents the actual friction conditions. It is naive to expect that the effect of friction force will perfectly be cancelled out by u^. What remains of the friction force cancellation, which can be expressed as, Chapter 4. Axis Control 68 f/=ff-Gd-uf (4.52) in combination with the cutting force fc will constitute the effective disturbance force fd as, fd = fc +//' =fc + ^ f- Gd • Uf> (4-53> The effective disturbance force, as well as equivalent disturbances accounted to parameter variations are estimated by the disturbance observer. Then, the disturbance estimate 5 injected back into the control signal to cancel the effect of fd' and parameter variations. The friction compensation signal ny is injected after the disturbance observer, and not before it. If this was not the case, the observer would also be estimating the actual friction force, although it is already compensated for, and would be trying to compensate for it a second time, which would lead to overcompensation. Kref Friction Compensat ion ZPETC "•ref T(z) R(z) 0 - K > f u ZOH f f \ fc f Gm{s) S(z) R(z) Disturbance Observer S T rri Figure 4.10 : Proposed Axis Tracking Control Scheme. 4.3. Cross-Coupling Control In Section 4.2, a control strategy to reduce contouring errors indirectly, by minimizing axis tracking errors was covered. In this section, a different control approach is presented, which aims minimize contour errors directly by estimating them in real-time and using them in the feedback Chapter 4. Axis Control 69 control law. This approach, named as cross-coupling control is used on top axis tracking control to obtain an additional improvement in the presence of disturbances and parameter variations. Cross-coupling control structure for a two-axis cartesian system is shown in Fig (4.11). Both the x and y axes have individual axis tracking controllers which produce the control signals utrX and utrY to enable the actual axis positions x and y follow the reference positions xref and yTej. In addition, the axial components of contour error ex and e y are estimated using measured and reference position values. The contour error estimates are then passed on to the contour error reg-ulators GccX and GccY, which are usually PUD controllers, that produce the control signals uccX and uccY to eliminate ex and eY. The tracking and cross-coupling control signals for each axis are then combined and fed into the axis drives. yref X Axis Tracking Controller UtrX J*X Cross-Coupling uccx Controller Contour Error Estimation X Axis Dynamics GccX UccY u ccY Y Axis Tracking Controller U^yiU Y Axis Dynamics y Figure 4.11 : Cross-Coupling Control Structure. The success of cross-coupling control strategy depends on the accuracy of the contour error estimates ex, eY and the selection of the contour error regulators GccX and GccY. Various approaches have been suggested in literature for obtaining accurate contour error estimates [10,28]. Regarding these aspects, a novel contour error estimation algorithm for arbitrary paths is presented in Section 4.3.1, followed by the choice of contour error regulators in Section 4.3.2. Chapter 4. Axis Control 7 0 4.3.1. Real-Time Estimation of Contouring Errors A novel method to accurately estimate contour errors for arbitrary paths in real-time is pre-sented. The method reconstructs the desired contour using reference trajectory data, and evaluates the shortest distance between the desired contour and the actual tool position. The reference points coming out of trajectory generation are stored in a buffer. Among these points, the nearest one to the actual tool position is located and used in contour error estimation. Considering Fig. 4.12, if the actual tool position is P, and the nearest reference point is Rjt the closest reference path segment, which will be either before /?, as /?, _]/?,-, or after it as + j is used in the estimation of the contour error £. In regions where the contour error is not orthogonal to the reference path (i.e. there is no perpendicular line from the actual tool position to either of the path segments on two sides of the closest reference point), then the distance between the clos-est reference point and the actual tool position is taken as the contour error. This can be seen in the shaded area in Fig. 4.12, where Rk is the closest reference point, and the contour error is taken as R.R. Considering Fig. 4.13a, the contour error estimation approach is determined by evaluating into which of the three regions the actual tool position falls. These regions are determined by the orientation of the two path segments Rt _ j Rt and RiRi + j with respect to each other. These are the path segments before and after the closest reference point Rt. If the actual tool position P falls into Region I, then the contour error £ is estimated using the segment R^^R;. If P falls into Region n, then RiRi + , is used in contour error estimation. If P falls into Region in, where the contour error is not orthogonal to either of the path segments, then RtP is taken as the contour error. The bounds of the three regions are determined by the normals of the path vectors, and the bisector of the angle , . Considering Fig. 4.13b, for the reference points Rj_ i (*,-_ i , yt _ i ) , #,•(*,-, y,) ,Ri+i (•*,• + ,, y,- + ,) the path vectors ri and ri + j can be written as, Chapter 4. Axis Control 71 r: = R: ,R: = i - i " i - rx, i •1 + r y , « \7 = (*,• - xi- i ) • i + ( y « - >«• _ i ) -7 r / + 1=/U? /*«• +1 = r . T , i + 1 • ' + ry,«• +1 -7 = (*,• +1 -*,•) • i + (yi+1 - y ( ) / (4.54) where i and / are the unit vectors in the x and y directions respectively. Furthermore, the actual tool position P(xp, y ) with respect to the nearest reference point Rt can be written as, P = p x i + p y j = R~P = {xp-xA-i + {yp - yA j (4.55) The normals Nt and Nt + , (or normal surfaces in the three dimensional case), which are per-pendicular to r • and rt + , can be written as, Nt =  rx,c (x-xi) + ry,i - (y-yt) = o Ni+ \ = rx,i+c(x-xi) + ry,i + c(y-yi) = o Considering the normalized path vectors rf and r f + , defined as, (4.56) v.« 1 \ r \ ri+\ ~ rx, i + 1 ri= rx\i-i + r" y,i+\ J ~ rx,i-l + ry,i-J + r i + r[\ i + i + ry,i+\-J lr2 . *J x,i + 1 + ry, i + 1 (4.57) the normal Bt defined as the normal (surface) of rf + r f + , , which will bisect the angle Ri _ ! RiRi + , can be written as Bi = (rx,i + r x , i + 0 - ( x - x i ) + (''ny,i + ryJ+0-(y-yi) = 0 (4-58) For the normal JV. = rxj- (x-x{) + r t - (y-yA = 0 obtained from the vector ri = rx i:''- + ry i '7 ' = ^ denote the region that is on the normal (surface), Nt > 0 the region that is off the normal in the direction of r •, and N( < 0 the region that is off the normal in the direction of -ri. This also holds for Ni + , and Bi which are normals of the vectors r(- + , and rf + r f + j respectively. Chapter 4. Axis Control 72 Hence, the three regions in Fig. 4.13a are defined as follows: Region I Region II Region IU B,<0 & JV..<0 Bt>0 & Ni+l>0 Nt>0 & Ni+l<0 (4.59) Considering that the region evaluation is done for the actual tool position P, using Eq. (4.55), (4.56) and (4.58), Eq. (4.59) can be re-expressed as, (ri+r?+\)-P<0 & rrp<0 (rf+rf+l)-p>0 & ri+]p>0 rrp>0 & ( + l •p<0 Region I Region II Region IU (4.60) Eq. (4.60) will hold as long as the angle a from r(- to ri + } is not 180°. If this is the case (i.e. rf + r ? + l = 0 ) ' m en only the condition for Region EI is checked. If the tool position is not in Region HI, it is considered to be in Region II. This can be expressed as follows: i+ l = 0 rrp>0 & ri+rp<0 otherwise Region Ul Region II (4.61) As stated before, for the actual tool position being in Region I or II, i / ? , - or RtRi+l are taken as the closest path segments respectively. Considering the magnified view in Fig. 4.12, if the nearest path vector is called r (which will either be r(. or rl + j ) , the contour error 8 can be estimated by projecting the tool position vector p onto r and then subtracting the projection p' from p. Writing the closest path vector r as r = rx • 1 + ry J (4.62) the projection of the actual tool position p on r can be expressed as, Chapter 4. Axis Control 73 P ~ — • 0 = % — " • (rx • i + ry j) 2 2 r + r x y Hence, the contour error estimate 8 can be obtained as, Z = p-p = and its magnitude is, . -rxPy + ryPx 2 2 r + r x T ' y (ry • i (4.63) (4.64) 181 = -rxPy + ry-Px 2 2 r + r x y (4.65) If the actual tool position is in Region III, the contour error is not orthogonal to either r ( , or ri+ , . In this case, since the closest point to the tool position on the defined path is the closest ref-erence point Ri, the contour error is taken as the distance between Rt and P as, 8 = v i + e -j=p = P x i + p - j (4.66) Actual P Tool ^ - ^ ^ p Position 8 y Contour Error not Orthogonal to Reference Path Figure 4.12 : Contour Error Estimation Using Closest Path Segment or Reference Point. Chapter 4. Axis Control IA Figure 4.13 : (a) Different Regions for Contour Error Estimation; (b) Normals that Determine the Different Treatment Regions. To save computational time, the closest reference point scanning is not done throughout the whole buffer of reference points, but it is done only within the vicinity of the closest reference point found in the previous cycle. The proposed algorithm can easily be extended to the three-dimensional case without any change of formulation. With this approach, continuous paths as well as sharp corners are handled in a unified manner. Contour errors are estimated as accurately as the reference path allows without the need for prior knowledge of the path shape, which decou-ples the contour error estimation and trajectory generation problems [28,10]. In contrast to some cross-coupling control implementations in literature [26,28,10], not only the contour error, but also its axial components (e^ ,e ) are estimated. Hence the problem becomes decoupled at the ref-erence signal stage rather than at the control signal stage, enabling dedicated contour error regula-tors to be used for each axis [43]. This is particularly advantageous if the dynamics of the two axes are different. Chapter 4. Axis Control 75 4.3.2. Contour Error Regulation Implementing feedback control based on contour error brings coupling between the axis dynamics. During steady state linear motion, the contour error E, and its axial components ex and eY become a linear function of the axis tracking errors which is dependent only on the direction of the reference path. Hence, the cross-coupling control problem becomes a linear control system problem which simplifies design of contour error regulators GccX and GccY, and the associated stability analysis [26,43]. However, this is not the case when the reference path contains curves (e.g. circular or spline interpolation) and sharp corners. Therefore, an intuitive approach, rather than an analytical design technique is followed. The contour error regulators are chosen as PID controllers. The parameters of these controllers are tuned to enable further contour error reduction on top of the axis tracking control scheme for ref-erence trajectories of interest, especially in the presence of disturbances and parameter variations. The tuning is carried out iteratively on a trial and error basis, until smallest contour errors are obtained. 4.4. Overall Contouring Control Scheme Cross-coupling control strategy presented in Section 4.3 is added to the axis tracking control approach is presented Section 4.2. The new control scheme is then combined with jerk limited tra-jectory generation covered in Chapter 3, to form a contouring control scheme suitable for high speed, high accuracy machining systems. The scheme is illustrated for a two-axis cartesian sys-tem in Fig. 4.14. It's extension to the three axis case is straightforward, however for a larger num-ber of axes, the kinematic configuration of the axes also has to be considered, which is not within the scope of this thesis. The zero phase error tracking controller and the feedforward component of the pole-place-ment controller have been combined into a single block for each axis. For the x axis, this block is T ' X{z)/Rx\z). The Sx(z)/Rx(z) remains as the feedback component of the pole-placement Chapter 4. Axis Control 76 controller. The FFRICX block is the feedforward friction compensation, and the OBSx block is the disturbance observer. The same descriptions also hold for the y axis. Cross-coupling control action consists of the Contour Error Estimation block and the contour error regulators PIDX and PIDY- It should be noted that the cross-coupling control signals uccX and uccY are injected into the axis control signals before the disturbance observer, for the observer to be able to function cor-rectly. The performance of each component significantly affects the performance of the other com-ponents in the scheme. The disturbance observers handle disturbances and parameter variations in the plant, so that pole-placement controller design always achieves the desired closed-loop dynamics. This is especially important when the zero phase error tracking control approach is used, to make sure that the correct axis dynamics are cancelled. Feedforward friction compensa-tion cancels the predictable friction force to enhance the tracking performance at transients such as corners and quadrants, where zero velocity crossings occur. The success of tracking perfor-mance closely affects the success of contouring performance. With the reduction of tracking errors, contouring errors are also reduced, leaving less to be dealt with by the cross-coupling con-troller. Chapter 4. Axis Control 11 is; c ntour rror o "•4—• K3 E O LU o co LU 0 > •S o U r -5 s Chapter 5 Simulations and Experimental Results 5.1. Overview In this chapter, the effectiveness of the control scheme proposed in this thesis is verified with simulations and experiments. A linear d.c. motor driven high speed x-y table is used as the exper-imental test platform. Simulations are presented for the "ideal" case where the dynamic proper-ties of the x-y table are exactly known, as well as a realistic cutting case, where axis gain mismatch and cutting forces are considered. Experimental results are also provided for high speed tracking tests, without cutting forces or explicit parameter mismatches. This chapter is organized as follows. A general description of the experimental test platform is presented in Section 5.2. This is followed by the modeling and identification of axis dynamics in Section 5.3. The introduction of cutting forces into simulation is discussed in Section 5.4. Con-troller design for the identified axis dynamics is accomplished in Section 5.5. Simulations and experimental results are presented in Sections 5.6 and 5.7. The chapter concludes with summary in Section 5.8. 5.2. Experimental Test Platform As an experimental test platform, a linear d.c. motor driven high speed x-y table (see Fig. 5.1) was used, which controlled by a TMS320C32 DSP board, interfaced with an axis control card. An Open architecture Real-Time operating System (ORTS) [16] was used to accommodate the trajec-tory generation and control algorithms. The axis control card and the real-time system ORTS were in-house developed at the Manufacturing Automation Laboratory in the Department of Mechani-cal Engineering, University of British Columbia. 78 Chapter 5. Simulations and Experimental Results 79 The control system configuration is illustrated in Fig. 5.2. The x-y table's linear motors are powered by the servo amplifier used in current control mode, which receives control signals from the axis control card, designated as "I/O Board". Position feedback is obtained through the incre-mental linear encoders on each axis. The real-time part of the control system, consisting of trajec-tory generation and control functions, runs on the DSP board. PC interface is realized by a Windows NT application, which hosts "light weight" tasks such disk access and user interface. The configuration of functions and communication links on the DSP and PC sides are realized via a script file. Some of the functions available in the CNC library are shown in Fig. 5.2. Figure 5.1 : High Speed X-Y Table Used as Experimental Test Platform. Chapter 5. Simulations and Experimental Results 8 0 i - ' j i i— L ; v s Motor power g e r y o amplifier Position feedback I DSP I/O Board Read NC-Program O Q_ PC2 DSP Link Windows NT ORTS DSP-Board Decode NC-Program DSP Generate trajectory - linear -circular -spline (quintic) CD > =3 o CD X UJ 6 z o Resampling - 0th order - 5th order Position control -P ID - P P C - C C C -ZPETC l/O-Devicedriver t Q . 2 Ui GO GO CD O O Figure 5.2 : High Speed X - Y Table Controlled with In-House Developed Real-Time System. 5.3. Modeling and Identification of Axis Dynamics The dynamics of a single axis are illustrated in Fig. 5.3. In the figure, u is the control signal coming to the amplifier as a current reference signal. KR and KH are the reference signal gains at preamplification stage. This is followed by the current limit, which is adjusted for safe continuous and peak current characteristics in accordance with the motor used. Ki is the current loop control gain where integral control is used, and Kp is the pulse width modulation (PWM) gain. The PWM limit is the maximum amount of voltage that can be delivered by the amplifier to the motor armature. Va is the armature voltage and VEMF is the back e.m.f. voltage. The difference of the two result in the armature current i, when applied to the armature circuit of inductance La and resistance Ra. Ka is the current feedback gain of the current control loop. The armature current i is converted into actuation force / through the motor force constant Kt. fd is the disturbance force acting on the mechanical system. M is the mass actuated by the axis, v is axis velocity, and x is axis position. Kb is the back e.m.f. constant. Chapter 5. Simulations and Experimental Results 81 K„ KRKH KiKp 1 s Current Limit PWM Limit Las + Ra K, ft 1 Ms i s 'EMF Kh Figure 5.3 : Dynamics of a Single Axis. Based on the block diagram in Fig. 5.3, the axis position x can be expressed in terms of the control signal u and disturbance force fd as, 1 f K A K t - ®2nl KD-(i>2nX-(s2 + 2(,2(X)n2S + (X>2n2) I Ms 2 + 2 ^ 0 3 ^ 5 + 0)2, C 0 2 2 - ( 5 2 + 2c;,t0„,5 + ( 0 2 , ) J where ^ , A" D , a>nl, con2, Ci» and C2 c a n b e determined from the following equations. KRKHKtKpM co KbKt + KaK.KpM 2 _KbKt + KaK.KpM K^KpM D KhKt + KaK.KpM CO K-K.Kp 2 _ 0 ' F (5.2) 2C,conl = l/x e = Ra/La , 2c;2con2 = 1 / T , = Ra/La j where T E is the electrical time constant of the armature. The nominal values of the parame-ters for the two axes are summarized in Table 5.1. From the values in the table, it can be seen that KbKt is very small compared to KfipKJtf (their ratio is 5 x IO - 4 for the x, and 1 x 10 - 4 for the y axis). Neglecting the effect of back e.m.f., KA can be taken as KA = {KRKH)/Ka , KD can be taken as KD = 1, co„, and con2 become, con, =con2 = J(KaKiKp)/La and the damping ratios C, and C 2 become £, = Z>2 = Ra/{2jk^k~KpTa). Chapter 5. Simulations and Experimental Results 82 Table 5.1: Nominal Parameters for X and Y Axes. Parameter X Axis Y Axis KR [V/V] 1.000 1.000 K H [V/V] 1.640 1.663 Peak Current Limit [V] ([A]) 4.5 (18) 4.5 (18) Peak Current Time [msec] 289 289 Cont. Current Limit [V] ([A]) 1.5 (6) 1.5 (6) K , [V/(V-sec)] 9681 9681 K P [V/V] 31.8 31.8 PWM Limit [V] 159 159 L a [mH] 0.75 0.75 R A [Ohm] 2.8 2.8 K A [V/A] 0.25 0.25 K T [N/A] 15.568 15.568 M [kg] 5.7 30.00 K B [V/(m/sec)] 13.78 13.78 Hence the expression for axis position x in Eq. (5.1) can be simplified to, 1 I x(s) = MS2 [ 5 2 + 2c; i Q) n l 5 + C02 ] and the overall axis gain K can be written as, • u(s) +fd(s) K = K A K t M (5.3) (5.4) Considering the general block diagram for a current controlled servo in Chapter 4, Fig. 4.2(a), the axis position x can be written in terms of u and fd as Gm(s) x(s) = {Gd(s)-u(s)+fd(s)} (5.5) For dynamics of the x-y table's axes, the mechanical transfer function Gm(s) and drive dynamics Gd(s) are, Chapter 5. Simulations and Experimental Results 83 < W = I T • Gd(s)= 2 (5.6) Ms s2 + 2txunls + n2nX This results in the simplified block diagram of axis dynamics, shown in Fig. 5.4. To avoid the accumulation of modeling errors due to parameter uncertainty, and to have a reliable model of axis dynamics, the parameters of the block diagram in Fig. 5.4 were experimentally identified. Disturbance u control voltage i CO nl s2 +2^nls+(H2nl K. f. Current Limit Amplifier and Armature Dynamics Motor 1 X Ms2 position j Y Inertia Figure 5.4 : Simplified Dynamics of a Single Axis. The current loop gain KA, natural frequency Q)nl and damping ratio were identified by applying step inputs as control signal and monitoring the armature current signal available on the amplifier using a digital oscilloscope. KA was calculated from the ratio of the steady-state values of the increments in armature current and control input. i\ x was determined from maximum per-centage of overshoot of the armature current from its final value, and conl was identified by mea-suring the time from which the step input was applied to when the peak of the first overshoot occurred (peak time). KA, , and a>nX were calculated as, ITH __ MMp) ^ . ^ ( 5 J ) where iQ and iy are the initial and final values of armature current, w0 and «y are the initial and final values of control signal respectively, Mp is the maximum percentage of overshoot to the step input, and t is the peak time [35]. The identified parameters are presented in Table 5.2. Chapter 5. Simulations and Experimental Results 84 Following the current loop identification, the overall axis gain was also identified by apply-ing step inputs as control signal and recording the corresponding axis position values, using the control system setup described in Section 5.2. Neglecting the current control loop dynamics, the axis dynamics were considered as a double integrator with a gain and Coulomb friction acting at control signal stage as, x(s) = — • (u(s)-uf- sgn(v(s))) (5.8) where x is axis position, K is axis gain, u is control input, u^ is friction force, and v is axis velocity. On the other hand, parameter identification for each case is done by estimating only the effective axis gain K' to yield the measured position profile when the input signal u is applied, such that x{s) = % • u(s) (5.9) sz where K' was estimated using Least Squares parameter identification technique [3] for the zero order hold equivalent discrete-time model of Eq. (5.9) as, * G . > £ £ . ^ t i . (5,0) u(z) 2 ( z - 1 ) 2 Hence the estimated gain K' related both to the true axis gain K, as well as the friction force Uj. By combining Eq. (5.8) and (5.9), K'u = K(u-uf- sgn(v)) (5.11) it can seen that it is possible to estimate the values of K and My from the single parameter K' by carrying out identification tests at different signs of step input u. Based on the assumption that Coulomb friction has constant magnitude, and the fact that motion occurs only in the direction of actuation (i.e. sgn(v) = sgn(w)) if the axis is initially at rest, for the two step inputs ux and u2 of different sign, the actual axis gain K can be calculated from Eq. (5.11) as, Chapter 5. Simulations and Experimental Results 85 K = - J ! 1 1 (5.12) where A",' and a r e m e effective axis gains identified by inputting ux and u2 respec-tively. Once the actual gain is determined, the friction value «y can be determined by re-using Eq. (5.11). Based on identified axis gain values, the axis mass values were also re-estimated in accor-dance with Eq. (5.4). Also since the current limit was shifted to the beginning of the block dia-gram in Fig. 5.4, it's the continuous and peak limits were re-adjusted to consider the gain KRKH before it in Fig. 5.3. Although Eq. (5.11) allowed an approximate estimation of Coulomb friction force, this was done in Section 5.5 using a disturbance observer instead; to get more accurate results and also view the variation of friction force and other disturbances with position and velocity. The values of axis gain, mass, new current limits, and identified average Coulomb fric-tion are summarized in Table 5.2 Table 5.2 : Identified Values of Axis Dynamics. Parameter X Axis Y Axis Peak Current Limit [V] ([A]) 2.744(18) 2.707 (18) Peak Current Time [msec] 289 289 Cont. Current Limit [V] ([A]) 0.915 (6) 0.902 (6) K A [A/V] 6.56 6.65 K t [N/A] 15.568 15.568 co,,! [rad/sec] ([Hz]) 5800 (923) 6962(1108) Ci n 0.46 0.5 M [kg] 5.235 29.122 Coulomb Friction: fs [N] 5.49 4.71 Axis Gain: K [(mm/sec2)/V] 19510 3555 The model shown in Fig. 5.4 was used in all simulations, with the parameters shown in Table 5.2. The effects of Coulomb and static friction were also taken into account. Since static friction Chapter 5. Simulations and Experimental Results 86 was difficult to identify, its value was taken as 30% larger than the Coulomb friction of the corre-sponding axis, in order to investigate its influence on the contouring performance. 5.4. Addition of Cutting Forces into Simulation In this thesis, an algorithm is developed for feed drive control of high speed machining sys-tems. This requires the control system to be robust against disturbances which will mainly occur as cutting forces and friction, as well as parameter changes arising from varying part mass. The x-y table, preferred as an experimental test platform for its high positioning speed, did not have a spindle to carry out actual cutting tests. Therefore, the robustness of the control system against cutting forces could only be tested in simulation. Cutting forces were first simulated for a certain case of cutting conditions for a constant feedrate of linear motion. Then the pre-simulated cutting forces were re-scaled and re-directed with time varying feedrate and direction of motion, and were injected as disturbance force into the axis dynamics. Let ft and fn be the cutting force magnitudes simulated for unit feedrate, where ft is the "tangential'' component of cutting force that is co-axial with the direction of motion and fn is the "normal" component of cutting force that is perpendicular to the direction of motion. Both ft and fn will be periodic functions of spindle revolution period Tspindle as, f,(t)=ft(t-Tspindle) , fn(t)=fn(t-Tspindle) (5.13) where the positive direction for ft is the direction of motion, and the positive direction for fn is 90° counter clockwise from the direction of motion. Considering Fig. 5.5, the tangential and normal force vectors Ft and Fn are obtained by re-directing and scaling ft and fn with v(t), the relative velocity from workpiece to the tool, as, Ft(t)=ft(t)-v(t) , F „ ( 0 = / „ ( 0 - r o t ( 9 0 ° ) . v ( 0 (5-14) where rot (90°) is a rotation matrix for 90° around the z axis, and is defined as, Chapter 5. Simulations and Experimental Results 87 rot(90°) = cos(90°) -sin(90°) 0 -1 _sin(90°) cos(90°)_ 1 0_ (5.15) Li oj Hence the resultant cutting force can be calculated as, F(t) = Fx(t)-i + Fy(t)-j = Ft + Fn (5.16) Writing v(t) as, v(t) = vx(t)-i + vy(t)-j (5.17) from Eq. (5.14), (5.15), (5.16), and (5.17), the x and y axis components of cutting force can be expressed as, Fx(t) = vx(t)-f,(t)-vy(t)-fn(t) Fy(t) = vx(t)-fn(t) + vy(t)-ft(t) (5.18) The unit feedrate forces ft and fn are precalculated and are applied as a repeated sequence, while the tool velocity components vx and are obtained during simulation. The axial compo-nents Fx and Fy of the resultant cutting force are calculated using Eq. (5.18), and are injected as disturbance force into the corresponding axes' dynamics. Milling forces were simulated for slotting aluminum (A17075) with a four fluted helical end-mill (Diameter: 10 [mm], Helix Angle: 30 [deg]) at a spindle speed of 15000 [rpm] and feedrate of 300 [mm/sec] with 1 [mm] depth of cut, using an in-house milling simulation software [4]. The unit cutting forces were then obtained by dividing the simulated cutting forces with feedrate. For the intended simulation feedrate of 200 [mm/sec], the cutting forces estimated with Eq. (5.18) were too high (around 70...80 [N]) for the drives to handle, as the maximum continuous force the drives could deliver were 93.4 [N]. Therefore, the unit cutting forces were further reduced by 60% so that the maximum resultant cutting force would be around 30 [N], which is one third of the maximum continuous motor force. This way, the drives would be able to cope with the cutting forces, as well as fulfilling the desired acceleration and feedrate requirements Chapter 5. Simulations and Experimental Results 88 without experiencing saturations. The cutting forces obtained for unit feedrate at the end of this reduction are shown in Fig. 5.6. y 1 • X Figure 5.5 : Estimation of Cutting Forces in Simulations. Chapter 5. Simulations and Experimental Results 89 5.5. Controller Design In this section, controller design is achieved for the x-y table's dynamics, based on the guide-lines set forth in Chapter 4. First, the pole-placement controller is designed based on the simpli-fied axis dynamics model. Then, the disturbance observer is designed for disturbance and parameter variation robustness. This is followed by the identification of friction properties in the guides, and the implementation of feedforward friction compensation based on a position and velocity dependent friction model. The zero phase error tracking controller is cascaded before the pole-placement controller to achieve superior tracking properties. Finally, the cross-coupling con-trollers are tuned for additional performance improvement on top of the complete axis tracking control scheme. 5.5.1. Pole-Placement Control In digital controller design, the axis dynamics in Eq. (5.3) were used. However, because the current loop natural frequencies (see Table 5.2) were very close to the intended control loop fre-quency, which was 1 [kHz], the current loop dynamics were neglected resulting in the co^ j /(s2 + 2£, Cdnls + co2,) term to be taken as unity. Furthermore, as stated in Chapter 4, the disturbance force was not taken into account at pole-placement controller design stage. In this case, the nominal plant model for controller design can be expressed as, where K is the axis gain for which the expression is given in Eq. (5.4), and its identified val-ues for the two axes are presented in Table 5.2. Discretizing Eq. (5.19) including a zero-order hold before it results in the following discrete-time transfer function, u{s) (5.19) x(z) _ B(z) _ boZ + bi K'T2 z + 1 (5.20) u(z) A(z) z2 + a]z + a2 2 '(z-l)2 Chapter 5. Simulations and Experimental Results 90 For the sampling period of T = 1 [msec] the coefficients ax, a2, b0, and bx are calculated as a-y x = ax Y = -2, a2 x = a2 Y = 1 > x = x = 9.7550 x 10 - 3 [mm/V], and b0 Y = bx Y - 1-7775 x 10 - 3 [mm/V] where the subscripts X and Y denote x and y axes respectively. The model transfer function Bm{z)/Am(z) was chosen for rise time and maximum percent-age overshoot specifications to a step input. The rise time and maximum percent overshoot were chosen as tr = 25 [msec] and Mp = 5 [%] respectively. Designing the control loop to be under-damped did not pose a significant problem to contouring accuracy, as the reference signals were not to be step inputs, but were to be smooth trajectories instead. This resulted in a complex conju-gate dominant closed-loop pole pair with a natural frequency of co„ = 128.92 [rad/sec] (20.52 [Hz]) and a damping ratio of £ = 0.6901 (Eq. (4.8) - Chapter 4). When mapped to the z plane, these poles corresponded to z, 2 = 0.910898 ±/0.085232 (Eq. (4.7), (4.9) - Chapter 4). The model transfer function denominator Am(z) was chosen to have the same degree with the plant denominator A(z). Hence choosing degAm(z) = degA(z) = 2, the model transfer function denominator can be expressed as, Am(z) = z2 + amXz + am2 = {z-zx) • {z-z2) (5.21) where amX and am2 are calculated as am] = -1.821796, and am2 = 0.837000 for the desired closed-loop dominant poles. On the other hand, the model numerator is determined from Eq. (4.10) and (4.11) in Chapter 4 as, = bmQz + bml = p*(z) = B(z) B(z) (5.22) where bmQ and bmX are calculated as bm0 = bm] = 7.6018 x 10~3. As explained in Chapter 4 - Section 4.2.1, the observer and controller polynomials A0(z), R(z), S(z), and T(z) were chosen to have an order one less than that of the model denominator as, degAc(z) = deg/?(z) = degS(z) = degr(z) = degA(z)-l = 1 (5.23) Chapter 5. Simulations and Experimental Results 91 and the observer polynomial A0(z), along with the controller denominator R(z) were taken to be monic, resulting in, A0(z) = z + a0] , R(z) = z + r: , S(z) = s0z + sl , T(z) = t0z + tl (5.24) Choosing the observer pole -aoX as deadbeat (at the origin) and solving Eq. (4.5) and (4.6) in Chapter 4, the R(z), S(z), and T{z) polynomial coefficients were calculated as, r h x = rUY = 0.085301, sox = 9.523600 [V/mm], shX = -8.744328 [V/mm], s0iY = 52.265945 [V/mm], s]Y = -47.989266 [V/mm], tox = 0.779272, t0Y = 4.276679, h x = 1 1 Y = 0 where the subscripts X and Y denote x and y axes respectively. 5.5.2. Disturbance Observer The continuous-time double integrator model in Eq. (5.19) can be re-written in state space as, x(t) = Ax(t)+Bu(t) x(t) = Cx(t) (5.25) where x(t) is the state vector, containing axis position x(t) and velocity v(t) as states, u(t) is the control signal, A is the continuous-time system matrix, B is the input matrix and C is the output matrix, relating the states to the measured system output, which is axis position x(t). x(t), A , B, and C are expressed as follows: x(t) = x(t) , A = 0 1 , B = 0 _v(0 0 0 K . c= [ i 0 ] (5.26) where K is the axis gain defined in Eq. (5.4). For the sampling period T, the discrete-time representation of plant dynamics can be written as x(k+ 1) = &x(k) + Tu(k) x(k) = Cx(k) (5.27) where O and F are obtained as [3], Chapter 5. Simulations and Experimental Results 92 4272 4 3 ^ 3 O = exp(A • T) = I + AT + %^+^^ + 2! r = jexp(A)i)dX-B = 3! KT2 1 T\ 0 1 (5.28) 2 KT (5.29) noting that the C matrix is the same both for the continuous and discrete-time representa-tions. Assuming input disturbance dynamics as in Eq. (4.17) in Chapter 4, and also considering the DAC and encoder resolution noise tt and X (Eq. (4.18) and (4.21) in Chapter 4), the aug-mented state space equation to include all of these factors can be written as in Eq. (4.23) - Chapter 4. For both axes, the DAC's used were 16 [bit] and had output ranges of —10...+10 [V]. The linear encoders used had a resolution of 1 [fim]. Hence, the DAC and measurement quantization error covariances can be estimated from Eq. (4.20) and (4.22) in Chapter 4 as, ^ = 5 | = (^^ = 7 7 6 1 G x l 0 _ 9 [ v 2 ] Rx = ^ = = 8.3333 x 10-8 [mm2] (5.30) The disturbance perturbation variance Rw d in Eq. (4.29), Chapter 4 was determined by trial and error during experimental path tracking tests. Increasing its value resulted in faster acting, but more oscillatory, disturbance rejection properties in the control system. It's value was chosen as, Rwd = 1.5x10-5 [V 2] (5.31) whereas oscillations in the servo would start after the value of Rw d = 2 x 10 - 5 [V 2 ] . Solv-ing Eq. (4.33), (4.34), and (4.35) in Chapter 4 iteratively, the state estimation gains to be used in Eq. (4.27) of Chapter 4 were found as, Chapter 5. Simulations and Experimental Results 93 K O B S , X 0.721712 446.4554 7.077560 K, OBS, Y 0.515818 185.0363 9.335567 (5.32) resulting in the closed-loop observer poles as (Eq. (4.28), Chapter 4), 0.527548 0.617622+J0.382173 0.617622-;0.382173 ^ 2 , X = 0.695836 = 0.793358 +70.257704 _^3, Y 0.793358-70.257704 (5.33) where the subscripts X and Y denote JC and y axes respectively. 5.5.3. Feedforward Friction Compensation The same observer structure used in Section 5.5.2 was also used to estimate the friction and other disturbances effective on the x-y table. Both axes were moved back and forth at various speeds where position, velocity and disturbance values estimated by the state observer and were recorded on disk. The recorded data was then processed to analyze the variation of disturbance with axis position, velocity and direction of motion. In disturbance identification, the observer design was accomplished using a pole-placement approach rather then a Kalman Filter design. The observer poles were placed at 0.0, 0.7, and 0.9 in the z domain. This was done to get less oscillatory estimates compared to the Kalman Filter design case, which was tuned for closed loop control performance. The observer gains used to achieve these closed loop poles were, K O B S , X 1.000000 385.0000 1.537673 K OBS, Y 1.000000 385.0000 8.438819 (5.34) Chapter 5. Simulations and Experimental Results 94 The estimated disturbance in terms of control signal, versus axis position for the axis speed of 100 [mm/sec] is shown in Fig. 5.7 for the X and Y axes. The disturbance characteristics for the position range of interest (-40...+40 [mm] for both axes) were approximated by two straight lines; one for the positive, and the other for the negative velocity branch, in the form, mtnn ' x + nti m',nn • x + n 100 f ioo 100 ioo v>0 v<0 (5.35) Where d is the modeled disturbance. The "100" subscript denotes 100 [mm/sec] of travel speed, x is axis position, v is axis velocity. mf0 0 , n|"00 are the coefficients for positive velocity, and ?«ioo > nioo ^ t n e coefficients for negative velocity. Tests and linear model fitting were also repeated for axis speeds of 10, 50, 200, and 300 [mm/sec]. The model coefficients m and n were considered to vary linearly with axis velocity as, mv(v) = m+(v) = A + • v + B+ , v>0 m"(v) = A" • v + B' , v < 0 (5.36) « v(v) = n+(v) = C + • v + D+ , v>0 n-(v) = C- v + D- v<0 (5.37) resulting in the overall disturbance model dependent both on axis position and velocity as, d(x, v) = A+JCV + B+x+ C+v + D+ , v > 0 B+x + D+ , v -> 0+ Bx + D' , v -> 0" A-xv + B'x + Cv + D- , v<0 (5.38) A + , B+, C+, D+, A', B', C", and D" were calculated from the different sets of mv and nv coefficients using Least Squares technique. Their values are presented in Table 5.3. Disturbance characteristics computed using the model in Eq. (5.38) are also shown in Fig. 5.7. Furthermore, Chapter 5. Simulations and Experimental Results 95 the estimated and modeled disturbance values for different travel speeds are shown in Fig. 5.8. As can be seen from these two figures, the model in Eq. (5.38) is successful in approximating the estimated friction and other disturbance characteristics of the x-y table. (a) Estimated and Modeled Friction for X Axis Vs. Position (b) Estimated and Modeled Friction for Y Axis Vs. Position i — i 1 1 1 1 1 i i i , -80 -60 -40 -20 0 20 40 60 80 -80 -60 -40 -20 0 20 40 60 80 Position [mm] Position [mm] Figure 5.7 : Estimated and Modeled Friction versus Axis Position at the Travel Speed of 100 [mm/sec]: (a) X Axis, (b) Y Axis. 0.06 0.04 0.02 > | 0 o L L -0.02 -0.04 < -0.06 r — i ° ° ° ° Estimated — Modeled ; - 0 a — s _ J -300 -200 -100 0 100 200 Axis Velocity [mm/sec] 0.06 0.04 0.02 I 0 -0.02 -0.04' -0.06 300 -300 -200 o Estimated — Modeled Position: y=0 [mm] \ -100 0 100 200 300 Axis Velocity [mm/sec] Figure 5.8 : Estimated and Modeled Friction Versus Axis Velocity at (0,0) Position: (a) X Axis, (b) Y Axis. Chapter 5. Simulations and Experimental Results 96 The model obtained for friction characteristics was used in feedforward friction compensa-tion as narrated in Chapter 4, Section 4.2.4. Coulomb friction values used in simulations, which are given in Table 5.2, were obtained by averaging the magnitudes of the D+ and D~ coefficients for the corresponding axes, and then multiplying the result by the amplifier gain KA and motor force constant Kt. Table 5.3 : Identified Friction Model Parameters. Parameter X Axis Y Axis A + [V/(mm2/sec)] 1.4236xl0"08 -2.1636xl008 B + [V/ram] -2.2256X10"04 -2.6246X10"04 C + [V/(mm/sec)] -6.1129xl0'06 -8.4933xl0"06 D + [V] -6.0932xl002 -5.0764xl0'02 A [V/(mm2/sec)] -5.4967xlfJ08 -9.4501 xlO"0 7 B [V/mm] -1.0441X10"04 -5.8390X1004 C [V/(mm/sec)] 1.8650xl0"05 5.9953xl0"07 D [V] 4.6674xl0"02 4.0256x1002 5.5.4. Zero Phase Error Tracking Control The model numerator Bm{z) and denominator Am(z) were determined for desired closed loop dynamics during pole-placement controller design. Am(z) was chosen with the stable roots z, and z2 as, AJz) = ( z - z , ) - ( z - z 2 ) (5-39) and Bm(z) was chosen as, Bm(z) = bm0z + bml= (35(z) = bm0 • (z + 1) (5.40) Bm(z) can be factorized into its stable and unstable components as, Bmiz) = B+(z)-B-Jz) (5.41) Chapter 5. Simulations and Experimental Results 97 where Bm(z) contains all of the stable and well-damped zeros, and Bm(z) contains the unstable or poorly-damped zeros. For this design case, Bm(z) and Bm(z) are, *+(z) = l , Bm(z) = bm0-(z + l) (5-42) Hence, using the guidelines presented in Chapter 4 Section 4.2.4, the feedforward filter to be appended before the pole-placement controller is determined as, (5.43) Xre/iz) = Am(z)-Bm(z-X) = (z2 + am]z + am2)-(bm0z-x+bm0) ^ [Bm(l))2 • B+(z) 4b2m0 where the values of amX, am2, and bm0 were calculated in Section 5.5.1. This results in the overall axis transfer function as, x(z) = Am(z)-Bm{z-X) B-(z)-B-Jz) = Bm(z->) • Bm(z) = ( z - i + p • ( Z + 1 ) xrefiz) [Bm(l)]2 • B+Jz) AJz) [B-Jl)]2 4 which has zero phase shift for all frequencies and a gain very close to unity for low frequen-cies. The frequency response characteristics of the designed pole-placement controller, and its extension to zero phase error tracking control are shown in Fig. 5.9. As can be seen, the ZPETC has zero phase shift for all frequencies. Furthermore, it has a much higher bandwidth (182.03 [Hz]), compared to that of the pole-placement controller (21 [Hz]), which enables it to track reference trajectories with much smaller tracking error, also resulting in smaller contouring error. 5.5.5. Cross-Coupling Control The cross-coupling PID controllers were tuned by trial and error with path tracking tests in simulation with and without cutting conditions. A l l components of tracking control were active during the tuning process, and the cross-coupling control tuning was carried out to achieve addi-Chapter 5. Simulations and Experimental Results 98 tional contouring accuracy on top of the existing control scheme. As a result of this tuning, the continuous time PID parameters arrived at were: KpX = 1 [V/mm] , KiX = 0.1 [V/(mm-sec)] , Kdx = 5 x 10~5 [V/(mm/sec)] KpY = 5.4880 [V/mm] , KiY = 0.5488 [V/(mm-sec)] , KdY = 2.144 x 10"4 [V/(mm/sec) ] where Kp, Kt, Kd are the proportional, integral and derivative action gains, and the sub-scripts X and Y denote JC and y axes respectively. In the discrete-time version of the PID control-ler, a pole at 200 [Hz] (corresponding to 0.4431 in the z domain) was also used to obtain smoother derivative estimates than using pure backward difference approach. CD 3 ' c cn cc 0.5 Frequency Response — PPC \ ^ ---ZPETC 100 100 200 300 400 500 400 500 200 300 Frequency [Hz] Figure 5.9 : Frequency Response Characteristics of Pole-Placement (PPC) and Zero Phase Error Tracking (ZPETC) Controllers. Chapter 5. Simulations and Experimental Results 99 5.6. Simulation Results In the simulations, two types of reference trajectories were used: a diamond shaped path with a side length of 50 [mm] and a circular path with a radius of 35 [mm]. Both trajectories were generated to reach a maximum feedrate of 200 [mm/sec] with maximum acceleration/decelera-tion magnitudes of 2000 [mm/sec2] and jerk limits of 50000 [mm/sec3]. The kinematic profiles for the two reference trajectories are shown in Fig. 5.10 and 5.11. In spite of the elaborate computations, some spikes still occur in the jerk profiles (Fig. 5.10 and 5.11), which exceed the maximum desired jerk limits. These spikes are accounted to round-off errors in the computations. Nevertheless, using the jerk limited trajectory generation in its cur-rent state is still more advantageous then using trapezoidal velocity profiled trajectories. The simulations were done based on the plant structure shown in Fig. 5.4. In addition to the peak and continuous current limits; encoder and DAC quantization, computational delay which was taken as 20% of the sampling period, static and Coulomb friction, and cutting forces were included in the simulations. All simulations were performed at 10 [kHz], while the digital control law was executed at 1 [kHz]. The simulations were performed in two sets. In the first set, cutting forces or parameter mis-match were not considered. The control law was initiated with only a pole-placement controller, and the rest of the components were gradually added on for each test case, to observe their indi-vidual contribution. In the second set of simulations, cutting forces and parameter mismatch were also included, which would correspond to a machining application using the x-y table. In this case, the complete control strategy proposed in this thesis (axis tracking and cross-coupling con-trol together) is compared to the case with only axis tracking control. Chapter 5. Simulations and Experimental Results 100 70 60 _50 E £ 4 0 CO '5 30 CD > * 20 10 0 Path -30 -20 -10 0 10 20 30 x axis [mm] Position Velocity 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1 p o o 2 £ 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 time [sec] Acceleration 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 time [sec] Jerk 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 " 1 ,0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 £•-1 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 time [sec] c < £ 1 0 CC CU — CO c co E CD c - £ . 0. 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 time [sec] Figure 5.10 : Kinematic Profiles for Diamond Shaped Reference Trajectory Used in Simulations. Chapter 5. Simulations and Experimental Results 101 70 60 _50 I40 CO '£30 CO >» 20 10 0 Path -30 -20 -10 0 10 20 30 x axis [mm] Position Velocity 0.4 0.6 0.8 time [sec] Acceleration 1 0.2 0.4 0.6 0.8 1 time [sec] Jerk 0.2 0.4 0.6 0.8 time [sec] 1.2 0.2 0.4 0.6 0.8 1 time [sec] 1.2 Figure 5.11 : Kinematic Profiles for Circular Reference Trajectory Used in Simulations. Chapter 5. Simulations and Experimental Results 102 5.6.1. No Cutting Forces, No Parameter Mismatch In this section, five different cases of control are tested for the conditions where cutting forces are absent, and axis dynamics as well as friction characteristics are known precisely at controller design stage. The aim is to demonstrate the contribution of each component in the proposed con-trol scheme, and also investigate what the best achievable contouring performance is for these ideal conditions. The control strategies tested were: 1°)PPC 2°) PPC & OBS 3°) ZPETC & PPC & OBS 4°) ZPETC & PPC & OBS & FFRIC 5°) ZPETC & PPC & OBS & FFRIC & CCC where the acronyms in the above list correspond to; PPC: Pole-Placement Control, OBS: Dis-turbance Observer, ZPETC: Zero Phase Error Tracking Control, FFRIC: Feedforward Friction Compensation, CCC: Cross-Coupling Control. In order to accurately trace the edges of the diamond path, or the curvature of the circular path, the two axes have to be well-coordinated. The most critical parts on the diamond paths are the corners where transients in reference trajectory occur. The reference position profile of the cir-cular path is relatively smoother than that of the diamond path. The most critical parts on the cir-cular path are the quadrants where zero velocity crossings occur in one of the axes. Due to the discontinuity of friction force at zero velocity crossing, this results in a contour error referred to as Quadrant Glitch. The simulation results for the five control strategies with the two different reference trajecto-ries are shown in Fig. 5.12 through 5.21. The maximum and root mean square values of tracking and contour error for each case are summarized in Table 5.4. Chapter 5. Simulations and Experimental Results 103 The simulation result for tracking the diamond shaped path using PPC is shown in Fig. 5.12. The axis tracking errors reach up to 1.67 [mm] and the maximum contour error is 49.09 [|im]. The achieved contour is quite far from the desired contour. For an actuation system with 1 [fim] resolution of feedback, such coarse contouring accuracy is not acceptable, which infers that a sim-ple pole-placement controller is not sufficient on its own to achieve accurate tracking. The first step of performance improvement is achieved by adding the disturbance observer to compensate for the effect of friction, resulting in PPC & OBS. Its simulation result is given in Fig. 5.13. Although the maximum tracking error drops only to 1.60 [mm], the maximum contour error is reduced to 16.13 [u.m]. The peaks of contour error occur at the corners of the diamond, as can be seen both from the two corner plots, as well as the contour error graph. The control signals are significantly more active, compared to those of the former case. Next, the zero phase error tracking controller is appended before the whole control scheme, resulting in ZPETC & PPC & OBS. This is done to improve the tracking accuracy, which also contributes to contouring accuracy. The result obtained for ZPETC & PPC & OBS with the dia-mond shaped path is shown in Fig. 5.14. The maximum tracking error is reduced from 1.6 [mm] to 32 [fxm] due to the feedforward action of ZPETC. There is an increase in the maximum value of contour error from 16.13 [|im] to 22.56 [jxm], however the duration of contour errors are reduced. In fact, these spikes in contour error occur due to the transients in the estimation of fric-tion force, which undergoes a discontinuity while turning around the corners. Using available knowledge of friction characteristics, the friction force is cancelled in feed-forward action, resulting in the ZPETC & PPC & OBS & FFRIC case. The simulation result for tracking the diamond shaped path with this control approach is shown in Fig. 5.15. With near exact cancellation of the friction force, the maximum contour error is reduced down to 1.45 [Lim], and the maximum tracking error down to 2.37 [|0.m]. The traced contours are now much closer to the reference path, compared to the former cases. The effect of friction compensa-tion can also be seen in the control signal as sudden spikes at approximately 0.4, 0.8, and 1.2 Chapter 5. Simulations and Experimental Results 104 seconds. This is especially significant in the x axis control signals, which are of smaller magni-tude compared to the y axis control signals. The last addition to the control system has been cross-coupling control, leading to ZPETC & PPC & OBS & FFRIC & CCC. The simulation result for tracking the diamond shaped path with this control strategy is presented in Fig. 5.16. A significant improvement from the former case is not seen by the addition of cross-coupling control. In fact, the maximum and root mean square values of contour error have increased from 1.45 [ L i m ] and 0.41 [ L i m ] to 1.53 [ L i m ] and 0.49 [ L i m ] respectively, which at first glance suggests that cross-coupling control action may be redundant, and in fact detrimental to the contouring performance. However, in this simulation, cutting forces or parameter mismatch were not considered. The same controller design is also tested under such conditions in Section 5.6.2. The circular path tracking results are shown in Fig. 5.17 to 5.21. Similar contributions to those which were observed with the diamond shaped path are also seen here. The implementation of only PPC gives quite coarse results (Fig. 5.17). Contour error reduction is achieved by the addi-tion of the disturbance observer, as in PPC & OBS (Fig. 5.18). Tracking error reduction is achieved with the addition of the zero phase error tracking controller, as in ZPETC & PPC & OBS (Fig. 5.19). The contour errors that occur at the quadrants of the circle are removed via feedfor-ward friction compensation (ZPETC & PPC & OBS & FFRIC - Fig. 5.20). Unlike the diamond shaped path case, a slight decrease in maximum contour error is obtained by the addition of cross-coupling control (ZPETC & PPC & OBS & FFRIC & CCC - Fig. 5.21). Significant performance improvement was observed for all components, except cross-cou-pling control. It's contribution is observed in the presence of cutting forces and parameter mis-match, in Section 5.6.2. Chapter 5. Simulations and Experimental Results 105 Right Hand Corner of Diamond Path Top Comer of Diamond Path JI , I , , | 0 0.2 0.4 0.6 0.8 1.0 1.2 1.4 1.6 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 time [sec] time [sec] Figure 5.12 : Simulation Result for Tracking a Diamond Shaped Path with PPC; No Cutting Forces, No Parameter Mismatch. Chapter 5. Simulations and Experimental Results 106 Right Hand Corner of Diamond Path Top Corner of Diamond Path time [sec] Figure 5.13 : Simulation Result for Tracking a Diamond Shaped Path with PPC & OBS; No Cutting Forces, No Parameter Mismatch. Chapter 5. Simulations and Experimental Results 107 Right Hand Corner of Diamond Path Top Corner of Diamond Path E E, w 'x co 100 [nm] x axis [mm] Tracking Errors $-20 x -40 0.2 > 0.1 -S 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 " -0.1 -0.2 x axis [mm] Control Signals 0 0.2 0.4 0.6 0.8 1.0 1.2 1.4 1.6 >.-40 ^ 2 0 ^ . 10 0.6r 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 cr Contour Error ° 0 Figure 0 0.2 0.4 0.6.0.8 1.0 1.2 1.4 1.6 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 time [sec] time [sec] 5.14 : Simulation Result for Tracking a Diamond Shaped Path with ZPETC & PPC & OBS; No Cutting Forces, No Parameter Mismatch. Chapter 5. Simulations and Experimental Results 108 Right Hand Corner of Diamond Path Top Corner of Diamond Path \J \j.-r I I .c. I .1- I .U •• time [sec] Figure 5.15 : Simulation Result for Tracking a Diamond Shaped Path with ZPETC & PPC & OBS & FFRIC; No Cutting Forces, No Parameter Mismatch. Chapter 5. Simulations and Experimental Results 109 Right Hand Corner of Diamond Path Top Corner of Diamond Path time [sec] Figure 5.16 : Simulation Result for Tracking a Diamond Shaped Path with ZPETC & PPC & OBS & FFRIC & CCC; No Cutting Forces, No Parameter Mismatch. Chapter 5. Simulations and Experimental Results 110 time [sec] Figure 5.17 : Simulation Result for Tracking a Circular Path with PPC; No Cutting Forces, No Parameter Mismatch. time [sec] Figure 5.18 : Simulation Result for Tracking a Circular Path with PPC & OBS; No Cutting Forces, No Parameter Mismatch. Chapter 5. Simulations and Experimental Results 111 j l 20 w 0 'S -20 x 40 ^ 4 0 .E 20 CO 0 'S -20 >,-40 T r a c k i n g Errors 40 E a w V --1 • 0 0.2 0.4 0.6 0.8 1.0 1.2 --\r -0 0.2 0.4 0.6 0.8 C o n t o u r Error 1.0 1.2 l .A 0 0.2 0.4 0.6 0.8 time [sec] 1.0 1.2 Cont ro l S igna l s 0.6 .« o 3-0.2 ^-0.4 0.2 0.4 0.6 0.8 1.0 1.2 0.2 0.4 0.6 0.8 1.0 1.2 time [sec] Figure 5.19 : Simulation Result for Tracking a Circular Path with ZPETC & PPC & OBS; No Cutting Forces, No Parameter Mismatch. v v . - r 1 .\J I . C time [sec] Figure 5.20 : Simulation Result for Tracking a Circular Path with ZPETC & PPC & OBS & FFRIC; No Cutting Forces, No Parameter Mismatch. Chapter 5. Simulations and Experimental Results 112 time [sec] Figure 5.21 : Simulation Result for Tracking a Circular Path with ZPETC & PPC & OBS & FFRIC & CCC; No Cutting Forces, No Parameter Mismatch. Table 5.4 : Summary of Simulation Results for No Cutting Forces and No Parameter Mismatch. Referrence Path / Control Strategy Contour max. Error [jim] r.m.s. X Axis Tracki max. ng Error [nm] r.m.s. Y Axis Tracki max. ng Error [nm] r.m.s. Diamond Shaped Path PPC 49.09 43.96 1667.70 1190.40 1604.10 1137.50 PPC & OBS 16.13 3.70 1595.80 1128.60 1596.00 1128.60 ZPETC & PPC & OBS 22.56 2.66 32.34 3.79 10.80 1.14 ZPETC & PPC & OBS & FFRIC 1.45 0.41 1.83 0.58 2.37 0.66 ZPETC & PPC & OBS & FFRIC & CCC 1.53 0.49 2.03 0.66 2.13 0.64 Circular Path PPC 82.34 43.42 2319.90 1476.60 2256.40 1468.80 PPC & OBS 39.74 5.82 2246.30 1413.20 2245.40 1459.60 ZPETC & PPC & OBS 36.47 4.32 36.59 4.53 9.88 0.95 ZPETC & PPC & OBS & FFRIC 1.62 0.48 2.31 0.57 1.28 0.40 ZPETC & PPC & OBS & FFRIC & CCC 1.52 0.53 2.05 0.58 1.52 0.43 Chapter 5. Simulations and Experimental Results 113 5.6.2. With Cutting Forces and Parameter Mismatch In this section, the performance of two control strategies are investigated under the existence of cutting forces and parameter mismatch. It is assumed that a 2 [kg] workpiece has been placed on the x-y table and is machined under the cutting conditions explained in Section 5.4. The 2 [kg] workpiece resulted in an axis gain mismatch of -27.65 [%] in the x axis, and -6.43 [%] in the y axis. The maximum magnitude of resultant cutting forces was 30 [N]. Although this is a relatively low value for a realistic application, original simulated cutting forces had to be scaled down to a magnitude which could be handled by the direct drives. Nevertheless, the results obtained in this section are sufficient in demonstrating the robustness of the proposed control strategy against realistic cutting conditions. It should be noted that, linear drives used in industrial machine tools are much more powerful than those of the x-y table, and are capable of handling the load of actual cutting forces. The two control strategies were tested for three different cases: 1°) ZPETC & PPC & OBS & FFRIC 2°) ZPETC & PPC & OBS & FFRIC & CCC 3°) ZPETC & PPC & OBS2 & FFRIC In the first case (ZPETC & PPC & OBS & FFRIC), all components of axis tracking control were used. In the second case (ZPETC & PPC & OBS & FFRIC & CCC), cross-coupling control was also enabled. In the third case (ZPETC & PPC & OBS2 & FFRIC), a higher bandwidth dis-turbance observer was used to investigate if the improvement in contouring accuracy achieved by cross-coupling control could also be achieved by only implementing axis tracking control. For this case, the disturbance perturbation variance was taken as Rw d = 1.5 x 10~3 [V 2 ], which was 100 times larger than its value in Section 5.5.2. This resulted in the following closed loop observer poles: Chapter 5. Simulations and Experimental Results 114 -^2,X = ^3,X_ 0.253533 0.457981 X 2 > Y - 0.527489 + jO.423953 ^3, Y 0.527489 -;'0.423953 (5.45) where the subscripts X and Y denote JC and y axes respectively. Comparing the observer poles in Eq. (5.33) and Eq. (5.45), it can be seen that those in Eq. (5.45) are approximately twice as fast as those in Eq. (5.33), for the sampling frequency of 1 [kHz]. The simulated cutting forces are shown in Fig. 5.22, both for the diamond shaped path (Fig. 5.22a), and the circular path (Fig. 5.22b). Since the tooth passing frequency is quite high (1 [kHz]), the oscillations of cutting forces appear as black shaded regions, which indicate the encountered minimum and maximum values during a spindle revolution. The forces shown in the figure were extracted from the simulations for ZPETC & PPC & OBS & FFRIC & CCC. The forces simulated for the other two cases were very similar, and are not shown here. Simulated Cutting Forces 0 0.2 0.4 0.6 0.8 1.0 1.2 1.4 1.6 0.2 0.4 0.6 0.8 1.0 1.2 „ 0 0 . 2 0 .4 0 . 6 0 . 8 1 .0 1 .2 1.4 1 .6 Z 3 0 c 20 3 10 3 o A A A A 0 0.2 0.4 0.6 0.8 1.0 1.2 1.4 1.6 time [sec] 0.2 0.4 0.6 0.8 1.0 1.2 time [sec] Figure 5.22 : Simulated Cutting Forces for Spindle Speed of 15000 [rpm]; (a) Diamond Shaped Path, (b) Circular Path. Chapter 5. Simulations and Experimental Results 115 The simulation results for the three control cases are shown in Fig. 5.23 to 5.28. The maxi-mum and root mean square values of tracking and contour errors for each case are summarized in Table 5.5. The control performance for ZPETC & PPC & OBS & FFRIC for tracking the diamond shaped path is shown in Fig. 5.23. Comparing with the result obtained without cutting forces or parameter mismatch (see Fig. 5.15), the deterioration in tracking and contouring performance can easily be seen. The maximum value of contour and tracking errors has increased to 10.04 [|im] and 12.60 [Lim] from 1.45 [Lim] and 2.37 [|im] respectively. With the addition of cross-coupling control, part of the contouring accuracy is recovered as shown in Fig. 5.24, and the maximum contour error is reduced to 4.91 [|xm]. When the high bandwidth disturbance observer is tested as an alternative to cross-coupling control (Fig. 5.25), the contouring accuracy is only close to that obtained with cross-coupling con-trol, with the expense of significantly more active control signals. It should be noted that further increasing the bandwidth of the disturbance observer (taking the disturbance perturbation vari-ance up to 10000 times its original value) brought the contour errors very close to those which were achieved with cross-coupling control. However, the control signals became extremely active which rendered such an approach unpractical. Similar results were also observed for the circular reference path. By the addition of cutting forces into the simulation, the maximum contour error which was previously 1.62 [|im] increased up to 4.86 [|im] (Fig. 5.26). Again, by the addition of cross-coupling control it was reduced, this time to 2.74 [u.m], as shown in Fig. 5.27. Using the faster disturbance observer (Fig. 5.28) resulted in a maximum contour error of 3.17 [Lim], again at the expense of signifi-cantly more active control signals. Considering that a disturbance observer was present in all tested control schemes, the contour errors did not occur solely due of the existence of cutting forces, but they occurred because of the transients in the average values of cutting force for each axis; as such transients were detected Chapter 5. Simulations and Experimental Results 116 with an inherent delay in the disturbance observer, governed by its poles. This can be seen in the diamond path tracking tests (Fig. 5.23, 5.24, and 5.25), as the significant portions of contour and tracking error occur only during acceleration and deceleration stages, which cause transients in the average values of cutting force (Fig. 5.22). In the circular path the direction of motion, and therefore the average values of cutting force for each axis change continuously. Therefore the tracking and contouring errors are never reduced to zero is a stationary manner, but zero crossings occur only as tracking errors change sign. The contouring accuracy improvement obtained by the addition of cross-coupling control to the existing axis tracking control scheme demonstrates the contribution of this component in improving contouring accuracy in the presence of actual cutting conditions. Furthermore, its supe-rior contouring performance over the high bandwidth disturbance observer justifies its utilization. Chapter 5. Simulations and Experimental Results 117 Right Hand Corner of Diamond Path Top Corner of Diamond Path x axis [mm] Tracking Errors 0.4 > 0.2 x axis [mm] Control Signals x cc -10 .52 0 X * 6" o!2 OA 0^ 6 0^ 8 l!o i.2 i.4 1.6 ' *-0.2 -0.4, 0 0.2 0.4 0.6 0.8 1.0 1.2 1.4 1.6 0 0.2 0.4 0.6 0.8 1.0 1.2 1.4 1.6 =j ° - 5 Contour Error 0 0.2 0.4 0.6 0.8 1.0 1.2 1.4 1.6 time [sec] 0 0.2 0.4 0.6 0.8 1.0 1.2 1.4 1.6 time [sec] Figure 5.23 : Simulation Result for Tracking a Diamond Shaped Path with ZPETC & PPC & OBS & FFRIC; with Cutting Forces and Parameter Mismatch. Chapter 5. Simulations and Experimental Results 118 Right Hand Corner of Diamond Path Top Corner of Diamond Path E JE 'x CO x axis [mm] Tracking Errors 10 [nm] 0.4 > 0.2 x axis [mm] Control Signals co-10 .<2 0 X * 6 0^2 0^4 0^6 0^8 1.0 C2 IA 1.6 ' ™-0.2 -0.4, 0 0.2 0.4 0.6 0.8 1.0 1.2 1.4 1.6 0 0.2 0.4 0.6 0.8 1.0 1.2 1.4 1.6 Contour Error ^ 10 ^ 5 CD 0. 0 0.2 0.4 0.6 0.8 1.0 1.2 1.4 1.6 time [sec] 0 0.2 0.4 0.6 0.8 1.0 1.2 1.4 1.6 time [sec] Figure 5.24 : Simulation Result for Tracking a Diamond Shaped Path with ZPETC & PPC & OBS & FFRIC & CCC; with Cutting Forces and Parameter Mismatch. Chapter 5. Simulations and Experimental Results 119 Right Hand Corner of Diamond Path Top Corner of Diamond Path x axis [mm] Tracking Errors 0.4 5T0.2 x axis [mm] Control Signals 3-10 "* 0 * 0 0^ 2 0^ 4 0^ 6 0^ 8 1.0 i.2 C4 i.B ' 2-0.2 -0.4. 0 0.2 0.4 0.6 0.8 1.0 1.2 1.4 1.6 0 0.2 0.4 0.6 0.8 1.0 1.2 1.4 1.6 0.5 Contour Error „ 10 E 5 5 0. a Hi »M IfM ..../ ..A/ \... / V . / ^ • . • • >J v -0 0.2 0.4 0.6 0.8 1.0 1.2 1.4 1.6 time [sec] m o x CO >>-0.5 0 0.2 0.4 0.6 0.8 1.0 1.2 1.4 1.6 time [sec] Figure 5.25 : Simulation Result for Tracking a Diamond Shaped Path with ZPETC & PPC & OBS2 & FFRIC; with Cutting Forces and Parameter Mismatch. Chapter 5. Simulations and Experimental Results 120 Tracking Errors 0.4 > 0.2 •§ o 0.2 0.4 0.6 0.8 1.0 1.2 * -0.2 -0.4. 0.2 0.4 0.6 0.8 1.0 1.2 ^ ° - 5 Contour Error > 0.5 CO 0i CO >» -0.5 0 0.2 0.4 0.6 0.8 1.0 1.2 time [sec] Control Signals 0.2 0.4 0.6 0.8 1.0 1.2 0.2 0.4 0.6 0.8 1.0 1.2 time [sec] Figure 5.26 : Simulation Result for Tracking a Circular Path with ZPETC & PPC & OBS & FFRIC; with Cutting Forces and Parameter Mismatch. Tracking Errors Control Signals 0.2 0.4 0.6 0.8 1.0 1.2 0.2 0.4 0.6 0.8 1.0 Contour Error 0.2 0.4 0.6 0.8 1.0 1.2 time [sec] 0.2 0.4 0.6 0.8 1.0 1.2 time [sec] Figure 5.27 : Simulation Result for Tracking a Circular Path with ZPETC & PPC & OBS & FFRIC & CCC; with Cutting Forces and Parameter Mismatch. Chapter 5. Simulations and Experimental Results 121 time [sec] Figure 5.28 : Simulation Result for Tracking a Circular Path with ZPETC & PPC & OBS2 & FFRIC; with Cutting Forces and Parameter Mismatch. Table 5.5 : Summary of Simulation Results with Cutting Forces and Parameter Mismatch. Referrence Path / Control Strategy Contour 1 max. Error [jim] r.m.s. X Axis Tracki max. ng Error [(im] r.m.s. Y Axis Tracki max. ng Error [nm] r.m.s. Diamond Shaped Path ZPETC & PPC & OBS & FFRIC 10.04 4.42 12.60 5.51 3.92 1.61 ZPETC & PPC & OBS & FFRIC & CCC 4.91 1.91 9.50 3.80 3.63 1.62 ZPETC & PPC & 0BS2 & FFRIC 5.56 2.27 6.76 2.78 2.47 0.81 Circular Path ZPETC & PPC & OBS & FFRIC 4.86 2.67 9.47 4.48 3.42 1.52 ZPETC & PPC & OBS & FFRIC & CCC 2.74 1.20 9.81 3.75 3.27 1.45 ZPETC & PPC & 0BS2 & FFRIC 3.17 1.32 5.18 2.25 2.23 0.81 5.7. Experimental Results The complete control scheme proposed in this thesis was implemented on the real-time plat-form ORTS, to control the high speed x-y table. Experimental tracking tests were conducted for the same control strategies and reference trajectories as in Section 5.6.1. However, there were some differences between the simulations and experimental work. Chapter 5. Simulations and Experimental Results 122 The first difference was in reference trajectory generation accuracy. Since the reference tra-jectories were generated in real-time, some trade-off had to be made from the converge accuracy of the iteratively computed interpolation period in the jerk limited trajectory generation routine. The convergence ratio for the interpolation period calculation had to be increased from 1 x 10~6 to 1 x 10 - 5 , which corresponded to the threshold that the relative change in interpolation period was compared to, for checking convergence. This was necessary to enable the execution of inter-polation at the control loop frequency. Furthermore, the DSP board allowed only 32-bit floating point number to be used, whereas the simulation reference trajectories were generated using 64-bit floating point numbers. These factors resulted in the reference trajectories to loose some of their smoothness, and have more discontinuous jerk profiles with larger spikes (Fig. 5.29 and 5.30), compared to the reference trajectories used in the simulations (Fig. 5.10 and 5.11). Never-theless, implementing jerk limited trajectory generation even in this form was still more advanta-geous than using trapezoidal velocity profiled trajectories. The second difference was in the friction compensation implementation. Although the exper-imentally identified friction model in Section 5.5.3 was used, it was found that this model would result in overcompensation at some of the corners or quadrants if used as it is. By trial and error, the magnitude of the feedforward friction compensation control signals were reduced to 50 [%] of their original values, to yield better contouring performance. The controllers tested were the same ones as those used in the simulations; 1°) PPC 2°) PPC & OBS 3°) ZPETC & PPC & OBS 4°) ZPETC & PPC & OBC & FFRIC 5°) ZPETC & PPC & OBS & FFRIC & CCC Chapter 5. Simulations and Experimental Results 123 30 20 E 10 E » 0 l i . -20 -30 Path -30 -20 -10 0 10 20 30 x axis [mm] Position 0 0.2 0.4 0.6 0.8 1.0 1.2 1.4 1.6 0 0.2 0.4 0.6 0.8 1.0 1.2 1.4 1.6 0 0.2 0.4 0.6 0.8 1.0 1.2 1.4 1.6 <NT 2000 S | o * E-2000 0.2 0.4 0.6 0.8 1.0 1.2 1.4 1.6 time [sec] Acceleration I 8 200 •*-> CO Q) E - - 0 0 0.2 0.4 0.6 0.8 1.0 1.2 1.4 1.6 time [sec] Jerk E-2 0 0.2 0.4 0.6 0.8 1.0 1.2 1.4 1.6 0 0.2 0.4 0.6 0.8 1.0 1.2 1.4 1.6 <N7 2000 CO -g u ^ E -2000 0 0.2 0.4 0.6 0.8 1.0 1.2 1.4 1.6 0 0.2 0.4 0.6 0.8 1.0 1.2 1.4 1.6 c w o 2000 CO CD 1 1 1 0 0 0 CU p - - 0. 0.2 0.4 0.6 0.8 1.0 1.2 1.4 1.6 time [sec] 0 0.2 0.4 0.6 0.8 1.0 1.2 1.4 1.6 time [sec] Figure 5.29 : Kinematic Profiles for Diamond Shaped Reference Trajectory Used in Experiments. Chapter 5. Simulations and Experimental Results 124 30 20 E 10 E 0 x £ - 1 0 -20 -30 Path -30 -20 -10 0 10 20 30 x axis [mm] .572000 <2 cu S | 0 * E-2000 <572000 S | 0 ^ .E-2000 c l Mo 2000 co cu ±= CO 3 -CO CD 10001-£ 0. Position 0.2 0.4 0.6 0.8 1.0 1.2 0.4 0.6 0.8 1.0 1.2 0.2 0.4 0.6 0.8 1.0 1.2 time [sec] Acceleration 0.4 0.6 0.8 1.0 1.2 time [sec] 0.2 0.4 0.6 0.8 1.0 1.2 l i 2 0 0 => £ 1 0 0 2 £ 2J-X105, ' 0 . 2 0 . 4 0 . 6 0 . 8 1 . 0 1 . 2 time [sec] Jerk 4 ^ h — c T 2 .si 8 22 s i 0 0 0 . 2 0 . 4 0 . 6 0 . 8 1 . 0 1 . 2 x 1 0 5 ' ' ' ' ' E -2 ' ' i ' f l l l l l l l l#«W--0 0.2 0.4 0.6 0.8 1.0 1.2 l x 105, 0.2 0.4 0.6 0.8 1.0 1.2 time [sec] Figure 5.30 : Kinematic Profiles for Circular Reference Trajectory Used in Experiments. Chapter 5. Simulations and Experimental Results 125 The experimental results are shown in Fig. 5.31 to 5.40, and the maximum and root mean square values of contour and tracking errors observed during these experiments are summarized in Table 5.6. The result of tracking the diamond shaped path using PPC is shown in Fig. 5.31. The tracking and contour errors have similar magnitudes and trends to those obtained in simulation for the no cutting, no parameter mismatch case (Fig. 5.12). The maximum contour error is 36.64 [Lim], which is quite large for a motion control system with 1 [u.m] of feedback resolution. By adding the disturbance observer, a significant performance improvement is obtained, as shown in Fig. 5.32. Although the tracking errors are not much different from those of the former case (as was observed in simulation as well), the contour errors are reduced such that their maxi-mum value is 17.81 [ L i m ] . The experimentally traced contour is quite jittery compared to the simulation contour, which was smoother. This property can also be seen in the contour error pro-file. Although the maximum values of contour error are comparable with the simulation result, the contour error in the simulation during constant velocity is reduced to much smaller values than that of experimental result. As was predicted in the simulations (Fig. 5.14), tracking errors are reduced significantly by the addition of the zero phase error tracking controller. This can be seen in the experimental result in Fig. 5.33. The contour error spikes due to transients at the corners (approximately at 0, 0.4, 0.8, and 1.2 seconds in the simulation) can also be seen in the experimental contour error profile. The maximum values of tracking and contouring error are of comparable magnitude with the sim-ulation result. However, the contour and tracking errors are brought very close to zero in the sim-ulations, but this is not observed in the experiments. This behavior, as well as the extra activity in control signals, are attributed mainly to the modeling errors between the actual setup, and the model used in simulations. The result of adding feedforward friction compensation is shown in Fig. 5.34. There is a decrease in the maximum magnitude of contour error from 14.83 [fim] to 12.04 [|im]. The Chapter 5. Simulations and Experimental Results 126 experimental contour error spikes that occur at approximately 0 and 1.2 seconds are reduced sig-nificantiy, while not much reduction is observed in the other ones. This is accounted to the friction model used in feedforward compensation being only an approximation of the observed friction characteristics. Furthermore, the tracking and contour error reduction is not as successful as what was achieved in simulation, again due to modeling errors of axis dynamics. The result of adding the cross-coupling controller is shown in Fig. 5.35. A significant improvement in contouring performance is not obtained, as was also observed in simulation. In fact, there is some deterioration in contouring accuracy, as the maximum contour error increases from 12.04 [u.m] to 13.45 [u,m], due to the interference of the cross-coupling controllers. The experimental results for the circular trajectory are shown in Fig. 5.36 to 5.40. Similar contribution for each control component can be observed in these results. Notice however that the quadrant glitch spikes shown in Fig. 5.38 for the ZPETC & PPC & OBS case are much more sig-nificant compared to the diamond shaped path, and the effect of feedforward friction compensa-tion can be better observed in the contour error profile of Fig. 5.39, as these spikes are significantly reduced. As was also seen in the simulations, the addition of cross-coupling control (Fig. 5.40) does not have much contribution to contouring accuracy, in the absence of cutting forces. The extra activity in experimental control signals, oscillatory behavior in experimental track-ing and contour errors, and order of magnitude difference in simulated and experimental contour errors after the addition of ZPETC are mainly attributed to modeling errors between the physical system, and the model used in simulations and controller design. Although the modeling was done as elaborately as possible, it is believed that higher order dynamics, which may correspond to amplifier dynamics or mechanical structure flexibility, were not modeled sufficiently. Further-more, the actuation force ripples that occur in direct drives were also not considered. Although the variation of friction characteristics and their deviation from the approximated friction model had affected the success of feedforward friction compensation, this discrepancy is Chapter 5. Simulations and Experimental Results 127 not regarded as the main source of difference between simulation and experimental results. For it is known that the magnitudes of friction in the x and y axes are close to each other, and that the y axis control signals (i.e. actuation force) are of much larger magnitude than those of the x axis. This means that the transients in estimating the unmodeled friction have much less significance in terms of tracking error in the y axis, than in the x axis, as seen in the simulation results for ZPETC & PPC & OBS in Fig. 5.14 and 5.19. However, this is not the case for the experimental tracking errors in the x and y axes, as in all cases, they have similar maximum and root mean square values (see Table 5.6). Therefore, it is believed that although the used friction model is not accurate enough in describing the friction characteristics of the x-y table thoroughly, its coarse-ness is not the major source of difference between the simulation and experimental results. Considering the jerkiness of the experimental reference trajectories; these trajectories were also used in the simulations to investigate their effect on the simulation and experimental differ-ences. In spite of their relative discontinuity compared to the simulation reference trajectories, a significant difference in contouring performance was not observed, except for the circular path where the maximum contour error increased to 2 [Ltm] for ZPETC & PPC & OBS & FFRIC, and 3 [Ltm] for ZPETC & PPC & OBS & FFRIC & CCC. This peak was observed only at the initial stage of acceleration. Therefore, the discontinuity of the experimental reference trajectories are also not regarded as a major source of difference between the simulation and experimental results. As a final comment, even if the description of complete axis dynamics (including high fre-quency terms) were available, controller design to compensate for all the dynamics would be a major problem. Even if not in terms of analytical design, the demand for such high sampling fre-quency would pose a problem in terms of computational power. The better solution is regarded as the utilization of a stiffer mechanical structure and higher bandwidth amplifiers to shift their unmodeled dynamics to a frequency region well beyond the range that would affect the perfor-mance of the closed loop control system. Chapter 5. Simulations and Experimental Results 128 Right Hand Corner of Diamond Path Reference Path Top Corner of Diamond Path E 2 x axis [mm] Tracking Errors x axis [mm] Control Signals « o * n o 0.2 0.4 0.6 0.8 1.0 1.2 1.4 1.6 x " X " * -0.4 0 0.2 0.4 0.6 0.8 1.0 1.2 1.4 1.6 0.2 0.4 0.6 0.8 1.0 1.2 1.4 1.6 Contour Error ^40 E ui20 u 0. 0.2 0.4 0.6 0.8 1.0 1.2 1.4 1.6 time [sec] 0 0.2 0.4 0.6 0.8 1.0 1.2 1.4 1.6 time [sec] Figure 5.31 : Experimental Result for Tracking a Diamond Shaped Path with PPC. Chapter 5. Simulations and Experimental Results 129 Right Hand Corner of Diamond Path Top Corner of Diamond Path time [sec] Figure 5.32 : Experimental Result for Tracking a Diamond Shaped Path with PPC & OBS. Chapter 5. Simulations and Experimental Results 130 Right Hand Corner of Diamond Path E E, c o X CO >s |_ 20 co-20 x x axis [mm] Tracking Errors Top Corner of Diamond Path Reference Path 50 [nm] 0.6 ™ 0.4 > 0.2 .2 0 x x axis [mm] Control Signals 0 0.2 0.4 0.6 0.8 1.0 1.2 1.4 1.6 * " « ? -0.4 0 0.2 0.4 0.6 0.8 1.0 1.2 1.4 1.6 0 0.2 0.4 0.6 0.8 1.0 1.2 1.4 1.6 cr 11- | Contour Error V Q x 0 I -1 0 0.2 0.4 0.6 0.8 1.0 1.2 1.4 1.6 time [sec] 0 0.2 0.4 0.6 0.8 1.0 1.2 1.4 1.6 time [sec] Figure 5.33 : Experimental Result for Tracking a Diamond Shaped Path with ZPETC & PPC & OBS. Chapter 5. Simulations and Experimental Results 131 Right Hand Corner of Diamond Path Reference Path E E Top Corner of Diamond Path Reference Path | 20 x axis [mm] Tracking Errors x axis [mm] Control Signals 0 0.2 0.4 0.6 0.8 £ 20 0 0.2 0.4 0.6 0.8 1.0 1.2 1.4 1.6 ^ 1 Contour Error 7 — i — i — i — i — i — 0 0.2 0.4 0.6 0.8 1.0 1.2 1.4 1.6 0 0.2 0.4 0.6 0.8 1.0 1.2 1.4 1.6 time [sec] time [sec] Figure 5.34 : Experimental Result for Tracking a Diamond Shaped Path with ZPETC & PPC & OBS & FFRIC. Chapter 5. Simulations and Experimental Results 132 Right Hand Corner of Diamond Path Reference Path x axis [mm] Tracking Errors Top Corner of Diamond Path Reference Path 50 [nm] x axis [mm] Control Signals E 2of 1 u-br—•—•—•—•—~—•—'—n Pf—1 i — —— i ~0.4 -0 0.2 0.4 0.6 0.8 1.0 1.2 1.4 1.6 0 0.2 0.4 0.6 0.8 1.0 1.2 1.4 1.6 c r 1 Contour Error £2 0 x * 1 0 0.2 0.4 0.6 0.8 1.0 1.2 1.4 1.6 time [sec] 0 0.2 0.4 0.6 0.8 1.0 1.2 1.4 1.6 time [sec] Figure 5.35 : Experimental Result for Tracking a Diamond Shaped Path with ZPETC & PPC & OBS & FFRIC & CCC. Chapter 5. Simulations and Experimental Results 133 ^ 2 £ £ 0 eg x co .? * 2 ° E £ 0 CO 'x CO _? >- 0 Tracking Errors 0.2 0.4 0.6 0.8 1.0 1.2 Contour Error 0.2 0.4 0.6 0.8 1.0 1.2 time [sec] Control Signals .<a o X 0.2 0.4 0.6 0.8 C2~ " 0 0.2 0.4 0.6 0.8 1.0 "0 0.2 0.4 0.6 0.8 1.0 time [sec] Figure 5.36 : Experimental Result for Tracking a Circular Path with PPC. 1.2 E co x CO X ET E x CO Tracking Errors "0 0.2 0.4 0.6 0.8 1.0 1.2 Contour Error '0 0.2 0.4 0.6 0.8 1.0 1.2 time [sec] Control Signals 0 0.2 0.4 0.6 0.8 1.0 1.2 co 'x CO 0.2 0.4 0.6 0.8 1.0 1.2 time [sec] Figure 5.37 : Experimental Result for Tracking a Circular Path with PPC & OBS. Chapter 5. Simulations and Experimental Results 134 "E 20 'S -201-Tracking Errors 0.6 „ 0.4 Control Signals 0 0.2 0.4 0.6 o.8 io 1 2 " ; 0 0.2 0.4 0.6 0.8 1.0 1.2 0 0.2 0.4 0.6 0.8 1.0 1.2 ^ 1 Contour Error 0 0.2 0.4 0.6 0.8 1.0 1.2 time [sec] 0 0.2 0.4 0.6 0.8 1.0 1.2 time [sec] Figure 5.38 : Experimental Result for Tracking a Circular Path with ZPETC & PPC & OBS. Tracking Errors Control Signals 0 0 0.2 0.4 0.6 0.8 1.0 1.2 time [sec] 0 0.2 0.4 0.6 0.8 1.0 1.2 time [sec] Figure 5.39 : Experimental Result for Tracking a Circular Path with ZPETC & PPC & OBS & FFRIC. Chapter 5. Simulations and Experimental Results 135 §_ 20 Tracking Errors w 0 V ^ ^ « f ^ A • A J \ ^ ^ ^ ^ 0.6 L O 1.2 Z'0-2 T Control Signals -0.4 0.2 0.4 0.6 0.8 1.0 1.2 cr 1 Contour Error 0.2 0.4 0.6 0.8 1.0 1.2 0 0.2 0.4 0.6 0.8 1.0 1.2 time [sec] 0.2 0.4 0.6 0.8 1.0 1.2 time [sec] Figure 5.40 : Experimental Result for Tracking a Circular Path with ZPETC & PPC & OBS & FFRIC & CCC. Table 5.6 : Summary of Experimental Results. Referrence Path / Control Strategy Contour max. Error Qim] r.m.s. X Axis Tracki max. ng Error [nm] r.m.s. Y Axis Tracki max. ng Error [\im\ r.m.s. Diamond Shaped Path PPC 36.64 21.71 1430.00 994.17 1391.00 968.54 PPC & OBS 17.81 4.20 1381.90 964.32 1386.30 964.13 ZPETC & PPC & OBS 14.83 3.45 18.36 4.69 21.47 5.14 ZPETC & PPC & OBS & FFRIC 12.04 3.33 20.11 4.58 18.93 5.12 ZPETC & PPC & OBS & FFRIC & CCC 13.45 3.34 20.11 4.52 19.92 5.22 Circular Path PPC 62.86 27.51 1970.60 1247.30 1946.50 1261.70 PPC & OBS 24.75 11.13 1938.40 1216.30 1942.80 1257.40 ZPETC & PPC & OBS 18.87 3.49 22.83 5.16 15.05 3.31 ZPETC & PPC & OBS & FFRIC 9.02 2.44 21.69 4.20 15.67 3.29 ZPETC & PPC & OBS & FFRIC & CCC 8.38 2.30 19.24 3.51 13.05 3.09 Chapter 5. Simulations and Experimental Results 136 5.8. Summary Direct drives are a new trend in providing feed actuation for high speed machining systems. In this chapter, modeling and identification of a two axis direct drive system is achieved. This is followed by the design and implementation of the proposed control scheme, both in simulation, and in experiments. Simulations are done for an ideal case where all axis dynamics and friction properties are known in advance and cutting forces are not present; as well as a realistic machin-ing case including cutting forces and parameter mismatch. The contribution of all axis tracking components are shown in simulations and experiments. The contribution of cross-coupling con-trol is shown in simulations under cutting conditions. Similar performance magnitudes and trends are generally observed between the simulations and experimental results, which verify the consis-tency of the work done within itself, as well as the effectiveness of the overall proposed control scheme. Chapter 6 Conclusions 6.1. Conclusions The reduction of tool path following errors in high speed CNC machine tools is investigated. The overall problem is broken down into real-time trajectory generation and control law design, and each step is tackled separately. The proposed algorithms are later combined, and tested exper-imentally on a high speed x-y table. The trajectory generation algorithm employs piecewise constant jerk, trapezoidal accelera-tion and parabolic velocity profiles along the tool path, resulting in smoother reference position commands with lower frequency content. This enables them to be tracked with better accuracy by the limited bandwidth of the servo. By avoiding discontinuity in the acceleration profile that would produce harmonics at a wide frequency band, the excitation of the servo and structural dynamics are also avoided, which would otherwise have led to transient oscillations in the tool position delivered by the axis controllers. Due to such advantages, jerk limited trajectory genera-tion is also a technique commonly employed in robotics applications. Applying constant jerk profiled trajectories requires the use of several recursive techniques for computing the interpolation period, so that the desired acceleration and deceleration profiles are ensured. During the acceleration and deceleration stages, the interpolation period exceeds the control loop sampling period. In order to avoid discontinuities in the axis control commands, the original reference trajectories with varying interpolation period are re-sampled at the control loop frequency using a fifth order polynomial fit in real-time. After providing smooth trajectory generation with minimal frequency content, axis control laws are investigated for best performance in high speed tracking. Dynamics and friction charac-137 Chapter 6. Conclusions 138 teristics of feed drives are modeled and experimentally identified for control law design. The axis dynamics are first stabilized using pole-placement control, which is designed to deliver a desired transient response. Disturbances such as cutting forces, as well as effects of parameter changes, are estimated and compensated for by a Kalman Filter. However, friction in the guides exhibit sharp transients when rapid changes in the direction of axis motion occur. Such transients cannot be detected quick enough using a disturbance observer. This is particularly evident when contour-ing sharp corners and arcs which pass through quadrants. The identified friction model is used for feedforward compensation of friction forces. In order to obtain minimum tracking errors at high speeds, the overall axis control system bandwidth is widened by adding a zero phase error tracking controller, which cancels the closed-loop axis dynamics in a stable manner. It is shown simulations and experiments that the imple-mentation of zero phase error tracking control, together with the disturbance observer and friction compensation reduces the tracking errors on each axis significantly, also leading to improved con-touring accuracy. To move along a linear tool path without any contour error, the dynamics of all axes have to be perfectly matched, which is difficult to achieve in practical feed drive systems. Even if the axis dynamics are closely matched, contour error will still occur during curved tool paths due to the limited bandwidth of the drives. Furthermore, the transients in cutting forces which are difficult to predict and precompensate for, deteriorate the contouring accuracy considerably. Under such con-ditions, significant contour error reduction is achieved by the implementation of cross-coupling control action, which consists of estimating the contour error in real-time and using this estimate in the axis control law. The contour error is estimated using a novel algorithm which is based on projecting the actual tool position onto the reference tool path. The tool position is obtained through available position feedback devices such as encoders; and the reference tool path, which is already defined in the NC program, is reconstructed from the reference trajectory signals. The axis components of contour error, which are the contribution of each axis to the contour error, are Chapter 6. Conclusions 139 fed back into the control signals of the corresponding axes through PID controllers. With the implementation of this feedback strategy, referred to as cross-coupling control, contour errors that occur in the presence cutting forces are significantly reduced. The overall study shows the individual contributions of trajectory generation, friction com-pensation, disturbance rejection, feedforward control and cross-coupling control components to the contouring accuracy of a high speed CNC machine tool. The results indicate that the imple-mentation of all the components in the proposed scheme are essential in order to obtain minimum contouring error in high speed machining applications. However, since the cross-coupled controller requires accurate estimation of the contour error in real-time, it may not be easy to implement it for tool paths which require the coordination of more than three axes. In this case, zero phase error tracking control with a robust feedback control structure for parameter uncertainty and disturbance rejection maybe the most practical method in high speed tracking control of machine tool feed drives. 6.2. Future Research Directions The proposed algorithms were experimentally tested on a high speed x-y table which does not have a spindle. Although the influence of cutting forces were considered in simulations, actual cutting tests must be conducted in demonstrating the performance of the proposed control system. It is shown that the parameter uncertainty in the drive's transfer function, along with time varying friction and other disturbances affect the performance of the axis control system. Further-more, the structural dynamics of the drives can be excited at discontinuous accelerations and decelerations, leading to both transient and chatter vibrations in high speed machining. Further-more, the relative transfer function between the tool and workpiece, which is greatiy be affected by the servo dynamics, plays a key role in determining the susceptibility of the machine tool to chatter vibrations. In future research, the design of a robust controller which can deal with param-Chapter 6. Conclusions 140 eter variations and structural flexibility while still delivering accurate tool path tracking should be considered. Direct drives are an increasingly popular trend for providing feed motion to high speed machine tools. They are preferred mainly due to the high actuation bandwidth they possess. How-ever, their main disadvantage is that they are directly exposed to cutting forces and inertial changes in the axis dynamics, which cause tracking and therefore contour errors. It was seen that contour errors arising from such conditions could significantly be reduced, if not completely elim-inated, by the implementation of cross-coupling control. An alternative to this approach may be to use cutting force measurements obtained via industrial force measuring devices, such as strain gages or a force ring mounted on the spindle housing, in the feedback control law to achieve improved disturbance cancellation during the transients in cutting force. This approach may replace the cross-coupling controller, and also result in better tracking and contouring accuracy for direct drive systems. Bibliography [I] Altintas Y., 1996, Course Notes: Principles of Metal Cutting and Machine Tool Automa-tion, The University of British Columbia, Vancouver. [2] Armstrong H. B., Dupont P., Canudas De Wit C , 1994, "A Survey of Models, Analysis Tools and Compensation Methods for the Control of Machines with Friction", Automatica, Vol. 30, No. 7, pp. 1083-1138. [3] Astrom K., Wittenmark B., 1997, Computer-Controlled Systems: Theory and Design, Third Edition, Prentice-Hall Inc., NJ [4] Budak E., Altintas Y , Armarego E.J., 1996, "Prediction of Milling Force Coefficients from Orthogonal Cutting Data", Journal of Engineering for Industry, Vol. 118, pp. 216-224, 1996. [5] Boucher P., Dumur D., Rahmani K.F., 1990, "Generalized Predictive Cascade Control (GPCC) for Machine Tools Drives", Annals ofCIRP, Vol. 39/1/1990, pp. 357-360. [6] Boucher P., Dumur D., Daumuller S., 1992, "Automatic Design of Tuning Parameters for Predictive Control of CNC Machines", Annals ofCIRP, Vol. 41/1/1992, pp. 417-420. [7] Butler J., Haack B., Tomizuka M., 1988, "Reference Generation for High Speed Coordi-nated Motion of a Two Axis System", Symposium on Robotics, Winter Annual Meeting of the American Society of Mechanical Engineers -1988, Chicago, IL, USA, American Soci-ety of Mechanical Engineers, Dynamic Systems and Control Division (Publication) DSC, Vol 11, pp. 457-470. [8] Chen Y.-C, Tlusty J., 1995, "Effect of Low-Friction Guideways and Lead-Screw Flexibil-ity on Dynamics of High-Speed Machines", Annals ofCIRP, Vol. 44/1/1995, pp. 353-356. [9] Chin J.-H., Lin T.-C, 1997, "Cross-Coupled Precompensation Method for the Contouring Accuracy of Computer Numerically Controlled Machine Tools", International Journal of Machine Tools and Manufacture, Vol. 37, No. 7, pp. 947-967. [10] Chuang H.-Y, Liu C.-H., 1991, "Cross-Coupled Adaptive Feedrate Control for Multiaxis Machine Tools", Journal of Dynamic Systems, Measurement, and Control, Vol. 113, No. 3, pp. 451-457. [II] Clarke D.W., Mohtadi C. Tuffs P.S., 1987, "Generalized Predictive Control - Part I. The Basic Algorithm", Automatica, Vol. 23, No. 2, pp. 137-148. 141 Bibliography 142 [12] Clarke D.W., Mohtadi C. Tuffs P.S., 1987, "Generalized Predictive Control - Part II. Exten-sions and Interpretations", Automatica, Vol. 23, No. 2, pp. 149-160. [13] Dumur D., Boucher P., Ehrlinger A.U., 1996, "Constrained Predictive Control for Motor Drives", Annals ofCIRP, Vol. 45/1/1996, pp. 355-358. [14] Endo S., Tomizuka M. , Hori Y., 1993, "Robust Digital Tracking Controller Design for High-Speed Positioning Systems", Proceedings of the 1993 American Control Conference. San Francisco, CA, USA, pp. 2494-2498. [15] Erkorkmaz K., Altintas Y , 1998, "High Speed Contouring Control Algorithm for CNC Machine Tools", ASME1998, International Mechanical Engineering Congress and Exposi-tion, ASME Publication DSC Vol. 64, pp. 463-469. [16] Erol N.A., Altintas Y , 1997, "Open Architecture Modular Tool Kit for Motion and Process Control", ASME 1997, International Mechanical Engineering Congress and Exposition, ASME Publication MED Vol.6-l,pp. 15-22. [17] Funahashi Y , Yamada M. , 1993, "Zero Phase Error Tracking Controllers with Optimal Gain Characteristics", Journal of Dynamic Systems, Measurement and Control, Vol. 115, No. 3, pp. 311-318. [18] Guo L., Tomizuka M. , 1997, "High-Speed and High-Precision Motion Control with an Optimal Hybrid Feedforward Controller", IEEE/ASME Transactions on Mechatronics, Vol. 2, No. 2, pp. 110-122. [19] Haack B., Tomizuka M. , 1991, "The Effect of Adding Zeroes to Feedforward Controllers", Journal of Dynamic Systems, Measurement, and Control, Vol. 113, No. 1, pp. 6-10. [20] Heisel U., Gringel M. , 1996, "Machine Tool Design Requirements for High-Speed Machining", Annals ofCIRP, Vol. 45/1/1996, pp. 389-392. [21] Huang S.-J., Chen C.-C, 1995, "Application of Self-Tuning Feed-Forward and Cross-Cou-pling Control in a Retrofitted Milling Machine", International Journal of Machine Tools and Manufacture, Vol. 35, No. 4, pp. 577-591. [22] Huber U., 1998, Diploma Arbeit Thesis: Advanced Trajectory Generation for Open Archi-tecture CNC Systems, Institute of Control Technology for Machine Tools and Manufactur-ing Units, Stuttgart University, Germany. [23] Jayasuriya S., Tomizuka M. , 1992, "Generalized Feedforward Controllers, Perfect Track-ing and Zero Phase Error", Proceedings of the 1992 Japan - USA Symposium on Flexible Automation Part 1 (of 2). San Francisco, CA, USA, pp. 511-514. [24] Jeon J.-W., Park S.-H., Kim D.-I., Kim S., 1993, "An Efficient Trajectory Generation for Industrial Robots", Proceedings of the 28th Annual Meeting of the IEEE Industry Applica-tions Conference, Vol. 3, pp. 2137-2143. Bibliography 143 [25] Kalman R.E., 1960, "A New Approach to Linear Filtering and Prediction Problems", Jour-nal of Basic Engineering, Vol. 82, pp. 35-44. [26] Koren Y., 1980, "Cross-Coupled Biaxial Computer Control for Manufacturing Systems", Journal of Dynamic Systems, Measurement, and Control, Vol. 102, pp. 265-272. [27] Koren Y , 1983, Computer Control of Manufacturing Systems, McGraw-Hill, NY. [28] Koren Y , Lo C.-C, 1991, "Variable-Gain Cross-Coupling Controller for Contouring", Annals ofCIRP, Vol. 40/1/1991, pp. 371-374. [29] Koren Y , Lo C.-C, 1992, "Advanced Controllers for Feed Drives", Annals of CIRP, Vol. 41/2/1992, pp. 689-698. [30] Kulkarni P.K., Srinivasan K., 1989, "Optimal Contouring Control of Multi-Axial Feed Drive Servomechanisms", Journal of Dynamic Systems, Measurement, and Control, Vol. I l l , No. 2, pp. 140-148. [31] Lee H.S., Tomizuka M. , 1996, "Robust Motion Controller Design for High-Accuracy Posi-tioning Systems", IEEE Transactions on Industrial Electronics, Vol 43, No. 1, pp. 48-55. [32] Makino H., Ohde T., 1991, "Motion Control of the Direct Drive Actuator", Annals ofCIRP, Vol. 40/1/1991, pp.375-378. [33] Mosca E., 1995, Optimal, Predictive and Adaptive Control, Prentice-Hall Inc., NJ. [34] Ogata K., 1987, Discrete-Time Control Systems, Prentice-Hall Inc., NJ. [35] Ogata K., 1997, Modern Control Engineering, Third Edition, Prentice-Hall Inc., NJ. [36] Press W.H., Flannery B.P., Teukolsky S.A., Vetterling W.T., 1988, Numerical Recipes in C, Cambridge University Press, New York, NY. [37] Pritschow G., Philipp W., 1992, "Research on the Efficiency of Feedforward Controllers in M Direct Drives", Annals ofCIRP, Vol. 41/1/1992, pp. 411-415. [38] Pritschow G., 1996, "On the Influence of the Velocity Gain Factor on the Path Deviation", Annals ofCIRP, Vol. 45/1/1996, pp. 367-371. [39] Pritschow G., 1997, Course Notes: Steuerungtechnik der Werkzeugmaschinen und Industri-eroboter (Control Techniques of Machine Tools and Industrial Robots), Institute of Control Technology for Machine Tools and Manufacturing Units, Stuttgart University, Germany. [40] Schulz H., Moriwaki T, 1992, "High-Speed Machining", Annals of CIRP, Vol. 41/2/1992, pp. 637-645. [41] Simon D., Isik C , 1991, "Optimal Trigonometric Robot Joint Trajectories", Robotica, Vol. 9, No. 4, pp. 379-386. Bibliography 144 [42] Spence A., Altintas Y., 1991, "CAD Assisted Adaptive Control for Milling", Journal of Dynamic Systems, Measurement and Control, Vol. 113, pp. 444-450. [43] Srinivasan K., Kulkarni P.K., 1990, "Cross-Coupled Control of Biaxial Feed Drive Servo-mechanisms", Journal of Dynamic Systems, Measurement, and Control, Vol. 112, pp. 225-232. [44] Tomita Y , Makino K., Sugimine M. , Taniguchi N., 1996, "High-Response X - Y Stage Sys-tem Driven by In-Parallel Linear Motors", Annals ofCIRP, Vol. 45/1/1996, pp. 359-362. [45] Tomizuka M. , 1987, "Zero Phase Error Tracking Algorithm for Digital Control", Journal of Dynamic Systems, Measurement, and Control, Vol. 109, pp. 65-68. [46] Torfs D., De Schutter J., Swevers J., 1992, "Extended Bandwidth Zero Phase Error Track-ing Control of Nonminimal Phase Systems", Journal of Dynamic Systems, Measurement, and Control, Vol. 114, No. 3, pp. 347-351. [47] Tsao T.-C, Tomizuka M. , 1987, "Adaptive Zero Phase Error Tracking Algorithm for Digi-tal Control", Journal of Dynamic Systems, Measurement, and Control, Vol. 109, pp. 349-354. [48] Tsao T.C., 1994, "Optimal Feed-Forward Digital Tracking Controller Design", Journal of Dynamic Systems, Measurement and Control, Vol. 116, No. 4, pp. 583-592. [49] Tung E., Anwar G., Tomizuka M. , 1993, "Low Velocity Friction Compensation and Feed-forward Solution Based on Repetitive Control", Journal of Dynamic Systems, Measure-ment, and Control, Vol. 115, No. 2A, pp. 279-284. [50] Tung E.D., Tomizuka M. , 1993, "Feedforward Tracking Controller Design Based on the Identification of Low Frequency Dynamics", Journal of Dynamic Systems, Measurement and Control, Vol. 115, No. 3, pp. 348-356. [51] Umeno T., Hori Y , 1991, "Robust Speed Control of DC Servomotors Using Modern Two Degrees-of-Freedom Controller Design", IEEE Transactions on Industrial Electronics, Vol. 38, No. 5, pp. 363-368. [52] Van Brussel H., Chen C.-H., Swevers J., 1994, "Accurate Motion Controller Design Based on an Extended Pole Placement Method and a Disturbance Observer", Annals ofCIRP, Vol. 43/1/1994, pp. 367-372. [53] Van Den Braembussche P., Swevers J, Van Brussel H., Vanherck P., 1996, "Accurate Track-ing Control of Linear Synchronous Motor Machine Tool Axes", Mechatronics, Vol. 6, No. 5, pp. 507-521. [54] Van Brussel H., Van den Braembussche P., 1998, "Robust Control of Feed Drives with Lin-ear Motors", Annals ofCIRP, Vol. 47/1/1998, pp. 325-328. Bibliography 145 [55] Wang F.-C, Yang D.C.H., 1993, "Nearly Arc-Length Parameterized Quintic-Spline Inter-polation for Precision Machining", Computer Aided Design, Vol. 25, No. 5, pp. 281-288. [56] Week M. , Ye G., 1990, "Sharp Corner Tracking Using the IKF Control Strategy", Annals ofCIRP, Vol. 39/1/1990, pp. 437-441. [57] Yao B., Al-Majed M. , Tomizuka M. , 1997, "High-Performance Robust Motion Control of Machine Tools: An Adaptive Robust Control Approach and Comparative Experiments", IEEE/ASME Transactions on Mechatronics, Vol. 2, No. 2, pp. 63-76. [58] Yoshikawa T, 1990, Foundations of Robotics, The MIT Press, Cambridge, MA. 

Cite

Citation Scheme:

        

Citations by CSL (citeproc-js)

Usage Statistics

Share

Embed

Customize your widget with the following options, then copy and paste the code below into the HTML of your page to embed this item in your website.
                        
                            <div id="ubcOpenCollectionsWidgetDisplay">
                            <script id="ubcOpenCollectionsWidget"
                            src="{[{embed.src}]}"
                            data-item="{[{embed.item}]}"
                            data-collection="{[{embed.collection}]}"
                            data-metadata="{[{embed.showMetadata}]}"
                            data-width="{[{embed.width}]}"
                            async >
                            </script>
                            </div>
                        
                    
IIIF logo Our image viewer uses the IIIF 2.0 standard. To load this item in other compatible viewers, use this url:
http://iiif.library.ubc.ca/presentation/dsp.831.1-0080959/manifest

Comment

Related Items