UBC Theses and Dissertations

UBC Theses Logo

UBC Theses and Dissertations

Optimal trajectory generation and precision tracking control for multi-axis machines Erkorkmaz, Kaan 2004

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

Item Metadata

Download

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

Full Text

OPTIMAL TRAJECTORY GENERATION AND PRECISION TRACKING FOR MULTI-AXIS MACHINES by KAAN ERKORKMAZ B.Sc, Istanbul Technical University 1995 M.A.Sc, University of British Columbia, 1999 A THESIS SUBMITTED IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE DEGREE OF DOCTOR OF PHILOSOPHY in THE FACULTY OF GRADUATE STUDIES MECHANICAL ENGINEERING We accept this thesis as conforming to the required standard THE UNIVERSITY OF BRITISH COLUMBIA January 2004 © Kaan Erkorkmaz, 2004 Abstract This thesis presents experimentally verified smooth trajectory generation, feedrate optimiza-tion, and high performance control algorithms developed for multi-axis Cartesian machine tools. New spline parameterization and interpolation schemes are introduced that yield smooth con-touring motion with minimal feedrate fluctuation along arbitrarily shaped toolpaths. The first approach is based on optimizing the toolpath geometry to yield minimal discrepancy between the spline parameter and arc length increments, resulting in an Optimally Arc Length Parameterized (OAP) quintic spline. This spline exhibits minimal feedrate fluctuation when interpolated at con-stant parameter increments. The second approach is based on scheduling the spline parameter to yield the desired arc displacement, hence the desired feedrate profile accurately, without having to re-parameterize the spline toolpath. The feedrate correction polynomial and iterative interpolation techniques developed for this purpose are shown to improve the feedrate consistency with reliable convergence properties, at small computational cost, making these methods viable for real-time implementation in the CNC executive. A jerk continuous feedrate optimization technique is introduced for minimizing the cycle time, while preserving the motion smoothness and tracking accuracy for traveling along spline toolpaths. Feedrate modulation is achieved by varying the travel duration of each segment and fit-ting the resulting C 3 continuous minimum jerk displacement profile. This results in continuous velocity, acceleration, and jerk transitions spanning the entire motion along the toolpath, allowing smoother feed motion with shorter cycle time compared to piecewise constant feedrate modula-tion method used in current CNC systems. The feed drive dynamics of a three axis machining center are identified in detail in order to develop a controller with high tracking accuracy and bandwidth. The linear rigid body dynamics, ii comprising of inertia and viscous friction are determined using a modified least squares scheme, which considers the existence of Coulomb friction in the parameter estimation process. The non-linear friction model is refined by jogging the axes back and forth at various speeds, and observ-ing the equivalent friction torque through a Kalman filter. The structural dynamics of the ball screw mechanism are identified by conducting frequency response tests, while the axis is already in motion, in order to decouple the interfering effect of stick-slip friction. The torsional vibrations of the lead screw, as well as translational vibrations of the table resulting from the torsional and axial vibrations of the lead screw, are experimentally identified. The modal characteristics of the ball screw are combined with the rigid body dynamics and guideway friction, resulting in a detailed drive model which is used for motion control law design. Two robust, adaptive sliding mode controllers have been designed, one which considers only the rigid body motion, and the second which also considers the torsional vibrations of the ball screw. Notch filtering of the first resonant mode is also investigated as a practical alternative to active vibration control, yielding successful experimental results when used in conjunction with the rigid body based sliding mode controller. Feedforward friction compensation has been added, to improve the contouring performance at circular arc quadrants and sharp corners, where the fric-tion disturbance undergoes a discontinuous change due to axis velocity reversal. The proposed control techniques have been validated in simulations and high speed tracking and contouring experiments. The methods developed in this thesis have been evaluated on a three axis machining center, and are directly applicable to other Cartesian configured multi-axis systems, such as electronic component assembly or photolithography machines. Their extension to non-Cartesian axis con-figurations would require the kinematic chain and dynamic model of the machine to be consid-ered in the control law design and trajectory generation algorithms. iii Table of Contents Abstract < ii Table of Contents iv List of Tables vii List of Figures viii Acknowledgment xiv 1. Introduction 1 2. Literature Review 6 2.1. Overview : '. 6 2.2. Spline Parameterization and Interpolation Techniques 7 2.3. Minimum-Time Feedrate Optimization 9 2.4. Modeling and Precision Control of High Speed Feed Drives 10 2.5. Conclusions 15 3. Spline Parameterization and Interpolation with Minimal Feedrate Fluctuation 17 3.1. Overview 17 3.2. Optimally Arc Length Parameterized (OAP) Quintic Spline 17 3.3. Interpolation with Minimum Feed Fluctuation 23 3.3.1. Feed Correction Polynomial 23 iv 3.3.2. Iterative Solution of the Spline Parameter 29 3.4. Simulation and Experimental Results 30 3.5. Conclusions 32 4. Feedrate Optimization for Spline Interpolation 40 4.1. Overview •. 40 4.2. Minimum Jerk Feed Profile 41 4.3. Minimum Time Feed Optimization 47 4.3.1. Velocity, Torque, and Jerk Constraints 47 4.3.2. Solution of the Optimization Problem 49 4.3.3. Windowing for Long Toolpaths 50 4.4. Simulation and Experimental Results 52 4.5. Conclusions 57 5. Modeling and Identification of Feed Drive Dynamics 59 5.1. Overview 59 5.2. Rigid Body Dynamics 61 5.3. Identification of Friction Characteristics Using a Kalman Filter 71 5.4. High Order Dynamics of the Ball Screw Drive Mechanism 81 5.5. Combination of Identified Dynamics 86 5.6. Conclusions 91 6. Precision Tracking Controller Design for High Speed Feed Drives 93 6.1. Overview 93 v 6.2. Adaptive Sliding Mode Controller (SMC) Design 94 6.3. Adaptive SMC Design for Rigid Body Dynamics 96 6.4. Adaptive SMC Design for Active Mode Compensation 99 6.5. Notch Filtering of the Lowest Resonance Mode 106 6.6. Feedforward Friction Compensation 107 6.7. Simulation and Experimental Results 109 6.7.1. Simulation Results 109 6.7.2. Experimental Results for Two Axis Contouring 126 6.7.3. Experimental Results for Single Axis High Bandwidth Control 131 6.8. Conclusions 137 7. Conclusions 139 7.1. Conclusions 139 7.2. Future Research Directions 140 Bibliography 142 A. Computation of the Objective and Gradient in Spline Arc Length Optimization 149 B. Computation of the Gradients in Feedrate Optimization 151 C. Cubic Acceleration Profiled Feed Motion 156 vi List of Tables 5. Modeling and Identification of Feed Drive Dynamics Table 5.1: Summary of Identified Feed Drive and Controller Design Parameters 80 Table 5.2: Poles, Zeros, and Gain of 2nd Order Approximation of Lead Screw Dynamics 85 Table 5.3: Poles, Zeros, and Gain of 8th Order Approximation of Lead Screw Dynamics 86 Table 5.4: Poles, Zeros, and Gain of Position Transfer Function, Considering 2nd Order Torsional Dynamics of the Lead Screw 89 Table 5.5: Poles, Zeros, and Gain of Position Transfer Function, Considering 8th Order Torsional Dynamics of the Lead Screw 90 vii List of Figures 1. Introduction Figure 1.1: Tracking and Contour Errors in 2-Axis Machining 2 Figure 1.2: Application of Spline Toolpaths in Machining Aerospace Parts, Dies, and Molds.... 3 Figure 1.3: Overview of Trajectory Generation and Motion Control a in CNC Machine Tool 4 2. Literature Review Figure 2.1: Discrepancy Between Spline Parameter (u) and Actual Arc Length (s) in Spline Parameterization 7 3. Spline Parameterization and Interpolation with Minimal Feedrate Fluctuation Figure 3.1: Spline Toolpath 18 Figure 3.2: Single Spline Segment 19 Figure 3.3: Different Methods for Interpolating along a Given Spline Toolpath 24 Figure 3.4: Feed Correction Polynomial 25 Figure 3.5: Toolpath and ALPI Comparison of Approximately Arc Length Parameterized C Quintic Spline (AAPC ) and Optimally Arc Length Parameterized Quintic Spline (OAP) for Fan Profile 34 Figure 3.6: Feedrate Profiles for Fan Toolpath 35 Figure 3.7: Number of Iterations per Control Sample for Iterative Interpolation along the Fan Profile 35 Figure 3.8: Toolpath and ALPI Comparison of AAPC and OAP Quintic Splines Passing Through 10 Random Points 36 Figure 3.9: Feedrate Profiles for 10 Random Points 37 viii Figure 3.10: Experimental Tracking Performance for Natural Interpolation along AAPC 3 Spline Fit through 10 Random Points 38 Figure 3.11: Experimental Tracking Performance for Feed Correction Polynomial Interpolation along AAPC 3 Spline Fit through 10 Random Points 38 Figure 3.12: Experimental Tracking Performance for Natural Interpolation along OAP Spline Fit through 10 Random Points 39 4. Feedrate Optimization for Spline Interpolation Figure 4.1: Spline Toolpath 41 Figure 4.2: Minimum Jerk Feed Profile 43 Figure 4.3: Evaluation of Constraints 50 Figure 4.4: Example of Applied Windowing Technique 51 Figure 4.5: Spline Toolpath used in Experiments 53 Figure 4.6: Comparison of Optimized and Unoptimized Feed Profiles 54 Figure 4.7: Experimentally Recorded Tracking Errors and Control Signals for Optimized and Unoptimized Feed Profiles 55 Figure 4.8: Feed Profiles Obtained with the Proposed Optimization Algorithm and Piecewise Constant Feed Modulation with Smooth Acceleration Transients (Week et al. [78]) 56 Figure 4.9: Axis Velocity, Acceleration, and Jerk Commands, and Predicted Control Signal (Motor Torque) Profiles Obtained with the Proposed Feedrate Optimization Algorithm (solid) and Piecewise Constant Feed Modulation (dashed) with Smooth Acceleration Tran-sients [78] 57 5. Modeling and Identification of Feed Drive Dynamics Figure 5.1: Three Axis Machining Center Controlled with In-house Developed Open CNC 60 Figure 5.2: Linear Feed Drive Model Considering only Rigid Body Dynamics 62 Figure 5.3: Axis Dynamics Including Quantization and Measurement Noise 64 ix Figure 5.4: Interaction of Friction with Linear Axis Dynamics 66 Figure 5.5: Input Signal Used in Identifying Rigid Body Dynamics 68 Figure 5.6: X and Y Axis Parameter Estimates Obtained Using Simple Least Squares and Pro-posed Unbiased Least Squares Identification Techniques 69 Figure 5.7: Velocity Response Prediction of Models Identified Using Simple and Unbiased Least Squares Techniques 70 Figure 5.8: Estimated Friction for the X Axis at Different Jogging Velocities 74 Figure 5.9: Observed and Modeled Friction Characteristics of the X and Y Axes 75 Figure 5.10: Recorded Tracking and Contouring Errors for Control (a) Without and (b) With Feedforward Friction Compensation 78 Figure 5.11: Experimental Procedure Used in Identifying the High Order Dynamics of the Lead Screw Drive Mechanism 81 Figure 5.12: Input Signal Used in Identifying Structural Dynamics 82 Figure 5.13: Experimentally Identified Transfer Functions of Lead Screw Drive Mechanism... 83 Figure 5.14: Experimentally Identified Transfer Functions of Lead Screw Drive Mechanism (Low Frequency Range) 84 Figure 5.15: Second and Eighth Order Approximations of Lead Screw End Transfer Function. 85 Figure 5.16: Integration of Rigid Body Dynamics, Guideway Friction Characteristics, and Lead Screw Vibrations into a Single Model for Controller Design and Simulation 88 Figure 5.17: Open Loop Position Transfer Function Including: Rigid Body Mass, Viscous Fric-tion, and Torsional Lead Screw Vibrations 91 6. Precision Tracking Controller Design for High Speed Feed Drives Figure 6.1: Discrete Time Implementation of Adaptive Sliding Mode Control Designed for Rigid Body Axis Dynamics 99 Figure 6.2: Discrete-Time Implementation of Adaptive Sliding Mode Control, Designed to Actively Dampen out the First Torsional Mode of the Lead Screw Drive 105 Figure 6.3: Rigid Body Dynamics-Based Sliding Mode Controller, Used in Conjunction with a Notch Filter for Robust High Bandwidth Servo Control 107 Figure 6.4: Combination of Adaptive Sliding Mode Control, Feedforward Friction Compensa-tion, and Notch Filtering of the First Resonance Mode, for Precision Motion Control in High Speed Feed Drives 108 Figure 6.5: Discrete-Time Feedforward-Feedback Control Structure Used in Evaluating the Fre-quency Domain Characteristics of the Designed Axis Tracking Controllers I l l Figure 6.6: Nyquist Diagrams for Assessed Controller Designs. Solid: Controller FRF has been Combined with 8 t h Order Approximation of the Lead Screw Dynamics. Dashed: Controller FRF has been Combined with Experimentally Measured Lead Screw FRF. 113 Figure 6.7: Sensitivity (S) and Complementary Sensitivity (T) Functions for Assessed Controller Designs. Solid: Controller FRF has been Combined with 8 th Order Approximation of the Lead Screw Dynamics. Dashed: Controller FRF has been Combined with Experimentally Measured Lead Screw FRF. 114 Figure 6.8: Tracking Transfer Functions (x(s)/xref(s)) for Assessed Controller Designs. Solid: Controller FRF has been Combined with 8 th Order Approximation of Lead Screw Dynam-ics. Dashed: Controller FRF has been Combined with Experimentally Measured Lead Screw FRF. 116 Figure 6.9: Disturbance Transfer Functions (x(s)/d(s)) for Assessed Controller Designs. Solid: Controller FRF has been Combined with 8 t h Order Approximation of Lead Screw Dynam-ics. Dashed: Controller FRF has been Combined with Experimentally Measured Lead Screw FRF. 118 Figure 6.10: Reference Trajectory Used in Single Axis Tracking Simulations 120 Figure 6.11: Simulated Tracking Performance of Sliding Mode Controller Designed Considering only Rigid Body Axis Dynamics (^=200 [rad/sec]) 121 x i Figure 6.12: Simulated Tracking Performance of Rigid Body Based SMC (A, =200 [rad/sec]) + Notch Filtering of the First Torsional Mode 122 Figure 6.13: Simulated Tracking Performance of Rigid Body Based SMC (X-600 [rad/sec]) + Notch Filtering of the First Torsional Mode 123 Figure 6.14: Simulated Tracking Performance of Mode Compensating Sliding Mode Controller (X = co„=600 [rad/sec]) 124 Figure 6.15: Simulated Tracking Performance of Rigid Body Based SMC (A, =600 [rad/sec]) + Notch Filtering of the First Torsional Mode + Feedforward Friction Compensation 125 Figure 6.16: Simulated Tracking Performance of Mode Compensating Sliding Mode Controller (A,=co„=600 [rad/sec]) + Feedforward Friction Compensation 125 Figure 6.17: Control Schemes Tested in High Speed Contouring Experiments: (a) Sliding Mode Control, (b) Pole Placement Control with Zero Phase Error Tracking Filter 127 Figure 6.18: Reference Toolpaths Used in Contour Machining Tests 129 Figure 6.19: Recorded Contour Error Profiles During: (a) Circular Cutting, (b) Diamond Cut-ting 130 Figure 6.20: Contouring Performance at the Corners of the Diamond Toolpath 130 Figure 6.21: Reference Trajectory Used in Single Axis Tracking Experiments. 132 Figure 6.22: Experimental Tracking Performance of Sliding Mode Controller (X-600 [rad/sec]) + Notch Filtering of the First Torsional Mode of the Lead Screw (cor=183 [Hz], C, =0.2). Position Feedback from the Lead Screw Free End is Used in Closing the Control Loop... 133 Figure 6.23: Experimental Tracking Performance of Sliding Mode Controller (X=600 [rad/sec]) + Notch Filtering of the First Torsional Mode of the Lead Screw (cor=183 [Hz], C, =0.2) + Feedforward Friction Compensation. Position Feedback from the Lead Screw Free End is Used in Closing the Control Loop 134 Figure 6.24: Experimental Tracking Performance of Sliding Mode Controller (A.=150 [rad/sec]) + Notch Filtering of the First Translational Resonance of the Table (cor=92 [Hz], ^ =0.16). Linear Position Feedback from the Table is Used in Closing the Control Loop 135 xii Figure 6.25: Experimental Tracking Performance of Sliding Mode Controller (A. = 150 [rad/sec]) + Notch Filtering of the First Translational Resonance of the Table (cor=92 [Hz], =0.16) + Feedforward Friction Compensation. Linear Position Feedback from the Table is Used in Closing the Control Loop 136 xiii Acknowledgment I would like to express my sincere gratitude to my research supervisor Dr. Yusuf Altintas, for the encouragement and support he has provided throughout my graduate study. He has been a great mentor and friend, and it has truly been a pleasure working with him. I have also deeply appreciated my friends and colleagues at the Manufacturing Automation Laboratory, as well as the faculty and staff members of UBC Mechanical Engineering Depart-ment. In particular, I am grateful for the friendship of Dr. Sander Calisal and Dr. Gary Schajer. I would also like to acknowledge the support of my close friends Rubab Arim, Dr. Ayhan Akinturk, Dr. Serafettin Engin, and Fuat Atabey. The final year of my doctoral study was done while in residence at Green College. The opportunity to share a roof with many talents and scholars from different disciplines has been a profoundly inspirational experience. I would like to acknowledge the deep and continuous support of my darling Catherine, and her beloved family, who with their presence have been a blessing in my life. And, I would like to thank my dear family for their unwavering encouragement and love. I dedicate this thesis to my beloved grandmother Berin Ulmen, who lives in my heart. xiv Chapter 1 Introduction In response to demands for productivity increases and improvements in manufacturing pro-cesses, such as the application of high speed machining, feedrate and acceleration requirements in multi-axis machines have increased by almost tenfold in the last two decades. Meanwhile, the tool positioning requirements have become more stringent in order to realize higher part tolerances and better surface finish quality. Typical examples of multi-axis machines which require the exe-cution of smooth and rapid feed movements accurately are: high speed machine tools, microelec-tronic assembly and photolithography machines, as well as robotic manipulators used in welding, assembly, or medical research tasks. Achieving the desired high speed precision motion in these machines requires a significant amount of effort be dedicated to elaborate motion planning and control law development, in addition to realizing the mechatronic design of the machine itself, instrumented with appropriate sensors, actuators, and computer control. The effect of servo tracking performance on the tool positioning accuracy has been depicted in Fig. 1.1, for a two axis machine tool performing milling. The goal is to keep the actual tool position on the desired toolpath at all times, which will lead to the part being machined with the desired part geometry. In reality, due to the limited bandwidth of the servo drives, as well as dis-turbances originating from cutting forces and guideway friction, the actual tool position will fol-low the instantaneous reference position with tracking errors (ex and e ) in each axis, which result in a geometric deviation (i.e., contour error e) between the actual tool location and the desired toolpath. If large enough, the contour error may result in violation of the part tolerances. The most effective method of decreasing the contour error is to increase the servo bandwidth. This results in the reduction of tracking errors in the individual axes. The control bandwidth can 1 Chapter 1. Introduction 2 y X reference tool position • £ = contour error / J x , Gy - axis tracking / errors reference toolpath 'feed f velocity I actual toolpath actual (including tool position tool deflection) Figure 1.1: Tracking and Contour Errors in 2-Axis Machining. only be increased until the unmodeled dynamics in the drive system (resonances), as well as quan-tization and sampling effects, start to cause instabilities. Thus, high bandwidth controller design can only be achieved after elaborate modeling and identification of the drive's high frequency dynamics. The actual path traveled by the tool will typically possesses both low and high frequency waviness. The high frequency waves are attributed to structural vibrations in the machine and drive system, originating from forced or chatter vibrations coming from the cutting process, as well as structural vibrations excited by discontinuity in the servo motion. The latter vibrations result in high frequency acceleration and torque harmonics delivered to the drive mechanisms. Forced vibrations can be largely reduced by using a sufficiently rigid machine tool, especially in the spindle, cutting tool, and workpiece interface. Chatter vibrations can be avoided by selecting appropriate chatter free cutting conditions. Hence, the smoothness of the coordinated multi-axis motion plays a key role in achieving a surface finish free of vibration marks. The low frequency waves, on the other hand, are attributed to varying tool deflections due to fluctuations in the fee-Chapter 1. Introduction 3 Figure 1.2 : Application of Spline Toolpaths in Machining Aerospace Parts, Dies, and Molds. drate, which affect the tool loading conditions. Hence, assuming constant cutting tool immersion conditions, it is important to realize a consistent feed profile without any fluctuation or disconti-nuity through the whole toolpath. Spline toolpaths have recently gained significance in delivering the desired feed motion smoothly and accurately in machining complex sculptured surfaces, especially for aerospace parts, dies, and molds (Fig. 1.2). However, due to their complex geometric nature, splines exhibit feedrate fluctuations when interpolated at constant parameter increments. Furthermore, schedul-ing the optimal feedrate profile for traveling along a spline toolpath in minimum time is not a triv-ial task. If realized in a practical manner while taking full advantage of the machine's physical limits, optimal feedrate scheduling carries the potential to significantly improve the productivity of many manufacturing operations. Chapter 1. Introduction 4 0 Toolpath (Geometric) Planning 1 HuT= ' \ x(u)i+y(u]j o Feed Motion s | Displacement Planning \s=s(t), s=s(t),\ \s=s(t), s=s{t) | 0 Interpolation 1 u=u(s) —> ' I r=r(t)= I \x(t)i+y(t)j; | , m, m, w i o Feed Drive System Motor Coupling Motion Command r(t), r(t), r(t), W) Figure 1.3 : Overview of Trajectory Generation and Motion Control a in CNC Machine Tool. The problems of smooth trajectory generation, feedrate optimization, and precision tracking controller design have been tackled in this thesis. In relation to the general structure of a CNC sys-tem shown in Fig. 1.3, a new type of spline toolpath planning scheme has been developed, that results in an Optimally Arc Length Parameterized (OAP) quintic spline, which exhibits minimal feedrate fluctuation when interpolated at constant parameter increments. A feedrate planning strategy has been developed for spline toolpaths, that minimizes the cycle time while adhering to the velocity, torque, and jerk limits of the drives, which helps to preserve the high speed tracking and contouring accuracy while executing the time optimal feed motion. An interpolation strategy has been developed, that minimizes the feedrate fluctuation along any type of curved toolpath, by accurately characterizing the relationship between the toolpath parameter (u) and the spline arc length (s). The dynamics of the feed drive system have been modeled in detail, considering the rigid body motion, nonlinear guideway friction, and torsional vibrations in the lead screw. Robust control techniques have been developed, predominantly applying Sliding Mode Control Theory, Chapter 1. Introduction 5 for realizing the high speed precision motion accurately, in the presence of unmodeled distur-bances and drive parameter variations. The methods developed in this thesis have been evaluated on a three axis machining center, and are directly applicable to other Cartesian configured multi-axis systems, such as electronic component assembly or photolithography machines. Their exten-sion to non-Cartesian axis configurations would require the kinematic chain and dynamic model of the machine to be considered in the control law design and trajectory generation algorithms. Henceforth, the thesis is organized as follows: The review of related literature is presented in Chapter 2, followed by optimal spline parameterization and interpolation techniques in Chapter 3. The feedrate optimization method is presented in Chapter 4, followed by detailed modeling and identification of the axis dynamics in Chapter 5, and precision tracking controller design in Chap-ter 6. The conclusions and possible future research directions are pointed out in Chapter 7. Appendices clarifying some of the computational details are provided following the Bibliography. Chapter 2 Literature Review 2.1. Overview Demand for increased productivity in all areas of manufacturing has motivated research in computer control methods for multi-axis machines, such as machine tools and robots, capable of delivering the desired work motion rapidly and accurately, in order to produce or assemble parts in minimum time without violating their tolerances. In the field of high speed machining [4,61], material removal rates and spindle speeds have increased by almost tenfold in the last two decades, making it essential to deliver proportionally high feedrates while guaranteeing the posi-tioning accuracy of the tool. This requires the drive servo system to have a much higher band-width, in order to be able to track the rapidly varying tool commands accurately, and also that the reference trajectory be smooth and continuous, in order to avoid exciting the structural dynamics of the drive system, which would cause unwanted vibration marks on the part being manufac-tured, and also to avoid excessive tracking and contouring error caused by motion commands demanded outside the servo bandwidth. Hence, smooth trajectory generation and high bandwidth control are two essential components that, hand in hand, achieve quick and accurate feed motion in multi-axis machines. In this chapter, former research reported in literature is reviewed in relation to the intended contributions in this thesis, in the areas of: Smooth multi-axis motion generation using spline tool-paths (Section 2.2), Feedrate optimization for spline toolpaths subject to physical limits of the machine (Section 2.3), and Modeling and precision control of high speed feed drives (Section 2.4). The conclusions of the literature survey are presented in Section 2.5. 6 Chapter 2, Literature Review 1 y k+l X du^ds! Figure 2.1 : Discrepancy Between Spline Parameter (u) and Actual Arc Length (s) in Spline 2.2. Spline Parameterization and Interpolation Techniques The desire to machine aerospace parts, dies, and molds comprising of complex sculptured surfaces at high speeds has motivated research in spline parameterization and interpolation tech-niques, which allow smooth and accurate tracking of varying curvature toolpaths at high fee-drates. Wang and Yang [75] have compared cubic and quintic spline toolpaths, favoring the latter for smooth motion. They have noted the discrepancy between the spline parameter («) and trav-eled arc length (s) increments (Fig. 2.1), which leads to feedrate fluctuations in the order of 5 [%] when the spline is interpolated with constant parameter increment. Such feed fluctuations leave a wavy surface on the machined part due to varying tool deflections [4], and are also amplified into high frequency acceleration and jerk harmonics which deteriorate the servo tracking performance and induce vibrations on the machine. Reporting the difficulty of parametrizing splines with respect to their arc length, they have applied near-arc length parametrization by setting du = ds at the midpoint of each spline segment. With this approach, they were able to reduce the feed flue-tuations by an order of magnitude, for quintic toolpaths of C (acceleration) continuity. Later, Wang et al. [76] improved on this idea by imposing an additional third derivative continuity con-straint at the knots, resulting in Approximately Arc-Length Parameterized C (AAPC ) Quintic Splines, which possessed less feed discrepancy and smoother geometric derivatives. Fleisig and Spence [31] have extended nearly arc length parameterization to five axis machining by repre-senting the tool orientation with a spherical Bezier spline, and maintaining coordination between Parameterization. Chapter 2. Literature Review 8 position and orientation of the toolpath with a re-parameterization spline. Farouki and Shah [28] used Pythagorean Hodograph (PH) curves, which allow the arc length to be analytically com-puted, thereby avoiding feed fluctuations during interpolation. Later, Farouki et al. [29] extended the application of PH curves to three axis free-form machining. In parallel with the efforts of parametrizing the toolpath in terms of its arc length, interpola-tion techniques were also developed to reduce the feedrate fluctuations occurring in non-arc length parameterized splines. Shpitalni et al. [63] proposed an iterative interpolation technique where a first order Taylor series approximation was used for computing the spline parameter to realize the desired feedrate. Later, Lin [47] proposed using second order approximation, reporting two orders of magnitude reduction in feed fluctuation compared to the first order method. Erkork-maz and Altintas [22] developed an iterative interpolation technique requiring the numerical solu-tion of the root of a high order polynomial relating the arc increment to the spline parameter increment. In this thesis, two different approaches are presented for reducing the feedrate fluctuations in spline toolpaths (Chapter 3). The first approach is based on optimizing the toolpath geometry to yield minimal discrepancy between the spline parameter and arc length increments, resulting in an Optimally Arc Length Parameterized (OAP) quintic spline. This spline exhibits minimal feedrate fluctuation when interpolated at constant parameter increments. The second approach is based on scheduling the spline parameter to yield the desired arc displacement, hence the desired feedrate profile accurately, without having to re-parameterize the spline toolpath. This is done by either approximating the relationship between the arc length and spline parameter using a Feed Correc-tion Polynomial, or by solving the exact value of the spline parameter using an efficient Iterative Interpolation technique. The results of this work have been reported in [26], and are expected to be published in [27]. Chapter 2. Literature Review 9 2.3. Minimum-Time Feedrate Optimization In parallel with the research in spline interpolation techniques [22,36,43,75,76], development of feedrate optimization methods for spline toolpaths have also gained importance, in response to the challenge to generate smooth trajectories that travel the spline toolpath in minimum time, without violating the physical limitations of the machine's drives. A significant amount of research has been devoted to time optimal trajectory generation for robots [10], as well as Cartesian machines [11,74]. Unfortunately, such trajectories generated with preset torque limits possess discontinuous acceleration and torque profiles, defeating the purpose of using a smooth toolpath and leading to inaccurate contours in machining. In order to obtain acceleration continuity, jerk [50] and torque rate [17] limits have also been considered for robotic manipulators, resulting in optimized cubic polynomial trajectories. A practical solution to fee-drate scheduling for spline toolpaths was proposed by Week et al. [78], that considers the worst case curvature in each spline segment to determine the feed limit for that segment, and connects piecewise constant feed segments together with smooth acceleration transients. Although this technique is easy to implement, higher feedrates achievable in the noncritical portions of the spline segments are ignored, and zero crossings in the acceleration and jerk profiles at the seg-ment boundaries (i.e. spline knots) result in intermittent feed modulation, hence degrading the smoothness and extending the duration of the overall motion. Minimum jerk trajectories were originally postulated by Flash and Hogan [30] for describing the smoothness of unconstrained human arm movements. In order to enhance the tracking perfor-mance by applying a smooth trajectory, minimum jerk trajectory generation was implemented for robotic manipulators by Kyriakopoulos and Saridis [40]. Later they mentioned the practical sig-nificance of performing both jerk and time minimization [41], resulting in quick trajectories that are accurately trackable. Simon and Isik [62] have shown that jerk minimization for trigonometric splines reduces into a linear equality constrained quadratic minimization problem, for which the solution is obtained through a set of linear equations, making the approach viable for practical Chapter 2. Literature Review 10 use. Piazzi and Visioli [51] have developed a global optimization algorithm for cubic spline tra-jectories, where the duration between the knots is modulated in order to yield minimum jerk mag-nitude. In this thesis, a jerk continuous feedrate optimization technique is introduced for minimizing the cycle time, while preserving the motion smoothness and tracking accuracy for traveling along spline toolpaths (Chapter 4). Feedrate modulation is achieved by varying the travel duration of each segment and fitting the resulting C minimum jerk displacement profile. This results in con-tinuous velocity, acceleration, and jerk transitions spanning the entire motion along the toolpath, allowing smoother feed motion with shorter cycle time to be realized compared to piecewise con-stant feed modulation [78]. The feedrate optimization technique developed in this thesis has been published in [6]. 2.4. Modeling and Precision Control of High Speed Feed Drives A great deal of effort has been devoted to detailed modeling and precision control of high speed feed drives in the motion control research community. Pritschow has noted the importance of achieving high servo bandwidth [53], in order to be able to track sudden changes in the motion commands accurately, while rejecting disturbances originating from axis friction and work (cut-ting) forces. High servo bandwidth for accurate command following has been achieved by the application of feedforward control. Important contributions in this area are Zero Phase Error Tracking Control (ZPETC) [68] by Tomizuka, which is based on stable inversion of the closed loop dynamics, and the Inverse Compensation Filter (IKF) by Week and Ye [77], which consists of low pass filtering the position commands before applying them to a ZPETC, in order to avoid excessive amplification of discontinuous motion commands that would lead to actuator saturation or structural vibrations. A similar idea was also applied by Tung and Tomizuka [70]. Boucher et al. have used Generalized Predictive Control [9], for generating a control signal that will mini-mize the future values of tracking error, making use of known future position commands. Chapter 2. Literature Review 11 Pritschow and Philipp [52] have shown that the performance of feedforward controllers can degrade significantly in the presence of modeling errors.Therefore, either the axis dynamics has to be accurately identified [23,70], or the closed loop dynamics has to be robustified in order to exhibit little variation in the presence of plant changes and external disturbances, particularly in direct drives. Typical techniques used to achieve closed loop robustness have been: disturbance observation and cancellation [24,44,72], sliding mode control [5,73,80], Loop Transfer Recovery (LTR) feedback gain synthesis [72], and H-infinity control [2,73]. Tsao and Tomizuka [69], as well as Pritschow and Kosiedowski [55] have also proposed adapting the feedforward controller design to match the unknown or slowly varying axis dynamics. Accurate identification and precompensation of guideway friction [7,23,24,44] also plays a crucial role in improving the tracking and contouring accuracy at motion reversals in sharp cor-ners and circular arc quadrants. At such transients, the true friction undergoes a discontinuous change due to a zero velocity crossing, that cannot be immediately detected and compensated in the feedback control law. Hence, precompensation of the friction using predictions obtained from a model helps to mitigate the effect of such sudden changes in the friction disturbance. Such changes otherwise exhibit themselves as unwanted 'quadrant glitches' in circular contouring operations, and overshoots at sharp corners. A different school of thought for maintaining the tool positioning accuracy has been to directly estimate the contour error, and use it in the feedback control law. This work was initiated by Koren [37], resulting in the Cross Coupling Controller (CCC), which considered only linear toolpaths in the contour error estimation process. The algorithm was extended by Koren and Lo [39] to consider circular and parabolic toolpaths, and was also applied in an optimal control framework by Kulkarni and Srinivasan [42]. Erkorkmaz and Altintas [20,21] developed a real-time contour error estimation method for arbitrarily shaped toolpaths, which worked successfully in a CCC scheme employed together with ZPETC to simultaneously reduce the contour and track-ing errors. Following the philosophy of directly reducing the contour error rather than individual Chapter 2. Literature Review 12 axis tracking errors, Chiu and Tomizuka [15] devised a contouring control scheme where they transformed the multi-axis dynamics of a machine tool into a task coordinate frame, defined by the instantaneous tangent, normal, and binormal vectors of the reference toolpath, and designed a time varying MIMO controller which directly reduces the tracking errors in the normal and binor-mal directions of motion, therefore reducing contour error itself. With this technique, they were able to impose different axis dynamics along the tangential and normal directions to the toolpath. The above listed research has mainly considered the rigid body motion of idealized transmis-sion elements in the feed drive system, neglecting their structural resonances or microscale non-linear behavior. Achieving high speed tracking accuracy requires the realization of high servo bandwidth, that can sometimes.be close to the structural resonance in the drive system, as well as accurate control of the minute motions of the transmission components. Hence, the dynamic behavior of these components must be modeled in detail and considered in the control law design. This is particularly important in lead screw drives, that provide much higher dynamic stiffness [14,56] compared to direct drive systems, yet exhibit lightly damped (C<5 [%]) resonances at relatively low frequencies (-100...200 [Hz]), when used together with hydrostatic or aerostatic guideway systems to reduce the friction. Pritschow [56] has noted that the first resonance constitutes the major bottleneck in the way of achieving high closed loop control bandwidth for lead screw drive systems. Chen and Tlusty [14] have investigated various compensation strategies for the first mode, including the utilization of accelerometric feedback in conjunction with feedforward control. In simulations, they demon-strated possible improvements in the tracking and disturbance rejection characteristics, relating the latter to increased chatter stability margins for machining, obtained by increasing the drive's dynamic stiffness through feedback control. Allotta et al. [1] performed detailed modeling of the lead screw drive dynamics in its free-free form using the finite element method, and have com-bined their model with experimentally identified bearing support and nut contact stiffness bound-Chapter 2. Literature Review 13 ary conditions. They demonstrated, in simulation, a possible vibration suppression technique using derivative control, with piezoactuators placed at the bearing locations. Chang et al. [13] devised an ultraprecision positioning system, utilizing a noncontact mag-netic lead screw, and experimentally realized active vibration control of the table position, through modal decoupling and cancellation of the table vibrations using a piezoelectric actuator. Other methods of avoiding drive vibrations have been through shaping of input commands [32,33], which remove the frequency content in the axis commands, in the vicinity of the struc-tural resonances. This is similar to the idea of applying jerk limiting [22,54], or jerk continuity [6,25,48] in the reference trajectory, which also achieves smooth motion without vibrating the drive structure. Notch filtering of the lead screw drive's resonances inside the feedback loop was successfully implemented by Smith [66], resulting in improved the stability margins and servo controller performance. As an alternative to providing the actuation through a rotating lead screw, Weule and Frank [79] recommended using motor driven nut, that travels along a rigidly fixed lead screw. They pointed out the improvement in control bandwidth due to the increased rigidity of the fixed lead screw, and reduced inertia required to be actuated by the motor. In addition to the lead screw, the dynamics of the preloaded nut interface also play a crucial role in the motion transmission from the motor to the machine table. A detailed kinematic analysis of the recirculating balls in the nut has been conducted by Lin et al. [46], which has revealed that the balls always undergo microscale slip between the lead screw and the nut, during the motion transmission. The results of this work were pursued by Cuttino et al. [19], who have accurately modeled the elastic deformation of the balls, and related slip phenomena, and succeeded in pre-dicting the hysteresis behavior observed at microscale, in the motion and torque transmission characteristics of the preloaded nut interface. Ro and Hubbel [57] concentrated in the different motion delivery regimes, comprised of presliding elastic deformation in the nut, before friction breakaway occurs, and postsliding macroscale dynamics, with constant rolling friction, and have devised two separate Model Reference Adaptive Controllers (MRAC) to deal with the parametric Chapter 2. Literature Review 14 uncertainty of the two regimes separately. They reported that neither controller performed well at the transition boundary between the two regimes. Later, Ro et al. [58] improved the positioning and tracking performance to operate seamlessly between both regimes, achieving submicron accurate tracking, by adopting a bristle-based friction model originally devised by Canudas de Wit etal. [12]. Other research in ultraprecision positioning of lead screw drives has been conducted by Sato et al. [60], who have developed an active nut mechanism capable of preload adjustment and nanometer level positioning of the table with the help of piezoactuators; and Kami et al. [35], who have developed a hydrostatic leadscrew and guideway system, capable of executing motion incre-ments in the order of 0.1 [nm]. These results were obtained for steady state positioning rather than trajectory following conditions, and are based on the elimination of all detrimental effects to posi-tioning accuracy (i.e. friction, ambient vibrations, temperature fluctuation, excitation of reso-nances etc.) rather than trying to model and compensate for some of them in the control law. In this thesis, the feed drive dynamics of a three axis machining center are identified in detail in Chapter 5. The linear rigid body dynamics, comprising of inertia and viscous friction are deter-mined using a modified least squares scheme, which considers the existence of nonlinear Cou-lomb friction in the parameter estimation process. The friction model is identified by jogging the axes back and forth at various speeds, and observing the equivalent friction torque through a Kal-man filter. The structural dynamics of the ball screw mechanism are identified by conducting fre-quency response testing with sinusoidal excitation, while the axis is already in motion, in order to decouple the interfering effect of stick-slip friction. The torsional vibrations of the lead screw, as well as the translational vibrations of the table resulting from the torsional and axial vibrations of the lead screw, are experimentally identified. The identified modal characteristics of the ball screw are combined with the rigid body dynamics and guideway friction, resulting in a detailed drive model capable of being used in high bandwidth controller design, as well as accurate fre-quency domain analyses and time domain simulations. Chapter 2. Literature Review 15 Following the axis drive modeling, robust tracking control laws are developed for delivering the desired feed motion accurately in Chapter 6. Two adaptive sliding mode controllers have been designed, one which considers only the rigid body motion, and the second which also considers the torsional vibrations of the ball screw drive. Adaptive sliding mode control has been chosen for its robustness, high tracking performance due to its inherent feedforward and integral control action, and also its straightforward design procedure which yields the complete control law by the solution of a Lyapunov inequality [65,82]. Notch filtering of the first resonant mode is also inves-tigated as a practical alternative to active vibration control. Feedforward friction compensation has been added, to improve the contouring performance around circular arc quadrants and sharp corners, where the friction disturbance changes discontinuously due to axis motion reversal. The proposed control techniques are validated in simulations and high speed tracking and contouring experiments conducted on a three axis machining center. The modeling and identification work considering rigid body axis dynamics and nonlinear guideway friction have been published in [23], The adaptive sliding mode controller, designed for rigid body axis dynamics, has been published in [5], along with its comparison to a pole place-ment control scheme, which utilizes ZPETC and a Kalman filter based disturbance observer, pre-sented in [24]. 2.5. Summary In this chapter, an outline of the literature in smooth and optimal trajectory generation, mod-eling, and precision control of high speed axis drives has been presented. It has been shown that smooth trajectory generation and high bandwidth axis control play complementary roles in achieving high tracking accuracy at high motion speeds. Smooth trajectory generation requires that the toolpath geometry also be smooth and no feedrate fluctuation or discontinuity be encoun-tered during interpolation. Spline interpolation techniques appear to satisfy these conditions, pro-vided that their feedrate fluctuation is also kept under control. The problem of scheduling the time Chapter 2. Literature Review 16 optimal feedrate profile along an arbitrary spline toolpath is introduced, which requires that the machine's physical limits and desired contouring tolerances not be violated. Importance of accu-rate modeling of the feed drives' dynamics has also been emphasized, along with various control techniques devised to improve the high speed tracking accuracy in the presence of plant uncer-tainty and disturbances. A brief review of high fidelity modeling and ultra-precision control of ball screw drives has also been presented. The contributions intended in this thesis have been placed in context with the reviewed literature, citing the published results where applicable. Chapter 3 Spline Parameterization and Interpolation with Minimal Feedrate Fluctuation 3.1. Overview In this chapter, two different approaches are presented for reducing the feedrate fluctuations in spline toolpaths. The first approach, presented in Section 3.2, is based on optimizing the tool-path geometry, to yield minimal discrepancy between the spline parameter and arc length incre-ments, resulting in an Optimally Arc Length Parameterized (OAP) quintic spline. The second approach, presented in Section 3.3 is based on scheduling the spline parameter to yield the desired arc displacement, hence the desired feedrate profile accurately. This is done by either approximat-ing the relationship between the arc length and spline parameter using a Feed Correction Polyno-mial (Section 3.3.1) or by solving the exact value of the spline parameter using an Iterative Interpolation technique (Section 3.3.2). In Section 3.4, the proposed methods are compared to Approximately Arc Length Parameterized C 3 quintic spline interpolation [76] in simulations and contouring experiments in terms of feedrate consistency and experimental tracking accuracy. The contributions in the chapter are summarized in Section 3.5. 3.2. Optimally Arc Length Parameterized (OAP) Quintic Spline For the quintic spline toolpath shown in Fig. 3.1, passing through N + 1 knots and comprised of N segments with segment arc lengths of Sl, S2, • • •, SN, the axis position on the k t h segment is written as: x(u) = Axku5 + Bxku4 + Cxku3 + Dxku2 + Exku + Fxk y(«) = AykuS + Byte"* + Cyku^ + Dyk1'2 + Eyku + Fyk 17 Chapter 3. Spline Parameterization and Interpolation with Minimal Feedrate Fluctuation 18 s: Arc Length Figure 3.1 : Spline Toolpath. where Axk, Bxk, Fxk and Ayk, Byk, Fyk are the spline coefficients, u is the spline parameter and lk is the parameter range for the k t h segment (0 < u < lk). As the spline parameter u is incremented, this results in an arc displacement s along the toolpath, and the differential rela-tionship between the spline parameter and the arc displacement is expressed as: ds = ^(dx/du)2 + (dy I du)1 • du = ^x] + yl • du (3-2) The first and second derivative profiles are: 4 3 2 xu (u) = dx I du = 5 Axku + 4Bxku + 3Cxku + 2Dxku + Exk 4 3 2 yu(u) = dy Idu = 5Ayku +4Byku +3Cyku +2Dyku + E yk 9 9 "\ 9 xuu(u) = d xl du = 20 Axku +\2Bxku +6Cxku + 2Dxk yuu(u) - d2yldu2 - 20Ayku3 +\2Byku2 + 6Cyku + 2Dyk (3.3) • > Fxk i n Considering the kt h spline segment shown in Fig. 3.2, the coefficients Axk, Bxk, the x axis can be solved from the imposed position (Xk, Xk+1), and first and second derivative boundary conditions (Xft, Xft", and Xk+l, X^ i) at spline knots Pk and Pk + l , by substituting u - 0 and u = lk into the Eq. (3.1) and (3.3), resulting in [81]: Chapter 3. Spline Parameterization and Interpolation with Minimal Feedrate Fluctuation 1 9 y \-Xk Yk ft?**] i k „ -rk+i ixk+i yk+i\ VAk+l Ik+l -v\rUU villi \-Ak+l ^k+l [Xk Yk\ k t h Knot Position k t h Knot 1 s t Derivative Boundary Condition k t h Knot 2 n d Derivative Boundary Condition Figure 3.2 : Single Spline Segment. lk 1 2 [ 6 (^ ( t+l ~ X k ) - 3(Xk+\ + Xk )k + 2 (Xk+1 ~ Xk" ] B. xk 4 lk 1 1 [\5{Xk - Xk+X) + (7X%+] + 8X! )lk + (| Xf - Xr+l )l2k ] Cxk=-T[\0(Xk+l-Xk)-(AXlU+6Xuk)lk-(-Xf --Xlk"im D 1 xk 'xk xli 2 FXk = Xk (3.4) The same formulation applies for computing the coefficients A y k , Byk, ..., Fyk in the y axis. The objective of optimal arc length parameterization is to minimize the discrepancy between the arc length and the spline parameter throughout the spline toolpath, which is expressed with the below integral: f 2 / 2 2~ 2 (ds/du-1) du- ^ (s]xu+yu ~1) du (3.5) where L is the total spline parameter length (L = {lk)- Wang and Yang [75] pointed out the difficulty of trying to optimize the above objective function analytically with respect to the spline parameter ranges (l{, l2, • •., lN), hence they applied nearly arc length parametrization by setting du = ds at the midpoint of each spline segment. In this thesis, instead of penalizing the deviation of ds/du from one, the deviation of (ds/du)2 is proposed, resulting in the objective function: Chapter 3. Spline Parameterization and Interpolation with Minimal Feedrate Fluctuation 20 J = £ [{ds I du)2 - Xfdu = £ (x2u + yl - 1 ) 2 du (3 -6) which is analytically integrable, and its numerical evaluation requires less computation com-pared to the objective function in Eq. (3.5). The objective function in Eq. (3.6) can be divided into multiple local objectives corresponding to each segment: J=fc([*„Ji + [y«li -1) 2du + | 2 ( [ * „ } \ + [ y u } l - \ ) 2 d u + ... J l J l (3.7) + lk(.Ml+ ti« ti ~ l) 2 du +... + lN ([xu ]2N + [yu ]2N -1)2 du > v > v Jk JN By substituting the expressions for the toolpath coefficients in Eq. (3.4) into the axis first derivative profiles in Eq. (3.3), and performing the analytical integration of Eq. (3.7), it is possible to obtain the k local objective as a function of its corresponding parameter range (lk), neighbor-ing knot positions (Xk, X k + l , Yk, Yk+l), and first and second derivative boundary conditions (X£ ,X}[+l,Y%, 7 £ + j , and Xuku, X%\ l , Yl{u, Ylkm+ x). Since the knot positions are fixed, only the parameter range and knot derivatives are considered as free optimization variables. Furthermore, in order to avoid ill conditioning in the optimization process, the parameter range lk is normalized with respect to the largest chord length / m a x between consecutive spline knots among all seg-ments: •kk=j*-, where / m a x = m^(Xk+x-Xk)2+(Yk+l-Yk)2 (3.8) 'max * resulting in normalized formulation of the toolpath: *(v) = axkv5 + bxkv4 + cxk? + dxkv2 + exkv + fxk yiy) = aykv5 + bykv4 + cykv3 + dykv2 + eykv + fyk Chapter 3. Spline Parameterization and Interpolation with Minimal Feedrate Fluctuation 21 where v = w//max, 0<v<^, axk = l5maxAxk, bxk = l?mxBxk, fxk = Fxk, ayk - Imax^yk' byk = ImnxByk* •••> fyk ~ ^yk- Hence, the local arc length parameterization objective Jk is expressed as: Jk ~Jk\Ak^k >Ak >xk ^ k^k+X^k+X^k+X^k+X) (3-10) The vector rp = [X'k' Ylk' Xlku Yj[u]T contains the first and second derivative boundary con-Dns at the k t h knot, ai Eq. (3.7) is obtained as: ditio  at the th not, and Xk is the normalized spline parameter range. The overall objective in J = J1(r/^^1,r212) + J 2 (^^^ 2 , r3 1 2 ) + ... + ^ (/•;2,^,42+1) Defining the vector of optimization variables 9 as: n-\rnrk rX2l rU rX1 I rX1 f (3-12) u-YrX KXr2 KlrT, •••rN^NrN+xi which has a dimension of 5N + 4, the arc length optimization problem is cast as: min J{0) = min [/,(.. .) + J2(...) + ... + JN{..)} (3.13) o 0 Due to the terms being numerous, the analytical expression of the local objective Jk(rk2' ^k' rk + l)' a n d i t s gradient (8J/drk12, 8J/dXk, dJ/drkl2+l) have been obtained using MATLAB's Symbolic Math Toolbox [67], and have been implemented as separate functions to be called by the optimization algorithm (Appendix A). The global objective is computed by sum-ming up the local objectives in Eq. (11), and the gradient of the global objective with respect to the optimization variables is constructed from the local gradients as: Chapter 3. Spline Parameterization and Interpolation with Minimal Feedrate Fluctuation 22 dJ_ dJldr\2 8J/dXx dJldr\2 dJI3X2 dJldr\2 dJIdrlf djidx N dJ/dr N+\ dJ]/drl12 3Jx/dXl 8J{/dr2n + dJ2/dr2n BJ2ldX2 dJ2ldr\2 +dJ2ldr\2 dJN_J3rl2 +dJNldr\2 (3.14) 3JN I dXN 3JN/drlN2+x J ( 5 A T + 4 ) X 1 The unconstrained minimization problem in Eq. (3.13) is solved off-line using MATLAB's Optimization Toolbox [16]. Upon convergence, the parameter ranges are de-normalized = ^max^k^' m<^ ^ e t 0 0 ^ P a m coefficients, computed with Eq. (3.4), are embedded into the NC code to be used in real-time interpolation. In order to schedule the feed motion correctly on top of the spline toolpath, the arc length Sk of each spline segment is integrated numerically. This is achieved by dividing each segment into Mk ( > 100) subdivisions, proportional to its parameter length, computing the corresponding axis positions: xk, Ak U • A w ) 5 + Bxk U • A » ) 4 + --- + Fxk Au = lk/Mk (3.15) ykJ = Ayk (j • Au)5 + Byk (j • Au)4 +... + FykJ ' j = 0,1,..., Mk and summing up the resulting arc increments: & ^ / 2 2 sk = L^kj = LJ(xkj-xkj-\) +(ykj -ykj-0 J = l j = l (3.16) As will be shown in Section 3.4, optimizing the segment knot derivatives simultaneously with the parameter ranges provides significant improvement in the arc length parameterization of the toolpath over only modifying the parameter ranges one by one [75,76] to achieve nearly arc length parameterization. Manipulating the 1 s t and 2 n d knot derivatives directly and fitting the Chapter 3. Spline Parameterization and Interpolation with Minimal Feedrate Fluctuation 23 quintic segments that accept these derivatives as boundary conditions inherently enforces C 2 con-tinuity at the knots, thus eliminating the need to explicitly specify continuity constraints in the form of equalities which are difficult to satisfy accurately in the numerical optimization process. Furthermore, having an analytical expression of the gradient significantly enhances the conver-gence of the arc length optimization scheme. 3.3. Interpolation with Minimum Feed Fluctuation If the spline toolpath has been parameterized in a CAD/CAM program, (i.e. its coefficients already determined), applying arc length optimization will result in geometric deviation from the original toolpath, which may not always be acceptable. As an alternative to this approach, two interpolation techniques are presented in the following, which minimize the feed fluctuations in arbitrarily parameterized toolpaths without modifying the geometry. 3.3.1. Feed Correction Polynomial The most straightforward method of interpolating along a given spline toolpath is to use nat-ural interpolation, as shown in Fig. 3.3(a), where the spline parameter u is scheduled proportion-ally to the desired arc displacement: (3.17) If the spline is parameterized closely to its arc length, this method yields acceptable results. However, if there is significant discrepancy between the spline parameter and the arc length, this discrepancy is directly reflected as fluctuation in the feed profile. Furthermore, although natural interpolation allows the displacement boundary conditions to be matched between the arc length and the spline parameter (i.e. s = 0 o u = 0 and s - Sk o u = lk), it results in a discrepancy of first order at the knots when the lk/Sk ratios in consecutive spline segments are different. Consid-Chapter 3. Spline Parameterization and Interpolation with Minimal Feedrate Fluctuation 24 (a) Natural Interpolation s(f) h u(t) Spline Toolpath: r=Ahu5+Bku4+...+Fk x(t) y{t) (b) Interpolation with Feedrate Correction Polynomial S(t) Feed Correction Poly. u=AkM7+B$u6+...+H{ u(t) Spline Toolpath x{t) X 0 (c) Iterative Interpolation Feed Correction Polynomial Uinit Newton-Raphson Iteration utest Spline Toolpath s(t) 1-z-1 As des Iterate. + As test xtest xfinql ytest yfinal Converged? Estimate Arc Increment prev y, prev Figure 3.3 : Different Methods for Interpolating along a Given Spline Toolpath. ering only toolpath geometry, the first order derivatives of the spline parameter with respect to the arc length (du/ds) at the end of the k t h and the beginning of the k+l s t segments are equal to each other, and are determined by the given knot derivative at the k+l s t knot: ds k L ds ^ M M + i] 2 +[^' + i3 2 (3.18) However, the proportional increment in the spline parameter in Eq. (3.17) assumes the fol-lowing boundary conditions to hold when interpolating along the spline, du — (* = Sk) ds du ds (s = 0) $k+\ (3.19) Chapter 3. Spline Parameterization and Interpolation with Minimal Feedrate Fluctuation 25 0 u <D / E z* ro i_ ro o . to . 0' Arc Displacement s Sk x Actual Displacement — Feed Correction Polynomial Figure 3.4 : Feed Correction Polynomial. which causes noticeable discontinuity in the feed profile when the difference between lk/Sk and lk+\/Sk+l is 5 [%] or more. In order to eliminate such discontinuity and to minimize unwanted feed fluctuations, a Feed Correction Polynomial is proposed in the form: which is fit over the arc displacement (s) and corresponding spline parameter (u) values (Fig. 3.4), already computed during the off-line estimation of the segment arc length. Following several trials, seventh order was chosen to characterize the nonlinear relationship between s and u as accurately as possible without encountering numerical problems. The feed correction poly-nomial is used in real-time interpolation to supply an accurate estimate of the spline parameter u to yield the desired arc displacement s, as shown in Fig. 3.3(b). Considering Eq. (3.15) and (3.16), the vector of spline parameters « and arc displacements s obtained while computing the arc length Sk of the k t h segment are: In order to avoid ill conditioning, the parameter range in the feed correction polynomial is normalized by the largest chord length / m a x (Eq. (3.8)), resulting in: (3.20) (3.21) Chapter 3. Spline Parameterization and Interpolation with Minimal Feedrate Fluctuation 26 u = a{o1 + b{o6 +... + h[ (3.22) 0<a<E^ J where a = s/lmax, = Sk/lmax, and a{ = PmaxA{, h{ = / m a x f l { , . . . , h{ = H{. The first and second derivatives of the spline parameter with respect to the arc displacement (us = du/ds and uss = d2u/ds2) are also expressed in normalized formulation as: du us=^- = -—[la{o6+6b{o5+... + g{] J-*ss~^ = ^ 2 a { a 5 + 30b{a4 +... + 2f[ ] (3.23) The feed correction polynomial is obtained by applying a least squares fit over the arc dis-placements and spline parameter values (s and u), while maintaining zero, first, and second order boundary conditions (u, us, uss) at both ends of the spline segment. Defining the vector of nor-malized arc displacements: <r = [0 Oi a 2 ... a m ] T =—— s = -^— [0 S l s2 ... sMkf ^max ^max (3-24) the corresponding spline parameter predictions obtained with the feed correction polynomial are: 0 " "1 0 0 0 . .. r a? a? • .. i a j .. i ^7 ® Mk 5 .. i ' 4 ' H 4 fl. (3.25) 0 Hence, the prediction errors are: e = u-u = u-00 f (3.26) Chapter 3. Spline Parameterization and Interpolation with Minimal Feedrate Fluctuation 27 and the objective function to be minimized is: Jf=^eTe = ^(u-08fyT(u-0Of) (3.27) Considering Eq. (3.2), the first and second derivatives of the spline parameter with respect to the arc length (u = du/ds and u - d2u/ds2) can be written as: ds -1/2 d2u ' 1 1 ^ . 2 ds 2 du where from Eq. (3.2) and (3.3), P(u) = x2u(u) + y2(u) = Pou* + p^u1 +... + p 8 p0=25(A2xk + A2yk) px=M(AxkBxk + AykByk) p2=30(AxkCxk + AykCyk) + \6(B2xk+B2k) p3 = 20(AxkDxk + AykDyk) + 24{BxkCxk + BykCyk) p4 = 10(AxkExk + AykEyk) + 16{B x kD x k + BykDyk) + .. %C2xk+C2yk) p5 = 8(BxkExk + BykEyk) + \2{DxkCxk + DykCyk) p6 = 6(CxkExk + CykEyk) + 4(D2xk + D2yk) Pl=4(DxkExk+DykEyk) PS = Exk + Eyk The values of u and u at the beginning and end of the segment are: (3.28) (3.29) imt [Piu)YV2\-_ ym" 0 uss u{™1=\p{u)rxl2\=lk u?rl = 1 dP -kP(u)T2~(u) 2 du 1 r/P -kp(u)r2-^f(u) 2 du u=0 u=i (3.30) which need to be matched by the feed correction polynomial, in addition to the parameter range constraint (i.e. a = 0 o u - 0 and a - 'Zk <=> u = lk). Using Eq. (3.22) and (3.23), the zero, first, and second order boundary condition constraints can be written as: Chapter 3. Spline Parameterization and Interpolation with Minimal Feedrate Fluctuation 28 4 0 0 0 0 0 0 0 1" 4 "0 0 0 0 0 0 0 1 0 4 / u'"" 'maxw.s 0 0 0 0 0 2 0 . 0 df k I2 uinit y 7 n y 4 y2 Lk Zk 1 4 h 7 Z f 6Z5k 22* 1 0 fl I ..final 'raax"i' 30I 4 . 2 0 Z 3 1 2 Z 2 2 0 0_ d /2 final _ max .v.v V L • i (3.31) Hence, the feed correction polynomial is obtained by solving the below optimization prob-lem: I r m\n-(u-&Of) (u-<POf) subject to: L-0f=% Of 2 (3.32) which is a linear constrained quadratic minimization problem, and is solved using Lagrange Multipliers method. Introducing the vector of Lagrange multipliers: A = [A{ A2 ... ^ 6] r,the augmented objective function is written as: J'f(0f,A) = -(u-&0f)T{u-&0f) + AT(L-Of-Z) (3.33) Equating the partial derivatives to zero ( Qjy / qq^ - q and Qjy / dA = 0) yields the linear equation system: 0T00f+LTA = 4>Tu\ L0f=$ (pT<p lt V (pTu L 0 A (3.34) which has full rank when the segment arc length is nonzero. The solution of the above linear equation system yields the normalized coefficients 0 f of the feed correction polynomial. Follow-ing the solution of Eq. (3.34), the coefficients are de-normalized (A{ = a{//^ a x , B{ = ^{/^ax > ..., Hi = hi), and embedded into the NC code for smooth real-time interpolation. Chapter 3. Spline Parameterization and Interpolation with Minimal Feedrate Fluctuation 29 3.3.2. Iterative Solution of the Spline Parameter The second interpolation method is based on solving the exact value of the spline parameter to yield the desired arc displacement using Newton-Raphson iteration, as illustrated in Fig. 3.3(c). The arc increment Asdes to realize the desired arc displacement s(t) in the current control period is estimated using discrete-time backward differencing (1-z - 1). A close initial guess of the spline parameter uinit to realize the desired arc displacement is obtained through the feed correc-tion polynomial. The arc increment Astest corresponding to the tested spline parameter utes[ is estimated by computing the resulting axis increments: &>tesl = ^ (Axtest)2 + (Aytest)2 where: ^test = xtest ~ xprev > AV/es/ = ytest ~ y prev xtest = Axkutest + Bxkutest + • • • + Fxk ytest ~ Aykulest + Bykutest +--- + Fyk (3.35) xprev and yprev are the axis commands applied in the previous control sample. The error between the desired and tested arc increment is: e = Asdes-Astest (3-36) and its gradient with respect to the tested spline parameter is derived using Eq. (3.35) and (3.36): d e ^tent • (dx 1 du)test + tytest ' iffy1 du)test dutest ^Stest (3.37) where (dx/du)tes[ and (dy/du)test are obtained by substituting the value of utes[ into the first derivative expressions in Eq. (3.3). The correct value for the spline parameter is obtained by performing the below iteration: («teif)i+i=("te/)r7777 r ' iteration number (3-38) Chapter 3. Spline Parameterization and Interpolation with Minimal Feedrate Fluctuation 30 until the magnitude of the arc increment error e is below 10"6. Due to the availability of a close initial guess, and an analytical gradient, the above iteration converges reliably within 3 iter-ations, allowing it to be used efficiently in real-time interpolation. 3.4. Simulation and Experimental Results The feedrate consistency and axis tracking improvement obtained with the proposed parame-terization and interpolation techniques are demonstrated in the following simulation and experi-mental results. In the first case, the Optimally Arc Length Parameterized quintic spline (OAP) is compared to the Approximately Arc Length Parameterized C 3 quintic spline (AAPC3) [76] in generating the fan profile in [75,76], as shown in Fig. 3.5. Geometrically, both toolpaths are almost on top of each other. Comparing the Arc Length Parameterization Index (ALVl=ds/du) profiles for the two curves, it is seen that the OAP quintic spline typically displays an order of magnitude better consistency between the arc length and the spline parameter, particularly in the low curvature regions of the toolpath. The same fan profile was used in testing the developed interpolation techniques. A continu-ous feedrate of 100 [mm/sec] was realized by: (a) Natural interpolation of the AAPC 3 spline, (b) Natural interpolation of the OAP spline, (c) Feed correction polynomial interpolation of the AAPC 3 spline, and (d) Iterative interpolation of the AAPC 3 spline. The resulting feedrate profiles are shown in Fig. 3.6. Considering Fig. 3.6(a), the feedrate fluctuation is in the order of 0.2 [%], and has an exactly identical pattern to the ALPI profile of the AAPC spline in Fig. 3.5. Applying the same interpolation technique to the OAP spline yields smaller feed fluctuation in the order 0.1 [%] (Fig. 3.6(b)), similar to the ALPI of the OAP spline in Fig. 3.5. The feed fluctuation on the AAPC 3 spline is further reduced below 0.1 [%] by applying the feed correction polynomial (Fig. 3.6(c)), and below 0.05 [%] by applying iterative interpolation (Fig. 3.6(d)). The number of itera-Chapter 3. Spline Parameterization and Interpolation with Minimal Feedrate Fluctuation 31 tions required for at each control sample, which did not exceed three, have been logged and are shown in Fig. 3.7. In the second case, in order to emphasize the difference between OAP and AAPC 3 splines, and to demonstrate a severe case where the discrepancy between the arc length and spline param-eter has a detrimental effect on the interpolation and tracking quality, 10 random points were cho-sen as the spline toolpath knots. The OAP and AAPC 3 quintic splines fit through the random knots, and their corresponding ALPI profiles are shown in Fig. 3.8. Comparing the two toolpaths, it is seen that the OAP spline possesses smoother curvature variation. The ALPI for the AAPC 3 spline deviates nearly down to 0.2, which corresponds to a feed fluctuation of 80 [%] in interpola-tion. The ALPI for the OAP spline deviates only down to 0.994, corresponding to a maximum feedrate fluctuation of 0.6 [%]. The generated toolpaths were tried in contouring tests on a three axis machining center, explained in detail in Chapter 5. The drives were controlled using sliding mode control [5] with 48 [Hz] bandwidth running at a loop closure period of 1 [msec]. The encoder feedback resolution in both axes is 1.22 [pm]. The toolpaths were interpolated at a nominal feedrate of 50 [mm/sec] with cubic acceleration transients from and to a full stop at the beginning and end of the motion. The tangential acceleration and jerk limits were set to 2000 [mm/sec2] and 50000 [mm/sec3] respectively. Cubic acceleration based feed profiling is presented in Appendix C. The tests consisted of applying: (a) Natural interpolation along the AAPC spline, (b) Feed correction polynomial interpolation along the AAPC spline, (c) Natural interpolation along the OAP spline. The resulting feedrate profiles are shown in Fig. 3.9. Considering Fig. 3.9(a), it is seen that there is up to 78 [%] feed fluctuation, similar to the ALPI profile in Fig. 3.8 for interpo-lating naturally along the AAPC spline. Furthermore, due to the discrepancy in the lk/Sk ratios between consecutive spline segments (up to 14 [%]), there is also feedrate discontinuity at the segment connections, particularly at 0.431 [sec], 1.212 [sec], 1.765 [sec], and 2.379 [sec]. By applying the feed correction polynomial (Fig. 3.9(b)), a more consistent profile is obtained where Chapter 3. Spline Parameterization and Interpolation with Minimal Feedrate Fluctuation 32 the largest feed fluctuation is reduced to 73 [%], and the feedrate discontinuity is eliminated. The feed profile obtained with naturally interpolating along the OAP spline is shown in Fig. 3.9(c) and Fig. 3.9(d) (zoomed view). In this case, the maximum feed fluctuation is in the order of 0.5 [%] and there is no discontinuity on the feedrate profile, due to the arc lengths and spline parameter ranges being very close to each other in all spline segments. The experimental tracking errors and control signals logged during the contouring tests are shown in Fig. 3.10, 3.11, and 3.12. Considering Fig. 3.10, which corresponds to the AAPC 3 spline with natural interpolation, it is seen that the feedrate discontinuity causes excessive tracking error (up to 15 [pm ] in x and 12 [pm ] in y axes) and spikes in the control (motor torque).signal, which were also observed to cause undesirable structural vibrations during the tests. With the application of the feed correction polynomial (Fig. 3.11), the tracking accuracy and control signal smoothness were observed to improve significantly, without requiring the toolpath to be modified. The maxi-mum values of tracking error in this case are: ex=7 [pm] and ey=9 [pm]. Considering Fig. 3.12, it is seen that the OAP spline, without requiring any feed correction, is also able to yield favorable tracking results with errors in x and y axes that do not exceed 8 [pm]. Furthermore, the control signals obtained by naturally interpolating the OAP spline are significantly smoother than those obtained by interpolating the AAPC 3 spline with or without feedrate correction. 3.5. Conclusions In this chapter, two different approaches have been presented for reducing the feedrate fluctu-ation in high speed spline interpolation. The first approach is based on off-line optimization of the toolpath geometry to yield minimal discrepancy between the spline parameter and the arc length. Following the optimization, the toolpath can be interpolated naturally without encountering any feed fluctuation or discontinuity. The second approach is based on adjusting the spline parameter to realize the desired arc dis-placement without modifying its shape or parameterization. This is achieved by either using the \ Chapter 3. Spline Parameterization and Interpolation with Minimal Feedrate Fluctuation 33 feed correction polynomial approximation, or by running an iteration loop inside the real-time interpolator, for additional accuracy. In both methods, the feed correction polynomial can be fit off-line, but needs to be interpolated in real-time, thus bringing similar computational load to interpolating an additional axis. The iterative approach has been demonstrated to converge very quickly and reliably, making it suitable for real-time implementation. Chapter 3. Spline Parameterization and Interpolation with Minimal Feedrate Fluctuation 34 40 E E GO 3 -5 -40 1.002 1.001 1.000 0.999 0.998 1.002 1.001 I 1.000 0.999 -40 0 X Axis [mm] 40 Arc Length Parameterization Index: ALPI = ds/du -i r- -T r-AAPC3 Quintic Interpolatory Spline (Wang et al.) 0.9981-50 100 150 200 .250 300 Cumulative Spline Parameter (w) Figure 3.5 : Toolpath and ALPI Comparison of Approximately Arc Length Parameterized C 3 Quintic Spline (AAPC3) and Optimally Arc Length Parameterized Quintic Spline (OAP) for Fan Profile. Chapter 3. Spline Parameterization and Interpolation with Minimal Feedrate Fluctuation 35 1 0 0 . 2 I ¥ 1 0 0 . 1 •o ^  1 0 0 . 0 g I 99.9 " 99.8 100.2 •a 100.0 | | 99.9 " 99.8 100.2 i ¥ 1 0 0 . 1 •o |100.0 I § 99.9 ~ 99.8 1 0 0 . 2 1 ¥ 1 0 0 . 1 -cl ^ 1 0 0 . 0 I I 99.9 " 99.8 (a) AAPC 3 with Natural Interpolation (b) OAP with Natural Interpolation (c) AAPC 3 with Feed Correction Polynomial (d) AAPC 3 with Recursive Interpolation \yv-v4 • Y ' T Y • Y ' 0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 time [sec] Figure 3.6 : Feedrate Profiles for Fan Toolpath. 500 1000 1500 2000 2500 3000 3500 Sample [] Figure 3.7 : Number of Iterations per Control Sample for Iterative Interpolation along the Fan Profile. Chapter 3. Spline Parameterization and Interpolation with Minimal Feedrate Fluctuation . 3 "9 10 E E CO X ro -10 AAPC3 Quintic Spline (Wang etal.) \ OAP Quintic Spline (proposed) •9 2.0 1.5 1.0 0.5 0.0 i 1.010 1.005 1.000 0.995 0.990 -10 0 x axis [mm] 10 Arc Length Parameterization Index: ALPI = ds/du l 1 1 1 1 1 n ' \ / * " \ ;~ \ i - \ 1 w 3 20 40 60 80 100 120 i 1 1 i 1 1 i M1 i | 1 , | 1 1 I' ' i 111 1 II i 1 1 i 1 i i ' l 1 i | i | II i i i -1 ! ! 1 1 1 l' l' 1 , III '1 . I'l1 1 i i i i II i 1 i 0 20 40 60 80 100 120 Cumulative Spline Parameter (u) Figure 3.8 : Toolpath and ALPI Comparison of AAPC3 and OAP Quintic Splines Passing Through 10 Random Points. Chapter 3. Spline Parameterization and Interpolation with Minimal Feedrate Fluctuation 37 (a) AAPC3 with Natural Interpolation (b) AAPC3 with Feed Correction Poly. 100 Si U TO © •o -g 50 0 50.5 (c) OAP with Natural Interpolation X OAP with Natural Interpolation (Zoomed View) - 0 0.5 1.0 1.5 2.0 • 2.5 time [sec] Figure 3.9 : Feedrate Profdes for 10 Random Points. Chapter 3. Spline Parameterization and Interpolation with Minimal Feedrate Fluctuation 38 - 1 5 2 1 0 L U _ 5 °>£ 0 2 - 1 0 I- - 1 5 1 1 0 D) 5 ISO X Axis Y Axis c o O - 5 - 1 0 0 1 2 3 0 1 2 3 time [sec] time [sec] Figure 3.10 : Experimental Tracking Performance for Natural Interpolation along AAPC 3 Spline Fit through 10 Random Points. - 1 5 2 1 0 L U _ 5 g > | 0 - 1 0 f - - 1 5 | 1 0 cn 5 ISO c - 5 o O - 1 0 X Axis Y Axis time [sec] 0 1 2 3 0 1 2 3 time [sec] Figure 3.11: Experimental Tracking Performance for Feed Correction Polynomial Interpolation along AAPC 3 Spline Fit through 10 Random Points. Chapter 3. Spline Parameterization and Interpolation with Minimal Feedrate Fluctuation 39 - 15 2 10 L U _ 5 ? ! o 2 -10 I - -15 1 1 0 D) 5 oE o c -5 o O -10 X Axis Y Axis 0 1 2 time [sec] 0 1 2 time [sec] Figure 3.12 : Experimental Tracking Performance for Natural Interpolation along OAP Spline Fit through 10 Random Points. Chapter 4 Feedrate Optimization for Spline Interpolation 4.1. Overview In this chapter, a feedrate optimization technique is introduced for minimizing the cycle time required to travel spline toolpaths without deteriorating the axis tracking quality. The optimization scheme relies on modulating the feedrate profile along the toolpath and is applicable to high speed contouring operations where limited feedrate fluctuations are not detrimental to the manufactur-ing process, such as rough and semi-finish machining operations. The proposed algorithm can be used either off-line, or can be integrated into the CNC executive, for high speed contour machin-ing of dies, molds, and aerospace parts with sculptured surfaces. The feed profile is modulated by varying the duration required to travel each spline segment. The arc displacement profile, which is fifth order, is obtained by fitting the minimum jerk curve that passes through the spline knots at instances determined by the modulated segment durations. Using the minimum jerk criterion helps to reduce the number of optimization variables that need to be considered, while still providing smooth and jerk continuous (C ) motion. Minimum cycle time is obtained by modulating the feedrate profile such that the feedrate, axis velocity, torque, and jerk limits determined by the machining process and the physical capability of the servo drives are not violated. Large toolpaths are efficiently handled by applying a windowing scheme that processes the trajectory in overlapping sections. The formulation of the minimum jerk feed profile is presented in Section 4.2. The feedrate optimization algorithm is presented in Section 4.3. Simulation and experimental results, which compare the proposed feed optimization technique to constant feedrate profiling and piecewise constant feed modulation with smooth acceleration transients, which is the commonly adopted 4 0 Chapter 4. Feedrate Optimization for Spline Interpolation 41 y p p s : Arc Length Figure 4.1 : Spline Toolpath. look-ahead technique in modern CNC's, are presented in Section 4.4. The contributions are sum-marized in Section 4.5. « 4.2. Minimum Jerk Feed Profile For the spline toolpath shown in Fig. 4.1, passing through N + 1 knots, and comprising TV segments with segment arc lengths of Sj, S2, ..., SN, the minimum jerk feed profile, shown in Fig. 4.2, is determined by specifying the durations Tx, T2, ..., TN required to travel the corre-sponding segment lengths, and fitting the overall C 3 displacement profile as a function of time (s = s(t)) so that the integral square of jerk throughout the motion, is minimized. It was shown by Flash and Hogan [30] that the solution to the above minimiza-tion problem results in a quintic polynomial in time; which is well suited for CNC implementation [22,75,76]. Hence, the feed profile for the spline segment (k) is expressed as, (4.1) Chapter 4. Feedrate Optimization for Spline Interpolation 42 sk(r) = Akr5 + Bkr4 + Ckz3 + Dkr2 +Ekr + Fk, 0<r<Tk (4.2) In order to avoid ill conditioning in the overall jerk minimization process, the time parameter x and segment durations are normalized by the longest expected segment duration r m a x , ^ (v) = ak^ + V 4 + ckv3 + dkv2 + ekv + fk , 0 < v < Xk (4-3) where v = x / r m a x , Xk = Tk/Tmax and ak = T5mmAk, bk = T^Bk, ..., hk = Hk. The velocity, acceleration, and jerk profiles are expressed in normalized formulation as, sk (v) = (1 / r m a x )[5akv4 + 4bkv2 + 3ckv2 +2dkv + ek] sk (v) = (1 / T2ax)[20akv3 +12bkv2 + 6ckv + 2dk ] sk (v) = (1 / r m a x )[60akv2 + 24 V + 6c* ] (4.4) The overall jerk objective in Eq. (4.1) can be split into N local objectives corresponding to each segment, J = f ' [Si W ] 2 dr + ( 2 [Sj (r)]2 dr +... + f [sN (j)}2 dr (4-5) Expressing the k t h local objective in the normalized formulation introduced in Eq. (4.3) and (4.4), h I 1 ' I f3600a2v4 + 2880a* V 3 + -Jk = —— \\ }dv Tmax o \(™akck + 516b2k)v2 + 2mkckv + 36c\ performing the integration gives, m Q Y fk} o 720*4 3 6 0 4 1 2 0 4 0 0 0 3604 1 9 2 4 7 2 4 0 0 0 °k 1 2 0 4 7 2 4 36/1* 0 0 0 h 0 0 0 0 0 0 0 0 0 0 0 0 Jk. 0 0 0 0 0 0 (4-6) (4-7) Chapter 4. Feedrate Optimization for Spline Interpolation 43 f Displacement s(t) Figure 4.2 : Minimum Jerk Feed Profile. where 0k=\ak bk ... fkY contains the normalized parameters of the k t h feed segment, and the objective weight KkCkk) depends solely on the normalized duration Xk of the same seg-Chapter 4. Feedrate Optimization for Spline Interpolation AA ment. Dropping the l/T^ax t e r m > which is identical in all local objectives, and introducing a 1/2 term for mathematical convenience, the minimum jerk objective for the k t h feed segment is rewritten as: h=\oTk-Kk(xk)-ek (4.8) and the overall minimum jerk objective in Eq. (4.5) is reconstructed from local segment parameters 0k and weighting matrices Kk as, N \9T 0\ e N k=\ o K2{X2) 0 K N (^jv) 0\ (4.9) K(X) 0 The vector 0 contains all feed segments' parameters. The feed profile has to pass through the knot displacements at instances designated by the segment durations. For the k t h segment, the fol-lowing position boundary conditions need to hold: k-\ sk(0) = TJSi , sk(Ak) = Y.Si k I /=1 i=l ;th (4-10) where St is the arc length of the i segment. Using Eq. (4.3), this can be written in matrix form as, 0 0 0 0 0 1 ^k A A A h 1 4 ( 4 ) ak h A (4.11) The knot position constraints from all segments can be grouped together as, Chapter 4. Feedrate Optimization for Spline Interpolation 45 L\{X2) On <=/v (4.12) 0 The velocity, acceleration, and jerk continuity constraints at the knot joining the k t h and k+l s t segments can be written as, s*(4) = s*+i(0) s*(4)= sjt+i(0)j ^(4)-^+,(0) = o s*(4)-s*+,(0) = o sK4)-'^+i(0) = oj (4-13) where A: - 1, 2 , ...,N. Substituting the expressions for sk, sk, and sk from Eq. (4.4) into (4.13) results in, (4-14) 5 4 4 4 3 4 2 4 1 0 0 0 0 0 - 1 0 ' 0k ~ ~0~ 2 0 4 1 2 4 6 4 2 0 0 0 0 0 - 2 0 0 = 0 6 0 4 2 4 4 6 0 0 0 0 0 - 6 0 0 0 0 where 0k = [ak bk ... fkY is the coefficient vector that needs to be solved for the k t h feed segment. The derivative boundary condition are grouped together as, #3x6 03*6 Lm(X) 'Ox' 02 - ^3(N-X)xX 0N_ 1^23 0 (4.15) If initial conditions of velocity (sQ), acceleration (sQ), and jerk (J 0) are provided at the beginning of the first feed segment, they can be included into the formulation as ^(O) = i 0 , 5j(0) = ^ 0,5^(0) = 's'q, expressed in matrix form (Eq. (4.4)): Chapter 4. Feedrate Optimization for Spline Interpolation 46 0 0 0 0 1 0 0 0 0 2 0 0 0 0 6 0 0 0 0 3x6(iV-l) 0i 'N ^max^ O T2 v 1 maxJ0 ^max^ O (4.16) £init Similarly, if final conditions of velocity (sf), acceleration (Sf), and jerk (s'f) are provided at the end of the last feed segment, they can be included as sNCkN) - jy, SN(XN) = Sf, s'N(XN) = s'f, in matrix form (Eq. (4.4)): (4-17) -: 5 4 4 4 3 4 2Xft 1 0 02 x max"3/ 03x6(7V-l) ': 2 0 4 12/lyy 6/lN 2 0 0 = r2 f 1max:>f _ 60A2N 24XN 6 0 0 0 On 1 max"3/ Hlnal f final The knot position, 1st, 2 n d , and 3 r d derivative continuity, initial and final boundary condition constraints obtained in Eq. (4.12), (4.15), (4.16), and (4.17) are stacked together in the form: L\X) Lm(X) •6 = 1^23 ^init ^ init •^final(^). _£final_ L(X) L(X)-0 = $ (4.18) where = [Aj ^ ••• ANY is the array of normalized segment durations. The minimum jerk optimization problem can now be formally expressed as, min -0T • K(X)• 0 subject to : L(X)-0-^ = 0 9 2 (4-19) The above constrained quadratic minimization problem is solved using Lagrange Multipliers method. Introducing the vector of Lagrange multipliers A = [AX A2 ... A5N+^Y, the aug-mented objective function is written as, Chapter 4. Feedrate Optimization for Spline Interpolation 47 J'(O,A) = ^0T-K(X)-0 + AT[L(X)-0-^] (4-20) Equating the partial derivatives to zero (dJ' 130 = 0 and dJ' 13A = 0) yields the linear equa-tion system, K(X)-0 + lI(X)-A = O which has full rank as long as all segment durations are nonzero. The solution of the above linear equation system yields the coefficients 0 of the minimum jerk feed profile complying with all imposed constraints [62]. Following the solution of Eq. (4.21), the feed coefficients are denor-malized (Ak = a*/r m a x , Bk = bk/T^^, ..., Hk = hk) and the feed profile is generated using Eq. (4.2). K(X) LT(X) 0 '0' L(X) 0 A (4.21) 4.3. Minimum Time Feed Optimization The objective of feedrate optimization is to minimize the total path cycle time (Tz) within the kinematic and dynamic limits of the machine tool, resulting in the cost function: Tz=tTk=TmA±Xk (4-22) k=\ k=\ 4.3.1. Velocity, Torque, and Jerk Constraints The velocity constraints indicate the maximum allowable feedrate, as well as maximum travel speeds of the drives. The torque constraints are imposed to ensure linear operation of the servos without actuator saturation. The jerk limits help contain the frequency content of accelera-tion below the natural modes of the feed drives, avoiding unwanted structural vibrations as well as excessive tracking error. Chapter 4. Feedrate Optimization for Spline Interpolation 48 Given the axis position vector r(s) = [x(s) y(s)]T following a general displacement profile s = s(t) along the toolpath in Fig. 4.1, the corresponding axis velocity, acceleration, and jerk (f(t), r(t), r(0) profiles can be expressed as, r(t) = rs(s)-s(t) r(t) = rss(s)-s2(t) + rs(s)-s(t) ;3, (4.23) r\t) = rsss(s)• s (t) + 3r„(s)-s(t)-s(t) + rs(s)• s(t)J where rs = dr/ds, rss - d2r/ds2, and rsss - d3r/ds3 are geometric derivatives that are computed as functions of the arc length (s) when the spline toolpath is initially fit, and stored in a lookup table to be retrieved when evaluating the feed optimization constraints. Considering a sim-ple axis dynamics model comprising of inertia (Je), viscous damping (Be), and Coulomb friction (d), the x and y axis control signals (u), which directly correspond to the motor torque in current controlled drives, can be expressed as, (4.24) ~Jex o " X + ~Bex 0 ' x + ~dx o : sgn(x) Uy _ 0 Jey_ y_ . 0 V 0 dy_ _sgn(»_ u r V r V d sgn(r) Given the limits on feedrate (/m a x), axis velocity (v. xmax' ymax ), control signal (u Mymax)> a n d axis jerk 0 x m a x > 7 v m a x ) ' t h e constraints to be imposed are: ' xmax ' J ymax o < i ( o < / m a x "vxmax — -^ (0 — vxmax ""xmax ^Ux{t)<ll ~ Jxmax —'x(.0 — Jxmax xmax > -vymax <y(t)<vymax ~11 ymax — w_y(0 — 11 ymax ~ J ymax —'y(0 — J ymax J (4.25) for 0 < t < T 2 . The above constraints are normalized and separated into individual inequali-ties: Chapter 4. Feedrate Optimization for Spline Interpolation 49 (4.26) C-f(t) = -s(t)/fmx<0 , C}(t) = s(t)/fmax-\<0 Cx"(O = - x ( O / v x m a x - l < 0 , cx+(0 = * (0 / v x m a x - i <o c;(0 = - j>(0/v^m a x- i<o , cJ(o = KO/v , m a x - i <o Cux<d) = -ux{t)luxmiX-\<0 , C+X(t) = ux{t)luxmax-\<Q cuy(t) = -uy(t)/uymix - 1 < 0 , CZy(t) = uy(t)/uymax - 1 < 0 c-x (o = - x ( o / y x m a x - 1 < o , c+x (o = * (0/y x m a x - 1 < o Cy(0 = - K 0 O V m a x - ^ Q ; C | (0 = K 0 / 7 ^ m a x - i ^ Q lower bound constraints upper bound constraints Grouping the left hand sides into a single vector, c(t) = [c-f(t) c j (o ... Cy{t) \ c}(t) c+x(t) ... c j c o f ( 4 2 7 ) the constraints are expressed in compact form as, C(t)<0 for 0<t<Tx (4-28) For the given feed profile s = s(t), the velocity (C'x , , Cj", ) and jerk ( C » , Cj, C*, C± ) constraints are evaluated using the kinematic expressions in Eq. (4.23). The control signal constraints (C'ux, C" , C+x, C J ) are evaluated by substituting the axis velocity and acceleration profiles into the axis dynamics in Eq. (4.24). 4.3.2. Solution of the Optimization Problem The optimization problem is (Eq. (4.22) and (4.28)): A ' min 7/2 = min Tmax £ Xk subject to: C(t) <0 for 0<t<T2 (4-29) which is a Linear Programming problem (the second derivative of TT with respect to X is zero) with nonlinear constraints, and is solved using M A T L A B ' s Optimization Toolbox [16]. The constraints are checked at fixed subdivisions of the segment travel durations, as shown in Fig. 4.3. Each segment duration is divided into Mk (-5...100) segments, proportional to its corresponding Chapter 4. Feedrate Optimization for Spline Interpolation 50 "Feed constraint evaluation ~ points m\ i i Nvjime M1 divisions Ti '- 7 M2 div.s h '- 7 div.s h <• 7 div.s C 7 '- 7 divisions TN '- 7 Figure 4.3 : Evaluation of Constraints. arc length Sk. As the segment durations are modulated, the number of constraints to be checked remains the same, but the instances in which the constraints are evaluated are stretched out or compressed in time. Such a 'floating constraint' scheme allows analytical computation of the kine-matic profile gradients with respect to the optimization variables ( ds I' d)J , d'sl d)J , ds /dJiT , ds/dJiT), enabling the analytical computation of the constraint gradient (dC(t)/' dl7'), which enhances the convergence of the optimization. The analytical computation of the gradients has been presented in Appendix B. 4.3.3. Windowing for Long Toolpaths In long continuous toolpaths, where the number of spline segments can range from tens to hundreds, attempting to optimize the complete feed profile all at once will prove to be very slow and inefficient due to the large number of optimization variables (/V) and constraints (14 x (1 + 'Y_Nk_ l Mk): 14 constraints in Eq. (4.26), checked at 1 + } Mk points) that need to be considered. Adopting the notion that the optimal feed profile at any region along the toolpath depends primarily on the local and neighboring toolpath geometry, a windowing scheme has been developed which is demonstrated with a simple example in Fig. 4.4. First a forward optimal tra-jectory is planned in overlapping windows. The fixed initial conditions in each window are inher-ited from the optimal trajectory planned in the previous window. The final conditions are always Chapter 4. Feedrate Optimization for Spline Interpolation 51 Forward Planning Backward Planning Window 1 (segments 1-5) Window 1 (segments 3-7) Window 2 (segments 2-6) Window 2 (segments 2-6) k free : fixed \ © (D(3 ) @(D!(6)d Displacement Displacement Middle Section Blend (segments 3-5) o 0_ T3 CD (1) fixed / /7xe;cf (2) (D (Dl© (ri Displacement Figure 4.4 : Example of Applied Windowing Technique. left free. Similarly a backward profile is planned from the end of the toolpath in the reverse direc-tion, with fixed final and floating initial conditions in each window. Overlapping sections of the two trajectories are then blended together with initial and final boundary conditions borrowed from the forward and backward profiles respectively. If the trajectory optimization in a particular window does not converge to a feasible profile, the solution is backtracked by expanding the win-dow size and borrowing the fixed boundary conditions from an earlier solution. In practical implementation, the window (look ahead) size is set to 5 segments, progression between consecutive windows is one segment, and the overlap between the forward and backward trajectories is 5 segments. The backward trajectory has been limited to 15 segments, resulting in Chapter 4. Feedrate Optimization for Spline Interpolation 52 most of the feed planning to occur in the forward trajectory, in a nearly parallel segment process-ing sequence to the CNC executive for future real-time implementation. 4.4. Simulation and Experimental Results The proposed feed optimization scheme has been tested in high speed contouring on a three axis machining center explained in detail in Chapter 5. The control signal equivalent inertia, vis-cous damping, and Coulomb friction in the drives are: 7e ; c = 1.60xl0"3, Je),=1.75xl0~3 [V/(mm/ sec2)], fi„=4.02xl0-3, 5ey=4.14xl0"3 [V/(mm/sec)], dx = 0.37, dy = 0.56 [V]. The feed and axis velocity limits were set to fmax-vxmax=vymax=2S0 [mm/sec]. The control signal limits were set to uxtnax=uymax=5 [V], which correspond to 81 [%] and 95 [%] of the peak current (40 [A]) deliverable by the amplifiers to the motors. The jerk limits were set to jxmax=jymax=^000 [mm/ sec ]. The drives were controlled using Sliding Mode Control [5] with 48 [Hz] bandwidth, run-ning at a loop closure period of 1 [msec]. The encoder feedback resolution in both axes is 1.22 [pm]. The C 3 fan shaped toolpath in [76] was used with 150 [%] scaling, in bench testing the devel-oped optimization algorithm. The toolpath, comprising of 88 segments is shown in Fig. 4.5. Opti-mization of the complete feed profile took 642 [sec] on a Pentium III machine running MATLAB, and resulted in a motion duration of 3.524 [sec]. Trying to travel the same toolpath at constant feed in minimum time, without violating the machine's limits resulted in a maximum feedrate of 58 [mm/sec], tangential acceleration/deceleration of 1389 [mm/sec2], and an overall motion dura-tion of 9.883 [sec]. The optimized and unoptimized feed profiles, and their corresponding axis velocity and jerk commands are shown in Fig. 4.6. The experimentally recorded axis tracking errors and control signals are shown in Fig. 4.7. With the optimization of the feed profile, the machining cycle time is reduced by 64 [%], while still remaining within the machine's velocity, jerk and control signal (torque) limits. There are some minor control limit violations in the x axis, particularly corresponding to the zero veloc-Chapter 4. Feedrate Optimization for Spline Interpolation 53 Spline Toolpath Used in Feed Optimization Figure 4.5 : Spline Toolpath used in Experiments. ity crossings at 1.636 [sec] and 3.243 [sec]. This is due to the fact that the static friction, which is larger than Coulomb friction [23], has not been considered in the dynamic model used for feed optimization. Comparing the tracking error profiles corresponding to the two cases, it is seen that in general, they do not exceed 10 [pm]. The maximum magnitudes of tracking error exmax=9.2, eymax=6.9 [pm] obtained with the unoptimized feed profile increase slightly to exmax=ll.O, eymax=13 [pm] with the application of the optimized profile, which is negligibly small. The proposed feed optimization algorithm has also been compared to the look-ahead method proposed by Week et al. [78], which is based on modulating the feedrate profile in piecewise con-stant steps with smooth acceleration transients. This approach is also adopted as the standard means of feedrate modulation modern CNC's. In [78], only axis velocity and acceleration limits Chapter 4. Feedrate Optimization for Spline Interpolation 54 Optimized and Unoptimized Feed Profiles 250 "S E CD c u_ 0 250 . t i CD O CO >1 -250 optimized feed profile ^ (proposed) ^unoptimized feed limit limit 3.524 X Axis Time [sec] 9.883 Y Axis limit limit limit j j j limit 3.524 9.883 0 Time [sec] 3.524 9.883 Time [sec] Figure 4.6 : Comparison of Optimized and Unoptimized Feed Profiles. are considered, hence the axis acceleration limits have to be set low enough to avoid actuator sat-uration in all cases: axmax (wxmax ^exvxmax •dx)lJex = 2265 [mm/sec ] (4.30) *>>max ~~ v^ymax "ey"ymax ) / Je^ - 1942 [mm/sec ]J Cubic acceleration profiling [25], presented in Appendix C, has been used to provide smooth transitions between neighboring feedrate levels, with tangential acceleration and jerk limits of 2000 [mm/sec2] and 50000 [mm/sec3] respectively. The same fan profile in Fig. 4.5 was used as the toolpath. Chapter 4. Feedrate Optimization for Spline Interpolation 55 X Axis Y Axis 0 r 3.524 9.883 0 3.524 9.883 Time [sec] Time [sec] Figure 4.7 : Experimentally Recorded Tracking Errors and Control Signals for Optimized and Unoptimized Feed Profiles. Comparison of the feedrate, tangential acceleration, and jerk profiles obtained with the two feed optimization techniques is shown in Fig. 4.8. The motion duration obtained with piecewise constant feed modulation is 4.331 [sec], which is 23 [%] slower than that obtained with the pro-posed technique. This is primarily due to the reason that the tangential acceleration and jerk pro-files in piecewise constant feed modulation have to cross through zero values at segment connections, resulting in intermittence in the acceleration and jerk profiles, which extends the motion duration. The proposed method, on the other hand, allows continuous feed, acceleration, and jerk modulation throughout the whole toolpath, thus shortening cycle time. Unlike piecewise constant feed modulation, the proposed method does not impose any limits on the tangential acceleration and jerk values, allowing higher feedrates to be reached in shorter durations when possible, which also contributes to cycle time reduction. The axis velocity, acceleration, jerk commands, and predicted control (motor torque) signals obtained with the two optimization techniques are shown in Fig. 4.9. Proportionally to feedrate, the axis velocity values obtained with the proposed technique are higher than those achieved with Chapter 4. Feedrate Optimization for Spline Interpolation 56 Comparison of Optimized Feed Profiles 0 Time [sec] 3.524 4.331 Figure 4.8 : Feed Profdes Obtained with the Proposed Optimization Algorithm and Piecewise Constant Feed Modulation with Smooth Acceleration Transients (Week et al. [78]). piecewise constant feedrate modulation. The axis acceleration profiles in piecewise constant feed modulation nearly reach and always stay within their limits, which had to be set conservatively in Eq. (4.30). The axis acceleration profiles generated with the proposed technique are able to oper-ate outside these limits, while still avoiding actuator saturation, as seen in the control signal pro-files. The axis jerk profiles are kept within their limits with the proposed method, but since axis jerk is not considered as a constraint in [78], the jerk profiles resulting from piecewise constant feed modulation violate the preset limits, which in practice leads to higher tracking and contour-ing errors, and larger magnitudes of structural vibrations imposed on top of the feed motion. Hence, proposed feedrate optimization scheme results in quicker and smoother motion compared to piecewise constant feedrate modulation. Chapter 4. Feedrate Optimization for Spline Interpolation 57 X Axis Y Axis 1 " 1942 •1942 ° Time [sec] CN co ° Time [sec] CN CO LO CO LO CO CO "tf- CO Figure 4.9 : Axis Velocity, Acceleration, and Jerk Commands, and Predicted Control Signal (Motor Torque) Profiles Obtained with the Proposed Feedrate Optimization Algorithm (solid) and Piecewise Constant Feed Modulation (dashed) with Smooth Acceleration Transients [78]. 4.5. Conclusions In this chapter, a feedrate scheduling technique has been developed for minimizing the machining cycle time along spline toolpaths by fully exploiting the physical capabilities of the drives without violating their velocity, jerk, and torque limits. The continuity of the velocity, Chapter 4. Feedrate Optimization for Spline Interpolation 58 acceleration and jerk profiles are guaranteed by using a. fifth order spline for arc displacement. Using the axis dynamics' model and drive constraints, an optimal feed profile has been obtained by modulating the spline segment durations. Long tool paths are efficiently handled by applying the optimization technique in a windowing framework. The algorithm is tested in high speed contour machining of a profile which has continuously varying curvature. It was experimentally shown that the proposed feedrate optimization could reduce the cycle time nearly down to a third, compared to constant feed profiling with the same axis limits, while maintaining a comparable tracking performance. It was also shown that the pro-posed algorithm yields both shorter cycle time (-20 [%]) and smoother axis motion compared to piecewise constant feedrate modulation, which is employed by the look-ahead function in modern CNC's Chapter 5 Modeling and Identification of Feed Drive Dynamics 5.1. Overview In this chapter, the feed drive dynamics of a three axis machining center are identified in detail, to be used in controller design, analysis, and performance simulation in Chapter 6. In Sec-tion 5.2, the linear rigid body dynamics, comprising of inertia and viscous friction are determined, using a modified least squares parameter estimation scheme which considers the existence of non-linear Coulomb friction in the parameter estimation process. In Section 5.3, the friction model is refined to include static friction and the Stribeck effect, by jogging the axes back and forth at var-ious speeds, and observing the equivalent friction torque through a Kalman filter. In Section 5.4. the structural dynamics of the ball screw mechanism are identified by conducting frequency response testing with sinusoidal excitation, while the axis is already in motion, in order to decou-ple the interfering effect of stick-slip friction. The torsional vibrations of the lead screw, as well as the translational vibrations of the table, are measured using high resolution rotary and linear encoders. The identified modal characteristics of the ball screw are combined with the rigid body dynamics and guideway friction model in Section 5.5. The results and contributions of the chapter are summarized Section 5.6. The experimental setup, used to verify the control and trajectory generation algorithms devel-oped in this thesis, is a Fadal VMC 2216 three axis machining center (Fig. 5.1), controlled with an in-house developed open CNC, ORTS [3]. The machine's feed drives are equipped with tachome-ters and syncro-resolvers. The syncro-resolvers provide a position measurement resolution that corresponds to 2.44 [pm] of table motion. The motor amplifiers have been modified to operate in current control mode, resulting in control signals that directly correspond to motor torque com-59 Chapter 5. Modeling and Identification of Feed Drive Dynamics 60 Figure 5.1 : Three Axis Machining Center Controlled with In-house Developed Open CNC. mands. The x axis has been instrumented with high resolution rotary (4.94 [arc-sec]) and linear (10 [nm]) encoders, at the end of the lead screw shaft, and on the table itself. Chapter 5. Modeling and Identification of Feed Drive Dynamics 61 5.2. Rigid Body Dynamics The linear rigid body dynamics of one axis are shown in Fig. 5.2. u' [V] is the control signal applied to the current amplifier, Ka [A/V] is the current amplifier gain, / [A] is the motor current produced in the armature, Kt [Nm/A] is the motor torque constant, Tm [Nm] is the resulting motor torque, Td [Nm] is the equivalent disturbance torque, due to cutting forces and friction, acting on the motor shaft, J [kgm2] and B [kgm2/sec] are the equivalent inertia and viscous damping in the drive system in with respect to the motor shaft, co [rad/sec] is the angular velocity of the motor, r [mm/rad] is the lead screw rotational/translational motion conversion ratio, x [mm/sec] is the velocity of the machine table, and its integral x [mm] is the table position. Since the amplifier is configured to operate in current control mode, the torque loss due to back e.m.f. is compensated by the current control loop in the amplifier. Hence, the effect of back e.m.f, along with the electrical armature dynamics, are not considered in the model. The axis position x(s) can be written in terms of the control signal u'(s) and disturbance torque Td(s) as, x(s) = 'i' j^b^vc^-wi <5J) In identifying the rigid body dynamics and guideway friction, the tachometer and resolver feedback on the motors have been used. The tachometer signals have been calibrated to yield motor shaft velocity in terms of [rad/sec]. The resolver signals are converted into quadrature encoder pulses, using dedicated circuitry, and have been calibrated to yield machine table position in terms of [mm]. The disturbance torque is considered as an equivalent disturbance input on the control signals as, d(s) = Td(s)/{KtKa) (5.2) Defining the gain Ka = KtKa/J and pole pw = -B/J, the shaft velocity co is expressed in terms of control input u' and the equivalent input disturbance d: Chapter 5. Modeling and Identification of Feed Drive Dynamics 62 K, Disturbance \ fc I CO r X PI X } • Js+B r8 Axis Control S I 9 N A L Current Motor IneTtiaand Lead Position Amplifier Viscous Screw Damping Figure 5.2 : Linear Feed Drive Model Considering only Rigid Body Dynamics. coO) = S~P< •[u'(s)-d(s)] and the axis position x is written as, fn r„ K„ S- • m r . ^ = -S S-x(s) = co(s) s [u'(s)-d(s)] (5.3) (5.4) Considering motor shaft velocity and axis position as the states, the state space model becomes, x(t) = Ac x(t) + Bc ~Bc u\t) _co(0 _co(0. c c At). , where Ac = 0 r 0 8 • Bc = ' C (5.5) The axis control signal u' is generated by a D/A converter, hence the velocity expression in Eq. (5.3) is re-written in the discrete-time, considering a zero order hold at its input as [8], K K ffl(fc) = - 7 - ( « W - # ) ) . where Kwd = - f (1 - e p » T - ) , P ( o d = el (5.6) Above, k is the sample counter, Ts [sec] is the discrete time sampling period, Kad is the dis-crete time transfer function gain, pad is the discrete time pole and z is the forward shift operator. The discrete time version of the state space expression in Eq. (5.5) is obtained as [8], J C ( * + 1) = Ad x(k) + Bd ~Bd u\k) _co(&+ 1)_ So(k\ a cl d(k\ where Ad = eAcTs , B. "dX-Bc (5.7) Chapter 5. Modeling and Identification of Feed Drive Dynamics 6 3 The control signal is delivered through a D/A converter, which can produce voltage in finite increments. The velocity measurements are acquired through a tachometer, which yields a noisy analog signal. Furthermore, the resolver signals are decoded into encoder pulses which corre-spond to finite position increments. The quantization and noise effects are included into the model, as shown in Fig. 5 . 3 . The desired control signal u is applied to the amplifier as u' after being quantized by the DAC which has a resolution of Sw. The true axis position x is measured as xm after being quan-tized by the position measurement resolution of 8x . For the DAC, the quantization effect results in a uniform distribution in the difference (u) between the desired (w) and applied («') control signals, which has zero mean (E[u] = 0 ) , and can take values between -5u/2 and Sw/2 . The variance of u is computed as [ 2 3 ] , R- = E[(u-E[u])2] = E[u2] = \ p(u)-u2-du= \ ± • u2 • du = ^£J- (5 .8) J -oo J-bu/2bu 1 2 Similarly, the variance of position measurement error (x) due to quantization is R- - ( 8 x ) 2 / 1 2 . Hence, the following holds for the control signal and axis position measure-ment: u'(k) = u(k) + u(k) => u(k) = u'ik) - u(k) where Var(«) = R- = ( 8 M ) 2 / 1 2 1 ( 5 . 9 ) xm(k) = x(k) + x(k) => x(k) = xm(k)-x(k) where Var(x) = R~ = ( 8 x ) 2 / 1 2 J The motor shaft velocity co is measured as com through the tachometer with a measurement noise variance of R ~. The tachometer measurement noise co is defined as, CO com(£) = co(/c) + co(&) => a(k) = (om(k)-(o(k) (5-10) and is assumed to have a normal distribution, with the variance R^ computed by monitoring the tachometer measurements (in [rad2/sec2]) while the axis is powered but not moving. In order Chapter 5. Modeling and Identification of Feed Drive Dynamics 64 DAC Resolution Control u Input 1 U ZOH d Axis Dynamics ~K, I© CO s-p CO CO m Tr Motor Velocity and Axis Position 1 Measurement x Tachometer x m Encoder Figure 5.3 : Axis Dynamics Including Quantization and Measurement Noise. to design a Kalman filter for estimating the friction, a simple disturbance model is assumed, con-sisting of an integrated white noise (wd(k)) process: d(k+ 1) = d(k) + wd(k) (5.11) The variance of the disturbance perturbation Rwd is used as a tuning parameter in determin-ing the 'activeness' of the Kalman filter. The augmented state space model that includes the linear dynamics, input and measurement noise, and the disturbance process is obtained by combining Eq.(5.7)-(5.11): x(k+ 1) x(k) co(k+ 1) = A co(ifc) d(k+l\ d{k\ B[u(k)\+W u(k) = C x(k) (o(k) d{k\ + V x(k) where: A = , B = , c = 1 0 0 0 0 1 0 o i q w B, 0 0 0 1 1 0 0 1 (5.12) Chapter 5. Modeling and Identification of Feed Drive Dynamics 65 Above, the disturbance d(k) appears as a state to be estimated by the Kalman filter. A and B are the augmented state transition and input matrices respectively. W governs how the process noise (w and wf) affects the state transition. The matrices C and V relate the position and veloc-ity states (x and co), and measurement errors (x and co) to their measured values (xm and com). Considering the axis friction to be dependent on the axis velocity (co) and actuation torque (Tm) [7], the equivalent disturbance torque due to axis friction (Ty(co, Tm)) can be combined with the linear axis dynamics, as shown in Fig. 5.4. When the axis is in motion, the dominant source of nonlinear friction is Coulomb friction, which unless it is considered in the parameter identifica-tion process, will result in biased parameter estimates. Considering a simple Coulomb friction model in the form: f 0 if co = 0 7c+oulifco>0 (5.13) V T'coul if ©< 0 where 7+oul and 7^ou, are the positive and negative velocity Coulomb friction constants, which can be expressed in terms of control signal equivalent disturbance as, d} = T-mX/{KaKt) , df=T-0U/(KaKt) (5.14) For joint estimation of the axis parameters with Coulomb friction, the friction model in Eq. (5.13) needs to be combined with the discrete-time axis model in Eq. (5.6). Velocity measure-ments obtained through the motor tachometer are used in the identification process. In order to avoid undesirable ringing in the friction model due to velocity measurement noise while the axis is at rest, a deadband Qd is introduced which is just above the maximum noise level. Defining the signum function with a deadband: Chapter 5. Modeling and Identification of Feed Drive Dynamics 66 Friction Dynamics u KaKt Tf(oo,T) m Js+B co X Figure 5.4 : Interaction of Friction with Linear Axis Dynamics. a(cv Qd) = 0 if loo.J < Q, 1 if co,„ > Qd -1 if <om<-nd PV : Positive Velocity = | • a(com(&)) • (1 + o(com(Jk))) NV : Negative Velocity = - | • rj(com(fc)) • (1 - rj(com(&))) (5.15) the friction model, in terms of control signal equivalent disturbance, is written as, df(am(k)) = PV(<om(k))-df+ + NV(G>m'k)),df (5.16) where, (5.17) Neglecting the effect of DAC quantization (u) and velocity measurement error (co), the fric-tion model in Eq. (5.16) is combined with the discrete axis model in Eq. (5.6), resulting in the dif-ference equation: © m W = 1) + Kadu(k-1)- [Kaddf -PV(k-l) + Kaddf • NV(k-l)] (5.18) where PV(k- 1) = PV((am(k- 1)) and NV(k- 1) = NV((om(k- 1)), or separating the signals from the parameters: Chapter 5. Modeling and Identification of Feed Drive Dynamics 67 < ° m ( * ) a> m (*-l) u(k-l) -PV(<am(k-l)) -NV(am(k-l)) Pad Kad K a d d i (5.19) Considering the available measurements of the input signal u - [u(l) u(2) ... u(N - 1)], and angular velocity Y - [com(2) com(3) ... com(/V)], and defining the vector of parameters to be estimated: 9 = [pad Kwd Kaddj Kmldj]T, the parameter estimation is cast as a least squares (LS) problem. The output predictions for all measurements are written as, Y = C P 9 + E (5.20) where E is the vector of output prediction errors, and O is the regressor matrix, defined as coj l ) u(l) -PV(1) -NV(l) com(2) u{2) -PV{2) -NV{2) cof/V- 1) u(N- 1) -PV(N- 1) -NV(N- 1) (5.21) The objective is to find the optimal set of parameters 9 which minimizes the sum of squares of prediction errors, min - ETE = min - (Y - O ej (Y - O e) 0 2 9 2 1 (5.22) which is solved as [45], 9 = (®T®)-l<PTY (5.23) The estimates of axis inertia, viscous friction, and Coulomb friction are extracted from the parameter vector 9, by considering the definitions of pad and Kod in Eq. (5.6) and noting that Ka = (KtKa)/J,Pai = -B/J: Chapter 5. Modeling and Identification of Feed Drive Dynamics 68 Sample Identification Waveform 0.4 0.6 0.8 Time [sec] Figure 5.5 : Input Signal Used in Identifying Rigid Body Dynamics. J = B = ( p a d - l ) K t K J s _(Q(l)-l)KtKJs Ld^(Pad) 0(2)ln(0(l)) {\-pad)KtKa (1-6(1))*,*, K, corf 9(2) T^ = KaKtdf = KaKrQ(3)/Q(2) T'coul = KaKtdf = KaKt • 9(4)/6(2) (5.24) It should be noted that df and df (hence 7CoUi and r c " o u i ) are not the final estimates for fric-tion, but they are merely to take the bias off of Kad and pwd (hence J and B). Prior to the identi-fication tests, the amplifier gains Ka for the x and y axes were measured by monitoring the motor current signals, as Kax = 6.4898 [A/V] and Kay - 7.5768 [A/V]. Both axes are driven by Glentek GM6060-50 dc. brush motors, for which the catalogue torque gain is given as Ktx = Kty = 0.4769.[Nm/A]. The ball screw pitch length for both axes is h - 10 [mm], resulting the in the gear ratio to be rg = hp/(2n) = 1.5915 [mm/rad]. Identification tests were conducted on the x and y axes in Open loop, which involved input-ting a series of step inputs as shown in Fig. 5.5. For each different test, the amplitude of the input signal was scaled with the following factors, Ku = 1, 2.5 , 5 , 7.5 , 10, 12.5 , 15 and the param-eters J, B, r c o U i and r c " o u i were estimated for the cases where sufficient excitation was achieved to overcome the static friction (i.e. Ku > 5). In addition to the parameter identification technique explained above, a simpler least squares method which did not consider the effect of Coulomb friction was also used, in order to allow comparison with the estimates obtained using the pro-Chapter 5. Modeling and Identification of Feed Drive Dynamics 69 xip-3 X Axis Parameter Estimates o r 14 E 12 j? 10 < ^ 8 I 0.3 <| 0.2 0.1 - Simple LS oT-" 20 \ Modified LS 15 \ 10 ~r^-. : » . X IQ-3 Y Axis Parameter Estimates 7 8 9 10 11 12 13 14 15 - Simple LS Modified LS , , o 4 2 % 0 § -2 K i ~ -4 Simple LS • Modified LS 8 9 10 11 12 13 14 15 § 0.4 0.3 F 0.2 5*0.1 o 5 6 7 T : — ' ' -9 10 11 12 13 14 15 - Simple LS Modified LS £ a A "'"coul ^ V T + 1 coul — — A • A -5 6 Figure 7 8 9 10 11 12 13 14 15 Input Signal Scaling K u [V/V] „ 4 I I o -2 - H -4 8 9 10 11 12 13 14 15 A ' i - A "'"coul 1 coul 5 6 7 8 9 10 11 12 13 14 15 Input Signal Scaling K u [V/V] 5.6 : X and Y Axis Parameter Estimates Obtained Using Simple Least Squares and Proposed Modified Least Squares Identification Techniques. posed modified technique. The velocity deadband Qd was set to 0.5 [rad/sec], to exceed the detected noise level when the axes were at rest. The parameter estimates obtained for different scalings of the input signal are shown in Fig. 5.6. It is seen that the modified LS technique results in smaller values of inertia and damping (J and B) compared to the simple LS technique. This is because the simple LS approach does not account for the presence of Coulomb friction in its formulation, hence the effect of the real fric-tion causes the inertia and damping values to be over-estimated. This is especially significant in the estimates of viscous damping, where the values obtained with simple LS are around three times larger than those obtained with the modified algorithm. As feedforward control and Kalman filter based friction modeling techniques rely on the drive parameters being known with reason-able accuracy, such an error is not desirable as it hinders successful identification and drive track-ing performance. It can also be observed from Fig. 5.6 that the modified LS yields much less variability between estimates obtained at different input signal scalings, especially after the value of KU > 7.5 [V/V]. Also the Coulomb friction estimates obtained with the modified LS algorithm Chapter 5. Modeling and Identification of Feed Drive Dynamics 70 100 X Axis Predicted and Actual Velocity Response Y Axis Predicted and Actual Velocity Response 3-100. 0.4 0.6 0.8 Prediction Error 0.2 0.4 0.6 0.8 Prediction Error 1.2 > •o 1 1.2 ••• Measured Response • -Simple LS — Modified LS j . Control Signal and Predicted Coulomb Friction 0 > S" 0.6 0.8 time [sec] 0 0.2 0.4 0.6 0.8 1 1.2 Measured Response - -Simple LS -Modified LS Control Signal and Predicted Coulomb Friction — r •~ F 1 mini - H J 0.2 0.4 0.6 0.8 time [sec] 1.2 Figure 5.7 : Velocity Response Prediction of Models Identified Using Simple and Modified Least Squares Techniques. are quite consistent for different values of Ku. The significantly different estimates obtained for Ku - 5 [V/V] are due to static friction still being dominant, which was considered in neither of the parameter estimation algorithms. It can be said that for all of the other input signal scalings, the modified LS algorithm yields more reliable estimates of the feed drive parameters. As static friction is less significant at higher control signal scalings, the parameter estimates corresponding to the case where Ku = 15 [V/V] have been chosen, resulting in: Jx = 7.65 x 10-3 [kg.m2] Bx = 0.0296 [kg.m2/sec] fc + o u L e = 2.877 [Nm] TVouiv = -2.363 [Nm] Jy = 9.79 x lO" 3 [kg.m2] By = 0.0385 [kg.m2/sec] T'ctuiy = 3.170 [Nm] TVoub, = -3-093 [Nm] (5.25) The performance of the two estimation algorithms have been compared by reconstructing the velocity signal, and comparing them to the measured velocity obtained for the same input, corre-sponding to the Ku = 15 [V/V] case, at which the parameters were estimated. Fig. 5.7 shows the Chapter 5. Modeling and Identification of Feed Drive Dynamics 71 predicted velocity response and prediction errors of the two models. As seen, the axis model obtained with modified LS yields much smaller prediction error (Acov R M S = 2.61, Aco^  R M S = 1.53 [rad/sec]) compared to the simple LS model (Aco^  R M S = 6.49, Acoy R M S = 5.54 [rad/sec]). 5.3. Identification of Friction Characteristics Using a Kalman Filter Following the identification of the linear axis dynamics, detailed friction identification tests were conducted by jogging the axes back and forth at various speeds, using a pole placement con-troller. No cutting was done during these tests, leaving axis friction as the only source of distur-bance to the servo system. The friction was observed using a Kalman Filter designed for the dynamic model in Eq. (5.12). The Kalman filter is expressed as: x'k) co(yt) d(k) = (I~KohsC)A x(k- 1) co(£- 1) d(k- 1)_ + (I-KobsC)B[u(k-ln+Kobs (5.26) A , B, and C matrices were defined in the augmented state space model in Eq. (5.12). Kobs is the Kalman gain matrix, designed to yield the minimum estimation error for the known plant model and noise characteristics (i.e. variances R~u, Rwd, R~x, R^ of u(k), wd(k), x(k), co(&) respectively). Using the identified inertia (Jx, Jy) and viscous friction (Bx, By) estimates in Eq. (5.25), and considering a sampling period of Ts = 1 [msec], the numerical values of the A, B, C, W, and V matrices in Eq. (5.12) are obtained from Eq. (5.5) and (5.7) as, 1 0.001589 -0.000322 0.000322 0.000322 0 0 0.997407 -0.403843 0.403843 , wx = 0.403843 0 _0 0 1 0 0 1 1 0.001590 -0.000294 0.000294 0.000294 0 Ay = 0 0.997563 -0.368776 • By = 0.368776 , wy = 0.368776 0 0 0 1 0 0 1 Chapter 5. Modeling and Identification of Feed Drive Dynamics 72 C - C -^x *-.y 1 0 0 0 1 0 V = V = x y 1 0 0 1 The D A C used has 16 bits, its output is in the range - 1 0 . . . + 10 [V] , hence its resolution is ou = 2 0 / 2 1 6 = 0.305176 x 10~3 [V] . The variance of the difference u between the com-manded and actual control signals are calculated from are Eq. (5.9) as, R~u = = 7.761 x 1 0 - 9 [V 2 ] (5.27) Similarly, the resolvers on the motor shafts are instrumented to yield 1024 pulses per revolu-tion, which are decoded in quadrature. The lead screw pitch length is 10 [mm], hence the position measurement resolution is ox - 10/(4 x 1024) = 2.44 x 10~3 [mm]. The variance of position measurement noise x is calculated from Eq. (5.9) as, R~ = = 4.9671 x 1 0 - 7 [mm 2 ] (5.28) The variance of velocity measurement noise © was estimated by monitoring the noise in the tachometer signals when the motors were powered, but the axes were at rest. The measured veloc-ity noise variances are, R- = 7.8691 x l O - 3 [rad2/sec2] , R- = 43.1189 x 10" 3 [rad2/sec2] (5.29) ax a>y It was seen that the velocity noise exhibited significant variability between different measure-ments, hence changing the effective values of variance. To account for this uncertainty, the x and y axis velocity noise variances were taken as, R- = R~ = 50 x 1 0 - 3 [rad2/sec2] (5.30) cox my v ' which are higher than their actual values, but reasonably close for designing the Kalman f i l -ter. The disturbance perturbation variance Rwd was tuned in tracking tests where the estimated disturbance d was used to cancel out the true friction. Higher values of Rwd resulted in faster Chapter 5. Modeling and Identification of Feed Drive Dynamics 73 estimates and better disturbance rejection, but poor signal to noise ratio. The following value of Rwd resulted in both good state estimation as well as tracking performance, R wdx = Rwdy = 0.01 [V2] (5.31) The optimal filter gains for the above values were calculated as [18,34], K obsx 0.346114 0.000646 65.070465 0.349254 -25.794230 -0.308201 K obsy 0.345170 0.000640 64.385433 0.331971 -27.886652 -0.310235 (5.32) The resulting observer poles (eig[(7-KobsC)A]) in the discrete-time domain and their cor-responding natural frequencies and damping ratios are, Pobsx = 0-6779, 0.6944 + y0.2863 , /„ = 61.88, 77.12 [Hz] @ C=l, 0.59 Pobsy = 0.6833, 0.7065 + ;0.2817 , /„ = 60.61, 74.46 [Hz] @ C, = 1, 0.58 In order to be able to jog the axes in a controlled manner, a pole placement state feedback controller was designed as, u{k) = Kc xrej(k) ®ret< k\ x(k) © ( * ) (5.33) where xref{k) and (s>ref(k) are the position and velocity reference values, x(k) and co(&) are the position and velocity estimates obtained by the Kalman filter. Considering the plant model in Eq. (5.7), Kc was determined so that the closed loop poles (eig(A -BKC)) have a natural fre-quency of 30 [Hz] and a damping ratio ofCs = 0.7, resulting in the feedback gains [8,18]: Kcx= [48.4441 0.6065] . K c y = [53.0507 0.6646] (5.34) Given discrete reference position values xreA[k), the reference velocity profile is obtained by backward differencing: Chapter 5. Modeling and Identification of Feed Drive Dynamics 74 1.5 1 CD re 0.5 E to m Ol-o c CO -2-0.5 GO b Estimated Friction for v=5 [mm/sec] -1 -1.5 PositiveVelocity : Negative Velocity -50 -40 -30 -20 -10 0 10 20 30 40 50 Position [mm] 1.5 1 Q oo 0.5 E LU 0 <u o c CO •9-0.5 W S -1 Estimated Friction for v=75 [mm/sec] -1.5 Positive:Velocity: Negative Velocity:--50 -40 -30 -20 -10 0 10 20 30 40 50 Position [mm] Figure 5.8 : Estimated Friction for the X Axis at Different Jogging Velocities. aref(k) = T 1 Xref(k)-Xref(k- *) (5.35) The friction was observed while jogging the axes at speeds ranging from 0.1 [mm/sec] to 100 [mm/sec]. More tests were conducted in the lower velocity region (i.e. ±0.1, ±0.3 , ±0.5, ±1.0, ±3.0, ±5.0, ±10.0 [mm/sec]) to accurately capture the transition from static to sliding friction regimes. Four high speed points (±25, ±50, ±75, ±100 [mm/sec]) were sufficient in characterizing the viscous friction range. Typical observed friction profiles for the x axis at 5 [mm/sec] and 75 [mm/sec] axis speeds are shown in Fig. 5.8. As can be seen, position depen-dency is not significant in the friction estimates. By computing the average friction values for the positive and negative directions of motion in each test, and scaling them in terms of friction torque (7y = KtKadf), the plots of observed friction versus axis velocity were obtained, as shown with the 'x' marks in Fig. 5.9. The friction model shown below was used in accordance with the observations: r/«>) = (5.36) Chapter 5. Modeling and Identification of Feed Drive Dynamics 75 X Axis -60 -40 -2Q, Friction Torque T f [Nm] 0 20 40 60 -1 Velocity co [rad/sec] x Observed Friction • Corrected Friction Y Axis 4 Friction Torque T f [Nm] 3 • • • * 2 1 Model A$> 0 -1 20 40 60 Velocity co [rad/sec] -2 -3 x Observed Friction -4 • Corrected Friction Figure 5.9 : Observed and Modeled Friction Characteristics of the X and Y Axes. If the viscous friction estimate 5 used in the observer design had exactly matched the true viscous friction B in the system, then no viscous effect would have been observed in the esti-mates. However, it can be seen that the friction values at ±15.7, ±31.4, ±47.1, and ±62.8 [rad/sec] are lined up in a slope. A positive slope, as seen for the x axis case, indicates that the damping estimate was smaller than the true viscous friction B, and the opposite holds for the neg-ative slope, as it is in the y axis case. Using linear regression, the slopes at these 'high speed' points are estimated as, AB+ = 0.0025 [kg.m2/sec] AB" = 0.0024 [kg.m2/sec] A5+ = -0.0086 [kg.m2/sec] , Afl: = -0.0111 [kg.m2/sec] (5.37) where the superscripts '+' and '-' denote positive and negative velocities respectively. It is not normally expected for the lubricant to exhibit different viscosity values for different directions of motion. Hence, the positive and negative direction slopes are combined into a single value by averaging them, Chapter 5. Modeling and Identification of Feed Drive Dynamics 76 ABX = (AB+ + AB-x)/2 = 0.0025 [kg.m2/sec] ABy = (A5+ + ABy)/2 = -0.0098 [kg.m2/sec] (5.38) The observed extra viscous friction AB is lumped back into the previous damping estimates B, which were obtained in the initial parameter estimation in Section 5.2 as, B'x = BX + ABX = 0.0321 [kg.m2/sec] B'y = By + ABy = 0.0287 [kg.m2/sec] (5.39) This adjustment to the viscous friction estimates is shown in Fig. 5.9 as 'Initially Identified B' corresponding to B, and 'Corrected B' to B'. By removing the extra viscous effect AB • co, which is now contained in the adjusted damping value B', from the observed friction points it is possible to obtain the corrected friction values shown with the dots in Fig. 5.9. The Coulomb fric-tion values for the positive and negative directions of motion are found by averaging the values of corrected friction that correspond to the speeds of +15.7, +31.4, +47.1, and +62.8 [rad/sec] with the correct signs, rc+0uu = 2.2054 [Nm] , r c " o u k =-1.6562 [Nm] Tc+on\y = 3-0578 [Nm] , 7>coul^ = -2.7386 [Nm] (5.40) The static friction values are approximated as the friction recorded at the smallest jogging speed (i.e. 0.063 [rad/sec]), Estate = 3-647 [Nm] , 7y t a u = -2.7021 [Nm] T^ty = 3.6523 [Nm] , 7/ s m t y = -3.2183 [Nm] (5.41) The velocity constants Qj+, Qj", Q 2 +, and Q2" are estimated by minimizing the cost func-tion, Chapter 5. Modeling and Identification of Feed Drive Dynamics 11 N2 V = i £ [87Y*)]2 (5.42) k = Nl that penalizes the error &T(k) between predicted and measured friction, where: S7T*) = 8T[o>(*)] = T'f[<o(k)] - [T:,1-, • + Tcful , (1 - e - ^ / Q ^ ) ] (5.43) (o(k) is the array of the jogging velocities used in the tests (i.e. co(/c) = ±0.063, ±0.189, ±0.314, ±47.124, ±62.832 [rad/sec] for k = 1,2, 11). T'f[®(k)] is the corrected fric-tion torque observed at the axis velocity co(&) (i.e. estimated average minus the viscous term). Q j and Q 2 a r e m e velocity constants to be estimated, and the ' +/-' superscript denotes the rele-vant direction of motion. Noting that Eq. (5.36) cannot be expressed as a linear combination Q{ and Q 2 , these parameters are obtained by testing a range of values from 0 to 10 [rad/sec] ( -10 [rad/sec] for the negative velocity case) with increments of 0.1 [rad/sec], and choosing the ones that result in the lowest value of the cost function. The points to be included into the cost function evaluation were chosen as Nl = 4 and 7V2 = 11 (i.e. the range corresponding to veloc-ities between 0.628 [rad/sec] and 62.832 [rad/sec]). The velocity constants obtained from the optimization are, Q i * = 2.0 [rad/sec] , Q{x Q.2+x = 2.0 [rad/sec] , Qfx Qfjy = 4.1 [rad/sec] , Q.{y Q.2y = 5.4 [rad/sec] , Qfy The resulting friction model, from which the viscous component has been removed, is shown in Fig. 5.9 with the label 'Model ' . As can be seen, the analytical expression is sufficiently close in representing the experimentally observed friction values. The identified feed drive parameters, as well as the design values of the Kalman filter and the pole placement controller, have been sum-marized in Table 5.1. -2.0 [rad/sec] -2.0 [rad/sec] -3.6 [rad/sec] -4.2 [rad/sec] (5.44) Chapter 5. Modeling and Identification of Feed Drive Dynamics 78 (a) Tracking Errors without Friction Compensation (b) Tracking Errors with Friction Compensation Contour Error without Friction Compensation 0.5 1 1.5 2 2.5 Contour Error with Friction Compensation 1 1.5 time [sec] 0.5 1 1.5 time [sec] 2.5 Figure 5.10 : Recorded Tracking and Contouring Errors for Control (a) Without and (b) With Feedforward Friction Compensation. As experimental verification of the identified friction model, two circular contouring tests were conducted [23] using the pole placement controller in conjunction with Zero Phase Error Tracking Control (ZPETC [68]) to widen the overall axis tracking bandwidth. No integral action was used, which resulted in the tracking errors to be mainly dependent on friction and parameter mismatch. In the first test, the pole placement controller was used without any modification. In the second test, friction was compensated in feedforward using the identified model. A circular toolpath with a radius of 35 [mm] was traveled at a feedrate of 170 [mm/sec], tangential acceler-ation of 2000 [mm/sec2], and jerk limit of 50000 [mm/sec3]. The tracking and contour error profiles for the two tests are shown in Fig. 5.10. Considering Fig. 5.10(a), where no feedforward friction compensation has been used, the axis tracking errors reach a value of 20 [pm], and there is steady state error before and after following the circle (i.e. prior to 0.4 [sec] and after 1.8 [sec]) due to the feedback controller lacking integral action. The contour error is also significant, and undergoes sudden changes as the quadrants of the circle are crossed. In Fig. 5.10(b), it is seen that by injecting the predicted friction values into the control Chapter 5. Modeling and Identification of Feed Drive Dynamics 79 signal, both the tracking and contour errors are reduced significantly, to a maximum value of about 12 [pm] (~5 [BLU]). Furthermore, there is no steady state error, in spite of the absence of integral action. These results demonstrate that the identified friction model can be used to suc-cessfully represent the actual friction in modeling and simulation of the axis dynamics, as well as in counteracting its degrading effect in high speed cornering and circular contouring applications. Chapter 5. Modeling and Identification of Feed Drive Dynamics Table 5.1 : Summary of Identified Feed Drive and Controller Design Parameters. Identified / Designed Parameters X Axis Y Axis Feed Drive Amplifier Ka [A/V] 6.4898 7.5768 Motor K, [Nra/A] 0.4769 0.4769 Inertia i [ k g - m 2 ] 7.65xl0" 3 9 .79xl0" 3 Viscous Friction B [kg • m2/sec] 0.0321 0.0287 Lead Screw rg [mm/rad] 1.5915 1.5915 Noise and Quantization DAC Resolution 5M [V] 3.0518X10"4 3.0518X10 - 4 Encoder Resolution 8x [u.m] 2.441 2.441 Tach. Noise Var. Rm [rad2/sec2] 50xl0" 3 50xl0~ 3 Friction Static Friction C ~ [Nm] 3.647 , -2 .702 3.652 , -3 .218 Coulomb Friction 7^7 [Nm] 2.205 , -1 .656 3.058 , - 2 . 7 3 9 Velocity Constant 1 Q.\'~ [rad/sec] 2.0 , - 2 . 0 4.1 , - 3 . 6 Velocity Constant 2 Q.2~ [rad/sec] 2.0 , - 2 . 0 5.4 , - 4 . 2 Closed Loop Observer (Kalman Filter) Poles Natural Frequency fo2 [Hz] 61.88 , 77.12 60.61 , 74.46 Damping Ratio tf [1 1 , 0.59 1 , 0.58 Pole Placement Controller Closed Loop Poles Natural Frequency fc1-2 [Hz] 30 30 Damping Ratio tf [] 0.7 0.7 Discrete Time Sampling Period Ts [sec] 0.001 Chapter 5. Modeling and Identification of Feed Drive Dynamics 81 5.4. High Order Dynamics of the Bali Screw Drive Mechanism Following the identification of rigid body dynamics and guideway friction, the high order dynamics of the x axis drive, comprising of the torsional vibrations of the lead screw, and transla-tional vibrations of the table, were also measured. In order to decouple the nonlinear effect of stick-slip friction from the linear axis dynamics, identification tests were carried out by accelerat-ing the axis smoothly to a certain velocity, and applying a sinusoidal excitation at the frequency of interest, while the axis was in motion. The experimental procedure is illustrated in Fig. 5.11. A smooth excitation signal is applied to the amplifier input, resulting in motor current and torque to be generated. The motor torque actuates the drive mechanism, from which the angular motion at the free end of the lead screw, and the linear motion of the table are measured using high resolution encoders, capable of sensing 4.94 [arc-sec] and 10 [nm] of displacements respectively. The excitation signal, shown in detail in Fig. 5.12, consists of a smooth ramp portion, used to accelerate the axis to the identification velocity of approximately 40 [mm/sec], while causing minimal transient vibration. The desired offset of 2 [V] (corresponding to 6.19 [Nm] of actuation torque, which is higher than the identi-fied static friction torque of 3.65 [Nm]) is reached in a duration of TA - 0.2 [sec]. The peak to peak excitation amplitude for the sinusoidal waveform is A = 3 [V] (9.29 [Nm]). The number of cycles N has been chosen ranging from 6 to 10, ensuring that steady state vibration is obtained in the measurement, while preventing the axis from travelling beyond its range. The excitation Machine Table «- x .Linear Excitation Motor Motor Signal A m p l i f i e r Current u ] Encoder EL) Linear Position Angular Position Preloaded Nut | -15 [cm] | +15 [cm] | Angular Encoder Figure 5.11: Experimental Procedure Used in Identifying the High Order Dynamics of the Lead Screw Drive Mechanism. Chapter 5. Modeling and Identification of Feed Drive Dynamics 82 N Cycles 1 [sec] TA T Figure 5.12 : Input Signal Used in Identifying Structural Dynamics. period T is determined by the frequency being tested, which has ranged from 10 to 2000 [Hz] in the experiments conducted. The lead screw end and table motion were recorded simultaneously from rotary and linear encoders, with the applied testing waveform. Acceleration profiles were obtained by numerically differentiating the position measurements twice, which still possessed acceptable signal to noise ratios due to the high resolution of the encoders used. Considering only the sinusoidal part of the excitation, the amplitude and phase shift of the drive transfer function at each frequency was determined by least squares fitting sine wave functions on top of the excitation and estimated acceleration profiles, and computing the amplitude ratio and phase difference between the input and output signals. In order to compensate for any offset or polarity dependence in the amplifier, tests were con-ducted with positive and negative offsets, resulting in measurements to be acquired for both direc-tions of the table motion. The resulting complex transfer function gains were averaged for each frequency. Tests were conducted with the table at its center (home) position, and also at offsets of -15 [cm] and +15 [cm] from the center, allowing any position dependence in the system to be observed. The experimentally identified frequency response functions are shown in Fig. 5.13 and 5.14 (zoomed view). Considering Fig. 5.13(a), it is seen that the torsional dynamics of the lead screw does not change with the position of the table. Three resonant frequencies are observed at 195, 1220, and 1980 [Hz]. Considering the zoomed view in Fig. 5.14(a), it is seen that the phase shift at Chapter 5. Modeling and Identification of Feed Drive Dynamics 83 _ 4000 •S|- 3000 (a) Lead Screw Free End Acceleration FRF (b) Table Acceleration FRF •I : JrX A,7/ '/"\V 1 S'-IOOO -1500 -2000 o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o C N J - t f C O C O O C M - ^ - C O C O O C M C M ' t f C D O O O O J ^ C D O O O C N J 1- 1- 1- 1- r- CM CN T - r- T - T- i - CM W Frequency [Hz] Frequency [Hz] — Table at home position — Table -15 [cm] from home positon — Table +15 [cm] from home positon Figure 5.13 : Experimentally Identified Transfer Functions of Lead Screw Drive Mechanism. the first resonance frequency is approximately -90 [deg], and converges to -180 [deg], at around 500 [Hz] after the resonance, as expected from a second order frequency response. However, its value at the second resonance (1220 [Hz]) is around -400 [deg], indicating the presence of addi-tional dynamics which cannot immediately be observed from the resonances in the magnitude plot. The transmission of motion from the lead screw to the table is dependent on the position of the table along the lead screw, as seen in Fig. 5.13(b). The resonance observed at 950 [Hz] when the table is in the home position shifts to 850 [Hz] when the table is moved back to -15 [cm], and to 920 [Hz] when the table is at +15 [cm]. This nonlinear behavior is believed to originate from the variation in how the lead screw torsional vibrations are transmitted to the table, through the preloaded nut mechanism, as the location of the table is varied along the torsional mode shapes of the lead screw. Also in the low frequency region, as seen in Fig. 5.14(b), three resonances are observed at 95, 125, and 175 [Hz], with a phase shift reaching -300 [deg] after 200 [Hz], which is significantly larger than the phase shift observed for the torsional vibrations (-115 [deg]) at the Chapter 5. Modeling and Identification of Feed Drive Dynamics 84 (a) Lead Screw Free End Acc. FRF (Zoomed View) (b) Table Acceleration FRF (Zoomed View) 4 0 0 0 -4001 i i . • . i • i • I I • . . . . , , , u _ _ J o o o o o o o o o o o o o o o o o o o o o o L O O L O o m o L o o m o m o i o o L o o w o i o o • > - i - t M C M c o c o ' > * r t m i - i - c \ j c \ i c o c O ' < t ' < t m Frequency [Hz] Frequency [Hz] — Table at home position — Table -15 [cm] from home positon — Table +15 [cm] from home positon Figure 5.14 : Experimentally Identified Transfer Functions of Lead Screw Drive Mechanism (Low Frequency Range). lead screw end for the same frequency. This is attributed to the additional dynamics of the motion transmission at the preloaded nut interface. Due to its consistent dynamic behavior, which does not change with the table position, and significantly lower phase lag at the first resonance, which allows higher closed loop control band-width to be achieved, the transfer function between the amplifier input and the lead screw end angular acceleration is chosen to be used, in modeling the high frequency dynamics for simulation and controller design purposes. The torsional dynamics of the lead screw has been approximated with 2 n d and 8 t h order transfer functions, using frequency domain parameter identification to match the amplitude and phase shift of the experimentally measured response. The approximated transfer functions are shown in Fig. 5.15. The second order model (Fig. 5.15(a)) is used in feed-back controller design, and the eighth order model (Fig. 5.15(b)) is used in stability analysis and time domain simulations, in Chapter 6. The second order approximation was obtained considering measurements up to 500 [Hz], and has the following form: Chapter 5. Modeling and Identification of Feed Drive Dynamics 85 _ 3 0 0 0 o > ^ 2 5 0 0 2 0 0 0 1 $ 1 5 0 0 S ' l 1 0 0 0 2 £ 5 0 0 0 0 - 5 0 0 CD „ co o - 1 0 0 0 - 1 5 0 0 - 2 0 0 0 (a) 2 n d Order Approx. of Lead Screw End FRF (b) 8 t h Order Approx. of Lead Screw End FRF Curve-Fit . Measured ^'t% O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O C M t < 0 C O O C N ' 4 - < O C O O C \ l O J ^ C O C O O C M ^ C O O O O C M T - l - T - T - T - I M C M T- T~ T- T- CM CVI Frequency [Hz] Frequency [Hz] Figure 5.15 : Second and Eighth Order Approximations of Lead Screw End Transfer Function. G"2(s) = -3.318 x 105 • s2 + 3.841 x 107 • s + 6.914 x 1011 s2 + 471.85+ 1.316 x 106 = K"2 (5.45) The poles (pk), zeros (zk) and gain K% of the identified transfer function are summarized in Table 5.2. In order to avoid attenuation of the amplitude with increasing frequency, the numerator was chosen to have the same order with the denominator. There is an unstable zero (z2 = 1502 [rad/sec]) at 240 [Hz], which roughly indicates an upper bound for the achievable control bandwidth. Although the trailing gain K2 has a negative value, the resulting steady state and low frequency gain below the resonance is positive. The eighth order approximation was obtained considering measurements up to 2000 [Hz]. Its expression is given as: Table 5.2 : Poles, Zeros, and Gain of 2nd Order Approximation of Lead Screw Dynamics. Order k Pole pk [rad/sec] Frequency co [rad/sec] Damping Ratio C, 1 - 235.88+.j 1122.86 1147.37 0.2056 2 -235.88-U 122.86 1147.37 0.2056 Order k Zero zk [rad/sec] Frequency co [rad/sec] Damping Ratio C, 1 -1386.69 1386.69 1.0000 2 1502.44 1502.44 -1.0000 Transfer function Gain K2a [(mm/sec2)/V] -331.84 Chapter 5. Modeling and Identification of Feed Drive Dynamics 86 Table 5.3 : Poles, Zeros, and Gain of 8 Order Approximation of Lead Screw Dynamics. Order k Pole pk [rad/sec] Frequency co [rad/sec] Damping Ratio L\ 1 - 256.84+J1099.80 1129.39 0.2274 2 - 256.84 - J1099.80 1129.39 0.2274 3 - 337.90+.J7642.67 7650.14 0.0442 4 - 337.90 - J7642.67 7650.14 0.0442 5 -629.55 + j 10633.57 10652.19 0.0591 6 - 629.55 - J10633.57 10652.19 0.0591 7 -516.41 +J12261.27 12272.14 0.0421 8 -516.41 - j 12261.27 12272.14 0.0421 Order k Zero zk [rad/sec] Frequency co [rad/sec] Damping Ratio C, 1 - 1008.56 1008.56 1.0000 2 2324.06 2324.06 - 1.0000 3 2446.55 +J6787.42 7214.89 -0.3391 4 2446.55-J6787.42 7214.89 -0.3391 5 - 171.36+J10384.25 10385.67 0.0165 6 - 171.36-jl0384.25 10385.67 0.0165 7 2094.31 +J11421.84 11612.26 -0.1804 8 2094.31 - j l 1421.84 11612.26 -0.1804 Transfer Function Gain K8a [(mm/sec2)/V] -406.84 G$(s) = K§ • (5.46) The pole (pk) and zero (zk) locations, and the transfer function gain Kg are given in Table 5.3. All poles are stable, the slowest unstable zero (z2 - 2324.06) has a natural frequency of 370 [Hz]. In spite of the negative gain (Kg = -406.84 [(mm/sec2)/V]), the transfer function itself has a positive gain in the low frequency region up to the first resonance. 5.5. Combination of Identified Dynamics In this section, the identified high frequency dynamics of the lead screw are combined with the rigid body model and nonlinear friction characteristics. Considering the curve-fit frequency Chapter 5. Modeling and Identification of Feed Drive Dynamics 87 response graphs in Fig. 5.15, it is seen that the 2 n d and 8 t h . order acceleration transfer functions have steady state values of (Eq.s (5.45) and (5.46), Tables 5.2 and 5.3): GfO'»)| = 525.17 [(mm/sec2)/V] , GS(j(o)\ = 565.95 [(mm/sec2)/V] (5.47) Ico = 0 Ico = O which are close to the acceleration the x axis would exhibit (Table 5.1), 1 K K r I = a \ '* P = 643 .9o [(mm/sec2)/V] (5.48) m i i f it had no friction. In the above expression, m = Jx/(KaxKtxrg) = 1.5530 x 1 0 - 3 [V/(mm/ sec )] represents the normalized mass of the x axis in terms required control input per unit accel-eration. Considering that the frequency response tests were conducted starting at 10 [Hz], the steady gains of the identified modal transfer functions cannot be accurate, and need to be cor-rected to match the theoretical d.c. gain of l/m: 1 Gf(s) 1 GS(s) [G%(s)Y = - • , [GS(s)]' = - • (5.49) 2K n m Gf (0) 8 m Gg(0) resulting in the axis transfer function gains and K§ are updated to: [K%]' = 406.86 [(mm/sec2)/V] , [K§]' = 462.87 [(mm/sec2)/V] (5.50) In Section 5.3, the viscous friction was identified as Bx = 0.0321 [kgm2/sec]. When com-bined with the axis inertia of Jx = 7.65 x 10~3 [kgm 2 ] , this results in a mechanical time constant of xm = Jx/Bx = 0.238 [sec], corresponding to a cross-over frequency of 0.67 [Hz], which could not be observed in frequency response tests conducted starting at 10 [Hz]. Hence, the effect of viscous friction also needs to be included into the dynamic model. This wi l l be realized using the scheme illustrated in Fig. 5.16, where the effect of linear viscous friction and nonlinear Cou-lomb and static friction are injected back as disturbance, at the control input stage. Although this does not exactly represent to how the guideway friction physically interacts with the lead screw drive and table mechanism, it yields a close enough approximation to capture the combined effect of linear and nonlinear friction, and leadscrew vibrations. Since the friction associated dynamics Chapter 5. Modeling and Identification of Feed Drive Dynamics 88 Static and Coulomb Friction Viscous Friction Linear Dynamics axis postion Figure 5.16 : Integration of Rigid Body Dynamics, Guideway Friction Characteristics, and Lead Screw Vibrations into a Single Model for Controller Design and Simulation. occurs mainly in the low frequency range (<1 [Hz]) in comparison with the structural dynamics (>100 [Hz]), such an approximation does not actually lead to significant inaccuracy in predicting the overall dynamic behavior of the drive system. Considering Fig. 5.16, the axis position x can be expressed as a function of the control input u and the equivalent disturbance cl as: ^ = GulSa, ,-[<s)-d(s)] = G(s)-[u(S)-d(s)] s s + bGa(s) (5.51) where b = B/(KaKtrg) = 0.0065 [V/(mm/sec)] is the normalized viscous friction and Ga(s) is acceleration transfer function, to be substituted from [G%(s)]'or [G|'(s)]', depending on the model being used. G(s) is the open loop position transfer function. If the 2 n d order model is used in approximating the torsional dynamics of the lead screw, the position transfer function becomes: G2(s) = - 406.9 • s2 + 4.71 x 104 • s + 8.477 x 108 s4 + 469.1 • s3 + 1.317 x 106 • s2 + 5.524 x I06s ^ 2 • (5-52) Ill-^-Pk) Chapter 5. Modeling and Identification of Feed Drive Dynamics 89 Table 5.4 : Poles, Zeros, and Gain of Position Transfer Function, Considering 2 n d Order Torsional Dynamics of the Lead Screw. Order k Pole pk [rad/sec] Frequency co [rad/sec] Damping Ratio L, 1 0.00 0.00 - 1.0000 2 - 4 . 2 0 4.20 1.0000 3 - 2 3 2 . 4 6 +jl 122.84 1146.65 0.2027 4 - 232.46 - j l 122.84 1146.65 0.2027 Order k Zero zk [rad/sec] Frequency co [rad/sec] Damping Ratio C, 1 - 1386.69 1386.69 1.0000 2 1502.44 1502.44 - 1.0000 Transfer "unction Gain K2 [mm/V] -406.86 where the poles (pk), zeros (zk), and gain K2 are summarized in Table 5.4. A balanced state space realization of G2(s) can also be obtained as [18]: G2(s) = A2 C2 D2 , where: A2 = -469.117 -1285.903 -42.144 0 16 1024 0 0 0 , B2 = 0 0 128 0 0 0 0 0 16 0 0 (5.53) C2 = [o -0.024833 0.022457 25.26239l] - D2 = [o] If the 8 t h order model is used in approximating the torsional dynamics of the lead screw, the position transfer function becomes: G 8(.) = Ks • r!0 (5.54) The poles (pk), zeros (zk), and gain /C8 have been summarized in Table 5.5. The frequency response characteristics of G2(s) and Gs(s) are shown in Fig. 5.17. The slope of the magnitude curve is -1 in the low frequency range, due to the presence of a single integrator in both G2(s) Chapter 5. Modeling and Identification of Feed Drive Dynamics 90 Table 5.5 : Poles, Zeros, and Gain of Position Transfer Function, Considering 8th Order Torsional Dynamics of the Lead Screw. Order k Pole pk [rad/sec] Frequency co [rad/sec] Damping Ratio C, 1 0.00 0.00 - 1.0000 2 -4.20 4.20 1.0000 3 -253.31 +J1100.42 1129.20 0.2243 4 -253.31 - j 1100.42 1129.20 0.2243 5 - 337.39 +.J7643.54 7650.99 0.0441 6 - 337.39-J7643.54 7650.99 0.0441 7 - 629.27+J10633.88 10652.48 0.0591 8 - 629.27 - j 10633.88 10652.48 0.0591 9 - 517.12 +J12262.00 12272.90 0.0421 10 -517.12-jl2262.00 12272.90 0.0421 Order k Zero zk [rad/sec] Frequency co [rad/sec] Damping Ratio C, 1 - 1008.56 1008.56 1.0000 2 • 2324.06 2324.06 - 1.0000 3 2446.55+J6787.42 7214.89 -0.3391 4 2446.55 - J6787.42 7214.89 -0.3391 5 - 171.36+.J10384.25 10385.67 0.0165 6 - 171.36-.il0384.25 10385.67 0.0165 7 2094.31 + il 1421.84 11612.26 -0.1804 8 2094.31 - jl 1421.84 11612.26 -0.1804 Transfer "unction Gain K8 [mm/V] - 462.8.7 and G8(s). The slope rolls over to -2, at 0.67 [Hz], which corresponds to the pole arising from the interaction of the rigid body mass with the viscous friction. The first torsional mode is captured in both G 2 and G 8 , at the natural frequencies of 182 and 180 [Hz] respectively. Additional modes are captured with G 8 at 1218 and 1953 [Hz] The nonlinear friction model in Eq. (5.36) has been rescaled to represent the effect of Cou-lomb and static friction in terms of equivalent control input, as a function of axis velocity (v) as: d(v) = dLte-v/v>+d;oul(l-e-<) , v>0 d^e-v/V^d-ouX(l-e-v/V2) , v<0 -v/VJ (5.55) Chapter 5. Modeling and Identification of Feed Drive Dynamics Open Loop Position Transfer Function of Combined Axis Dynamics 91 102 ;> 10° -E E l O " 2 • Z2 C O) l O " 4 • CO -l O " 6 • 0 -200 © -400 CD « -600 CO s z °~ -800 -1000 b 10-1 G2(s): 2"d Order Approximation of Lead Screw End Acceleration FRF —i i i—i i i i i 10° 103 104 101 102 Frequency [Hz] Figure 5.17 : Open Loop Position Transfer Function Including: Rigid Body Mass, Viscous Friction, and Torsional Lead Screw Vibrations. where d s & c o u l = T^M/(KaxKtx) and Vxf2 = rg • Qfa , computed using Table 5.1 are: 4+, = 1.178 [V], cis"tat = -0.873 [V], d+u l = 0.712 [V], d-Qu] = -0.535 [V], and V+ = V{ = V2+ = V2= 3.18 [mm/sec]. 5.6. Conclusions In this chapter, a detailed model of the lead screw drive mechanism has been developed. Each dynamic feature, such as rigid body dynamics, guideway friction, and torsional dynamics, has been identified separately. The results have then been combined into a single model to be used in high bandwidth feedback controller design, stability analysis, and performance simulation. Chapter 5. Modeling and Identification of Feed Drive Dynamics 92 The rigid body dynamics have been modeled and identified using a modified parameter esti-mation scheme, which incorporates the nonlinear effect of guideway Coulomb friction. This, in return, results in accurate parameter estimates which exhibit little dependence on the excitation amplitude, as experimentally confirmed. A Kalman filter has been developed for observing the friction in the guideway system. By jogging the axes back and forth at various speeds, the velocity dependent friction characteristics were identified, and approximated with a simple analytical model. The developed model was val-idated in high speed contouring tests, where it was successfully used to compensate the actual friction and improve the tracking accuracy, without using any integral action in the control law. The structural vibrations of the ball screw drive were experimentally measured, by applying sinusoidal excitation at each frequency after smoothly accelerating the axis into motion. This allowed the linear dynamics of the ball screw to be observed clearly, without the interfering effect of static friction. The torsional dynamics of the lead screw were identified and modeled, using 2 n d and 8 order approximations of the lead screw end acceleration transfer function. A l l of the iden-tified components, consisting of mass, linear and nonlinear friction, and torsional dynamics were combined into a single model. Chapter 6 Precision Tracking Controller Design for High Speed Feed Drives 6.1. Overview In this chapter, robust tracking control laws are developed for delivering the desired feed motion accurately in high speed drives. Using the dynamic model identified in Chapter 5, two adaptive sliding mode controllers have been designed, one which considers only the rigid body motion, and the second which also considers the torsional vibrations of the ball screw drive. Adaptive sliding mode control has been used to achieve robust and high tracking performance due to its inherent feedforward and integral control action. Notch filtering of the first resonant mode is also investigated as a practical alternative to active vibration control. The proposed control tech-niques are validated in simulations and high speed tracking and contouring experiments con-ducted on a three axis machining center. In Section 6.2, the basic formulation of Adaptive Sliding Mode Control is presented. This is followed by tracking controller design which considers only rigid body dynamics, in Section 6.3. In Section 6.4, the sliding mode controller is extended to consider the flexibility of the lead screw drive, by incorporating the dynamics of the first torsional mode into the plant model, resulting in a mode compensating control strategy. As an alternative to active mode compensation, in Section 6.5, the use of a notch filter in conjunction with the rigid body based design is also investigated for synthesizing a simple and robust high bandwidth servo controller. In Section 6.6, the identified friction model is incorporated into the control law, to precompensate for sudden changes in the actual guideway friction during zero velocity crossings, in order to improve the tracking and con-touring performance at circular arcs and sharp corners. Simulation and experimental results, that 93 Chapter 6. Precision Tracking Controller Design for High Speed Feed Drives 94 compare the stability and tracking performance of the achieved designs are presented in Section 6.7. The contributions of the chapter are summarized in Section 6.8. 6.2. Adaptive Sliding Mode Controller (SMC) Design The original concept of sliding mode control was pioneered by Utkin [71], which led to a dis-continuous control law requiring switching around the sliding surface. The detrimental effect of switching was alleviated in the continuous and adaptive version introduced by Slotine and Li [65]. A stability proof for parameter adaptation within given bounds was provided by Zhu et al. [82]. The basic formulation of adaptive sliding mode control is presented below. For the state space plant model given as, x = Ax + Bu+d (6.1) where x e 9t" is the state vector, u e W is the control input, A is the state transition matrix, B is the input matrix, and d is the disturbance vector, a sliding surface a e 5Rm is chosen in the form, a = S(xref-x) (6.2) where xrej- is the reference state, and 5 is chosen such that x —> xrej- when a = 0 (stable surface design), and also SB is a positive definite symmetric matrix. Combining Eq. (6.1) and (6.2), the time derivative of a is expressed as, a = S(xref-Ax-d)-SBu (6.3) It is assumed that (SB)~lS(xref-Ax -d) can be expressed as a linear combination of a set of r parameters P = [Pi---pr]T and corresponding regressors Y(xrej,x) = [y1...yr] in the form, (SB)-lS(xref-Ax-d) = Y(xref,x)-P (6.4) Chapter 6. Precision Tracking Controller Design for High Speed Feed Drives 95 Furthermore, it is also assumed that each parameter which represents the drive dynamics, lies within preknown lower and upper bounds, i.e. ph e [p'k, pt]. In this case, the following parameter adaptation scheme is used, P = T-1KYTG (6.5) where T _ 1 = diag(p1; pr) and # = diag(Kl5 Kr). For the parameter/^ , pk^0 is the parameter adaptation gain and is the adaptation bound factor defined as, 0 i f Pk^Pk and(?k^° 0 i f Pk^Pk+ and(?k^° 1 , otherwise (6.6) where tp = [q>y...<pr]T - YTa• Following this definition it can be verified that, r (P-P)T-(Y^-TP) = ^[(pk-pk)<f>k(l-Kk)]<0 (6.7) k = 1 For stable control law design a Lyapunov function is postulated in the form, V= ^[GT(SB)-1G + (P-P)TF(P-P)] (6.8) Assuming that the true parameters are constant (P = 0), taking the time derivative of V and substituting the expression for a from Eq. (6.3) results in, V= ^[GT(SB)-LG + oT(SB)-lo + (P-P)Tr(P-P) + (P-P)TT(P-P)] (6.9) = cT(SB)-lS(xref-Ax -d)- GTU - (P - P)TTP Also substituting 'SB)-lS(xref-Ax -d) with YP (Eq. (6.4)), V = GTYP-aTu-(P-P)TrP (6.10) Chapter 6. Precision Tracking Controller Design for High Speed Feed Drives 96 by adding and subtracting <jTYP, V becomes, V = (P-P)T.(YTa-rP)-GTu + cjTYP (6.11) Noting that (P - P)T • (YTG - TP) < 0 (Eq. (6.7)), for V to be negative definite, it is suffi-cient to equate - <jTu + aTYP to a negative definite quantity, such as -aTK~so where KS > 0 , -aTu + aTYP = -aTKscj (6.12) This results in the control law expression: u = Ksa + Y(xref,x)P (6.13) Unlike classical sliding mode control, there is no switching function in the control law expression, which makes this method more favorable for implementation on actual physical sys-tems. The design choices include the sliding surface definition a = S(xref-x), parameter bounds [P', P + ] , adaptation gains T _ 1 , and the 'feedback gain' KS. Although the negative defi-niteness of V indicates the asymptotic convergence of the states onto the sliding surface, there is no guarantee for parameter convergence, unless persistence of excitation is realized in the control signal [59]. 6.3. Adaptive S M C Design for Rigid Body Dynamics Considering the rigid body axis dynamics identified in Chapter 5, the open loop axis position response (x(s) [mm]) can be expressed as a function of the control signal (u(s) [V]) and the con-trol equivalent disturbance input (d(s) [V]), which reflects the effect of guideway friction and cutting forces as, x(s) = G(s)-[u(s)-d(s)] = —±—.[u<s)-d's)] (6.14) s(ms + b) where m = J/(KaKtrg) [V/(mm/sec2] and b - B/(KaKtrg) [V/(mm/sec)] are the normal-ized inertia and viscous friction in the drive. The above model can be expressed in state space as: Chapter 6. Precision Tracking Controller Design for High Speed Feed Drives 97 ~x(t) "0 1 ~x(f) ' 0 " •«(0-" 0 " — + 0 -him x(t\ 1/m Mm d(t) (6.15) x A x B B Since the model is second order, and there is only one control input (u(t)), the sliding surface is chosen to be first order (Section 6.2): °" = (Xref ~X) + Kxref ~ X) = [X A' Xref X V xref X J = S-(xref-x)=0 (6.16) where X>0. A regressor-parameter expression as (SB)~lS(xrej—Ax + Bd) = Y(xrepx)P, similar to the one in Eq. (6.4) is obtained as: MJ. s ^ 0 " 2 J s r xref xref \ xref 0 1 0 -him 0 1/m •d (6.17) - [xref + h(xref ~ X) 1 • Y(xref,x) where the parameter vector P = [p\,p2,Pi]T = [m, b, d]T contains the equivalent mass (m), viscous damping (b), and disturbance (d). Y(xrepx) = [yx,y2,y^\ = [xref+ X(xref-x), x, 1] is the corresponding regressor vector. In precision motion control sys-tems, the reference trajectory is usually very smooth (at least C 2 continuous), and lacks the neces-sary amount of excitation to allow accurate identification of multiple parameters simultaneously. Hence, only the disturbance term d will be adapted online. Doing so not only helps counteract the guideway friction and cutting force disturbances as they vary, but also provides robustness against axis dynamics variations within the control bandwidth, which are perceived as equivalent distur-bances arising from the discrepancy between the assumed and true plant models. Assuming the Chapter 6. Precision Tracking Controller Design for High Speed Feed Drives 98 actual disturbance to be within the bounds d e [dd +], the adaptation for the axis disturbance d is realized in accordance with Eq. (6.5) as,' d = pKy3o" = pica , where K 0 , if d<d' and a < 0 0 ,. if d> d+ and a > 0 1 , otherwise (6.18) (6-19) In the above expression, p is the disturbance adaptation gain, and K guarantees that the esti-mate for the disturbance is within assumed bounds. Hence, the sliding mode control law is obtained from Eq. (6.13) as: usmc = ^ C T + Y(Xref> X)P = Ksa + m i X r e f + Kxref-X)} + bx + d where: a = fxref-x) + X(xref-x) , d = p ^Kadx Since no adaptation is done for m and b, their nominal values have been substituted in place of their estimates in the parameter estimate vector P, In digital implementation, the reference velocity xreA\k) and acceleration xrej{k) are obtained by numerically differentiating the reference position commands xrej(k). The axis velocity measurement x(k) is obtained by either using the available tachometer signals when low resolution (2.44 [pm]) synchro-resolvers are used for position feedback, or by numerically differentiating the position measurements when high resolu-tion (10-20 [nm]) encoders are used. The numerical integration used in the disturbance adapta-tion, as well as all numerical differentiations are carried out using Euler technique: d(k) = d(k-\) + TspKo(k) . x(k) = hx(k)-x(k-l)} s Xrefik) = f~iXrej(k) ~Xref(k~ ^ ' = J tXref(k) ~ Xrej(k ~ 0 ] (6.20) Ts is the control loop sampling period. The discrete time implementation of the adaptive slid-ing mode controller designed for rigid body axis dynamics is shown in Fig. 6.1. Since only distur-bance adaptation is performed, the controller assumes a PID-like structure with velocity and Chapter 6. Precision Tracking Controller Design for High Speed Feed Drives 99 reference 7-1 1 . 1 Xref lXref_ position LI -*xref Z-l X,ref -Xref_ m measured position z-7 sliding mode control signal P K I z-7 <7 Figure 6.1 : Discrete Time Implementation of Adaptive Sliding Mode Control Designed for Rigid Body Axis Dynamics. acceleration reference terms providing feedforward control action for improved tracking perfor-mance. 6.4. Adaptive S M C Design for Active Mode Compensation In this section, the flexibility of the lead screw is incorporated into adaptive sliding mode controller design. A balanced state space realization of the feed drive dynamics, including the first torsional mode of the lead screw, was obtained in Chapter 5, Eq. (5.53) as, x(s) - G2(s) • [u(s) - d(s)] , where GJs) = *2 B2 C2 D2 A2 = -469.117 -1285.903 -42.144 0 1024 0 0 0 0 128 0 0 0 0 16 0 B2 = D2 = 16 0 0 0_ [o] (6.21) Ci = [o -0.024833 0.022457 25.26239l] defining the state vector: z = [zx z2 z3 zA]T, the axis dynamics is expressed as: z = A2z + B2u -B2d , x = C2z (6.22) Chapter 6. Precision Tracking Controller Design for High Speed Feed Drives 100 where x is the axis position, u is the control signal, and d is the disturbance input. Since the balanced states z - [zx z2 z3 z4]T do not directly correspond to the kinematic profiles of posi-tion (x), velocity ( i ) , acceleration (x), and jerk (jc), a transformation needs to be defined relating the state variables to these profiles. This wil l be done considering that the actuation input (u) is mainly consumed on the rigid body dynamics of the axis: u = m'x + bx (6.23) Neglecting the effect of disturbance (d) in the model in Eq. (6.21) yields, z = A2z + B2u , x - C2z (6.24) The relationship between the state vector z, and axis position x is given as: x = C2z (6.25) Taking the first time derivative of Eq. (6.25), and substituting in the expressions for the state derivative (z) from Eq. (6.24), and control signal (u) from Eq. (6.23) yields, - C2B2m'x + (1 - C2B2b)x = C2A2z (6.26) Taking the time derivative of Eq. (6.26), and substituting the expressions of i and u from Eq.s (6.24) and (6.23) yields, -C2B2mx + (l-C2A2B2m-C2B2b)x-C2A2B2bx = C2A\z (6.27) Re-differentiating Eq. (6.27) with respect to time, and substituting the expressions of z and u from Eq.s (6.24) and (6.23) yields, -C2B2m^ + (l-C2A2B2m-C2B2b)x-(C2AlB2m + C2A2B2b)x+ ... (6.28) Neglecting the fourth time differential of position (d4x/dt4), Eq.s. (6.25)-(6.28) can be com-bined together as, Chapter 6. Precision Tracking Controller Design for High Speed Feed Drives 101 1 0 0 0 X ' c2 z\ 0 \-C2B2b - C2B2m 0 x C2A2 z7 0 - C2A2B2b \-C2(A2B2m + B2b) - C2B2m 'x C2A\ z 3 0 -C2A2B2b -C2(A2B2m + A2B2b) \-C2{A2B2m + B2b) X C2A\_ . Z 4 . ** X <t> z (6.29) From Eq. (6.29). the similarity transformation matrix relating the state vector z to x = [x x x, x]T is obtained as, x = d>-l<S>z'Z = T2-z X ^ z (6.30) Considering the numerical values of A 2 , B 2 , and C 2 given in Eq. (6.21), and identified mass and damping values of m = 1.5530 x 10~3 [V/(mm/sec2)] and b = 6.5167 x 10-3 [V/(mm/sec)] in Chapter 5, the numerical expression for the similarity transformation matrix is: T2 = 0 -0.024833 0.022457 25.262391 -25.428887 2.874525 404.198256 0 9155.166 51737.377 -4.695266 x 10-11 0 50742692 5.068102 x IO"7 1.690933 x 10~8 0 (6.31) which is nonsingular. Since the axis dynamics are fourth order, and there is only one control input, the sliding surface is chosen to be third order (Section 6.2), expressed in the Laplace domain as, a's) = [(s + X)-(s2 + 2(;anS + o)l)].(xreJ(s)-x(s)) = 0 (6.32) considering the reference and actual state vectors: xrej = [xref xref xref xref]T and x = [x x x x]T, the sliding surface is re-expressed as: a co. co„+2£A,co„ . A. + 2^ co„ co„ co. co. VL Xref X xref X xref X xref X J Sx-(xref-x) = 0 (6-33) Chapter 6. Precision Tracking Controller Design for High Speed Feed Drives 102 where X > 0, con > 0, and t, > 0. In the above definition 1 /co2 has been used as a normaliz-ing factor so that numerical values of the deviation from the third order sliding surface will have comparable magnitude to the deviation from the first order sliding surface defined for the rigid body based system in Eq. (6.16). This, in return, allows comparable feedback and disturbance adaptation gains (Ks and p) to be used with the two controllers. Using the similarity transforma-tion in Eq. (6.30), and considering that xrej = T2zrep the sliding surface is re-expressed as, v = Sj2<zref-z) = S-(zref-z) = 0 (6.34) The regressor-parameter expression, similar to the one in Eq. (6.4) is obtained in the form: (SB2)-]S-(zref-A2z + B2d)=[(SB2)-'S(zref-A2z) \ 1 •ef V Y{zref,z) = Y(zref,z)-P (6.35) Only the disturbance is adapted for, d = pKy2o = pica , where K 0 , if d < d' and a < 0 0 , if d> d+ and a > 0 [ 1 , otherwise (6.36) between the bounds d e [d',d+]. The first entry in the parameter vector (P(l) = 1) only serves to separate the disturbance d from the rest of the parameter-regressor expression. Hence, the control law is: (6.37) "smc = KsG + Y(xref,x)P = Ksa + (SB2yS-(zref-A2z) + d where: a = S-(zref-z) , d - pj^Kadx The reference state vector zrej is obtained by applying an inverse similarity transformation on the reference position, velocity, acceleration, and jerk commands: Chapter 6. Precision Tracking Controller Design for High Speed Feed Drives 103 Zref z\ref Xref z2ref - T - l . ~ 1 2 Xref z3ref Xref _Z4ref_ xref_ (6.38) Similar to the rigid body based design, differentiation of the reference states, and integration of the disturbance estimate is realized using Euler approximation. Backward differencing is used in computing d(k) and zrej(k). Forward differencing is used in obtaining xrej(k), xrej{k), and xreA\k), in order to allow the derivative profiles to contain knowledge of the 'future' commands: d{k) = d(k- l) + TspKa(k) xref(k) = f t * ™ / * + l ^ - X r e f ( k ^ ' Xrej(k) = I f L ~ * r e / ( * + 0 ~ • * « . / * ) ] s s Xref(k) = f ixref(k+ l)-Xref(k)l • ZreJ(k) = ~[zreJ(k) -ZreJ{k-1)] (6.39) Ts is the control loop sampling period. In mode compensating sliding mode controller imple-mentation, high resolution position feedback is assumed. Hence, the state vector Z = [zx z2 z3 z4]T, which is not directly measurable, is reconstructed using an observer. In order to obtain unbiased state estimates, the disturbance has also been incorporated as a state to be esti-mated. Assuming a similar disturbance model to the one used in Chapter 5, d(t) = 0 • d(t) + 1 • wd(t) (6.40) where wd is an uncorrected random signal, the augmented state space representation is obtained as: z 'A2 z + B2 •u + ^4x1 — d 0 0 1 •wd , x = [C2 0]- (6.41) Above, \ is the augmented state vector. The designed observer has the form: Chapter 6. Precision Tracking Controller Design for High Speed Feed Drives 104 4 = A£ + B^u + K 0 B S • O - C^) = (A^  - K0BSC^) -£,+ [B^\ KOBS Z = [ / 4 | 0 4 x l ] ^ + 0 4 x 2 -(6.42) where x is the measured axis position, u is the applied control signal, and z is the state esti-mate vector. KQBS is chosen to yield the desired closed loop observer poles [18,49]: eig(A^-K0BSC^) = S\,2 = - C l « o l ± / C 0 o l 7 l -Q -t2<ool±j<Qo2J\ -ci >3,4 S5 = -®o3 (6.43) It should be noted that co o l, coo 2, and coo3 are chosen at higher frequency than A, and con, which define the sliding surface. Discretizing the observer using forward difference approxima-tion (s « (z - \ )/Ts), yields the following causal observer dynamics: uk+i) = A0-m+B u(k) x(k\ , z{k) = c0 • m (6.44) where the observer matrices A 0 , B 0 , and C0 are obtained as, 4^ I ^4x1 (6.45) A0 = [I5 + TS(A^-K0BSCJ] , B0 = TS\B^\K0BS] The state estimate vector z = [zx z2 Z3 z4]T, obtained from Eq. (6.44) is substituted in place of z, in the control law in Eq. (6.37). Although the disturbance d is also included as an internal state in the fifth entry of c; in Eq. (6.41), this estimate is not used in feedback control directly, and the inclusion of £(5) = d is merely to take the bias off from the other state estimates, which would originate from the real friction in the system if it was not taken into account in the observer design. Although this could also be done utilizing the readily available estimate d from the slid-ing mode control law in Eq. (6.36), this was avoided in order to allow independent design and tun-ing of the state observer and the feedback control law. Chapter 6. Precision Tracking Controller Design for High Speed Feed Drives 105 xref reference position z-1 Tsz z-1 Z-1 cref X/ef xref\ xref xref *ref Zlref z2ref z3ref z4ref_ z-l <-ref zlref z2ref z3ref z4ref_ (SB2y's ho state observer measured position P K Z-1 (SB2y]SA2 sliding mode control signal Figure 6.2 : Discrete-Time Implementation of Adaptive Sliding Mode Control, Designed to Actively Dampen out the First Torsional Mode of the Lead Screw Drive. Considering Eq. (6.37)-(6.39), it is seen that the control law uses reference position, velocity, acceleration, and jerk profiles, and also numerically differentiates these profiles once. Hence, it is crucial to use a smooth, jerk continuous reference trajectory to achieve accurate tracking with the mode compensating SMC. The spline interpolation and feedrate modulation techniques devel-oped in Chapters 3 and 4, and the cubic acceleration profiling technique presented in Appendix C are particularly well suited for this purpose. The discrete time implementation of the mode compensating sliding mode controller is shown in Fig. 6.2. The controller bears a similar structure to the rigid body based design in Fig. 6.1. The Ksa (stability) and d (disturbance estimation) terms are identical to the rigid body based design. The first order sliding surface definition [XI] is replaced by the sliding surface matrix S, defined in Eq. (6.32)-(6.34). The forward differencing effect in estimating the reference velocity, acceleration, and jerk values (Eq. (6.39)) is realized by superficially placing delay terms in the reference position (xrey-: l/z3), velocity {xre^. l/z2), and acceleration (xre^. 1/z) profiles. The reference state zref is obtained using the similarity transformation T2[, and the state estimate Chapter 6. Precision Tracking Controller Design for High Speed Feed Drives 106 z{k) is obtained as a function of the position measurement x{k- 1) and control signal u{k- 1) at the previous control cycle, using the state observer. The derivative of the reference state zrej- is passed through the feedforward gain matrix (SB2)~lS , and the state estimate z is multiplied by the feedback matrix (SB2)~lSA2, to constitute the control signal usmc in Eq. (6.37), together with the Kso and d terms. 6.5. Notch Fi ltering of the Lowest Resonance Mode As an alternative to explicitly considering the first torsional mode in the controller design, a simpler technique consisting of applying a notch filter at the resonance frequency and using the rigid body based design is investigated for achieving robust high bandwidth servo control in a practical manner. The controller takes the structure shown in Fig. 6.3, where the rigid body based sliding mode controller had been detailed in Fig. 6.1. The notch filter N{z) has the following form: u(z) z2 + n,z + n2 N ^ = 7 ^ = KN--I—7 7 (6-46) UsmAZ) Z2 + d1Z + d2 where nx and n2 are chosen to start attenuating the control signal at 90% of the first struc-tural resonance frequency cor, with the experimentally determined damping ratio Cr. dx and d2 are designed to start recovering the gain at 110% of the resonance frequency, with a damping ratio of = LO. KN is an adjustment factor to yield a d.c. gain of unity. Considering the single mode model identified in Chapter 5 (Eq. (5.52), Table 5.4), the first resonance is at cor = 1150 [rad/sec] (=183 [Hz]), and its damping ratio is Cr = 0.2. Hence, nl and n2 are cho-sen to yield a pair of complex conjugate zeros at a frequency of 00^=0.90) ,.=1035 [rad/sec] (=165 [Hz]) with the same damping ratio as the resonance C,N = ^r = 0.2 : nx = -2e-^a"T- • cos(aNTsJl-C,2) , n2 = e~2^a^ (6.47) Chapter 6. Precision Tracking Controller Design for High Speed Feed Drives 107 Xref Rigid Body M-smc I U reference Based SMC control position Notch Filter %meas measured N(z) position Figure 6.3 : Rigid Body Dynamics-Based Sliding Mode Controller, Used in Conjunction with a Notch Filter for Robust High Bandwidth Servo Control. Ts is the control loop sampling period. d{ and d2 are chosen to have a natural frequency of co D = l. lco r=1265 [rad/sec] (=201 [Hz]) with a damping ratio of C,D = 1.0 : dx = -2e~^Ts. C O s ( c o D r J l - C&) , d2 = e-2^°>°T> (6.48) . and KN is determined as: z + n,z + n~. z2 + dxz + d2 K N 1 + rfj + d2 1 + n, + n2 (6.49) 6.6. Feedforward Friction Compensation Although the sliding mode controller has an inherent disturbance adaptation and cancellation mechanism, the estimation of the disturbance is not instantaneous. Considering the rigid body based design in Section 6.3, by combining the axis dynamics in Eq. (6.14) and the sliding mode control law in Eq. (6.19), it is possible to show that when the reference trajectory, and its deriva-tives are zero (i.e. xrej- = 0 , xrej- = 0 , 'xrej = 0) , the axis position wi l l be a function of the actual disturbance d(s) and its estimate d(s) as, X<<S>> = 2 , r 1 ^ ' ^  ~ dW (6-5°) ms1 + (Ks + mX)s + Ksk Substituting x(s) from the above equation into the disturbance adaptation law in Eq. (6.18), yields the following relationship between the true disturbance and its estimate: Chapter 6. Precision Tracking Controller Design for High Speed Feed Drives 108 Feedforward Friction Compensation Kref reference position Sliding Mode| Controller ufric ) u ' o ! , ! j V , f u f i control Xn measured J1 (Notch Filter) /Ax/s Dynamics Guideway Friction d lA -f a acc. vel. Flexible Drive X axis postion position Encoder Figure 6.4 : Combination of Adaptive Sliding Mode Control, Feedforward Friction Compensation, and Notch Filtering of the First Resonance Mode, for Precision Motion Control in High Speed Feed Drives. d(s) = p(s + X) d(s) (6.51) ms3 + (Ks + mX)s2 + (KSX + p)s + pX which governs the phase lag between any sudden change in the actual disturbance and its estimation in the sliding mode control law. This delay brings a crucial problem when zero velocity crossings occur in circular contouring or cornering applications. As the axis velocity changes direction, the guideway friction undergoes an almost discontinuous change, jumping from its static friction value in one direction of actua-tion to the other, with a change in sign as well (Chapter 5, Fig. 5.9). This sudden change cannot be immediately detected by the disturbance adaptation mechanism, which would still be compensat-ing for the estimated friction value right before the motion reversal. This results in a faulty com-pensation which adds up with the friction disturbance, instead of cancelling it out, during the motion reversal transient. In order to avoid this detrimental effect, the identified model of the axis friction is used in feedforward control, to anticipate and cancel out as much as possible of the actual guideway fric-tion, and leave the remainder to be handled by the disturbance adaptation mechanism in the slid-ing mode controller. The overall control scheme with the inclusion of feedforward friction Chapter 6. Precision Tracking Controller Design for High Speed Feed Drives 109 compensation is illustrated in Fig. 6.4. The friction compensation signal (wyn-c.) is computed using the model identified in Chapter 5 (Eq. (5.55)): Ufric(Xref) ~ "stat e + " c o u l ^ e ) ' x r e f > y ) 0 , xref=0 (6.52) The reference velocity is estimated by numerically differentiating the position commands (xrej(k) = [xrej{k) -xrej(k- l)]/Ts). The notch filter, if one is used, is placed after the feedfor-ward friction compensation, in order to avoid exciting the drive's first resonance with sudden changes in the friction cancellation signal. 6.7. Simulation and Experimental Results In this section, the developed control laws are evaluated for their stability, robustness, track-ing quality, and disturbance rejection characteristics in frequency domain analyses, and their high speed tracking and contouring performance in simulations and experiments. In Section 6.7.1, fre-quency domain comparison of the developed control laws are provided, along with single axis tracking simulations. Section 6.7.2 provides high speed contour machining results obtained with adaptive sliding mode control designed for rigid body axis dynamics. Section 6.7.3 provides experimental results that demonstrate the tracking accuracy improvement obtained by incorporat-ing the identified torsional dynamics of the lead screw into the feedback controller design, by means of appropriate tuning of the notch filter, and pushing the sliding surface bandwidth up to higher values without encountering instability due to the first resonance of the drive system. 6.7.1. Simulation Results The following controller designs are compared in frequency and time domain analyses: Chapter 6. Precision Tracking Controller Design for High Speed Feed Drives 110 Case (a): S M C designed for rigid body axis dynamics (A. =200 [rad/sec], ^ = 0 . 1 [V/(mm/ sec)], p=30 [V/ram]), Case (b): S M C designed for rigid body axis dynamics Ch =200 [rad/sec], ^ = 0 . 1 [V/(mm/ sec)], p=30 [V/mm]) + notch fdtering of the first resonance mode (co r=183 [Hz], < r^=0.2), Case (c): S M C designed for rigid body axis dynamics (^=600 [rad/sec], * y = 0 . 3 [V/(mm/ sec)], p=50 [V/mm]) + notch filtering of the first resonance mode (co r=183 [Hz], < r^=0.2), Case (d) : .SMC designed to actively compensate the first torsional mode of the lead screw =600 [rad/sec], £ = 0.9, *,=0.3 [V/(mm/sec)], p=50 [V/mm], observer poles: co o l =co o 2 =co o 3 = 1445 [rad/sec], C,U23 =0.90, 0.95, 1.0). A l l controllers were implemented in discrete time at a loop closure frequency of 20 [kHz] (7^=0.05 [msec]). In frequency domain analyses, both the experimentally recorded frequency response function, as well as the approximated eighth order dynamics (G%(s): Chapter 5 Eq. (5.54), Table 5.5), of the lead screw drive have been used. The eighth order dynamics was also used for simulating the tracking performance in time domain simulations. In computing the frequency domain characteristics, the four controllers listed above were expressed in generalized feedforward-feedback form in the z domain: u(z) = K^z) • xreJ(z) - Kfb{z) • x(z) (6.53) by combining the relevant controller and observer equations provided in Sections 6.3-6.5. The continuous time axis dynamics G(s) was combined with a zero order hold (Gzoh(s) = (1 - e~sTs)/s) in obtaining the frequency response characteristics of the discretized axis dynam-ics G{z) • The discrete time plant and controllers were combined together in the structure shown Chapter 6. Precision Tracking Controller Design for High Speed Feed Drives 111 xref(z) reference disturbance G(z) -0 position Feedforward Controller ) u ( z ) l-esT' u(s) G(s) control s Js signal Z e r o 0 r d e r Hold Axis Dynamics axis position o Feedback Controller measurement noise Figure 6.5 : Discrete-Time Feedforward-Feedback Control Structure Used in Evaluating the Frequency Domain Characteristics of the Designed Axis Tracking Controllers. in Fig. 6.5. Considering the given block diagram, the actual axis position (x) can be written as a function of the reference position (xrej-), disturbance input (d), and position measurement noise (x) as, G(z)Kff(z) x(z)- - xrpAz)-- G(z) G(z)/^ ,(z) •d(z) + -—^ ^ ^—— -x(z) (6.54) 1 + G(z)^(z) l + G(z)/^ (z) - l + G(z)KJb(z) Defining the loop transfer function L(z) - G(z)Kj-b(z), the sensitivity function S(z) = 1/(1 + L(z)), and the complementary sensitivity function T{z) = L(z)/(l + L(z)) [64], the actual axis position can be re-expressed as, x{z) = [S(z)G(z)Kff{z)} • xref(z) - [S(z)G(z)] • d(z) + [T(z)] • ~x(z) (6.55) Considering the above expression, the sensitivity function S(z) can be regarded as a fre-quency domain weight which alters the system's disturbance response, in relation to its open loop disturbance susceptibility (in open loop: x(z)/d(z) = G(z)). The sensitivity function is also a measure of the relative change in the closed loop' dynamics with respect to any relative change in the open loop axis dynamics. If K^z) = Kfb(z) is used, the closed loop transfer function will be T(z) = {GK^b)/{ \ + GKpf). In this case, dT/dG is obtained as: Chapter 6. Precision Tracking Controller Design for High Speed Feed Drives 112 dT K + GK -GK (G)K 1 1 dTIT 1 — = n = — ' => = = S(z) (6 56) dG (l + GK)2 UGK(G).l + GK dG/G l + GK K ; r ' s In practice, it is desirable to have low values of sensitivity in the low frequency range, where external disturbances within the control bandwidth are successfully detected and counteracted. The peak value of sensitivity Smax = ma\aS(eJloTs) is a measure of the worst case disturbance magnification in the closed loop system. The complementary sensitivity T(z), on the other hand, determines how much measurement noise is injected back into the closed loop axis response (x(z)/x(z) = T(z)). Beyond the control bandwidth, it is desirable to attenuate measurement noise as much as possible, calling for low values of T(z). It can be verified that S(z) + T(z) = 1, indicating the inherent trade off between disturbance rejection and measurement noise sensitivity in any controller design problem. The frequency response characteristics of discrete time transfer functions were obtained by substituting z = e^(aTs. The Nyquist diagrams for the loop transfer functions (L = GK^b) of the four designs are shown Fig. 6.6. Considering Fig. 6.6(a), it is seen that the lobe created by the first torsional resonance of the lead screw brings a critical bottleneck in the way of achieving high sta-bility margins when the SMC designed considering only rigid body motion is combined with the model including high order torsional dynamics. The resulting phase and gain margins are PM=65°, GM=1.45. Trying to increase the controller bandwidth further, by increasing the sliding surface bandwidth (A.) results in unstable designs, where the polar plot exceeds the critical - 1 +j0 point. In Fig. 6.6(b), the addition of the notch filter results in the mitigation of the lobe originating from the first resonance, leading to a much more robust design with a gain margin of GM=6.32, without compromising the control bandwidth (A. =200 [rad/sec]). The additional stabil-ity margin gained by the notch filter is utilized for pushing the control bandwidth up further to A. =600 [rad/sec], which results in the Nyquist diagram shown in Fig. 6.6(c). In this case, the gain margin is GM=2.44, which is still better than that of the rigid body based sliding mode controller Chapter 6. Precision Tracking Controller Design for High Speed Feed Drives 113 (a) Rigid Body Based SMC (A.=200 [rad/sec]) A im Gain Margin =1.45 Phase Margin = 65° Max. Sensitivity = 3.3 J2 -J2 (b) SMC (^=200 [rad/sec]) + Notch Filtering Aim Gain Margin = 6.32 Phase Margin = 49° Max. Sensitivity = 2.75 J2 -J2 (c) S M C (X=600 [rad/sec]) + Notch Filtering A im Gain Margin = 2.44 Phase Margin = 21' Max. Sensitivity = 1.3 J2 -J2 (d) Mode Compensating S M C (X=co„=600 [rad/sec]) A im Gain Margin = 1.71 Phase Margin = 27' Max. Sensitivity = 2.7 J2 -J2 Figure 6.6 : Nyquist Diagrams for Assessed Controller Designs. Solid: Controller FRF has been Combined with 8 t h Order Approximation of the Lead Screw Dynamics. Dashed: Controller FRF has been Combined with Experimentally Measured Lead Screw FRF. which also has a lower bandwidth (X =200 [rad/sec]). The Nyquist diagram for the mode compen-sating SMC is shown in Fig. 6.6(d), which has a gain margin of GM=1.71, and phase margin of PM=27°, obtained for the sliding surface definition A,=cow=600 [rad/sec]. The high bandwidth controllers (cases (c) and (d)) maintain reasonable stability margins in addition to their improved robustness, tracking, and disturbance attenuation characteristics, as will be demonstrated in the following. Chapter 6. Precision Tracking Controller Design for High Speed Feed Drives 114 (a) Rigid Body Based SMC (X=200 [rad/sec]) (b) SMC (X=200 [rad/sec]) + Notch Filtering o o o o T- C\J o o CO o o o o LO o o CD o o o o co o o o o o o Frequency [Hz] (c) SMC (X=600 [rad/sec]) + Notch Filtering Frequency [Hz] (d) Mode Compensating SMC (A.=co„=600 [rad/sec]) rA. j \ • o o o o T - CM o o CO o o o o LO o o co o o o o co o o cn o o o Frequency [Hz] Frequency [Hz] Figure 6.7 : Sensitivity (S) and Complementary Sensitivity (T) Functions for Assessed Controller Designs. Solid: Controller FRF has been Combined with 8th Order Approximation of the Lead Screw Dynamics. Dashed: Controller FRF has been Combined with Experimentally Measured Lead Screw FRF. The magnitudes of the sensitivity (S = 1/(1 + L) = 1/(1 + GK^b)) and complementary sensitivity (T = L/(l + L) = (GKjb)/(l + GKj-b)) functions for the four controller designs are shown in Fig. 6.7. The rigid body based design, shown in Fig. 6.7(a), has the highest sensitivity among the other designs, which takes a value of 5m =3.3 at the at 179 [Hz], around the first res-onance. The magnitude of the sensitivity function crosses -3 [dB] (i.e. 0.707) from below at 15.2 [Hz], which can be regarded as a measure of the closed loop bandwidth [64], The complementary Chapter 6. Precision Tracking Controller Design for High Speed Feed Drives 115 sensitivity function has a maximum value of Tmax=23A, also at 179 [Hz], and decays below unity at 202 Hz. With the addition of the notch filter, the sensitivity characteristic is significantly flat-tened (Fig. 6.7(b)), resulting in a peak value of Smax=\.30 at 70 [Hz]. The -3 [dB] crossing occurs at 14.7 [Hz], which is very close to the bandwidth of the rigid body based design. The comple-mentary sensitivity peak has also been reduced, to Tmax=\.76 at 17 [Hz], and the crossing below unity occurs much earlier on, at approximately 40 [Hz], indicating less high frequency measure-ment noise being injected into the control loop. A sensitivity increase is noted when the sliding surface bandwidth is pushed up to A, =600 [Hz], in conjunction with the notch filter (Fig. 6.7(c)). The maximum value of sensitivity in this case is Smax=2.15 at 83 [Hz], and the convergence to unity happens over a wider frequency range up to 500 [Hz], indicating reduced robustness and disturbance rejection in the 83 to 500 [Hz] range. The -3 [dB] occurs at 40 [Hz], indicating a nearly triple fold increase in the effective con-trol bandwidth, compared to the two former cases. The complementary sensitivity magnitude drops below unity at 127 [Hz], also indicating the injection of more measurement noise into the control system, compared to case (b). The mode compensating sliding mode controller has similar sensitivity and complementary sensitivity characteristics (Fig. 6.7(d)) to the rigid body based SMC designed for A. =600 [rad/sec] used together with the notch filter. In this case, the peak value of sensitivity is Smax=2.1Q at 109 [Hz]. The -3 [dB] crossing from below occurs at 38 [Hz], and the decay of the sensitivity to unity occurs at around 500 [Hz]. The peak value of complementary sensitivity is Tmax=2.26 at 55 [Hz], and the drop to unity occurs at around 141 [Hz], indicating a similar amount of noise contamination compared to case (c). The high bandwidth tracking controllers (cases (c) and (d)) posses less sensitivity to distur-bances and parameter variations up to approximately 40 [Hz], compared to the low bandwidth rigid body based design (case (a)). Their worst case sensitivity is also smaller. However, their sen-sitivity functions decay over a wider frequency ranger (up to 500 [Hz]) to unity, indicating a trade-off for achieving high robustness in the 0-40 [Hz] range. Their complementary sensitivity Chapter 6. Precision Tracking Controller Design for High Speed Feed Drives 116 (a) Rigid Body Based S M C (X=200 [rad/sec]) (b) S M C (X=200 [rad/sec]) + Notch Filtering o o o o o o o o o o o o o o o o - o o o o o o O O O O O O O O O O O O ' O O O O O O O O T - c M c o M - i o c o N o o c n o T - i M c o ^ f L o c o t ^ o o c n o Frequency [Hz] Frequency [Hz] (c) S M C (X=600 [rad/sec]) + Notch Filtering (d) Mode Compensating S M C (X.=co„=600 [rad/sec]) O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O T - c M c o ^ L o c D r - c o o j o T - c M c o ^ - L o i D r - o o c n o Frequency [Hz] Frequency [Hz] Figure 6.8 : Tracking Transfer Functions (x(s)/xref(s)) for Assessed Controller Designs. Solid: Controller FRF has been Combined with 8th Order Approximation of Lead Screw Dynamics. Dashed: Controller FRF has been Combined with Experimentally Measured Lead Screw FRF. characteristics have comparable peak values and measurement noise attenuation profiles to the rigid body based SMC with the lower bandwidth. In overall, it can be said that the high bandwidth controllers provide better robustness up to 40 [Hz], which is a frequency range most trajectory commands will lie in, without significantly contaminating the closed loop response with measure-ment noise. The tracking transfer functions (Gtrack = (GK^/( \ + GKjb)) between the reference (xrej) and the actual (x) axis positions are shown in Fig. 6.8. In order to obtain precise tracking with Chapter 6. Precision Tracking Controller Design for High Speed Feed Drives 117 minimal following error, the magnitude of the tracking transfer function should be close to unity, and its phase shift should be close to zero, at all frequencies. Considering Fig. 6.8(a), the tracking transfer function for the rigid body based sliding mode controller has a large resonance with a magnitude of 9.6 [mm/mm] at 180 [Hz], which coincides with the torsional resonance of the lead screw. The tracking transfer function crosses +3 [dB] at 97 [Hz] with a phase shift of -3 [deg], which is relatively small. Hence, as long as the position command generation is kept below 97 [Hz], a reasonable tracking accuracy may be obtained with this design. The addition of the notch fdter (Fig. 6.8(b)) significantly attenuates the peak value of the tracking transfer function magni-tude, dropping it to 1.08 [mm/mm] at 216 [Hz] with a phase shift of -83 [deg], which has increased due to the additional notch filter dynamics. As the sliding surface bandwidth is increased to A, =600 [rad/sec], the tracking transfer function is distorted to posses a peak value of 2.3 [mm/mm] at 73 [Hz], after it crosses +3 [dB] at 38 [Hz] with a phase shift of 4 [deg]. Hence, the bandwidth increase from cases (b) to (c) results in some deterioration in the command follow-ing properties in the overall frequency range. However case (c) has flatter magnitude and phase response compared to case (b), up to approximately 40 [Hz], resulting in more accurate tracking of smooth motion commands constrained below this frequency. The tracking transfer function for the mode compensating controller (Fig. 6.8(d)) is relatively flat up to 100 [Hz], with a minimum magnitude of 0.79 [mm/mm] reached at 70 [Hz] (8.5 [deg] of phase shift) and +3 [dB] being crossed at 125 [Hz] (24.5 [deg] of phase shift), indicating a usable frequency range up to 125 [Hz]. There is a severe increase in the amplitude afterwards, accounted to the high order terms incorporated into the controller design. In order to successfully use the mode compensating con-troller, the generated position commands need to be very smooth and have high order continuous profiles, which may be realized either through elaborate trajectory generation, or by low pass fil-tering the motion commands before applying them to the controller. In overall, a relatively flat frequency response is obtained by including the notch filter into the loop, at the expense of added phase shift. Pushing the sliding surface up higher, after adding Chapter 6. Precision Tracking Controller Design for High Speed Feed Drives 118 (a) Rigid Body Based S M C (X=200 [rad/sec]) (b) S M C (X=200 [rad/sec]) + Notch Filtering Ks=0.1 [V/(mm/sec)], p=30 [V/mm] Ks=0.1 [V/(mm/sec)], p=30 [V/mm] o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o i - C N C T ^ f i n c D h - C O C D O T - O J C O - ^ I O C O I - ^ O O C O O Frequency [Hz] Frequency [Hz] (c) S M C (X.=600 [rad/sec]) + Notch Filtering (d) Mode Compensating S M C (X=co„=600 [rad/sec]) K s=0.3 [V/(mm/sec)], p=50 [V/mm] K s=0.3 [V/(mm/sec)] , p=50 [V/mm] 0.02 I : ' ' ' ! '• ' ! 1 I ' • ' : : '• ' ' ' 1 o o o o o o o o o o o o o o o o o o o o o o O O O O O O O O O O O O O O O O O O O O i - C N C O ^ L O C D N O O C D O T - C M C O T ) - m C D N C O O O Frequency [Hz] Frequency [Hz] Figure 6.9 : Disturbance Transfer Functions (x(s)/d(s)) for Assessed Controller Designs. Solid: Controller FRF has been Combined with 8th Order Approximation of Lead Screw Dynamics. Dashed: Controller FRF has been Combined with Experimentally Measured Lead Screw FRF. the notch filter improves the tracking performance in the low frequency range. The mode com-pensating controller, in spite of providing a relatively flat response up to 100 [Hz], needs to be used with caution, due to its tendency to amplify high frequency position commands. The disturbance transfer functions ( G d i s t = G/(l + GKj-b)) which indicate the susceptibil-ity of the axis position (x) to the disturbance input (d), for the four controller designs are shown in Fig. 6.9. All disturbance transfer function have a d.c. value of zero, due to the integral action Chapter 6. Precision Tracking Controller Design for High Speed Feed Drives 119 originating from the disturbance adaptation in the sliding mode control law. The maximum values of the disturbance transfer functions for cases (a) and (b) are 0.055 [mm/V] at 15 [Hz] (Fig.s 6.9(a) and (b)). The second resonance that appears at 179 [Hz] with a magnitude of 0.006 [mm/V] in the rigid body design (Fig. 6.9(a)), is eliminated with the addition of the notch filter in Fig. 6.9(b). By pushing the sliding surface bandwidth up-to A, =600 [rad/sec], and increasing the distur-bance adaptation gain from p=30 to 50 [V/mm] and the feedback gain from A^=0.1 to 0.3 [V/ (mm/sec)], the peak value of the disturbance transfer function is reduced to 0.011 at 68 [Hz], which is a 5-fold improvement in the amplitude, and a 4.5-fold increase in the frequency (Fig. 6.9(c)). The disturbance transfer function of the mode compensating controller (Fig. 6.9(d)), also designed for A.=con=600 [rad/sec], p=50 [V/mm], and KS=Q3 [V/(mm/sec)] has a maximum value of 0.012 [mm/V] at 42 [Hz], which is very similar to case (c) in amplitude, but at a lower frequency. Hence, the increase in control bandwidth and application of stronger integral action, made possible by considering the modal characteristics of the lead screw drive, has resulted in a five-fold improvement in disturbance rejection characteristics, with the additional benefit of push-ing the worst case disturbance susceptibility up 2.8 to 4.5 times its former frequency obtained with the low bandwidth designs (cases (a) and (b)). In the following, the four controller designs are simulated for their single axis tracking per-formance. Initially, no feedforward friction compensation is applied with any control law, in order to demonstrate its own disturbance rejection characteristics against an elaborate friction model comprising of static and sliding friction regimes. Following this, simulations for the high band-width controllers (cases (c) and (d)) are repeated by including feedforward friction compensation to determine the ideally achievable tracking performance. In all simulations, the eighth order model of the lead screw dynamics was used, in conjunction with the friction model, both of which were identified in Chapter 5. The reference trajectory used, comprising of cubic acceleration tran-sients, is shown in Fig. 6.10. A displacement of 100 [mm] is commanded with a maximum veloc-ity of 250 [mm/sec], acceleration/deceleration values of 1200 [mm/sec ], and a jerk limit of Chapter 6. Precision Tracking Controller Design for High Speed Feed Drives 120 Reference Trajectory Used in Single Axis Tracking Simulations Time [sec] Figure 6.10 : Reference Trajectory Used in Single Axis Tracking Simulations. 50000 [mm/sec ]. The formulation for the cubic acceleration based reference trajectory is pro-vided in Appendix C. The simulated tracking performance of the sliding mode controller designed for rigid body axis dynamics (A. =200 [rad/sec], case (a)) is shown in Fig. 6.11. The maximum value of the track-ing error right after motion starts is around 20 [pm ], due to the discontinuous change in friction as the control signal (i.e. actuation torque) overcomes the static guideway friction. The friction is estimated and cancelled out by 0.15 [sec], and the steady state tracking error is less than 1 [pm], until the motion stops at 0.644 [sec] and direction reversal occurs at 0.654 [sec]. Here, the change in friction conditions cannot be instantaneously detected by the sliding mode controller. As the axis slows down, the friction value tends to increase towards its static value, which is captured by disturbance adaptation with a certain phase lag. When the motion direction changes, the actual friction also changes in sign and assumes a value close to the static friction magnitude for actua-Chapter 6. Precision Tracking Controller Design for High Speed Feed Drives 121 Simulated Tracking Performance of Sliding Mode Controller (X=200 [rad/sec]) . 0.0 0.2 0.4 0.6 0.8 1.0 1.2 Time [sec] Figure 6.11: Simulated Tracking Performance of Sliding Mode Controller Designed Considering only Rigid Body Axis Dynamics (A. =200 [rad/sec]). tion in the negative direction. Right at this moment, the sliding mode controller continues to com-pensate with the friction estimate for positive velocity, which ends up compounding the disturbance effect of the actual friction, instead of cancelling it out, during a transient period until the actual value of friction is correctly estimated and compensated for (0.85-1.26 [sec]). Hence, during the motion reversal, the peak value of tracking error is even larger (-37 [pm]), compared to the first part involving starting from rest with an initial disturbance estimate of d(Q)=0 [V]. Such large values of tracking error, occurring from faulty friction compensation at zero velocity crossings, result in significant deterioration in the contouring accuracy on toolpaths with sharp corners and circular arc quadrants. They can be reduced by increasing the servo controller band-width and applying feedforward friction compensation. The simulated tracking performance of rigid body based S M C (A. =200 [rad/sec]) used together with the notch filter (case (b)) is shown in Fig. 6.12. The tracking error history is similar to that of case (a). The peak values of tracking error at friction transients are: 24 [pm] (at 0.024 [sec]) and -45 [pm] (at 0.684 [sec]), which are higher than those obtained without the notch filter. Furthermore, at 0.22 [sec], 0.41 [sec], 0.87 [sec], and 1.06 [sec], ripples in the tracking error pro-file with amplitudes around 2 [pm] are observed, consistent with transients in the reference jerk Chapter 6. Precision Tracking Controller Design for High Speed Feed Drives 122 Simulated Tracking Performance of SMC (X=200 [rad/sec]) Combined with Notch Filtering of the First Torsional Mode 0.6 0.8 Time [sec] Figure 6.12 : Simulated Tracking Performance of Rigid Body Based SMC ( A . =200 [rad/sec]) + Notch Filtering of the First Torsional Mode. profile in Fig. 6.10. The minor deterioration in the tracking performance is accounted to the exist-ence of the notch filter in the loop, which brings additional phase shift in the tracking transfer function (Fig. 6.8(b)). The simulated tracking performance of the high bandwidth rigid body based SMC ( A . =600 [rad/sec], Ks=d.3 [V/(mm/sec)], p=50 [V/mm]) used together with notch filtering (case (c)) is shown in Fig. 6.13. A significant improvement in the tracking accuracy is obtained with the band-width increase, made possible through notch filtering of the resonance mode. The peak values of the tracking error at the friction transients are 4.5 [um] at 0.013 [sec], and -7.5 [p:m] at 0.669 [sec], which are approximately five to six times smaller than those obtained with case (b). This is consistent with the five-fold disturbance attenuation predicted from the disturbance transfer func-tion graphs by comparing the two designs (Fig. 6.9(b) and (c)). The ripples that occurs at 0.22 [sec], 0.41 [sec], 0.87 [sec], and 1.06 [sec] are reduced to 0.25 [p.m], which is an eight-fold improvement compared to case (b), accounted to the flatter magnitude and phase response in the tracking transfer function up to 40 [Hz] (Fig. 6.8(c)). Chapter 6. Precision Tracking Controller Design for High Speed Feed Drives 123 Simulated Tracking Performance of SMC (>.=600 [rad/sec]) Combined with Notch Filtering of the First Torsional Mode i i i i i i i I 0.0 0.2 0.4 0.6 0.8 1.0 1.2 Time [sec] Figure 6.13 : Simulated Tracking Performance of Rigid Body Based SMC (A. =600 [rad/sec]) + Notch Filtering of the First Torsional Mode. The simulation result for the mode compensating SMC (A.=con=600 [rad/sec], ^ =0.3 [V/ (mm/sec)], p=50 [V/mm], case (d)) is show in Fig. 6.14. The tracking performance is a little worse than that of case (c). The peak values of tracking error at the friction transients are 8 [pm] at 0.016 [sec] and -13 [pm] at 0.672 [sec]. This is thought to be due to the slightly higher value of worst case disturbance susceptibility (0.012 [mm/V]), occurring at a lower frequency (42 [Hz]), compared to the disturbance transfer function peak in case (c) of 0.011 [mm/V] at 68 [Hz] (Fig. 6.9(c) and (d)), indicating a lower bandwidth in estimating and counteracting the friction distur-bance. The ripples due to the jerk transients at 0.22 [sec], 0.41 [sec], 0.87 [sec], and 1.06 [sec] have a maximum magnitude of 0.12 [pm], resulting from the flat range of the tracking transfer function up to 100 [Hz] (Fig. 6.8(d)). By adding feedforward friction compensation to case (c), the tracking performance is greatly improved (Fig. 6.15) such that the maximum value of tracking error does not exceed 0.5 [pm] (in the direction reversal at 0.66 [sec]). It should be noted that the exact friction model is used in gen-erating the feedforward friction compensation signal, and no parameter mismatch is assumed in the controller design, reflecting the ideal case for achieving best possible tracking performance. Chapter 6. Precision Tracking Controller Design for High Speed Feed Drives 124 Simulated Tracking Performance of Mode Compensating SMC (X=co„=600 [rad/sec]) i i i i i i i I 0.0 0.2 0.4 0.6 0.8 1.0 1.2 Time [sec] Figure 6.14 : Simulated Tracking Performance of Mode Compensating Sliding Mode Controller (X=co„ =600 [rad/sec]). The tracking performance of the mode compensating controller (case (d)) used in conjunction with feedforward friction compensation is shown in Fig. 6.16. The peak values of tracking error are larger (4 [pm] at 0.013 [sec] and -7 [pm] at 0.67 [sec]) than those obtained with case (c). Hence, the application of feedforward friction compensation has helped to reduce the peak values of tracking error approximately by half, compared to the values of 8 [ pm ] and -13 [ u.m ] obtained without it. The friction compensated tracking performance of the mode compensating SMC is not as successful as that of the high bandwidth rigid body based design, used in together with notch filtering and feedforward friction compensation. The frequency domain analyses and time domain simulations conducted indicate the advan-tage of considering the structural flexibility of the drive system in designing the servo control law, either through notch filtering, or through elaborate high-order controller design. This leads to improved stability margins, better robustness in terms of disturbance and noise attenuation, as well as improved high speed tracking accuracy obtained by increasing the servo control band-width. It is also seen that active mode compensation (case (d)) and notch filtering (case (c)) have very similar sensitivity, robustness, and disturbance attenuation characteristics, in spite of the lat-Chapter 6. Precision Tracking Controller Design for High Speed Feed Drives 125 Simulated Tracking Performance of SMC (X=600 [rad/sec]) Combined with Notch Filtering and Feedforward Friction Compensation 0.6 0.8 Time [sec] Figure 6.15 : Simulated Tracking Performance of Rigid Body Based SMC (A. =600 [rad/sec]) + Notch Filtering of the First Torsional Mode + Feedforward Friction Compensation. ter one being much simpler to design and implement. The tracking transfer function of the mode compensating controller is fairly flat up to 100 [Hz], but increases drastically afterwards, requir-ing caution in its use. This problem can be alleviated by imposing high order continuity in the ref-erence trajectory, or by low pass filtering the motion commands before applying them to the controller. Such a problem is not seen with the notch filter based design (case (c)), which also has S 5 UJ ^ E I o — o - 5 r Simulated Tracking Performance of Mode Compensating SMC (k=a>„=600 [rad/sec]) with Feedforward Friction Compensation 0.6 0.8 Time [sec] Figure 6.16 : Simulated Tracking Performance of Mode Compensating Sliding Mode Controller (A,=©^=600 [rad/sec]) + Feedforward Friction Compensation. Chapter 6. Precision Tracking Controller Design for High Speed Feed Drives 126 more favorable disturbance rejection properties, compared to the mode compensating design, improving the tracking accuracy in the presence of disturbance transients. The application of feedforward friction compensation provides a crucial improvement at motion reversals, by reduc-ing the tracking error arising from sudden changes in the guideway friction, which cannot be immediately detected and compensated by the disturbance adaptation mechanism in the sliding mode control law. 6.7.2. Experimental Results for Two Axis Contouring The rigid body based sliding mode controller was tested in high speed contour machining tests on the three axis machining center, presented in detail in Chapter 5. The control and trajec-tory generation laws were implemented on the ih-house developed open architecture CNC (ORTS) [3], utilizing a TMSC32 based DSP board. Position feedback was obtained from the syn-chro-resolvers mounted on the x and y axis drives, with a resolution of 2.44 [p.m]. Velocity feed-back was obtained from the motor tachometers. The axis control loop was closed at Ts =1 [msec], and the SMC was tuned to have a sliding surface bandwidth of A. =200 [rad/sec], with a feedback gain of Ks=0.3 [V/(mm/sec)], and disturbance adaptation gain of p=30 [V/mm], which is very similar to case (a) examined in the simulations (Section 6.7.1). For comparison, a pole placement state feedback controller (PPC) with a Zero Phase Error Tracking filter was also designed, based on similar control bandwidth and damping ratio specifi-cations. The position (x), velocity (i), and disturbance (d) states were estimated through a Kal-man filter with observer poles at: cool;c=386.3 [rad/sec], coo(-2 3)x=479.4 [rad/sec], Colx=l.O, Co(2,3),=0-59 and co o l y =378.2 [rad/sec], c o o ( 2 3 ) y =462.5 [rad/sec], £oly=L0, C o ( 2 , 3 ) , = 0 - 5 8 -The state feedback gain Kc was chosen to yield a closed loop control pole pair at coc =188.5 [rad/ sec] (=30 [Hz]), with a damping ratio of ^c=0.7. The estimated disturbance d by the Kalman fil-ter was used to cancel out the actual disturbance, originating from uncompensated guideway fric-tion. The details of the Kalman filter and pole placement controller design are presented in Chapter 6. Precision Tracking Controller Design for High Speed Feed Drives 127 (a) Sliding Mode Tracking Control Scheme Feedforward Friction Compensation 1 -a z-1 Ts z-a 1-a z-1 Ts Z-a Sliding Mode Controller with Disturbance Estimation DAC Resolution - 0 - ZOH -o-K Axis Dynamics x s+p (1-a) z-a 1 Tachometer (b) ZPETC + Pole Placement Control Scheme 7-cx z-1 T z-a Feedforward Friction Compensation Ufc Resolver ZPETC I—t Ts z-a S I "/7/JC DAC Resolution State Feedback Gain - 6 -u Z<9// A : Axis Dynamics x s+p A Filter State and Disturbance Estimator Tachometer Resolver Figure 6.17 : Control Schemes Tested in High Speed Contouring Experiments: (a) Sliding Mode Control, (b) Pole Placement Control with Zero Phase Error Tracking Filter. Chapter 5, Section 5.3. The overall bandwidth was widened using the Zero Phase Error Tracking Controller (ZPETC) to prefilter the reference trajectory [68] by stable inversion of the closed loop dynamics. If the closed loop dynamics is represented by Gc[p(z) = B +(z)B ~(z)/A(z), where B+(z) contains the stable and well-damped zeros, and B~(z) contains the unstable or poorly damped zeros, the ZPETC is given as: JZPETC ( z ) = Mz)-B-(z^) [ f l - ( l ) ] 2 - f i + ( z ) (6.57) resulting in an overall tracking transfer function of, r( \ r ( \ r ( \ B -(z) • B -{z~l) G(z) = GZPETC(z) • Gclp{z) = v ^ , ( 1 ) ] v 2 (6.58) Chapter 6. Precision Tracking Controller Design for High Speed Feed Drives 128 which has zero phase shift at all frequencies, and a gain very close to unity in the low fre-quency region. In both S M C and PPC, the friction model in Eq. (6.52) was used to precompensate for the actual guideway friction. The two control schemes tested are shown in Fig. 6.17. Both con-trollers utilize velocity feedback, obtained through noisy tachometer measurements, which have been low pass filtered with a first order filter: (1 - a)z/(z - a ) . The filter pole has been chosen at a =0.6, corresponding to a cut-off frequency of 81.3 [Hz]. To have consistency between the ref-erence and measured signals, the same low pass filter was also used in computing the reference velocity and acceleration profiles, in conjunction with numerical differentiation through back-ward differencing. It should be noted that the design of the pole placement controller scheme, which included a third order Kalman Filter, second order state feedback gain, and a third order zero phase error tracking filter (after stable pole-zero cancellations within in the closed loop trans-fer function), required a more elaborate design with complex computations compared to the rigid body based sliding mode controller. The sliding mode controller was simple to implement (Eq. (6.19)) and could be tuned on the spot by changing the three parameters (A,, Ks, and p) , just like tuning a PID. In spite of its simplicity, the sliding mode controller possessed all necessary quali-ties a precision tracking controller should have, i.e. inherent disturbance rejection and feedfor-ward dynamics compensation, as well as guaranteed Lyapunov stability as long as the sampling rate is sufficiently high and control bandwidth is below the mechanical resonance frequency. High speed cutting tests were performed for circular and diamond shaped toolpaths shown in Fig 6.18, with a radius of 35 [mm] and a side length of 49.497 [mm] respectively. The reference trajectory was generated with trapezoidal acceleration transients, resulting in smooth position, velocity and acceleration commands. The feedrate was 170 [mm/sec] with maximum accelera-tion/deceleration and jerk values of 2000 [mm/sec ] and 50000 [mm/sec ]. The cutting was done at 14000 [rpm] with a 2 fluted 25.4 [mm] diameter carbide cutter at 2 [mm] depth of cut and alu-minum 7075 was used as the workpiece material. Chapter 6. Precision Tracking Controller Design for High Speed Feed Drives 129 -30 -20 -10 0 10 20 30 -30 -20 -10 0 10 20 30 x axis [mm] x axis [mm] Figure 6.18 : Reference Toolpaths Used in Contour Machining Tests. The contouring performance for the circular cutting tests are shown in Fig. 6.19(a). Negative contour error denotes the tool center cutting into the circle and positive contour error denotes cut-ting outside the circle. The maximum contour error for both controllers does not exceed 10 [um] which is around four basic length units of the resolver feedback resolution (2.44 [pm]). Due to the integral action of the disturbance observers, both controllers exhibit zero steady state error. Furthermore, there is not a significant offset during the contouring motion due to the high band-width achieved with the feedforward action in both controllers. The contour error profiles and the achieved cornering performance in diamond cutting tests are shown in Fig.s 6.19(b) and 6.20. Again the maximum contour error does not exceed four basic length units. Because there is no curvature while tracking the sides, it is sufficient that the dynam-ics of the two axes are well matched and the disturbances are compensated for. However, during accelerations and decelerations at the corners, jerk limited trajectory generation, feedforward con-trol and precompensation of the actual friction play a key role in maintaining the contouring accu-racy. Considering Fig. 6.20, it can be seen that the corners are tracked with reasonable accuracy. The small deviations in the achieved contours, attributed to measurement noise and high order dynamics not taken into account in the controller design, are only within few basic length units, in spite of the high feedrate used. Chapter 6. Precision Tracking Controller Design for High Speed Feed Drives 130 (a) Circular Cutting Contour Errors Sliding Mode Controller (b) Diamond Cutting Contour Errors Sliding Mode Controller 0.5 1 1.5 2 ZPETC + Pole Placement Controller 2.5 0.5 1 1.5 2 ZPETC + Pole Placement Controller 2.5 1 1.5 time [sec] 0.5 1 1.5 time [sec] 2.5 Figure 6.19 : Recorded Contour Error Profiles During: (a) Circular Cutting, (b) Diamond Cutting. The design of the two controllers were different in the sense that the pole placement control-ler required the state observer, state feedback gain, and zero phase error tracking filter to be designed separately, and combined together afterwards. The sliding mode controller, on the other hand, was obtained with a one-shot solution of the Lyapunov inequality (V < 0 ) . In the experi-ments, the sliding mode controller produced comparable results to the pole placement controller, in spite of its much simpler design, validating its practicality, in addition to its tracking perfor-mance. (a) Right Hand Corner (b) Top Corner Sliding Mode Controller ZPETC + Pole Plac. Cont. Sliding Mode Controller ZPETC + Pole Plac. Cont. 50 [iim] x axis x axis x axis x axis Figure 6.20 : Contouring Performance at the Corners of the Diamond Toolpath. Chapter 6. Precision Tracking Controller Design for High Speed Feed Drives 131 6.7.3. Experimental Results for Single Axis High Bandwidth Control The high bandwidth tracking controller, consisting of a rigid body based SMC used together with notch filtering of the first resonance, has been tested in high speed tracking experiments on the x axis drive. The control law was implemented using a Delta Tau Turbo PMAC board, at a sampling frequency of 18.071 [kHz], The preprogrammed PID control and 2nd order filter struc-tures were utilized in realizing the sliding mode controller and notch filter dynamics described in Sections 6.3 and 6.5. The fixed control structure of the board allowed only for Coulomb friction compensation, which was also used. The position feedback was obtained from the high resolution rotary encoder (20 [nm]) mounted on the free end of the lead screw, and the linear encoder (10 [nm]), mounted on the table itself. Closed loop control tests were conducted using either feedback signal, with the aim of achieving the highest table positioning accuracy. The reference trajectory used in the tracking tests is shown in Fig. 6.21. Similar to the simula-tions, a displacement of 100 [mm] is commanded with a maximum velocity of 250 [mm/sec], acceleration/deceleration values of 1200 [mm/sec2], and a jerk limit of 50000 [mm/sec3]. Higher values in feedrate or acceleration resulted in the servo amplifier to shut down due to overload pro-tection. As the Delta Tau board did not have cubic acceleration profiled trajectory generation, trapezoidal acceleration transients were used. In the first two tests, angular position feedback from the end of the lead screw was used in closing the control loop, while linear position measurements were also recorded to monitor the actual positioning accuracy of the table. The notch filter was tuned to attenuate the 1st torsional mode of the lead screw (cor=183 [Hz], £^=0.2), and the SMC was tuned to have a sliding surface bandwidth of A. =600 [rad/sec], with disturbance adaptation and feedback gains of p=50 [V/mm], and Ks=0.3 [V/(mm/sec)], in an identical manner to case (c) in the simulations (Section 6.7.1). The first test did not involve feedforward friction compensation, whereas the second one did. Simulations were also conducted with the same reference profile and sampling period. Chapter 6. Precision Tracking Controller Design for High Speed Feed Drives 132 Reference Trajectory Used in Single Axis Tracking Experiments I T O 03 I I . 1 ST 1000 ro cu a> -52 0 ai E | .§.-1000 „ 5 x 1 0 4 " 5 x 1 0 4 Or 0.0 0.2 0.4 0.6 Time [sec] 0.8 1.0 1.2 Figure 6.21 : Reference Trajectory Used in Single Axis Tracking Experiments. The experimental and simulated tracking performance for the first test, without any feedfor-ward friction compensation, is shown in Fig. 6.22. There is reasonable agreement, both in trend and in magnitude, between the simulated and experimental control signal and tracking error pro-files. The experimental measurements are naturally noisier compared to the simulation. This is accounted mainly due to: (1) The noise contamination in the servo amplifier, which reflects as motor torque delivered in a wide range of frequencies, thereby exciting the structural modes of the drive system, and (2) The position measurement noise, arising from detecting the amplitude changes in analog encoder signals under electromagnetic contamination coming from the envi-ronment. The peak values of tracking error at friction transients show similar trends, with the simula-tions overpredicting the tracking error (5 [pm] vs. 1.7 [pm] at the beginning of motion and 8 [pm] vs. 3 [pm] at the motion reversal, see Fig. 6.22). This is accounted to the possibility of the modeled friction being higher than the actual friction on the machine, as the machine's lubrication Chapter 6. Precision Tracking Controller Design for High Speed Feed Drives 133 Lead Screw End Tracking Performance (Controlled) 2 5 1 LU E i • ;king 0 Trac -5 -^experimental K^s/mu/af/on Table Tracking Performance (Monitored) Control Signal 0.6 0.8 Time [sec] Figure 6.22 : Experimental Tracking Performance of Sliding Mode Controller (A. =600 [rad/ sec]) + Notch Filtering of the First Torsional Mode of the Lead Screw (coM = 183 [Hz], Com-position Feedback from the Lead Screw Free End is Used in Closing the Control Loop. characteristics may have changed over time. In fact, this can also be verified from the comparison of simulated and experimental control signals, where the predicted control profile exhibits higher magnitudes compared to the experimentally recorded one. The ripples in tracking error due to the jerk transients at 0.208 [sec], 0.400 [sec], 0.851 [sec], and 1.043 [sec] also show up in both the simulated and experimental tracking error profiles. With application of high bandwidth SMC + notch filtering, the maximum value of tracking error at the free end of the lead screw does not exceed 3 [pm] at the feed speed of 250 [mm/sec] (~ 47% faster than the feed speed used in the contouring tests in Section 6.7.2). The actual table positioning error reaches approximately 12 [pm] (Fig. 6.22), and the table tracking error profile exhibits a similar trend to the applied control signal (i.e. actuation torque). This is believed to originate from the elasticity of the lead screw and the preloaded nut interface. Chapter 6. Precision Tracking Controller Design for High Speed Feed Drives 134 Lead Screw End Tracking Performance (Controlled) | zV ^experimental simulation ft 0 f ^ h ^ ^ 2 -2 -simulation Table Tracking Performance (Monitored) Control Signal 0.6 0.8 Time [sec] Figure 6.23 : Experimental Tracking Performance of Sliding Mode Controller (A, =600 [rad/ sec]) + Notch Filtering of the First Torsional Mode of the Lead Screw (con =183 [Hz], C, =0.2) + Feedforward Friction Compensation. Position Feedback from the Lead Screw Free End is Used in Closing the Control Loop. A large part of the motor torque gets transmitted from the lead screw to the table, to accelerate the table inertia, and to counteract the guideway friction. As the table is accelerating in one direction, its inertia will compress or stretch out the lead screw in the other direction, contributing to the inconsistency between the angular motion of the lead screw and linear motion of the table. In addition, as the torque transmitted from the lead screw to the table varies, the deflections of the recirculating balls in the preloaded nut interface will also vary [19], again resulting in inconsis-tency between the angular lead screw and linear table motions. A backlash-like effect occurs dur-ing velocity reversal, with a magnitude of 3 [u.m ], as the table sticks to the guideway due to static friction, and the balls in the preloaded nut undergo additional elastic deformation, until sufficient torque is gathered to break the static friction and release the table on the guideway. Chapter 6. Precision Tracking Controller Design for High Speed Feed Drives 135 Table Tracking Performance (Controlled) 501 1 1 ' ' o. Control Signal 0.0 0.2 0.4 0.6 0.8 1.0 1.2 Time [sec] Figure 6.24 : Experimental Tracking Performance of Sliding Mode Controller (A,=150 [rad/ sec]) + Notch Filtering of the First Translational Resonance of the Table (con=92 [Hz], =0.16). Linear Position Feedback from the Table is Used in Closing the Control Loop. The tracking performance obtained with the addition of feedforward Coulomb friction com-pensation is shown in Fig. 6.23. The experimental tracking errors for the lead screw end do not exceed 1.5 [pm]. The simulated tracking error during the motion reversal is 3 [pm]. Hence applying feedforward friction compensation, even if for only Coulomb friction, has reduced the tracking errors at friction transients approximately by half (i.e. from 3 [pm] to 1.5 [pm]). The linear positioning error of the table, which is mainly due to the elastic deformations in the drive mechanism, exhibits a similar pattern to the previous case. The maximum value of the linear posi-tioning error is again 12 [pm]. In an attempt to directly improve the positioning accuracy of the table, the control loop was closed using position feedback obtained from the linear encoder. Considering the experimentally identified frequency response of the table acceleration (Chapter 5, Fig. 5.14), the notch filter was designed to attenuate the first resonance, which was identified to have a natural frequency of cor=92 [Hz] and damping ratio of Cr=0.16. Due to the large phase lag originating from the motion delivery dynamics in the preloaded nut interface, the sliding surface bandwidth had to be limited to A,=150 [rad/sec], with the feedback and disturbance adaptation gains being chosen as Chapter 6. Precision Tracking Controller Design for High Speed Feed Drives 136 Table Tracking Performance (Controlled) 1 1 i Control Signal -0.0 0.2 0.4 0.6 0.8 1.0 1.2 Time [sec] Figure 6.25 : Experimental Tracking Performance of Sliding Mode Controller (A.=150 [rad/ sec]) + Notch Filtering of the First Translational Resonance of the Table (co,!=92 [Hz], <^ =0.16) + Feedforward Friction Compensation. Linear Position Feedback from the Table is Used in Closing the Control Loop. Ks=0.l [V/(mm/sec)], p=10 [V/mm]. Higher values for the controller gains resulted in oscilla-tory behavior. Tracking tests were conducted without and with Coulomb friction compensation. The results obtained without friction compensation are shown in Fig. 6.24. The table tracking errors are significantly larger than those obtained with rotary position feedback, due to the lower control bandwidth which had to be used. The peak values of tracking error at the friction tran-sients are 22 [pm] at 0.025 [sec] and -45 [pm] at 0.668 [sec]. In addition, the jerk transients at 0.208 [sec], 0.400 [sec], 0.851 [sec], and 1.043 [sec] also reflect as significant ripples in the track-ing error profile with an amplitude of 12 [pm ]. By applying feedforward friction compensation (Fig. 6.25), the tracking errors at the friction transients are reduced to 11 [um] at 0.027 [sec], 13 [pm] at 0.64 [sec] and -11 [pm] at 0.668 [sec]. However, the ripples due to jerk transients still remain in the tracking error profile. The overall tracking error does not exceed 13 [u.m]. Although this magnitude of linear positioning accuracy is comparable to that obtained with rotary encoder feedback, the resulting servo robust-ness, disturbance rejection, and tracking characteristics are significantly worse due to the low Chapter 6. Precision Tracking Controller Design for High Speed Feed Drives 137 sliding surface bandwidth (A.=150 [rad/sec]) that had to be chosen in order to accommodate the additional motion transmission dynamics at the preloaded nut interface. 6.8. Conclusions In this chapter, adaptive sliding mode control has been applied for achieving high speed pre-cision motion in feed drives. Two designs have been developed: the first considering only rigid body axis dynamics, and the second considering the first torsional mode of the lead screw explic-itly in the plant model. The unmodeled (or uncompensated) friction was adapted for, in both designs. The rigid body based design has a very simple form, and can be implemented into a readily available PID structure. The latter design leads to a mode compensating controller, capa-ble of achieving significantly higher bandwidth and stability margins compared to the rigid body based design, but requires a state observer to estimate the unmeasurable states. Also, its tendency to amplify high frequency motion commands requires the reference trajectory to be generated very smoothly. Although the mode compensating S M C led to satisfactory results in simulations, its experimental application was not successful, mainly due to the real-time numerical accuracy limitations of the Delta Tau control board on which it was implemented, as well as sensor and actuator noise problems in the drive system. Notch filtering of the first resonance mode has also been investigated as a practical alterna-tive to active vibration control. It was seen that when used together with the rigid body based S M C design, it produced comparable, and in some cases more favorable results than the mode compensating S M C in terms of robustness and disturbance attenuation characteristics, determined through frequency domain analyses. Feedforward cancellation of the anticipated guideway fric-tion was also implemented, in order to improve the tracking and contouring performance of the control loop at velocity reversals which occur primarily at sharp corners and circular arc quad-rants. Chapter 6. Precision Tracking Controller Design for High Speed Feed Drives 138 The performance of the rigid body based S M C was verified in high speed contour machining and single axis tracking tests. The rigid body based design was able to maintain a contouring accuracy of 10 [pm] (1 B L U = 2.44 [pm]) in high speed machining a 35 [mm] radius circle at 170 [mm/sec] feedrate. This contouring performance was comparable to that achieved by an elab-orate state feedback pole placement control scheme, requiring a Kalman filter and a Zero Phase Error Tracking Controller (ZPETC). The rigid body based design was used in conjunction with notch filtering of the first reso-nance, to achieve high bandwidth servo control (A. =600 [rad/sec]) on the x axis. With position measurements obtained from the free end of the lead screw, a tracking accuracy equivalent to 1.5 [pm ] of table motion was obtained at a feedrate of 250 [mm/sec]. Due to the elastic nature of the motion transmission in the preloaded nut interface, the actual tracking accuracy of the table was around 12 [pm]. Efforts to close the servo loop directly with linear position feedback from the table resulted in significantly lower control bandwidth (X=150 [rad/sec]), with comparable linear positioning accuracy (~13 [pm]), but much poorer tracking, disturbance rejection, and robustness characteristics. In frequency domain analyses, time domain simulations, and experiments, the rigid body based design, when used together with notch filtering, has been shown to yield high tracking accuracy with favorable disturbance rejection and robustness properties, in addition to its straight-forward design procedure Chapter 7 Conclusions 7.1. Conclusions In this thesis, smooth and optimal trajectory generation algorithms, and precision tracking control techniques have been developed, for delivering the desired feed motion rapidly and accu-rately in multi-axis machines; particularly machine tools with Cartesian drive configurations. A new spline interpolation and parameterization scheme has been developed that yields smooth con-touring motion with minimal feedrate fluctuation along arbitrarily shaped toolpaths. A jerk con-tinuous feedrate optimization technique has been formulated for traveling along spline toolpaths in minimum time, without compromising from the tracking and contouring accuracy of the servo drive system. Motion control laws have been developed, based on accurate identification of the feed drives' dynamics, that compensate for the flexibility and nonlinear friction in the drive sys-tem, and are capable of achieving high tracking performance at high feed speeds. The contribu-tions are summarized as follows: The developed Optimally Arc Length Parameterized (OAP) quintic spline exhibits an order of magnitude less feedrate fluctuation compared to nearly arc length parameterized splines pro-posed in literature. The feedrate correction polynomial and iterative interpolation techniques, pro-posed as alternatives to geometric re-parameterization of the toolpath, are also shown to be capable of improving the feedrate consistency, at a small computational cost with reliable conver-gence properties, also making these methods viable for real-time implementation in the CNC executive. The feedrate optimization algorithm introduced has been shown to outperform state of the art feedrate scheduling techniques with typically 15-20 [%] shorter cycle times, due to its inherent 139 Chapter 7. Conclusions 140 ability to continuously modulate the acceleration and jerk profiles throughout the toolpath, while efficiently solving the minimum time problem in overlapping windows with reduced number of optimization variables, obtained through imposing the minimum jerk criterion. By adhering to actuation torque, velocity, and jerk limits, the tracking and contouring accuracy is maintained in an indirect fashion, as verified in high speed contour machining experiments. A detailed dynamic model of the feed drive has been developed, considering the rigid body motion, nonlinear quideway friction characteristics, and torsional vibrations of the lead screw. Identification tests have been planned and executed to reveal each dynamic property separately from the rest, allowing an accurate model to be constructed with unbiased parameter estimates in spite of the nonlinear friction in the system. Robust tracking control laws, capable of maintaining a few microns of tracking error at fee-drates close to the velocity limit of the drives, have been developed and experimentally verified in high speed contouring and tracking tests. Adaptive sliding mode control has been found to be a simple, yet powerful method for stabilizing the axis dynamics. The sliding mode controller has been designed to consider the first torsional mode of the lead screw, resulting in better stability margins and tracking performance, compared to considering only the rigid body axis dynamics. Although active compensation of the structural mode in the proposed control law led to satisfac-tory results in simulations, its experimental application was not successful, mainly due to real-time numerical accuracy limitations of the control hardware, as well as sensor and actuator noise. As a practical alternative, notch filtering of the first resonance has also been investigated, yielding successful experimental results when used in conjunction with the rigid body based controller. 7.2. Future Research Directions The trajectory generation and control laws developed in this thesis are directly applicable to two and three axis Cartesian configured machines. Their extension to multi-axis machines with more complex kinematic configuration, such as five axis or parallel kinematic machine tools, or Chapter 7. Conclusions 141 robots, will allow their benefits to be exploited in a larger variety of applications, such as high speed machining of aerospace parts, dies and molds, or laser cutting and welding operations along complex three dimensional contours. In order to achieve this goal, the non-Cartesian kinematic chain, and nonlinear and coupled dynamic model of the machine has to be integrated into the trajectory generation and control law design. The kinematic chain, along with knowledge of the tool and workpiece geometry, is partic-ularly important in defining the instantaneous feed vector, which is required for re-parametrizing the toolpath, or adjusting the interpolation step size, to eliminate feedrate fluctuation. Along with the kinematic configuration, the coupled nature of the actuation dynamics also has to be taken into account when performing feedrate optimization, in order to avoid exceeding the actuation torque, velocity and jerk limits in the axes. In addition, the flexible and coupled dynamics of the drive system has to be considered, at least in stability analysis and performance evaluation of the track-ing control laws, and preferably in the controller design as well. One practical extension in paral-lel with this idea would be to use decoupled sliding mode control designed based on rigid body axis dynamics, together with notch filters placed at the first resonance of each drive, and to com-pensate for the inertial coupling in feedforward, leaving the unmodeled effects to be dealt by the disturbance adaptation mechanism in each axis. A more complex, and but likely better performing solution may be to consider the whole machine as a time varying Multi Input Multi Output (MIMO) system and design the control law to jointly compensate for the inherent coupling, flexi-bility, and nonlinear effects in all axes simultaneously. Bibliography Allotta B., Angioli R, Rinchi M., 2001, "Constraints Identification for Vibration Control of Time-Varying Boundary Conditions Systems", Proceedings of the 2001 IEEE/ASME International Conference on Advanced Intelligent Mechatronics (AIM), Vol. 1, pp. 606-611. Alter D.M., Tsao T.-C, 1996, "Control of Linear Motors for Machine Tool Feed Drives: Design and Implementation of Optimal Feedback Control", ASME Journal of Dynamic Systems, Measurement and Control, Vol. 118, pp. 649-656. Altintas, Y., Erol, N.A., 1998, "Open Architecture Modular Tool Kit for Motion and Machining Process Control," Annals ofCIRP, Vol. 47, No. 1, pp. 295-300. Altintas Y., 2000, Manufacturing Automation: Metal Cutting Mechanics, Machine Tool Vibrations, and CNC Design, Cambridge University Press. Altintas Y., Erkorkmaz K., Zhu W.-FL, 2000, "Sliding Mode Controller Design for High Speed Drives," Annals ofCIRP, Vol. 49, No. 1, pp. 265-270. Altintas Y, Erkorkmaz K., 2003, "Feedrate Optimization for Spline Interpolation in High Speed Machine Tools", Annals ofCIRP, Vol. 52, No. 1, pp. 297-302. 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. Astrom K.J., Wittenmark B., 1997, Computer-Controlled Systems: Theory and Design, Third Edition, Prentice-Hall Inc., NJ. Boucher P., Dumur D., Rahmani K.F., 1990, "Generalized Predictive Cascade Control (GPCC) for Machine Tools Drives", Annals ofCIRP, Vol. 39, No. 1, pp. 357-360. Bobrow J.E., Dubowsky S., Gibson J.S., 1985, "Time-Optimal Control of Robotic Manip-ulators Along Specified Paths", International Journal of Robotics Research, Vol. 4, No. 3, pp. 3-17. Butler J., Haack B., Tomizuka M., 1988, "Reference Generation for High Speed Coordi-nated Motion of a Two Axis System", Symposium on Robotics, ASME Winter Annual Meeting, Chicago, IL, USA, DSC Vol. 11, pp. 457-470. 142 Bibliography 143 [12] Canudas de Wit C , Olsson H., Astrom K.J., Lischinsky P., 1995, " A New Model for Con-trol of Systems with Frict ion", IEEE Transactions on Automatic Control, Vol. 40, No. 3, pp. 419-425. [13] Chang T., Dani B., Ji Z., Caudill R., 2000, "Contactless Magnetic Leadscrew: Vibration Control and Resonance Compensation", Proceedings of the American Control Conference, Vol. 3, pp. 2087-2091. [14] Chen Y . - C , Tlusty J., 1995, "Effect of Low-Friction Guideways and Lead-Screw Flexibil -ity on Dynamics of High-Speed Machines", Annals of CIRP, Vol. 44, No. 1, pp. 353-356. [15] Chiu, G. T . -C , Tomizuka, M . , 2001, "Contouring Control of Machine Tool Feed Drive Systems: A Task Coordinate Frame Approach", IEEE Transactions on Control Systems Technology, Vol. 9, No. 1, pp. 130-139. [16] Coleman T , Branch M.A. , Grace A. , 1999, Optimization Toolbox for Use with MATLAB®, User's Guide Version 2, The Math Works Inc. [17] Constantinescu D., Croft E.A., 2000, "Smooth and Time-Optimal Trajectory Planning for Industrial Manipulators Along Specified Paths", Journal of Robotic Systems, Vol. 17, No. 5, pp. 233-249. [ 18] Control System Toolbox User's Guide, 1999, The Math Works Inc. [19] Cuttino J.F., Dow T.A., Knight B.F., 1997, "Analytical and Experimental Identification of Nonlinearities in a Single-Nut, Preloaded Ball Screw", ASME Journal of Mechanical Design,Vo\. 119, No. l ,pp . 15-19. [20] Erkorkmaz K., Altintas Y , 1998, "High Speed Contouring Control Algorithm for C N C Machine Tools", Proceedings of the ASME Dynamic Systems and Control Division, 1998 ASME International Mechanical Engineering Congress and Exposition, DSC-Vol . 64, pp. 463-469. [21] Erkorkmaz K., 1999, MA.Sc. Thesis: High Speed Contouring Control for Machine Tool Drives, The University of British Columbia, Department of Mechanical Engineering, Van-couver. [22] Erkorkmaz K., Altintas Y , 2001, "High Speed C N C System Design: Part I - Jerk Limited Trajectory Generation and Quintic Spline Interpolation," International Journal of Machine Tools and Manufacture, Vol. 41, No. 9, pp. 1323-1345. [23] Erkorkmaz K., Altintas Y , 2001, "High Speed C N C System Design: Part II - Modeling and Identification of Feed Drives", International Journal of Machine Tools and Manufac-ture, Vol. 41, No. 10, pp. 1487-1509. Bibliography 144 [24] Erkorkmaz K., Altintas Y., 2001, "High Speed CNC System Design: Part III - High Speed Tracking and Contouring Control of Feed Drives", International Journal of Machine Tools and Manufacture, Vol. 41, No. 11, pp. 1637-1658. [25] Erkorkmaz K., Altintas Y., 2001, "Trajectory Generation for High Speed Milling of Molds and Dies", Proceedings of the 2nd International Conference and Exhibition on Design and Production of Dies and Molds, Kusadasi, Turkey, DM_46. [26] Erkorkmaz K., Altintas Y., 2003, "Quintic Spline Interpolation with Minimal Feed Fluctu-ation", Proceedings of the ASME Manufacturing Engineering Division, 2003 ASME Inter-national Mechanical Engineering Congress and Exposition, MED-IMECE2003-42428. [27] Erkorkmaz K., Altintas Y, "Quintic Spline Interpolation with Minimal Feed Fluctuation", ASME Journal of Manufacturing Science and Engineering (currently under review). [28] Farouki R.T., Shah S., 1996, "Real-Time CNC Interpolators for Pythagorean-Hodograph Curves," Computer Aided Geometric Design, Vol. 13, No. 7, pp. 583-600. [29] Farouki R.T., al-Kandari M., Sakkalis T, 2002, "Hermite Interpolation by Rotation-Invari-ant Spatial Pythagorean-Hodograph Curves," Advances in Computational Mathematics, Vol. 17, pp. 369-383. [30] Flash T., Hogan N., 1985, "The Coordination of Arm Movements: an Experimentally Con-firmed Mathematical Model", Journal ofNeuroscience, Vol. 5, pp. 1688-1703. [31] Fleisig R.V, Spence A.D., 2001, "Constant Feed and Reduced Angular Acceleration Inter-polation Algorithm for Multi-Axis Machining," Computer Aided Design, Vol. 33, No. 1, pp. 1-15. [32] Hyde J.M., Seering W.R, 1991, "Using Input Command Pre-Shaping to Suppress Multiple ModeVibration" ProceedingsofthelEEEInternationalConferenceonRoboticsandAutomation, Vol. 3, pp. 2604-2609. [33] Jones S.D., Ulsoy A. G, 1999, "An Approach to Control Input Shaping with Application to Coordinate Measuring Machines", ASME Journal of Dynamic Systems, Measurement, and Control, Vol. 121, No. 2, pp. 242-247. [34] Kalman R.E., 1960, "A New Approach to Linear Filtering and Prediction Problems", Journal of Basic Engineering, Vol. 82, pp. 35-44. [35] Kami Y, Yabuya M., Shimizu T, 1995, "Research and Development of an Ultraprecision Positioning System", Nanotechnology, Vol. 6, No. 4, pp. 127-134. [36] Koninckx B., Van Brussel H., 2002, "Real-Time NURBS Interpolator for Distributed Motion Control", Annals ofCIRP, Vol. 51, No. 1, pp. 315-318. Bibliography 145 [37] Koren Y., 1980, "Cross-Coupled Biaxial Computer Control for Manufacturing Systems", ASME Journal of Dynamic Systems, Measurement, and Control, Vol. 102, pp. 265-272. [38] Koren Y, 1983, Computer Control of Manufacturing Systems, McGraw-Hill, NY. [39] Koren Y, Lo C.-C, 1991, "Variable-Gain Cross-Coupling Controller for Contouring", Annals ofCIRP, Vol. 40, No. 1, pp. 371-374. [40] Kyriakopoulos K.J., Saridis G.N., 1988, "Minimum Jerk Path Generation", Proceedings of the IEEE Intl. Conf. on Robotics and Automation, Philadelphia, PA, USA, pp. 364-369. [41] Kyriakopoulos K.J., Saridis G.N., 1994, "Minimum Jerk for Trajectory Planning and Con-trol", Robotica, Vol. 12, No. 2, pp. 109-113. [42] Kulkarni P.K., Srinivasan K., 1989, "Optimal Contouring Control of Multi-Axial Feed Drive Servomechanisms", ASME Journal of Dynamic Systems, Measurement, and Con-trol, Vol. Ill, No. 2, pp. 140-148. [43] Lartigue C, Thiebaut F., Maekawa T, 2001, "CNC Tool Path in Terms of B-Spline Curves", Computer Aided Design, Vol. 33, No. 4, pp. 307-319. [44] Lee H.S., Tomizuka M., 1996, "Robust Motion Controller Design for High-Accuracy Positioning Systems", IEEE Transactions on Industrial Electronics, Vol. 43, No. 1, pp. 48-55. [45] Ljung L., 1998, System Identification: Theory For The User, 2nd Edition, Prentice-Hall Of Canada Ltd. [46] Lin M.-C, Ravani B., Velinsky S.A., 1994, "Kinematics of the Ball Screw Mechanism", ASME Journal of Mechanical Design, Vol. 116, No. 3, pp. 849-855. [47] Lin R.-S., 2000, "Real-Time Surface Interpolator for 3-D Parametric Surface Machining on 3-Axis Machine Tools," International Journal of Machine Tools and Manufacture, Vol. 40, No. 10, pp. 1513-1526. [48] Macfarlane S., Croft E.A., 2001, "Design of Jerk Bounded Trajectories for On-Line Indus-triaRobotApplications" r^oceeJ//7g^  Vol. l,pp. 979-984. [49] Ogata K., 1997, Modern Control Engineering, Third Edition, Prentice-Hall Inc., NJ. [50] Piazzi A., Visioli A., 1998, "Global Minimum-Time Trajectory Planning of Mechanical Manipulators Using Interval Analysis", International Journal of Control, Vol. 71, No. 4, pp. 631-652. [51] Piazzi A., Visioli A., 2000, "Global Minimum-Jerk Trajectory Planning of Robot Manipu-lators", IEEE Transactions on Industrial Electronics, Vol. 47, No. 1, pp. 140-149. Bibliography 146 [52] Pritschow G., Philipp W., 1992, "Research on the Efficiency of Feedforward Controllers in Direct Drives", Annals ofCIRP, Vol 41, No. 1, pp. 411-415. [53] Pritschow G., 1996, "On the Influence of the Velocity Gain Factor on the Path Deviation", Annals ofCIRP, Vol. 45, No. 1, pp. 367-371. [54] Pritschow G, 1997, Course Notes: Steuerungtechnik der Werkzeugmaschinen undIndustri-eroboter (Control Techniques of Machine Tools and Industrial Robots), Institute of Control Technology for Machine Tools and Manufacturing Units, Stuttgart University, Germany. [55] Pritschow G, Kosiedowski U., 1997, "Optimization Strategies for Adaptive Feedforward Control", Production Engineering Research and Development in Germany; Annals of the German Academic Society for Production Engineering, Vol. 4, No. 2, pp. 69-72. [56] Pritschow G, 1998, "A Comparison of Linear and Conventional Electromechanical Drives", Annals ofCIRP, Vol. 47, No. 2, pp. 541-548. [57] Ro P.I., Hubbel P.I., 1993, "Model Reference Adaptive Control of Dual-Mode Micro/ Macro Dynamics of Ball Screws for Nanometer Motion", ASME Journal of Dynamic Sys-tems, Measurement and Control, Vol. 115, pp. 103-108. [58] Ro P.I., Shim W., Jeong S., 2000, "Robust Friction Compensation for Submicrometer Posi-tioning and Tracking for a Ball-Screw-Driven Slide System", Precision Engineering, Vol. 24, No. 2, pp. 160-173. [59] Sadegh N., Horowitz R., 1990, "Stability and Robustness Analysis of a Class of Adaptive Controllers for Robotic Manipulators", International Journal of Robotics Research, Vol. 9, No. 3, pp. 74-92. [60] Sato K., Murayama Y., Imada S., Shimokohbe A., 1995, "Control and Elimination of Lead Screw Backslash for Ultra-Precision Positioning", JSME International Journal, Series C: Dynamics, Control, Robotics, Design and Manufacturing, Vol. 38, No. 1, pp. 36-41. [61] Schulz H., Moriwaki T., 1992, "High-Speed Machining", Annals ofCIRP, Vol. 2, pp. 637-645. [62] Simon D., Isik C, 1993, "Suboptimal Robot Joint Interpolation within User-Specified Knot Tolerances", Journal of Robotic Systems, Vol. 10, No. 7, pp. 889-911. [63] Shpitalni M., Koren Y, Lo C.-C, 1994, "Realtime Curve Interpolators," Computer Aided Design, Vol. 26, No. 11, pp. 832-838. [64] Skogestad S., Postlethwaite I., 1996, Multivariate Feedback Control: Analysis and Design, John Wiley & Sons. [65] Slotine J.-J. E., Li W., 1988, "Adaptive Manipulator Control: A Case Study", IEEE Trans-actions on Automatic Control, Vol. 33, No. 11, pp. 995-1003. liography 147 Smith A.D., 1999, Ph.D. Thesis: Wide Bandwidth Control of High-Speed Milling Machine Feed Drives, University of Florida, Department of Mechanical Engineering, Florida. Symbolic Math Toolbox User's Guide, 1998, The Math Works Inc. Tomizuka M., 1987, "Zero Phase Error Tracking Algorithm for Digital Control", ASME Journal of Dynamic Systems, Measurement, and Control, Vol. 109, pp. 65-68. Tsao T.-C, Tomizuka M., 1987, "Adaptive Zero Phase Error Tracking Algorithm for Digi-tal Control", ASME Journal of Dynamic Systems, Measurement, and Control, Vol. 109, pp. 349-354. Tung E.D., Tomizuka M., 1993, "Feedforward Tracking Controller Design Based on the Identification of Low Frequency Dynamics", ASME Journal of Dynamic Systems, Mea-surement and Control, Vol 115, No. 3, pp. pp. 348-356. Utkin VI., 1977, "Variable Structure Systems with Sliding Modes", IEEE Transactions on Automatic Control, Vol. AC-22, No. 2, pp. 212-222. Van Brussel FL, Chen C.-FL, Swevers J., 1994, "Accurate Motion Controller Design Based on an Extended Pole Placement Method and a Disturbance Observer", Annals of CIRP, Vol. 43, No. l,pp. 367-372. Van Brussel FL, Van den Braembussche P., 1998, "Robust Control of Feed Drives with Linear Motors", Annals of CIRP, Vol. 47, No. 1, pp. 325-328. Van Willigenburg L.G., 1993, "Computation and Implementation of Digital Time-Optimal Feedback Controllers for an Industrial X-Y Robot Subjected to Path, Torque, and Velocity Constraints", International Journal of Robotics Research, Vol. 12, No. 5, pp. 420-433. 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. Wang F.-C, Wright P.K., Barsky B.A., Yang D.C.H., 1999, "Approximately Arc-Length Parameterized C Quintic Interpolatory Splines," Journal of Mechanical Design, Transac-tions of the ASME, Vol. 121, No. 3, pp. 430-439. Week M., Ye G., 1990, "Sharp Corner Tracking Using the IKF Control Strategy", Annals of CIRP, Vol. 39, No. 1, pp. 437-441. Week M., Meylahn A., Hardebusch C, 1999, "Innovative Algorithms for Spline-Based CNC Controller", Production Engineering Research and Development in Germany; Annals of the German Academic Society for Production Engineering, Vol. 6, No. 1, pp. 83-86. [79] Weule FL, Frank T., 1999, "Advantages and Characteristics of a Dynamic Feeds Axis with Ball Screw Drive and Driven Nut", Annals of CIRP, Vol. 48, No. 1, pp. 303-306. Bibliography 148 [80] 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. [81] Yoshikawa T., 1990, Foundations of Robotics, The MIT Press, Cambridge, MA. [82] Zhu W.-H., Xi Y.-G, Zhang Z.-J., Bien Z., De Schutter J., 1997, "Virtual Decomposition Based Control for Generalized High Dimensional Robotic Systems with Complicated Structure", IEEE Transactions on Robotics and Automation, Vol. 13, No. 3, pp. 411-436. Appendix A Computation of the Objective and Gradient in Spline Arc Length Optimization The MATLAB program used to obtain the analytical expressions of the local objective and its gradient for Optimal Arc Length Spline Parameterization is given below: c l e a r ; % p o s i t i o n b.c. % syms x l x2 y l y2; % 1st d e r i v a t i v e b.c. % syms x u l xu2 y u l yu2; % 2nd d e r i v a t i v e b.c. % syms x u u l xuu2 y u u l yuu2; % s p l i n e parameter and i t s range % s yms u 1; % t o o l p a t h c o e f f i c i e n t s % A x = ( 6 * ( x 2 - x l ) - 3 * ( x u 2 + x u l ) . * l + 0 . 5 * ( x u u 2 - x u u l ) . * 1 A 2 ) / 1 A 5 ; Bx=(15*(xl-x2) + (7*xu2 + 8*xul) .*1+ (1.5*xuul-xuu2) . * 1 A 2 ) / 1 A 4 ; Cx=(10*(x2-xl)-(4*xu2 + 6*xul) .*1- (1.5*xuul-0.5*xuu2) . * 1 A 2 ) / 1 A 3 ; Dx=0.5*xuul; Ex=xul; Fx=xl; A y = ( 6 * ( y 2 - y l ) - 3 * ( y u 2 + y u l ) . * l + 0 . 5 * ( y u u 2 - y u u l ) . * 1 A 2 ) / 1 A 5 ; By=(15*(yl-y2) + (7*yu2+8*yul) .*1+ (1.5*yuul-yuu2) . * 1 A 2 ) / 1 A 4 ; Cy=(10*(y2-yl)-(4*yu2 + 6*yul) .*1- (1.5*yuul-0.5*yuu2) . * 1 A 2 ) / 1 A 3 ; Dy=0.5*yuul; Ey=yul; Fy=yl; % d e f i n e s p l i n e s % x=Ax*u A5 + Bx*u A4 + Cx*u A3 + Dx*u A2+ Ex*u + Fx; y=Ay*u A5 + By*u A4 + Cy*u A3 + Dy*u A2+ Ey*u + Fy; 149 Appendix A. Computation of the Objective and Gradient in Spline Arc Length Optimization 150 % d e f i n e 1st d e r i v a t i v e s % x u = d i f f ( x , u ) ; y u = d i f f ( y , u ) ; % d e f i n e i n t e g r a n d % f = s i m p l i f y ( ( x u * x u + yu*yu - 1)"2); % perform i n t e g r a l % J = s i m p l i f y ( i n t ( f , u ) ) ; % s u b s t i t u t e boundary c o n d i t i o n s % J b c = s i m p l i f y ( s u b s ( J , u , 1 ) ) ; Jbc=horner(Jbc); % prepare the g r a d i e n t s % J b c _ l = h o r n e r ( d i f f ( J b c , 1 ) ) ; Jbc_xul = h o r n e r ( d i f f ( J b c , xul) ) ; Jbc_xu2 = h o r n e r ( d i f f ( J b c , x u 2 ) ) ; J b c _ y u l = h o r n e r ( d i f f ( J b c , y u l ) ) ; Jbc_yu2 = h o r n e r ( d i f f ( J b c , y u 2 ) ) ; J b c _ x u u l = h o r n e r ( d i f f ( J b c , x u u l ) ) ; Jbc_xuu2=horner(diff(Jbc,xuu2) ) ; J b c _ y u u l = h o r n e r ( d i f f ( J b c , y u u l ) ) ; Jbc_yuu2=horner(diff(Jbc,yuu2)); % save the a n a l y t i c a l e x p ressions of the o b j e c t i v e and the g r a d i e n t s i n t o t e x t % f i l e s , , to be m o d i f i e d manually i n t o Matlab f u n c t i o n s fid=fopen('J5bc','w'); fid=fopen('J5bc_l','w' f i d = f o p e n ( 1 J 5 b c _ x u l ' , ' fid=fopen('J5bc_xu2 1 , ' f i d = f o p e n ( ' J 5 b c _ y u l ' , ' fid=fopen('J5bc_yu2' , 1 fid=fopen('J5bc_xuul', fid=fopen('J5bc_xuu2' , fid=fopen('J5bc_yuul', fid=fopen( 1J5bc_yuu2' , ) ; w') w' ) w') w1) 'w' 'w' 1 w' 'w' f p r i n t f ( f i d , c c o d e ( J b c ) ) ; f c l o s e ( f i d ) f p r i n t f ( f i d , c c o d e ( J b c _ l ) ) ; f c l o s e ( f i d ) f p r i n t f ( f i d , c c o d e ( J b c _ x u l ) ) ; f c l o s e ( f i d ) f p r i n t f ( f i d , c c o d e ( J b c _ x u 2 ) ) ; f c l o s e ( f i d ) f p r i n t f ( f i d , c c o d e ( J b c _ y u l ) ) ; f c l o s e ( f i d ) f p r i n t f ( f i d , c c o d e ( J b c _ y u 2 ) ) ; f c l o s e ( f i d ) f p r i n t f ( f i d , c c o d e ( J b c _ x u u l ) ) ; f c l o s e ( f i d ) f p r i n t f ( f i d , c c o d e ( J b c _ x u u 2 ) ) ; f c l o s e ( f i d ) f p r i n t f ( f i d , c c o d e ( J b c _ y u u l ) ) ; f c l o s e ( f i d ) f p r i n t f ( f i d , c c o d e ( J b c _ y u u 2 ) ) ; f c l o s e ( f i d ) Appendix B Computation of the Gradients in Feedrate Optimization B . l . Gradient of the Objective The minimum time objective has been given with Eq. (4.22) in Chapter 4 as: k=\ k=\ Hence, it's gradient with respect to the normalized duration of the j t h spline segment Xj is obtained as: (B.2) The gradient with respect to the vector of all normalized segment durations ^ = [/lj /I2 ... ANY is obtained as: dT — = T [l 1 ll UN (B.3) B.2. Gradient of the Feed Profde Coefficients The vector of feed coefficients: 0 is obtained by solving Eq. (4.21) in Chapter 4: K(xye+LJ(X) A = O\ K(X) L!(X) L(X) 0 '0' 0 A X b (BA) Noting that the b vector on the right hand side is a function of the segment arc lengths and given boundary conditions, and is constant. Differentiating both sides with respect to Xj yields: 8A DA dX A dX •X + A = 0=> A 8X, dX, 8X, dXj •X (B.5) 151 Appendix B. Computation of the Gradients in Feedrate Optimization 152 A and X are obtained from the solution of Eq. (B.4), the gradient dA/dXj is constructed by considering the definitions of the K(X) and L(X) matrices in Eq. (4.7), (4.9), (4.11), (4.12), and Eq. (4.14)-(4.18) (Chapter 4). Hence dX I dXj is obtained by solving the linear equation system in Eq. (B.5), and the gradient of the feed profile coefficients dO I dXj is extracted from: dX 8X: dOTldXj dAT/dXj (B.6) The gradient of the feed profile coefficients with respect to all normalized segment durations is constructed as: 80 dXT dax/dXx dax ldX2 dax loXN dbxldXx dbxldX2 dbxldXN dfxldXx dfxldX2 dfxldXN da2ldXx da2ldX2 da2ldXN db2/dXx db21 dX2 ... db2ldXN df2/dXx df2/dX2 df2/dXN daNldXx daNldX2 daNldXN dbN ldXx dbN ldX2 dbN/dXN _dfN/dXx dfN/dX2 dfN/8XN_ 6NxN (B.7) B.3. Gradient of the Kinematic Profiles The arc displacement, feedrate, tangential acceleration, and jerk profiles in the k segment have been given in Chapter 4 with Eq. (4.3) and (4.4) as: sk 0 ) = akv5 + V 4 + ckv3 + dkv2 + ekv + fk h (v) = (1 / Tmax)[5akv4 + 4 V 3 + 3ckv2 + 2dkv + ek ] h (v) = (1 / T2ax )[20ak v 3 +12bk v 2 + 6c kv + 2dk] sk (v) = (1 / 7/m a x )[60akv2 + 24bkv + 6ck) (B.8) Appendix B. Computation of the Gradients in Feedrate Optimization 153 where 0 < v < Xk . Redefining the normalized time parameter v as: v = Xk\x where 0<l<p the displacement profile is written as: Sk&kV) = ak^5kV5 + h^W + ck7?k\i3 + dkh\\i2 + ekXk[i + fk (B.9) (B.10) The gradient of the displacement profile in the kth segment with respect to the vector of nor-malized segment durations ^ = [X,1 X2 ... XNY is obtained as: dsk _ , 5 , , 5 dak ^ ,4 , ,4 dbL + x ^ dck . L i 2 . , 2 ddk i 1 dek , dfk 8X XW^r + XW dX dx' dx' + X2k[i2—f + Xkn dX dXT dXT + ... 5ak\xsX\ +4bk\\AX\ -f-Sc^p3^ + 2dk\x2Xk +ek\i dX, dXT (BM) where the gradients dakldXT , dbkldXT, dfkldXT are extracted from Eq. (B.7) as d • I' dXT =[d • I' dXx d»/dX2 ... d» fdXN]. The gradient of the kth normalized segment duration with respect to all normalized segment durations is dXk/8XT=[0 ... 0 1 0 ... 0] where only the kth entry is one. Considering the definition of s in Eq. (B.8) and factoring one p term out of the bracketed expression in Eq. (B.ll), the gra-dient of the displacement profile with respect to the normalized segment durations is obtained as: dst s dak 4 dbi, 3 dct, ? ddk § r = V § - + V £ r + V £r + V £ - + V dek dfk _ . . .dXk dX' dX' (B.12) dX' dX' 8X1 dX' dX' dX' dX' Following a similar procedure, the gradients of the feedrate, tangential acceleration, and jerk profiles are also obtained as: ®k 1 8XT T * max &'k 1 dXT T2 1 max dsk 1 8XT •* max 5v 4 daL T A 3 dbk - 2 dck „ ddk + Avi £r + 3vZ ! r + 2v £- + dX' dx' dX' dek „2 •• / N dXk 20v 3 Sak 2 dbk . dck + 2 dX' 60v dX' dX' dX' 2 d a J L + 24v^L + 6^ • --4 ~/K dX' dX ddk _3 ... . . dX1 dX' dX' 8X' 8X ex' (B.13) Appendix B. Computation of the Gradients in Feedrate Optimization 154 B.4. Gradient of the Constraints The kinematic and dynamic constraints have been given in Chapter 4, Eq. (4.26) as: C-f(t) = -s(t)/fmax<0 , C}(t).= s(t)/fmax-\<0 C;(o = - x ( / ) / v „ - i < o , c t (o"=*(0 /w - i so c;(o = - j > ( / ) / v > ; m a x - i < o , c ; ( o = x o / v ^ m a x - i < o C^(t) = -ux(t)/uxmax-l^0, C+x(t) = ux(t)luxmax-\<0 (B.14) Cuy (0 = ~ u y (0 / 1 1 y max " 1 ^ 0 , C j , (0 = Uy (t) I lly m a x - 1 < 0 (o = -x(t)/jxmax-\<o , c+x-(o = *(/) /y x m a x -1<o Cy(t) = -y(t)lJym^-^Q ; ^ ( O - y X Q / ^ m a x - l ^ Q lower bound constraints upper bound constraints Considering the feedrate upper bound constraint Cf(t) = s(t)/fmax - 1 < 0 , its gradient with respect to normalized segment durations is obtained as: dCl = _\_ds(t) (B.15) dXT fmax dXT where the gradient of the feedrate profile (ds I dXT ) is obtained in Eq. (B. 13). The axis kinematic profiles have been given in Chapter 4, Eq. (4.23) as: r(t) = rs(s)-s(t) r(t) = rss(s)-s2(t) + rs(s)-s(t) HO = rsss (s) • i 3 (0 + 3rM (s) -s(t)- s(t) + rs(s)- s(t) (B.16) where r(s) = [x(s) y(s)]T. The x axis velocity upper bound constraint can be obtained by combining Eq. (B.14) and (B.16) as: Ct (0 = — m - 1 = — (s) • s(t) -1 < 0 (B. 17) V V K x m a x ' x m a x and its gradient with respect to normalized segment durations is obtained as: 8C+X dX1 vx ds ds - + x c dXT s dXT (B.18) Appendix B. Computation of the Gradients in Feedrate Optimization 155 The x axis jerk upper bound constraint is obtained from Eq. (B.H) and (B.16) as: c±(0 = — x ( 0 - i = — Amax Amax (s)• s (t) + 3xss(s)• i(0• s(t) + xs(s)-s(t) •1<0 (B.19) and its gradient with respect to normalized segment durations is obtained as: dC-t 1 .3 ~ ) ds J .2 ..\ ds . ds ds xsssss + : i x s s s ' s ' s + xsss IQJT + vssss "+' xssi') j- + s s S Qjf + X s djf 3X Jxmax The axis dynamics is given in Chapter 4, Eq. (4.24) as: (B.20) ux ~Jex 0 " 'x + ~Bex 0 " X + dx 0 N sgn(x) _ 0 Jey 0 Bey 0 dy. _sgn(j>)_ (B.21) « Je ' Be ' d sgn(r) The x axis control signal (motor torque) upper bound constraint can be written by combining Eq. (B.H), (B.16), and (B.21) as: c£(0 = — «,(0-i = -—— Jex (xss (s)-s2+xs (5 ) • s)+ Bexxs (s)-s + dx sgn(x, (s) • s) u and its gradient with respect to normalized segment durations is: (B.22) •1<0 dC+ux_ 1 dr ux (jex[xsssS + xsss] + Bexxss^) T + i^exxss^ + B e x x s ) j dX ds dxT exsdxT (B.23) The gradients of the lower bound constraints have identical expressions to those of the upper bound constraints, with opposite sign (Eq. (B.H)). The gradients for the y axis constraints can be obtained by replacing the occurrences of 'x' with 'y' in Eq. (B.l8), (B.20), and (B.23). Appendix C Cubic Acceleration Profiled Feed Motion Figure C l : Cubic Acceleration Based Feed Motion. Jerk continuous feed motion with cubic acceleration transients is shown in Fig. C l . It is assumed that the motion may initiate with a nonzero feedrate fs, then accelerate or decelerate to the nominal feedrate F, at which the majority of the tool travel is intended, then reach the final feedrate fe at which connection to the next segment occurs. The acceleration, deceleration, and 156 Appendix C Cubic Acceleration Profiled Feed Motion 157 jerk magnitudes that govern the transitions in feedrate have been denoted with A , D , Jx, J3, J5, and 7 7 . The analytical expression for the jerk profile in Fig. C l is: S-(x) = 6A 2 6A T2 , 0<t<t{ 0 , tx<t<t2 6A 2 6A , t2<t<t3 0 , t3<t<t4 6D 2 TX5 6D T52 , t4<t<t5 0 , t5<t<t6 6D 2 6D 7 T T 7 li , t6<t<t7 (Cl) Integrating Eq. ( C l ) with respect to time yields the tangential acceleration profile as, 0 < t < s(x) = 2A 3 3A 2 --3*1 + ^ 2 X l T{ T-A 2A 3 3A 2 , 2D 3 3D 2 2D 3 3.9 2 n i 7 y 7 rt <r</2 h <t<ti t3<t<t4 t4<t<t5 t5 <t<t6 te,<t<U (C.2) The expressions of feedrate and travel distance are obtained by integrating Eq. (C.2) two more times with respect to time: Appendix C. Cubic Acceleration Profded Feed Motion 158 and, i ( T ) = , A 4 AT, '•-^  V , 0 < / < /, fle + A * 2 , tx<t<t2 , A 4 A 3 . •4*+ 3 T 3 T2X3+AX3 , r2 < / < r3 he , t3<t <t4 , D 4 D 3 , t4<t<t5 fse+Dxe , /5<f</6 r D 4 I> 3 n / 6 e + - T 3 X 7 r 2 ^ 7 + ^ 7 , r 6 </<r 7 *(x) = ior , ^ 5 /4 4 -^ 2 r sie +: Axi Ax\ • + -i o r 3 3 4 r 3 2 2 5 3 e + / 3 e T 4 s4e D 5 D 4 l W T 5 + ^ ? T 5 + / 4 e T 5 5 ^ 5 s5e + + / 5 e T 6 5 6 e + Dx^ D x 7 D x 2 + -- 3 Arr2 2 L + / 6 ^ 7 0 < t < tx tx<t<t2 t2<t<t3 t2<t<t4 t4<t<t5 t5<t<t6 u<t<t 7 (C.3) (C.4) 1077 47? where the feedrates (fXe ,...,fle) and travel distances (sXe ,...,sle) reached at the end of each phase are, Appendix C. C u b i c A c c e l e r a t i o n P r o f i l e d F e e d M o t i o n 159 3_ 20 *4e = Sie + heT4 > ( C l 5 ) 4 e + ^ h 2 + f 4 e 7 5 e + ± D T 2 + f 5 e T 6 6 e + ^ D T 2 + f 6 e 7 It should be noted that the feedrate, acceleration, and jerk parameters defining the feed motion must result in kinematic profiles that are compatible with each other. The compatibility conditions are summarized below. f i e , AT, = h + — 1 JS 2 > ^le fie = f\e + ^ h . S2e he -f +A T 1 2 > s3e f4e = he > s  he -f + D T 5 ' s5e f(,e = he+DT6 ' s6e fie ~he+ 2 > sle CA. Jerk Condition From symmetry, Jx = - J 3 and J5 = - J 7 . All jerk values are chosen to have the same mag-nitude (i.e. \J\\ = |^31 = \J$\ = \Jj\ = J ), where J cannot exceed the highest jerk (J\m]i) deliver-able in one control loop sampling period (Ts). Hence, where A m a x is the largest allowable acceleration magnitude. If this condition does not hold, then the jerk value is decreased to J - A m a x I Ts C.2. Acceleration Condition The duration of the constant acceleration stage T2 has to be a nonnegative value, Tl=lzA„!i±lL>0 (C.7) Appendix C. Cubic Acceleration Profiled Feed Motion 160 If this condition does not hold, the acceleration magnitude is reduced to realize T2 = 0 . Con-sidering that 7] = r 3 = 3AI2JX, A is obtained as, A = sign(F - /,) • pJl(F-fs)/3 .(C.8) C.3. Deceleration Condition The duration of the constant deceleration stage T6 has to be a nonnegative value, T6 = (C.9) D 2 If this condition does not hold, the deceleration magnitude is reduced to realize T6 = 0 . Con-sidering that T5 = T7 = 3D 12J5, D is obtained as, D = sign(/e - F) • pJ5(fe-F)/3 (C.10) C.4. Travel Length Condition The distance traveled at the end of the seventh phase in Eq. (C.5) should be equal to the desired total displacement (i.e. sle = L ). Substituting the expressions for T2 and T6 in Eq. (C.7) and (C.9), and substituting the expressions for Tj, T3, T5, and T7 in the acceleration and decel-eration conditions, the total travel length can be expressed as a quadratic function of feedrate as, L = aF2+($ + T4)F + y (Cn) a = J 1_ 3 = 3 a 2A 2D 4 rA_+D^ \ J \ J5J 3 Y = 4 r f 2 A 2D (C.12) The constant feedrate duration T4 has to be a nonnegative value, T4 =J[L-(O.FZ +pF + y)]>0 (C.13) Appendix C. Cubic Acceleration Profded Feed Motion 161 If this condition does not hold, then the nominal feedrate F is reduced to realize T4 = 0 as, F ^ - P + Vp2-4a(Y-Z) (C.14) 2a if -4a(y-Z) is complex, a feasible solution does not exist for the given initial and final feedrates. In this case, fs and fe are gradually reduced, while updating the neighboring feed segments, until a feasible solution is obtained. All of the above four conditions have to be realized. If any one of them requires an adjustment, the dependent conditions are re-evaluated. C.5. Motion Duration The duration of motion (Ti = ^ , = 1 ^ ) required to travel the length L must be an integer multiple ( N% ) of the control loop sampling period Ts. This is achieved by computing the dura-tion of each phase, determining the total number of interpolation steps (JV£ ), and updating the total duration as, Nz=ro\md(Tz/Ts) -+ Ti=NzTs (CA5) The duration of each phase is then readjusted as, 77=ar7} for/ = l,...,7 where aT = NzTsIT2 (c-16) Considering the expressions for TX,T2,...,T7 already presented, the acceleration and jerk val-ues can be expressed in terms of feedrate and updated segment durations as, 7/+72 27,1'(7]'+72') (C.17) r 5 '+7^ 3 2r5'(r5'+7;6') Substituting these into Eq. (C. 11) results in the following cubic expression for adjusting the nominal feedrate to realize the correct motion duration, a n F ' 3 +a ,F ' 2 + a 9 F ' + a, =0 ( C- 1 8) Appendix C. Cubic Acceleration Profiled Feed Motion 162 « o = 7 2 + 7 4 «. = (27;' + 2T, + n)- fe(2r4 + 2T; + T{)-2L o-2=-fteT{ + Ti)-f}{2Ti + n) +2fsfen+2L{fs+fe) a 3 =fsfe[fs(2Tl'+Ti) + fe(2Ts+T^-2L] (C.19) Eq. (C.18) is solved iteratively using Newton-Raphson's algorithm, with the nominal feedrate value (F) being used as the initial guess. The acceleration and jerk values are then updated using Eq. (C.17). 

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-0080705/manifest

Comment

Related Items