VIBRATION AVOIDANCE AND CONTOUR ERROR COMPENSATION IN HIGH SPEED FIVE-AXIS MACHINE TOOLS USING COMMAND SHAPING TECHNIQUES by MOHAMMAD REZAYI KHOSHDARREGI B.Sc. Sharif University of Technology, Iran, 2010 A THESIS SUBMITTED IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE DEGREE OF MASTER OF APPLIED SCIENCE in The Faculty of Graduate Studies (Mechanical Engineering) THE UNIVERSITY OF BRITISH COLUMBIA (Vancouver) September 2012 © Mohammad Rezayi Khoshdarregi, 2012 Abstract The present machine tools travel at high velocities with large acceleration and jerk, which creates large inertial loads with wide frequency content, resulting in excitation of the natural frequencies of the machine. This thesis presents a command shaping module which avoids structural vibrations and improves contouring accuracy in five-axis machine tools. Inertial-induced vibrations of feed drives are avoided by applying a sequence of input shaping impulses on the axis position commands as a function of natural frequencies of the machine. Input shapers block those harmonics of the command which can excite the modes of the machine. While command shaping avoids the excitation of transient vibrations caused by inertial loads, it introduces a time delay which increases the contouring errors in multi-axis motion control systems. Although input shaping can effectively avoid vibrations, it distorts the toolpath in multi-axis contouring due to added time delays. The distortion increases the contour errors caused by the limited bandwidth of axis servo drives, resulting in relatively large geometric errors and violation of the required tolerance. The transfer function of the axis drives and kinematic configuration of the machine tool are used to estimate the contouring error, which is decoupled into axis components, and compensated prior to sending the position commands to each drive. The proposed integrated input shaping and contour error compensation module can be applied on any arbitrary trajectory, and the shaped-compensated command results in vibration-free and accurate contouring of the desired path. The input shaping and contouring error compensation techniques introduced in the thesis have been experimentally validated in single, two and five axis machine tools. ii Table of Contents Abstract.............................................................................................................................. ii Table of Contents ............................................................................................................. iii List of Tables ...................................................................................................................... v List of Figures....................................................................................................................vi Nomenclature ..................................................................................................................... x Acknowledgment .............................................................................................................. xv 1 Introduction ................................................................................................................ 1 2 Literature Review ....................................................................................................... 6 3 4 2.1 Overview ............................................................................................................... 6 2.2 Vibration Reduction in Machine Tool Feed Drives .............................................. 6 2.3 Input Shaping of Reference Trajectory ................................................................. 8 2.4 Improving Contouring Performance in Multi-axis Machines ............................. 12 2.5 Conclusion........................................................................................................... 14 Input Shaping of Reference Commands for Vibration Avoidance ...................... 15 3.1 Introduction ......................................................................................................... 15 3.2 Vibration Cancellation Technique ...................................................................... 15 3.3 Reference Shaping Principle ............................................................................... 19 3.4 Input Shaper Design ............................................................................................ 20 3.4.1 Zero-Vibration (ZV) Shaper ........................................................................ 21 3.4.2 Robustness of Zero-Vibration (ZV) Shaper................................................. 23 3.4.3 Zero-Vibration and Derivative (ZVD) Shaper............................................. 25 3.4.4 Robustness of the Zero-Vibration and Derivative (ZVD) Shaper ............... 31 3.4.5 Further Improvement of Shaper Robustness ............................................... 33 3.5 Discretization Effect in Digital Input Shaping .................................................... 36 3.6 Comparing Input Shapers with Classical Frequency Domain Filters ................. 41 3.7 Summary ............................................................................................................. 47 Improving Accuracy by Pre-compensation of Contour Errors ........................... 48 4.1 Introduction ......................................................................................................... 48 4.2 Definition of Contour Error ................................................................................ 48 iii 5 4.3 Contour Error Estimation using Frenet Frame .................................................... 50 4.4 Trajectory Distortion caused by Input Shaping .................................................. 53 4.5 Pre-compensation of Contour Errors .................................................................. 58 4.5.1 Pre-compensation of Path Distortion and Machine-dependent Contour Errors 60 4.5.2 Simplified Versions of the Proposed Command Shaping Module .............. 67 4.6 Statistical Evaluation of Contour Error Compensation ....................................... 70 4.7 Summary ............................................................................................................. 77 Implementation and Experimental Results............................................................ 78 5.1 Introduction ......................................................................................................... 78 5.2 Implementation on the Single-axis Linear Drive with Oscillator ....................... 78 5.2.1 Experimental Setup ...................................................................................... 79 5.2.2 System Modeling ......................................................................................... 80 5.2.3 Controller Design ......................................................................................... 84 5.2.4 Single-mode and Multi-mode Input shaping ............................................... 85 5.2.5 Experimental Demonstration ....................................................................... 88 5.3 5.3.1 Experimental Setup ...................................................................................... 89 5.3.2 System Modeling ......................................................................................... 90 5.3.3 Controller Design ......................................................................................... 93 5.3.4 Input Shaper Design..................................................................................... 96 5.3.5 Vibration Avoidance Experiment ................................................................ 98 5.3.6 Contour Error Compensation Experiment ................................................. 104 5.4 Five-axis Command Shaping with Avoidance of Real Structural Modes ........ 108 5.4.1 Experimental Setup .................................................................................... 108 5.4.2 System Modeling ....................................................................................... 109 5.4.3 Controller and Observer Design ................................................................ 113 5.4.4 Identification of Structural Resonance Modes and Designing Input Shapers 117 5.4.5 Implementation of Contour Error Compensation Module ......................... 118 5.5 6 Multi-axis Implementation on the Linear Motor Driven XY Table ................... 89 Summary ........................................................................................................... 127 Conclusions ............................................................................................................. 129 Bibliography ................................................................................................................... 131 iv List of Tables Table 3.1: Comparison of performance achieved by input shapers and classical filters ..... 47 Table 5.1: Dynamic specifications of Siemens 1FN1 Linear Motor. .................................. 79 Table 5.2: Dimensions of the Aluminum oscillator. ............................................................ 80 Table 5.3: Dynamic parameters of the rigid model of the linear motor. ............................. 81 Table 5.4: Parameters of the oscillator tip vibrations .......................................................... 83 Table 5.5: Dynamic parameters of the rigid model of the linear motor. ............................. 91 Table 5.6: Actual resonance parameters of the closed loop systems. .................................. 96 Table 5.7: Dynamic parameters of the rigid model of the drives ...................................... 111 v List of Figures Figure 1.1: Schematic frequency-domain analysis of feed drive vibrations............................ 3 Figure 1.2: Illustration of active damping and command shaping for vibration reduction in machine tool feed drives. ........................................................................................... 4 Figure 2.1: Basic cross coupling contour error control proposed by Koren [54]. ................. 13 Figure 3.1: Vector diagram of total vibration caused by a sequence of two impulses [46]. .............................................................................................................................. 18 Figure 3.2: Self-canceling characteristic in a two-impulse sequence [42]. ........................... 19 Figure 3.3: Reference shaping using a sequence of impulses................................................ 20 Figure 3.4: Sensitivity of ZV shaper against mismatch in frequency and damping ratio. ( rζ = ζ act ζ mdl , rω = ωn − act ωn − mdl ) ......................................................................... 24 Figure 3.5: Sensitivity of ZVD shaper against mismatch in frequency and damping ratio. ( rζ = ζ act ζ mdl , rω = ωn − act ωn − mdl ) ......................................................................... 32 Figure 3.6: Comparing the sensitivity of ZV and ZVD shapers against mismatch in frequency and damping ratio. ....................................................................................... 33 Figure 3.7: Comparing the sensitivity of ZV, ZVD, EI and ZVDD shapers against mismatch in frequency and damping ratio. .................................................................. 36 Figure 3.8: Two possible extreme cases for the discretization of a ZVD shaper [41]........... 38 Figure 3.9: Minimum sampling time to keep the percentage of residual vibration caused by discretization of shaper below 5%........................................................................... 40 Figure 3.10: Frequency response function of ZVD and ZVDD shapers. .............................. 43 Figure 3.11: System response to ZVD- and ZVDD-shaped step for the exact and mismatched (15%) models ( ωn = 1Hz , ζ = 0 ) ............................................................ 44 Figure 3.12: Frequency response of the designed lowpass and bandstop filters ................... 45 Figure 3.13: System response to a step command shaped by lowpass and bandstop filters. (The mismatched model has 15% deviation from the modeled frequency)...... 46 vi Figure 4.1: Illustration of tracking error and contouring error. ............................................. 49 Figure 4.2: Using Frenet frame in estimation of contour errors. ........................................... 50 Figure 4.3: Using shifted Frenet frame in estimation of the contour errors. ......................... 51 Figure 4.4: Trajectory distortion caused by input shaping. ................................................... 55 Figure 4.5: Contour error caused by input shaping for a circular path. ................................. 55 Figure 4.6: Maximum contour error caused by input shaping for a circular path contoured at different feedrates while avoiding different structural frequencies. ........ 56 Figure 4.7: Maximum contour error caused by input shaping in different distortion indices. .......................................................................................................................... 57 Figure 4.8: Illustration of pre-compensation of contour errors. ............................................ 59 Figure 4.9: Schematic configuration of a five axis machine with tilting table (XYZAC) [Sencer, 2009]. ............................................................................................................. 61 Figure 4.10: Schematic block diagram of the proposed integrated five-axis input shaping and contour error compensation. .................................................................................. 62 Figure 4.11: Simplified version of the proposed command shaping module; only compensating the contour errors caused by the machine dynamics, no vibration avoidance. ..................................................................................................................... 69 Figure 4.12: Schematic block diagram of the proposed integrated input shaping and contour error compensation for three-axis Cartesian machines. .................................. 70 Figure 5.1: Siemens 1FN1 Linear Motor with flexible oscillators. ....................................... 79 Figure 5.2: Rigid body model of linear drives from input voltage to motor position. .......... 81 Figure 5.3: Modeling the tip position of the oscillator as base-excitation. ............................ 82 Figure 5.4: Block diagram of the closed loop system including the oscillator dynamics. .... 83 Figure 5.5: Bode plot of the system from input voltage to position of the table and oscillators...................................................................................................................... 84 Figure 5.6: Simulated motor position and oscillator tip position subject to the shaped and unshaped step inputs. ............................................................................................. 87 Figure 5.7: Simulated vibration of the oscillator tip subject to shaped and unshaped step commands. .................................................................................................................... 88 vii Figure 5.8: Simulated control signal in the shaped and unshaped cases. .............................. 89 Figure 5.9: Linear motor driven XY table used for multi-axis implementation of input shaping.......................................................................................................................... 90 Figure 5.10: Modeling of linear drives for each axis of the XY table. .................................. 91 Figure 5.11: Frequency response function of the open loop system for each axis of the XY table. ...................................................................................................................... 92 Figure 5.12: Block diagram of the closed loop system for the XY table. ............................. 94 Figure 5.13: Simulated frequency response function of the closed loop systems including the imposed resonance modes. ..................................................................... 95 Figure 5.14: Toolpath and the interpolated axis commands in contouring the circle from a quadrant point . .......................................................................................................... 99 Figure 5.15: Measured axis tracking errors for the shaped and unshaped commands in contouring the circle starting from a quadrant point . ................................................ 100 Figure 5.16: Toolpath and the interpolated axis commands in contouring the circle from a non-quadrant point . ................................................................................................. 102 Figure 5.17: Measured axis tracking errors for the shaped and unshaped commands in contouring the circle starting from a non-quadrant point. .......................................... 102 Figure 5.18: Measured axis control signals for the shaped and unshaped commands in contouring the circle starting from a non-quadrant point .......................................... 103 Figure 5.19: Magnitude and axial components of shaping distortion in contouring the circle starting from a non-quadrant point . ................................................................. 104 Figure 5.20: Experimental contour error caused by input shaping and drive dynamics in contouring the circle starting from a non-quadrant point . ......................................... 105 Figure 5.21: Axial contour error compensation signals (low-pass filtered at 3Hz ) in contouring the circle starting from a non-quadrant point . ......................................... 106 Figure 5.22: Contour error comparison in following a circular path for the three cases: unshaped, shaped, and shaped-compensated commands . ......................................... 106 Figure 5.23: Control signal comparison in following a circular path for the three cases: unshaped, shaped, and shaped-compensated commands. .......................................... 107 Figure 5.24: Five-axis Fadal Machining Center used for the realistic experiment.............. 108 viii Figure 5.25: Ferraris sensor used for measuring the torsional vibrations of ballscrews. .... 109 Figure 5.26: General configuration of ballscrew driven axes [Erkorkmaz, 2003]. ............. 110 Figure 5.27: Modeling the dynamic of rotary motors-driven feed drives. .......................... 110 Figure 5.28: Closed loop control system of the feed drives with state feedback controller. ................................................................................................................... 113 Figure 5.29: Closed loop control system of the feed drives with state feedback controller and Kalman filter. ....................................................................................................... 117 Figure 5.30: FFT of the transient acceleration of the drives subject to the shaped and unshaped linear trajectory (maximum acceleration a = 2000 mm/s 2 ). ...................... 119 Figure 5.31: Sample five-axis helical toolpath used for contour error experiment. ............ 120 Figure 5.32: Trajectory components described in the workpiece frame (solid line) and machine axis commands (dash-line) in contouring a five-axis helical toolpath ( f = 150 mm/s ). ........................................................................................................... 121 Figure 5.33: Simulated (dash-line) and measured (solid) axis tracking errors in contouring the five-axis helical toolpath ( f = 150 mm/s ). ........................................ 122 Figure 5.34: Machine-dependent contour error (measured-unshaped) and toolpath distortion caused by input shaping in contouring the five-axis helical toolpath ( f = 150 mm/s ). ........................................................................................................... 123 Figure 5.35: Predicted (simulated) components of tooltip contour error (in workpiece frame) in contouring the shaped toolpath ( f = 150 mm/s ). ....................................... 124 Figure 5.36: Axis compensation signals (simulation) low-pass filtered at 10 Hz. .............. 125 Figure 5.37: Measured contour errors for the unshaped and shaped-compensated fiveaxis helical toolpath ( f = 150 mm/s ). ........................................................................ 126 Figure 5.38: Simulated contour error for the unshaped and shaped-compensated commands when the axis control loops include feedforward friction compensation (in both cases) ( f = 150 mm/s ). ................................................................................. 127 ix Nomenclature Symbols A, B, C, D State space model Aj Amplitude of the jth impulse in the shaping sequence Atot Amplitude of the resultant summation vector b Bi-normal axis of Frenet frame Dind Distortion index E Error level e Tooltip tracking error eF Tooltip tracking error represented in the Frenet frame eˆF Tooltip tracking error represented in the compensated Frenet frame F Frenet frame Fˆ Shifted Frenet frame f feedrate G Transfer function (general) Gc Transfer function of controller Gp Transfer function of plant h Displacement delay of Frenet frame hF Displacement delay in the shifted Frenet frame Ia Motor current k Sampling counter ka Amplifier gain x ke Encoder gain kj Delay counter of the jth impulse in the shaping sequence k p , ki , k d Coefficients of PID controller k pos , kvel State feedback gains kt Motor constant kx , k y Cross-coupling gains L Laplace transform operator N Normal distribution n Normal axis of Frenet frame OS Overshoot value Pa Actual tool pose represented in the workpiece frame Pd Desired tool pose represented in the workpiece frame Pn Nearest point (on the reference path) to the actual tooltip position R Radius Rot() Rotational operator s Laplace variable Td Period of residual vibrations Tf Friction torque Tm Motor torque Ts Sampling time t Time t Tangential axis of Frenet frame td Time delay of Frenet frame xi tj Time delay of the jth impulse in the shaping sequence Vin Input voltage V prv Percentage of residual vibration W Weight function in cross-coupling controller X, Y, Z, A, C Axis drives of machine tool δ Dirac impulse function ε Tooltip contouring error εˆ Estimation of tooltip contouring error ζ Damping ratio μ Mean value of distribution ϕj Phase delay of the jth impulse in the shaping sequence σ Standard deviation of distribution ωa Actual angular velocity ωc Contouring frequency ωd Damped natural frequency ωn Natural frequency Subscripts a, act actual CL closed loop cmp compensated cmpErr compensation error cmpSig compensation signal xii cnt controller d desired ds desired-shaped dsc desired-shaped-compensated filt filtered j impulse number KF Kalman filter mdl modeled obs observer osc oscillator pp pole placement r, ref reference rand random rep repetitive rep-Nmdl repetitive-not modeled rs reference-shaped rsc reference-shaped-compensated s, shp shaped tb table w represented in the workpiece frame xiii Acronyms CMM Coordinate Measuring Machine CNC Computer Numerical Control EI Extra Insensitive FFT Fast Fourier Transform FIR Finite Impulse Response FRF Frequency Response Function IFFT Inverse Fast Fourier Transform IIR Infinite Impulse Response LPF Low-pass Filter MAL Manufacturing Automation Laboratory at UBC NURBS Non-uniform rational B-spline SI Specified Insensitivity ZPETC Zero Phase Error Tracking Control ZV Zero-Vibration shaper ZVD Zero-Vibration-Derivative shaper ZVDD Zero-Vibration-Derivative-Derivative shaper xiv Acknowledgment I would like to express my sincere gratitude to my research supervisor, Dr. Yusuf Altintas for his valuable instructions and unconditional support throughout my research and coursework. His impressive energy, patience and motivating attitude have been greatly encouraging to me, not only in my research and studies but also in my personal life. I would also like to thank my friends at the Manufacturing Automation Laboratory for their support and making my M.A.Sc studies an enjoyable experience. I should particularly thank my friend Alex Yuen for his great help in preparation of the experimental setups. Last but not least, I am grateful to my beloved family for their non-stop support, especially their patience regarding my long absence from home to do my graduate studies abroad. I would like to dedicate this work to my parents, who never stopped loving me and supporting me. xv Chapter 1. Introduction 1 Introduction Machining is widely used in different metal-working industries owing to the achievable quality and mechanical properties of the finished parts. However, machining requires removing a great portion of the original material to achieve the final part. For example, in order to manufacture a turbine impeller, more than 90% of the original block has to be machined away. Since the final cost of the part is directly related to the machining cycle time, increasing the productivity of the operation is crucial in industry. This motivation has led to a great deal of research in the field of high speed machining. Increasing the speed of the machining operation involves different aspects related to the process and the machine. Owing to the advancement in the field of spindle design, the achievable torque and spindle speeds has significantly increased over the past two decades, facilitating the use of higher feedrates and depth of cut in order to increase the material removal rate. In addition, there has been a great deal of work focusing on optimizing the process to achieve higher productivity while avoiding chatter instability. Another aspect of high speed machining is that the motion control system of the machine tool must be able to provide fast but accurate relative motions between the cutting tool and the workpiece. The control system must be able to maintain the required accuracy even in the presence of uncertainties, e.g. varying dynamic, as well as disturbance such as cutting forces. In order to have a reliable motion system, first of all, it is necessary for the machine to have well-designed and well-manufactured hardware; for example, the ballscrew drives which move the machine table must be relatively stiff with minimum backlash and assembly errors. On the software side, the CNC system which controls the axis motions must be able to provide smooth commands to the servo drives and maintain the accuracy even at the presence of uncertainties and disturbance. A great deal of effort has been put towards designing robust high bandwidth controllers to serve this purpose. One of the main challenging problems in motion control of high speed machine tools is that the required rapid motions involve high acceleration and deceleration of the drives, resulting in excitation of the structural modes of the machine tool. These inertial1 Chapter 1. Introduction induced vibrations leave unwanted surface marks on the part and result in poor surface quality. In order to move the axis drives smoothly and without vibration, the desired toolpath must be interpolated and parameterized with smooth curves such as B-splines or NURBS such that it does not cause large feedrate fluctuations. The motion trajectories must be realized using high order continuous feedrate profiles such as trapezoidal or cubic acceleration profiles. However, even if the trajectories are generated to move the tool smoothly along the path, it does not necessarily result in the smooth motion of the individual axes. Figure 1.1 demonstrates a schematic frequency-domain analysis of feed drive vibrations. Assume that the axis has a low damping structural mode at a certain frequency, which appears as a large amplitude resonance in the Frequency Response Function (FRF) of the drive. The frequency spectrum of the input can be obtained by taking Fast Fourier Transform (FFT) of the command (or disturbance). The output response is also obtained by multiplying the FFT of the command and the FRF of the system, followed by taking Inverse Fast Fourier Transform (IFFT). However, if the input (command or disturbance) has significant harmonics in the vicinity of the system resonance mode, when it is multiplied by the FRF of the drive, it results in a large spike in the frequency spectrum of the output, which appears as dramatic vibrations in time domain. In order to avoid vibrations of the feed drive, either the system resonance mode must be damped out, or the harmonics of the input around the resonance frequency must be removed. Figure 1.2 illustrates these two main approaches; in the first approach, which is called active damping, vibrations are measured in real time, e.g. by means of accelerometers, and a suppressing signal is calculated by a damping network. This approach can be effective in suppressing both the inertial-induced vibrations as well as the vibrations caused by disturbance such as cutting forces. However, active damping method needs additional sensors (accelerometer), and also alters the stability and dynamic of the closed loop system. Therefore, it may not be very trivial to integrate the damping network to the controller. In addition, this technique normally results in very active actuation signals 2 Chaapptteer 11. In Ch Inttrrodduccttioonn wit w thh re relaattiv veely la larggee hig h ghh fre f eq quueenncy co conntenntts, wh whiich h ca cann saattuuraatte th the dr driv veess an a d iim mp poossee adddittionnaall no ad noiisee oonn th t e me meaassuureem men m ntt de devviicess, an andd th thu us de deggraad dee th thee co conntrrool pe perffoorrm maanncce. F Fig gu urree 1. 1.11: Sc Sch hema matiicc ffreqquueen nccyy-ddoom ma mainn annaally ysiiss ooff ffeeed dr d iv vee vi vib braattioonnss. An Ano otthherr aapppprooaacch h, wh whicch h iss th t e ma mainn fo f cuuss of of thhis th thesiis, iss th thatt kknnoow wing tthhee vibbraattioon vi n ch haarraacteerrisstiicc of of th thee sy syssteem m m, thhee coom mm mmaannddeedd tr t ajjeectoorryy ca cann be be mo moddiifiieedd ah aheeaadd of of tm tim me tto o aav vooidd inerrtiaal--induucceed d vib v brraatiioonns ooff th hee dr drivvee. U Unnliikkee accttiv vee da dam mp piinngg m meeth hoodd,, t ajjectto tra ory y m mooddifficcaattioonn ddooes no nott re reqqu uirree annyy ad adddittionnaall hharrddw waarree, an andd itt allsso re ressuultts in in mu muchh sm smooo otthherr connttrrol siiggnnaal w wiithh leesss hi high-ffreeqquueen nccy y hhaarrm moonniics. Th Thee ma maiin n llim m mittaatiion of of com co mm man ma ndd m modifficcaatiioonn m meethhood d iss tthhaat siinncce itt iss aann offfliinne ffeeddffoorw ward wa d teecch hnniq quuee, it i can nnnoott redduucee th re the vviibbraattioonnss cau usseed d bby y disstu urrbbaanncee.. Ho How weevveerr, m maacchhine vi vibbraattio onnss inn fin f niish hiinngg opeerrattioon op nss arree mo mostllyy ddoom miinnaateedd byy th hee comm mman ndd--innd duucceedd in ineerttiaall vi vibbraattioon nss, w whhiichh ma makkeess i reeaassoonnab it bllee to to em empplooyy ttrrajjeecto orry y mo m diifficcaatiioonn te techhnniiqqu uees aah heaadd of o tiim mee. 3 Chaapptteer 11. In Ch Inttrrodduccttioonn Fig F gu urree 1. 1.2 2: Illusttraattioonn of acttiv vee ddam m mp pinngg an and co com mm ma mand sh shappiinngg fo for vvibbrraatiioon n rreeddu ucttionn inn m maachinnee to toool feeeedd dr drivess. Th Theeree ha havve be beeenn seevveerrall teecchhnniqquueess pr proop poosed d fo for pe perffoorrm miin ng co com mm m maanndd mo moddifficcaatiio onns. Th Thiss thheessiss pprreessennttss th the iin nvessttiggaatiioon n of of innppuut sshhaapinngg te tecch hnniqqu uee, w whhiich ca cann opttim op m lly mal y rem r mo mov vee th the un unw waannted d ha harm m mo onniccss ooff tthhee co com mm ma manndd, anndd av avoid d sttruuccttu uraall vviibraattioonnss. In thhiis m In meethhoodd, tthhee oriigginnaal ax axiis co com m mm maannddss arree “sh “ haappeedd”” by co connvvoollvin ngg thheem m wit w thh a seqquuennccee of se of im mppuullsses ca callleed d “iin nppuut sh shaapperr””. Th Thee am amp pllittuud dees an andd tim me lo locattioonnss of of tthhee imp im puullseess arree de dessignneedd ba baseedd on on th the ffreeqquueennccy y an andd dam d mp mpinngg ooff tthe str s ruucctuurraal m mooddeess ooff tthhee driv dr veess; th hee kkeeyy cchhaarracctteeriisttic of of an an innp puutt sh shaap per iss th haatt iit ccaanceells its i s ow wn vi wn vib braattio onnss w whheenn apppliieed ap d to to th thee co corrreessppoon nddinngg me mecchhaniccaal syysttem m. Su Succhh a seq quueennccee of of im imppuullsess can n bbee us useedd as a shhaap as piing fu functtioonn inn th hee seen nssee tthhatt annyy arbbiitrraaryy com mm mmaan ndd iff co connvvoolvveedd w withh thhis shhaappeerr, the re th r suulltaan nt sh shappeedd com mm mmaanndd w willl no not ccaauusee annyy vib v brraatiioonns,, eeiithheerr. Ho How wevveerr, a chhaallleenngginng g pr proobleem m witth in inppu ut shappiinng gm meethhoodd iss thhaatt it i di disttoorttss tthhee t ajjectto tra ory y, m meeaan ninngg th thatt thhee sh shapedd re refeerrencee to t ollp paath h ha hass ddeev viiaatiions fro f om m thhee ooriigginnaall dessirreed de d on onee. Th Thee sshhaappinngg dis d stoorrttio onn ad adddss up up too th hee geo om me metrricc connttoouur err e roorrs ooriigginnaatted fro f om m the lim th l mit m ted bbaannd dw widtthh of seerrv vo o ddrrivveess, rresuulltiin ngg in in vviioolaatioonn off th hee re req quuirreed d tto oleerraan nce.. Th Thiiss 4 Chapter 1. Introduction thesis proposes a pre-compensation technique which estimates the contour errors originated from both input shaping distortion and machine dynamics. The chapters of the thesis are organized as follows: Chapter 2 reviews the related research on command shaping techniques published in the literature. The theory of input shaping technique and the corresponding mathematical derivations are presented in Chapter 3, followed by the proposed method for pre-compensation of contour errors in Chapter 4. Experimental verifications are provided in Chapter 5, and the conclusions and possible future directions are presented in Chapter 6. 5 Chapter 2. Literature Review 2 Literature Review 2.1 Overview Due to the demand for higher productivity in industry, high speed machining has been studied extensively in the literature. Basically, demanding higher accelerations and velocities from the feed drives results in two main problems; first, the required axis motions contain high frequency harmonics, which can excite the structural modes of the machine and cause dramatic vibrations. The second issue is that due to the limited bandwidth of the servo drives, the actual response of the machine at high feedrates exhibits relatively large deviations from the desired toolpath. This chapter briefly reviews the achieved advancement and the remaining challenges in motion control of high speed machine tools. Section 2.2 presents several techniques to avoid or suppress the vibrations in machine tool feed drives. Section 2.3 particularly focuses on the literature which employs input shaping to avoid structural vibrations. Basic approaches for improving contouring accuracy are presented in Section 2.4 followed by the conclusion of the chapter in Section 2.5. 2.2 Vibration Reduction in Machine Tool Feed Drives Structural vibration in flexible systems and particularly in machine tool feed drives can be reduced by two main approaches, namely suppression and avoidance. In vibration suppression techniques, also known as active damping, a sensor is used to measure the vibrations in real time, and a suppressing signal is added to the control output to damp out the detected vibrations. In vibration avoidance approach, on the other hand, excitation of the structural modes is avoided through smooth trajectory generation and command modification techniques. In order to implement active damping techniques, the flexible dynamic of the plant must be considered in the control law. There has been great deal of research focusing on 6 Chapter 2. Literature Review prediction and modeling of the flexibilities in machine tool feed drives. For example, Allotta et al. [1] as well as Okwudire and Altintas [31] used finite element methods to estimate the structural modes of the drives considering the stiffness of the lead screw and joint dynamics. One of the earliest work in implementation of active damping was carried out by Chen and Tlusty [9]; they used accelerometric feedback to suppress the drive vibrations, and also used feedforward controller to achieve better tracking performance. Altintas and Okwudire [5] enhanced the dynamic stiffness of a direct-driven feed drive using sliding mode controllers with disturbance recovery. Kamalzadeh et al. [22] achieved improved stiffness in ball screw drives by using a robust sliding mode controller and compensating the elastic deformations and lead errors. In order to consider the varying position-dependent stiffness in ballscrew drives, Hanafizadegan and Nagamune [17] designed a switching gain-scheduled controller which can maintain the performance despite the varying dynamic along the ballscrew. Another approach in reducing vibrations in machine tool feed drives is to avoid excitation of the structural modes by using smooth trajectories. There has been great deal of research in this field resulting in jerk limited [13] and jerk-continuous [2] feedrate profiles. Optimal control techniques have been also used to generate commands for flexible systems [21]. In these techniques, a penalty index such as integral squared error is minimized such that the “optimal” trajectory causes minimum vibrations. However, there are several issues associated with optimal control techniques. First of all, the computation load is extensive as each motion of the system requires re-computation of the control system. Secondly, the penalty index, e.g. integral squared root of tracking error, cannot be exclusively associated with the vibrations as it includes the lumped error originated from various effects. Alternatively, the inverse dynamics of the flexible plant can be used to reduce the command-induced vibrations [7]. In this case, the inverted model of the plant is used to find the required input trajectory which gives the desired output. However, this technique has also certain drawbacks. For example, it requires a detailed model which can reliably 7 Chapter 2. Literature Review describe the dynamic behavior of the system; the success of the method is very sensitive to mismatch between the modeled and actual parameters of the system. In addition, there are several techniques proposed in the literature which generate the required trajectory by adding harmonics of a continuous template function. For example, Meckle and Seering [28, 29] proposed construction of the input command from ramped sinusoids functions; the harmonics which have high energy at resonance frequencies of the system are excluded to avoid structural vibrations. Aspinwall [8] also proposed a similar approach which generates the input trajectory by adding a series of sine waves, and the coefficients are chosen to minimize the frequency content of the input at the natural frequencies of the system. Notch filters are also widely used in filtering the input commands to avoid excitation of flexible systems. However, the main issue with these real time (causal) filters is that they distort the phase of the signal, which becomes more problematic by increasing the order of analog filters or the length of digital filters. Singer and Seering [43] proposed a technique called “input shaping” which can be applied on any arbitrary trajectory to optimally remove the unwanted harmonics of the command. They compared input shapers with classical Finite Impulse Response (FIR) and Infinite Impulse Response (IIR) lowpass/bandstop filters, and showed that input shapers significantly outperform classical filters in terms of vibration reduction, incurred delay and simplicity [44]. Since input shaping has been employed in this thesis, it is reviewed in more details in the next section. 2.3 Input Shaping of Reference Trajectory The earliest form of input shaping was the use of Posicast control proposed by O.J.M. Smith [53] in late 1950’s. In this method, a step command is broken into two smaller sub-commands, one of which is shifted in time such that the vibration caused by the first step is cancelled by that of the second one. However, this technique is extremely sensitive to model mismatch, and the vibration reduction degrades rapidly with the deviation of the modeled natural frequency from the actual one. Specially, in calculation of 8 Chapter 2. Literature Review the magnitudes and time delay of the second step, it is assumed that the system behaves linearly; any nonlinearity appears as model mismatch and dramatically degrades the performance of the technique. As a result, input shaping method did not get into real applications until late 1980’s when Singer and Seering [43] restudied the approach and made it possible to design input shapers with adjustable robustness. In their method, they forced the derivative of the residual vibrations to zero so that a wider range of tolerance against model mismatch can be achieved. This idea for improvement of robustness rapidly re-gained attention of many research groups, and over the past two decades, a great deal of work has been published on employing input shaping in various applications such as robotics, spacecrafts, cranes, and even in more accurate systems such as Coordinate Measuring Machines (CMM). Soon after publishing the first idea of imposing derivative constraints [43], researchers developed other methods to achieve even higher robustness. For example, Singhose et al. [48, 49] and Park et al. [35] showed that further robustness can be achieved by relaxing the zero vibration constraint in designing the shaper. For instance, if 5% residual vibration is tolerated in the design, then the resulting shaper, which is called ExtraInsensitive (EI), can maintain its performance at a wider range of frequencies. Singhose et al. [50, 47] proposed Specified-Insensitivity (SI) shapers, in which the parameters can be designed to achieve desirable level of robustness over any specified range of frequencies. Pao et al. [32, 33] showed that the behavior of the shaper can be further customized by weighting the importance of the frequencies within the suppression range. If the natural frequency of the system varies too much in different operating conditions, e.g. by more than 40% , then the required robust shaper might add significant delay to the command. If the change in the natural frequency is deterministic and predictable by the model, for instance, varying natural frequency along the ballscrew, then feedforward techniques can be used to gain-schedule the shaper based on the predicted conditions; this is possible as the reference axis positions are known ahead of time. However, if the change in the natural frequency of the system is too difficult to model, adaptive techniques which update the shaper parameters in real time using the vibration 9 Chapter 2. Literature Review data can be employed. This approach results in faster rise time since the original non-robust shaper is designed with only few impulses, and the robustness is achieved by real time tuning of the parameters. Adaptation of the shaper parameters can be accomplished by either indirect methods, which first identify the vibration frequencies and then update the shaper, or by using direct adaptation law, which relates the shaper parameters to the sensor output. Tzes et al. [56] estimated the frequency of vibrations using frequency-domain identification technique, and then updated the delay time of the impulses in the shaper. However, the main challenge associated with this approach is that frequency-domain identification can be often computationally extensive and thus not practical for some real time applications. Another approach for indirect adaptation of the shaper is the use of a known relationship between the lower and higher resonance frequencies of the system; time-domain identification of high frequency modes can be accomplished in much shorter time compared to the low frequency vibrations. The identified higher modes are then used to theoretically estimate the lower modes, which are slower but often more dominant [23]. On the other hand, direct adaptation methods adjust the shaper parameters directly from the system output without identifying the frequencies. Rhim [40] and Park [34] showed that this approach can result in better convergence of the shaper provided that the adaptation law can effectively relate the system output to the shaper parameters. However, the problem with adaptation methods, regardless of direct or indirect approach, is that the measurement noise can be interpreted as vibrations, and thus, resulting in wrong tuning of the shaper parameters. Rhim and Book [39] studied the noise effect and investigated how to optimize the solution of time-domain adaptation in the presence of measurement noise. Input shaping can be easily implemented for avoidance of multi-mode systems as well, although in most cases the vibrations caused by the first mode is much more dominant. The easiest way to design a shaper which avoids multiple frequencies is to design a separate shaper for each mode, and then convolve them all together. In this case, the length of the total shaper is the summation of the individual ones. Hyde and Seering [19, 18] showed that shorter multi-mode shapers can be achieved if the constraints on 10 Chapter 2. Literature Review system frequencies are all stacked together and solved simultaneously, although it requires solving more complicated set of equations compared to the convolution method. Singhose and Crain [46] thoroughly studied the tradeoff between the convolution method and the simultaneous solution to investigate how much improvement can be achieved relative to the complexity of finding the solution. In addition to multi-mode systems, input shaping can be implemented on multi-input systems as well [26]. Singhose has conducted a thorough review [45] on the advancement in input shaping research since it was first introduced in late 1950’s. Over the past two decades, input shaping has been implemented on many systems in different applications such as robotics, spacecrafts, and cranes. It has been even implemented on systems which have relatively high frequency and low amplitude vibrations. For example, Jones and Ulsoy [20], and Singhose et al. [52] employed input shaping to improve the accuracy and repeatability of Coordinate Measuring Machines (CMM). In addition, there has been some research on implementation of input shaping on XY stages [51] and Cartesian machine tools [36]; however, most of them try to avoid excitation of an auxiliary oscillator instead of the real structural modes of the machine (originated from the ballscrews or column). For example, Pelaez et al. [36] mounted a two degree of freedom (bending around X and Y axes) oscillator to show the effectiveness of input shaping in reducing the exaggerated unshaped vibrations. This thesis, on the other hand, starts with similar exaggerated cases but goes all the way to avoiding the real structural modes of a commercial machining center. Although input shaping can effectively avoid structural vibrations of the machine, it might add considerable delay to the command. This delay results in toolpath distortion and significant increase in geometric contour errors [51, 36]. Pelaez [36] proposed that the distortion can be minimized if input shaping is applied on the velocity commands instead of the position commands. However, this method is not very practical as it needs to calculate the velocities after the interpolator, and re-integrate the shaped velocity values to obtain the shaped position commands. This thesis, on the other hand, proposes a precompensation technique which improves the contouring performance by estimating the 11 Chapter 2. Literature Review distortion ahead of time and correcting the shaped commands before sending them to the servo drives. The available methods for improving the contouring performance in machine tool feed drives are reviewed in the next section. 2.4 Improving Contouring Performance in Multi-axis Machines The accuracy in following the desired path is a crucial criterion in evaluating the performance of a multi-axis machine tool. Pitschow [37] showed that it is very crucial for machine tools to have high bandwidth servo drives so that they can respond rapidly to sharp changes in the input; otherwise, large geometric contour errors will be incurred at these points. One obvious approach in decreasing contour errors is to improve the tracking performance of individual axes of the machine. There has been great deal of work dedicated to increasing the bandwidth of the servo drives and compensating the friction. A pioneer work in this area is a feed forward technique called Zero Phase Error Tracking Control (ZPETC) proposed by Tomizuka [54]. This technique applies the inverse of the stable dynamic of the closed loop system on the input to compensate for the axis dynamic. However, the performance of ZPETC rapidly degrades as the modeled parameters of the system deviate from the actual ones. Erkorkmaz and Altintas [14] proposed an unbiased least square technique for the accurate identification of the system parameters. In addition, the robustness of the closed loop system has been improved significantly by implementing sliding mode controller [3] and disturbance observers [15]. For the cases when the plant dynamic changes considerably in different conditions, adaptive control schemes have been proposed. For example, Tsao and Tomizuka [55] extended their ZPETC to include adaptation capability so that it can maintain high performance even at the presence of model mismatch. Similarly, Pritschow and Kosiedowski [38] proposed adaptive feed forward controller for the cases when the plant exhibits slowly varying dynamics. Another approach in improving the accuracy of the finished part is to directly control and compensate the resultant contour errors (instead of individual axis tracking 12 Chapter 2. Literature Review errors). This technique was first proposed by Koren [24] in the form of Cross Coupling Controller illustrated in Figure 2.1; K x and K y are the cross coupling gains which relate the axis tracking errors to total contouring error. These gains were first defined for linear toolpaths [24], but later Koren and Lo [25] extended the algorithm to have variable cross coupling gains so that it can work for circular and parabolic toolpaths as well. Chen et al. [11] considered higher order terms in approximation of cross coupling gains so that the technique can be used for any free-form planar toolpath. Later, they extended their method and proposed cross coupling position command shaping [10], which approximates the contour error for free-form three dimensional toolpaths and corrects the command in real time. They estimated the contour error by calculating the component of tracking error normal to the average velocity vector. A similar work was proposed by Altintas and Sencer [6] which approximates the tooltip and orientation contour error in five-axis toolpaths using shifted Frenet frame, and employs sliding mode controller to move the axes with the corrected commands. Figure 2.1: Basic cross coupling contour error control proposed by Koren [24]. Contour error control techniques cited above require approximation of the error in real time; however, since there is no analytical solution for calculation of contour errors, these techniques are not very practical for industrial machine tools. This thesis, on the other hand, proposes another approach which predicts the resulting contour errors ahead of time 13 Chapter 2. Literature Review using the dynamic model of the machine, and pre-compensates the errors before they occur. An earlier form of this approach was proposed by Lo and Hsiao [27] for repeated machining processes; they machined one part and measured the resulting contour error using a Coordinate Measuring Machine (CMM); the measured error was then used to compensate the error by offsetting the original command. Any contour error estimation technique available in the literature can be used to calculate the contour errors from the predicted axis responses. In this thesis, the method proposed by Altintas and Sencer [6] which approximates the error using shifted Frenet frame is adopted; however, since the proposed pre-compensation technique is accomplished off-line ahead of time, even iterative methods such as the one proposed by Erkorkmaz et al. [16] can be used for further improved accuracy. 2.5 Conclusion A brief review on the command shaping research available in the literature was presented in this chapter. Numerous techniques have been proposed to smoothly interpolate a desired toolpath using B-splines and NURBS, and generate smooth trajectories using high-order continuous feedrate profiles. These techniques result in smooth commands with low level of high-frequency content. However, in applications where the machine has some low damping resonance modes, even these smooth trajectories might excite the structural modes and cause vibrations. Several command shaping techniques have been proposed to avoid vibrations by filtering the unwanted harmonics of the command. However, most of these methods add considerable delay to the input trajectory, which results in distortion of the toolpath. In order to reduce the resulting contour errors, researchers have implemented real time contour error control techniques which estimate the error and correct the command in real time. This thesis, on the other hand, proposes a pre-compensation technique which predicts and compensates the error ahead of time before it occurs. 14 Chapter 3. Input Shaping of Reference Commands for Vibration Avoidance 3 Input Shaping of Reference Commands for Vibration Avoidance 3.1 Introduction Due to the flexibilities originated from the mechanical parts such as couplings and lead screw, machine tool feed drives exhibit structural resonance modes at certain frequencies. These modes can get excited by both the input command and the disturbance, which then result in undesired vibrations. While disturbance-induced vibrations have to be dealt with in real time, e.g. by using active damping and disturbance rejection techniques, command-induced vibration may be avoided ahead of time. This chapter presents a filtering technique called input shaping, which effectively blocks unwanted harmonics of the command. The chapter is organized as follows: Section 3.2 explains the technique of generating self-cancelling vibrations, which is the basis of input shaping method. Section 3.3 describes how a sequence of impulses with self-cancelling properties can be used as a command shaper to block unwanted harmonics of any arbitrary trajectory. Having the frequency and damping of the structural modes of the system, the procedure presented in Section 3.4 can be used to design different types of shapers with different characteristics. Since the shapers must be implemented on digital computers, Section 3.5 investigates the effect of discretization and the incurred degradation in vibration reduction. Section 3.6 provides a rough comparison between classical frequency-domain filters and input shapers in terms of robustness and vibration reduction. Investigations and contributions presented in this chapter are summarized in Section 3.7. 3.2 Vibration Cancellation Technique Consider a flexible system with the natural frequency of ωn and damping ratio of ζ . The dynamic of the system can be represented by a second order transfer function: 15 Chapter 3. Input Shaping of Reference Commands for Vibration Avoidance ωn 2 G( s) = 2 s + 2ζωn s + ωn 2 (3.1) If an impulse with the magnitude of A1 is applied to this system at time t1 , the flexible system will vibrate at its damped natural frequency ωd = ωn 1 − ζ 2 . The response to such an impulse can be found using inverse Laplace transform: input: R1 (t ) = Imp( A1 , t1 ) = A1δ (t − t1 ) → R1 ( s ) = A1e − st1 response: X 1 (t ) = L−1{G ( s ) R1 ( s )} = L−1{ = A1ωn 1− ζ 2 ωn 2 . A1e − st } s 2 + 2ζωn s + ωn 2 1 (3.2) e −ζωn ( t −t1 ) sin ωd (t − t1 ) = B1 (t ) sin(ωd t + ϕ1 ) where B1 (t ) = A1ωn 1− ζ 2 e −ζωn ( t −t1 ) , ϕ1 = −ωd t1 (3.3) If a second impulse with the amplitude of A2 is applied to the system at time t2 , the system will similarly respond as: X 2 (t ) = B2 (t ) sin(ωd t + ϕ2 ) (3.4) where B2 (t ) and ϕ 2 are similarly defined in Eq. (3.3). Assuming the dynamic of system to be linear, if both impulses are applied to the flexible system, the total response can be represented as: X tot (t ) = X 1 (t ) + X 2 (t ) = Atot (t ) sin(ωd t + ψ ) , t ≥ t2 (3.5) where Atot (t ) and ψ are calculated using trigonometric relations: 16 Chapter 3. Input Shaping of Reference Commands for Vibration Avoidance X tot (t ) = B1 sin(ωd t + ϕ1 ) + B2 sin(ωd t + ϕ2 ) = B1 sin ωd t cos ϕ1 + B1 cos ωd t sin ϕ1 + B2 sin ωd t cos ϕ2 + B2 cos ωd t sin ϕ2 = ( B1 cos ϕ1 + B2 cos ϕ 2 ) sin ωd t + ( B1 sin ϕ1 + B2 sin ϕ 2 ) cos ωd t C1 = C + C2 ( 2 1 C2 C1 2 C12 + C2 2 C2 sin ωd t + C12 + C2 2 cosψ (3.6) cos ωd t ) sin ψ C12 + C2 2 sin(ωd t + ψ ) = Therefore, ψ = tan −1 ( C2 B sin ϕ1 + B2 sin ϕ 2 ) = tan −1 ( 1 ) C1 B1 cos ϕ1 + B2 cos ϕ 2 (3.7) Atot = C + C2 = ( B1 cos ϕ1 + B2 cos ϕ 2 ) + ( B1 sin ϕ1 + B2 sin ϕ 2 ) 2 1 2 2 2 where B j (t ) and ϕ j ( j = 1, 2) are defined in Eq. (3.3). Figure 3.1 demonstrates a graphical proof for Eq. (3.6) using vector diagram [36]. In a more general form, when there are more than two impulses, Eq. (3.7) can be written as: ⎛ S (ωn , ζ , t ) ⎞ ⎟ ⎝ C (ωn , ζ , t ) ⎠ ψ (ωn , ζ ) = tan −1 ⎜ Atot (ωn , ζ , t ) = ωn (3.8) C (ωn , ζ , t ) + S (ωn , ζ , t ) 2 1− ζ 2 2 where m C (ωn , ζ , t ) = ∑ Ai e −ζωn (t −ti ) cos(ωd ti ) j =1 m S (ωn , ζ , t ) = ∑ Ai e j =1 (3.9) −ζωn ( t −ti ) sin(ωd ti ) 17 Chapter 3. Input Shaping of Reference Commands for Vibration Avoidance Figure 3.1: Vector diagram of total vibration caused by a sequence of two impulses [36]. As derived in Eq. (3.6), the response of the flexible system after applying the second impulse can be represented as a decaying sine wave oscillating at the damped natural frequency ω d . If the damping ratio of the resonance mode is small, which is usually the case in machine tool feed drives, the induced residual vibrations can last for a long time. However, as can be seen in Eq. (3.3), the amplitude of the residual vibrations depends on not only the damping ratio but also the magnitude and time location of the two impulses; ideally, if the second impulse is given at the right time with the right amplitude, the vibration induced by the first impulse can be completely cancelled by that of the second impulse; in that case, the system will exhibit absolutely zero residual vibrations. Figure 3.2 demonstrates the described self-canceling technique for a sequence of two impulses. Without losing generality, it can be assumed that the first impulse is given at time zero, i.e. t1 = 0 . Such a sequence of impulses which leaves zero or very small residual vibration is called an “Input Shaper” or a “Shaping Function”. 18 Chapter 3. Input Shaping of Reference Commands for Vibration Avoidance Figure 3.2: Self-canceling characteristic in a two-impulse sequence [43]. 3.3 Reference Shaping Principle Once a sequence of self-canceling impulses is found for a flexible system, it can be used as a shaping function; that is, any arbitrary initial reference command if convolved with the sequence in the time domain, the so called “Shaped Command” will not cause any residual vibration either [43]. Basically input shaping acts as a filter and effectively blocks those harmonics of the command which coincide with the resonance mode of the system. Figure 3.3 illustrates the principle of reference shaping using a sequence of impulses. If r (t ) is the initial unshaped command and InShp(t ) = A1δ (t ) + A2δ (t − t2 ) is the input shaper designed for the system mode, the shaped command rshp can be generated as: rshp (t ) = rshp ,1 (t ) + rshp ,2 (t ) = A1r (t ) + A2 r (t − t2 )1 t − t2 where 1 t − t2 = 1 at t ≥ t2 and 1 t − t2 = 0 at ଶ. (3.10) Basically, input shaper breaks the initial command into smaller sub-commands, and shifts them in time such that the vibration caused by each sub-command is cancelled by that of the others. In order to keep the rigid body motion of the shaped command the same as the original one, the shaper must fully recover the original trajectory; in order to fulfil this requirement, the summation of impulse magnitudes in an input shaper has to be one: 19 Chapter 3. Input Shaping of Reference Commands for Vibration Avoidance m ∑ A =1 i =1 i (3.11) It should be noted that the time length of the shaped command is equal to the length of the original trajectory plus the length of the shaper. This time delay, if significant, can cause distortion of the trajectory in multi axis toolpaths, which is thoroughly discussed in Chapter 4. Figure 3.3: Reference shaping using a sequence of impulses. 3.4 Input Shaper Design Since an input shaper is a sequence of impulses, designing the shaper means finding the proper magnitudes and time locations of these impulses. The number of impulses is dictated by the constraints imposed on the performance and robustness of the shaper. As a general rule, the larger number of impulses a shaper has, the more robust it is to the mismatch in the modeled frequency and damping ratio. However, longer time delay and more significant toolpath distortions will be incurred as the number of impulses increases. In order to investigate the effectiveness of input shaping in vibration reduction, and also for comparing different types of shapers, it is more convenient to have a dimensionless value as the criterion for vibrations; based on Eq. (3.2), the amplitude of system vibrations in response to a unit impulse at time zero can be obtained as: 20 Chapter 3. Input Shaping of Reference Commands for Vibration Avoidance B1 (t = 0) = ωn 1− ζ 2 (3.12) This value is used to normalize the amplitude of residual vibrations. The “percentage of residual vibration”, V prv (ωn , ζ ) , caused by a sequence of m impulses is defined as the vibration amplitude immediately after applying the last impulse divided by the value in Eq.(3.12), that is: V prv (ωn , ζ , tm ) = Atot (t = tm ) = C (ωn , ζ , tm ) 2 + S (ωn , ζ , tm ) 2 B1 (t = 0) (3.13) where C (ωn , ζ , tm ) and S (ωn , ζ , tm ) are defined in Eq. (3.9). This value will be used widely as a performance index for shaper design and comparison. 3.4.1 Zero-Vibration (ZV) Shaper Zero-Vibration (ZV) shaper is the simplest type of input shapers and can be designed using only two impulses [43]. Without losing generality, the first impulse is assumed to be applied at time zero, that is, t1 = 0 . In order to design a ZV shaper, three unknowns must be determined: the magnitudes A1 , A2 , and also the time location of the second impulse, t2 ; therefore, three equations are needed to determine these unknowns. The first constraint, which must hold for any type of shaper to fully recover the rigid body motion, is the unity summation: m ∑A = A +A i =1 i 1 2 =1 (3.14) The next set of equations can be achieved from the zero-vibration constraint; in order to get theoretically zero residual vibrations after applying the last impulse, the percentage of residual vibration defined in Eq. (3.13) is forced to zero, i.e. V prv = 0 : Vprv (ωn , ζ , tm ) = C (ωn , ζ , tm )2 + S (ωn , ζ , tm )2 = 0 (3.15) 21 Chapter 3. Input Shaping of Reference Commands for Vibration Avoidance where C (ωn , ζ , tm ) and S (ωn , ζ , tm ) are defined in Eq. (3.9). This constraint gives two equations: V prv (ωn , ζ , t2 ) = 0 ⎧C (ωn , ζ , t2 ) = 0 ⎨ ⎩ S (ωn , ζ , t2 ) = 0 → (3.16) Hence, C (ωn , ζ , t2 ) = 0 → S (ωn , ζ , t2 ) = 0 A1e −2ζωnt2 + A2 e −ζωnt2 cos(ωd t2 ) = 0 (3.17) A2 eζωnt2 sin(ωd t2 ) = 0 (3.18) → In order to have non-zero solution for A2 in Eq. (3.18), the sine function must be zero: sin(ωd t2 ) = 0 → ωd t2 = kπ k = 1, 2,... (3.19) The shortest shaper is achieved when k = 1 : t2 = π π = = 0.5Td ωd ωn 1 − ζ 2 (3.20) where Td is the period of vibrations to be avoided. Substituting t2 from Eq. (3.20) into Eq. (3.17) along with Eq. (3.14) provides the required equations for determining the impulse magnitudes: A1 + A2 = 1 A1 − A2 eζπ 1−ζ 2 =0 (3.21) Finally, the magnitude and time locations of the two impulses in a ZV shaper can be summarized as: 22 Chapter 3. Input Shaping of Reference Commands for Vibration Avoidance ⎡ ⎧ A⎫ ⎤ ⎡⎢ ⎧⎪ 1 ⎫⎪ ⎪⎧ K ⎪⎫ ⎤⎥ ⎢ ⎨ ⎬ ⎥ = ⎢ ⎨1 + K ⎬ , ⎨1 + K ⎬ ⎥ ⎣⎢ ⎩ t ⎭ j ⎦⎥ ⎣⎢ ⎪⎩ 0 ⎪⎭1 ⎪⎩ 0.5Td ⎪⎭2 ⎦⎥ −ζπ ) K = exp( 1− ζ 2 3.4.2 j = 1, 2 (3.22) Robustness of Zero-Vibration (ZV) Shaper As calculated in Eq. (3.20), the time length of ZV shaper is one half period of the vibrations, which makes it the shortest possible input shaper. However, this type of shaper lacks robustness against mismatch between the modeled and actual parameters of the system. The percentage of residual vibration V prv , which was defined in Eq. (3.13), is used as an index to investigate the robustness of a shaper. Assume ωn − mdl and ζ mdl are the modeled natural frequency and damping ratio used in designing the shaper. If the actual parameters ωn − act and ζ act deviate from the modeled ones, vibrations will not cancel out completely, and thus the system will exhibit residual vibrations after applying the last impulse. The V prv calculated from the actual parameters shows the level of residual vibrations, and thus, can be used as an index of robustness: Vprv (ωn − act , ζ act , A1− mdl , A2− mdl , t2− mdl ) = C (ωn− act , ζ act , t2− mdl )2 + S (ωn− act , ζ act , t2− mdl )2 (3.23) where C (ωn − act , ζ act , t2− mdl ) and S (ωn −act , ζ act , t2− mdl ) are calculated from Eq. (3.9). It is common to define V prv < 5% as the criterion for the robustness, which means how much mismatch the system can tolerate before the residual vibration becomes larger than 5% of the unshaped case. Figure 3.4 demonstrates the robustness of ZV shaper against the mismatch in natural frequency and damping ratio. In order to have a clearer view, the cross section of the plot for the case when one of frequency or damping deviates and the other one is kept constant has been also plotted. It can be seen that ZV shaper is very sensitive especially to mismatch 23 Chapter 3. Input Shaping of Reference Commands for Vibration Avoidance in natural frequency. For example, in order to meet the criterion V prv < 5% , only less than 4% mismatch in frequency is tolerated. However, in real ballscrew feed drives, as the table moves along the lead screw, the natural frequency can shift by 10% or even more. It can be also observed that input shaping is not too sensitive to mismatch in damping ratio; even with 30% deviation, the criterion V prv < 5% is still satisfied. This can be explained from Eq. (3.22), in which damping ratio has exponential effect on the magnitude of the impulses while natural frequency is inversely proportional to the time location of the impulses. Since input shaping works based on vibration cancellation, it is more sensitive to timing, and thus, natural frequency. Figure 3.4: Sensitivity of ZV shaper against mismatch in frequency and damping ratio. ( rζ = ζ act ζ mdl , rω = ωn − act ωn − mdl ) 24 Chapter 3. Input Shaping of Reference Commands for Vibration Avoidance 3.4.3 Zero-Vibration and Derivative (ZVD) Shaper As discussed in the previous section, Zero-vibration (ZV) shaper, which is designed based on only constraining the percentage of residual vibration to zero at the modeled frequency and damping ratio, is not robust enough to be used in real feed drive applications. As Figure 3.4 shows, this sensitivity problem of ZV shaper is due to the sharp change in the sensitivity curve at the modeled natural frequency. Therefore, the robustness can be significantly improved by smoothing the sensitivity curve, for instance, by imposing derivative constraints at the mentioned point [43]. Zero-vibration and Derivative (ZVD) shaper is obtained by adding a new constraint which ensures zero derivative of residual vibration with respect to natural frequency at the modeled frequency, i.e. ∂Vprv ∂ωn ωn =ωn−mdl =0 (3.24) It should be noted that the zero-vibration constraint in Eq. (3.15) is prerequisite for the subsequent derivative constraints; therefore, C (ωn − mdl , ζ ) = 0 and S (ωn − mdl , ζ ) = 0 is already presumed for the following derivations. Since ZVD shaper has been widely used in experimental verifications conducted in this thesis, the mathematical derivations for this type of shaper are presented here in details. Using the definition of percentage of residual vibrations V prv from Eq. (3.13), the derivative constraint in Eq. (3.24) can be expanded as: ∂V prv ∂ωn = ∂ ∂ωn ( ) C (ωn , ζ ) 2 + S (ωn , ζ ) 2 = 2C . ∂C ∂S + 2S . ∂ωn ∂ωn 2 C +S 2 (3.25) 2 Direct substitution of the zero-vibration constraints from Eq. (3.15) into Eq. (3.25) results in indeterminate form of “zero-divided-by-zero”. However, since C (ωn − mdl , ζ ) = 0 and S (ωn − mdl , ζ ) = 0 , the root ωn = ωn − mdl can be cancelled out from the numerator and 25 Chapter 3. Input Shaping of Reference Commands for Vibration Avoidance denominator. Therefore, the derivative in Eq. (3.25) after evaluating the indeterminate form will be zero if: ∂C (ωn , ζ ) ∂ωn ∂S (ωn , ζ ) ∂ωn ωn =ωn−mdl =0 (3.26) ωn =ωn−mdl =0 (3.27) The derivative constraint brings two additional equations, and thus, requires two additional unknowns. These two unknowns can be provided by adding another impulse to the sequence, which brings the magnitude and time location as the unknowns; therefore, ZVD shaper is formed by three impulses. In order to solve for the unknowns, Eqs. (3.26) and (3.27) are expanded: ∂C (ωn , ζ ) ∂ωn = ⎤ ∂ ⎡ 3 −ζωn ( t3 −t j ) cos(ωn 1 − ζ 2 t j ) ⎥ ⎢ ∑ Aj e ∂ωn ⎣ j =1 ⎦ = ∑ ⎡⎣−ζ (t − t j ) Aj e − 1 − ζ 2 t j Aj e 3 3 j =1 −ζωn ( t3 −t j ) cos(ωn 1 − ζ 2 t j ) −ζωn ( t3 − t j ) sin(ωn 1 − ζ 2 t j ) ⎤ ⎦ ⎡ −ζω ( t −t ) = ∑ ⎢ −ζ t3 Aj e n 3 j cos(ωn 1 − ζ 2 t j ) j =1 ⎢ C ⎣ 3 + ζ t j Aj e −ζωn ( t3 −t j ) (3.28) cos(ωn 1 − ζ 2 t j ) C' − 1 − ζ t j Aj e 2 −ζωn ( t3 −t j ) sin(ωn S' ⎤ 1 − ζ t j )⎥ ⎥ ⎦ 2 26 Chapter 3. Input Shaping of Reference Commands for Vibration Avoidance ∂S (ωn , ζ ) ∂ωn = = ⎤ ∂ ⎡ 3 −ζωn ( t3 −t j ) sin(ωn 1 − ζ 2 t j ) ⎥ ⎢ ∑ Aj e ∂ωn ⎣ j =1 ⎦ 3 ∑ ⎡⎣−ζ (t − t j ) Aj e + 1 − ζ 2 t j Aj e 3 j =1 = −ζωn ( t3 − t j ) sin(ωn 1 − ζ 2 t j ) −ζωn ( t3 −t j ) cos(ωn 1 − ζ 2 t j ) ⎤ ⎦ ⎡ ⎢ −ζ t3 Aj e −ζωn (t3 −t j ) sin(ωn 1 − ζ 2 t j ) ∑ j =1 ⎢ S ⎣ 3 + ζ t j Aj e −ζωn ( t3 −t j ) (3.29) sin(ωn 1 − ζ 2 t j ) S' + 1 − ζ t j Aj e 2 −ζωn ( t3 −t j ) cos(ωn C' ⎤ 1 − ζ t j )⎥ ⎥ ⎦ 2 Based on the zero-vibration constraint, the terms C and S in Eqs. (3.28) and (3.29) are ' ' zero. If the terms labeled as C and S which have appeared in both derivative equations are zero at the modeled natural frequency, the zero-derivative equations in Eq. (3.26) and Eq. (3.27) are satisfied simultaneously. Therefore, the final constraints for designing ZVD shaper can be summarized as: 3 ∑A j =1 3 C(ωn , ζ , t3 ) = ∑ ⎡ Aj e ⎣ j =1 3 =1 −ζωn (t3 −t j ) S (ωn , ζ , t3 ) = ∑ ⎡ Aj e ⎣ j =1 3 j −ζωn (t3 −t j ) C '(ωn , ζ , t3 ) = ∑ ⎡t j Aj e ⎣ j =1 (3.30) cos(ωn 1 − ζ 2 t j )⎤ = 0 ⎦ (3.31) sin(ωn 1 − ζ 2 t j )⎤ = 0 ⎦ (3.32) −ζωn ( t3 −t j ) cos(ωn 1 − ζ 2 t j )⎤ = 0 ⎦ (3.33) 27 Chapter 3. Input Shaping of Reference Commands for Vibration Avoidance 3 S '(ωn , ζ , t3 ) = ∑ ⎡t j Aj e ⎣ j =1 −ζωn ( t3 −t j ) sin(ωn 1 − ζ 2 t j )⎤ = 0 ⎦ (3.34) The derivative constraints in Eq. (3.33) and Eq. (3.34) have been obtained based on improving the robustness against mismatch in natural frequency. However, since damping ratio in mechanical systems is often inconsistent and hard to identify, the shaper must be significantly robust against the mismatch in damping as well. This requires the derivative of the sensitivity curve with respect to damping ratio be zero at the modeled damping. Interestingly, the zero-derivative conditions obtained for natural frequency guarantees the zero-derivative with respect to damping ratio as well. This fact can be easily seen as: ∂C (ωn , ζ ) ∂ζ = = ⎤ ∂ ⎡ 3 −ζωn ( t3 −t j ) cos(ωn 1 − ζ 2 t j ) ⎥ ⎢ ∑ Aj e ∂ζ ⎣ j =1 ⎦ 3 ∑ ⎡⎣−ω (t n j =1 + = 3 − t j ) Aj e 2ζ 1− ζ 2 −ζωn ( t3 −t j ) ωn t j A j e cos(ωn 1 − ζ 2 t j ) −ζωn ( t3 − t j ) ⎤ sin(ωn 1 − ζ 2 t j ) ⎥ ⎥⎦ ⎡ ⎢ −ωnt3 Aj e −ζωn (t3 −t j ) cos(ωn 1 − ζ 2 t j ) ∑ j =1 ⎢ C ⎣ 3 + ωn t j A j e −ζωn ( t3 −t j ) (3.35) cos(ωn 1 − ζ 2 t j ) C' + 2ζ 1− ζ 2 ωn t j A j e −ζωn ( t3 −t j ) ⎤ sin(ωn 1 − ζ 2 t j ) ⎥ ⎥ S' ⎦ 28 Chapter 3. Input Shaping of Reference Commands for Vibration Avoidance ∂S (ωn , ζ ) ∂ζ ⎤ ∂ ⎡ 3 −ζωn ( t3 −t j ) sin(ωn 1 − ζ 2 t j ) ⎥ ⎢ ∑ Aj e ∂ζ ⎣ j =1 ⎦ = 3 ∑ ⎡⎣−ω (t = n j =1 − 3 − t j ) Aj e 2ζ 1− ζ 2 −ζωn ( t3 −t j ) ωn t j A j e sin(ωn 1 − ζ 2 t j ) −ζωn ( t3 −t j ) ⎤ cos(ωn 1 − ζ 2 t j ) ⎥ ⎥⎦ ⎡ −ζω ( t −t ) = ∑ ⎢ −ωnt3 Aj e n 3 j sin(ωn 1 − ζ 2 t j ) j =1 ⎢ S ⎣ (3.36) 3 + ωn t j A j e −ζωn ( t3 −t j ) sin(ωn 1 − ζ 2 t j ) S' − 2ζ 1− ζ 2 ωn t j A j e −ζωn ( t3 −t j ) cos(ωn C' ⎤ 1 − ζ t j )⎥ ⎥ ⎦ 2 Therefore, the zero-derivative constraints in Eq. (3.33) and Eq. (3.34) simultaneously improve robustness against both frequency and damping. It should be noted that if negative-amplitude impulses are allowed, mathematically there are infinite number of solutions for the set of constraints in Eqs. (3.30)-(3.34). However, from the practical point of view, input shapers with negative-amplitude impulses may result in more demanding commands, which can saturate the actuators and also excite the high frequency modes of the system. On the other hand, imposing positive amplitude constraint, i.e.: Aj > 0 , j = 1, 2,… , m (3.37) along with the unity summation constraint in Eq. (3.30) guarantees that the magnitude of all impulses in the shaper is smaller than unity: 3 ∑A j =1 Aj > 0 , j ⎫ ⎪ ⎬ → Aj < 1 , j = 1, 2,3⎪⎭ =1 j = 1, 2,3 (3.38) 29 Chapter 3. Input Shaping of Reference Commands for Vibration Avoidance Basically, the commands shaped with positive-amplitude shapers are always less aggressive and more stable compared to the unshaped commands; this means that if the original reference has been generated not to violate the drive limits, the shaped input will not violate them either. The next constraint which can be added to solve the ZVD equations is the length of the shaper. As calculated in Eq. (3.20), the second impulse in a ZV shaper is applied at the half period of vibrations; similarly we can assume that the impulses in the ZVD shaper are also applied at half vibration periods, that is: t j = ( j − 1) → Td π π = ( j − 1) = ( j − 1) 2 ωd ωn 1 − ζ 2 , j = 1, 2,3 ⎧t1 = 0 ⎪ π ⎪t2 = 0.5Td = ⎪ ωn 1 − ζ 2 ⎨ ⎪ 2π ⎪t3 = Td = ⎪⎩ ωn 1 − ζ 2 (3.39) Therefore, the length of ZVD shaper is a full period of vibrations, which is reasonable for practical applications. Substituting the time location of the impulses from Eq. (3.39) into the defined constraints, the three required equations for calculating the magnitude of the three impulses in ZVD can be obtained from Eqs. (3.30), (3.31) and (3.33): ⎧ A1 + A2 + A3 = 1 ⎪ −2πζ 1−ζ 2 − A2e−πζ ⎪ A1e ⎨ π ⎪0 − A e−πζ ⎪ ω 1− ζ 2 2 n ⎩ 1−ζ 2 + A3 = 0 2π 1−ζ 2 + A3 = 0 ωn 1 − ζ 2 (3.40) After multiplying the last equation by ωn 1 − ζ 2 π , the system of equations in Eq. (3.40) can be written in the matrix form: 30 Chapter 3. Input Shaping of Reference Commands for Vibration Avoidance 1 ⎡ ⎢ −2πζ 1−ζ 2 ⎢e ⎢ 0 ⎢⎣ 1 ⎤ ⎡ A ⎤ ⎡1 ⎤ ⎥⎢ 1⎥ ⎢ ⎥ 1 ⎥ ⎢ A2 ⎥ = ⎢0⎥ ⎥ 2⎥⎦ ⎣⎢ A3 ⎦⎥ ⎣⎢0⎦⎥ 1 −e−πζ 1−ζ 2 −e−πζ 1−ζ 2 (3.41) Thus, 1 ⎡ A1 ⎤ ⎡ ⎢ A ⎥ = ⎢e−2πζ 1−ζ 2 ⎢ 2⎥ ⎢ ⎢⎣ A3 ⎥⎦ ⎢ 0 ⎣⎢ 1 −e −πζ −e−πζ 1−ζ 2 1−ζ ⎡ −K −1 ⎢ −2 K 2 = 2 K ( K + 2 K + 1) ⎢ ⎢⎣ − K 3 ⎡ 1 ⎤ 1 ⎢2K ⎥ = 2 K + 2K + 1 ⎢ 2 ⎥ ⎢⎣ K ⎥⎦ 2 1⎤ ⎥ 1⎥ ⎥ 2⎦⎥ −1 ⎡1 ⎤ ⎢0⎥ ⎢ ⎥ ⎢⎣0⎥⎦ −K − 2 2 K (K = e −πζ 1−ζ 2 ) K + 1 ⎤ ⎡1 ⎤ K 2 − 1 ⎥⎥ ⎢⎢0⎥⎥ − K 2 − K ⎥⎦ ⎢⎣0⎥⎦ (3.42) Finally, the Zero-vibration and Derivative (ZVD) input shaper can be summarized as: ⎡ 2K ⎫ ⎤ 1 K2 ⎫ ⎧ ⎫ ⎧ ⎡ ⎧ A⎫ ⎤ ⎢ ⎪⎧ ⎪ ⎪ 2 ⎪ ⎪ 2 ⎪ ⎥ 2 ⎢ ⎨ ⎬ ⎥ = ⎢ ⎨ K + 2 K + 1⎬ , ⎨ K + 2 K + 1⎬ , ⎨ K + 2 K + 1⎬ ⎥ ⎢⎣ ⎩ t ⎭ j ⎥⎦ ⎢ ⎪ ⎪⎭ ⎪ ⎪ ⎥ 0 Td ⎭⎪1 ⎪⎩ 0.5Td ⎭3 ⎦ 2 ⎩ ⎣⎩ where K = e −πζ 3.4.4 1−ζ 2 j = 1, 2,3 (3.43) and Td = 2π ωn 1 − ζ 2 . Robustness of the Zero-Vibration and Derivative (ZVD) Shaper Similar to the procedure explained for ZV shaper, the robustness of ZVD shaper can be investigated using the dimensionless value V prv defined in Eq. (3.23). Figure 3.5 demonstrates the percentage of residual vibrations with ZVD shaper when the natural frequency and damping ratio deviate from the modeled ones. Comparing this sensitivity curve with that of the ZV shaper shown previously in Figure 3.4, it can be clearly observed that ZVD shaper is significantly more robust than ZV shaper. For example, in order to keep 31 Chapter 3. Input Shaping of Reference Commands for Vibration Avoidance the percentage of residual vibration below 5% , ZV shaper can tolerate only less than 4% mismatch in natural frequency ωn ; ZVD shaper, on the other hand, can satisfy the criterion V prv < 5% even with 16% deviation from the modeled natural frequency. This level of robustness is fairly sufficient for most feed drive applications. It can also be seen that ZVD shaper is extremely robust against uncertainty in damping ratio, which is very crucial as damping cannot be measured accurately and also changes significantly in different operating conditions. Figure 3.5: Sensitivity of ZVD shaper against mismatch in frequency and damping ratio. ( rζ = ζ act ζ mdl , rω = ωn − act ωn − mdl ) 32 Chapter 3. Input Shaping of Reference Commands for Vibration Avoidance Figure 3.6 compares the sensitivity curves for ZV and ZVD shaper. It can be seen that the zero-derivative constraints has significantly improved the robustness of the shaper. Figure 3.6: Comparing the sensitivity of ZV and ZVD shapers against mismatch in frequency and damping ratio. 3.4.5 Further Improvement of Shaper Robustness While ZVD shaper provides 15% robustness against mismatch in natural frequency, still it might not be enough for some applications, especially in systems with varying dynamics. Robustness of the shapers can be further improved by enforcing additional constraints or modifying the existing ones. For example, one effective method to improve the robustness is relaxing the zero-vibration constraint; that is, instead of forcing the 33 Chapter 3. Input Shaping of Reference Commands for Vibration Avoidance residual vibrations to be exactly zero at the modeled natural frequency and damping ratio, a small amount of vibration V prv − mdl ≠ 0 will be allowed. This relaxation of the constraints let the shaper keep the vibrations below the threshold for a larger range of mismatch. The shaper obtained by this method is called Extra-Insensitive (EI) input shaper [48]. It can be shown that Extra-Insensitive shaper has the same length as ZVD shaper, and can be obtained as: ⎡ ⎤ ⎡ ⎧ A⎫ ⎤ ⎢ ⎧⎪1 + Vprv −mdl ⎫⎪ ⎪⎧1 − Vprv − mdl ⎪⎫ ⎪⎧1 + Vprv −mdl ⎪⎫ ⎥ ⎢⎨ ⎬ ⎥ = ⎢⎨ 2 4 4 ⎬ ,⎨ ⎬ ,⎨ ⎬ ⎥ t ⎪ ⎪ ⎪ ⎪ ⎪ ⎥ ⎣⎢ ⎩ ⎭ j ⎦⎥ ⎢ ⎩⎪ Td 0 ⎭1 ⎩ 0.5Td ⎭2 ⎩ ⎭3 ⎦ ⎣ j = 1, 2,3 (3.44) where V prv − mdl is the allowed percentage of residual vibration at the modeled natural frequency and damping ratio, and Td is the period of vibrations. Figure 3.7 demonstrates the sensitivity curve for the EI shaper with the allowed V prv − mdl = 5% at the modeled frequency. It can be seen that without increasing the length of the shaper, the robustness has improved compared to the ZVD shaper. Another method to further improve the robustness of the shaper is imposing higher order derivative constraints on the sensitivity curve. The equations for zero-derivative constraints were derived in Eqs. (3.33) and (3.34). Similarly, it can be shown that the th constraint for the k order derivative of the sensitivity curve for a shaper with m impulses can be represented as [42]: ∂ kVprv ∂ωn k =0 → ∑ ⎢⎣⎡( t ) m j =1 j k Aj e −ζωn (tm −t j ) cos(ωn 1 − ζ 2 t j )⎥⎤ = 0 ⎦ (3.45) For example, ZVDD (Zero-Vibration-Derivative-Derivative) shaper which has zero vibration as well as zero first and second derivative at the modeled frequency can be obtained by stacking Eq. (3.45) and the constraints obtained for ZVD shaper in Eqs. (3.30)(3.34) : 34 Chapter 3. Input Shaping of Reference Commands for Vibration Avoidance ⎧ A1 + A2 + A3 + A4 = 1 ⎪ −3πζ 1−ζ 2 2 2 − A2e−2πζ 1−ζ + A3e−πζ 1−ζ − A4 = 0 ⎪ A1e ⎪ 2 2 π 2π 3π ⎪0 − A2e−2πζ 1−ζ + A3e−πζ 1−ζ − A4 = 0 2 2 ⎨ ω 1− ζ 2 − − ω ζ ω ζ 1 1 n n n ⎪ 2 2 ⎪ ⎛ ⎞ ⎛ ⎞ ⎛ 2 2 π 2π 3π ⎪0 − ⎜ ⎟ A2e−2πζ 1−ζ + ⎜ ⎟ A3e−πζ 1−ζ − ⎜ 2 2 ⎪ ⎜ ω 1− ζ ⎟ ⎜ ω 1− ζ ⎟ ⎜ ω 1− ζ 2 ⎠ ⎝ n ⎠ ⎝ n ⎩ ⎝ n (3.46) 2 ⎞ ⎟ A4 = 0 ⎟ ⎠ The magnitudes can be solved by rearranging Eq. (3.46) into matrix form: 1 ⎡ ⎡ A1 ⎤ ⎢ ⎢ A ⎥ ⎢e−3πζ 1−ζ 2 ⎢ 2⎥ = ⎢ ⎢ A3 ⎥ ⎢ 0 ⎢ ⎥ ⎢ ⎣ A4 ⎦ ⎢ 0 ⎣ 1 −e −2πζ 1 1−ζ 2 e −πζ 1−ζ 2 −e−2πζ 1−ζ 2 2e−πζ 1−ζ −e−2πζ 1−ζ 2 4e−πζ 1−ζ 2 2 1⎤ ⎥ −1⎥ ⎥ −3⎥ ⎥ −9⎥⎦ −1 ⎡1 ⎤ ⎢0⎥ ⎢ ⎥ ⎢0⎥ ⎢ ⎥ ⎣0⎦ (K = e −πζ 1−ζ 2 ) (3.47) ⎡ 1 ⎤ ⎢ 3K ⎥ 1 ⎢ ⎥ = 3 2 2 ⎢ ⎥ 3 K K + 3K + 3K + 1 ⎢ 3 ⎥ ⎣K ⎦ Therefore, the four-impulse ZVDD shaper can be summarized as: 3K 1 ⎫ ⎫ ⎧ ⎡⎧ A⎫ ⎤ ⎡⎢⎧⎪ ⎪ ⎪ 3 ⎪ 2 3 2 ⎢⎨ ⎬ ⎥ = ⎨ K + 3K + 3K + 1⎬ , ⎨ K + 3K + 3K + 1⎬ , ... ⎢⎣⎩ t ⎭ j ⎥⎦ ⎢⎢⎪ ⎪⎭ ⎪⎩ ⎪⎭ 0.5Td 0 1 ⎣⎩ 2 ⎧ ⎫ ⎧ ⎫⎤ 3K 2 K3 ⎪ 3 ⎪ ⎪ ⎪⎥ ⎨ K + 3K 2 + 3K + 1⎬ , ⎨ K 3 + 3K 2 + 3K + 1⎬ ⎥ ⎪ ⎪ ⎪ ⎪⎥ Td 1.5Td ⎩ ⎭3 ⎩ ⎭4 ⎦ where K = e −πζ 1−ζ 2 (3.48) j = 1, 2,3, 4 and Td = 2π ωn 1 − ζ 2 . Figure 3.7 compares the sensitivity curve against mismatch in natural frequency for the four mentioned types of input shapers. Combining the different types of constraints introduced in the previous sections, a shaper with any desired level of robustness can be 35 Chapter 3. Input Shaping of Reference Commands for Vibration Avoidance achieved but at the expense of larger time delays. Considering the compromise between robustness and delay, the three-impulse ZVD and four-impulse ZVDD shapers are the most practical input shapers for real applications. If the dynamic of the system changes too much, it might be a better idea to use adaptive or gain-scheduling techniques, which can result in shorter shapers while maintaining the performance over a larger range of parameters. However, adaptive shapers can also involve other complexities such as stability issues and non-smooth transition between different states. Figure 3.7: Comparing the sensitivity of ZV, ZVD, EI and ZVDD shapers against mismatch in frequency and damping ratio. 3.5 Discretization Effect in Digital Input Shaping As derived in the previous section, the time location of impulses in an input shaper is determined by the period of vibrations, which can be any positive real number. However, in computer-controlled machines, the servo loop is run in digital mode at constant sampling intervals, and the discrete reference command is also generated only at this sampling 36 Chapter 3. Input Shaping of Reference Commands for Vibration Avoidance periods. Therefore, it usually happens that the calculated time for an impulse in the sequence lies between two sampling times. In this case, the impulse has to be shifted to the nearest sampling time counter, which might prevent complete cancellation of residual vibrations [42]. The same dimensionless value for the percentage of residual vibration V prv defined in Eq. (3.13) is used here to investigate the effect of discretization error. Assume a ZV shaper is designed for a system with natural frequency of ωn . In order to simplify the mathematical derivations, the damping is assumed to be zero, which is not too unrealistic for real structural modes. Using Eq. (3.22), ZV shaper ( ζ = 0 ) can be represented as: ⎡ ⎧ A ⎫ ⎤ ⎡ ⎧0.5⎫ ⎧ 0.5 ⎫ ⎤ ⎢⎨ ⎬ ⎥ = ⎢⎨ ⎬ , ⎨ ⎬ ⎥ ⎣⎢ ⎩ t ⎭ j ⎦⎥ ⎢⎣ ⎩ 0 ⎭1 ⎩0.5Td ⎭2 ⎥⎦ j = 1, 2 (3.49) where Td = 2π ωd is the period of vibrations. If this system is run at a sampling period of δ T , the maximum discretization error in allocating the impulse time is δ T / 2 and occurs when the second impulse lies exactly at the midpoint between two sampling times. In this case, the second impulse is shifted to the previous counter, that is: t2 = 0.5 Td − δT (3.50) 2 The percentage of residual vibration V prv caused by this error can be calculated from Eq. (3.13): V prv (ωn , ζ , t2 ) = C (ωn , ζ , t2 ) 2 + S (ωn , ζ , t2 ) 2 2 = ⎛ 2 ⎞ ⎛ 2 ⎞ −ζωn ( t −ti ) −ζωn ( t −ti ) A e cos( ω t ) sin(ωd ti ) ⎟ ⎜∑ i d i ⎟ + ⎜ ∑ Ai e ⎝ j =1 ⎠ ⎝ j =1 ⎠ ⎫ ⎪ ⎪ A1 = A2 = 0.5 ⎬ → V prv = T δT ⎪ ⎪ t2 = d − 2 2 ⎭ ζ =0 2 (3.51) 2 ⎡ Td δ T ⎞ ⎤ ⎡ Td δ T ⎞ ⎤ ⎛ ⎛ ⎢0.5 + 0.5cos ⎜ ωd ( 2 − 2 ) ⎟ ⎥ + ⎢0.5sin ⎜ ωd ( 2 − 2 ) ⎟ ⎥ ⎝ ⎠⎦ ⎣ ⎝ ⎠⎦ ⎣ 2 37 Chapter 3. Input Shaping of Reference Commands for Vibration Avoidance The expression for V prv in Eq. (3.51) can be simplified using trigonometric relations: ⎡ δ T ⎞⎤ δT ⎞ ⎛ δT ⎞ 2⎛ 2⎛ V prv = 0.5 ⎢1 − 2 cos ⎜ ωd ⎟ + cos ⎜ ωd ⎟ ⎥ + sin ⎜ ωd ⎟ 2 ⎠ 2 ⎠⎦ 2 ⎠ ⎝ ⎝ ⎝ ⎣ ⎛ δT ⎞ 1 − cos ⎜ ωd ⎟ 2 ⎠ ⎛ δT ⎞ ⎝ = sin ⎜ ωd ⎟ 2 4 ⎠ ⎝ ⎛ δT ⎞ = 0.5 2 − 2 cos ⎜ ωd ⎟= 2 ⎠ ⎝ Therefore, if ωd δT 4 (3.52) 1 , the percentage of residual vibrations caused by discretization of a ZV shaper can be approximated as: Vprv ≈ ωd δT 4 =π δT 2Td (3.53) Similarly, discretization effect on three-impulse ZVD shapers can be investigated as well. As shown in Figure 3.8, two extreme conditions are considered: 1) when the second impulse lies exactly at the middle point between two sampling times, 2) when the third impulse lies at the middle point. Figure 3.8: Two possible extreme cases for the discretization of a ZVD shaper [42]. In the first case, the third impulse lies exactly on a sampling counter and can be applied without error; therefore, the resulting residual vibration in this case is similar to the case of ZV shaper derived in Eq. (3.53). In the second case, it is assumed that the second 38 Chapter 3. Input Shaping of Reference Commands for Vibration Avoidance impulse lies at δ T 4 from a sampling time, which means that the third impulse lies at a midpoint with δ T 2 discretization error (see Figure 3.8). The residual vibration V prv for this case can be calculated as: ⎡ ⎧ A⎫ ⎤ ⎡ ⎧0.25⎫ ⎧ 0.5 ⎫ ⎧0.25⎫ ⎤ ⎢⎨ ⎬ ⎥ = ⎢⎨ ⎬ ,⎨ ⎬ ,⎨ ⎬ ⎥ ⎢⎣ ⎩ t ⎭ j ⎥⎦ ⎣⎢ ⎩ 0 ⎭1 ⎩0.5Td ⎭2 ⎩ Td ⎭3 ⎦⎥ (ζ = 0) j = 1, 2,3 2 V prv (ωn , ζ , tm ) = ⎛ 3 ⎞ ⎛ 3 ⎞ −ζωn ( t −ti ) −ζωn ( t − ti ) A e t ω cos( ) sin(ωd ti ) ⎟ ⎜∑ i d i ⎟ + ⎜ ∑ Ai e ⎝ j =1 ⎠ ⎝ j =1 ⎠ 2 (3.54) 2 δT ⎞ δ T ⎞⎤ ⎡ ⎛ ⎛ = 0.25 ⎢1 + 2 cos ⎜ π − ωd ⎟ + ... ⎟ + cos ⎜ 2π − ωd 4 ⎠ 2 ⎠ ⎥⎦ ⎝ ⎝ ⎣ ⎡ δT ⎞ δ T ⎞⎤ ⎛ ⎛ ⎢ 2sin ⎜ π − ωd 4 ⎟ + sin ⎜ 2π − ωd 2 ⎟ ⎥ ⎝ ⎠ ⎝ ⎠⎦ ⎣ 2 The following trigonometric relations can be used to simplify the above expression: cos a cos b + sin a sin b = cos(a − b) cos(2a) = 2cos2 a − 1 (3.55) Therefore, δT ⎞ δT ⎞ ⎛ ⎛ V prv = 0.25 6 + 4 cos ⎜ π − ωd ⎟ + 2 cos ⎜ 2π − ωd ⎟+ 4 ⎠ 2 ⎠ ⎝ ⎝ δT ⎞ ⎛ δT ⎞ δT ⎞ ⎛ δT ⎞ ⎛ ⎛ 4 cos ⎜ π − ωd ⎟ cos ⎜ 2π − ωd ⎟ + 4sin ⎜ π − ωd ⎟ sin ⎜ 2π − ωd ⎟ 4 ⎠ 2 ⎠ 4 ⎠ ⎝ 2 ⎠ ⎝ ⎝ ⎝ δT ⎞ ⎛ (3.56) 1 + cos ⎜ π − ωd ⎟ δT ⎞ δT ⎞ 4 ⎠ ⎛ ⎛ ⎝ = 0.25 6 + 8cos ⎜ π − ωd ⎟ + 2 cos ⎜ 2π − ωd ⎟= 4 ⎠ 2 ⎠ 2 ⎝ ⎝ δT ⎞ δT ⎞ ⎛π 2⎛ = cos 2 ⎜ − ωd ⎟ = sin ⎜ ωd ⎟ 8 ⎠ 8 ⎠ ⎝2 ⎝ 39 Chapter 3. Input Shaping of Reference Commands for Vibration Avoidance Therefore, if ωd δT 8 1 , the residual vibrations caused by discretization of a ZVD shaper when there is δ T 4 error in applying the second impulse (and consequently δ T 2 error in the third impulse) can be approximated as: ⎛ δT ⎞ ⎛ δT ⎞ ≈ ⎜ ωd ⎟ ⎟ = ⎜π 8 ⎠ ⎝ 4Td ⎠ ⎝ 2 V prv However, since δ T Td 2 (3.57) 1 , the residual vibration in this case is much smaller than the first case calculated in Eq. (3.53). Therefore, the worst possible condition in discretization of a ZVD shaper is the same as ZV shaper, which can be calculated from Eq. (3.53). In order to keep the residual vibration caused by discretization error below a certain level, the sampling time of the system must be small enough. Figure 3.9 provides the minimum sampling time to keep the discretization-induced residual vibration below 5% , that is V prv < 0.05 . Figure 3.9: Minimum sampling time to keep the percentage of residual vibration caused by discretization of shaper below 5%. 40 Chapter 3. Input Shaping of Reference Commands for Vibration Avoidance 3.6 Comparing Input Shapers with Classical Frequency Domain Filters As discussed in the previous sections, input shapers are basically time-domain filters which can effectively block unwanted harmonics of the command. Filtering of the input can be also accomplished using classical Finite Impulse Response (FIR) and Infinite Impulse Response (IIR) filters designed in the frequency domain. In many commercial CNC machine tools, a low pass filter is applied on the input trajectory to avoid excitation of the machine. Lowpass filters can add significant delay to the command, which results in toolpath distortions and sluggish response of the machine. In this section, it is shown that input shapers can significantly outperform frequency domain filters in terms of incurred delay and achievable robustness. The criterion for measuring the length of the filter is the 5% settling time of the filter response to a step input. In order to quantify the robustness, a simple second order system with a resonance mode at 1 Hz is used as the plant, and the filter is applied on a step input command. In order to have a fair comparison between different filters, the plant is assumed to have zero damping so that the performance of the filter is affected only by the mismatch in the natural frequency. The maximum amplitude of vibrations in the plant response after the filter length is considered as the residual vibrations. The robustness of the filter can be investigated by comparing the amplitude of residual vibrations for the cases when the actual natural frequency of the system is equal to the modeled one, i.e. 1 Hz , and also when it is 15% lower, which means 0.85 Hz . As derived in Section 3.4, input shapers with any desired level of robustness can be achieved but at the expense of larger time delays. Based on the sensitivity curve shown in Figure 3.7, the three-impulse ZVD and four-impulse ZVDD shapers are the most practical choices as they have very good robustness while causing only 1.0 Td and 1.5 Td delay, respectively ( Td is the period of vibrations). In order to compare input shapers with frequency domain filters, first the representation of input shapers in frequency domain will be derived. The mathematical derivations are presented for only three-impulse ZVD shaper; the four-impulse ZVDD follows the same procedure. 41 Chapter 3. Input Shaping of Reference Commands for Vibration Avoidance Assume a ZVD shaper with three impulses is designed to avoid excitation of a plant which has a natural frequency at ωn = 1 Hz with zero damping. As derived in Eq. (3.43), this ZVD shaper can be represented in time domain as: 3 GZVD (t ) = ∑ Ajδ (t − t j ) = 0.25 + 0.5 δ (t − 0.5Td ) + 0.25 δ (t − Td ) (3.58) j =1 where Td = 1s is the vibration period. The transfer function of the shaper can be found by taking Laplace transform: 3 GZVD (s) = ∑ Aj e − st j = 0.25 + 0.5 e−0.5 s + 0.25 e− s (3.59) j =1 Substituting s with jω in Eq. (3.59), the Frequency Response Function (FRF) of the shaper is then obtained: 3 GZVD ( jω ) = ∑ Aj e − jωt j = 0.25 + 0.5 e−0.5 jω + 0.25 e− jω j =1 = ( 0.25 + 0.5cos(0.5ω ) + 0.25cos(ω ) ) − j ( 0.5sin(0.5ω ) + 0.25sin(ω ) ) (3.60) Therefore, the magnitude and phase of the shaper can be calculated as: ( 0.25 + 0.5cos(0.5ω ) + 0.25cos(ω ) ) + ( 0.5sin(0.5ω ) + 0.25sin(ω ) ) − [ 0.5sin(0.5ω ) + 0.25sin(ω )] ( jω ) = tan −1 ( ) GZVD ( jω ) = GZVD 2 0.25 + 0.5cos(0.5ω ) + 0.25cos(ω ) 2 (3.61) Figure 3.10 demonstrates the bode plot of ZVD and ZVDD shapers. As can be seen in the figure, input shapers have notches at the modeled natural frequency ωn as well as the odd multiples of it, i.e. (2k + 1)ωn , k = 1, 2,... . 42 Chapter 3. Input Shaping of Reference Commands for Vibration Avoidance Figure 3.10: Frequency response function of ZVD and ZVDD shapers. Figure 3.11 also shows the response of the described plant to a step input shaped by ZVD and ZVDD shapers. The solid-line is the system response when the actual natural frequency is exactly the same as the modeled one, that is ωn = 1Hz . The dash-line response, on the other hand, shows the response when the actual frequency is 15% below the modeled one. The figure clearly shows that input shapers result in vibration free response with satisfactory robustness. The FFT plots of the residual vibrations show that ZVDD shaper is much more robust than ZVD shaper. Also note that the shaped step response has much smaller transient overshoot, which means not only the residual vibration but also the transient deflection of the flexible part during the maneuver is much smaller in the shaped case. 43 Chapter 3. Input Shaping of Reference Commands for Vibration Avoidance Figure 3.11: System response to ZVD- and ZVDD-shaped step for the exact and mismatched (15%) models ( ωn = 1Hz , ζ = 0 ) In order to evaluate the performance of classical filters, a Butterworth lowpass filter with the passband at 0.7Hz and stopband at 0.95Hz with 30dB attenuation, as well as a Butterworth bandstop filter with the passbands at 0.5Hz and 1.5Hz and stopbands at 0.95Hz and 1.05Hz with 30dB attenuation have been designed using MATLAB Filter Design Toolbox. Note that designing filters involves compromise on length, robustness, simplicity and attenuation level of filters. In order to have a fair comparison, the filters are designed such that they have practically reasonable length and robustness. Figure 3.12 shows the frequency response plots of the designed lowpass and bandstop filters. Group delay function, which is defined as dϕ d ω ( ϕ is the phase) has been plotted in the same 44 Chapter 3. Input Shaping of Reference Commands for Vibration Avoidance figure. This value has dimension of time and corresponds to the delay caused by the filter. For example, for the designed lowpass and bandstop filters, the value of the group delay function is 4s and 2.5s , respectively. This delay is much smaller in input shapers, e.g. 1s and 1.5s for ZVD and ZVDD shapers, respectively, as can be seen in Figure 3.11. Figure 3.12: Frequency response of the designed lowpass and bandstop filters 45 Chapter 3. Input Shaping of Reference Commands for Vibration Avoidance Figure 3.13 shows the system response to a step input shaped by the designed lowpass and bandstop filters. In order to investigate the robustness, the response has been plotted for the exact and mismatched ( 15% ) systems. The residual vibrations have been identified as the vibrations left after the maximum group delay ( dϕ d ω ) in Figure 3.12, which are 4s and 2.5s for the designed lowpass and bandstop filters, respectively. Figure 3.13: System response to a step command shaped by lowpass and bandstop filters. (The mismatched model has 15% deviation from the modeled frequency) Table 3.1 summarizes the performance comparison for the investigated shapers and filters. Rise time and maximum overshoot of the system response have been also presented in the table to evaluate the transient performance and deflection of the flexible part during the maneuver. These results show that input shapers significantly outperform classical filters in both transient and residual states. 46 Chapter 3. Input Shaping of Reference Commands for Vibration Avoidance Table 3.1: Comparison of performance achieved by input shapers and classical filters (plant: ωn = 1Hz , ζ = 0 ) (ZVD, ZVDD: input shapers, LP: lowpass, BS: bandstop) Exact 15% Mismatch Performance Index ZVD ZVDD LP BS ZVD ZVDD LP BS delay (filter length) [s] 1.0 1.5 4.0 2.5 1.0 1.5 4.0 2.5 0.0 0.0 13.5 12.0 5.5 1.3 33.9 15.0 settling time (5%) [s] 1.0 1.5 6.3 4.4 NA 1.5 NA 4.4 rise time [s] 1.0 1.5 2.36 0.91 0.91 1.42 2.36 0.96 percentage overshoot [%] 0.0 0.0 34.7 28.0 5.5 1.3 45.7 28.9 maximum percentage of residual vibration [%] 3.7 Summary In this chapter, the physical interpretation and mathematical derivations of input shaping technique was presented. It was shown that depending on the constraints and design criteria, different types of shapers with different characteristics and limitations can be designed. Since there is always mismatch between the modeled and actual system, robustness of input shapers was thoroughly studied in this chapter. It was shown that mathematically, any desired level of robustness is achievable, but at the expense of longer incurred delay. Furthermore, the performance of input shaping technique was compared against classical Butterworth lowpass and band-stop filters; it was shown that input shapers significantly outperform these frequency-domain filters in terms of vibration reduction and robustness. However, the main problem with input shaping is that it adds delay to the command, which results in toolpath distortion and large geometric contour errors. This effect is investigated and compensated for in the next chapter. 47 Chapter 4. Improving Accuracy by Pre-compensation of Contour Errors 4 Improving Accuracy by Pre-compensation of Contour Errors 4.1 Introduction Due to the limited bandwidth of servo drives, each axis of a machine tool exhibits tracking errors in following the reference command. In multi-axis trajectories, these errors result in deviation of the actual toolpath from the desired one. In addition, the delay caused by input shaping causes path distortion and adds up to the total contour error. This chapter proposes a feed forward pre-compensation technique which predicts and avoids these contour errors through command shaping techniques. The chapter is organized as follows; Section 4.2 provides the mathematical definition of contour error. Section 4.3 presents an approximation method which uses shifted Frenet frame to estimate the total contour errors. Trajectory distortion caused by input shaping is studied in Section 4.4, followed by the proposed pre-compensation technique in Section 4.5. The effectiveness of pre-compensation is investigated in Section 4.6 by conducting a statistical analysis on the observed contour errors in the actual response. Finally, Section 4.7 summarizes the investigations and contribution presented in the chapter. 4.2 Definition of Contour Error As shown in Figure 4.1, tracking error vector is defined as the difference between the desired and actual position of the tooltip, that is: e = ⎡⎣ex , ey , ez ⎤⎦ = pd − pa = [ xd − xa , yd − ya , zd − za ] (4.1) where pd = [ xd , yd , zd ] and pa = [ xa , ya , za ] are the desired and actual position of the tool respectively. However, tracking error is a function of time and does not directly show the geometric accuracy and tolerance of the machined part. Contour error, on the other hand, is defined as the deviation of the actual position from the reference toolpath, and as shown in 48 Chapter 4. Improving Accuracy by Pre-compensation of Contour Errors Figure 4.1, it can be roughly interpreted as the component of tracking error normal to the reference toolpath. Note that unlike tracking error, contour error is a spatial variable and can be measured by CMM (Coordinate Measuring Machine) without any knowledge about the motion control specifications of the machine. Figure 4.1: Illustration of tracking error and contouring error. As illustrated in Figure 4.1, contour error vector can be represented as: ε = ⎡⎣ε x , ε y , ε z ⎤⎦ = pn − pa = [ xn − xa , yn − ya , zn − za ] (4.2) where pn = [ xn , yn , zn ] is a point on the reference toolpath which is closest to the actual position pa ; however, there is no straightforward method to analytically find this nearest point pn . Iterative method proposed by Erkorkmaz and Altintas [16] can be used to search for the nearest point pn and calculate the exact value of contour error. However, iterative techniques may require a lot of computation to converge, which makes them impractical to be implemented in real time control laws. This thesis adopts an approximation method proposed by Altintas and Sencer [6] which directly estimates the contour errors using shifted Frenet frame. The basic theory of this method is explained in the following section. 49 Chapter 4. Improving Accuracy by Pre-compensation of Contour Errors 4.3 Contour Error Estimation using Frenet Frame Figure 4.2 illustrates the reference and actual position of the tooltip in following a desired path. Frenet frame [12], which is shown by F in the figure, is a coordinate frame with its origin coincident on the reference position pd and its axes defined by the mutually orthogonal unit tangent t , normal n , and bi-normal b vectors as: T t = ⎡⎣t x , t y , t z ⎤⎦ = T n = ⎡⎣ nx , ny , nz ⎤⎦ = pd = pd pd = pd 1 [ xd , yd , zd ] T xd + yd + zd 2 2 2 1 xd 2 + yd 2 + zd pd = , [ xd , yd , zd ] 2 T , d pd dt pd = d pd dt b = t×n (4.3) (4.4) (4.5) and the Frenet frame is formed by: ⎡t x F = [ t , n, b ] = ⎢⎢t y ⎢⎣ t z nx ny nz bx ⎤ by ⎥⎥ bz ⎥⎦ (4.6) Figure 4.2: Using Frenet frame in estimation of contour errors [41]. 50 Chapter 4. Improving Accuracy by Pre-compensation of Contour Errors As Figure 4.2 illustrates, Frenet frame can be used directly to estimate the contour error εˆ . The tracking error vector e = ⎡⎣ ex , e y , ez ⎤⎦ (in the workpiece frame) can be represented in the Frenet frame using the Frenet frame transformation: eF = [ et , en , eb ] = F −1. e = F T . e T (4.7) The contour error can be roughly estimated as the component of the tracking error normal to the tangential axis t of the frame [6], which can be obtained by subtracting the tangential component of the tracking error: εˆ = eF − eF . t = ( et t + en n + eb b ) − et t = en n + eb b (4.8) However, as the curvature of the toolpath and also the contouring speed increases, the estimation error becomes relatively large. As shown in Figure 4.3, the approximation can be significantly improved by shifting the Frenet frame to a point which is closer to the actual pn . Figure 4.3: Using shifted Frenet frame in estimation of the contour errors [41]. The delay or lead time between the current reference position pd and nearest point pn can be estimated as: 51 Chapter 4. Improving Accuracy by Pre-compensation of Contour Errors td = et = pd et xd 2 + yd 2 + zd 2 (4.9) where et is the tracking error component in the tangential direction t . The shifted Frenet frame is obtained by applying the time shift as: Fˆ = F (t − td ) (4.10) However, it should be noted that this time shift only corrects the axis directions of the frame, but the origin of the shifted frame is still coinciding with the current reference position pd . In order to shift the position of the frame to the delayed reference position, the displacement delay vector h is defined as: h = pd (t ) − pd (t − td ) (4.11) which can be transformed to the shifted Frenet frame Fˆ as: hF = Fˆ T h (4.12) Only the normal and bi-normal components of the displacement delay hF are used in the contour error estimation; the tangential component is excluded as: hˆF = DhF (4.13) where D = diag (0,1,1) . Therefore, the tracking error represented in the compensated Frenet frame can be written as: eˆFˆ = Fˆ T e − hˆF (4.14) Finally, the corrected contour error estimation is obtained from the normal and bi-normal components of the tracking error in Eq. (4.14) represented in the compensated Frenet frame: 52 Chapter 4. Improving Accuracy by Pre-compensation of Contour Errors T εˆFˆ = ⎡⎣εˆx , εˆy , εˆz ⎤⎦ ≈ eˆn + eˆb = en nˆ Fˆ + eb bˆFˆ (4.15) 4.4 Trajectory Distortion caused by Input Shaping Input shapers can effectively block unwanted harmonics of the command but at the expense of adding delay to the trajectory, meaning that the shaped command has always a time shift relative to the original unshaped input. This delay might not be problematic in single axis systems, but in multi-axis machines, even if all axes are shaped with the same input shaper, the time delay results in path distortion. In other words, the machine can follow the shaped input without vibration, but the command itself has inaccuracy with respect to the original desired path. Note that this deviation is different from the error caused by the limited bandwidth of the servo drives. The discrepancy between the shaped and unshaped toolpath depends on the feedrate, curvature of the path, and the structural frequency which must be avoided. For example, assume a circle with the radius of 40mm is to be contoured at 80mm/s by a machine which has a structural resonance mode at 3Hz on its X-axis and a mode at 5Hz on the Y-axis, both with damping of 0.1 (For the sake of demonstration, the structural modes have been chosen to be very low so that the distortion will be significant). A ZVD shaper is designed for each axis using Eq. (3.43): X-axis: Td = 2π ωn 1 − ζ 2 = 0.335s ωn = 3Hz ⎫ ⎬ → ζ = 0.1 ⎭ K = e−πζ 1−ζ = 0.73 2 ⎡ 2K 1 ⎫ ⎤ K2 ⎫ ⎧ ⎫ ⎧ ⎡ ⎧ A⎫ ⎤ ⎢ ⎧⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎥ ⎢ ⎨ ⎬ ⎥ = ⎢ ⎨ K 2 + 2 K + 1⎬ , ⎨ K 2 + 2 K + 1⎬ , ⎨ K 2 + 2 K + 1⎬ ⎥ ⎢⎣ ⎩ t ⎭ j ⎥⎦ ⎢ ⎪ ⎪⎭ ⎪⎩ 0.5Td ⎪⎭ ⎪ ⎪ ⎥ 0 Td ⎭3 ⎦ 1 2 ⎩ ⎣⎩ j = 1, 2,3 (4.16) ⎡ ⎧0.3344 ⎫ ⎧0.4877 ⎫ ⎧0.1778⎫ ⎤ = ⎢⎨ ⎬ ,⎨ ⎬ ⎥ ⎬ ,⎨ 0 0.1675 ⎩ ⎭2 ⎩ 0.335 ⎭3 ⎦ ⎩ ⎭ 1 ⎣ 53 Chapter 4. Improving Accuracy by Pre-compensation of Contour Errors Y-axis: Td = 2π ωn 1 − ζ 2 = 0.201s ωn = 5 Hz ⎫ ⎬ → ζ = 0.1 ⎭ K = e−πζ 1−ζ = 0.73 2 ⎡ 2K 1 ⎫ ⎤ K2 ⎫ ⎧ ⎫ ⎧ ⎡ ⎧ A⎫ ⎤ ⎢ ⎧⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎥ ⎢ ⎨ ⎬ ⎥ = ⎢ ⎨ K 2 + 2 K + 1⎬ , ⎨ K 2 + 2 K + 1⎬ , ⎨ K 2 + 2 K + 1⎬ ⎥ ⎢⎣ ⎩ t ⎭ j ⎥⎦ ⎢ ⎪ ⎪⎭ ⎪⎩ 0.5Td ⎪⎭ ⎪ ⎪ ⎥ 0 Td ⎭3 ⎦ 1 2 ⎩ ⎣⎩ j = 1, 2,3 (4.17) ⎡ ⎧0.3344 ⎫ ⎧0.4877 ⎫ ⎧0.1778⎫ ⎤ = ⎢⎨ ⎬ ,⎨ ⎬ ⎥ ⎬ ,⎨ 0 0.1005 ⎩ ⎭2 ⎩ 0.201 ⎭3 ⎦ ⎩ ⎭ 1 ⎣ The two individual shapers designed in Eqs. (4.16) and (4.17) are then convolved together to obtain the total input shaper, which is then used for both axes: ⎡ Aj ⎤ ⎡ Aj ⎤ ⎡ Aj ⎤ Total Shaper : ⎢ ⎥ = conv( ⎢ ⎥ , ⎢ ⎥ ) ⎣ tj ⎦ ⎣ t j ⎦ X ⎣ t j ⎦Y ⎡ ⎧ A⎫ ⎤ ⎡ ⎧0.11⎫ ⎧0.1631⎫ ⎧ 0.1631⎫ ⎧0.0595⎫ ⎧0.2379⎫ ⎧0.0595⎫ ⎢ ⎨ ⎬ ⎥ = ⎢⎨ ⎬ ,⎨ ⎬ ,⎨ ⎬ ,⎨ ⎬ ,⎨ ⎬ ,⎨ ⎬ ⎢⎣ ⎩ t ⎭ j ⎥⎦ ⎣ ⎩ 0 ⎭1 ⎩0.1005⎭2 ⎩0.1675⎭3 ⎩ 0.2011⎭4 ⎩0.2680⎭5 ⎩0.3350⎭6 (4.18) ⎧0.0867 ⎫ ⎧0.0867 ⎫ ⎧0.0316⎫ ⎤ ⎨ ⎬ ,⎨ ⎬ ,⎨ ⎬ ⎥ ⎩0.3686 ⎭7 ⎩0.4355⎭8 ⎩ 0.5361⎭9 ⎦ Figure 4.4 shows the shaped and unshaped axis commands in contouring the described circular path. It can be seen that the shaped trajectories have a time delay with respect to the original commands, which have resulted in a distorted toolpath. Note that the assumptions here are very exaggerated for clear observations. In realistic cases, this distortion is normally in the order of few microns. For the case when the original path is a circle, the path distortion can be explicitly calculated as: Contour Error: R − xshp 2 + yshp 2 (4.19) where x shp and y shp are the coordinates of each point on the shaped toolpath, and R is the radius of the original circular path. Positive error implies that the shaped point lies inside the circle whereas the negative error shows the points outside. 54 Chapter 4. Improving Accuracy by Pre-compensation of Contour Errors Figure 4.4: Trajectory distortion caused by input shaping ( R = 40mm , f = 80mm/s ). Figure 4.5 shows the path distortion evaluated by calculating the contour error value from Eq. (4.19). It can be seen that the error is positive, which based on the definition in Eq. (4.19) implies that all points of the shaped toolpath lie inside the circle. Figure 4.5: Contour error caused by input shaping for a circular path ( R = 40mm , f = 80mm/s ). 55 Chapter 4. Improving Accuracy by Pre-compensation of Contour Errors In order to investigate how feedrate and resonance frequency affect the incurred path distortion, the same circular path ( R = 40mm ) has been contoured at different conditions. The maximum distortion error, which is considered as the comparison index for each case, is shown in Figure 4.6. The trend of the plot shows that higher feedrates and lower resonance modes result in larger distortions. This is because lower frequencies require longer shapers, and higher feedrates causes larger displacement delay between the original and shaped reference positions. Figure 4.6: Maximum contour error caused by input shaping for a circular path contoured at different feedrates while avoiding different structural frequencies ( R = 40mm ). In addition to the contouring feedrate and resonance frequency, the curvature of the path also affects the shaping distortions. In order to include all of these three effects into investigations, it is convenient to define a dimensionless number Distortion Index Dind as: Dind = f ( f X − filt + fY − filt ). R (4.20) 56 Chapter 4. Improving Accuracy by Pre-compensation of Contour Errors where f [mm/s] is the feedrate, f X − filt and fY − filt are the structural resonance frequencies in [Hz], and R is the radius of the circle in [mm]. This dimensionless number can be interpreted as how large the distance delay between the original and shaped reference is relative to the curvature of the path. Eq. (4.20) shows that distortion index is directly related to the feedrate and inversely related to the resonance frequency and path radius. Figure 4.7 plots the maximum distortion in contouring a circular path with different distortion indices Dind . It can be observed that distortion error increases as the distortion index gets larger. Figure 4.7: Maximum contour error caused by input shaping in different distortion indices. As a more realistic example, assume that the mentioned circular path with radius R = 40mm is contoured at 80mm/s , and the trajectory is shaped with ZVD shapers to avoid the 30 Hz mode of the X-axis and 50 Hz mode of the Y-axis; in this case, the distortion index is: Dind = f 80 = = 0.025 ( f X − filt + fY − filt ). R (30 + 50).40 (4.21) 57 Chapter 4. Improving Accuracy by Pre-compensation of Contour Errors and from the plot in Figure 4.7, the maximum contour error is found to be 12 micron. If the same path is contoured with the same condition but at 200m/s feedrate, the distortion index increases to 0.0625 , and from Figure 4.7, the maximum contour error also increases to 75 micron. It is worth reminding that this error is related to the command itself; the contour error caused by the limited bandwidth of servo drives will add up to this error after machining. Depending on the application, if the structural mode is relatively high and the feedrate is fairly low, shaping distortion may be ignored; however, in high speed CNC machine tools which require high accuracy and speed at the same time, the error has to be corrected. The proposed technique for contour error compensation is discussed in details in the next section. 4.5 Pre-compensation of Contour Errors The actual response of the machine always deviates from the reference path in contour machining. The contouring error consists of some repetitive part, which can be caused by the machine dynamics and friction, as well as some random non-repetitive portion caused by disturbance or inconsistency in friction. In order to reduce the total geometric error in following a toolpath, one suggested method is to estimate the contour error in real time using the measured axis positions, and then add a compensating signal either to the reference or the control output [10, 6]. Although this technique is capable of reducing both the repetitive and non-repetitive parts of the contour error, it is computationally extensive, which might not be practical to be implemented on real time CNC machine tools. On the other hand, owing to the available feed drive models which can closely simulate the actual response of the machine, the repetitive part of contour error can be predicted and corrected beforehand. This is especially practical, as accurate and vibrationfree motion of the machine is needed mostly for the finishing operations, in which the chip load and thus cutting forces are very small. As a result, the machine response in finishing 58 Chapter 4. Improving Accuracy by Pre-compensation of Contour Errors operations is mostly dominated by deterministic behavior of the drives, and is not considerably affected by random disturbance-induced errors. Figure 4.8 illustrates the basic idea of pre-compensation of contour errors. Assume that the perfect circle shown in dash-dot line is to be contoured by a machine, which has relatively low-bandwidth drives. The conventional way to generate the axis commands is to interpolate the perfect circle with a certain trajectory generation technique, e.g. cubic acceleration, and then map the path on the corresponding axes. However, due to the limited bandwidth of the drives, the chosen feedrate must be relatively low; otherwise, the response dramatically deviates from the desired path and violates the tolerance requirements. For example, if the commanded trajectories are generated only based on the interpolated circle, the actual response of the machine might be similar to the dash-line path in Figure 4.8, although it is very exaggerated for the sake of demonstration. The common approach to alleviate this problem is either using an aggressive controller, which might result in saturation of the drives, or using relatively low feedrates, which leads to long cycle time. Figure 4.8: Illustration of pre-compensation of contour errors. 59 Chapter 4. Improving Accuracy by Pre-compensation of Contour Errors However, if a fairly good model of the feed drive dynamics is available, which is usually the case in machine tools, this deviation can be predicted beforehand. In this case, we can simply use our knowledge of the machine to modify the command such that considering all the limitations, the actual response is closer to the circle. For example, considering the uncompensated response shown by the dash-line in Figure 4.8, we might be able to modify the command to get a compensated toolpath such that when the machine is following this compensated command, it deviates due to its dynamic; however, since the command is modified based on this behavior, the actual response of the machine will be much closer to the perfect circle even though the input trajectory itself is not a perfect circle. The implementation of pre-compensation technique is explained in the following section. 4.5.1 Pre-compensation of Path Distortion and Machine-dependent Contour Errors The pre-compensation idea presented above can be used to simultaneously compensate for the toolpath distortion caused by input shaping as well as the machinedependent contour errors. The procedure is explained here for a five axis tilting-table XYZAC, as shown in Figure 4.9, but the method can be used for other machine configurations as well using the proper kinematic transformations. Figure 4.10 demonstrates the overall algorithm for the pre-compensation of contour errors. Assume that the original toolpath specified by the user has been interpolated using an arbitrary type of trajectory generation method, e.g. cubic acceleration profile. This gives the desired tool pose in the workpiece frame, denoted as [ Pxd , Pyd , Pzd ,θ ad ,θ cd ]w , where Pxd , Pyd , Pzd are the tooltip coordinates, and θ ad , θ cd are the primary ( a ) and secondary ( c ) angles describing the tool orientation; the subscript w indicates that all of these coordinates are described in the workpiece frame. Note that the interpolated trajectory is in the form of discrete points, i.e. [ Pxd (k ), Pyd (k ), Pzd (k ),θ ad (k ),θ cd (k )]w , where k is the sampling counter; however, for the sake of simplicity of equations and diagrams, the argument (k ) is not written in the following derivations. 60 Chaapptteer 44. Im Ch mpproovviinngg Ac Acccuurracyy by b Pr Pree-ccoom mppeennssaatioon n ooff Co C nttoouurr E Errrroorss Fig Fi gu urree 4. 4 9: Sch heem ma m tic co connfiigguuraattioonn of a ffivvee ax axiis m maacch hinnee tooooll witth tilltiinng tabbllee (X (XY YZ ZAC AC)) [4 [41 1]. Th Thee coorrrresppoonnddingg re refe ferreen nce ax axiis co com mm m maannd ds [ xr , yr , zr , ar , cr ] wh whicchh ressuult in tthhee dessirreed de d tooo ol po possee trraajeecctorryy ca can n bbee ob obttaiinneed d by ap apppllyyinngg thhee in inv verrssee kinneem maatticc of of tthhee Pxd , Py Pyd , P Pzzd ,θ ad ,θ cd ]w [66]]: ma m chhiin nee oon n th thee de dessirreedd ttoool posee trrajjeecctoorryy [ Px co oss (θ cd ) − ssinn (θ cd ) 0 Pxd ⎤ ⎤ ⎡ Px ⎡ xr ⎤ ⎡ ⎢ ⎥ ⎢ y ⎥ = cco sinn (θ cd ) − co coss (θ ad ) cco os (θ cd ) − sin s n (θ ad ) ⎥ ⎢⎢ P Pyyd ⎥⎥ ⎢ r ⎥ ⎢ os (θ ad ) si ⎢⎣ zr ⎥⎦ ⎢⎣ ssinn (θ ad ) sin s n (θ cd ) − siinn (θ ad ) cos (θ cd ) ccooss (θ ad ) ⎥⎦ ⎢⎣ Pz Pzd ⎥⎦ ar = −θ ad (4.2222)) (4 cr = −θ cd wh w erree xr , yr , zr ccoorrreessppoonndd to o th thee Ca Cartteesiaann ax axees of th the ma macchhinnee, an a d ar , cr aaree th thee com co mm man ma ndds too th hee priim maarryy an and d se seccoonndarryy aax xeess ooff th thee ro rotaarryy ttabbllee, reessppeectiivellyy. 6 61 Chapter 4. Improving Accuracy by Pre-compensation of Contour Errors Figure 4.10: Schematic block diagram of the proposed integrated five-axis input shaping and contour error compensation. If the axis commands obtained in Eq. (4.22) are sent directly to the machine, they might excite the structural vibrations of the system and also cause contour errors due to the dynamic limitation of the machine. Instead, as illustrated in Figure 4.10, these “unshaped” commands can be fed into the proposed command shaping module to remove the excitation harmonics of the input and compensate for the contour errors. The “shaped-compensated” trajectories calculated by this module result in vibration-free and accurate contouring of the path. 62 Chapter 4. Improving Accuracy by Pre-compensation of Contour Errors As the first step in the command shaping module, the input shaper designed in Chapter 3 is applied on the original axis reference commands [ xr , yr , zr , ar , cr ] to remove the excitation harmonics, resulting in the shaped reference commands [ xrs , yrs , zrs , ars , crs ] : m qrs (k ) = conv [ qr (k ),shaper ] = ∑ Aj qr (k − k j )1 k − k j q = x, y, z, a, c (4.23) j =1 where A j and t j are the magnitude and time delay of the jth impulse, Ts is the sampling time, and k j = fix(t j / Ts ) is the corresponding number of delayed sample times for the jth impulse; 1 k − k j is also the unit step function applied at the sampling counter k = k j : ⎧⎪ 1 k − k j = 1 ⎨ ⎪⎩1 k − k j = 0 k ≥ kj k < kj (4.24) Using the available models describing the closed loop dynamic of axis servo drives, the actual response of each axis to the corresponding shaped command can be approximately predicted as: qas (k ) = conv ⎡⎣ qrs (k ), Gq ( z −1 ) ⎤⎦ q = x, y, z, a, c (4.25) where Gq ( z −1 ) is the closed loop model of the axis. This model can be as simple as a second order system, or a very sophisticated model including friction and nonlinearities. For example, for a linear model: qas ( z −1 ) = Gq ( z −1 ). qrs ( z −1 ) q = x, y, z, a, c (4.26) Several experimental examples for modeling of ballscrew drives and linear motor-driven drives are provided in Chapter 5. The predicted shaped axis responses [ xas , yas , zas , aas , cas ] obtained in Eq. (4.25) can be used to predict the resultant contour errors caused by both input shaping and machine dynamic. However, since contour error is defined in the workpiece frame, direct kinematic 63 Chapter 4. Improving Accuracy by Pre-compensation of Contour Errors of the machine must be used to obtain the predicted shaped tool pose ⎡⎣ Pxas , Pyas , Pzas ,θ aas ,θ cas ⎤⎦ in the workpiece frame [6]: w T Pas = ⎡⎣ Pxas , Pyas , Pzas ,1⎤⎦ = ROTz −1 (cas ).ROTx −1 (aas ).Trans( xas , yas , zas ).Tp θ aas = −aas (4.27) θ cas = −cas where ⎡cos (cas ) − sin (cas ) ⎢ sin (c ) cos (c ) as as ROTz (cas ) = ⎢ ⎢ 0 0 ⎢ 0 ⎣ 0 0 0⎤ 0 0 ⎥⎥ 1 0⎥ ⎥ 0 1⎦ 0 0 ⎡1 ⎢ 0 cos (a ) − sin (a ) as as ROTx (aas ) = ⎢ ⎢ 0 sin (aas ) cos (aas ) ⎢ 0 0 ⎣0 ⎡1 ⎢0 Trans( xas , yas , zas ) = ⎢ ⎢0 ⎢ ⎣0 0⎤ 0 ⎥⎥ 0⎥ ⎥ 1⎦ 0 0 − xas ⎤ 1 0 − yas ⎥⎥ 0 1 zas ⎥ ⎥ 0 0 1 ⎦ Tp = [ 0, 0, 0,1] T (4.28) (4.29) (4.30) (4.31) Therefore, ⎡ Pxas ⎤ ⎡ − xas cos (cas ) − yas cos (aas ) sin (cas ) + zas sin (aas )sin (cas ) ⎤ ⎢ ⎥ ⎢ ⎥ ⎢ Pyas ⎥ = ⎢ xas sin (cas ) − yas cos (aas ) cos (cas ) + zas sin (aas ) cos (cas ) ⎥ ⎢ Pzas ⎥ ⎢⎣ ⎥⎦ yas sin (aas ) + zas cos (aas ) ⎣ ⎦ (4.32) θ aas = −aas θ cas = −cas 64 Chapter 4. Improving Accuracy by Pre-compensation of Contour Errors Next, the contour error estimation method presented in Section 4.3 is used to calculate the T tooltip contour error ε = ⎡⎣ε xs , ε ys , ε zs ⎤⎦ w between the predicted shaped tooltip position ⎡⎣ Pxas , Pyas , Pzas ⎤⎦ and the original desired one [ Pxd , Pyd , Pzd ]w . This predicted contour w error is used to pre-compensate the geometric errors caused by both input shaping and machine dynamics. However, due to the nonlinear kinematic transformation between the axis commands (in the base frame) and tool pose (in the workpiece frame), the components of T the predicted tooltip contour error ε = ⎡⎣ε xs , ε ys , ε zs ⎤⎦ w cannot be directly added to the shaped axis commands for compensation. Instead, as illustrated in the block diagram in Figure 4.10, they must be added to the shaped tool pose described in the workpiece frame. Direct kinematic of the machine derived in Eq. (4.32) is used again to obtain the shaped tool pose [ Pxds , Pyds , Pzds ,θ ads ,θ cds ]w from the shaped axis commands [ xrs , yrs , zrs , ars , crs ] : ⎡ Pxds ⎤ ⎡ − xrs cos (crs ) − yrs cos (ars ) sin (crs ) + zrs sin (ars ) sin (crs ) ⎤ ⎢ Py ⎥ = ⎢ x sin (c ) − y cos (a ) cos (c ) + z sin (a ) cos (c ) ⎥ rs rs rs rs rs rs rs ⎥ ⎢ ds ⎥ ⎢ rs ⎢⎣ Pzds ⎥⎦ ⎢⎣ ⎥⎦ yrs sin (ars ) + zrs cos (ars ) θ ads = −ars (4.33) θ cds = −crs The components of the predicted tooltip contour error ⎡⎣ε xs , ε ys , ε zs ⎤⎦ are then added to the w shaped tooltip position [ Pxds , Pyds , Pzds ]w (in the workpiece frame) to obtain the shapedcompensated tool pose [ Pxdsc , Pydsc , Pzdsc ,θ adsc ,θ cdsc ]w : Pxdsc = Pxds + ε xs Pydsc = Pyds + ε ys Pzdsc = Pzds + ε zs (4.34) θ adsc = θ ads θ cdsc = θ cds 65 Chapter 4. Improving Accuracy by Pre-compensation of Contour Errors The corresponding shaped-compensated axis commands [ xˆrsc , yˆ rsc , zˆrsc , aˆrsc , cˆrsc ] which result in the shaped-compensated tool pose [ Pxdsc , Pydsc , Pzdsc ,θ adsc ,θ cdsc ]w can be obtained by using the inverse kinematic of the machine: 0 − cos (θ cdsc ) − sin (θ cdsc ) ⎤ ⎡ Pxdsc ⎤ ⎡ xˆrsc ⎤ ⎡ ⎥⎢ ⎢ yˆ ⎥ = ⎢cos θ a sin θ c ⎥ ⎢ rsc ⎥ ⎢ ( dsc ) ( dsc ) − cos (θ adsc ) cos (θ cdsc ) − sin (θ adsc ) ⎥ ⎢ Pydsc ⎥ ⎢⎣ zˆrsc ⎥⎦ ⎢⎣ sin (θ adsc ) sin (θ cdsc ) − sin (θ adsc ) cos (θ cdsc ) cos (θ adsc ) ⎥⎦ ⎢⎣ Pzdsc ⎥⎦ aˆrsc = −θ adsc cˆrsc = −θ cdsc (4.35) Compared to the shaped axis commands [ xrs , yrs , zrs , ars , crs ] , the shaped-compensated commands [ xˆrsc , yˆ rsc , zˆrsc , aˆrsc , cˆrsc ] obtained in Eq. (4.35) include additional correcting terms which can be calculated as: δ xˆcmp = xˆrsc − xrs δ yˆ cmp = yˆ rsc − yrs (4.36) δ zˆcmp = zˆrsc − zrs However, the compensation terms ⎡⎣δ xˆcmp , δ yˆ cmp , δ zˆcmp ⎤⎦ added to the shaped axis commands might again bring some excitation harmonics to the axis input and cause structural vibration. Therefore, the compensation signals calculated in Eq. (4.36) must be low-pass filtered at five times to ten times smaller than the lowest structural mode of the machine: δ xcmp = LPF (δ xˆcmp ) δ ycmp = LPF (δ yˆ cmp ) (4.37) δ zcmp = LPF (δ zˆcmp ) It should be noted that due to the nonlinear kinematic transformation, filtering of the compensation terms ⎡⎣ε xs , ε ys , ε zs ⎤⎦ in Eq. (4.34) does not guarantee that the resultant w 66 Chapter 4. Improving Accuracy by Pre-compensation of Contour Errors correcting terms added to the axis commands will be filtered as well. Therefore, low-pass filtering could not be accomplished in Eq. (4.34). Finally, the filtered shaped-compensated commands [ xrsc , yrsc , zrsc , arsc , crsc ] , which result in vibration-free and accurate contouring of the desired path, are obtained by adding the filtered compensation signals ⎡⎣δ xcmp , δ ycmp , δ zcmp ⎤⎦ from Eq. (4.37) to the shaped axis commands [ xrs , yrs , zrs , ars , crs ] calculated in Eq. (4.23): xrsc = xrs + δ xcmp yrsc = yrs + δ ycmp zrsc = zrs + δ zcmp (4.38) arsc = ars crsc = crs It should be noted that the compensation technique described above has been developed to correct only the tooltip contour error. In case of five-axis machines, in addition to the tooltip contour error, another form of error is defined which is related to the deviation of the tool orientation from the desired one. Similar to tooltip position error, the orientation contour error must be investigated and compensated as well, which is left for future work. 4.5.2 Simplified Versions of the Proposed Command Shaping Module The command shaping module presented in the previous section and illustrated in Figure 4.10 is a very general form developed for 5-axis machines; it includes both input shaping for vibration avoidance as well as compensation of contour errors caused by both input shaping distortion and machine dynamics. However, depending on the application, simplified versions of this module which serves a certain purpose can be also extracted. As the simplest case, in some applications only the start and end points of the path are important and the relatively small contour error along the toolpath caused by the shaping distortion and machine dynamics is not problematic. For instance, in positioning of the tool in point-to-point drilling, only vibration-free conditions at the beginning and end is 67 Chapter 4. Improving Accuracy by Pre-compensation of Contour Errors important but the travelled path in the air does not particularly matter. In this case, only the input shaping block which shapes the individual axis commands will suffice. Another case is when the tracking performance of axis drives are good enough that the contour error caused by the machine dynamics is not significant, and thus does not need to be compensated; however, the machine has some flexible components with low frequency resonance modes which must be avoided. In this case, the toolpath distortion caused by input shaping might be considerable, and must be compensated for. This is usually the case for most CNC machine tools with high bandwidth axis control loops but with low-frequency column modes. A simplified version of the proposed command shaping module can be used very effectively in these applications. The overall procedure is almost the same as the block diagram in Figure 4.10, the only difference is that instead of using the prediction of the actual tool pose ⎡⎣ Pxas , Pyas , Pzas ,θ aas ,θ cas ⎤⎦ , the contour error is w calculated between the shaped tool pose [ Pxds , Pyds , Pzds ,θ ads ,θ cds ]w (in the workpiece frame) and the original desired pose [ Pxd , Pyd , Pzd ,θ ad ,θ cd ]w . This way, only the path distortion caused by input shaping is compensated. Note that in this case, the dynamic models of the feed drives are not needed, and the path distortion is calculated semianalytically only based on the shaped and desired tool pose. The proposed command shaping module can be used for the opposite case as well, that is when the contour error caused by the machine dynamics is large, but there is no vibration problem. Figure 4.11 illustrates the simplified command shaping module for this case. Note that although input shaping of the original axis commands is not needed, the estimated components of the contour errors must be still low-pass filtered before being added to the original axis commands; otherwise, the high frequency harmonics of the compensation signals might saturate the drives and cause large contour errors. 68 Chapter 4. Improving Accuracy by Pre-compensation of Contour Errors Figure 4.11: Simplified version of the proposed command shaping module; only compensating the contour errors caused by the machine dynamics, no vibration avoidance. For the case of three-axis Cartesian machines, the module is simplified significantly as the workpiece frame always stays parallel to the base frame. Since there is no nonlinear kinematic transformation involved, the components of the predicted contour error can be added directly to the axis commands. Figure 4.12 illustrates the general form of the proposed module for three-axis Cartesian machines. Note that it includes vibration avoidance and compensates for contour errors caused by both input shaping and machine dynamics. 69 Chapter 4. Improving Accuracy by Pre-compensation of Contour Errors Figure 4.12: Schematic block diagram of the proposed integrated input shaping and contour error compensation for three-axis Cartesian machines. 4.6 Statistical Evaluation of Contour Error Compensation Assume that an arbitrary toolpath (tooltip positions) denoted by TPref is to be contoured by a five-axis machine tool. In order to avoid excitation of the machine, the reference has been shaped by an arbitrary shaper. As discussed earlier, the shaped toolpath TPshp exhibits some distortion relative to the original one, which can be represented as: ε shp = TPref − TPshp (4.39) where ε shp can be calculated as the shortest distance from each point on the shaped toolpath TPshp to the original one TPref . If the shaped trajectory is given to the machine without any modification, the machine response generates the actual toolpath denoted as TPact , which has contouring 70 Chapter 4. Improving Accuracy by Pre-compensation of Contour Errors error due to the shaping distortion and machine dynamic. Using the same contour error definition presented in Section 4.2, the actual observed error ε act can be written as: ε act = TPref − TPact (4.40) From the pre-compensation point of view presented in the previous section, this contour error can be decomposed into the reference- and machine-related terms: ε act = ε shp + ε machine (4.41) where ε shp represents the path distortion caused by input shaping, and ε machine is the contour error caused due to the machine dynamics, both presented in Section 4.4. Since the original and shaped reference commands are well-known vectors, the exact value of the distortion error ε shp can be calculated, except for the estimation error of the employed contour error calculation method. The machine-dependent contour error ε machine , on the other hand, is not known but still can be broken into two parts: ε machine = ε rep + ε rand (4.42) where ε rep represents the repetitive part of contour error observed every time that the path is contoured with the same machine, and ε rand is the stochastic part of the error which occurs randomly, and thus, cannot be modeled or predicted. Depending on the available model of the feed drives, some part of the repetitive part ε rep might be possible to predict; that is: ε rep = ε mdl + ε rep − Nmdl (4.43) where ε mdl is the part of the repetitive error which can be modeled, and ε rep − Nmdl represents the part which is repetitive but cannot be predicted by the available model. Combining Eqs. (4.41), (4.42) and (4.43), the total actual contour error can be decomposed into four terms: ε act = ε shp + ε mdl + ε rep − Nmdl + ε rand Predictable (4.44) Non-predictable 71 Chapter 4. Improving Accuracy by Pre-compensation of Contour Errors where ε shp and ε mdl can be predicted knowing the reference, shaper, and model of the drives. From the statistical point of view, we can assume that the components in Eq. (4.44) are mutually independent and Gaussian (normally) distributed, that is: 2 ε shp ∼ N ( μ shp , σ shp ) (4.45) 2 ε mdl ∼ N ( μ mdl , σ mdl ) (4.46) 2 ε rep − Nmdl ∼ N ( μrep − Nmdl , σ rep − Nmdl ) (4.47) 2 ε rand ∼ N ( 0, σ rand ) (4.48) where μ is the mean (expected) value: μ = E [ε ] = mean ( ε ) (4.49) and σ 2 is the variance ( σ is the standard deviation): σ 2 = E ⎡⎣(ε − μ ) 2 ⎤⎦ = E ⎡⎣ε 2 ⎤⎦ − 2μ E [ε ] + μ 2 = E ⎡⎣ε 2 ⎤⎦ − μ 2 = E ⎡⎣ε 2 ⎤⎦ − ( E [ε ]) (4.50) 2 which is verbally stated as “mean of squared values minus squared of mean value”. Note that the mean value of random part in Eq. (4.48) has been considered to be zero, which means that the random part is not biased towards negative or positive contour errors. Using the definitions and assumptions given in Eqs. (4.41)-(4.48), the total actual contour error can be evaluated by its mean value μ act and error level ELact as: μact = E [ε act ] = mean ( ε act ) = μshp + μmdl + μrep− Nmdl (4.51) 72 Chapter 4. Improving Accuracy by Pre-compensation of Contour Errors ELact = E ( ε act 2 ) = μ shp 2 + μ mdl 2 + μ rep − Nmdl 2 + σ shp 2 + σ mdl 2 + σ rep − Nmdl 2 + σ rand 2 (4.52) Basically, the proposed contour error compensation tries to decrease these error values by pre-compensating for the path distortion ε shp and modeled machine-dependent contour error ε mdl : ε cmpSig = ε shp + ε mdl (4.53) However, as described in Section 4.4, the predicted contour error compensations signals are low-pass filtered before being added to the shaped command. This filtering might result in some deviation between the modeled contour error and the final compensating terms. In addition, since calculating the exact value of contour error requires time-consuming iterative methods, usually an estimation technique such as the one presented in Section 4.3 is employed. This brings additional error in approximating the actual values of ε shp and ε mdl . Therefore, if εˆshp and εˆmdl are the approximated compensation terms after filtering, the total correcting term can be represented as: εˆcompSig = εˆshp + εˆmdl (4.54) and the error in calculating the compensation signal is: errεˆcmpSig = ε cmpSig − εˆcmpSig (4.55) which can also be assumed to have normal distribution with mean value of μcmpErr and 2 variance of σ cmpErr : 2 errεˆcmpSig ∼ N ( μcmpErr , σ cmpErr ) (4.56) The shaped-compensated toolpath is obtained by adding the approximated compensating term to the shaped reference: TPshp −cmp = TPshp + εˆcmpSig (4.57) 73 Chapter 4. Improving Accuracy by Pre-compensation of Contour Errors If this modified trajectory is given to the machine, the actual contour error can be represented as: ε act −cmp = TPref − TPact −cmp (4.58) where TPref is the original desired toolpath; TPact −cmp is also the actual compensated response, which can be decomposed using the definition of the components in Eq. (4.44): TPact −cmp = TPshp −cmp − ε mdl − ε rep − Nmdl − ε rand (4.59) Substituting the expressions from Eqs. (4.53)-(4.59) into Eq. (4.58), the actual shapedcompensated contour error can be derived as follows: ε act −cmp = TPref − TPact −cmp = TPref − TPshp −cmp + ε mdl + ε rep − Nmdl + ε rand = TPref − TPshp − εˆcmpSig + ε mdl + ε rep − Nmdl + ε rand (4.60) = TPref − TPref + ε shp − εˆcmpSig + ε mdl + ε rep − Nmdl + ε rand = errεˆcmpSig + ε rep − Nmdl + ε rand where the underlined terms in each step are the ones substituted in the subsequent step. Similar to the mean value and error level calculated for the shaped response in Eqs. (4.51) and (4.52), for the shaped-compensated response it can be written as: μact −cmp = E ⎡⎣ε act −cmp ⎤⎦ = mean ( ε act −cmp ) = μcmpErr + μrep − Nmdl (4.61) ELact − cmp = E ( ε act − cmp 2 ) = μ cmpErr 2 + μ rep − Nmdl 2 + σ cmpErr 2 + σ rep − Nmdl 2 + σ rand 2 (4.62) In order to evaluate the effectiveness of pre-compensation technique, the values in Eqs. (4.61) and (4.62) can be compared against the uncompensated case in Eqs. (4.51) and (4.52). Also as a more explicit tool, we can compare the achieved improvement against the original contour error: considering the squared of error level EL as a rough index representing the overall level of error, the improvement achieved by compensation can be evaluated as: 74 Chapter 4. Improving Accuracy by Pre-compensation of Contour Errors I impr = ELact 2 − ELact −cmp 2 ( = μ shp 2 + μmdl 2 + μrep − Nmdl 2 + σ shp 2 + σ mdl 2 + σ rep − Nmdl 2 + σ rand 2 ( − μcmpErr 2 + μrep − Nmdl 2 + σ cmpErr 2 + σ rep − Nmdl 2 + σ rand 2 ) ) (4.63) = μ shp 2 + μmdl 2 − μcmpErr 2 + σ shp 2 + σ mdl 2 − σ cmpErr 2 Using pre-compensation is beneficial only if this improvement is significant compared to the non-compensatable part: Iimpr > μrep− Nmdl 2 + σ rep− Nmdl 2 + σ rand 2 (4.64) Finally, combining Eqs. (4.63) and (4.64), a rough criterion to evaluate the effectiveness of pre-compensation can be presented as: μshp 2 + μmdl 2 + σ shp 2 + σ mdl 2 > μcmpErr 2 + μrep− Nmdl 2 + σ cmpErr 2 + σ rep− Nmdl 2 + σ rand 2 (4.65) where as defined earlier, subscript shp relates to shaper distortion, mdl represents the error predictable by the available model, cmpErr is the difference between the raw calculated compensation signal and the final correcting terms after applying the low-pass filter; In addition, subscript rep − Nmdl represents the part of the error which is repetitive but cannot be predicted by the model, and finally, rand relates to the stochastic part of contour error caused randomly and non-repetitively. Remarks Looking more closely at the criterion derived in Eq. (4.65) gives a good insight to decide when the pre-compensation is beneficial. Basically the greater the left hand side is relative to the right hand side, the more it makes sense to use the compensation; therefore: 1. Pre-compensation is definitely necessary if the path distortion ε shp caused by input shaping is relatively significant; the higher feedrate we choose and the lower resonance frequencies the machine has, the larger path distortions will be observed, and thus, the more it becomes necessary to pre-compensate this error. 75 Chapter 4. Improving Accuracy by Pre-compensation of Contour Errors 2. From the repetitive part of the machine/process-dependent contour error, the part which can be predicted by the available model is on left hand side of the inequality whereas the non-predictable part is on the right-hand side. Expectedly, this means that the more we can model the behavior of the machine, the more dominant the left hand side becomes relative to the right hand side, and thus, the more it becomes beneficial to use pre-compensation. For example, the contour error caused by tool deflection is normally considered as repetitive but not predictable; however, if we can model the tool engagement and predict the resulting cutting forces and tool deflection, this effect will be taken to the left hand side of the inequality. Also assembly errors and structural misalignments are normally classified as repetitive but not modeled, although metrology researchers have been working on modeling and compensating these errors as well. 3. Contour error compensation technique is meant to correct only the mean value or relatively low frequency harmonics of the predicted contour error. Therefore, the compensating terms have to be low-pass filtered before being added to the shaped commands; otherwise they might excite the structural modes of the machine. The ( ) 2 error caused by filtering the compensation signal, i.e. N μcmpErr , σ cmpErr , depends on the path geometry, machine dynamics, process, etc, but is not controlled by the user; generally, sharp changes in the reference or machine response cannot be totally compensated even if they are predictable by the model; this is because compensating these sharp changes requires high frequency contents in the correcting signal, which are inevitably blocked by the filter applied on the compensating signals. For example, the contour error observed at sharp corners, which is due to the limited bandwidth of the machine, might be possible to reduce but cannot be completely compensated. As an another example, at the locations of the path where axis drives change directions, static friction behaves as a step disturbance to the system and causes small glitches; although employing precompensation may result in smoother response with smaller jumps at these points, the sharp change in contour error cannot be completely eliminated. 76 Chapter 4. Improving Accuracy by Pre-compensation of Contour Errors 4. Finally, as the name suggests, the error ε rand caused by random effects cannot be predicted or compensated. However, it might be possible to reduce these errors by improving the overall machine condition such as hardware accuracy and reliability, which is not studied in this work. 4.7 Summary Contouring errors exhibited in five-axis machining was thoroughly investigated in this chapter. Mathematical representation and a method for direct approximation of contour errors were presented. It was shown that due to the delay caused by input shapers, the shaped toolpath is always distorted compared to the original one. This distortion adds up to the errors originated from the limited bandwidth of the servo drives. A novel command shaping module was proposed which first shapes the original reference commands to avoid excitation of the structural modes of the five-axis machine. The available model of the machine dynamics is then used to predict the contour errors caused by both input shaping and machine dynamics. Correcting signals are calculated based on the predicted contour errors, and the compensation terms are added to the shaped commands to avoid these errors before their occurrence. Finally, a statistical analysis was performed to investigate the cases when pre-compensation can be effective. 77 Chapter 5. Implementation and Experimental Results 5 Implementation and Experimental Results 5.1 Introduction In order to verify the effectiveness of the command shaping techniques proposed in chapter 3, a number of experiments have been conducted on several machines with different types of feed drives. The implementation procedure for each set of experiment is presented in this chapter. It is worth reminding that the main focus is on the command modification part and not the controller. Therefore, minor details of system identification and controller design is not presented here; cited references can be studied accordingly. The chapter is organized as follows: implementation of single mode and multi mode input shaping to avoid excitation of two oscillators mounted on a single axis linear drive is presented in Section 5.2. Followed in Section 5.3, the proposed integrated input shaping and contour error compensation technique is implemented on a two-axis linear motordriven XY table to achieve accurate and vibration free contouring of a circular path. However, since the vibration of the linear drive is not significant, artificial low damping resonance modes are imposed in the closed loop through controller design, and input shaping is used to avoid excitation of these modes. Section 5.4 presents a set of realistic experiments conducted on a five-axis machining center, and structural vibrations were measured by accelerometers and Ferraris sensor to verify the vibration reduction effect. 5.2 Implementation on the Single-axis Linear Drive with Oscillator In order to visually demonstrate how input shaping can effectively avoid mode excitations, the single axis linear drive shown in Figure 5.1 was used as the test bed. Two flexible oscillator are mounted on the table to model the structural modes of a machine tool feed drive. It should be noted that unlike active damping techniques, there is no feedback from the vibrations of the oscillators in the control law. 78 Chapter 5. Implementation and Experimental Results 5.2.1 Experimental Setup Figure 5.1 shows the Siemens 1FN1 Linear Motor used for the preliminary single- axis experiments. Table 5.1 provides the relevant dynamic specifications of this high force motor. Figure 5.1: Siemens 1FN1 Linear Motor with flexible oscillators. Table 5.1: Dynamic specifications of Siemens 1FN1 Linear Motor. Max. Force 1720 N Max. Acceleration 2 2 g (19.6 m/s ) Max. Velocity 200 m/min The force delivered to the table is proportional to the current going through the motor coil. The required current is provided by a SIMODRIVE 611U unit, which is also shown in Figure 5.1. This unit can work in either velocity mode, in which the built-in controller in 611U is used, or it can be used in torque (current) mode, in which 611U work as a simple constant gain amplifier. In order to investigate the effect of command shaping techniques, it is preferable to use the 661U in the torque mode so that the controller can be 79 Chapter 5. Implementation and Experimental Results designed and implemented by the user. Due to the large currents going through the motor, °c water at 20 and 4L / min is flowing inside the table. The position of the table is measured using Heidenhain LIDA18 linear encoder cascaded with a Heidenhain IBV606 interpolation box. Vibration of the oscillator is also measured using a Kistler 8702B500 accelerometer with the range of ±500g and sensitivity of 14.4mV/g , although it should be noted that the acceleration data is not used as feedback in the controller. Two flexible oscillators are made out of thin Aluminum bars with the dimensions provided in Table 5.2. Table 5.2: Dimensions of the Aluminum oscillator. Height Width Thickness Oscillator 1 328.5 mm 14.7 mm 1.6 mm Oscillator 2 251.2 mm 14.7 mm 1.5 mm Data acquisition and real time control of the system is implemented on a dSPACE DS1103, which is interfaced with an external PC through ControlDesk© software. 5.2.2 System Modeling Since the mass of the oscillator is totally negligible compared to the mass of the table, it can be assumed that the vibration of the oscillator has no effect on the table. Therefore, the entire system can be decoupled into two sub-models; one from input command to table position, and the other from table position to oscillator position. The former is a simple rigid feed drive model, and the latter is a base-excitation vibration problem. Figure 5.2 shows the block diagram of the rigid model from input voltage to motor position. It is assumed that the electrical parts of the system such as the amplifier have relatively faster dynamics, and thus, they can be modeled as a single gain K a . This assumption is reasonable, even for real industrial machines, unless for the cases when the controller has very high bandwidth, for example over 200 Hz . Dynamic parameters of the 80 Chaapptteer 55. Im Ch mppleem meen nttaatiioonn an and d Exp Ex E peerrim m meenntaall Re Ressuultts syssteem sy m w weeree id ideenntiifiieed d by by a fo orrm meerr stu uddeennt of of M MA AL L th throuugghh un unbbiiaaseedd lleasstt squuaarree t ch te hnniiq qu ue [3 [ 0]. Ta Tabblle 5.3 5 3 pro p ovviiddes thhee re relev vaanntt pa param me meteerrs ooff thhee liinnearr mo moto orr. Fig Fi gu urree 55.22: R Riggiidd bo boddyy mo moddeel of o liinnearr drriivess frro om m innppuutt vvooltaaggee to to mo m toorr ppoossittioonn.. Tab bllee 55..33: Dy Dynnaam miicc ppaarram m meeteerrs of of tthe riig gid d mo moddeell ooff th the liin neeaar mo mottor.. Am Amppliiffieer gai g inn ( K a ) [A A//V V] 1.11112 21 Motoorr fo Mo forccee cco onnsttaan nt ( K t ) [N N//A A] 1422.00 14 M Mootto or m maasss ( mtb ) [Kg Kg] 30..7 7 T Taabblee viisscoouuss ffriicctiion n coeefffiicieennt ( btbt ) [K Kg g//s]] 1566.11 15 A Avverraagge Co Cou uloom mbb frriccttioonn ( μ k ) [N [N] 43..4 4 Ba Bassed oon n thhee bloocckk di diaaggraam m sshhoow wnn inn F Figguurree 55..22, th hee trraannsffeer fu fun ncttion n of of tthhe rig r giidd mo moddell fo forr th the liin neeaar dri d iv ve ca can n be be re reppreesseennteedd ass: X tbb (s) Ka Kt = Vin (s) s(m (mtbb s + btbt ) ( .11)) (5 Thee trraan Th nssfeerr fuun ncctiioonn frroom m th the ta tablee pposiitiioonn xtbt (tt ) to to thhee tiipp posiitiioonns of of thhee osc o ciilllaatoorr ann bbee ob obtaaiinnedd by by mo m del d linngg iit as as a ba b see eex xccittattionn pr proobbleem m as m, as illluusstrraated d in in xosc o c (t ) ca Figguuree 5.3 Fi 5 3. IIff tth he os osccilllaattorr ha has na natuurraal fre freqquueenncyy of of ωn wi withh da dam mppiinng ooff ζ , tthhe eq equuaatiioonn of mo of motiio onn fo for th hee tiip os oscilllaatorr caan n be wr writttenn as: a: 8 81 Chapter 5. Implementation and Experimental Results xosc (t ) + 2ζωn ( xosc (t ) − xtb (t ) ) + ωn 2 ( xosc (t ) − xtb (t ) ) = 0 → xosc (t ) + 2ζωn xosc (t ) + ωn 2 xosc (t ) = 2ζωn xtb (t ) + ωn 2 xtb (t ) (5.2) Figure 5.3: Modeling the tip position of the oscillator as base-excitation. The Laplace transform of Eq. (5.2) can be calculated as: X osc (s) ⎡⎣ s 2 + 2ζωn s + ωn 2 ⎤⎦ = X tb (s) ⎡⎣2ζωn s + ωn 2 ⎤⎦ (5.3) Therefore, the transfer function from the table position to the oscillator tip vibration is represented as: X osc ( s) 2ζωn s + ωn 2 = X tb ( s) s 2 + 2ζωn s + ωn 2 (5.4) Figure 5.4 shows the block diagram of the entire closed loop system including the rigid dynanics of the motor and oscialltor vibrations. Note that unlike active damping techniques, there is no feedback from the vibrations of the oscillator; the control loop is closed with only motor position. 82 Chaapptteer 55. Im Ch mppleem meen nttaatiioonn an and d Exp Ex E peerrim m meenntaall Re Ressuultts F Figu urree 5.44: B Blloocckk di d aggrraam m of o th hee cllo ossed loooopp syyssttem in incclu uddiinngg th the oosciilllaatoorr ddyynnaam mic m css. Da Dam m mped d nnaattuuraal frreeq qu uen nccyy ω d an andd da dam mppiin ngg raattioo ζ of th the os osccillattoors ccaann be be iden id nttifiied by by me meaasuurrinngg th thee fr freeee vvibbrraatiioonns af afteerr a sma malll im mppuulssee di d sttuurb baannccee too tthhee osccilllaatto os or tip t p. The vi vibraattioonnss caan n be be m meeaasuurreed d usi u in ngg accceelerroom meetteer or or laasserr vib v brroom meetteer,, a th al hoouug gh h soom me m aacccceeleerro om meeterrss ddo o no nott ggiivve re reliiaabblee reessuulttss iinn lo ow w ffrreqquueen nccieess. Ta Tabblle 5. 5.44 proovviddeess tth pr he os oscillaato orr pa parraam meetterrss iiddentifiied by by la laseerr vi vib broom m meeteerr. T Taab bllee 5. 5 4: P Parraam meetteerss off thhee os osccilllaattoor tiip p vviibbraattioonnss Nattu urral Freeq qu ueen ncyy ( ωn ) Dam Da mp piing Ra Ratioo ( ζ ) [H Hz]] O Ossccilllaattorr 1 88.8 00.001155 O Ossccilllaattorr 2 13.77 00.000077 Subbsstiituuttin Su ng g th t e ppaaram meteerrs of me of th thee lin l neeaarr mo motoorr anndd tth he fle f exxiiblee oscciilllaatoorr iin ntoo E Eqqss. (5 (5.11)) andd (55.4),, th an thee tra t annssfferr fuunnccttioon nss fr froom m thhee innppuutt vo volltaaggee to to mo motorr po posiitiioon n annd d fro from mm mootoorr possittioonn too ooscciilllaatoorr po po possittioonnss caan n be ca calccuulaatteedd as as: Mo Motoorr: Osccilllaattorr 1: Os X tb (s) Ka Kt 157 57.99 = = 2 Vini (s) s(mtbb s + btbt ) 30 30.7s + 156 56.11ss X osc 2ζω ζωn s + ωn 2 1 65 1. 6 9s + 3300557 7.22 o c1 ( s ) = 2 = 2 2 X tbb ( s) s + 2ζω ζωn s + ωn s + 1.6 1 65599s + 330 057.22 ( .55)) (5 ( .66)) (5 83 83 Chapter 5. Implementation and Experimental Results Oscillator 2: X osc 2 ( s) 2ζωn s + ωn 2 1.2051 s + 7409.7 = 2 = 2 2 X tb ( s) s + 2ζωn s + ωn s + 1.2051 s + 7409.7 (5.7) Figure 5.5 shows the bode plot of the system from input voltage to the position of the table and oscillator. ( X osc ( s ) X osc ( s ) X tb ( s ) ) = × Vin ( s ) X tb ( s ) Vin ( s ) Figure 5.5: Bode plot of the system from input voltage to position of the table and oscillators. 5.2.3 Controller Design In implementation of input shaping, only the rigid part of the drive is considered for controller design. In order to investigate the effect of input shaping on vibration of the oscillator, any simple controller which can move the table with small overshoot would work. However, in order to avoid plastic deformation of the oscillator, the amplitude of vibrations should be kept below 5cm . Therefore, the magnitude of the reference step 84 Chapter 5. Implementation and Experimental Results command must be chosen according to controller rise time. The more aggressive the controller is, the smaller reference input the user should choose. For the following set of experiment, a simple PID controller which gives 2% overshoot and 0.4s rise time was designed using MATLAB Control Toolbox. The transfer function of the tuned controller is: Ki Ns ) + Kd ( s s+N 0.156 10s = 4.33 + + 0.486( ) s s + 10 Gcont(s) = Kp + (5.8) where N is the lowpass filtering parameter for realization of the derivative term. 5.2.4 Single-mode and Multi-mode Input shaping Three cases are investigated in this experiment: 1) unshaped step, 2) single-mode shaping based on only the first oscillator, 3) multi-mode shaping to avoid excitation of both oscillators. Zero-Vibration and Derivative (ZVD) shaper, which gives descent robustness and time delay as described in Section 3.4.3, is used for shaping the step input. Plugging the values of the natural frequency and damping ratio of the oscillators into Eq. (3.43), the magnitude and time locations of the three impulses in the ZVD shapers can be calculated as: Oscillator 1: Td = 2π ωn 1 − ζ 2 = 0.114s ωn = 8.8Hz = 55.3rad/s ⎫ ⎬ → ζ = 0.015 ⎭ K = e−πζ 1−ζ = 0.9540 ⎡ 2K 1 ⎫⎤ K2 ⎫ ⎧ ⎫ ⎧ ⎡ ⎧ A⎫ ⎤ ⎢ ⎧⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎥ ⎢ ⎨ ⎬ ⎥ = ⎢ ⎨ K 2 + 2 K + 1⎬ , ⎨ K 2 + 2 K + 1⎬ , ⎨ K 2 + 2 K + 1⎬ ⎥ ⎢⎣ ⎩ t ⎭ j ⎥⎦ ⎢ ⎪ ⎪⎭ ⎪⎩ 0.5Td ⎪⎭ ⎪ ⎪⎥ 0 Td ⎭3 ⎦ 1 2 ⎩ ⎣⎩ 2 j = 1, 2,3 (5.9) ⎡ ⎧0.2619⎫ ⎧0.4997 ⎫ ⎧0.2384⎫ ⎤ = ⎢⎨ ⎬ ,⎨ ⎬ ,⎨ ⎬⎥ ⎣ ⎩ 0 ⎭1 ⎩ 0.057 ⎭2 ⎩ 0.114 ⎭3 ⎦ 85 Chapter 5. Implementation and Experimental Results Oscillator 2: Td = 2π ωn 1 − ζ 2 = 0.073s ωn = 13.7 Hz = 86.1rad/s ⎫ ⎬ → ζ = 0.007 ⎭ K = e−πζ 1−ζ = 0.9782 ⎡ 1 2K ⎡ Aj ⎤ ⎢ 2 2 ⎢ t ⎥ = ⎢ K + 2K + 1 K + 2K + 1 ⎣ j⎦ ⎢ 0 0.5Td ⎣ ⎡0.2555 0.4999 0.2445⎤ =⎢ 0.037 0.073 ⎥⎦ ⎣ 0 2 ⎤ K2 ⎥ 2 K + 2 K + 1⎥ Td ⎦⎥ (5.10) In order to obtain the total shaper which avoids both modes, the easiest way is to convolve the individual shapers calculated in Eqs. (5.9) and (5.10): ⎡ Aj ⎤ ⎡ Aj ⎤ ⎡ Aj ⎤ Total Shaper : ⎢ ⎥ = conv( ⎢ ⎥ , ⎢ ⎥ ) ⎣ tj ⎦ ⎣ t j ⎦ osc1 ⎣ t j ⎦ osc 2 ⎡ ⎧ A⎫ ⎤ ⎡ ⎧0.067 ⎫ ⎧0.1309⎫ ⎧0.1277 ⎫ ⎧0.0640⎫ ⎧0.2498⎫ ⎧0.0609⎫ ⎢ ⎨ ⎬ ⎥ = ⎢⎨ ⎬ ,⎨ ⎬ ,⎨ ⎬ ,⎨ ⎬ ,⎨ ⎬ ,⎨ ⎬ ⎢⎣ ⎩ t ⎭ j ⎥⎦ ⎣ ⎩ 0 ⎭1 ⎩ 0.037 ⎭2 ⎩ 0.057 ⎭3 ⎩ 0.073 ⎭4 ⎩ 0.093 ⎭5 ⎩ 0.114 ⎭6 (5.11) ⎧0.1222⎫ ⎧0.1192⎫ ⎧0.0583⎫ ⎤ ⎨ ⎬ ,⎨ ⎬ ,⎨ ⎬ ⎥ 0.13 0 0.150 ⎩ ⎭7 ⎩ ⎭8 ⎩ 0.187 ⎭9 ⎦ As Eq. (5.11) shows, the number of impulses in the total shaper is the multiplication of the number of impulses in each individual shaper. The length of the total shaper is also summation of the individual shaper lengths. A step input with the magnitude of 70cm was used as the unshaped reference command. Figure 5.6 shows the simulated motor position and oscillator vibrations for the three cases, i.e. unshaped, single-mode shaped, and multi-mode shaped command. 86 Chapter 5. Implementation and Experimental Results Figure 5.6: Simulated motor position and oscillator tip position subject to the shaped and unshaped step inputs. In order to see the vibrations more clearly, a new variable vosc (t ) is defined as the oscillator tip vibration which can be calculated from the difference between the oscillator tip position and motor position: vosc (t ) = xosc (t ) − xtb (t ) (5.12) Figure 5.7 shows the simulated tip vibrations in the three cases of the experiment. It can be seen that in the single-mode shaping, oscillator 1 shows zero vibration whereas oscillator 2 still has large residual oscillations. However, in the case of multi-mode shaping, both oscillators show vibration-free responses. Also note that the shaped command results in smoother transient response at the beginning of the motion, which is because the shaper breaks the input into smaller sub-inputs; as a result, the motion begins with just a portion (depending on the shaper type) of the original command. This smoother start is especially important for avoiding large deflections of the flexible part during the maneuver. 87 Chapter 5. Implementation and Experimental Results Figure 5.7: Simulated vibration of the oscillator tip subject to shaped and unshaped step commands. As explained in Section 3.3, input shapers with positive-amplitude impulses always result in smaller control signals. Figure 5.8 shows the control output for the shaped and unshaped cases described above. It can be seen that the magnitude of the control signal in the shaped case is smaller, especially at the beginning of the motion. Therefore, if the unshaped command does not saturate the drives, the shaped command will not, either. Also note that the shaped control signal has some sharp changes due to the impulses of the shaper affecting the step command; however, these jumps in the control signal result in smooth and vibration free motion of the flexible system. Besides, in real applications where the command is continuous, the shaped control signal will be continuous, too. 5.2.5 Experimental Demonstration These preliminary sets of experiment were conducted mostly for demonstration purposes. The corresponding videos of the experiment are available online at: Single-mode: http://www.youtube.com/watch?v=jBNttYB9kG4 Multi-mode: http://www.youtube.com/watch?v=XLILHMA4SQQ 88 Chapter 5. Implementation and Experimental Results Figure 5.8: Simulated control signal in the shaped and unshaped cases. 5.3 Multi-axis Implementation on the Linear Motor Driven XY Table A two-axis linear motor driven table shown in Figure 5.9 was used to evaluate the effect of command shaping in multi-axis machines. However, since the electromagnetic force in linear motors is directly applied on the table, there is no mechanical transmission such as ballscrew in between. As a result, linear drives do not exhibit any considerable structural resonance modes. In order to implement input shaping on this machine, artificial modes were imposed on the system by tuning the controllers such that the closed loop response of each axis exhibits a resonance mode at a low frequency. Details of controller design and input shaping implementation is explained in this section. 5.3.1 Experimental Setup Figure 5.9 shows the high speed linear motor driven XY table used as the experiment platform. The machine has been assembled by former students at MAL. Each axis is driven by a NORMAG BLC08 brushless dc motor; the required current for the motors are provided by two Copley Controls Corp513 servo amplifiers, which are set to work in current mode. The X and Y positions of the table are measured by two 89 Chapter 5. Implementation and Experimental Results PULSCALE FM30NA incremental linear encoders. Data acquisition and real time control of the system is implemented on a dSPACE DS1103, which is interfaced with an external PC through ControlDesk© software. The sampling time in all experiment has been chosen as Ts = 0.1ms . Figure 5.9: Linear motor driven XY table used for multi-axis implementation of input shaping. 5.3.2 System Modeling Similar to the modeling procedure presented in Section 5.2.2 for the single axis linear drive, each axis of the XY table can be modeled as illustrated in Figure 5.10. Table 5.5 provides the dynamic parameters of the machine identified by former students of MAL. 90 Chaapptteer 55. Im Ch mppleem meen nttaatiioonn an and d Exp Ex E peerrim m meenntaall Re Ressuultts F Figgu urree 5.1100: Mo Mod dellin ng g of of liinneeaar dri d ivves for for eaacchh ax axiis ooff thhee XY XY tabbllee. Tab bllee 55..55: Dy Dynnaam miicc ppaarram m meeteerrs of of tthe riig gid d mo moddeell ooff th the liin neeaar mo mottor.. X-a X axxiis Y axxiis Y-a Amppliifi Am fieer gaiin n ( K a ) [A A//V V] 0.228577 0..22802 2 Mo Motoorr ffoorccee co con nsttaantt ( K t ) [[N N//A A] 99 9..545 1355.111 13 177 Refl Re fleectteedd m maasss ( m ) [K K Kg]] 5.4 5 44477 31..482 2 V scouuss ffricctiio Vis on ( b ) [[K Kgg/ss] 18 8..0933 1244.993 12 388 A Averraage Co Couuloom mbb frricctioonn ( μ k ) [N [N] 22.11 01 0.1 Us Usin ngg th hee blo b occkk ddiaaggram m of of tthhee ssyyssteem m sh shoow wn n in n Fig F guurree 5. 5.10, anndd aft afteer plu p uggggiinngg in in the va th valuueess of of tthhee ppaarram meteerrs fro me f om mT Taabblle 5.5 5 5,, th the op opeen n llo ooop ttraannssfe ferr fu funncctiio onns fro from m th t e in nppuutt volltaaggee to vo to th the tabbllee po possittio onn foorr eeaacchh ax axiis ccann be be ob obttaiinneedd aass: XA Axxiss: Y Ax Axiss: X a ( s) Kax 28.444 28 a Ktx = = Vini (s) s(mx s + bx ) 5.444477ss2 + 18 18.09933ss K ayy Ktyt Ya ( s) 37.86 37 = = Vinn ( s) s(my s + by ) 31 31..44882 s 2 + 12 1244.993388 s [ m V] [ m V] (5.1133)) (5 (5.1144)) (5 Sinnce thhee serrvvoo ddrrivveess arree co Si connttroollleedd by by a dS dSP PA A AC CE E com mp mpuuteerr, thhee coom m mm maannd d iss ggeenneerratteedd in in the fo th form m of of disscreette va valuueess aatt sa sam mppllin ngg pe periiood ds Ts = 00.11m Thhee D/A D A (d (diggiitaal ttoo aan naaloogguuee)) ms m .T outtputt off dSPA ou PAC CE E hhoolddss tthheese ddissccrettee vvaalu ueess bbeettw weeeenn th the ssaam mpplinngg cco ouunntterrss. T Thheereeffooree,, in in 9 91 Chapter 5. Implementation and Experimental Results order to analyze the realistic behavior of the system, the zero-order hold equivalent of the plant (linear drives) must be calculated. These discrete transfer functions can be obtained as: X Axis: ⎧ 1 K a Kt K e ⎫ X a ( z −1 ) = (1 − z −1 ) Ζ ⎨ ⎬ −1 Vin ( z ) ⎩ s s(mx s + bx ) ⎭ (Ts = 0.1ms) 2.61×10−5 z −1 + 2.61×10−5 z −2 = 1 − 2 z −1 + 0.9997 z −2 ⎧ 1 K a Kt K e ⎫ X a ( z −1 ) −1 = − Ζ Y Axis: 1 z ( ) ⎨ ⎬ Vin ( z −1 ) ⎩ s s(mx s + bx ) ⎭ = −6 −1 −6 6.01×10 z + 6.01×10 z 1 − 2 z −1 + 0.9996 z −2 (5.15) [ m V] (Ts = 0.1ms) (5.16) −2 [ m V] Figure 5.11 shows the frequency response function of the open loop system for X and Y axes. As mentioned before, there is no low frequency structural resonance mode in linear motors. Figure 5.11: Frequency response function of the open loop system for each axis of the XY table. 92 Chapter 5. Implementation and Experimental Results 5.3.3 Controller Design Since linear drives do not exhibit any low frequency modes, an artificial low damping resonance has been imposed on the closed loop of each axis through controller design. These sets of experiment are also designed to demonstrate the general idea of command shaping and contour error compensation; therefore, any simple controller which can give a low damping but stable response of the system would work. More practical cases such as modern State Feedback controller will be presented in the next section for realistic experiments on a commercial CNC machining Center. In order to clearly demonstrate how input shaping avoids triggering the resonance modes, simple PD controllers are designed such that X and Y axes exhibit low damping modes around 15Hz and 10Hz , respectively. Using the model of the system, MATLAB Control Toolbox was used to tune the parameters of the PD controllers: Ns 300s ) = 2 + 0.001( ) s+N s + 300 (5.17) Ns 300s ) = 4 + 0.01( ) s+N s + 300 (5.18) X Axis: Gcont(s) = Kp + Kd ( Y Axis: Gcont(s) = Kp + Kd ( where Kp and Kd are the proportional and derivative coefficients, respectively, and N is the filter coefficient for realizing the derivative part. In order to implement the controllers on dSPACE, they have to be discretized at the control intervals Ts = 0.1ms . Using Tustin method, the discrete transfer functions of the designed controllers can be obtained as: X Axis: Gcont(z −1 ) = 2.322 − 2.257 z −1 1 − 0.9678z −1 (Ts = 0.1ms) (5.19) Y Axis: Gcont(z −1 ) = 7.217 − 7.089 z −1 1 − 0.9678z −1 (Ts = 0.1ms) (5.20) Figure 5.12 demonstrates the block diagram of the closed loop system including both X and Y axes. Note that input shaping module modifies the command ahead of the 93 Chapter 5. Implementation and Experimental Results closed loop, and thus, it is not necessarily run at real time control intervals. This means that the original command can be shaped and stored in a buffer so that it can be read later at control sampling times. Figure 5.12: Block diagram of the closed loop system for the XY table. Using the transfer functions of the feed drives derived in Eqs. (5.15) and (5.16), and also plugging the PD controllers from Eqs. (5.19) and (5.20) into the block diagram shown in Figure 5.12, the closed loop transfer functions of the X and Y axes can be obtained as: X Axis: G CLx (z −1 ) = GPx (z −1 )GCx (z −1 ) 1 + GPx (z −1 )GCx (z −1 ) ( 3.03 + 3.114 z = −1 − 2.862 z −2 − 2.946 z −3 ) ×10−5 1 − 2.967 z −1 + 2.935z −2 − 0.9675z −3 Y Axis: GCLy (z −1 ) = GPy (z −1 )GCy (z −1 ) 1 + GPy (z −1 )GCy (z −1 ) ( 2.169 + 2.208z = −1 − 2.092 z −2 − 2.131z −3 ) ×10−5 1 − 2.967 z −1 + 2.935z −2 − 0.9675z −3 (Ts = 0.1ms) [ mm/mm] (5.21) (Ts = 0.1ms) [ mm/mm] (5.22) where GC and GP are the transfer functions of the controller and plant (linear motor), respectively. 94 Chapter 5. Implementation and Experimental Results Figure 5.13 shows the frequency response function of the closed loop systems derived in Eqs. (5.21) and (5.22). It can be seen that X and Y axes exhibit resonance modes at 16.4Hz and 11.1Hz , respectively, with damping of 0.04 and 0.11 . However, due to model mismatch, the resonance frequencies of the experimental setup are slightly different from these simulated ones. Besides, the abnormally high friction in X axis, which is due to worn out bearings, has resulted in higher observed damping in the X direction compared to the modeled one. In order to evaluate the performance of input shaping in vibration avoidance, the actual resonance frequency and damping ratio exhibited by the machine will be used for shaper design. Figure 5.13: Simulated frequency response function of the closed loop systems including the imposed resonance modes. Table 5.6 provides the actual resonance parameters of the closed loop systems. Using these parameters, the closed loop transfer functions of the drives can be approximated by flexible second order systems as: 95 Chapter 5. Implementation and Experimental Results X Axis: ⎧ ⎫ ωnx 2 GCLx (z −1 ) = Ζ ⎨ 2 2⎬ ⎩ s + 2ζ xωnx s + ωnx ⎭ = Y Axis: (Ts = 0.1ms) (5.23) ( 3.157 + 6.314 z−1 + 3.157 z−2 ) ×10−5 [ mm/mm] 1 − 1.997 z −1 + 0.9966 z −2 ⎧⎪ ⎫⎪ ωny 2 GCLy (z −1 ) = Ζ ⎨ 2 2⎬ ⎩⎪ s + 2ζ yωny s + ωny ⎭⎪ (1.093 + 2.186 z = −1 (Ts = 0.1ms) (5.24) + 1.093z −2 ) ×10−5 [ mm/mm] 1 − 1.999 z −1 + 0.9991z −2 Table 5.6: Actual resonance parameters of the closed loop systems. 5.3.4 Natural Frequency ( ωn ) Damping Ratio ( ζ ) X Axis 17.9 Hz 0.15 Y Axis 10.5 Hz 0.07 Input Shaper Design In order to avoid excitation of the imposed resonance modes, a ZVD shaper has been designed for each axis by plugging the vibration parameters (Table 5.6) into the ZVD shaper Eq. (3.43): X Axis: Td = 2π ωn 1 − ζ 2 = 0.0565s ωn = 17.9 Hz = 112.5rad/s ⎫ ⎬ → ζ = 0.15 ⎭ K = e−πζ 1−ζ = 0.6209 2 ⎡ 2K 1 ⎫⎤ K2 ⎫ ⎧ ⎫ ⎧ ⎡ ⎧ A⎫ ⎤ ⎢ ⎧⎪ ⎪ ⎪ 2 ⎪ ⎪ 2 ⎪⎥ 2 ⎢ ⎨ ⎬ ⎥ = ⎢ ⎨ K + 2 K + 1⎬ , ⎨ K + 2 K + 1⎬ , ⎨ K + 2 K + 1⎬ ⎥ ⎢⎣ ⎩ t ⎭ j ⎥⎦ ⎢ ⎪ ⎪⎭ ⎪⎩ 0.5Td ⎪⎭ ⎪ ⎪⎥ 0 Td ⎭3 ⎦ 1 2 ⎩ ⎣⎩ j = 1, 2,3 (5.25) ⎡ ⎧0.3806⎫ ⎧0.4726⎫ ⎧0.1467 ⎫ ⎤ = ⎢⎨ ⎬ ,⎨ ⎬ ,⎨ ⎬⎥ 0 0.0283 ⎭ ⎩ ⎭2 ⎩0.0565⎭3 ⎦ ⎩ 1 ⎣ 96 Chapter 5. Implementation and Experimental Results Td = 2π ωn 1 − ζ 2 = 0.0952 s ωn = 10.5 Hz = 66.0 rad/s ⎫ → ⎬ ζ = 0.07 ⎭ K = e −πζ 1−ζ = 0.8022 Y Axis: 2 ⎡ 2K ⎫ ⎤ 1 K2 ⎫ ⎧ ⎫ ⎧ ⎡ ⎧ A⎫ ⎤ ⎢ ⎧⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎥ 2 2 2 ⎢⎨ ⎬ ⎥ = ⎢⎨ K + 2 K + 1⎬ , ⎨ K + 2 K + 1⎬ , ⎨ K + 2 K + 1⎬ ⎥ ⎢⎣ ⎩ t ⎭ j ⎥⎦ ⎢ ⎪ ⎪⎭ ⎪⎩ 0.5Td ⎪⎭ ⎪ ⎪ ⎥ 0 Td ⎭3 ⎦ 1 2 ⎩ ⎣⎩ ⎡ ⎧0.3079 ⎫ ⎧0.4940 ⎫ ⎧ 0.1981⎫ ⎤ = ⎢⎨ ⎬ ,⎨ ⎬ ,⎨ ⎬ ⎥ 0 0.0476 ⎩ ⎭ ⎩ ⎭2 ⎩0.0952 ⎭3 ⎦ 1 ⎣ j = 1, 2,3 (5.26) and the total shaper which is used for both axes can be obtained by convolving the individual shapers in Eqs. (5.25) and (5.26): ⎡ Aj ⎤ ⎡ Aj ⎤ ⎡ Aj ⎤ Total Shaper : ⎢ ⎥ = conv( ⎢ ⎥ , ⎢ ⎥ ) ⎣ tj ⎦ ⎣ t j ⎦ osc1 ⎣ t j ⎦ osc 2 ⎡ ⎧ A⎫ ⎤ ⎡ ⎧0.117 ⎫ ⎧0.1455⎫ ⎧0.1880⎫ ⎧0.0452⎫ ⎧0.2335⎫ ⎧0.0754⎫ ⎢ ⎨ ⎬ ⎥ = ⎢⎨ ⎬ ,⎨ ⎬ ,⎨ ⎬ ,⎨ ⎬ ,⎨ ⎬ ,⎨ ⎬ t 0 0.0283 0.0477 0.0565 0.0758 ⎭1 ⎩ ⎭2 ⎩ ⎭3 ⎩ ⎭4 ⎩ ⎭5 ⎩0.0953⎭6 ⎣⎢ ⎩ ⎭ j ⎦⎥ ⎣ ⎩ (5.27) ⎧0.0725⎫ ⎧0.0936⎫ ⎧0.0291⎫ ⎤ ⎨ ⎬ ,⎨ ⎬ ,⎨ ⎬ ⎥ ⎩0.1042⎭7 ⎩0.1235⎭8 ⎩0.1518⎭9 ⎦ The total shaper consists of nine impulses and can be represented as: Fs (t ) = ∑ Ajδ ( t − t j ) 9 (5.28) j =1 where δ ( t − t j ) is the Dirac unit impulse function applied at time delay t j . Since the reference command is generated in discrete time intervals, the input shaper represented in Eq. (5.28) must be realized in discrete time domain with the same sampling time, i.e. Ts = 0.1ms : Fs (k ) = ∑ Ajδ ( k − k j ) 9 (5.29) j =1 97 Chapter 5. Implementation and Experimental Results where k j = fix(t j / Ts ) is the corresponding number of delayed sample times for the jth impulse. Therefore, the total shaper designed in Eq. (5.27) can be represented in discrete time domain as: ⎡ Aj ⎤ ⎡ Aj ⎤ ⎡ Aj ⎤ Total Shaper : ⎢ ⎥ = conv( ⎢ ⎥ , ⎢ ⎥ ) ⎣kj ⎦ ⎣ k j ⎦ osc1 ⎣ k j ⎦ osc 2 ⎡ ⎧ A⎫ ⎤ ⎡ ⎧0.117 ⎫ ⎧0.1455⎫ ⎧0.1880⎫ ⎧0.0452⎫ ⎧0.2335⎫ ⎧0.0754⎫ ⎢ ⎨ ⎬ ⎥ = ⎢⎨ ⎬ ,⎨ ⎬ ,⎨ ⎬ ,⎨ ⎬ ,⎨ ⎬ ,⎨ ⎬ ⎢⎣ ⎩ t ⎭ j ⎥⎦ ⎣ ⎩ 0 ⎭1 ⎩ 283 ⎭2 ⎩ 477 ⎭3 ⎩ 565 ⎭4 ⎩ 758 ⎭5 ⎩ 953 ⎭6 (5.30) ⎧0.0725⎫ ⎧0.0936⎫ ⎧0.0291⎫ ⎤ ⎨ ⎬ ,⎨ ⎬ ,⎨ ⎬ ⎥ ⎩ 1042 ⎭7 ⎩ 1235 ⎭8 ⎩ 1518 ⎭9 ⎦ The percentage of residual vibration due to discretization of ZV/ZVD shaper was derived in Eq. (3.53). Plugging the values of δ T = Ts = 0.1ms and Td = 0.1518 : V prv ≈ ωd δT 4 =π δT 2Td = 0.001 = 0.1% (5.31) which is very small, and therefore, the effect of discretization of the shaper can be neglected. 5.3.5 Vibration Avoidance Experiment As shown in Figure 5.14, a circular path with the radius of R = 40mm has been used as the reference toolpath for evaluation of input shaping performance. In order to clearly excite the imposed modes of the system while avoiding saturation of the drives, the toolpath was interpolated using constant feedrate profile with amplitude of f = 80mm/s . In the first experiment, contouring of the path was started from a quadrant point on the circle. Axis commands are obtained by interpolating the circle at the control intervals Ts = 0.1ms with a constant feedrate profile f = 80mm/s : xr (k ) = R sin (ωct ) = R sin(ωc kTs ) (5.32) 98 Chapter 5. Implementation and Experimental Results yr (k ) = R (1 − cos (ωct ) ) = R (1 − cos (ωc kTs ) ) (5.33) where ωc is the contouring frequency of the circle and can be calculated as: Tc = 2π R [s] f → ωc = 2π f = = 2 rad/s Tc R (5.34) Figure 5.14 shows the toolpath and the corresponding axis commands. Note that the structural modes of the machine can be also excited at contouring frequency ωc in repetitive steady state contouring of the circle; however, in this research we are investigating the transient vibrations caused by acceleration and decelerations of the drives, and not the contouring frequency. Figure 5.14: Toolpath and the interpolated axis commands in contouring the circle from a quadrant point ( R = 40mm , f = 80mm/s ). The shaped reference command can be obtained by convolving the original axis commands calculated in Eqs. (5.32) and (5.33) with the total shaper represented in Eq.(5.29), that is: 9 xrs (k ) = conv [ xr (k ),shaper ] = ∑ Aj xr (k − k j )1 k − k j (5.35) j =1 99 Chapter 5. Implementation and Experimental Results 9 yrs (k ) = conv [ yr (k ),shaper ] = ∑ Aj yr (k − k j )1 k − k j (5.36) j =1 where k j = fix(t j / Ts ) is the corresponding number of delayed sample times for the jth impulse. The function 1 k − k j is the unit step function applied at sampling counter k = k j and : ⎧⎪ 1 k − k j = 1 ⎨ ⎪⎩1 k − k j = 0 k ≥ kj (5.37) k < kj The commands are then sent to the axis servo amplifiers through D/A outputs of dSPACE, and the actual position of the axes are measured by linear encoders. Figure 5.15 shows the experimental axis tracking errors ( xref − xact ) corresponding to the shaped and unshaped commands. Figure 5.15: Measured axis tracking errors for the shaped and unshaped commands in contouring the circle starting from a quadrant point ( R = 40mm , f = 80mm/s ). 100 Chapter 5. Implementation and Experimental Results It can be seen in Figure 5.15 that the X axis exhibits significant vibration responding to the unshaped command whereas the shaped input has led to very smooth and vibration-free motion of the drive. The FFT (Fast Fourier Transform) of the X tracking error also shows that the response to the unshaped input has a strong peak at around 18Hz , which is the resonance mode of the closed loop system in the X direction. However, the time domain and FFT response in the Y direction has not exhibited any significant vibration, which can be explained considering the toolpath and axis commands in Figure 5.14; when the circle is contoured starting from the ymin quadrant, the corresponding axis command for the Y axis will be in the form of Cosine function, which has zero derivative at time zero and thus inherently leads to smooth and vibration free start. However, in order to evaluate the performance of multi-axis input shaping, it is more practical to generate a trajectory which can excite both axes at the same time. Therefore, the experiment was repeated for the same toolpath but this time contouring of the circle is started from a point which lies on the line at 45 degree relative to the positive X direction. Figure 5.16 illustrates the toolpath and the corresponding axis commands, which can be obtained as: π⎞ ⎛ ⎛π ⎞ xr (k ) = R cos ⎜ ωc kT + ⎟ − sin ⎜ ⎟ 4⎠ ⎝ ⎝4⎠ (5.38) π⎞ ⎛ ⎛π ⎞ yr (k ) = R sin ⎜ ωc kT + ⎟ − cos ⎜ ⎟ 4⎠ ⎝ ⎝4⎠ (5.39) where ωc is the contouring frequency defined and calculated in Eq. (5.34). The axis commands are then shaped using Eqs. (5.35) and (5.36), and sent to the axis servo drives. Figure 5.17 shows the axis tracking errors for the shaped and unshaped commands. The time domain plots of the tracking errors clearly show the unshaped command has excited both axes and caused significant vibration. The response to the shaped case, on the other hand, results in very smooth and vibration free motion of the drives, which means that the imposed modes of the drives have not been excited. 101 Chapter 5. Implementation and Experimental Results Figure 5.16: Toolpath and the interpolated axis commands in contouring the circle from a non-quadrant point ( R = 40mm , f = 80mm/s ). Figure 5.17: Measured axis tracking errors for the shaped and unshaped commands in contouring the circle starting from a non-quadrant point ( R = 40mm , f = 80mm/s ). 102 Chapter 5. Implementation and Experimental Results The FFT plots in Figure 5.17 also show that the frequency spectrum of the tracking errors in the X and Y directions exhibit significant peaks at around 18Hz and 10.5Hz , which have been eliminated in the shaped response. It should be noted that the amplitude of vibrations are normally much smaller in real applications; however, in order to clearly demonstrate the feasibility of input shaping, the experiments have been conducted for exaggerated cases. Realistic experiment will be presented in the next section. The controller output, which is shown as Vin in Figure 5.12, was also saved during the experiment. Figure 5.18 shows the controller voltage signal for the shaped and unshaped commands. While active damping techniques normally result in very active actuation signals with high frequency content, the experimental result proves that the implemented input shaping has led to much smoother actuation of the drives with less resonance frequency content. Figure 5.18: Measured axis control signals for the shaped and unshaped commands in contouring the circle starting from a non-quadrant point ( R = 40mm , f = 80mm/s ). 103 Chapter 5. Implementation and Experimental Results 5.3.6 Contour Error Compensation Experiment Figure 5.19 shows the magnitude and axis components of path distortion caused by input shaping. It can be seen that the shaped toolpath starts and ends on the unshaped original circle but deviates towards inside, resulting in a smaller distorted circle. Figure 5.19: Magnitude and axial components of shaping distortion in contouring the circle starting from a non-quadrant point ( R = 40mm , f = 80mm/s ). As shown in Figure 5.20, the total experimental contour error caused by both shaping distortion and limited bandwidth of servo drives can be calculated from the measured positions of the drives. It can be observed that the time domain contour error shows a lot of vibrations in the unshaped case whereas the response to the shaped command exhibits significantly smoother and vibration-free motion. The small jumps corresponding to the circle quadrants are due to the friction effect at direction reversal of the drives. The FFT of the contour error also exhibits two peaks at around 18Hz and 104 Chapter 5. Implementation and Experimental Results 10.5Hz , which have been successfully avoided in the shaped case. However, it can be observed in Figure 5.20 that the mean value of contour error has increased to almost 180 μ m in the shaped case while the mean value of contour error is significantly smaller in the unshaped case. This increase is due to the trajectory distortion effect of input shaping and has to be compensated. Figure 5.20: Experimental contour error caused by input shaping and drive dynamics in contouring the circle starting from a non-quadrant point ( R = 40mm , f = 80mm/s ). Figure 5.21 shows the axial correction signals calculated by the contour error compensation module described in Section 4.5. In order to make sure that these added signals do not bring any exciting harmonics to the shaped command, they have been low pass filtered at 3Hz . The axial compensation signals are then added to the shaped commands to obtain the shaped-compensated commands: xrsc (k ) = xrs (k ) + ε cx (k ) (5.40) yrsc (k ) = yrs (k ) + ε cy (k ) (5.41) where xrs and xrsc represent the shaped and shaped-compensated commands, respectively, and ε cx is also the correction signal. The modified commands are then sent to the machine to achieve accurate and vibration-free contouring of the circle. 105 Chapter 5. Implementation and Experimental Results Figure 5.21: Axial contour error compensation signals (low-pass filtered at 3Hz ) in contouring the circle starting from a non-quadrant point ( R = 40mm , f = 80mm/s ). Figure 5.22 compares the experimental contour error in the three investigated cases, namely unshaped, shaped, and shaped-compensated command. It can be clearly seen that the shaped-compensated command has led to vibration-free contouring of the circle while still keeping the accuracy of the motions. Figure 5.22: Contour error comparison in following a circular path for the three cases: unshaped, shaped, and shaped-compensated commands ( R = 40mm , f = 80mm/s ). 106 Chapter 5. Implementation and Experimental Results In order to make sure that the compensated command does not saturate the drives, the control signals for the three mentioned cases are plotted in Figure 5.23 . It can be seen that the required actuation for the shaped and shaped-compensated commands are almost the same owing to the fact that the additional compensating terms only correct the small distortion of the toolpath, but does not significantly increase the demand from the servo drives. Figure 5.23: Control signal comparison in following a circular path for the three cases: unshaped, shaped, and shaped-compensated commands ( R = 40mm , f = 80mm/s ). 107 Chapter 5. Implementation and Experimental Results 5.4 Five-axis Command Shaping with Avoidance of Real Structural Modes In the sets of experiment presented earlier, input shaping performance for vibration avoidance was tested by either adding a flexible beam on the drive or imposing artificial resonance modes on the closed loop of the system. However, in order to verify the effectiveness of the presented command shaping module in real applications, the five-axis Fadal Machining Center shown in Figure 5.24 was used as the experiment platform; input shaping is used to avoid the measurable structural modes of the system, and contour error compensation technique is employed to correct the distortion of the five-axis toolpath. 5.4.1 Experimental Setup Figure 5.24 shows the CNC machine tool used as the platform for the realistic experiment. The machine is a Fadal VMC2216, which has originally three Cartesian ballscrew driven axes with XY on the table and Z on the spindle. As shown in the figure, a NIKKEN 5AX-130YA-M rotary table has been mounted on the machine table so that the entire system can be used as a five-axis XYZAC machine. Figure 5.24: Five-axis Fadal Machining Center used for the realistic experiment. 108 Chapter 5. Implementation and Experimental Results In order to implement the command shaping method, the built-in CNC of the machine was disabled by setting all the servo amplifiers to work in current mode; this way, the generated torque of the motors can be controlled through the user-defined controllers. Similar to the previous sets of experiment, the real time data acquisition is implemented on a dSPACE DS1103, and the measured data is monitored and saved on an external computer. In addition, a PCB PIEZOTRONICS accelerometer with sensitivity of 51.2mV/g has been used to measure the axial vibrations of the table and spindle. Also a Ferraris sensor, as shown in Figure 5.25, has been mounted at the end of X ballscrew to measure the torsional vibrations of the lead screw. Due to the configuration of the machine, there is no room on Y or Z ballscrews to mount the Ferraris sensor. Therefore, the torsional resonance mode of only X leadscrew will be considered for input shaping. Figure 5.25: Ferraris sensor used for measuring the torsional vibrations of ballscrews. 5.4.2 System Modeling The three translational axes of the machine, i.e. XYZ, are powered by rotary brushless dc motors. As shown in Figure 5.26, the rotation of the motor is converted to the linear motion of the table using ballscrew transmission. The pitch of the X, Y and Z leadscrews are 10 mm , 10 mm , and 8 mm , respectively. 109 Chaapptteer 55. Im Ch mppleem meen nttaatiioonn an and d Exp Ex E peerrim m meenntaall Re Ressuultts Fig gu urree 5. 5 26: G Geenneeraall co con nfi fig guurattioonn oof ba balllsccrreew w drriivven n aaxxes [E Errkkoorrk km maazz, 2003]]. Sim S mil m laarlly y, th the ro rotaarryy taabblee is i dr drivveenn by by ttw woo Y YA A AS SK KA A AW WA A dc mo m to orrs ccaasscaaddeed d by by geaarbbooxx to ge o rredduuccee th hee ro rottattionnaall sp speeeed d. Th Theereeffooree, th the rig r giidd bbooddyy dy d nam m css off all ax mic axees ca can n be sim be muullaateedd uussinngg thhee mo moddeell shhoow wn iinn Figguurre 5. 5.2277. T Thhee corrrresppoonnddiing ppaarraam meeteerrs aarree proovviddeed pr d iin n Tab bllee 5. 5 7. Fig F gu urree 55..2277: Mo Moddeellin ngg thhee dy dynnaam micc of of ro rotarryy m mooto orrss-ddrrivveenn feeeed d dr driv veess. Us Usin ngg tthe lea l asstt sq squuaaree id deennttifficcaatio onn me methhoodd pprroppoosseedd by Er Erkkoorkkm ma mazz aanndd A Alltiinntaass [144],, tthhee pa [1 parraam meeterrss ooff th hee drriivvess we werre id idennttiffiedd by by a fform mer m r sttuuddeennt of of M MA AL L.. Tabbllee 5. 5.77 sum su mm mariizzes th ma thesee ppaaraam m meteers.. In n or ord derr tto de dessiggnn a sta s atte fe feeeddbbacckk co con ntrroolleer, wh whiich is is expplaaiin ex needd in in th the nneexxt seccttioonn, th the sstaatte ssppaccee mo moddeel of of th t e ssyystteem m iss rreeqquuirreedd. B Baassed on on tthhee bloockk dia bl d aggrraam m in n Figguurre 55.2277,, th the aaxxiss ppoossiitiioon n x a an and mo mottoor vveelo occiityy ωa ca cann be be w wrrittteen n ass: ωa (ss) = 1 (s) − Td (s) ) ( Kt KaVinn (s J e s + Be (5.4422)) (5 110 11 0 Chapter 5. Implementation and Experimental Results X a ( s) = rg s ωa ( s ) = rg s ( J e s + Be ) ( Kt K aVin ( s) − Td ( s) ) (5.43) which can be re-arranged in time domain as: ωa (t ) = − Be KK 1 ωa (t ) + t a Vin (t ) − Td (t ) Je Je Je (5.44) xa (t ) = rgωa (t ) (5.45) Therefore, the state space model of the system can be written as: ⎡0 rg ⎤ ⎡ 0 x ( t ) ⎡ xa (t ) ⎤ ⎢ ⎡ ⎤ a ⎥ ⎢ ⎢ω (t ) ⎥ = ⎢0 − Be ⎥ ⎢ω (t ) ⎥ + ⎢ Kt K a ⎣ a ⎦ ⎢ J e ⎥⎦ ⎣ a ⎦ ⎢⎣ J e ⎣ A 0 ⎤ ⎡Vin (t ) ⎤ 1 ⎥⎥ ⎢ − T (t ) ⎥ J e ⎥⎦ ⎣ d ⎦ (5.46) B ⎡1 0⎤ ⎡ xa (t ) ⎤ ⎡0 0⎤ ⎡Vin (t ) ⎤ y (t ) = ⎢ ⎥+⎢ ⎥ ⎥⎢ ⎥⎢ ⎣0 1 ⎦ ⎣ωa (t ) ⎦ ⎣0 0⎦ ⎣ Td (t ) ⎦ C D Table 5.7: Dynamic parameters of the rigid model of the drives X-axis Y-axis Z-axis A-axis C-axis Amplifier gain( K a ) [A/V] 6.5723 6.2274 6.4841 1.27 1.27 Motor force constant ( K t ) [N/A] 0.4769 0.4769 0.4769 1.0 1.0 Reflected inertia ( J e ) [Kgm2] 0.0070 0.0082 0.0077 0.00022 0.000083 Viscous friction ( Be ) [Kg/s] 0.0236 0.0430 0.0323 0.00354 0.0016 Positive Coulomb friction ( μ k ) [N] 2.58 1.30 1.60 0.1969 0.1960 Negative Coulomb friction ( μ k + ) [N] -1.77 -1.20 -1.95 -0.1712 -0.2043 Gear ratio ( rg ) [mm/rad] (or [rad/rad]) 1.5915 1.5915 1.2732 1/180 1/90 + 111 Chapter 5. Implementation and Experimental Results However, since the control system is implemented on digital computer (dSPACE), the state space model derived in Eq. (5.46) must be transformed to discrete time domain. If the sampling time of control interval is Ts , the discrete state space model can be obtained as: ⎡ xa (k + 1) ⎤ ⎡ xa (k ) ⎤ ⎡Vin (k ) ⎤ ⎢ω (k + 1) ⎥ = Ad ⎢ω (k ) ⎥ + Bd ⎢ T (k ) ⎥ ⎣ a ⎦ ⎣ a ⎦ ⎣ d ⎦ ⎡ x (k ) ⎤ ⎡V (k ) ⎤ y (k ) = Cd ⎢ a ⎥ + Dd ⎢ in ⎥ ⎣ωa (k ) ⎦ ⎣ Td (k ) ⎦ (5.47) Ad = eA.Ts = L−1 {sI - A} (5.48) where (∫ Ts ) e A.Ts dτ B (5.49) Cd = C , Dd = D (5.50) Bd = τ =0 The friction torque Td is a nonlinear function, and in the simplest way it can be modeled as Td = μ sgn(ω ) , where μ is the Coulomb friction coefficient. However, state feedback controller, which is designed in the next section, can only include the linear model. Therefore, only the first column of B and D matrices are considered in the model. Substituting the parameters from Table 5.7 into the discrete state space model in Eq. (5.47), the corresponding state and input matrices for the five axes can be obtained as: X Axis: ⎡1.0 1.5912 ×10−4 ⎤ Ad = ⎢ ⎥ 0.9996 ⎦ ⎣0 ⎡3.5618 ×10−6 ⎤ Bd = ⎢ −2 ⎥ ⎣ 4.7510 ×10 ⎦ (5.51) Y Axis: ⎡1.0 1.5911×10−4 ⎤ Ad = ⎢ ⎥ 0.9948 ⎦ ⎣0 ⎡ 2.8856 ×10−6 ⎤ Bd = ⎢ −2 ⎥ ⎣ 3.6251×10 ⎦ (5.52) 112 Chaapptteer 55. Im Ch mppleem meen nttaatiioonn an and d Exp Ex E peerrim m meenntaall Re Ressuultts Z Ax Axiis: ⎡11.0 11.2729 ×10−4 ⎤ Ad = ⎢ ⎥ 0.99995588 ⎦ ⎣0 ⎡ 22.55666611×1100−6 ⎤ Bd = ⎢ ⎥ 4 0330000 ×10 10−2 ⎦ ⎣ 4.0 (5.5533)) (5 A Ax Axiis: ⎡1. 1.00 5. 5.5 55511×1100−7 ⎤ Ad = ⎢ ⎥ 00.99998 844 ⎦ ⎣0 ⎡5.33778844 ×10 10−8 ⎤ Bd = ⎢ ⎥ 0 1993355 ⎦ ⎣ 0. (5.5544)) (5 C Ax Axiis: ⎡1. 1.00 1. 1.1100 0 ×10 10−6 ⎤ Ad = ⎢ ⎥ 00.99998811 ⎦ ⎣0 ⎡ 22.8 8339911×10 10−7 ⎤ Bd = ⎢ ⎥ ⎣ 00.5510066 ⎦ (5.5555)) (5 andd al an also th hee ou outp puutt mattriccees for f r alll ax axes are a e: ⎡1 0 ⎤ ⎡0 ⎤ Cd = ⎢ , D = d ⎥ ⎢0⎥ ⎣0 1 ⎦ ⎣ ⎦ (5.5566)) (5 5 4.33 Co 5. Con nttrroolller aan nd dO Ob bsserv veerr De Desiiggn n In n coonnttrooll ssyystteem mss of of ma macchhin nee toooll fee f edd dr driv veess, a be bettteerr perrffoorm ma mancee ccaann be be achhieevveed ac d by by us usin ngg bothh posiitiio onn an andd vellooccittyy in in th thee fe feedbbaacck k. Fo Forr ex exaam mppllee, in n co c mm mmerrcciaall CN CN NC C ma macch hiine to tooolss, it i is i co com m mm moonn too us usee caassccaad ded co connttroollleerr, wh whiicchh hass aann in nnneer PI PI-conntrroolleedd vellooccittyy lo co looopp an andd ou outeerr P P--ccoonntrroollleedd po possition n lo loop. A Annoothheerr me meth ho odd to o eem mp pllooyy the ve th veloocciity y fee f ed dbbaacckk is i by by usi u inng g mo mod deernn co con ntrrool teecchhn niquueess wh whichh aaree ba baseed d on on th thee st s attee spaace mo sp moddeell of of th thee sy syssteem m Inn oord m. deerr to to ccoonnttrooll th thee fiv f vee aaxess oof th hee ma macchhinnee,, a siim mppllee st s attee feedbbaacck fe k co onnttrolllerr hass bbeenn de desiiggnneed d ffoor ea each ax axiss. F Fiigguuree 55.2288 dem d m moonnstrrateess tthhe ggeenneeraall bloockk dia bl d aggrraam m of o thhee clloossed loopp ssyystteem m. Nottee th thaat un unliikke aacctiivve ddaam mp piinng g te tech hnniiqqu uees,, oonnlly y the rig th r giid d bbo oddyy dy dynnaam miicc of of th thee dr driv veess aarre co connsiiddeereedd fo orr th thee cco onntrroolleer de desiggn n. Figgu Fi ure 55.2 288:: C Clloossed looopp co c ntrro ol syyssttem m of of th thee fe feed ddrivvees wi withh staate fee feeddb baacckk ccoon ntrroollleer. 113 11 3 Chapter 5. Implementation and Experimental Results Based on the linear state space models derived in Eqs. (5.51)-(5.55), the control loop of each axis has two states, i.e. the position xa (t ) and velocity ωa (t ) . Designing the state feedback controller means finding the gain matrix K cnt = ⎡⎣ K pos K vel ⎤⎦ , which is then used to calculate the voltage command sent to the amplifiers: Vin (k ) = Kcont ( X ref (k ) − X a (k ) ) = ⎡⎣ K pos ⎡ xref (k ) − xa (k ) ⎤ Kvel ⎤⎦ ⎢ ⎥ ⎣ωref (k ) − ωa (k ) ⎦ (5.57) In order to achieve a high bandwidth controller, the required rise time for the closed loop system of each axis is chosen as tr = 0.01s ; the exhibited overshoot of the system is also limited to OS = 5% . Based on the transfer function derived in Eq. (5.43), the closed loop system of the drive has two poles, which can be placed at the locations corresponding to the desired design specifications. The damping and natural frequency of the closed loop poles can be calculated as: ζ pp ω pp ≈ (ln OS )2 = = 0.69 π 2 + (ln OS )2 2.16 ζ pp + 0.6 tr = 209.1rad/s = 33.3Hz (5.58) (5.59) and thus the poles in the continuous domain are obtained as: s1,2 = −ζ ppω pp ± jω pp 1 − ζ pp 2 = −144.28 ± j151.30 (5.60) Since the control system is run in Ts = 0.1ms sampling time, the corresponding desired poles in the discrete time can be derived as: z1,2 = e 1,2 s = 0.9856 ± j 0.0149 s T In order to calculate the controller gain K cnt = ⎡⎣ K pos (5.61) K vel ⎤⎦ such that the closed loop poles are placed at the desired locations, there are several techniques available in the literature. Since this research focuses on the command shaping part and not the controller, the 114 Chapter 5. Implementation and Experimental Results theoretical details are not presented here; instead, the MATLAB command “place” is used to obtain the controller gain: K cnt = ⎡⎣ K pos K vel ⎤⎦ = place ( Ad , Bd , [ z1 , z2 ]) ; (5.62) Using the discrete state space models of the drives in Eqs. (5.51)-(5.55), and the desired location of the closed loop poles in Eq. (5.61), the controller gains for the five axes can be obtained using Eq. (5.62): X Axis: Kcnt = [53.1934 0.5957] (5.63) Y Axis: Kcnt = [ 65.7219 0.7307] (5.64) Z Axis: Kcnt = [ 73.8632 0.6596] (5.65) A Axis: Kcnt = [89.9194 0.3656] (5.66) C Axis: Kcnt = [34.1177 0.1381] (5.67) Finally, the command control voltage sent to the amplifiers can be calculated as: Vin (k ) = Kcont ( X ref (k ) − X a (k ) ) = ⎡⎣ K pos ⎡ xref (k ) − xa (k ) ⎤ Kvel ⎤⎦ ⎢ ⎥ ⎣ωref (k ) − ωa (k ) ⎦ (5.68) where position x a is measured by the linear encoder, and velocity ωa is obtained from the tachometers of the motors. However, since the measured data is normally noisy, a fixedgain Kalman filter is used to smoothen the signal and improve the control performance. The observer equation which estimates the states can be written as: ⎛ ⎡ xa (k ) − xˆa (k ) ⎤ ⎞ ⎡ xˆa (k + 1) ⎤ ⎡ xˆa (k ) ⎤ = A + B ( ) + K C V k KF d ⎜ ⎢ d ⎢ d in ⎢ωˆ (k + 1) ⎥ ⎥ ⎥⎟ ⎣ a ⎦ ⎣ωˆ a (k ) ⎦ ⎝ ⎣ωa (k ) − ωˆ a (k ) ⎦ ⎠ (5.69) 115 Chapter 5. Implementation and Experimental Results where xa (k ) and ωa (k ) are the actual measured position and velocity; xˆa ( k ) and ωˆ a (k ) are also the estimated states of the system calculated by the observer. In order to find the Kalman gain K KF , the variance of the noise of encoders and tachometers are required. The procedure of designing the Kalman filter can be found in details in [30], but for the sake of conciseness, only the final results are presented here: ⎡ 0.0913 1.1×10−4 ⎤ =⎢ ⎥ ⎣ 44.2929 0.1625 ⎦ (5.70) Y Axis: Kobs ⎡ 0.0909 1.072 ×10−4 ⎤ =⎢ ⎥ 0.1447 ⎦ ⎣ 43.1568 (5.71) Z Axis: ⎡ 0.0911 8.693 ×10−5 ⎤ Kobs = ⎢ ⎥ 0.1535 ⎦ ⎣54.6914 (5.72) X Axis: A Axis: C Axis: Kobs Kobs ⎡ 0.0924 7.2925 ×10−5 ⎤ =⎢ ⎥ 0.3293 ⎦ ⎣74.3783 (5.73) Kobs ⎡ 0.0927 6.8602 ×10−5 ⎤ =⎢ ⎥ 0.4864 ⎦ ⎣69.9690 (5.74) Note that in order to calculate the control voltage in Eq. (5.68), the estimated state values obtained from Kalman filter are used instead of the raw measurement data. Therefore, the estimation equation in Eq. (5.69) can be re-written as: ⎛ ⎡ xa (k ) − xˆa (k ) ⎤ ⎞ ⎡ xref (k ) − xˆa (k ) ⎤ ⎡ xˆa (k + 1) ⎤ ⎡ xˆa (k ) ⎤ = A + B K + K C ⎥ cnt ⎢ KF d ⎜ ⎢ d ⎢ d ⎢ωˆ (k + 1) ⎥ ⎥ ⎥⎟ ⎣ a ⎦ ⎣ωˆ a (k ) ⎦ ⎣ωref (k ) − ωˆ a (k ) ⎦ ⎝ ⎣ωa (k ) − ωˆ a (k ) ⎦ ⎠ (5.75) where the reference velocity ωref (k ) can be obtained by taking the derivative of position xref ( k ) . Figure 5.29 demonstrates the entire closed control loop of the axis feed drives. 116 Chaapptteer 55. Im Ch mppleem meen nttaatiioonn an and d Exp Ex E peerrim m meenntaall Re Ressuultts Figgu Fi urre 55.2 299:: Clo C osseedd lo looop co con ntrro ol systteem m of thhee fe feeed d ddrrivveess w witthh sta s atte fe f eddb baacckk ccoon nttroollleerr aan ndd K Kallm maan n fiiltteer.. 5 4.44 Id 5. Identiifiiccaatiioon n ooff St Strru ucctu urraall Res R soon naan nccee Mo Mod deess aan nd dD Deessiggn niin ngg In Inp pu utt S Sh haap peerrss Str S ru ucctuurraal mo moddeess off thhee ma macchhin nee arree iddeenntiifi fieedd ex exppeerrim men m nttaalllyy uussing th t e ffeeedd ddriivvee inppuut volltag in gee an ndd me meaassuureedd sttru uccttuuraall vi vibbraattioonnss. Sin S nccee th thee F Faaddaal ma macch hininng g cceenntterr useed d foorr the ex th exp peeriim meenntt ha hass vveerry y st stifff str s ru ucctuurre, hig h ghh acccceelerraatiio onn ttrajjeecttoorrieess aarree re reqqu uirred to t eexxccittee the str th s ru ucctuurraal m mooddeess. Ho How w veerr, th wev hee ffeeedd ddriivvee mo motoorrs ar are nno ott po pow weerrfful enno ouug ghh to o pprovviiddee verryy hig ve h ghh ttoorq quuee. Ba Based d on on siim muullattionnss an andd ex exp peeriim meenntts,, maxxiim muum m aacceelleraattioonn of of 200000 mm 20 mm//ss 2 can n bbee ac achhieev veedd wit w th hoouut sattuuraattioonn of of thhee serrvvoo am amp mpliifi fieerss. In In or ord deer to o iddeen nttiffyy s ruucctuurraal m str modess of of tthhe dr drivveess, a siim mppllee liinneaarr trraj ajeeccto orryy wi w thh ma maxximu mum m aacccceeleerrattionn of of 200000 mm 20 mm//ss 2 iss gi g ven n to to eacchh aax xiss iin ndivviduuaallly y,, annd d th thee vib v brrattionns ar are m meeaasuurreedd uusiinngg accceleerrom ac m meeteerr. How w weevverr, ba basseedd onn th the ex exppeerrim m nttaal re men r suulltss, on onllyy X an a d Z aaxxeess eexxhhiibbitt me m assuurrab bllee axxiiaal vi v brraatio onnss; Y ax axiss ha has a ve very y sh sho ortt balllsccrrew w anndd th thu us sstiifff ddy ynnaam miics.. Bessidess, ffo Be or me meaassuuriinngg th the ttorssioon naall mo modde of of th the ba balllscrreew wss, oonnly y X aaxiss hhaass en enoouug ghh sppaaccee for mo fo mouun nttin ngg thhee F Feerrrrarris sennsso orr. Fig F gu urree 5.3300 shhoow w ws th the F FF FT T of of thhee me meaassuureed d trraannssieennt ac accceeleerrattion n sig s gnnaalls at at tthhee 40H Hzz , w beg be ginnnniin ngg off th hee mo mottioonn. No Notee th haatt th thee pe peaakk att aro a ou unnd d 40 whhicch h ha has aap pppeearreedd in n all al plootss, is pl i ddu uee to to thhee connttrrolllerr ddy ynnam m micss aannd is i no nott a str s ruuctu urral mo moddee. Ba Basseed d onn th the pe peaakk resppoonnssees in re in th hee FF FFT T pl plotss, X ax axiis ha hass an an ax xiiaal modee aat ωd = 95 andd a le leadd sc screw w 95H H an Hz 3700H Hz Hz . Z ax 1400H H Hz torssionnaall mo to moddee at at 37 axiss allssoo eexxhhibitts tw wo cl wo cleearr strruucttuurrall m mooddees aarroouund 14 117 11 7 Chapter 5. Implementation and Experimental Results and 215Hz . Note that the machine might have other low frequency structural modes as well but they cannot be excited and measured reliably with the available hardware. In order to avoid excitation of the detected structural modes, a ZVD shaper defined in Eq. (3.43) is designed for each resonance frequency. As discussed in Section 3.4.4, ZVD shaper is highly robust to model mismatch in damping. Therefore, the damping ratio of all detected modes are estimated as ζ = 0.2 , which is reasonable for structural modes of feed drives. Thus, the shapers can be obtained as: ⎡⎧ A⎫ ⎤ ⎡⎧0.4291⎫ ⎧0.4519⎫ ⎧0.1190⎫ ⎤ ⎢⎨ ⎬ ⎥ = ⎢⎨ ⎬ ,⎨ ⎬ ,⎨ ⎬⎥ t 0 0.0052 ⎭1 ⎩ ⎭2 ⎩0.0105⎭3 ⎦ ⎣⎢⎩ ⎭ j ⎦⎥ ⎣⎩ (5.76) ⎡⎧ A⎫ ⎤ ⎡⎧0.4291⎫ ⎧0.4519⎫ ⎧0.1190⎫ ⎤ X - torsional mode (370 Hz): ⎢⎨ ⎬ ⎥ = ⎢⎨ ⎬ ,⎨ ⎬ ,⎨ ⎬⎥ ⎢⎣⎩ t ⎭ j ⎥⎦ ⎣⎩ 0 ⎭1 ⎩0.0013⎭2 ⎩0.0027 ⎭3 ⎦ (5.77) Z - axial mode (140 Hz): ⎡ ⎧ A⎫ ⎤ ⎡ ⎧0.4291⎫ ⎧0.4519⎫ ⎧0.1190⎫ ⎤ ⎢ ⎨ ⎬ ⎥ = ⎢⎨ ⎬ ,⎨ ⎬ ,⎨ ⎬⎥ ⎢⎣ ⎩ t ⎭ j ⎥⎦ ⎣ ⎩ 0 ⎭1 ⎩0.0035⎭2 ⎩ 0.0071⎭3 ⎦ (5.78) Z - axial mode (215Hz): ⎡⎧ A⎫ ⎤ ⎡⎧0.4291⎫ ⎧0.4519⎫ ⎧0.1190⎫ ⎤ ⎢⎨ ⎬ ⎥ = ⎢⎨ ⎬ ,⎨ ⎬ ,⎨ ⎬⎥ ⎢⎣⎩ t ⎭ j ⎥⎦ ⎣⎩ 0 ⎭1 ⎩0.0023⎭2 ⎩0.0046⎭3 ⎦ (5.79) X - axial mode (95Hz): Figure 5.30 also shows the FFT of the acceleration signal (the same time length) when the axis command is shaped with the corresponding shaper designed for that axis. All FFT plots clearly show that the peak responses corresponding to the structural modes have been greatly reduced in the shaped case. 5.4.5 Implementation of Contour Error Compensation Module In order to implement the proposed contour error compensation technique, a sample five-axis helical toolpath is contoured by the machine. The discrete geometrical points describing the path and tool orientation have been generated by the following formulations: 118 Chapter 5. Implementation and Experimental Results Figure 5.30: FFT of the transient acceleration of the drives subject to the shaped and unshaped linear trajectory (maximum acceleration a = 2000 mm/s 2 ). u = 0 :10−5 : 2π Uxd = 40 (1 − cos u ) Uyd = 40 ( sin u ) Uzd = 3u (5.80) ⎛ sin u ⎞ Uad = − arcsin ⎜ ⎟ ⎝ 5 ⎠ ⎛ ⎛ cos u ⎞ ⎛ 1 ⎞⎞ Ucd = −0.2 ⎜ tan ⎜ ⎟ − tan ⎜ ⎟⎟ ⎝ 2 ⎠⎠ ⎝ ⎝ 2 ⎠ 119 Chapter 5. Implementation and Experimental Results where u is the toolpath parameter, Uxd ,Uyd ,Uzd are the tooltip positions in the workpiece frame, and Uad , Ucd are the primary and secondary angles describing the tool orientation in the workpiece frame. Figure 5.31 demonstrates this sample toolpath. Figure 5.31: Sample five-axis helical toolpath used for contour error experiment. In order for the machine to be able to follow the path with reasonable contour error, the mentioned toolpath has been interpolated by a cubic acceleration profile, which is commonly used in commercial CNC machine tools. The feedrate along the path is set to f = 150 mm/s , and the maximum acceleration and jerk are limited to a = 2, 000 mm/s 2 and j = 10, 000 mm/s3 , respectively, with the sampling time of Ts = 1ms . Considering the size and inertia of the machine, this is relatively an aggressive high speed trajectory. The interpolated points [ Pxd , Pyd , Pzd ,θ ad ,θ cd ]w obtained above are currently described in the workpiece frame. Inverse kinematic of the machine presented in Eq. (4.22) is used to obtain the corresponding unshaped axis commands [ xr , yr , zr , ar , cr ] . Figure 5.32 demonstrates the interpolated trajectories described in the workpiece frame (solid line) as well as the axis commands described in the machine frame (dash line). 120 Chapter 5. Implementation and Experimental Results Figure 5.32: Trajectory components described in the workpiece frame (solid line) and machine axis commands (dash-line) in contouring a five-axis helical toolpath ( f = 150 mm/s ). In order to verify that the model derived in Section 5.4.2 can closely predict the response of the machine, the generated unshaped axis commands were sent to the servo drives, and the actual axis positions were measured using encoders. Figure 5.33 compares the simulated and measured tracking errors. It can be observed that the derived model can predict the rigid body dynamic of the machine fairly accurately; only in regions where one 121 Chapter 5. Implementation and Experimental Results or more axes change direction or move very slowly, slight deviation between the simulation and experiment is observed. This is mainly due to the nonlinear effect of coulomb friction (Stribeck effect) which is not considered in the model. Figure 5.33: Simulated (dash-line) and measured (solid) axis tracking errors in contouring the five-axis helical toolpath ( f = 150 mm/s ). T In order to calculate the resultant tooltip contour errors ε = ⎡⎣ε xa , ε ya , ε za ⎤⎦ w , direct kinematic of the machine derived in Eq. (4.27) is used to obtain the actual tool pose [ Pxa , Pya , Pza ,θ aa ,θ ca ]w (described in the workpiece frame) from the actual unshaped axis 122 Chapter 5. Implementation and Experimental Results positions [ xa , ya , za , aa , ca ] . This error is caused only by the dynamic of the machine; on the other hand, if the input shaper designed in the previous section is also applied on the axis commands, additional contour error will be incurred due to distortion of the shaped toolpath. This distortion can be calculated by comparing the shaped and unshaped reference toolpaths described in the workpiece frame. Figure 5.34 shows these two types of contour errors in following the designed five-axis helical toolpath. Figure 5.34: Machine-dependent contour error (measured-unshaped) and toolpath distortion caused by input shaping in contouring the five-axis helical toolpath ( f = 150 mm/s ). The proposed contour error compensation module can be employed not only to correct the reference distortion caused by input shaping but also to reduce the machinedependent contour errors. The procedure has been explained thoroughly in Section 4.5, and the schematic block diagram of the algorithm is illustrated in Figure 4.10. The models of the feed drives are used to predict the response of each axis to the shaped axis commands. Next, using inverse kinematic of the machine derived in Eq. (4.32), the actual shaped tool pose (defined in the workpiece frame) is obtained. The predicted tooltip contour error 123 Chapter 5. Implementation and Experimental Results ⎡⎣ε xs , ε ys , ε zs ⎤⎦ can be also calculated by comparing the predicted actual shaped tool pose w against the original desired one. Figure 5.35 shows the components of the predicted contour error described in the workpiece frame. Figure 5.35: Predicted (simulated) components of tooltip contour error (in workpiece frame) in contouring the shaped toolpath ( f = 150 mm/s ). However, as explained in Section 4.5.1, due to the nonlinear kinematic transformation between the axis commands (in the base frame) and tool pose (in the workpiece frame), the contour error components obtained in Figure 5.35 cannot be directly added to the axis commands as compensation terms. In order to compensate for these tooltip contour errors, the corresponding axis compensation signals are calculated using 124 Chapter 5. Implementation and Experimental Results Eqs. (4.34)-(4.36). Since the lowest identified resonance mode of the feed drives is 95 Hz , the compensation signals are low-pass filtered at 10 Hz to avoid adding excitation harmonics to the shaped commands. Figure 5.36 shows the final compensation signals calculated by the proposed command shaping module. These signals are added to the shaped axis commands to compensate for the contour errors caused by the machine dynamic and reference distortion. Figure 5.36: Axis compensation signals (simulation) low-pass filtered at 10 Hz. Figure 5.37 compares the measured contour errors for the unshaped and shapedcompensated toolpaths. It can be clearly seen that the mean value of contouring error has decreased significantly in the case of shaped-compensated command, which means that the proposed module has successfully reduce the low-harmonics of contour error. It should be noted that the ripples in the contour error are due to the controller dynamics, and are not 125 Chapter 5. Implementation and Experimental Results structural vibrations. The spikes in the shaped-compensated contour error are also due to the coulomb friction acting as a step disturbance at the direction reversal of feed drives. These spikes can be greatly reduced by implementation of disturbance observer techniques, which is part of the controller design and is left for future work. It is worth reminding that the integrated command shaping module is a feed forward technique for reference modification, and does not change the closed loop tracking performance of the drives. Figure 5.37: Measured contour errors for the unshaped and shaped-compensated five-axis helical toolpath ( f = 150 mm/s ). Theoretically, a well-designed control loop including disturbance observer along with the proposed command shaping module can result in contour errors as small as few multiples of encoder resolution, provided that the original unshaped trajectory also respects the axis limits and does not saturate the drives. For example, Figure 5.38 shows the simulated contour errors for the same system but with simple feedforward friction compensation. It can be seen that the theoretical contour error has been significantly reduced in the shaped-compensated case. The relatively larger error at the initial and 126 Chapter 5. Implementation and Experimental Results ending points is due to the acceleration and deceleration of the axes, and can be reduced by either employing more aggressive controllers such as Sliding mode, or using trajectory profiles with higher continuity such as cubic jerk. Figure 5.38: Simulated contour error for the unshaped and shaped-compensated commands when the axis control loops include feedforward friction compensation (in both cases) ( f = 150 mm/s ). 5.5 Summary In this chapter, the implementation and experimental verification of the proposed integrated input shaping and contour error compensation module was presented. First, a single-axis linear drive equipped with a flexible beam as an oscillator was used to show how input shaping can avoid vibration of the oscillator. In the next step, a linear motordriven XY table was used to investigate the performance of the proposed command shaping method; however, instead of using a flexible beam, artificial resonance modes were injected into the closed loop of the system by tuning low-damping controllers. 127 Chapter 5. Implementation and Experimental Results Finally, more realistic experiment was conducted on a Fadal machining center to avoid the true structural modes of the machine while improving the contouring accuracy using the pre-compensation technique. 128 Chapter 6. Conclusions 6 Conclusions A novel command shaping module has been proposed to avoid structural excitation of machine tool feed drives without compromising contouring accuracy. Vibration avoidance is accomplished by applying a sequence of impulses, called an input shaper, on the original axis commands; however, shaping the commands results in distortion of the reference toolpath and causes large contour errors. The shaping distortion is estimated and corrected prior to sending the shaped commands to the servo drives. Contour errors caused by the limited bandwidth of servo drives are also predicted and compensated by using the dynamic model of the machine tool feed drives. The theory of input shaping method has been reviewed in this thesis, and the mathematical derivations and design procedures have been presented. It has been shown that by imposing different constraints on the shaping sequence, desirable robustness can be achieved. The performance of input shaping technique has been compared against classical lowpass and bandstop filters; and it is shown by simulation that input shapers can significantly outperform frequency-domain filters in terms of vibration reduction, shorter delay, robustness, and simplicity. However, due to the delay caused by the input shaper, the shaped toolpath exhibits distortions compared to the original reference path. Contour errors caused by shaping distortion are estimated beforehand using shifted Frenet frame, followed by adding correcting signals to the shaped trajectories in order to compensate the path distortion. Due to the limited bandwidth of servo drives, the machine response always exhibits additional contour errors in following a path. If a model which can reliably predict the dominant rigid body dynamics of the machine is available, the machine-dependent contour errors can be also compensated beforehand. A statistical evaluation on effectiveness of pre-compensation has been presented to investigate the conditions which makes it reasonable to employ precompensation technique; based on the derived equations, when the predictable contour error (due to input shaping or machine dynamics) is significant compared to the stochastic or non-modeled effects, the pre-compensation technique can be used effectively. 129 Chapter 6. Conclusions The proposed integrated input shaping and contour error compensation module has been implemented on several machines to experimentally verify the effectiveness of the method. A basic zero-vibration and derivative input shaper has been used to avoid the vibrations of a flexible oscillator mounted on a linear feed drive subject to a step command. Two-axis input shaping has been implemented on a linear motor driven XY table to avoid excitation of the imposed auxiliary resonance modes without compromising the accuracy in following a circular path. Realistic experiments have been conducted on a commercial fiveaxis machine tool to avoid real structural vibrations with improved contouring performance. The contributions of the thesis has been published in [4] There are several directions which can be taken to continue this research. It is essential to investigate how input shaping can be used in conjunction with other trajectory modification techniques such as look-ahead functions or corner smoothening; it must be assured that when used together, they do not interfere or degrade each other’s effect. The implementation of the proposed command shaping module requires access to the CNC of the machine tool. Since commercial machine tools have closed CNCs, it is also beneficial to look for other implementation solutions, e.g. through G-code. Finally, only the precompensation of tooltip contour error is studied in this thesis; developing techniques for modeling, prediction and pre-compensation of orientation contour errors is an important direction for future follow ups. 130 Bibliography Bibliography [1] Allotta, B., Angioli, F., 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, Vol. 1, pp. 606 –611. [2] Altintas, Y., Erkorkmaz, K. (2003). “Feedrate Optimization for Spline Interpolation in High Speed Machine Tools”, CIRP Annals - Manufacturing Technology, Vol. 52(1), pp. 297 – 302. [3] Altintas, Y., Erkorkmaz, K., Zhu, W.-H. (2000). “Sliding Mode Controller Design for High Speed Feed Drives”, CIRP Annals - Manufacturing Technology, Vol. 49(1), pp. 265 – 270. [4] Altintas, Y., Khoshdarregi, M. R. (2012). “Contour Error Control of CNC Machine Tools with Vibration Avoidance”, CIRP Annals - Manufacturing Technology, Vol. 61(1), pp. 335 – 338. [5] Altintas, Y., Okwudire, C. (2009). “Dynamic Stiffness Enhancement of Direct-driven Machine Tools Using Sliding Mode Control with Disturbance Recovery”, CIRP Annals - Manufacturing Technology, Vol. 58(1), pp. 335 – 338. [6] Altintas, Y., Sencer, B. (2010). “High Speed Contouring Control Strategy for Fiveaxis Machine Tools”, CIRP Annals - Manufacturing Technology, Vol. 59(1), pp. 417 – 420. [7] Asada, H., Ma, Z.-D., Tokumaru, H. (1987). “Inverse Dynamics of Flexible Robot Arms for Trajectory Control”, ASME Winter Annual Meeting, pp. 329–336. [8] Aspinwall, D. (1980). “Acceleration Profiles for Minimizing Residual Response”, Journal of Dynamic Systems, Measurement, and Control, Vol. 102(1), pp. 3–6. [9] Chen, Y., Tlusty, J. (1995). “Effect of Low-friction Guideways and Lead-screw Flexibility on Dynamics of High-speed Machines”. CIRP Annals - Manufacturing Technology, Vol. 44(1), pp. 353 – 356. [10] Chen, C.-S., Chen, L.-Y. (2011). “Cross-coupling Position Command Shaping Control in a Multi-axis Motion System”. Journal of Mechatronics, Vol. 21(3), pp. 625 – 632. 131 Bibliography [11] Chen, C.-S., Fan, Y.-H., Tseng, S. P. (2006). “Position Command Shaping Control in a Retrofitted Milling Machine”, International Journal of Machine Tools and Manufacture, Vol. 46(3-4), pp. 293 – 303. [12] Do Carmo, M. P. (1976). “Differential Geometry of Curves and Surfaces”, Englewood Cliffs, NJ. Prentice-Hall. [13] Erkorkmaz, K., Altintas, Y. (2001a). “High Speed CNC System Design. Part I: Jerk Limited Trajectory Generation and Quintic Spline Interpolation”, International Journal of Machine Tools and Manufacture, Vol. 41(9), pp. 1323 – 1345. [14] Erkorkmaz, K., Altintas, Y. (2001b). “High Speed CNC System Design. Part II: Modeling and Identification of Feed Drives”. International Journal of Machine Tools and Manufacture, Vol. 41(10), pp. 1487 – 1509. [15] Erkorkmaz, K., Altintas, Y. (2001c). “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(11), pp. 1637 – 1658. [16] Erkorkmaz, K., Yeung, C.-H., Altintas, Y. (2006). “Virtual CNC System. Part II: High Speed Contouring Application”. International Journal of Machine Tools and Manufacture, Vol. 46(10), pp. 1124 – 1138. [17] Hanafizadegan M., Nagamune R., “Switching Gain-scheduled Control Design for Flexible Ball Screw Drives”, in press. [18] Hyde, J., Seering, W. (1991a). “Using Input Command Pre-shaping to Suppress Multiple Mode Vibration”, Proceedings of the 1991 IEEE International Conference on Robotics and Automation, Vol. 3, pp. 2604 –2609. [19] Hyde, J. M., Seering, W. P. (1991b). “Inhibiting Multiple Mode Vibration in Controlled Flexible Systems”, Proceedings of the American Control Conference. [20] Jones, S. D., Ulsoy, A. G. (1999). “An Approach to Control Input Shaping with Application to Coordinate Measuring Machines”, Journal of Dynamic Systems, Measurement, and Control, Vol. 121(2), pp. 242–247. [21] Junkins, J. L., Turner, J. D. (1986). “Optimal Spacecraft Rotational Maneuvers”, Elsevier Science Publisher, New York. [22] Kamalzadeh, A., Gordon, D. J., Erkorkmaz, K. (2010). “Robust Compensation of Elastic Deformations in Ball Screw Drives”, International Journal of Machine Tools and Manufacture, Vol. 50(6), pp. 559 – 574. 132 Bibliography [23] Kojima, H., Singhose, W. (2007). “Adaptive Deflection Limiting Control for Slewing Flexible Space Structures”, AIAA Journal of Guidance, Control, and Dynamics, Vol. 30, pp. 61–67. [24] Koren, Y. (1980). “Cross-coupled Biaxial Computer Control for Manufacturing Systems”, ASME Journal of Dynamic Systems, Measurement, and Control, Vol. 102, pp. 165–272. [25] Koren Y., Lo C.-C. (1991). “Variable-gain Cross-coupling Controller for Contouring”, Annals of CIRP, Vol. 40, pp. 371–374. [26] Lim, S., Stevens, H. D., How, J. P. (1999). “Input Shaping Design for Multi-input Flexible Systems”, Journal of Dynamic Systems, Measurement, and Control, Vol. 121(3), pp. 443–447. [27] Lo, C.-C., Hsiao, C.-Y. (1998). “A Method of Tool Path Compensation for Repeated Machining Process”, International Journal of Machine Tools and Manufacture, Vol. 38(3), pp. 205 – 213. [28] Meckl, P., Seering, W. (1988). “Controlling Velocity-limited Systems to Reduce Residual Vibration”, Proceedings of the 1988 IEEE International Conference on Robotics and Automation, Vol. 3, pp. 1428 –1433. [29] Meckl, P. H. (1988). “Control of Vibration in Mechanical Systems Using Shaped Reference Inputs”, PhD thesis, MIT, Department of Mechanical Engineering. [30] NG, K. (2011). “Modeling and Control of Feed Drives”, Master’s thesis, University of British Columbia, Canada. [31] Okwudire, C., Altintas, Y. (2009). “Hybrid Modeling of Ball Screw Drives with Coupled Axial, Torsional and Lateral Dynamics”, Transactions of ASME, Journal of Machine Design, Vol. 131(4), pp. 1–10. [32] Pao, L., Chang, T., Hou, E. (1997). “Input Shaper Designs for Minimizing the Expected Level of Residual Vibration in Flexible Structures”, Proceedings of the American Control Conference. [33] Pao, L. Y., Lau, M. A. (2000). “Robust Input Shaper Control Design for Parameter Variations in Flexible Structures”, Journal of Dynamic Systems, Measurement, and Control, Vol. 122(1), pp. 63–70. [34] Park, J., Rhim, S. (2008). “Extraction of Optimal Time-delay in Adaptive Command Shaping Filter for Flexible Manipulator Control”, Journal of Institute of Control, Robotics and System, Vol. 14, pp. 564–572. 133 Bibliography [35] Park, U.-H., Lee, J.-W., Lim, B.-D., Sung, Y.-G. (2001). “Design and Sensitivity Analysis of an Input Shaping Filter in the Z-plane”, Journal of Sound and Vibration, Vol. 243(1), pp. 157 – 171. [36] Peláez, G., Pelaez, G., Perez, J., Vizán, A., Bautista, E. (2005). “Input Shaping Reference Commands for Trajectory Following Cartesian Machines”, Control Engineering Practice, Vol. 13(8), pp. 941 – 958. [37] Pritschow, G. (1996). “On the Influence of the Velocity Gain Factor on the Path Deviation”, CIRP Annals - Manufacturing Technology, Vol. 45(1), pp. 367 – 371. [38] 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, page 69–72. [39] Rhim, S., Book, W. (2001). “Noise Effect on Adaptive Command Shaping Methods for Flexible Manipulator Control”, IEEE Transactions on Control Systems Technology, Vol. 9(1), pp. 84 –92. [40] Rhim, S., Book, W. (2004). “Adaptive Time-delay Command Shaping Filter for Flexible Manipulator Control”, IEEE/ASME Transactions on Mechatronics, Vol. 9(4), pp. 619 –626. [41] Sencer, B., Altintas, Y., Croft, E. (2009). “Modeling and Control of Contouring Errors for Five-axis Machine Tools. Part I: Modeling”, Journal of Manufacturing Science and Engineering, Vol. 131(3), pp. 031006.1-8. [42] Singer, N. C. (1989). “Residual Vibration Reduction in Computer Controlled Machines”, PhD thesis, MIT, Artificial Intelligence Laboratory. [43] Singer, N. C., Seering, W. P. (1990). “Preshaping Command Inputs to Reduce System Vibration”, ASME Journal of Dynamic Systems, Measurement, and Control, Vol. 112, pp. 76–82. [44] Singer N., Singhose W., Seering W. (1999). “Comparison of Filtering Methods for Reducing Residual Vibration”, European Journal of Control, Vol. 5, pp. 208–218. [45] Singhose, W. (2009). “Command Shaping for Flexible Systems: A Review of the First 50 Years”, International Journal of Precision Engineering and Manufacturing, Vol. 10, pp. 153–168. [46] Singhose, W., Crain, E., Seering, W. (1997). “Convolved and Simultaneous Twomode Input Shapers”, IEE Proceedings Control Theory and Applications, Vol. 144(6), pp. 515 –520. 134 Bibliography [47] Singhose, W., Kim, D., Kenison, M. (2008). “Input Shaping Control of Doublependulum Bridge Crane Oscillations”, Journal of Dynamic Systems, Measurement, and Control, Vol. 130(3), 034504. [48] Singhose, W., Seering, W., Singer, N. (1990). “Shaping Inputs to Reduce Vibration: a Vector Diagram Approach”, Proceedings of IEEE International Conference on Robotics and Automation. [49] Singhose, W., Seering, W., Singer, N. (1994). “Residual Vibration Reduction Using Vector Diagrams to Generate Shaped Inputs”, Journal of Mechanical Design, Vol. 116. [50] Singhose, W., Seering, W., Singer, N. (1996a). “Input Shaping for Vibration Reduction with Specified Insensitivity to Modeling Errors”, Proceedings of JapanUSA sym. on Flexible Automation. [51] Singhose, W., Singer, N. (1996). “Effects of Input Shaping on Two-dimensional Trajectory Following”, IEEE Transactions on Robotics and Automation, Vol. 12(6), pp. 881 –887. [52] Singhose, W. E., Searing, W. P., Singer, N. C. (1996b). “Improving Repeatability of Coordinate Measuring Machines with Shaped Command Signals”, Precision Engineering, Vol. 18(2-3), pp. 138 – 146. [53] Smith, O. (1958). “Feedback Control Systems”, McGraw-Hill Series in Control Systems Engineering. McGraw-Hill. [54] Tomizuka, M. (1987). “Zero Phase Error Tracking Algorithm for Digital Control”, ASME Journal of Dynamic Systems, Measurement, and Control, Vol. 109, pp. 65–68. [55] Tsao T.C., Tomizuka M. (1987). “Adaptive Zero Phase Error Tracking Algorithm for Digital Control”, ASME Journal of Dynamic Systems, Measurement, and Control, Vol. 109, pp. 349–354. [56] Tzes, A., Yurkovich, S. (1993). “An Adaptive Input Shaping Control Scheme for Vibration Suppression in Slewing Flexible Structures”, IEEE Transactions on Control Systems Technology, Vol. 1(2), pp. 114 –121. 135
- Library Home /
- Search Collections /
- Open Collections /
- Browse Collections /
- UBC Theses and Dissertations /
- Vibration avoidance and contour error compensation...
Open Collections
UBC Theses and Dissertations
Featured Collection
UBC Theses and Dissertations
Vibration avoidance and contour error compensation in high speed five-axis machine tools using command… Rezayi Khoshdarregi, Mohammad 2012
pdf
Page Metadata
Item Metadata
Title | Vibration avoidance and contour error compensation in high speed five-axis machine tools using command shaping techniques |
Creator |
Rezayi Khoshdarregi, Mohammad |
Publisher | University of British Columbia |
Date Issued | 2012 |
Description | The present machine tools travel at high velocities with large acceleration and jerk, which creates large inertial loads with wide frequency content, resulting in excitation of the natural frequencies of the machine. This thesis presents a command shaping module which avoids structural vibrations and improves contouring accuracy in five-axis machine tools. Inertial-induced vibrations of feed drives are avoided by applying a sequence of input shaping impulses on the axis position commands as a function of natural frequencies of the machine. Input shapers block those harmonics of the command which can excite the modes of the machine. While command shaping avoids the excitation of transient vibrations caused by inertial loads, it introduces a time delay which increases the contouring errors in multi-axis motion control systems. Although input shaping can effectively avoid vibrations, it distorts the toolpath in multi-axis contouring due to added time delays. The distortion increases the contour errors caused by the limited bandwidth of axis servo drives, resulting in relatively large geometric errors and violation of the required tolerance. The transfer function of the axis drives and kinematic configuration of the machine tool are used to estimate the contouring error, which is decoupled into axis components, and compensated prior to sending the position commands to each drive. The proposed integrated input shaping and contour error compensation module can be applied on any arbitrary trajectory, and the shaped-compensated command results in vibration-free and accurate contouring of the desired path. The input shaping and contouring error compensation techniques introduced in the thesis have been experimentally validated in single, two and five axis machine tools. |
Genre |
Thesis/Dissertation |
Type |
Text |
Language | eng |
Date Available | 2012-09-14 |
Provider | Vancouver : University of British Columbia Library |
Rights | Attribution-NonCommercial-NoDerivatives 4.0 International |
DOI | 10.14288/1.0073170 |
URI | http://hdl.handle.net/2429/43210 |
Degree |
Master of Applied Science - MASc |
Program |
Mechanical Engineering |
Affiliation |
Applied Science, Faculty of Mechanical Engineering, Department of |
Degree Grantor | University of British Columbia |
Graduation Date | 2012-11 |
Campus |
UBCV |
Scholarly Level | Graduate |
Rights URI | http://creativecommons.org/licenses/by-nc-nd/4.0/ |
Aggregated Source Repository | DSpace |
Download
- Media
- 24-ubc_2012_fall_rezayikhoshdarregi_mohammad.pdf [ 15.42MB ]
- Metadata
- JSON: 24-1.0073170.json
- JSON-LD: 24-1.0073170-ld.json
- RDF/XML (Pretty): 24-1.0073170-rdf.xml
- RDF/JSON: 24-1.0073170-rdf.json
- Turtle: 24-1.0073170-turtle.txt
- N-Triples: 24-1.0073170-rdf-ntriples.txt
- Original Record: 24-1.0073170-source.json
- Full Text
- 24-1.0073170-fulltext.txt
- Citation
- 24-1.0073170.ris
Full Text
Cite
Citation Scheme:
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>
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.24.1-0073170/manifest