UBC Theses and Dissertations

UBC Theses Logo

UBC Theses and Dissertations

Smooth trajectory generation and precision control of 5-axis CNC machine tools Sencer, Burak 2009

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

Notice for Google Chrome users:
If you are having trouble viewing or searching the PDF with Google Chrome, please download it here instead.

Item Metadata

Download

Media
24-ubc_2009_fall_sencer_burak.pdf [ 5.05MB ]
Metadata
JSON: 24-1.0067853.json
JSON-LD: 24-1.0067853-ld.json
RDF/XML (Pretty): 24-1.0067853-rdf.xml
RDF/JSON: 24-1.0067853-rdf.json
Turtle: 24-1.0067853-turtle.txt
N-Triples: 24-1.0067853-rdf-ntriples.txt
Original Record: 24-1.0067853-source.json
Full Text
24-1.0067853-fulltext.txt
Citation
24-1.0067853.ris

Full Text

SMOOTH TRAJECTORY GENERATION AND PRECISION CONTROL OF 5-AXIS CNC MACHINE TOOLS by BURAK SENCER  BSc, Istanbul Technical University, Istanbul, Turkey, 2003 MASc, University of British Columbia, Vancouver, Canada, 2005  A THESIS SUBMITTED IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE DEGREE OF DOCTOR OF PHILOSOPHY in THE FACULTY OF GRADUATE STUDIES (Mechanical Engineering)  THE UNIVERSITY OF BRITISH COLUMBIA (Vancouver)  October 2009 © Burak Sencer, 2009  Abstract This thesis presents experimentally verified optimal feedrate generation and high performance precision control algorithms developed for 5-axis machine tools. A feedrate scheduling algorithm has been introduced to minimize the cycle time for 5-axis machining of curved tool-paths. The variation of the feed along the tool-path is expressed in a cubic B-spline form as a function of the arc displacement. The velocity, acceleration and jerk limits of the five axis drives are considered in finding the most optimal feed along the tool-path to ensure smooth and linear operation of the servo drives with minimal tracking error. Improvement in the productivity and linear operation of the drives are demonstrated through 5-axis experiments. In an effort to design an accurate contour controller, analytical models are developed to estimate the contour errors during simultaneous 5-axis machining. Two types of contouring errors are defined by considering the normal deviation of tool tip from the reference path, and the normal deviation of the tool axis orientation from the reference orientation trajectory. A novel multi-input-multi-output sliding mode controller is introduced to directly minimize the tool tip and tool orientation errors, i.e. the contouring errors, along the 5-axis tool-paths. The stability of the control scheme is proven analytically, and the effectiveness of this new control strategy has been demonstrated experimentally. An identification technique for identifying the closed loop transfer function of machine tool feed drives has been introduced. The drive system is identified in closed loop, including the feed drive mechanism, motor amplifier, and the control law. A short Numerical Control Program is used for exciting the axis dynamics without interfering  ii  with the servo control loop. A generalized drive model is utilized to capture the key dynamics of the drive systems, while guaranteeing the stability of the identified model dynamics by solving a constrained optimization problem. Methods developed in this thesis have been evaluated on a table tilting 5-axis machining center. Their application to other 5-axis machines would require modeling of the kinematic chain and the drive dynamics to be considered in the control law design and trajectory generation.  iii  Table of Contents  Abstract ............................................................................................................................ ii  Table of Contents ........................................................................................................... iiv  List of Tables ................................................................................................................. viii  List of Figures ................................................................................................................. ix  Nomenclature ................................................................................................................ xiii  Acknowledgments ......................................................................................................... xvi  1. Introduction ................................................................................................................. 1  2. Literature Review ........................................................................................................ 7 2.1  Introduction ........................................................................................................... 7  2.2  Feed Optimization for Multi-Axis Machine Tools ................................................ 8  2.3  Modeling of Contouring Errors in Machine Tools .............................................. 10  2.4  Contouring Controller Design ............................................................................. 14  2.5  Identification of Feed Drive Dynamics ............................................................... 17  3. Feed Optimization for 5-Axis CNC Machine Tools with Drive Constraints ....... 20  iv  3.1  Introduction ......................................................................................................... 20  3.2  General Kinematic Model of 5-Axis Machine Tools .......................................... 22  3.2.1  Forward Kinematics Modeling ........................................................................ 25  3.2.2  Inverse Kinematics Solution ............................................................................ 29  3.3  Minimum Time Feed optimization Problem ....................................................... 31  3.4  Kinematic Constraints ......................................................................................... 36  3.4.1  Velocity Constraints ........................................................................................ 36  3.4.2  Acceleration Constraints.................................................................................. 37  3.4.3  Jerk Constraints ............................................................................................... 41  3.5  Solution to Minimum Time Feed Optimization Problem .................................... 44  3.6  Simulations and Experimental Results ................................................................ 47  3.7  Conclusion ........................................................................................................... 53  4. Modeling of Contouring Error for 5-Axis Machine Tools ..................................... 55 4.1  Introduction ......................................................................................................... 55  4.2  Tracking Error Dynamics on the Workpiece ....................................................... 57  4.3  Tool Tip Contour Error Estimation ..................................................................... 62  4.4  Tool Orientation Contour Error Estimation......................................................... 65  4.5  Implementation and Experimental Results .......................................................... 68 v  Conclusion ........................................................................................................... 75  4.6  5. Precision Contouring Controller Design for 5-Axis Machine Tools ..................... 76 5.1  Introduction ......................................................................................................... 76  5.2  Design of the Sliding Mode Controller for Tool Tip Contour Errors.................. 77  5.3  Design of Sliding Mode Controller for Tool Orientation Contour Errors ........... 84  5.4  Implementation and Experimental Results .......................................................... 92  5.5  Conclusion ......................................................................................................... 101  6. Closed Loop Identification of Feed Drive Systems ............................................... 103 6.1  Introduction ....................................................................................................... 103  6.2  Closed Loop Axis Dynamics ............................................................................. 104  6.3  Least Squares (LS) Parameter Identification ..................................................... 107  6.4  Constrained Parameter Identification Using the Particle Swarm Optimization  (PSO) Method ................................................................................................................ 110 6.4.1  The Principle of PSO ..................................................................................... 112  6.4.2  PSO Solution ................................................................................................. 113  6.4.3  PSO Search Parameter Tuning ...................................................................... 116  6.5 6.5.1  Simulation and Experimental Results................................................................ 118 Validation on a Virtual Drive ........................................................................ 119 vi  6.5.2  Validation on a Ball Screw Drive .................................................................. 124  6.5.3  Validation on a Virtual 5-Axis Machine Tool ............................................... 127  6.6  Conclusion ......................................................................................................... 127  7. Conclusions............................................................................................................... 129 7.1  Conclusions ....................................................................................................... 129  7.2  Future Research Directions................................................................................ 131  Bibliography ................................................................................................................. 133  vii  List of Tables Table 3.1: Drive limits used in the feed optimization. .................................................... 48 Table 4.1: Rigid body drive parameters. ......................................................................... 68 Table 4.2: Five-axis SMC control parameters (SISO scheme)........................................ 68 Table 5.1: Drive parameters. ........................................................................................... 93 Table 5.2: 5-Axis SMC control parameters (SISO scheme). .......................................... 93 Table 5.3: 5-axis contour controller parameters. ............................................................. 95 Table 5.4 Performance of the tool tip contour controller at different feedrates. ............. 98 Table 5.5: The effect of directional bandwidths on the tool tip controller’s performance. ......................................................................................................................................... 98 Table 6.1: Actual and estimated closed loop parameters for P-PI controlled virtual drive(simulation). .......................................................................................................... 119 Table 6.2: Actual and estimated closed loop parameters for PID controlled virtual drive(simulation). .......................................................................................................... 123 Table 6.3: Actual and estimated drive parameters of a P-PI controlled virtual 5-axis machine tool. ................................................................................................................. 126  viii  List of Figures Figure 1.1: Surface finish errors during 5-axis machining. ............................................... 1 Figure 1.2: Application of high speed 5-axis machining in aerospace parts, such as impeller and compressor blades......................................................................................... 3 Figure 1.3: Application of high speed 5-axis machining in automotive and aerospace parts, dies and molds. ........................................................................................................ 6 Figure 2.1: Definition of contour errors in two-axis Cartesian machining: a) contour error (linear tool-path), b) contour error(curved tool-path). ............................................ 11 Figure 2.2: Definition of contour errors in 5-axis machining: a) tool tip contour error, b) tool orientation contour error. .......................................................................................... 13 Figure 2.3: General feed drive model. ............................................................................. 18 Figure 3.1: Tool-path and motion generation for 5-axis machine tools: a) tool motion in workpiece coordinates, b) motion generation on 5-axis machine tools........................... 21 Figure 3.2: Coordinate systems for modeling 5-axis machine tool kinematics. .............. 25 Figure 3.3: Tangential feed, acceleration and jerk profiles. ............................................ 32 Figure 3.4: Acceleration feasible operating region.......................................................... 39 Figure 3.5: Jerk feasible operating region. ...................................................................... 43 Figure 3.6: Feed optimization along the tool-path........................................................... 45 Figure 3.7: Windowing technique: a) forward windowing (start), b) forward windowing (shifted), c)forward windowing (finalized), c) forward winding (extended). ................ 45 Figure 3.8: Five-axis tool-path. ....................................................................................... 46 Figure 3.9: Axis reference displacement. ........................................................................ 48  ix  Figure 3.10: Axis limits reflected on the tangential feed: a) feedrate limited by the axis velocity constraints, b) feedrate limited by the axis acceleration constraints, c) feedrate limited by the axis jerk constraints. ................................................................................. 50 Figure 3.11: Optimized and un-optimized feed profiles. ................................................. 51 Figure 3.12: Optimized and un-optimized axis profiles. ................................................. 52 Figure 3.13: Tracking errors of the axes.......................................................................... 53 Figure 4.1: Definition of contour errors in 5-axis machining: a) tool motion in workpiece coordinates (P-system), b) contour error definition (orientation and tool tip contour errors)............................................................................................................................... 56 Figure 4.2: Linear rigid body feed drive dynamics. ........................................................ 60 Figure 4.3: Modeling of tool tip contour errors in 5-axis machining. ............................. 62 Figure 4.4: Modeling of tool orientation contour errors in 5-axis machining. ................ 66  (  Figure 4.5: Test Tool-path: a) reference tool tip Pref = ⎡⎣ Px , ref , Py , ref , Pz , ref ⎤⎦  (  reference tool axis orientation Oref = ⎡⎣Oi , ref , O j , ref , Ok , ref ⎤⎦  T  T  ) position, b)  ) .......................................... 69  Figure 4.6: Comparison of tool tip contouring error estimations (experimental): a) comparison of true and estimated tool tip contour errors, b) discrepancy of proposed estimation from true contour errors, c) delay time .......................................................... 71 Figure 4.7: Comparison of tool orientation contour error estimations: a) A axis errors, b) C axis errors, c) discrepancy in the proposed contour error estimation in A axis, d) discrepancy in the proposed contour error estimation in C axis...................................... 73 Figure 5.1: Tool tip contour error estimation. ................................................................. 78 Figure 5.2: Tool tip contour controller block diagram. ................................................... 83  x  Figure 5.3: Tool orientation contour controller block diagram. ...................................... 87 Figure 5.4: Complete 5-axis contour controller block diagram. ...................................... 92 Figure 5.5: Five-axis tool-path. ....................................................................................... 93 Figure 5.6: Reference axis trajectories: reference Cartesian axis positions, b) reference rotary axis positions, c) reference Cartesian axis velocities, d) reference rotary axis velocities. ......................................................................................................................... 94 Figure 5.7: Contouring performance of the SISO controller (experimental): a) tool tip contour errors, b) X axis tracking, c) Y axis tracking, d) Z axis tracking, e) A axis tracking, f) C axis tracking. ............................................................................................. 95 Figure 5.8: Proposed tool tip contour controller performance (experimental) ): a) tool tip contour errors, b) X axis tracking, c) Y axis tracking, d) Z axis tracking, e) A axis tracking, f) C axis tracking. ............................................................................................. 97 Figure 5.9: Effect of controller parameters.................................................................... 100 Figure  5.10:  Orientation  contour  controller  performance  at  F=50[mm/sec]  (experimental): a) orientation contour error, b) mean orientation contour error trend. . 101 Figure 6.1: Rigid body axis dynamics and common CNC drive control structures: a) rigid body drive model, b) P-PI control, c) PID control. ............................................... 104 Figure 6.2: General closed loop dynamics model. ........................................................ 107 Figure 6.3: Identification scheme. ................................................................................. 108 Figure 6.4: Allowable locations for; a) real, b) complex poles. .................................... 112 Figure 6.5: Search region for the Particle Swarm Optimization algorithm. .................. 113 Figure 6.6: Reference identification trajectory send to the drives. ................................ 118  xi  Figure 6.7: True and estimated FRFs for P-PI controlled drive system (simulation): a) tracking transfer function, b) disturbance transfer function. ......................................... 120 Figure 6.8: Parameter convergence of the PSO algorithm for P-PI controlled drive system. ........................................................................................................................... 121 Figure 6.9: Predicted and actual tracking performance of the P-PI controlled virtual feed drive system (simulation). ............................................................................................. 122 Figure 6.10: True and estimated FRFs for PID controlled drive system (simulation): a) tracking transfer function, b) disturbance transfer function. ......................................... 123 Figure 6.11: Predicted and actual tracking performance of the PID controlled virtual drive system (simulation). ............................................................................................. 124 Figure 6.12: Predicted and experimentally verified tracking performance of P-PI (a) and SMC (b) controlled ball screw drive: a) P-PI control results, b) SMC control results. . 125 Figure 6.13: Predicted and actual tracking Performance of the P-PI controlled virtual 5axis machine tool (Simulation). ..................................................................................... 127  xii  Nomenclature  X , Y , Z , A, C ,( B)  Five-axis CNC machine tool axis variables Five-axis CNC machine tool axis position, x,y,z  x, y, z , a, c,(b)  [mm], a,c,(b) [rad]. Path displacement along the spline tool-path s  [mm] Tangential velocity (feed), acceleration and jerk s, s , s  profiles as a function of the path displacement along the path.  fi  Feed at B-spline control points Tool tip position vector and scalar components  P = [ Px Py Pz ]T  [mm] Unit tool axis orientation vector and its principal  O = [Oi O j Ok ]T  components in x,y,z directions  R = [ Px , Py , Pz , Oi , O j , Ok ]  T  Q = [ x, y, z , a, c,(b)]  T  Tool motion interpolation vector function and its scalar components (in the workpiece coordinates) Axis position interpolation vector function and its five scalar components  Q5×1 , Q5×1 , Q5×1 Qs = [ xs , ys , zs , as , cs ]T , Qss = [ xss , yss , zss , ass , css ]T , Qsss = [ xsss , ysss , zsss , asss , csss ]T  Vectors containing the axis velocity, acceleration and jerk profiles Vectors containing the first, second and third derivatives of axis positions with respect to s  xiii  u  Spline parameter  u  Knot vector of the B-spline tool-path.  x = [ Px , Py , Pz , a, c]T  Tool pose vector  x ref = [ Px , ref , Py , ref , Pz , ref , aref , cref ]T  Reference tool pose vector  e = [ePx , ePy , ePz , ea , ec ]T  Tool pose tracking error vector in workpiece frame  eF = [et , en , eb , ea , ec ]T  Tracking error vector in the Frenet Frame  eR  Rotary drive tracking error vector  eo  Tool orientation tracking vector in spherical coordinates  F  Frenet frame transformation matrix  J , Jo  Jacobian matrix, orientation jacobian  ε  Contour error vector in cartesian coordinates  εo  Contour error vector in spherical coordinates  εR  Contour error vector in rotary drive coordinates  ω  Angular velocity of the tool axis  v  Velocity vector of the drives  CI ,CP ,CD  Integral, proportional and derivative gains  S  Sliding surface  Ks  Diagonal feedback gain matrix  V  Lyapunov function  xiv  d̂  Estimated disturbance  κ  Diagonal gain matrix  ζ , ωn  Damping ratio and natural frequency  W  Diagonal weight matrix  σ i = [σ i ,1 ,σ i ,2 ,…σ i , D ]T  Optimization particles  v i = [vi ,1 , vi ,2 ,… vi , D ]T  Velocity vector of the particles  CNC  Computer numerical control  CAD  Computer aided drawing  CAM  Computer aided manufacturing  B-spline  Bezier spline  NURBS  Non-uniform rational B-spline  PI  Proportional integral controller  PID  Proportional integral derivative controller  SMC  Sliding mode controller  SISO  Single-input-single-output  MIMO  Multi-input-multi-output  PSO  Particle swarm optimization  LS  Least squares  xv  Acknowledgments I would like to express my sincere gratitude to my research supervisor Dr. Yusuf Altintas for his valuable instruction, guidance, and support which he has provided throughout my graduate studies at the Manufacturing Automation Laboratory. I wish to thank my colleagues in the Manufacturing Automation Laboratory for sharing their knowledge and experience with me. I particularly feel luckily to gain such an exceptional friend, Doruk. He was with me especially during the tough times and made my life colourful and enjoyable. Finally, I am deeply grateful to my beloved family, my mother Serap and my father Necip for their love, encouragement, endless support and patience they have provided me throughout my entire life and during my abroad studies. I dedicate this thesis to my dear mother, Serap.  xvi  1. Introduction The ongoing and increasing demands for productivity and quality improvements in manufacturing processes have focused the attention of the machine tool community on high speed machining (HSM). HSM requires multi-axis machine tools to have high feedrate and acceleration capabilities and still maintain micron positioning accuracy. At the same time, part geometries have become increasingly complex. Free-form sculptured surfaces are widely used in die and mold machining, especially in automotive and aerospace industries where manufacturers are requiring high speed machining of parts. High speed machining of free-form surfaces with continuously changing curvatures and deep cavities can only be performed on the recently developed 5-axis computer numerical controlled (CNC) machines. The multi-axis machine tools have a non-orthogonal kinematic structure, and accommodate the continuous change of the tool orientation that is necessary to follow complex surface contours. Achieving the desired high speed feed motion accurately on 5-axis machine tools requires a significant amount of effort to be  Figure 1.1: Surface finish errors during 5-axis machining.  1  Chapter 1: Introduction  dedicated to motion planning and control law development. A surface finish error during a typical 5-axis machining operation is illustrated in Figure 1.1. The goal is to keep the actual tool position on the desired tool-path at all times, which satisfies the tolerance of the part being machined. In practice, the tool motion deviates from the desired trajectory due to the limited bandwidth of the servo drives, as well as disturbances originating from cutting forces and guideway friction. Each axis tracks its reference position command individually with a tracking error (ex , ey ,....) . As a result, the actual toolpath exhibits a geometric deviation from the reference path, represent the tool tip error, ε , and tool orientation error, ε θ , in Figure 1.1. The most commonly used method used to decrease the contour error is to increase the axis servo bandwidth. However, the control bandwidth can only be increased until the unmodeled dynamics in the drive system start to cause instabilities. When tracking a line segment using the Cartesian axis at constant speed, the contour error remains constant and linearly proportional to the axis tracking errors. Therefore, any improvement in the tracking bandwidth pushes the tool closer to the reference tool-path. On the other hand, in case of tracking a non-linear spline trajectory on a 5-axis machine tool, the linear relationship between the contour and the individual joint tracking errors is nonlinear. Because of the non-orthogonal kinematic configuration, the contribution of each axis’ tracking error varies along the tool-path, and small tracking errors from rotary drives may induce large tool deviations. Hence, in order to design an accurate contour controller for 5-axis machine tools, the contribution of individual axis tracking errors to the overall contour error must be identified, and the incorporation of the 5-axis machine tool kinematics into the servo controller design becomes essential. 2  Chapter 1: Introduction  Figure 1.2: Application of high speed 5-axis machining in aerospace parts, such as impeller and compressor blades.  Spline tool-paths have recently gained importance for delivering the desired feed motion smoothly and accurately during complex sculptured surface machining processes (Figure 1.2). The feed profile along a spline tool-path should satisfy particular requirements for HSM including: maximum smoothness for better tracking performance, and minimum cycle time to increase productivity. For instance, selecting the highest cruise velocity along the toolpath is ideal for productivity; however, any discontinuities, or sharp changes in the spline curvature will appear in the axis kinematic profiles as high frequency spikes. As a result, tracking performance will be degraded, and, if the axis kinematic limits are violated, severe contour errors will occur. In general practice, tangential feedrate is conservatively selected based on the kinematic limits of the drives. However, this approach compromises the minimum cycle time objective. The tangential 3  Chapter 1: Introduction  feedrate should be scheduled smoothly along the tool-path. By increasing the feed at straight sections, the overall cycle time is minimized while still respecting the machine tool’s velocity, acceleration, and jerk limitations, keeping the tracking accuracy acceptable. Hence, scheduling the optimal feedrate profile along spline tool-paths for minimum time is not a trivial task on 5-axis machine tools. However, if realized in a practical manner, full physical advantage of the machine is employed maximizing the potential for increasing the process productivity. 5-Axis machine tools are mainly used in machining dies and molds that have smooth surfaces. During following such a smooth contour, all the axes of the machine tool are in motion. The major problems in achieving accurate high speed contour machining on 5-axis machine tools, namely: smooth trajectory generation, feedrate optimization, and precision contour controller design have been tackled in this thesis. An efficient feedrate scheduling method has been developed for 5-axis machine tools executing spline tool-paths. The developed algorithms minimize the machining cycle time while adhering to the velocity, acceleration and jerk limits of the drives, which helps to preserve high speed contouring accuracy while executing an optimal feed motion. An alternative control philosophy is then introduced for improving the contouring accuracy of 5-axis machine tools at high speeds. Rather than tracking individual drives, the minimization of contouring error is considered as the prime objective in the control law. Two types of contour errors, namely the tool tip error and the tool orientation error are defined, and analytical models are developed to estimate these errors in real time. Utilizing the machine kinematics and the contour error models, a novel multiinput-multi-output (MIMO) continuous time, integral Sliding Mode Contour controller is  4  Chapter 1: Introduction  introduced. This controller is more robust against disturbances and modeling errors as compared to the widely used feedback controllers. Effectiveness of the proposed control strategy is demonstrated experimentally on the open architecture 5-axis CNC machine tool shown in Figure 1.3. Fadal VMS 2023 3-axis vertical Cartesian machine tool has been retrofitted into a 5-axis machine tool by mounting Nikken tilting-rotary drive system, i.e. a trunnion table. The machine table translates in Cartesian X and Y directions and carries the rotary-tilting drive assembly, as shown in Figure 1.3. The tilting axis is called A axis and introduces rotation around the X direction. The spindle axis translates only in the Z direction. The rotary axis of the trunnion table is called C axis, and it introduces rotation around the Z axis of the machine tool. PWM current amplifiers are used to generate currents to the motors that deliver corresponding torque to 5 of the machine axes. On this experimental setup, axis amplifiers are set to operate in torque mode. Hence, an external voltage send to amplifiers generates corresponding torque with respect to the amplifier’s current gain and motor’s torque constant. Real time control of axis position is then performed as follows: Labview® real time software is used to target a Personal Computer(PC) equipped with National Instruments data acquisition cards to encode digital rotary encoder signal from machine tool’s axes and to generate analog control signal delivered to the amplifiers. Using Labview® real time software, mathematical computations can be performed, and various control algorithms can be implemented to run at desired sampling rates. As shown in Figure 1.3, proportional-integral-derivative (PID) or sliding mode controllers (SMC) can be programmed to control position of the 5 axes in real time. Further details on drive specifications are presented in following chapters of the thesis.  5  Chapter 1: Introduction -Workstation PC Read NC-Program Ethernet  Z  Decode NC-Program Generate Trajectory linear, circular, spline Position Control PID, ZPECT, SMC, Fric.Comp  C Y  PCI Bus  A  Encoder Feedback Motor Current Command  - FPGA Board (40kHz)  Labview Real Time  -Real Time Control PC (1kHz)  Read ADC Quadrature Encoder Decoding Write DAC  Figure 1.3: Application of high speed 5-axis machining in automotive and aerospace parts, dies and molds.  The thesis is organized as follows: Related literature is reviewed in Chapter 2, followed by general kinematic model of 5-axis machines and the feedrate scheduling method in Chapter 3. The contour error models are presented in Chapter 4 and the precision contour controller design in Chapter 5. In Chapter 6, a closed loop drive identification method is introduced, and conclusions with possible future research directions are highlighted in Chapter 7.  6  2. Literature Review 2.1  Introduction Five-axis computer numerical controlled (CNC) machine tools have been used  widely in machining parts with complex sculptured surfaces such as dies, molds and aerospace parts. The ultimate goal is to maintain the desired dimensional accuracy in high speed 5-axis machining applications. During 5-axis machining, the dimensional accuracy of the part is affected mainly by the tool positioning errors corresponding to the feed drive system tracking accuracy. The servo system must possess high closed loop bandwidth in order to accurately track the rapidly varying reference tool position commands. Furthermore, due to the coupled nonlinear kinematics of the 5-axis machine tool, small positioning errors of the drives may cause excessive deviation of the tool tip from the desired trajectory. Hence, design of a centralized controller can establish coordination between the axes in order to achieve the desired contouring accuracy. As well, the reference tool trajectory must be smooth in order to avoid exciting the structural dynamics of the drive system, and thus avoid excessive contouring errors caused by motion command demands beyond the bandwidth of the axes servos. Therefore, smooth time optimal trajectory generation and accurate motion control are the two essential components for achieving contouring accuracy during 5-axis machining that are studied in this thesis. In this chapter, previous research in literature is reviewed in relation to the intended contributions in this thesis in the following areas: Feedrate optimization for multi-axis machine tools in Chapter 3, modeling of contour errors in Chapter 4, design of contour controllers in Chapter 5 and Modeling and identification of feed drives in Chapter 6. 7  Chapter 2: Literature Review  2.2  Feed Optimization for Multi-Axis Machine Tools Contouring tool-paths for 5-axis machining are generated by computer aided de-  sign/manufacturing (CAD/CAM) systems in cubic or non-uniform rational Bezier (NURB) spline format, which can be processed by modern CNC systems. Although a constant feed is programmed in the NC block, the velocity, acceleration and jerk profiles on all five drives may vary continuously as a function of path curvature and the inverse kinematics of the machine tool. If the velocity, acceleration and jerk of each drive exceed its physical saturation limits, the linear operation of the servo control is violated, leading to severe marks on the surface or instability of the controller. Conservative, constant feed speeds are computed by the process planner so that the axis limits are never violated; this may lead to lengthy machining times. Thus, the challenge is to generate smooth trajectories that traverse the spline tool-path in minimum time without violating the physical limitations of the machine’s drives. The identification of optimal feed profiles without exceeding the saturation limits of the actuators is a nontrivial optimization problem, and studied mainly by robotics researchers. Bobrow et al. [1] and Shin and McKay [2] were the first to solve the minimum time control problem. They considered the trajectory generation as a dynamic system with two states, i.e. path displacement, s (t ) , and velocity, s (t ) , and proved that the actuator torque constraints limit the velocity along the tool-path. They switched the path acceleration, s (t ) , between its maximum and minimum limits at computed switching points to generate a bang-bang minimum time trajectory. Shiller and Lu [3],[4] developed a reliable search procedure to find the switching points. Other methods, such  8  Chapter 2: Literature Review  as Dynamic Programming [5] or Pontryagin’s minimum principle [6] have also been applied to solve the optimal control problem more efficiently. The machine tool literature has implemented some of those approaches in the Cartesian machining of spline tool-paths. Smith et al. [7] used the acceleration limits to generate the velocity limiting curve, and implemented a similar approach to Shiller and Lu to find the optimal feed-rate profile along spline tool-paths for a two-axis Cartesian case. Renton and Elbestawi [8] outlined a computationally efficient two-pass algorithm to solve the minimum time feed optimization problem. The algorithm works by scanning through the trajectory in the forward and reverse directions. Dong and Stori [9] have also included a series of machine tool capability constraints, and presented a two-pass structure. Unfortunately, such trajectories possess discontinuous acceleration and torque profiles, defeating the essential purpose of using a smooth tool-path and leading to inaccurate contouring in high speed machining. To achieve smooth trajectories that enhance the tracking performance, the jerk limits of the drives have been considered as constraints at the expense of increased computational complexity. These approaches require iterative solutions as opposed to optimal control formulations [10]. For example, Piazzi and Visioli [11] used axis jerk; Constantinescu and Croft [12] used the torque rate constraints and iteratively optimized the spline trajectories for minimum time motion of robotic manipulators. Jerk limited trajectories have also been adapted for machine tools, and computationally efficient methods have always been favored for implementation on real time CNCs. A practical feed modulation solution was proposed by Weck et al. [13] for multi-axis machine tools following quintic spline tool-paths. They considered velocity and acceleration limits of  9  Chapter 2: Literature Review  the machine tool axis to determine a conservative feed for each spline segment of the tool-path. The discrete feeds are connected with jerk limited cubic acceleration trajectory profile without considering the jerk limits of the drives. Altintas and Erkorkmaz [14] later defined the displacement profile as a minimum jerk quintic spline of time along the tool-path, and optimized the travel time of each segment iteratively. They considered velocity, acceleration, and the jerk limits of the drives for a smoother motion. Although their approach is extensible to any type of multi-axis machine tool, the number of constraints to be considered increases dramatically with the number of axes. For instance, 14 constraints are used in the two-axis case: this increased to 32 for 5-axis machines. In this thesis, a jerk continuous feedrate optimization technique is introduced for minimizing the cycle time in 5-axis machining, while preserving the motion smoothness and tracking accuracy for traveling along spline tool-paths. The feedrate optimization technique developed for 5-axis machining has been published in [15]. 2.3  Modeling of Contouring Errors in Machine Tools Each drive on the machine tool is subject to unavoidable tracking errors between the  commanded and actual positions due to the servo controller dynamics. These tracking errors are kinematically transformed to the tool tip, resulting in contouring errors between the commanded tool-path and the actual path delivered by the CNC unit. In praxis, dedicated control laws of each drive try to minimize the individual axis tracking errors ( ex , ey , ez ...) . As a consequence of the nonlinear kinematics of the 5-axis machine  tool, small tracking errors on rotary axes may result in larger deviations of the tool tip  10  Chapter 2: Literature Review  from the reference tool-path relative to the workpiece. In addition, when one axis is subject to a disturbance, other axes will perform as if the disturbed axis is functioning normally. This results in a loss of coordination and indegradation of the overall contouring accuracy.  Reference Position  Reference Position  y Co nt ou r  y  ey2  ε2  ex2  ε θ  Actual Tool Position  D  es  ire  d  ey ex  ε1  ey1  ex1  x  x  a)  b)  Figure 2.1: Definition of contour errors in two-axis Cartesian machining: a) contour error (linear tool-path), b) contour error(curved tool-path).  The contour error ( ε ) , which is defined as the orthogonal deviation from the desired tool-path [16] , is the actual measure of part accuracy. Figure 2.1 illustrates the relationship between contour error and axis tracking errors for simple linear and curved tool-paths. When following a linear tool-path (Figure 2.1a), the contour error ( ε ) can be expressed as a simple analytical function of the axis tracking errors, ex , ey , as: ε = −Cx ex + C y ey ⎫ ⎪ Cx = sin(θ) ⎬. ⎪ C y = cos(θ) ⎭  (2.1)  On the other hand, while machining curved tool-paths such as B-splines or NURBS, accurate computation of the contour errors becomes more challenging (Figure 2.1b). Koren et al. [17] used Equation (2.1) in estimating the contour errors in two-axis machining along simple linear tool-paths. They proposed the first cross coupling control 11  Chapter 2: Literature Review  (CCC) algorithm to reduce the normal deviation of the tool tip from the path. Later, Koren and Lo [18] extended contour error estimation to design a CCC algorithm for circular tool-paths. Erkorkmaz and Altintas [19] estimated contour error along arbitrary tool-paths by computing the Euclidian distance from the desired tool-path to the actual tool position in the vicinity of a number of interpolated points, and identified the reference point with the minimum deviation from the actual tool tip. The contour error vector was then defined to be normal to the vector between the identified reference point and the consecutive reference path points. As a result, the shortest vector normal to the desired contour was obtained, but the computationally intensive nature of the iterative solution proposed was undesirable for real-time control. Chiu and Tomizuka [20] developed an analytical contour error estimation procedure for two-axis machining of C2 continuous curved tool-paths. They reflected the tracking errors of the Cartesian axes on the tangent and normal directions of the tool-path, and considered the error component in the normal direction as the approximation of actual contour error. Later, Yeh and Hsu [21] defined the gains C x ( t ) , C y ( t ) in Equation (2.1) to vary as a function of time. Thus, they were also able to estimate contour errors for splines and other curved paths. The contour error approximation becomes inaccurate if the error in tangent direction is high. This occurs particularly during high speed machining of paths with high curvature. Peng and Chen [22] attacked this problem and modified previous approximations with addition of an extra term so that the over-cutting of the path is avoided in two-axis Cartesian motions. Apart from Cartesian contouring systems, Katz et al. [23] addressed the contouring problem on a non-orthogonal reconfigurable three-axis machine tool. They modeled the kinematics of the machine tool and designed time varying gains for Equa-  12  Chapter 2: Literature Review φ Actual Tool Orientation  Surface  ε  Actual Tool Tip Point  a)  b)  Figure 2.2: Definition of contour errors in 5-axis machining: a) tool tip contour error, b) tool orientation contour error.  tion (2.1) in order to estimate contour errors. Lin and Hu [24] used the kinematics of a 5axis machine tool and estimated contour errors of the tool tip as the difference between the reference and actual circle radii during simple circular interpolation. Later, Lo [25] designed coupled proportional-integral-derivative (PID) controllers and showed that minimizing the tracking errors of the tool tip in the workpiece coordinates results in better contouring performance. Recent literature has mainly addressed the contouring control problem for 3-axis Cartesian machining applications, where the contour error is defined as the norm of the translational deviation of the tool tip from the reference tool-path. However in 5-axis machining, the tool translates and rotates at the same time to follow the reference orientation. Thus, two types of contour errors are proposed in this thesis. The first type considers the normal deviation of tool tip from the reference path in Cartesian coordinates. This is defined as the tool tip contour error. The second contouring error is the deviation of the tool axis orientation from the reference orientation trajectory in spherical coordinates, called the tool orientation contour error (Figure 2.2). The contributions of the contour error models developed for the 5-axis machine tools are published in [25] and further discussed in Chapter 4.  13  Chapter 2: Literature Review  2.4  Contouring Controller Design Two major approaches have been adopted to reduce contouring errors in machine  tool literature. In the first approach, contour errors are reduced indirectly by attempting to reduce axis tracking errors. Traditional algorithms such as Proportional (P), Proportional-Integral (PI) and Proportional-Integral-Derivative (PID) are based on the feedback principle [27], [28]. Tomizuka [29] has developed a zero phase error tracking controller (ZPETC) that cancels the stable dynamics of the servo drive in a feed-forward fashion. The bandwidth of the overall system and thus, the tracking accuracy of the drives increases with ZPETC, provided that the drive model is accurate and does not vary with time [30], [31]. Recent efforts have been directed towards improving the bandwidth of the axes drives using sliding mode controllers that are more robust to changes in the drive dynamics. The general sliding mode controller (SMC) was first introduced by Utkin [32], and required switching around the sliding surface resulting in a discontinuous control law. To overcome this problem, Slotine and Li [33] proposed an adaptive sliding mode controller, which estimates and cancels various uncertainties that do not vanish at the equilibrium point. In parallel, Stepanenko et al. [34] noted that the transient response of the discontinuous SMCs could be improved by including the integral, position and derivative of tracking errors in the sliding surface design. Later, Altintas et al. [35] proposed a continuous sliding mode controller for accurate axis tracking control by considering only the rigid body dynamics of the ball screw drive. Their SMC design was based on penalizing the position and velocity errors of the axes, and demonstrated similar performance to the ZPETC, but with improved robustness to uncertainties in the drive dynamics.  14  Chapter 2: Literature Review  An improved method of controlling the machine tool feed drive system is to introduce coupling actions in the controller to maintain coordination along the desired contour. By introducing coupling effects among multiple axes, coordinated motion is achieved by either the “equal status” or the “master-slave” approach [36]. When the dynamics are significantly different among multiple axes, the controller designed by the “equal status” approach may saturate the axes of the slower actuator. In order to overcome this drawback, the “master-slave” approach is favored. This approach assigns the slowest axis as the master of the faster drive. Su et al. [37], [38] have developed an adaptive coordination controller for position synchronization of multiple axes. They defined the synchronization error as the differential position error among multiple motion axes, and penalized this error in the feedback loop. The second major approach in reducing contour errors attempts to estimate the contour errors in real time and generate control action against them. Koren [17] estimated the contour error in two-axis machines as a function of axis tracking errors and linear feed direction between consecutive path points. He reduced contour errors by injecting corresponding coupling command to the servos in order to push the actual tool position towards the desired tool-path; creating the Cross Coupled Controller (CCC) mentioned above. Later, Koren and Lo [18] used time varying coupling gains to implement CCC along circular paths. When the axis controllers minimize the tracking errors along a curved path, the contour error is increased, forcing the contour controller to act against this error. As a result, it is difficult to distinguish which control element dominates the final contouring result. The analysis hindered implementation of the CCC scheme in non-orthogonal machine tools. Erkorkmaz and Altintas [19] developed a numerical  15  Chapter 2: Literature Review  method to estimate the contour error for arbitrarily shaped tool-paths. They have implemented it in a CCC scheme together with feed-forward axis dynamics compensation and demonstrated improved contouring performance for Cartesian machining. Chiu and Tomizuka [40] used the coordinate transformation approach to directly design for the desired contour error dynamics. Using linear time varying PD regulators, the decoupled error dynamics in tangential and normal directions were stabilized. This approach demonstrated that contouring performance is improved by increasing closed loop bandwidth in the normal direction. However, the PD controller is not sufficiently robust enough and the contour error approximation may become inaccurate. Therefore, contouring accuracy degrades in high speed machining of paths with sharp curvatures. Peng and Chen [41] defined a geometric contouring index (CI) that improves error estimation on circular tool-paths, and designed a back stepping sliding mode controller in the normal direction to introduce robustness against friction. Chen et al. [42] later designed robust controllers in polar coordinates to establish contouring control for very simple non-circular tool-paths. By utilizing the kinematics of the machine tool and contour error models presented in this thesis, a multi-input-multi-output continuous time integral sliding mode contour controller is introduced for 5-axis machine tools; this controller is robust against disturbances and modeling errors. The effectiveness of the control strategy is compared against the conventionally used, axis based SMC and the contributions are presented in [43].  16  Chapter 2: Literature Review  2.5  Identification of Feed Drive Dynamics There has been extensive research in literature dedicated to building models of feed  drive systems. One of the basic models, proposed by Koren [44], considers only linear rigid body dynamics as illustrated in Figure 2.3. In this model, the controller generates the current command, u , which is amplified by the current amplifier constant, K a , to generate the armature current, i. The armature is then converted into actuation torque,  Tm , via the motor constant, Kt . Part of the actuation torque is consumed by disturbances (Td ) originating from nonlinear guideway friction and, possibly, the cutting process. The remaining torque actuates the drive system, and the linear rigid body model consists of an equivalent inertia, J, and the viscous friction, B, reflected by the actuator. Models have also been proposed to capture and integrate the nonlinear effect of friction in the feed drive. Armstrong et al. [45] have presented a very broad survey of the available techniques used to model and compensate friction in servo systems. They have proposed a seven parameter model which adequately captures the effect of pre-sliding displacement, static friction, and the full Stribeck curve describing how friction force changes with the relative sliding velocity between two contact surfaces. Later, Lee and Tomizuka [46] have applied the effect of pre-sliding displacement, static friction, and the full Stribeck curve describing how the friction force changes with the relative sliding velocity between two surfaces in contact. Later, Erkorkmaz and Altintas [47] applied simpler versions of this model to identify the friction dynamics in CNC drives.  17  Chapter 2: Literature Review  Figure 2.3: General feed drive model.  The main disadvantage of rigid body type models is that they fail to capture the effect of structural vibrations. Varanasi and Nayfeh [48] and Erkorkmaz and Kamalzadeh [49] have built finite element models and constructed frequency response experiments to identify the torsional and axial vibrations of ball screw drives. Backlash and motion loss in the nut interface have been identified by Kao et al. [50] and Cuttino et al. [51], with models of varying complexity. The volumetric and thermal errors, which influence the final tool positioning accuracy, were modeled by researchers at NIST in [52]. Upon development of models to represent the key dynamic behavior of the feed drive dynamics, open and closed loop identification methods have been proposed to fit the model parameters. Altintas and Erkorkmaz [47] have developed an open loop identification scheme for feed drive systems. They send a rich identification signal to the amplifier and measured the actual position of the axis in open loop. Later, linear least squares method [53] was used to fit the inertia, and friction parameters accurately to the rigid body model. Apart from the open loop identification, closed loop identification has been favored in the industry, since it does not interrupt the machine or the process. The use of Laguerre series expansion has been widely used in order to obtain reliable data  18  Chapter 2: Literature Review  from noisy measurements [54], [55], [56]. Ramirez et al. [57], [58] have also developed an algebraic framework for continuous-time linear systems identification in the presence of noise. However, those identification techniques require particular identification signals to be send to the system such as step, ramp or pseudo random binary sequence (PRBS) inputs. On a real CNC, only predefined smooth trajectory commands can be used. Erkorkmaz and Wilson [59],[60],[61] developed a rapid identification method to estimate the closed loop transfer function of CNC feed drives. They used linear motion commands to generate a reference identification signal and estimated close loop drive parameters. In this thesis, the framework developed by Erkorkmaz [60] has been utilized to estimate the closed loop dynamics of CNC feed drives. In order to guarantee the stability of the estimated model, closed loop pole locations are constrained, and a particle swarm optimization method has been developed to solve the constrained transfer function identification problem [62].  19  3. Feed Optimization for 5-Axis CNC Machine Tools with Drive Constraints 3.1  Introduction High speed 5-axis tool-paths for machining of dies and molds with sculptured sur-  faces are generated by CAD/CAM systems as cubic or NURB splines, which can be processed by modern CNC systems. A constant cutting feed is programmed for segments of the tool-path by the process planner. However, the velocity, acceleration and jerk on all five drives may continuously vary as a function of path curvature and the inverse kinematics of the machine tool. If the velocity, acceleration or jerk of each drive exceeds its physical saturation limits, the linear operation of the servo control is violated, leading to severe marks on the surface or instability of the controller. On the other hand, choosing conservative speeds increases overall cycle time and cuts back the productivity severely. In this chapter, a feedrate optimization technique is introduced for minimizing the cycle time required to traverse 5-axis tool-paths without violating the physical limits of the drives. The feed profile is defined in C2 continuous cubic B-spline format as a function of the arc displacement to provide a jerk continuous motion along the tool-path. Minimum cycle time is obtained by iteratively modulating the feed control points of the B-spline feed profile to maximize path velocity while respecting process and machine tool constraints. Long toolpaths are handled efficiently by applying a moving window technique. Hence, the proposed algorithm can be used either off-line, or can be integrated into the CNC executive for high speed contour machining operations where limited feedrate fluctuations are not detrimental to the manufacturing process such as rough and semi-finishing of dies and molds.  Chapter 3: Feed Optimization for 5-Axis CNC Machine Tools with Drive Constraints  Inverse Kinematics Transformation  PNs  Tool  PNp-1 o2  s  s1  + C  B +  P2  S3  P3 ds  Workpiece  dt  P1  P=P(s)  Zw  z  s2 S1  o1  +  o3  Tool  O=O(s)  q(s) = [x(s),y(s),z(s),A(s),C(s)]T (Machine Axis Motion)  R(s) = [P(s),O(s)]T (Cutter Motion)  PNp  ds = s : Tangential dt Feedrate  Yw  Table  x Xw Workpiece Coordinate System  y +  a)  +  Machine Coordinate System  b)  Figure 3.1: Tool-path and motion generation for 5-axis machine tools: a) tool motion in workpiece coordinates, b) motion generation on 5-axis machine tools.  Five-axis machine tools exhibit non-Cartesian, nonlinear kinematics, which require mapping of trajectories planned on the workpiece into reference axis position commands. The same mapping must be used in transforming the physical limits of the drive system as constraints on the tangential feedrate. Therefore, a general kinematic modeling technique for widely used 5-axis machine tools is first introduced in Section 3.2. The formulation of the optimization problem is presented in Section 3.3. Kinematic constrains are formulated in Section 3.4, and the solution is presented in Section 3.5. The algorithm is demonstrated with simulations and experiments on 5-axis flank milling of an impeller blade in Section 3.6, and the contributions [15] are subsequently summarized.  21  Chapter 3: Feed Optimization for 5-Axis CNC Machine Tools with Drive Constraints  3.2  General Kinematic Model of 5-Axis Machine Tools A typical 5-axis motion command, shown in Figure 3.1a, is given in the workpiece  coordinate system (WCS) as a sequence of discrete positions or in spline format of continuous cutter motion along the tool-path. The tool motion is defined by the three Cartesian coordinates of its tool center point (TCP), P = ⎡⎣ Px O = ⎡⎣Oi  tion vector of the cutter axis,  T  Pz ⎤⎦ , and the orienta-  Py  T  Ok ⎤⎦ , O = 1 . These coordinates are  Oj  concatenated into the 6-tuple, R = [ P O ] → ⎡⎣ Px T  Py  Pz  Oi  Oj  Ok ⎤⎦  T  ,  (3.1)  in the cutter location (CL) file. Five-axis machines are composed from three Cartesian ( X , Y , Z ) and two rotary ( AB, BC or AC ) drives. For a given tool position and orienta-  tion ( R ) , the corresponding physical axis reference position command, Q = [ x, y , z , a , c ] , T  (3.2)  is computed from the kinematic model of the machine tool. The transformation is known as the inverse kinematics [63], which maps the spatial cutter motion from WCS into the machine tool axis (joint) system (Figure 3.1b), namely, R →Q ,  (3.3)  and the mapping of the machine’s joint motion to the tool motion,  Q→R  22  (3.4)  Chapter 3: Feed Optimization for 5-Axis CNC Machine Tools with Drive Constraints is referred to as the forward kinematics transformation. Typical configurations of 5-axis machine tools can be divided into three basic types [64], [65]: (1) table-tilting (Figure 3.1b), with two rotations on the table; (2) spindle-tilting, with two rotations on the spindle, (3) table/spindle, with one rotation each on the table and the spindle. The generalized kinematics of 5-axis machine tools is constructed by modeling the machine as a set of links connected by the joints in an open chain. Assume that the Oi X iYi Zi and the Oi +1 X i +1Yi +1Zi +1 are coordinate systems attached to the links i and i+1, respectively and both links are part of the open chain. The relative position and orientation of the i+1th coordinate system (frame) with respect to the ith frame is expressed by a 4 × 4 homogeneous transformation matrix as:  H ii +1 = Trans(Liii +1 ) ⋅ Rot( N ,θ i )  (3.5)  ⎡ ⎢ I3×3 i Trans( Lii +1 ) = ⎢ ⎢ ⎢ ⎣⎢01×3  (3.6)  where  Liii +1, x ⎤ ⎥ Liii +1, y ⎥ Liii +1, z ⎥ ⎥ 1 ⎦⎥ 4×4  is a homogeneous translation matrix, and Ι3×3 ∈ℜ3×3 is an identity matrix.  Liii +1 = Liii +1, x i + Liii +1, y j + Liii +1, z k is the relative distance from the origin Oi to the origin  Oi +1 measured in the ith frame, as denoted by the superscript i. In order to simplify the representation, herein the superscript is omitted, and the relative displacement is always defined in the frame denoted by the first element of the subscript, such as:  Liii +1 = Lii +1 .  23  (3.7)  Chapter 3: Feed Optimization for 5-Axis CNC Machine Tools with Drive Constraints In Equation (3.5), N represents the axis of rotation, X i , Yi or Z i , where θi is the relative rotation; hence, the pure rotation matrix representing the current frame rotation of i+1 with respect the frame i around X i yields: 0 0 ⎡1 ⎢0 cos(θ ) − sin(θ ) i i Rot( X i ,θi ) = ⎢ ⎢0 sin(θi ) cos(θi ) ⎢ 0 0 ⎣0  0⎤ 0 ⎥⎥ 0⎥ ⎥ 1⎦ .  (3.8)  In order to describe the relative position and orientation of the cutting tool with respect to the workpiece, appropriate coordinate systems should be established. Figure 3.2 illustrates the placement of the coordinate systems for the table tilting 5-axis machine tool in Figure 3.1b. The coordinate systems for the workpiece and cutting tool are  Ow X wYw Z w and Ot X tYt Zt , respectively. A base coordinate system, Ob X bYb Z b is fixed on the machine bed. The coordinate frames Oa X aYa Z a and Oc X cYc Z c are attached to the primary and secondary rotary joints, namely the A and C drives. The A drive is the primary axis, and C drive is the secondary rotary axis, placed closer to the workpiece. Similarly, the coordinate systems OTx X TxYTx Z Tx , OTy X TyYTy ZTy and OTz X TzYTz ZTz are attached to the cartesian, X, Y, Z axes of the machine tool. Additional coordinate systems, O fw X fwY fw Z fw , O ft X ftY ft Z ft are assigned to model tilts or offsets between coordinate systems, such as fixtures placed between the workpiece and the table, any inclination between the rotary drives, or fixtures placed between the tool-holder and the spindle. Hence, by attaching coordinate systems both in the table and the spindle side, a generalized model can be developed to model kinematics of different machine tools that have rotary drives on the table and/or the spindle side.  24  Chapter 3: Feed Optimization for 5-Axis CNC Machine Tools with Drive Constraints Zt tool  t to  Zft  t tp  θft  Yt  Yft  Lft ,Tz  Zw Zc  Xt  workpiece  θc Zfw  Xc La,c  θa  Yw  YTz  Lfw,w  XTz θfw  La,fw  z  Yf1  Xfw  Ya Xa  Xft ZTz  Xw  Yc  Za  LTz,ft  Zb Yb  LTy,a  Xb  ZTz  ZTx  x  YTy  YTx  y XTy  XTx  Figure 3.2: Coordinate systems for modeling 5-axis machine tool kinematics.  3.2.1 Forward Kinematics Modeling The forward kinematics describes the motion of the tool in the WCS as a function of the joint positions Q = [ x, y, z, a, c] . The generic kinematic model for 5-axis machines T  relies on expressing the relative position and orientation of the tool coordinate system ( Ot X tYt Z t ) with respect to the workpiece coordinate system ( Ow X wYw Z w ) . Both, tool and the workpiece frames exhibit spatial motion with respect to the same base coordinate system, Ob X bYb Z b . The representation of the workpiece coordinate system in base frame  25  Chapter 3: Feed Optimization for 5-Axis CNC Machine Tools with Drive Constraints is obtained from Figure 3.2 by series multiplication of the homogeneous transformation matrices as:  H wb = Trans( x,0,0) ⋅ Trans( y,0,0) ⋅ Trans( LTy a , x , LTy a , y , LTy a , z )  ⋅Rot( X a ,θ a ) ⋅ Trans( La c , x , La c , y , La c , z ) ⋅Rot( Z c ,θ c ) ⋅ Trans( Lc fw, x , Lc fw, y , Lc fw, z )  (3.9)  ⋅Rot(Y fw ,θ f 1 ) ⋅ Trans( L fw w, x , L fw w, y , L fw w, z ) where θ a = a , θ c = c are rotations of the A and C drives, θ fw is the offset rotation of the workpiece fixture, and x, and y denote the relative translation of the X-Y table. In order to construct the generalized kinematic model, the tool frame must be represented with respect to the base frame similarly as: H tb = Trans( z ,0,0) ⋅ Trans( LTz ft , x , LTz ft , y , LTz ft , z ) ⋅Rot( Z ft ,θ ft ) ⋅ Trans( L ft t , x , L ft t , y , L ft t , z )  (3.10)  where z is the translation of the Z axis. The tool tip position ( t tp ) and the orientation  ( t ) are defined in the tool frame: t o  t tp = t tp , x i + t tp , y j + t tp , z k ⎪⎫ ⎬ t to = tot , x i + tot , y j + tot , z k ⎪⎭  (3.11)  and transformed into the workpiece frame by using Equations (3.9) and (3.10) as; ⎡ t wp ⎢ ⎢⎣ 1  ⎡ t tp t wo ⎤ b −1 b H H = ⎥ ( w) t ⎢ 0 ⎥⎦ ⎢⎣ 1  which can be expanded to:  26  t to ⎤ ⎥ 0 ⎥⎦ ,  (3.12)  Chapter 3: Feed Optimization for 5-Axis CNC Machine Tools with Drive Constraints  ⎡t wp ⎢ ⎢⎣ 1  t wo ⎤ ⎥ = Trans( Lw fw, x , Lw fw, y , Lw , fw, z ) ⋅ Rot(Y fw , −θ fw ) 0 ⎥⎦ ⋅Trans( L fw c , x , L f 1wc , y , L fw c , z ) ⋅ Rot( Z c , −θ c ) ⋅Trans( Lc a , x , Lc a , y , Lc a , z ) ⋅ Rot( X a , −θ a ) ⋅ Trans( La Ty , x , La Ty , y , La ,Ty , z )  (3.13)  ⋅Trans(− y,0,0) ⋅ Trans(− x,0,0) ⋅ Trans( z,0,0) ⋅Trans( LTz ft , x , LTz , ft , y , LTz ft , z ) ⋅ Rot( Z ft ,θ ft ) ⎡t tp ⋅Trans( L ft , t , x , L ft , t , y , L ft , t , z ) ⎢ ⎢⎣ 1  t to ⎤ ⎥ 0 ⎥⎦  .  Equation (3.13) is called the form-shaping function [66] of the 5-axis machine. Depending on the configuration, the cutting tool is generally aligned with one of the principle axis of the tool frame, namely X t , Yt or Zt . For the vertical 5-axis machining center illustrated in Figure 3.1b, the cutting tool is aligned with Z t , and its orientation is defined by the directional cosines in the augmented vector: t to = [ 0 0 1 0]  T  .  (3.14)  Utilizing the rotary drives of the 5-axis machine, the cutter orientation in the tool frame is aligned with the tool axis orientation in the workpiece coordinates by Equation (3.13): ⎡ t wo ⎤ ⎡t to ⎤ w b ⎢ ⎥ = Hb Ht ⎢ ⎥ ⎢⎣ 0 ⎥⎦ ⎢⎣ 0 ⎥⎦ = Trans( Lw fw, x , Lw fw, y , Lw fw, z ) ⋅ Rot(Y fw , −θ fw ) ⋅Trans( L fw c , x , L fw c , y , L fw c , z ) ⋅ Rot( Z c , −θ c ) ⋅Trans( Lc a , x , Lc a , y , Lc a , z ) ⋅ Rot( X a , −θ a ) ⋅Trans( La Ty , x , La Ty , y , La Ty , z ) ⋅Trans(− y,0,0) ⋅ Trans(− x,0,0) ⋅ Trans( z ,0,0) ⋅Trans( LTz ft , x , LTz ft , y , LTz ft , z ) ⋅ Rot( Z ft ,θ ft ) ⎡t to ⎤ ⋅Trans( L ft t , x , L ft t , y , L ft t , z ) ⎢ ⎥ ⎣⎢ 0 ⎦⎥  27  (3.15)  Chapter 3: Feed Optimization for 5-Axis CNC Machine Tools with Drive Constraints and excluding the translation components results in ⎡ t wo ⎤ ⎡t to ⎤ ⎢ ⎥ =Rot(Y fw , −θ fw ) ⋅ Rot( Z c , −θ c ) ⋅ Rot( X a , −θ a ) ⋅ Rot( Z ft ,θ ft ) ⎢ ⎥ ⎣⎢ 0 ⎦⎥ ⎣⎢ 0 ⎦⎥ . Assuming that  O fw X fwY fw Z fw and  O ft X ftY ft Z ft  (3.16)  are aligned with the previous  frames, θ fw = θ ft = 0 , Equation (3.16) is simplified to ⎡ t wo , i ⎤ ⎡ cos(θ ) sin(θ ) c c ⎢ w ⎥ ⎢ ⎢ t o , j ⎥ ⎢ − sin(θ c ) cos(θ c ) ⎢ w ⎥=⎢ 0 0 ⎢t o , k ⎥ ⎢ 0 ⎢ 0 ⎥ ⎣ 0 ⎣ ⎦  0 0 ⎤ ⎡1 0 0 ⎥ ⎢ 0 0 ⎥ ⎢ 0 cos(θ a ) sin(θ a ) 1 0 ⎥ ⎢ 0 − sin(θ a ) cos(θ a ) ⎥⎢ 0 1 ⎦ ⎣0 0 0  0⎤ ⎡0⎤ 0 ⎥⎥ ⎢⎢ 0 ⎥⎥ 0⎥ ⎢1 ⎥ ⎥⎢ ⎥ 1 ⎦ ⎣0⎦  (3.17) ,  which yields w ⎡ Oi ⎤ ⎡ t o , i ⎤ ⎡ sin(θ c )sin(θ a ) ⎤ ⎢O ⎥ ⎢ t w ⎥ ⎢ − cos(θ )sin(θ ) ⎥ c a ⎥ ⎢ j ⎥ ≡ ⎢ o,j ⎥ = ⎢ ⎢ ⎥ w ⎢Ok ⎥ t , k ⎢ ⎥ cos(θ a ) ⎢ ⎥ ⎢ o ⎥ ⎢ ⎥ 0 ⎣ 0 ⎦ ⎢⎣ 0 ⎥⎦ ⎣ ⎦ .  (3.18)  Equation (3.18) proves that the tool orientation is controlled purely by the rotary drives of the 5-axis machine tool. Similarly, the tool tip position ( t tp ) in the tool frame can be represented by the augmented vector as: t tp = ⎡⎣ t tp , x  t tp , y  T  t tp , z 1⎤⎦ ,  (3.19)  and transformed into the workpiece frame using the form-shaping function (Equation (3.13)) as:  28  Chapter 3: Feed Optimization for 5-Axis CNC Machine Tools with Drive Constraints ⎡ Px ⎤ ⎡ t pw, x ⎤ ⎢P ⎥ ⎢ w ⎥ ⎢ y ⎥ ≡ ⎢t p , y ⎥ = Trans( L w fw, x , Lw fw , y , Lw fw , z ) ⋅ Rot(Y fw ,0) ⎢ Pz ⎥ ⎢ t pw, z ⎥ ⎢ ⎥ ⎢ ⎥ ⎣1⎦ ⎣ 1 ⎦ ⋅Trans( L fw c , x , L fw c , y , L fw c , z ) ⋅ Rot( Z c , −θ c ) ⋅Trans( Lc a , x , Lc a , y , Lc a , z ) ⋅ Rot( X a , −θ a ) ⋅Trans( La Ty , x , La Ty , y , La Ty , z )  (3.20)  ⋅Trans(− y,0,0) ⋅ Trans(− x,0,0) ⋅ Trans( z,0,0) ⋅Trans( LTz ft , x , LTz ft , y , LTz ft , z ) ⋅ Rot( Z ft ,0) ⎡t t ⎤ ⋅Trans( L ft t , x , L ft t , y , L ft t , z ) ⎢ p ⎥ ⎣1⎦  .  Equation (3.20) reveals that the cutter location in WCS is actually controlled by all the five physical drives of a 5-axis machine tool. 3.2.2 Inverse Kinematics Solution For a desired tool axis orientation ( Oi , O j , Ok ) , the rotary drive positions, θ a and θ c are solved from Equation (3.18),  θ a = a = arccos(Ok ) ⎫⎪ ⎬ θc = c = −arctan2(Oi , O j ) ⎪⎭  (3.21)  where arctan2(Oi , O j ) returns angles in the range of −π ≤ θc ≤ π by examining the sign of both Oi and O j . Equation (3.20) is modified to derive the three Cartesian axis positions ( x, y, z ) ,  29  Chapter 3: Feed Optimization for 5-Axis CNC Machine Tools with Drive Constraints  ⎡P ⎤ ⎢ 1 ⎥ = Trans( Lw fw, x , Lw fw, y , Lw fw, z ) ⋅ Rot(Y fw ,0) ⎣ ⎦ ⋅Trans( L f 1 c , x , L f 1 c , y , L f 1 c , z ) ⋅ Rot( Z c , −θ c ) ⋅Trans( Lc a , x , Lc a , y , Lc a , z ) ⋅ Rot( X a , −θ a ) ⋅Trans( La Tx , x , La Tx , y , La Tx , z ) ⋅ diag (−1, −1,1,1)  (3.22)  ⋅Trans( x, y, z ) ⋅ Trans( LTz ft , x , LTz ft , y , LTz ft , z ) ⎡t tp ⎤ ⋅Rot( Z ft ,0) ⋅ Trans( L ft t , x , L ft t , y , L ft t , z ) ⎢ ⎥ ⎣1⎦ where the translations are stacked together, and diag ( −1, −1,1,1) is a 4 × 4 diagonal matrix. Defining K = [ x, y, z ] and assuming that θ fw = θ ft = 0 for this kinematic confiT  guration (see Figure 3.1b), Equation (3.22) is rewritten as:  ⎡P ⎤ ⎢ 1 ⎥ = Trans( Lw fw, x , Lw fw, y , Lw fw, z ) ⋅ Trans( L fwc , x , L fwc , y , L fwc , z ) ⎣ ⎦ ⋅Rot( Z c , −θ c ) ⋅ Trans( Lc a , x , Lc a , y , Lc a , z ) ⋅ Rot( X a , −θ a ) ⋅Trans( La ,Ty , x , La ,Ty , y , La ,Ty , z ) ⋅ diag (−1, −1,1,1)  (3.23)  ⎡ t tp ⎤ ⎪⎫ ⎪⎧ ⎡K ⎤ ⋅ ⎨ ⎢ ⎥ + Trans( LTz ft , x , LTz ft , y , LTz ft , z ) ⋅ Trans( L ft t , x , L ft t , y , L ft t , z ) ⎢ ⎥ ⎬ ⎣ 1 ⎦ ⎭⎪ , ⎩⎪ ⎣ 1 ⎦ and the Cartesian axis position parameters ( K ) are obtained as: ⎡K ⎤ ⎢ 1 ⎥ = {Trans( Lw fw, x , Lw fw, y , Lw fw, z ) ⎣ ⎦ ⋅Trans( L fwc , x , L fwc , y , L fwc , z ) ⋅ Rot( Z c , −θ c ) ⋅Trans( Lc a , x , Lc a , y , Lc a , z ) ⋅ Rot( X a , −θ a ) ⎡P ⎤ ⋅Trans( LaTy , x , LaTy , y , LaTy , z ) ⋅ diag (−1, −1,1,1)}−1 ⎢ ⎥ ⎣1⎦ ⎡t t ⎤ . −Trans( LTz ft , x , LTz ft , y , LTz ft , z ) ⋅ Trans( L ft t , x , L ft t , y , L ft t , z ) ⎢ p ⎥ ⎣1⎦  30  (3.24)  Chapter 3: Feed Optimization for 5-Axis CNC Machine Tools with Drive Constraints Hence, for a given tool motion data R = ⎡⎣ Px  Py  Pz  Ox  Oy  T  Oz ⎤⎦ , Equation (3.24)  combined with the rotary drive angle solutions from Equation (3.21) represent the analytical inverse kinematic solution of the table-tilting 5-axis machine tool. 3.3  Minimum Time Feed optimization Problem In order to continuously interpolate the intermediate cutter motion, the sequence of  N p discrete tool commands ( R ) are fitted to a cubic, quintic, NURB or B-Spline path [67] with a total length of S Σ =  N p −1  ∑S k =1  k  as shown in Figure 3.1a. The exact path length,  S k , between the adjacent knots is approximated by the arc length of the parameterized splined tool-path, [68]. Tool position is expressed as a function of path arc length, s , as:  31  Chapter 3: Feed Optimization for 5-Axis CNC Machine Tools with Drive Constraints  Figure 3.3: Tangential feed, acceleration and jerk profiles.  R ( s) = [ Px ( s), Py ( s), Pz ( s), Oi ( s), O j ( s), Ok ( s )]T ,  (3.25)  and transformed into axis drive positions by the inverse kinematics model presented in Section 3.2.2 (Equations (3.21) and (3.24)) as,  Q( s) = [ x( s ), y ( s ), z ( s), a( s ), c( s )]T  .  (3.26)  The velocity (Q5×1 ) , acceleration (Q5×1 ) and jerk (Q5×1 ) profiles of each drive are derived as,  32  Chapter 3: Feed Optimization for 5-Axis CNC Machine Tools with Drive Constraints  ⎫ ⎪ Q( s ) = Qss ( s ) s 2 ( s ) + Qs ( s ) s ( s) ⎬ ⎪ 3 Q( s ) = Qsss ( s ) s ( s ) + 3Qss ( s) s( s) s ( s) + Qs ( s ) s ( s) ⎭ ,  (3.27)  dQ ( s ) d 2Q ( s ) d 3Q ( s ) ⎫ Qs (s) = , Q ss ( s ) = , Q sss ( s ) = ⎬ ds ds 2 ds 3 ⎭  (3.28)  Q( s ) = Q s ( s ) s ( s )  where,  are the partial derivatives of axis positions with respect to the arc displacement ( s ) computed analytically or numerically [69]. The derivatives, s = ds / dt , s = d 2 s / dt 2 and  s = d 3 s / dt 3 are the tangential feed, acceleration and jerk profiles, s = s( s) s ( s) =  ds ( s ) ds ds dt  s ( s) =  d s ( s ) ds ds dt  ⎫ ⎪ ds ( s ) ⎪⎪ = s(s) ds ⎬ 2 2 ⎪ d s(s) 2 ⎛ ds ( s ) ⎞ = s ( s) + ⎜ ⎟ s( s) ⎪ ds 2 ⎪⎭ , ⎝ ds ⎠  (3.29)  defined along the tool-path as shown in Figure 3.3. Equation (3.27) implies that for a  ( )  ( )  ( )  given tool-path, the axis kinematic profiles, velocity Q , acceleration Q and jerk Q are controlled by the tangential kinematics of the trajectory ( s, s , s ) .  The objective of feed optimization is to minimize 5-axis machining cycle time by scheduling the feed, s = s( s) , along the path displacement in such a way that the constraints are not violated. The instantaneous feed along the path is s = ds / dt ; equivalently, the differential time ( dt ) to travel along infinitesimal path segment ( ds ) is  dt = ds / s . The feed optimization problem is defined as the minimization of total travel  33  Chapter 3: Feed Optimization for 5-Axis CNC Machine Tools with Drive Constraints time, TΣ , along the entire path, SΣ , while respecting a set of physical limits, C , of the machine and the process: SΣ  min(TΣ ) = min ∫ s  0  ds subject to {s, s , s } ≤ C {Axis Limits} for 0 ≤ s ≤ SΣ . (3.30) s(s)  An arc length parameterized cubic B-spline is proposed in this work to represent a jerk continuous (C 3 ) feed profile as a function of path position as:  s( s) = N 0,3 ( s ) ⋅ f 0 + N1,3 ( s ) ⋅ f1 + … + N n −1,3 ( s ) ⋅ f n −1  =  n −1  ∑ N (s) f i =0  i ,3  i  (3.31)  where fi , (i = 0,1...n − 1) are the n number of feed control points fixed along the path length s p = [ s0p , s1p ,..., snp−1 ] , as shown in Figure 3.3. The nominal feed speeds are assigned to the control points are interpolated by a set of cubic blending functions  N i ,3 (s ) to construct the B-spline feed profile along the tool-path. By increasing the nominal feedrate assigned to a control point, f i , the path velocity in the vicinity of sip is increased, and the entire feed profile can be optimized by modulating all the control points. Blending functions are computed discretely through evaluation of the known recurrence formula [70], ⎧1 if ui ≤ u ≤ ui +1 N i ,0 ( u ) = ⎨ ⎩0 otherwise. u − ui u −u Ni,k (u ) = N i , k −1 ( u ) + i +1 N i +1, k −1 ( u ) ui +1 − ui ui + 2 − ui +1  where u ∈ [ 0,1] is the normalized path parameter computed as,  34  ⎫ ⎪ ⎪ ⎬ , k = 1, 2,3. ⎪ ⎪⎭ ,  (3.32)  Chapter 3: Feed Optimization for 5-Axis CNC Machine Tools with Drive Constraints  u ≅ s⋅  1 . SΣ  (3.33)  The vector u parameterizes the feed profile, computed through uniformly distributing n-  2 parameters along the path as: u = [0 u1 u2 ... 1] = [0 ∆s 2∆s ... S Σ ] ⋅ n-2 points  1 S , where ∆s = Σ . (3.34) SΣ n−3  In order to force the feed profile to pass through the initial and the final feed constraints  s = 0, f 0 = f init and s = S Σ , f n −1 = f final , the first and last entries are repeated yielding the augmented parameter vector: u = [0...0 ui  ui +1 ... 1...1] .  4  (3.35)  4  The 1st and 2nd derivatives of the feed profile are obtained from Equation (3.31) and (3.33) as, n −1 ⎛ dN ( u ) ⎞ ds ( u ) dN 0,3 ( u ) dN n −1,3 ( u ) = ⋅ f0 + … + ⋅ f n −1 = ∑ ⎜ i ,3 fi ⎟ du du du du i =0 ⎝ ⎠  ⎫ ⎪ ⎪ ⎬ (3.36) 2 2 2 n −1 ⎛ d N n −1,3 ( u ) d N i ,3 ( u ) ⎞ ⎪ d 2 s(u ) d N 0,3 ( u ) = ⋅ f0 + … + ⋅ f n −1 = ∑ ⎜ s (u ) = fi ⎟ ⎪ du 2 du 2 du 2 du 2 i =0 ⎝ ⎠⎭ s (u ) =  and the derivatives of the blending functions are evaluated through repeated differentiation, ⎛ d (k-1) N i,2 ( u ) du (k-1) d (k-1) N i +1,2 ( u ) du (k-1) ⎞ d (k) N i,3 ( u ) = − 3 ⎜ ⎟ , k = 1, 2 . du (k) ui + 3 − ui ui + 4 − ui +1 ⎝ ⎠  (3.37)  Hence, the position dependent tangential, acceleration and jerk profiles are obtained by de-normalizing Equation (3.36) using Equation (3.33),  35  Chapter 3: Feed Optimization for 5-Axis CNC Machine Tools with Drive Constraints ⎫ ⎪ ⎪⎪ 2⎬ ⎛⎛ 1 ⎞ ⎛ ⎞ ⎪ ds (u ) ⎞ + ⎜ ⎜ ⎟ ⋅ ⎜ s (u ) ⎟ ⎪ ⎟ ⎜ ⎝ SΣ ⎠ ⎝ ⎟ d u ⎠ u = s SΣ ⎠ ⎪ ⎝ ⎭.  ⎛ 1 ⎞⎛ ds (u ) ⎞ s ( s ) = ⎜ ⎟⎜ s (u ) ⎟ du ⎠ u = s SΣ ⎝ SΣ ⎠ ⎝ ⎛ 1 ⎞ s (s) = ⎜ ⎟ ⎝ SΣ ⎠  3.4  2  ⎛ d 2 s (u ) ⎞ ⋅ ⎜ s 2 (u ) ⎟ du 2 ⎠ u = s S ⎝ Σ  (3.38)  Kinematic Constraints  The user commands the tool to maintain the feed along the tool-path in order to preserve the allowed chip load on the tool, i.e., s ≤ feed . However, as the curvature of the path changes, the commanded path velocity, the feed, may violate the speed, acceleration and jerk limits of active drives on the 5-axis machine tool. The feed must be constrained as follows to avoid the violation of axis limits. The following subsection addresses those constraints. 3.4.1 Velocity Constraints  The velocities of the five drives as given in Equation (3.27), must not exceed their T  saturation limits, ⎡⎣ vx ,max v y ,max vz ,max va ,max vc ,max ⎤⎦ , for a 5-axis machine tool traveling along a curved tool-path ( 0 ≤ s ≤ S Σ ),  ⎡1⎤ ⎡ xs ( s ) ⎢1⎥ ⎢ y ( s ) ⎢⎥ ⎢ s − ⎢1⎥ ≤ ⎢ zs ( s) ⎢⎥ ⎢ ⎢1⎥ ⎢ as ( s ) ⎢⎣1⎥⎦ ⎢⎣ cs ( s)  vx , m ax ⎤ ⎡1⎤ ⎥ ⎢1⎥ v y ,max ⎥ ⎢⎥ vz ,max ⎥ s ( s) ≤ ⎢1⎥ ⎥ ⎢⎥ va ,max ⎥ ⎢1⎥ ⎥ ⎢⎣1⎥⎦ vc ,max ⎦  Qs  (3.39)  .  The path velocity is positive s ( s ) ≥ 0 , and using the normalized partial derivatives,  36  Chapter 3: Feed Optimization for 5-Axis CNC Machine Tools with Drive Constraints ⎡ x (s) y ( s) z (s) a ( s) c ( s) ⎤ Q vs ( s )5×1 = ⎢ s , s , s , s , s ⎥ ⎣⎢ vx ,max v y ,max vz ,max va ,max vc ,max ⎦⎥  T  (3.40)  the axis velocities are constrained, to satisfy Qs,iv ( s ) ⋅ s( s) − 1 ≤ 0, i = 1,2...5 .  (3.41)  The absolute values of the partial derivatives of the axis positions  (Q  v s,i  (s)  )  are ex-  pressed as scalar functions of the path length ( s ) ; thus they are evaluated from the specified path geometry as shown in Figure 3.1a. The minimum of allowable feeds ( sV ) , computed from Equation (3.41) satisfies the velocity  ( ⎡⎣v  x ,max  vy,max vz ,max va,max vc,max ⎤⎦  T  )  constraints of all five drives:  ⎧⎪ 1 ⎫⎪ 1 1 = v sV ,max ( s) = min ⎨ v ⎬= v i =1,2...5 Qs ,max Qs,i ( s ) ⎪⎩ Qs,i ( s) ⎪⎭ imax =1,2...5  {  }  (3.42) .  It is evident from Equations (3.39) and (3.42) that the drive for which has the maximum first derivative of its displacement is normalized with its velocity limit, determines the allowable feed along the path ( s ) . Equation (3.42) may also be expressed in a single velocity inequality as: CV ( s) = Qsv,max s( s) − 1 ≤ 0 .  (3.43)  3.4.2 Acceleration Constraints  Either the torque or the equivalent acceleration at each drive must be constrained to avoid actuator saturation limits. If the limits of five drive accelerations are specified as  37  Chapter 3: Feed Optimization for 5-Axis CNC Machine Tools with Drive Constraints ⎡⎣ a x ,max a y ,max a z ,max aa ,max ac ,max ⎤⎦ , the feed ( s ) must be constrained according to Equation T  (3.27) as,  ⎡ ax ,max ⎤ ⎡ xss ( s) ⎤ ⎡ ax ,max ⎤ ⎡ xs ( s) ⎤ ⎥ ⎢a ⎥ ⎢ ⎢a ⎥ ⎢ y ( s) ⎥ ⎢ y ,max ⎥ ⎢ yss ( s) ⎥ ⎢ y ,max ⎥ ⎢ s ⎥ − ⎢ az ,max ⎥ ≤ ⎢ zss ( s) ⎥ s 2 ( s) + ⎢ zs ( s) ⎥ s ( s ) ≤ ⎢ az ,max ⎥ ⎥ ⎢ ⎥ ⎢ ⎢ ⎥ ⎢ ⎥ ⎢ aa ,max ⎥ ⎢ aa ,max ⎥ ⎢ ass ( s) ⎥ ⎢ as ( s ) ⎥ ⎢ ⎥ ⎢ ac ,max ⎥ ⎢⎣ css ( s) ⎥⎦ ⎢⎣ cs ( s ) ⎥⎦ ⎣ ⎦ ⎣ ac ,max ⎦ Q ss  (3.44)  Qs  for 0 ≤ s ≤ S Σ . By normalizing the partial derivatives of the axis positions with the individual axis acceleration limits: ⎫ ⎪ ⎪⎪ T⎬ ⎡ ⎤ ⎪ x ( s ) y ( s ) z ( s ) a ( s ) c ( s ) Q ass ( s) = ⎢ ss , ss , ss , ss , ss ⎥ ⎪ ⎢⎣ ax ,max a y ,max az ,max aa ,max ac ,max ⎥⎦ ⎭⎪ , ⎡ x ( s) y ( s) z ( s) a (s) c (s) ⎤ Q ( s) = ⎢ s , s , s , s , s ⎥ ⎢⎣ ax ,max a y ,max az ,max aa ,max ac ,max ⎥⎦  T  a s  (3.45)  Then, equation (3.44) is reduced to the following form: a Qss,i ( s ) s 2 ( s ) + Qs,ia ( s ) s ( s ) ≤ 1, i = 1,2...5 .  (3.46)  Using the triangular ( A + B ≤ A + B ) and multiplicative ( A ⋅ B ≤ A ⋅ B ) properties of the absolute value, the acceleration inequalities may be expanded as: Qssa , i ( s ) s 2 ( s ) + Qsa,i ( s ) s ( s ) ≤ 1, i = 1, 2...5 .  38  (3.47)  Chapter 3: Feed Optimization for 5-Axis CNC Machine Tools with Drive Constraints Note that Equation (3.47) represents a linear relationship between square of the feed  (s 2 )  and  the  tangential  acceleration  (s )  for  each  Figure 3.4: Acceleration feasible operating region.  (  axis Q( s ) = [ x ( s ), y ( s ), z ( s ), a ( s ), c ( s ) ]  T  ) , as shown in Figure 3.4. When the machine  starts to move from zero speed, it can use the maximum allowable tangential acceleration to reach the desired feed, which corresponds to ( s ) axis. When the machine travels at the constant feed ( s ) , the required tangential acceleration is zero. The acceleration limits of the drives determine the allowable feed and tangential acceleration. While one axis may limit the feed, another may constrain the acceleration depending on their partial derivatives of the path. A pair of feed ( s ) and tangential acceleration ( s ) must be identified iteratively during feed optimization from the five sets of inequalities to avoid  39  Chapter 3: Feed Optimization for 5-Axis CNC Machine Tools with Drive Constraints violating the acceleration limits of the drives which leads to the acceleration based feasible operating region of the machine at each path position as illustrated in Figure 3.4. However, during an iterative optimization scheme the solution of feasible feed and acceleration values may require unaffordable computational costs for the real time trajectory generation algorithm. The feasible solution region for the feed and tangential acceleration may be bounded by the acceleration limits of only a few drives as illustrated in Figure 3.4, and evaluated from:  ⎫ ⎪ ⎪ ⎪ ⎬ (3.48) ⎫ ⎪ 1 1 ⎪ ⎪ = ⎬ a Qss ,max ( s) ⎪ max Qssa , i ( s) ⎪ i =1,2...5 ⎭ ⎭.  ⎫ ⎧⎪ 1 ⎫⎪ ⎪⎧ 1 1 ⎪ s( s) = 0 ⇒ s A,max ( s) = min ⎨ a ⎬=⎨ ⎬= a a i =1,2...5 Q ( s ) Qs ,i ( s) ⎪ Qs ,max ( s) ⎩⎪ s ,i ⎭⎪ ⎪⎩ imax =1,2...5 ⎭ 1 ⎪⎧ s ( s) = 0 ⇒ s A,max ( s) = min ⎨ a i =1,2...5 ⎪⎩ Qss , i ( s)  ⎧ ⎪⎫ ⎪ = ⎬ ⎨ ⎪⎭ ⎪⎩  By substituting Qsa,max , Qssa ,max , Equation (3.47) can be reduced to a simple linear relationship defining a triangular, feasible feed and tangential acceleration region bound by s A,max , s A,max ,  C A ( s ) = Qsa,max ( s ) s ( s ) + Qssa ,max ( s ) s 2 ( s ) − 1 ≤ 0  (3.49)  where the acceleration limited maximum reachable feedrate at a point of the path s = s* is found by setting the acceleration s ( s* ) = 0 in Equation (3.49), s A,max ( s* ) =  1 a ss ,max  Q  ( s* )  (3.50) .  Since s A,max ( s* ) is calculated for zero path acceleration ( s ( s* ) = 0 ) at that particular point, the tangential feed cannot be altered as the machine does not have available  40  Chapter 3: Feed Optimization for 5-Axis CNC Machine Tools with Drive Constraints acceleration due to the saturation limits for braking to a lower velocity or increasing to a higher speed as the tool continues to travel. Therefore, set of feasible feed and acceleration along the entire length of the tool-path must be identified in an iterative fashion, which is solved utilizing the optimization algorithm presented in Section 3.5. Equation (3.49), on the other hand, reduces the computational cost of the iterative feed optimization procedure by cutting down the number of constraint evaluations from five (Equation (3.44)) to one, at the expense of losing some part of the feasible feed-acceleration region because of the triangular inequality (Equation (3.47)) and the max operations (Equation (3.48)). 3.4.3 Jerk Constraints  Limiting the axis jerk values smooths the position commands, hence the high frequency content, which leads to a better tracking performance along the curved path. If T  the imposed axis jerk limits are ⎡⎣ J x ,max J y ,max J z ,max J a ,max J c ,max ⎤⎦ , the following normalized jerk constraints are defined from Equation (3.27): ⎡1⎤ ⎡ xsss ( s) ⎢1⎥ ⎢ y ( s) ⎢ ⎥ ⎢ sss − ⎢1⎥ ≤ ⎢ zsss ( s ) ⎢⎥ ⎢ ⎢1⎥ ⎢ asss ( s) ⎢⎣1⎥⎦ ⎢⎣ csss ( s)  J x max ⎤ ⎡ xss ( s) ⎢ y ( s) ⎥ J y max ⎥ ⎢ ss 3 J z max ⎥ s ( s ) + 3 ⎢ zss ( s ) ⎢ ⎥ J a max ⎥ ⎢ ass ( s ) ⎢ css ( s) J c max ⎥⎦ ⎣  j Q sss  J x ,max ⎤ ⎡ xs ( s) ⎥ ⎢ y ( s) J y ,max ⎥ ⎢ s J z ,max ⎥ s( s) s ( s) + ⎢ xs ( s) ⎥ ⎢ J a ,max ⎥ ⎢ xs ( s) ⎢ xs ( s) J c ,max ⎥⎦ ⎣  Q ssj  J x ,max ⎤ ⎡1⎤ ⎥ ⎢1⎥ J y ,max ⎥ ⎢⎥ J z ,max ⎥ s ( s ) ≤ ⎢1⎥ ⎥ ⎢⎥ J a ,max ⎥ ⎢1⎥ ⎥ ⎢⎣1⎥⎦ J c ,max ⎦  Q sj  (3.51)  ,  for 0 ≤ s ≤ S Σ . Alternatively, Equation (3.51) can be expressed by, Qsssj , i ( s ) s 3 ( s ) + 3Qssj , i ( s ) s ( s ) s ( s ) + Qsj, i ( s ) s ( s ) ≤ 1, i = 1, 2...5 ,  41  (3.52)  Chapter 3: Feed Optimization for 5-Axis CNC Machine Tools with Drive Constraints and re-written as: Qsssj , i ( s ) s 3 ( s ) + 3 Qssj , i ( s ) s ( s ) s ( s ) + Qsj, i ( s ) s ( s ) ≤ 1, i = 1, 2...5 ,  (3.53)  j j where, Qsss,i (s) , Qss,i ( s ) and Qsj, i ( s ) are tool-path geometry dependent terms. Equation  (3.53) generates a three dimensional operating surface with respect to the jerk limits of the drives as shown in Figure 3.5. Similar to the acceleration constraints presented in Section 3.4.2, the axis jerk limits transform into upper bounds on the tangential feed, s . By setting both the tangential acceleration ( s ) and the jerk ( s ) to zero at a path position,  s = s* , the jerk limited maximum path velocity, sJ ,max ( s ) , is evaluated from Equation (3.53) as,  ⎧⎪ 1 s ( s* ) = s ( s* ) = 0 ⇒ sJ ,max ( s* ) = min ⎨ 3 j i =1,2...5 Qsss ,i ( s* ) ⎩⎪  ⎫⎪ ⎬ ⎭⎪ .  (3.54)  sJ ,max ( s* ) represents an upper limit on the path velocity with respect to the jerk limits of the drives and cannot be altered, since it utilizes the entire acceleration and jerk capacity of the drives. Therefore, the feasible set of feed, tangential acceleration and jerk identified in the operating region is then iteratively found during feed optimization by evaluating Equation (3.53), which is computationally complex and too costly to be implemented in a CNC system. Similar to the methodology presented for the acceleration limits, the maximum values of the jerk normalized partial derivatives are selected by considering all five drives:  42  Chapter 3: Feed Optimization for 5-Axis CNC Machine Tools with Drive Constraints  { { {  } } }  Qsssj ,max ( s ) = max Qsssj ,i ( s) ⎫ i =1,2...5 ⎪ ⎪ j j Qss ,max ( s ) = max Qss ,i ( s ) ⎬ i =1,2...5 ⎪ j Qs ,max ( s ) = max Qsj, i ( s ) ⎪ i =1,2...5 ⎭  (3.55)  and substituted in Equation (3.53) to find the constraint equation: CJ ( s) = Qsssj . max ( s ) s 3 ( s ) + 3Qssj ,max ( s ) ⋅ s ( s ) s ( s ) + Qsj,max ( s ) s ( s ) − 1 ≤ 0 .  (3.56)  While Equation (3.53) has to be evaluated for all five axes, Equation (3.56) is a single set, which considers a combination of axes whose jerk limits affect the feasible operating  XA  xis  Jer  kL  im  its  YA  xis  s  Jer  kL  Gl  im  its  ob  al  Je  rk  Modified Feasible Operating Region  Co  ns  tra  s  in  t  s Figure 3.5: Jerk feasible operating region.  region of the machine tool. The tangential jerk, acceleration and speed are still coupled; hence, they need to be identified iteratively during the optimization process from Equa-  43  Chapter 3: Feed Optimization for 5-Axis CNC Machine Tools with Drive Constraints tion (3.56). The identified feed s J (s ) , tangential acceleration s J (s ) and tangential jerk  s J (s ) satisfy the jerk limits on all five drives. 3.5  Solution to Minimum Time Feed Optimization Problem  It is proposed that the feed is scheduled along the tool-path without violating the velocity, acceleration and jerk limits of all five drives. The axis constraints given in Equations (3.43), (3.49), (3.56) are stacked into: C( s ) = ⎡⎣C F− ( s ) CF+ ( s ) CV ( s ) C A ( s ) C J ( s ) ⎤⎦  T 5×1  ,  (3.57)  where CF− ( s) = − s( s) ≤ 0 is the lower limit of the velocity to ensure forward motion (i.e., positive feed direction) , and CF+ ( s) = s( s) − feed ≤ 0 is the user specified upper limit of the feed along the path. The feed profile is expressed in B-spline form and optimized to minimize the machining time by maximizing the nominal feeds at control points: n  min (TΣ ) = max ∑ f i subject to C ( s ) ≤ 0 for 0 ≤ s ≤ SΣ s  fi  (3.58)  i =1  The feed control points fi are the optimization variables, and the constraints are evaluated from Equation (3.58). Since the second derivative of TΣ with respect to fi is zero, solving Equation (3.58) becomes a Linear Programming problem with nonlinear constraints yielding a Sequential Quadratic Problem (SQP) and solved using MATLAB’s Optimization Toolbox [71]. Five to seven feed control points are distributed along each segment length S k , and the n = 5 ~ 7 N p nominal feeds are modulated while the constraint violations are checked at denser increments ( ∆s ≈ 0.1...1[ mm ]) along the path  44  Chapter 3: Feed Optimization for 5-Axis CNC Machine Tools with Drive Constraints  Figure 3.6: Feed optimization along the tool-path.  length as shown in Figure 3.6. As the feed profile is altered iteratively, a feasible set of control points are obtained that does not violate the constraints and that minimize the  fi  Control Point  Feed Profile (s)  Feed Profile (s)  overall cycle time. Optimized Feed Profile Displacement interval ∆s a)  Overlap Displacement Interval  Displacement (s) b)  Feed Profile (s)  Feed Profile (s)  Constraint check points  Displacement (s)  Optimized Feed Profile  Displacement (s) d)  Feed Control Points  Extended Displacement Interval c)  Displacement (s)  Figure 3.7: Windowing technique: a) forward windowing (start), b) forward windowing (shifted), c)forward windowing (finalized), c) forward winding (extended).  The optimization process is computationally inefficient if all feed control points are considered at once along the entire tool-path, due to the large number of optimization variables and constraints that need to be considered. Instead, the optimization algorithm is applied in a moving window approach that considers a smaller set of control points over each window as shown in Figure 3.7. The solution window is started in the forward 45  Chapter 3: Feed Optimization for 5-Axis CNC Machine Tools with Drive Constraints  Figure 3.8: Five-axis tool-path.  direction with an initial number of n ≈ 20 control points tuned for quick convergence. Upon convergence the window is moved along the tool-path while allowing overlap of m=5 control points from the previous solution, and the next solution is sought. If the trajectory optimization in a particular window does not converge to a feasible profile, the solution is backtracked by expanding the window size. For instance, the final feedrate at the end of the tool-path is set to be zero to demand a full stop from the machine tool. In this case, the last window is expanded by borrowing control points from previous windows until a feasible braking distance is obtained.  46  Chapter 3: Feed Optimization for 5-Axis CNC Machine Tools with Drive Constraints 3.6  Simulations and Experimental Results  The proposed trajectory optimization has been tested on a open-architecture controlled 5-axis machine tool with the tilting-rotary table kinematics studied in Section 3.2 (see Figure 3.1b). The test tool-path shown in Figure 3.8 is designed for 5-axis flank milling of jet impellers. The discrete tool-path containing 196 data points is fitted into a C3 quintic B-spline with a tool tip chord error of 35 [micron] and an orientation error constrained under 0.09 [degree]. The curvature along the tool-path changes continuously, but the highest curvatures are located at the beginning (25~50 [mm]), in the middle (150~190 [mm]) and towards the end (250~290 [mm]) where the tool has to move around the trailing and leading edges of the blade. The corresponding axis positions along the 300 [mm] long tool-path are shown in Figure 3.9. The programmed feed for the tool-path is 150 [mm/sec] in the CL file. The experimental 5-axis machine tool setup has been introduced in Chapter 1. The axis kinematic limits are given in Table 3.1, and the drive system is controlled by robust sliding mode controllers with feed-forward friction compensation [35].  47  Chapter 3: Feed Optimization for 5-Axis CNC Machine Tools with Drive Constraints  [mm]  Cartesian axis displacement,{x(s), y(s), z(s)} x Axis 100 y Axis z Axis 50 0  -50 -100 0  50  100 150 200 Displacement[mm]  250  300  [rad]  Rotary axis displacement, {a(s), c(s)} 0 -1 -2 -3 -4 -5 -6 0  a Axis c Axis  50  100 150 200 Displacement[mm]  250  300  Figure 3.9: Axis reference displacement. Table 3.1: Drive limits used in the feed optimization.  Drives X [mm] Y [mm] Z [mm] A [deg] C [deg]  Velocity [unit/sec] 250 250 250 166 290  Acceleration [unit/sec2] 2000 2000 2000 2500 2000  Jerk[unit/sec3] 3000 3000 3000 250 200  The path velocities constrained by the drive velocity, acceleration and jerk limits are evaluated from Equations (3.42), (3.50) and (3.54), and shown in Figure 3.10. Depending on the curvature of the path, different drives limit the feed along the tool-path. For example, the X axis limits the maximum feed at  s = 58 [mm/sec] at path position  s = 34 [mm], and the Y and the C drives limit the feed at path location s = 267 [mm/sec]. Similarly, the acceleration and jerk limits of the drives constrain the feed at different locations of the path. The envelope, which passes through minimum feeds 48  Chapter 3: Feed Optimization for 5-Axis CNC Machine Tools with Drive Constraints limited by the velocity (Figure 3.10a), acceleration (Figure 3.10b) and jerk (Figure 3.10c) is evaluated along the path. The envelope curve can be taken as a guide for selecting feasible feeds along the toolpath. However, it is not simply possible to accept the feedrate defined by the slowest envelope curve as the optimal velocity profile. Since a change in the velocity between any two points along the envelope curve may violate the acceleration or the jerk limits of the drives, the optimal feed must be evaluated by simultaneously optimizing velocity, acceleration and jerk limits of all five drives as given in Equations (3.43), (3.49) and (3.56). The identified feed is limited to 150 [mm/sec], set by the process planner, and the resulting feed schedule along the path is given in Figure 3.11.  49  Chapter 3: Feed Optimization for 5-Axis CNC Machine Tools with Drive Constraints 1200  X Axis Limit Y Axis Limit Z Axis Limit A Axis Limit C Axis Limit  [mm/sec]  1000 800 600 400 200 0 0  50  100  150 200 Displacement[mm] a)  250  300  50  100  150 200 Displacement [mm] b)  250  300  50  100  150 200 Displacement [mm] c)  250  300  1200 [mm/sec]  1000 800 600 400 200 0 0  1200 [mm/sec]  1000 800 600 400 200 0 0  Figure 3.10: Axis limits reflected on the tangential feed: a) feedrate limited by the axis velocity constraints, b) feedrate limited by the axis acceleration constraints, c) feedrate limited by the axis jerk constraints.  It can be seen that, if the machine travels at 150 [mm/sec], the drive limits are violated at path regions (0-60 [mm], 140-165 [mm], 240-300 [mm]), where the impeller blade curvature is high. If the feed is kept constant at 15 [mm/sec], none of the drive limits are violated, but the machining time becomes TΣ = 20.18 [sec] . When the feed is optimally scheduled by fitting a B-spline to n=276 equally spread points along the toolpath, the machining time drops to TΣ = 4.664 [sec] , resulting in an 80% increase in  50  Chapter 3: Feed Optimization for 5-Axis CNC Machine Tools with Drive Constraints  Feedrate(s) [mm/sec]  250 Velocity Constraints Acceleration Constraints Jerk Constraints  200  Feed Limit  150 100 Optimized Feed Profile  50  Constant Feed Profile 0 0  50  100  Displacement(s) [mm]  200  250  300  Figure 3.11: Optimized and un-optimized feed profiles.  productivity. The algorithm was solved in the MATLAB® environment in 126 [sec] on a P4 computer with 2.3 Ghz CPU speed. As shown in Figure 3.12, the scheduled feed has been tested on the experimental 5-axis machine, and the resulting velocity, acceleration and jerk on each drive did not violate their limits. Moreover, depending on the complexity of 5-axis tool-paths different computational times have been observed for solving the optimization problem. However, the results did not violate the limits imposed in the algorithm. In addition to the reduction in machining time, the proposed optimization improves the tracking accuracy of the machine when the drives are not saturated. The experimentally measured tracking errors are shown in Figure 3.13 for three cases. When the feed is set to the most conservative speed (15 [mm/sec]), the drive limits are never violated, and the tracking accuracy is best due to the slow speed, but the machining time becomes TΣ = 20.18 [sec] . If the user imposed feed (150 [mm/sec]) had used, the drives would have become excessively saturated and the machine would become uncontrollable. A relatively conservative feed of f = 40 [mm/sec] was tested, leading to the violation of drive limits (Figure 3.13), and the tracking errors were amplified at the  51  Chapter 3: Feed Optimization for 5-Axis CNC Machine Tools with Drive Constraints saturation regions along the path. However, when the feed is optimized, the machine was able to reach up to the desired feed of 150 [mm/sec] at most locations, and the drive limits were never violated. The machine tool control was kept in a linear control region and the tracking accuracy became linearly proportional to the velocities and inversely proportional to the bandwidth of the drives.  Cartesian axis velocity profiles (Optimized profiles (solid), un-optimized (dashed)  [mm/sec]  X Axis Limit Y Axis Z Axis  0  -200  5 A Axis  [deg/sec]  X Axis Y Axis Z Axis  200  Rotary axis velocity profiles (Optimized profiles (solid), un-optimized (dashed)  C Axis  8 Time [sec]  4  16  -5 20 0  Cartesian axis acceleration profiles X Axis Y Axis  Z Axis  X Axis Limit Y Axis Z Axis  Limit  -2x103 4  8 Time [sec]  16  16  A Axis  20  A Axis C Axis A Axis Limit C Axis Limit  -50  20  0  Cartesian axis jerk profiles  4  8 Time [sec]  C Axis  16  20  16  20  Rotary axis jerk profiles  3x104  [deg/sec3]  300  0  -3x104 0  8 Time [sec]  Rotary axis acceleration profiles  0  0  4  50 [deg/sec2]  [mm/sec2]  2x103  A Axis Limit C Axis Limit C Axis  Limit  0  [mm/sec3]  A Axis  4  8 Time [sec]  16  20 -3000  4  8 Time [sec]  Figure 3.12: Optimized and un-optimized axis profiles.  52  Chapter 3: Feed Optimization for 5-Axis CNC Machine Tools with Drive Constraints  [mm]  0.5  Tracking errors of X axis F=15[mm/sec](Const.) F=40[mm/sec](Const.)  0  -0.5  Actuator Saturation  F=150[mm/sec](Optimized)  0  [mm]  5 Time [sec] 0.5 Tracking errors of Y axis  15  20  15  20  Time [sec]  15  20  Time [sec]  15  20  0  -0.5 0  Actuator Saturation 5 Time [sec]  [mm]  0.5 Tracking errors of Z axis 0  -0.5 0  5  [millidegree]  0.5 Tracking errors of A axis  -0.5 0  5  [millidegree]  0.5 Tracking errors of C axis  -0.5 0  Actuator Saturation 5  Time [sec]  15  20  Figure 3.13: Tracking errors of the axes.  3.7  Conclusion  The productivity of 5-axis machining of dies, molds and aerospace parts with sculptured surfaces is hindered by the metal cutting process, the machine tool’s structural dynamics, thermal and volumetric accuracy of the machine, and kinematics and control of the drives. The algorithm developed in this chapter has significantly reduced the  53  Chapter 3: Feed Optimization for 5-Axis CNC Machine Tools with Drive Constraints machining time by optimizing the feed along the tool-path while respecting velocity, acceleration and jerk limits of all five drives and reported in [15]. In addition, by avoiding violation of the saturation limits of the drives, the control law can operate in a linear region, improving the accuracy and performance of the CNC system. Moreover, the tangential feed along the cutter axis varies when the axial depth of cut is long during 5axis flank milling, leading to conflicting velocity, acceleration and jerk demands at each drive. The proposed algorithm can also be repeated along the cutter axis by considering the tangential feed at that position, and a feed which satisfies the drive constraints can be selected.  54  4. Modeling of Contouring Error for 5-Axis Machine Tools 4.1  Introduction  Each drive on a 5-axis machine tool is subject to unavoidable tracking errors, ex , e y , ez , ea , ec , between the commanded axis positions, xref , yref , zref , aref , cref , and the  actual axis positions, x, y, z, a, c , due to the servo dynamics. Axis tracking errors are kinematically transformed onto the tool-path, and the normal deviation of the actual tool trajectory from the commanded tool-path geometry is denoted by the contour errors. The contour errors control the dimensional accuracy of the finished part during 5-axis high speed machining. Due to increase in the demanded feedrate, higher axis tracking errors are observed on the drives. This in return, may induce more contour errors that are left on the part surface. In the current practice, dedicated, high-bandwidth, control laws are designed for individual axis drives to accurately track axis reference commands. On the other hand, as a consequence of the non-Cartesian kinematics of the 5-axis machine tool and the complex tool-path geometry, small axis tracking errors may result in larger deviation of the tool from the reference tool-path relative to the workpiece. Correctly estimating the resultant contour errors in real time, and subsequently minimizing them with a robust controller, improves the 5-axis machining accuracy. This chapter presents a novel technique for definition and modeling of contour errors that occur during simultaneous 5-axis machining. During 5-axis motion the tool translates and simultaneously changes its orientation (Figure 4.1a). The normal deviation of the tool tip position from the reference tip trajectory is modeled, and is denoted as the tool tip contour error. The tool tip contour error,  55  Chapter 4: Modeling of Contouring Error for 5-Axis Machine Tools illustrated in Figure 4.1b, is crucial in avoiding both over-cutting and under-cutting during general point milling operations, and analytical models to accurately estimate tool tip contour errors are presented in Section 4.3. On the other hand, the normal deviation of the actual tool orientation form the desired orientation trajectory is vital when the depth of cut is high, and the cutting is mainly performed along the tool axis, as in flank milling of impeller blades. The orientation contour error for 5-axis machining is shown in Figure 4.1b, and models to accurately predict them are presented in Section 4.4. Both contour error estimation models are validated experimentally in Section 4.5, and the contributions of the chapter [26] are presented in Section 4.6.  O = [Oi Oj Ok]T  Surface Tool Tip Point  Cutter Contact Point  ε  Actual Tool Tip Point  φ  P = [Px Py Pz]T  Actual Tool Orientation  Z Y Workpiece Coordinate System X  a)  b)  Figure 4.1: Definition of contour errors in 5-axis machining: a) tool motion in workpiece coordinates (P-system), b) contour error definition (orientation and tool tip contour errors).  56  Chapter 4: Modeling of Contouring Error for 5-Axis Machine Tools 4.2  Tracking Error Dynamics on the Workpiece  Contour errors left on the finished surface vary as a non-linear function of the tracking errors of the tool (Figure 4.1a). Tracking errors of the tool, on the other hand, are governed by both the kinematics of the machine tool and the tracking errors of the axis servo drives ( ex , e y , ez , ea , ec ). Therefore, axis tracking errors are transformed to the toolpath using kinematic model of the machine to prodict the actual tool trajectory. A widely used tilting-rotary-table type kinematic configuration has been presented in Chapter 3. The 5-axis machine has three translational motions, X, Y, Z, combined with rotations of the  A  and  C  drives.  R = ⎡⎣ Px , Py , Pz , Oi , O j , Ok ⎤⎦  T  The  transformation  between  the  tool  motion  in the WCS and the motion of the physical drives,  q = [ x, y, z , a, c ] , has also been presented in Chapter 3. The angular motions of the T  rotary axes were obtained as  θ a = a = arccos(Ok ) ⎫⎪ ⎬ θ c = c = −arctan2(Oi , O j ) ⎪⎭  (4.1) ,  and the forward kinematics yields the tool axis direction as:  ⎡ Oi ⎤ ⎡ sin(θ c )sin(θ a ) ⎤ ⎢O ⎥ = ⎢ − cos(θ )sin(θ ) ⎥ c a ⎥ ⎢ j⎥ ⎢ ⎢⎣Ok ⎥⎦ ⎢⎣ ⎥⎦ cos(θ a ) .  (4.2)  The rotary axis velocities a (t ), c (t ) are then related to the angular velocity vector,  ω (t ) = [Oi (t ), O j (t ), Ok (t )]T , of the tool by the orientation Jacobian J o ∈ ℜ 3× 2 of the machine obtained from Equation (4.2):  57  Chapter 4: Modeling of Contouring Error for 5-Axis Machine Tools  ⎡ Oi ⎤ ⎡ sin(θ c )cos(θ a ) cos(θ c )sin(θ a ) ⎤ ⎢ ⎥ ⎢ ⎥ ⎡θ a ⎤ O cos( )cos( ) sin( )sin( ) θ θ θ θ = − − j c a c a ⎢ ⎥ ⎢ ⎥ ⎢θ ⎥ ⎢Ok ⎥ ⎢⎣ ⎥⎦ ⎣ c ⎦ 0 − sin(θ a ) ⎣ ⎦ ω  Jo  (4.3) .  Equations (4.2) and (4.3) reveal that only the two rotary drives, A and C, control the tool orientation ( Oi , O j , Ok ) . Therefore, the tracking errors of the rotary drives, ea , ec will affect the accuracy of the tool orientation. T  The forward kinematics define the tool tip trajectory, P = ⎡⎣ Px , Py , Pz ⎤⎦ as a function of the axis motion, ⎡ Px ⎤ ⎢P ⎥ ⎢ y ⎥ = ⎡ P ⎤ Trans( L w fw , x , Lw fw , y , Lw fw , z ) ⋅ Rot(Y fw ,0) ⎢ Pz ⎥ ⎢⎣ 1 ⎥⎦ ⎢ ⎥ ⎣1⎦ ⋅Trans( L fw c , x , L fw c , y , L fw c , z ) ⋅ Rot( Z c , −θ c ) ⋅Trans( Lc a , x , Lc a , y , Lc a , z ) ⋅ Rot( X a , −θ a ) ⋅Trans( La Ty , x , La Ty , y , La Ty , z )  (4.4)  ⋅Trans(− y,0,0) ⋅ Trans(− x,0,0) ⋅ Trans( z ,0,0) ⋅Trans( LTz fp , x , LTz fp , y , LTz fp , z ) ⋅ Rot( Z ft ,0) ⎡t tp ⎤ ⋅Trans( L fp t , x , L fp t , y , L fp t , z ) ⎢ ⎥ ⎣1⎦  ,  and we can simplify this expression by setting some of the x and y offsets to zero at the home position:  58  Chapter 4: Modeling of Contouring Error for 5-Axis Machine Tools sin(θ c )sin(θ a ) ⎤ ⎡ x ⎤ ⎡ Px ⎤ ⎡ − cos(θ c ) sin(θ c )cos(θ a ) ⎢ P ⎥ = ⎢ − sin(θ ) −cos(θ )cos(θ ) −cos(θ )sin(θ ) ⎥ ⎢ y ⎥ c c a c a ⎥⎢ ⎥ ⎢ y⎥ ⎢ ⎢⎣ Pz ⎥⎦ ⎢⎣ ⎥⎦ ⎢⎣ z ⎥⎦ − sin(θ a ) 0 cos(θ a ) 0 ⎤ ⎡ LTy a , z ⎤ ⎡ −sin(θ c )sin(θ a ) sin(θ c )sin(θ a ) ⎢ ⎥ ⎢ + ⎢ cos(θ c )sin(θ a ) −cos(θ c )sin(θ a ) 0 ⎥⎥ ⎢ L fpt , z ⎥ ⎢⎣ − cos(θ a ) −1⎥⎦ ⎢⎣ Lac , z ⎥⎦ cos(θ a )  (4.5)  .  The inverse kinematic transformation yields the Cartesian axis positions as:  − sin(θ c ) 0 ⎤ ⎡ Px ⎤ ⎡ x ⎤ ⎡ − cos(θ c ) ⎢ y ⎥ = ⎢cos(θ )sin(θ ) -cos(θ )cos(θ ) − sin(θ ) ⎥ ⎢ P ⎥ a c a c a ⎥⎢ y⎥ ⎢ ⎥ ⎢ ⎢⎣ z ⎥⎦ ⎢⎣ sin(θ a )sin(θ c ) -sin(θ a )cos(θ c ) cos(θ a ) ⎥⎦ ⎢⎣ Pz ⎥⎦ ⎡ ⎤ 0 ⎢ ⎥ +⎢ − sin(θ a ) La c , z ⎥ ⎢cos(θ a )Lac , z +LTy a , z -L fpt , z ⎥ ⎣ ⎦  (4.6)  .  In contrast to the orientation tracking, the direct kinematic transformation, Equation(4.5) , shows that translational (X, Y, Z) as well as the motion of the rotary drives (A,C) govern  (  )  the tool tip trajectory P = [ Px Py Pz ]T on the workpiece surface. Thus, tracking errors of all the drives ( ex , e y , ez , ea , ec ) are reflected on the tool tip trajectory and restrain to the positioning accuracy of the tool tip. A ‘tool pose’ variable is defined as:  x(t ) = [ Px (t ), Py (t ), Pz (t ) a(t ), c(t )]T ,  (4.7)  P  containing the tool tip location in WCS and the two rotary drive positions. The partial  (  derivatives of tool tip Px Py Pz  )  with respect to tool pose variables ( Px , Py , Pz , a, c ) are  evaluated by differentiating Equation (4.5),  59  Chapter 4: Modeling of Contouring Error for 5-Axis Machine Tools J ij =  ∂Pi ∂q j  i ∈ ( x, y, z ), q j ∈ ( x, y, z , a, c) .  (4.8)  By adding two unity elements on the diagonal for the rotational drive positions, the  (  following square Jacobian matrix J (t ) ∈ℜ5×5  ⎡ J11 ⎢J ⎢ 21 J (t ) = ⎢ J 31 ⎢ ⎢0 ⎢⎣ 0  )  is formed:  J12  J13  J14  J 22 J 32  J 23 J 33  J 24 J 34  0 0  0 0  1 0  J15 ⎤ J 25 ⎥⎥ J 35 ⎥ ⎥ 0 ⎥ 1 ⎥⎦ .  (4.9)  Figure 4.2: Linear rigid body feed drive dynamics.  The Jacobian matrix in Equation (4.9) relates the drive velocities, q(t ) , and accelerations, q(t ) , to the tool pose velocity and acceleration as: ⎡ Px ⎤ ⎡x⎤ ⎢ ⎥ ⎢y⎥ ⎢ Py ⎥ ⎢ ⎥ ⎢ Pz ⎥ = J (q) ⎢ z ⎥ , ⎢ ⎥ ⎢ ⎥ ⎢θ a ⎥ ⎢θ a ⎥ ⎢θ ⎥ ⎢⎣ θ c ⎥⎦ ⎣ c⎦ x  Q  ⎡ Px ⎤ ⎡x⎤ ⎡x⎤ ⎢ ⎥ ⎢y⎥ ⎢y⎥ ⎢ Py ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ Pz ⎥ = J (q) ⎢ z ⎥ + J (q, q) ⎢ z ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢θa ⎥ ⎢θa ⎥ ⎢θ a ⎥ ⎢θ ⎥ ⎢⎣ θc ⎥⎦ ⎢⎣ θ c ⎥⎦ ⎣ c⎦ x  Q  Q  (4.10)  .  The simplified linear dynamics of a typical feed drive system is presented in Figure 4.2. The corresponding rigid body model can then be expressed as:  60  Chapter 4: Modeling of Contouring Error for 5-Axis Machine Tools ⎡ mx ⎢0 ⎢ ⎢0 ⎢ ⎢0 ⎢⎣ 0  0 my 0 0 0  0 0 mz 0 0 M  0 0 0 ma 0  0 ⎤ ⎡ x ⎤ ⎡ cx 0 ⎥⎥ ⎢ y ⎥ ⎢⎢ 0 ⎢ ⎥ 0 ⎥⎢z⎥ + ⎢ 0 ⎥⎢ ⎥ ⎢ 0 ⎥ ⎢a ⎥ ⎢ 0 mc ⎥⎦ ⎢⎣ c ⎥⎦ ⎢⎣ 0  0 cy 0 0 0  q  0 0 cz 0 0  0 0 0 ca 0  0 ⎤ ⎡ x ⎤ ⎡ux ⎤ ⎡ d x ⎤ 0 ⎥⎥ ⎢ y ⎥ ⎢⎢u y ⎥⎥ ⎢⎢ d y ⎥⎥ ⎢ ⎥ 0 ⎥ ⎢ z ⎥ = ⎢uz ⎥ − ⎢ d z ⎥ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥ 0 ⎥ ⎢ a ⎥ ⎢ ua ⎥ ⎢ d a ⎥ cc ⎥⎦ ⎢⎣ c ⎥⎦ ⎢⎣uc ⎦⎥ ⎢⎣ d c ⎥⎦  C  q  u  (4.11)  d  where m i = J i K ai K ti rgi is the equivalent inertia, c i = Bi K ai K ti rgi is viscous damping,  u i (t ) is control voltage produced by the digital control law of the drive, d i (t ) is equivalent disturbance, and the suffix i = x, y, z , a, c denotes the drives, respectively. The amplifier and motor torque constants are, K a , K t , respectively, and rg is the gear reduc-  tion ratio of the drives. The drive accelerations q can be represented in compact form by  q(t ) = M −1[u(t ) − d(t ) − Cq(t )] .  (4.12)  By substituting the kinematics relationships from Equation (4.10) into Equation (4.12),  (  )  the drive dynamics can be mapped to the tool pose x = [ Px , Py , Pz , a, c]T as:  x(t ) = J (t )q(t ) + J (t )M −1[u(t ) − d(t ) − Cq(t )] .  (4.13)  The actual position, velocity and acceleration of the pose can be written as a sum of the reference commands and corresponding tracking errors, x ref (t ) = [ Px , ref , Py , ref , Pz , ref , aref , cref ]T ⎫⎪ ⎬ → e = x ref − x e(t ) = [ePx , ePy , ePz , ea , ec ]T ⎪⎭  (4.14)  Substituting Equation (4.14) into Equation (4.13), the tracking error dynamics of the tool is expressed by e (t ) = x ref (t ) − J (t )q (t ) − J (t )M −1 [u (t ) − d (t ) − Cq (t )] .  61  (4.15)  Chapter 4: Modeling of Contouring Error for 5-Axis Machine Tools Note that in Equation (4.15), the vector xref (t ) is trajectory dependent. The Jacobian, J (t ) , and its derivative, J (t ) , introduce time varying non-linear coupling, since they  depend on the drive position as well as the velocities. 4.3  Tool Tip Contour Error Estimation  The reference trajectory of the tool tip, Pref = [ Px , ref , Py , ref , Pz , ref ]T , and corresponding tracking errors, e = [ePx , ePy , ePz ]T , as well as the contour error vector, ε are illustrated in Figure 4.3a. The mutually orthogonal unit tangent, t (t ) , and normal, n (t ) , vectors along the path are computed using the reference velocity and acceleration of the tool tip:  ⎡P P P t = ⎢ x , ref , y , ref , z , ref ⎢⎣ Pref Pref Pref  Desired Contour  ⎤ ⎥ ⎥⎦  T  (4.16)  t n  b  z  T  ⎤ ⎡P P P ⎥ , n = ⎢ x , ref , y , ref , z , ref ⎥⎦ ⎢⎣ Pref Pref Pref  z  F  e  F h  e  ,P  zre  f  et  P  xre f  ,P  yre f  ε  ,P z P x,P y  ε Actual Tool Tip Location  F  en+eb  en+eb  y Workpiece Coordinate  x  Actual Tool Tip Location  x  y  System  a)  b)  Figure 4.3: Modeling of tool tip contour errors in 5-axis machining.  62  Chapter 4: Modeling of Contouring Error for 5-Axis Machine Tools where Pref = dPref dt  and  2  Pref = d 2 Pref dt . By defining the bi-normal vector  b (t ) = t (t ) × n (t ) , a moving local coordinate frame, namely, a Frenet Frame [70] on the  tool-path at the reference tool center point (Pref (t )) is defined as illustrated in Figure 4.3a:  ⎡t x F(t ) = ⎢⎢t y ⎢⎣ t z  nx ny nz  bx ⎤ by ⎥⎥ bz ⎥⎦  (4.17) ,  and the Frenet Frame in Equation (4.17) is augmented to the following transformation: ⎡tx ⎢t ⎢y F (t ) = ⎢ t z ⎢ ⎢0 ⎢⎣ 0  nx ny nz 0 0  bx by bz 0 0  0 0 0 1 0  0⎤ 0 ⎥⎥ 0⎥ ⎥ 0⎥ 1 ⎥⎦  (4.18)  to include the rotary drive contributions. Hence, the following coordinate transformation holds: e ( t ) = F (t )e F ( t ) ↔ e F (t ) = F T (t )e (t ) ,  (4.19)  where F T = F −1 and e = [ePx , ePy , ePz , ea , ec ]T , eF (t ) = [et , en , eb , ea , ec ]T contain the tracking errors of the tool tip in the Workpiece Coordinate Frame and in the Frenet Frame, respectively. As shown in Figure 4.3a, the vector sums of the errors in normal and binormal directions represent an approximation to the contour error vector as:  ε ≅ en + eb .  63  (4.20)  Chapter 4: Modeling of Contouring Error for 5-Axis Machine Tools If the tool path does not contain sharp curvatures and the feeds are low, the contouring error vector expressed in Equation (4.20) is sufficiently accurate. However, at high speed contouring, the limited control bandwidth of the drives creates a time delay between the reference and actual positions of the tool. The tracking errors of the rotary drives may offset the workpiece and can even cause the actual tool position to lead the reference trajectory during 5-axis machining. The delay or lead time between the reference and actual tool tip positions is estimated from the error in tangent direction ( et ) as:  td =  et 2 x , ref  P  + Py2, ref + Pz2, ref  (4.21) ,  and used to shift the Frenet Frame in time as follows:  F = F ( t − td )  .  (4.22)  Since the reference trajectory is generated in advance, one can simply use the Shifted  ( )  Frenet Frame F and utilize the normal and bi-normal error components to improve the contour error estimation. Although the direction of the contour error vector is estimated more accurately with this method, such a transformation does not evaluate the amplitude of the tool tip contour error  ( ε ) accurately, leading to over or under-cuts during actual  contouring control. As illustrated in Figure 4.3b, the vector between the current and the delayed reference positions is expressed as:  ⎡ Pref (t ) − Pref (t − td ) ⎤ ⎥ , h ∈ ℜ5×1 0 h = ⎢⎢ ⎥ ⎢⎣ ⎥⎦ 0  64  (4.23)  Chapter 4: Modeling of Contouring Error for 5-Axis Machine Tools ~ and its representation in F is computed by: h F = F Th .  (4.24)  In order to correct the estimation, only the normal and bi-normal components are used, and the tangent component is excluded by multiplying with W = diag (0, −1, −1,1,1) , h F = Wh F  (4.25)  ~ The tracking errors on the Compensated Frenet Frame, F become: e F = F Te + h F .  (4.26)  As shown in Figure 4.3b, the sum of vector components in the normal and bi-normal directions ( e˜n + e˜b ) evaluated from Equation (4.26) more accurately approximate the actual amplitude of contour error along arbitrary tool-paths as:  ε ≅ en2 + eb2 . 4.4  (4.27)  Tool Orientation Contour Error Estimation  As shown in Figure 4.4, there is a difference in definition of the regular tool orientation tracking error vector eo , and the orientation contour error vector ε o , act , measured as the normal angular deviation from the orientation in the spherical coordinate system. The orientation tracking error vector is measured from the current tool orientation, O , to the current reference orientation. As shown by Equation (4.3), by simply minimizing the tracking errors of the rotary drives, orientation tracking errors can be eliminated. However, doing so does not necessarily rotate the tool closer to the desired orientation  65  Chapter 4: Modeling of Contouring Error for 5-Axis Machine Tools trajectory, Oref . The tool can be rotated to the desired orientation trajectory by eliminating the approximated contour error vector, ε o ≅ ε o , act , as shown in Figure 4.4.  Figure 4.4: Modeling of tool orientation contour errors in 5-axis machining.  Similar to the Cartesian contour error approximation, the orientation contour error vector is predicted by transforming the tracking errors to obtain the vector that is normal to the reference trajectory as:  ⎡ ε o,i ⎤ ω eo ⋅ ω ⎢ ⎥ εo = ⎢ε o , j ⎥ = eo − ω ω ⎢ε o , k ⎥ ⎣ ⎦  (4.28)  where ω = [ωi , ω j ,ωk ]T is the angular velocity of the tool. Normalizing the velocity of the tool axis, ω = ω ω , Equation (4.28) can be re-written as:  ε o = eo − ω(eo ⋅ ω) .  66  (4.29)  Chapter 4: Modeling of Contouring Error for 5-Axis Machine Tools From the kinematics of the 5-axis machine tool, it is known that the orientation Jacobian  ( Jo )  in Equation (4.3) relates the rotary axis velocities ( v = [ v a , v c ]T ) to the orientation  velocity of the tool through:  ω = kJ o v , where v = v v is the unit vector velocity in joint coordinates, and k = ω  (4.30)  v is a  scaling constant. In addition, assuming that the orientation errors are compensated with small drive rotations within the control sampling interval (T = 1[ m sec]) , we can use the following approximation:  eo ≈ J o e R  (4.31)  where e R = [ea , ec ]T is the array containing the individual rotary drive errors. Substituting Equations (4.30) and (4.31) into Equation (4.29) yields: ε o = J o e R − k 2 J o vv T J To J o e R .  (4.32)  Using Equation (4.30) and properties of the unit vectors ( ω, v ) , it can be shown that v T v = ω T ω = k 2 v T J To J o v = 1 → k 2 v T J To J o = v T ,  (4.33)  which allows us to simplify Equation (4.32) as:  εo = J o [eR − v(vT eR )] .  (4.34)  εR  As a result, the relationship between the tool orientation contour error ( ε o ) in WCP and the corresponding rotary drive errors ( εR = [ε a , ε c ]) in joint coordinates is obtained from Equation (4.34) as: 67  Chapter 4: Modeling of Contouring Error for 5-Axis Machine Tools ⎡ε ⎤ ε R = ⎢ a ⎥ = e R − v(vT e R ) . ⎣ε c ⎦  (4.35)  Table 4.1: Rigid body drive parameters.  m=  c=  4.5  J K a K t rg B K a K t rg  X-axis  Y-axis  Z-axis  A-axis  C-axis  0.00162  0.00174  0.00296  0.00682  0.00054  ⎡⎣ Vsec mm ⎤⎦ ⎡⎣ Vsec mm ⎤⎦ ⎡⎣ Vsec mm ⎤⎦ ⎡⎣ Vsec rad ⎤⎦ ⎡⎣ Vsec 2 rad ⎤⎦ 2  0.00681 [ Vsec mm ]  2  2  2  0.01518 [ Vsec rad ]  0.00863 [ Vsec mm ]  0.01964 [ Vsec rad ]  0.00368 [ Vsec rad ]  Implementation and Experimental Results  The proposed contouring error prediction models are experimentally validated on a 5-axis machine tool, as modeled in Chapter 3. The in-house developed research CNC has an open architecture [72], which allows rapid implementation of trajectory generation and control laws. The Cartesian drives have 2.9 [micron] encoder resolutions, and the rotary table driven by the A and C drives are equipped with 8.7 [micro radian] resolution encoders. The dynamic parameters of the drives identified experimentally [47] are presented in Table 4.1. All five drives are individually controlled by robust sliding mode  Table 4.2: Five-axis SMC control parameters (SISO scheme).  SMC Parameters  X-axis Y-axis Z-axis A-axis C-axis  ωn [rad / sec] K s [V / mm / sec] ([V/rad/sec] for rotary drives) Disturbance Adaptation Gain Γ [V / mm] ( Γ [V / rad ] for rotary drives)  68  200  200  180  150  200  7  5  5  0.5  1  25  30  15  3  3  Chapter 4: Modeling of Contouring Error for 5-Axis Machine Tools controllers (SMCs) in order to obtain higher tracking performance. The design procedure is presented by Altintas and Erkorkmaz [35] where the sliding surface is based purely on the tracking errors of the individual axes. Thus, the SMC of each axis drive is tuned separately, and the bandwidth of each Cartesian axis is closely matched in order to obtain better contouring performance (see Table 4.2). The proposed contour estimation, as well as the robust axis control algorithms were implemented on the Labview RT© system comprised running on personal computers for real time computation of the control law, and a FPGA card for data acquisition and decoding of the encoder signals. The sampling rate of the control loop is fixed to 1kHZ.  180 160  k  1 140 120  80  z [mm]  100  60 40 20  -1 1  0 20  y[  j  m  10  m  ]  x [mm]  0 -10  i  0 -10  1  -1  -20 -30  a)  b)  Figure 4.5: Test Tool-path: a) reference tool tip reference tool axis orientation  (P  ref  (O  ref  69  = ⎡⎣ Px , ref , Py , ref , Pz , ref ⎤⎦  = ⎡⎣Oi , ref , O j , ref , Ok , ref ⎤⎦  T  T  )  )  position, b)  Chapter 4: Modeling of Contouring Error for 5-Axis Machine Tools The effectiveness of the proposed 5-axis contour error estimation algorithms is demonstrated on a tool-path that contains a circular contour for the tool tip motion and smoothly varying orientation for the tool axis. The reference 5-axis test tool-path is analytically given by Pxref = 15cos(l ) + 5sin(l ) [mm] ⎫⎪ Pyref = 15sin(l ) − 5cos(l ) [mm] ⎪ ⎪⎪ Pzref = 15l [mm] ⎬ l = 0...4π , ⎪ aref = − cos −1 (sin(l ) / 5) [rad ]⎪ ⎪ cref = − tan(cos(l ) / 5) [rad ] ⎪⎭  (4.36)  and shown in Figure 4.5. The reference path of the tool orientation continuously changes as shown in Figure 4.5b. The path of the tool tip follows a circular motion in the x-y plane, and at the same time the cutter moves in the z direction, where the total distance of travel along the workpiece is about 273.87 [mm]. The reference tool-path is interpolated by generating a smooth trajectory with a maximum cruise feed of 50 [mm/sec] and cubic acceleration/decelerations not exceeding 1500 [mm/sec2].  70  Chapter 4: Modeling of Contouring Error for 5-Axis Machine Tools In order to investigate the accuracy of the proposed 5-axis tool tip contour error computation methods, the basic Frenet Frame (Equation (4.20)), Shifted Frenet Frame (Equation (4.22)) and the Compensated Frenet Frame (Equation (4.26)) are compared against true tool tip contour errors as shown in Figure 4.6. The true contour errors are calculated through an iterative search of the shortest distance between the tool tip position and actual path, as presented by Altintas and Erkorkmaz [39], measured in the workpiece coordinate system. The proposed Compensated Frenet Frame approximation provides the most accurate estimation of contour errors as shown in Figure 4.6a. Severe  Contour Error [micron]  peaks in the contour error trend can be observed at times ~1, 2.2, 3.5 and 5 [sec] during  400 True Tool Tip Contour Error(solid) & Proposed Estimation(dashed)  200 0  1  2  time [sec]  4  5  Discrepency [micron]  a) 0.6  Basic Frame Compensated Frenet Frame  0.4 0.2  Shifted Frame  0 1  2  time [sec]  4  5  4  5  b)  [milisecond]  5 0 -5  0  1  2  time [sec] c)  Figure 4.6: Comparison of tool tip contouring error estimations (experimental): a) comparison of true and estimated tool tip contour errors, b) discrepancy of proposed estimation from true contour errors, c) delay time  71  Chapter 4: Modeling of Contouring Error for 5-Axis Machine Tools air cutting. In addition, relatively smaller jumps occur in between at ~1.5, 3, 3.5 and 4.2 [sec]. As the rotational axes go through a direction reversal during 5-axis operation, the joint velocity changes rapidly with high acceleration, and, at the same time, the coulomb friction at the joint acts as a sudden step disturbance to the drive. Each axis controller deals with the disturbance individually and tries to track the high acceleration reference command. The disturbance is rejected in finite time, and severe tracking errors at the axis level occur, jeopardizing the coordination between the drives. This deteriorates the contouring performance severely. Thus, the contour error peaks in Figure 4.6a coincide with the locations when the A rotary axis goes through velocity reversal, and the smaller error peaks are related to the tracking performance of the C axis (see Figure 4.7a and b). This indicates that during 5-axis machining not only the Cartesian but also the rotary drives contribute strongly to the contouring performance. A closer view of the estimation errors of the basic, delayed and compensated Frenet Frames is shown in Figure 4.6b. All of the proposed methods estimate the contour errors within an acceptable average estimation discrepancy (0.01~0.05[micron]). The most severe cases occur when the contour error spikes above 300 [micron] where the actual tool tip has its maximum lag from the reference point. This lag can be observed from the delay time computed from Equation (4.22) and plotted in Figure 4.6c. The basic and Compensated Frenet Frame approximations show good performance even at these locations with an estimation error as high as 0.1 and 0.05[micron], respectively. As a result, both the basic and the Compensated Frenet Frame methods prove to be sufficiently accurate for contouring control even when the tool tip deviates highly from the desired path. On the other hand, the delayed Frenet Frame shows the worst performance confirming that the offset h in  72  Chapter 4: Modeling of Contouring Error for 5-Axis Machine Tools Equation (4.23), must be compensated to estimate the amplitude of the contour error accurately.  Error [milliradians]  3  2 True&Approximated Contour Error Components  2  True&Approximated Contour Error Components  1  1 0  0  −1 −1  Tracking Errors  −2 −3  Tracking Errors 0  1  time [sec] a)  4  −2  5  0.002  0.001  0.001  0  0  -0.001  -0.001  Estimation Errors [milliradians]  0.002  -0.002 0  1  time [sec] c)  4  -0.002  5  0  1  time [sec] b)  4  5  0  1  time [sec] d)  4  5  Figure 4.7: Comparison of tool orientation contour error estimations: a) A axis errors, b) C axis errors, c) discrepancy in the proposed contour error estimation in A axis, d) discrepancy in the proposed contour error estimation in C axis.  Similar to the Cartesian case, the actual orientation contour error vector can be obtained by iteratively finding the closest normal point to the actual reference orientation tool-path in spherical coordinates. The actual orientation contour error vector ( εo,act ) is computed and transformed into the corresponding a and c rotary drive tracking errors (ε a , c ) using the orientation Jacobian (Equation (4.3)): ε a ,c ≈ J Oε ,  73  (4.37)  Chapter 4: Modeling of Contouring Error for 5-Axis Machine Tools and compared against the proposed analytical estimation given in Equation (4.35). Figure 4.7 represents the experimentally recorded rotary drive tracking errors, as well as the true and estimated orientation contour errors expressed in drive coordinates. As shown in Figure 4.7a and b, the transformation of the orientation contour errors computed from Equation (4.31) and (4.35) match, and they both show distinct error trends in comparison to the tracking errors of the rotary drives. Rotary drive tracking errors show peaks due to the coulomb friction at path locations when A and C axes go through velocity reversals. The orientation contour error component mainly follows the tracking errors, indicating that the motion should be synchronized. However, deviations between the trends occur especially when synchronization is lost, as one rotary drive is exposed to a velocity reversal yielding high tracking errors and the other one is not. In Figure 4.7a, one can see that the A rotary drive tracking and orientation error trends differ from each other at 0.5, 1.5, 3, 4 [sec] on the time scale, corresponding to the locations where the A rotary drive has its highest tracking errors. Similar observations can be made for the C axis at 1, 2.5, 3.5 and 5 [sec], indicating that elimination of orientation contour errors is crucial in establishing synchronization of the drives towards improving the part accuracy. Figure 4.7c-d show the deviation of the proposed analytical orientation contour error estimation from the measured values. The maximum deviation is less than 6 [microradian] for both A and C drives. Considering that the rotary encoders have a resolution of 8.7 [microradian], the proposed estimation is valid and suitable for designing orientation contour controller that is presented in Chapter 5 of this thesis.  74  Chapter 4: Modeling of Contouring Error for 5-Axis Machine Tools 4.6  Conclusion  The main concerns during 5-axis contouring are the tool tip and the tool orientation contour errors. The kinematic model of 5-axis machine tools shows that all five physical drives influence tool tip positioning accuracy, while the tool axis orientation errors are caused only by the rotary drives. In this chapter, the kinematics and rigid body dynamics of five axes, namely, three translational and two rotary drives are combined to predict tool tip and tool orientation errors that produce contouring errors on the machined part surface. It is shown that even if the tracking accuracies of all five drives are individually greatly improved by high bandwidth, robust controllers, the overall contour error along 5-axis tool paths can still be significant due to the path curvature and the kinematics of the machine. Instead of controlling each drive individually, the experimentally validated, real-time, contouring error estimation model allows the design of a global, sliding mode controller which simultaneously controls all five drives with the objective of achieving high path tracking accuracy. The contributions of this chapter have been published in [26], and a contour controller that improves the path tracking accuracy is presented in Chapter 5 of this thesis.  75  5. Precision Contouring Controller Design for 5-Axis Machine Tools 5.1  Introduction  Two types of contour errors were introduced in Chapter 4. The first type of contour error is the normal deviation of the tool tip from the desired tool-path, called the tool tip contour error, arises as a nonlinear function of the tracking errors of all five drives. Orientation contour error, on the other hand, has been defined as normal deviation from the reference tool orientation trajectory, and it can be controlled only by the rotary drives of a 5-axis machine tool. Design of a multi-input-multi-output sliding mode controller for minimizing both contour errors is introduced in this chapter of the thesis. The proposed 5-axis contour controller is designed in two steps. In Section 5.2, the kinematics of the machine tool and the tool tip contour error models introduced in Chapter 4 are utilized to design a robust sliding mode controller that minimizes the tool tip contour errors. The proposed tool tip contour error controller is based on the rigid body dynamic model. It estimates the normal deviation of the tool tip from the desired contour and generates coupled control to the axis drives (X,Y,Z, A and C). The design of an orientation contour error controller is presented in Section 5.3. The orientation sliding mode controller, on the other hand, utilizes the orientation contour error estimation and couples only the two rotary drives (A and C) for accurate orientation contouring. Both contour controllers are implemented together, and the complete 5-axis contour controller scheme is constructed to control the tool tip and orientation contour errors in a coupled fashion. The effectiveness of this control strategy is experimentally demonstrated on the 5-axis CNC machine tool in Section 5.4, and the contributions [43] are summarized in Section 5.5. 76  Chapter 5: Precision Contouring Controller Design for 5-Axis Machine Tools 5.2  Design of the Sliding Mode Controller for Tool Tip Contour Errors  The simplified rigid body dynamics of a typical feed drive system on a 5-axis machine tool were modeled in Chapter 4 as:  q(t ) = M −1[u(t ) − d(t ) − Cq(t )]  (5.1)  where q(t ) = [ x(t ), y (t ), z (t ), a(t ), c(t )]T contains the drive positions. q and q contain the drive velocities and accelerations, respectively. u is the control input to the amplifiers, and d is the external disturbance reflected at the amplifier’s input. M ∈ ℜ 5×5 and C ∈ ℜ 5×5 are diagonal matrices that contain the drives’ equivalent inertia and viscous  damping values. The jacobian matrix, J (t ) ∈ ℜ 5×5 relates drive velocities, q , to the tool pose velocity ( x(t ) = [ Px (t ), Py (t ), Pz (t ), a(t ), c(t )]T ) and obtained from the kinematics of the 5-axis machine. The drive dynamics are mapped to the tool pose using the jacobian, and tracking error dynamics of the tool in the workpiece coordinate system has been expressed as:  e(t ) = xref (t ) − J (t )q(t ) − J (t )M −1[u(t ) − d(t ) − Cq(t )] .  (5.2)  Based on the contour error and drive dynamics models presented in Chapter 4, a sliding mode controller that minimizes the tool tip contour errors is designed herein.  77  Chapter 5: Precision Contouring Controller Design for 5-Axis Machine Tools  z  F h  e  ε F  en+eb y  Actual Tool Tip Location  Workpiece Coordinate System  x  Figure 5.1: Tool tip contour error estimation.  The actual tool tip contour error vector ( ε ) has been modeled by reflecting the tool tracking tip errors ( e ) on the delay compensated Frenet Frame ( F ) ,  ⎫ ⎪⎪ e F = F Te + F Te + h F ⎬. ⎪ eF = F Te + 2Fe + F Te + hF ⎪⎭ e F = F Te + h F  (5.3)  The contour errors left on the part surface are estimated from the normal and bi-normal components ( ε = en + eb ) of the errors (see Figure 5.1), which are minimized by the sliding mode controller. The contour error dynamics are derived by substituting Equation (5.2) into Equation (5.3):  78  Chapter 5: Precision Contouring Controller Design for 5-Axis Machine Tools  ⎡ et ⎤ ⎢ ⎥ ⎢ en ⎥ eF = ⎢ eb ⎥ = F T ⎣⎡ xref − Jq − JM −1 ( u + d − Cq ) ⎦⎤ + 2F Te + F Te + h F . ⎢ ⎥ ⎢ea ⎥ ⎢e ⎥ ⎣ c⎦  (5.4)  Note that the dynamics of the first three components, namely the tangent, normal and binormal ( et , en , eb ) errors are nonlinear and time varying due to the Jacobian and Frenet Frame transformations. The last two components are the regular tracking error dynamics of the rotary drives. A second order sliding surface, S ∈ℜ5×1 , is designed to contain the proportional, integral and derivative of the time varying errors according to: ⎡ St ⎤ ⎢S ⎥ t ⎢ n⎥ S = ⎢ Sb ⎥ = CPeF + CI ∫ eF dτ + CDeF , ⎢ ⎥ 0 ⎢ Sa ⎥ ⎢⎣ Sc ⎥⎦  (5.5)  where CP ∈ ℜ5×5 , C I ∈ ℜ 5×5 and C D ∈ ℜ5×5 are diagonal design matrices that represent the desired achievable dynamics of the errors on the sliding surface. The control input  ( u ∈ℜ ) 5×1  must be manipulated in such a way that the errors and the time derivative  converge asymptotically to the stable sliding surface, so that they eventually slide to  ~ origin S → 0 as ~eF → 0 and eF → 0 . The error dynamics on the sliding surface can be represented in Laplace domain as:  S = ⎣⎡CD s 2 + CP s + CI ⎦⎤ eF (s) = 0  79  (5.6)  Chapter 5: Precision Contouring Controller Design for 5-Axis Machine Tools  where s is the Laplace operator, and stable 2nd order error dynamics can be designed by choosing constant design matrices: ⎫ ⎪ ⎪ CP = diag ( 2ζ tωn , t , 2ζ nωn , n , 2ζ bωn , b , 2ζ aωn , a , 2ζ cωn , c ) ⎬ ⎪ CI = diag (ωn2, t , ωn2, n , ωn2, b , ωn2, a , ωn2, c ) ⎪⎭  C D = I 5× 5  (5.7)  where ζ i and ωn,i , i = t , n, b, a, c are the individual damping and natural frequencies for each tracking error component. The variation in the external disturbance caused by the cutting process and friction is considered to be constant and remains between the known upper, d + ∈ℜ5×1 , and lower, d − ∈ℜ5×1 , limits during short time intervals. The external disturbances force contouring errors to deviate from the sliding surface, but they can be tracked using the following observer which integrates the sliding surface: ˆ dˆ = ΓκJ T FS → d(k) = dˆ ( k − 1) + TΓκJ T FS .  (5.8)  T is the control sampling period, Γ = diag ( Γ t , Γ n ,..., Γ c ) is the observer gain matrix, J T  is the transpose of the jacobian, and κ = diag (κ t , κ n ,...κ c ) is a matrix with positive entries used to impose limits on the integral control action against the disturbances, so that the observations are within the given bounds, d − ≤ dˆ ≤ d + , ⎧0 if dˆ ≤ d − and S ≤ 0 ⎫ ⎪⎪ ⎪⎪ κ = ⎨0 if dˆ ≥ d + and S ≥ 0 ⎬ ⎪1 ⎪ otherwise ⎪⎩ ⎭⎪ .  80  (5.9)  Chapter 5: Precision Contouring Controller Design for 5-Axis Machine Tools  The bounded disturbance observer avoids chattering of the controller on the sliding surface. In order to push the tracking errors onto the sliding surface, the following Lyapunov vector function is postulated as: ⎡Vt ⎤ ⎢V ⎥ ⎢ n⎥ 1 ˆ T Γ −1 (d − d) ˆ ⎤. V = ⎢Vb ⎥ = ⎡⎣S TMS + (d − d) ⎦ 2 ⎢ ⎥ V ⎢ a⎥ ⎢⎣Vc ⎥⎦  (5.10)  This function penalizes the deviation from the surface and the square of the disturbance estimation error. The derivative of the Lyapunov function,  (  V = S T MS − d − dˆ  )  T  Γ −1dˆ  (5.11)  must be negative for asymptotic stability. This pushes the states towards the sliding surface where they follow the desired 2nd order dynamics. Equations (5.6) and (5.8) are substituted into Equation (5.11) to yield:  (  )  T  V = S TM ⎡⎣CI eF + CPeF + CDe ⎤⎦ − d − dˆ κJ T FS  (5.12)  and Equation (5.4) is used to expand the derivative of the Lyapunov function: V = S TM ⎡CIeF + CPeF + F T xref − F T Jq − F T JM −1u + F T JM −1Cq + 2F Te + F Te + h ⎤ ⎣ ⎦ (5.13) T T T T + S F Jd − S F J d − dˆ .  (  )  (  Noting that S TκF T Jd − S T F T J d − dˆ  (  )  in Equation (5.13) can be regrouped as  )  S T F T J d − dˆ (1 − κ ) , and due to the disturbance limits imposed in Equation (5.9)  81  Chapter 5: Precision Contouring Controller Design for 5-Axis Machine Tools  (  )  S T F T J d − dˆ (1 − κ ) ≤ 0 holds. As a result, the following criterion is sufficient to ensure  (  )  the asymptotic stability V(t ) < 0 of Equation (5.13): V = STM ⎡CIe + CPeF + F T xref − F T Jq − F T JM −1u + F T JM −1Cq + 2FTe + F Te + h ⎤ ⎣ ⎦ +STF T Jdˆ = −STK S  (5.14)  s  where K s = diag ( K s ,t , K s , n ,..., K s , a ) is a positive definite diagonal feedback gain matrix used to push individual error components onto the sliding surface. Hence, the control law has been obtained from Equation (5.14) as ⎡ ut ⎤ ⎢u ⎥ ⎢ n⎥ u = ⎢ub ⎥ = J −1FM ⎡CIeF + CPeF + F T xref − F T Jq + 2F Te + F Te + h F + M −1K sS ⎤ + Cq + dˆ (5.15) ⎣ ⎦ ⎢ ⎥ ⎢ua ⎥ ⎢⎣ uc ⎥⎦  where the disturbance, d̂ is evaluated from Equation (5.8). The asymptotic stability of the tool tip contour controller (Equation (5.15)) is guaranteed as follows: The Lyapunov  ( )  function ( V ) postulated in Equation (5.10) is lower bounded, and its derivative V is forced to decrease by the condition imposed in Equation (5.14). As a result, the sliding ⎛t ⎞ surface ( S ) , the contour error states ⎜ ∫ eF dτ , e F , eF ⎟ , and the estimated disturbances ⎝0 ⎠  ( )  acting on the tool d are all bounded. The stable sliding mode control law in Equation (5.15) is substituted into the contour error dynamics (Equation (5.4)) to obtain the following equation: S + MK sS = F T JM -1 (d - dˆ ) . 82  (5.16)  Chapter 5: Precision Contouring Controller Design for 5-Axis Machine Tools  ex, ex  xref , xref -  yref , yref -  zref , zref -  aref , aref cref , cref -  x  ux  ey, ey ez, ez ea , ea ec , cc  Transformation to Frenet Frame & Sliding Mode Control Law (Eq. 5.15)  uy uz ua uc  Five - Axis Machine Tool Servo Drives  Path Planning & Interpolator  Frenet Frame Transformations (F,F,F) Reference Tool Pose Vector &Kinematics(xref ,xref ,xref )  y z a c  Drive Position and Velocity  Tool Pose Position &Velocity Feedback Direct Kinematics  Figure 5.2: Tool tip contour controller block diagram.  In Equation (5.16), S is bounded since d - dˆ is bounded, and J , FT are both bounded by the reference trajectory. The error dynamics, e F , is bounded from Equations (5.6) and (5.16), the second derivative of the Lyapunov function (Equation (5.14)), t ⎛ ⎞ V = − ⎜ C Pe F + CI ∫ e F dτ + C De F ⎟ C Pe F + CIe F + CDe F 0 ⎝ ⎠  (  )  (5.17)  is also bounded. In conclusion, V is positive definite lower bounded, V is positive definite decreasing and V is bounded and this proves that V is a uniformly continuous function. Barbalat’s lemma [73] dictates that V → 0, S → 0 as t → ∞ , and all the contour errors on the sliding surface converge to origin, eF → 0, eF → 0 . Considering the simplified homogenous transformation ( e F = F Te ) between the contour errors ( eF ) and tracking errors ( e ) from Equation (5.3), it yields that both contour and the drive tracking errors converge asymptotically to the origin: e → 0 as eF → 0 . The overall controller structure is illustrated in Figure 5.2. Unlike in Single Input Single Output (SISO) control structures, the interpolator does not use inverse kinematics  83  Chapter 5: Precision Contouring Controller Design for 5-Axis Machine Tools to generate reference commands to the drives in the proposed contouring controller. Instead, the interpolator generates the reference tool tip position command in the workpiece coordinate system and the rotary drive positions in the joint coordinate system. The proposed controller uses pose tracking errors and utilizes Frenet Frame [70] transformations to compute the contour error dynamics. The control action is then sent to the five physical drives of the machine tool. As explained in Chapter 4, due to the kinematics of the machine tool, tracking errors of all five axes influence the tool tip position in the workpiece coordinates. However, the kinematics of the machine tool allows compensation for the tool tip positioning errors by utilizing only the Cartesian axes of the machine tool. The tool position in joint coordinates is used in the contour error estimation and Cartesian axes are coupled together. Since tool tip contour errors that are directly influenced by the errors in normal and bi-normal directions ( en , eb ) are emphasized, higher bandwidths (ωn, n , ωn,b ) and feedback gains can be used to achieve more accurate contouring performance. Dynamics in the tangent direction are set to be slower so that the drives are not saturated. In contrast, the rotary drives are not coupled during computation of the control action; rather they are regulated individually. The proposed sliding mode controller ensures the stability of the complete machine tool during simultaneous 5-axis machining. 5.3  Design of Sliding Mode Controller for Tool Orientation Contour Errors The orientation contour error is defined as the normal deviation from the orientation  trajectory in Chapter 4, which is briefly summarized here to derive the control law. The  84  Chapter 5: Precision Contouring Controller Design for 5-Axis Machine Tools orientation errors defined in spherical coordinates, eo = [eo,i , eo, j , eo, k ]T , are reflected in the normal direction to the desired tool-path, and the contour errors are estimated as:  ε o = eo − ω ( eoT ω )  (5.18)  where ω = ω ω is the normalized angular velocity of the tool axis. Using the orientation jacobian, J O , the tool orientation tracking error ( eo ) is evaluated from rotary drive tracking errors, eR = [ea , ec ]T , as:  eo ≈ J O e R .  (5.19)  The relationship between the tool orientation contour error vector in the workpiece coordinate system, εo , and the corresponding rotary drive errors, ε R = [ε a , ε c ] , in the  machine coordinates was obtained as: ⎡ε ⎤ ε R = ⎢ a ⎥ = e R − v(vT e R ) ⎣ε c ⎦  (5.20)  where v = [va , vc ]T contains normalized rotary drive velocities. The sliding mode contour controller designed for the tool tip contour control in Section 5.2 also sends control signals, ua and uc , to minimize individual tracking errors, ea , ec , of the rotary drives. However, a separate controller is redesigned in this section  for the rotary drives in order to minimize the orientation contour error components  (ε a , ε c )  in parallel to the regular tracking errors ( ea , ec ) . By considering only the motion  of the rotary drives from Equation (5.1), the decoupled tracking error dynamics for rotary drives can be expressed as:  85  Chapter 5: Precision Contouring Controller Design for 5-Axis Machine Tools ⎡e ⎤ e R = ⎢ a ⎥ = x ref − M −1 (u − d − Cq) ⎣ ec ⎦  (5.21)  where M = diag ( ma , mc ) and C = diag ( ca , cc ) contain drive inertias and damping values. Tracking errors of the rotary drives are then redefined as the weighted sum of the regular rotary drive tracking errors ( eR = [ea , ec ]) and the integral of the contour error components ( ε R = [ε a , ε c ]) from Equation (5.18) as: 0 ⎤ t ⎡ε a ⎤ dτ wc ⎥⎦ ∫0 ⎢⎣ ε c ⎥⎦  ⎡e ⎤ ⎡ w e = ⎢ a⎥ + ⎢ a ⎣ ec ⎦ ⎣ 0 eR  W  (5.22)  εR  where W = diag ( wa , wc ) is the positive definitive diagonal weighting matrix. Note that when the weights ( wa , wc ) are set to zero, the new error state, e is based only on the tracking errors of rotary drives. As the weights are increased, the effects of contour errors are raised in e . Consequently, minimizing the new error state with non-zero weights will introduce coupling and synchronization between the rotary drives to improve the contouring performance. Similar to the sliding mode controller design  (  procedure presented in Section 5.2, a sliding surface S ∈ℜ2×1  )  that covers the error  states is selected as: S = ∆e + e = 0  (5.23)  where ∆ = diag ( λa , λc ) is the desired bandwidth of the errors on the sliding surface. The control input, u ∈ℜ2×1 , is manipulated in such a way that the errors and derivatives  86  Chapter 5: Precision Contouring Controller Design for 5-Axis Machine Tools  converge asymptotically to the stable sliding surface where they eventually slide to the  (  )  origin. The disturbances d ∈ℜ2×1 are estimated from the following observer: dˆ = ΓκS → dˆ ( k ) = dˆ ( k − 1) + TΓκS  (5.24)  where Γ ∈ ℜ 2× 2 contains parameter adaptation gains, and κ ∈ ℜ2× 2 is used to keep the observed disturbance within the given boundaries similar to the expression presented in Equation (5.9). In order to push the errors onto the sliding surface, a positive definite lower bounded Lyapunov function is used, V=  (  1 T ˆ T Γ −1 (d − d) ˆ S MS + (d − d) 2  (  )  (5.25)  )  and the asymptotic stability V(t ) < 0 is ensured by setting S T M ⎡⎣ ∆e + x ref − M −1 (u − d − Cq) + Wε R ⎤⎦ = −S T K sS  (5.26)  where K s = diag ( K s , a , K s , c ) is the feedback gain matrix. The control law is obtained from Equations (5.21), (5.22) and (5.26) as:  a ,a aref, aref  ea, ea  + Path Planning & Interpolator  Rotary Drive Position and Velocity Feedback  ea, ea +  εR, εR  Orientation Contour Error Estimation  cref ,aref  + cref, cref  +  -  ua Sliding Mode Control Law (Eq. 5.27)  uc  Five - Axis Machine Tool Rotary Drives  -  ec, ec  c ,c  Figure 5.3: Tool orientation contour controller block diagram.  87  a  c  Chapter 5: Precision Contouring Controller Design for 5-Axis Machine Tools ⎡u ⎤ u = ⎢ a ⎥ = M∆e + Mxref + Cq + MWε R + dˆ + K sS . ⎣ uc ⎦  (5.27)  The proposed control law minimizes the error state that contains weighted sum of t  tracking and the contour components, e = e R + W ∫ ε R dτ . The block diagram of the 0  orientation contour controller is presented in Figure 5.3. The stability of the orientation controller (Equation (5.27)) is proven using the same approach as for the tool tip position controller. Since the derivative of the Lyapunov function postulated in Equation (5.25) is decreasing and S , e, e and d̂ are all bounded, this implies that the signals e R , e R and ∫ εR , ε R are also bounded with respect to Equation (5.22). The control ( u ) from Equation (5.27) is substituted into Equation (5.21) to obtain:  (  )  S + M -1K sS = M -1 d - dˆ .  (5.28)  This equation shows that S , e are bounded functions. Using Equation (5.21) and the conclusions drawn from Equation (5.28), the boundedness of V is proven. Thus, V is uniformly continuous, and Barbalat’s lemma [73] implies that as t → ∞ V → 0, S → 0 , proving that the proposed error state converge to origin, e → 0, e → 0 , and the controller is stable. Since the Cartesian axis positions do not influence the tool orientation, the tool axis orientation controller works as an uncoupled system. The contour error weight ( W) specifies the amount of coupling introduced between the rotary axes. If W = diag ( 0,0 ) , the  88  Chapter 5: Precision Contouring Controller Design for 5-Axis Machine Tools  MIMO sliding mode control law in Equation (5.27) is reduced down to two separate stable SISO SMC laws for tracking control of the A and C rotary drives. On the other hand, the effect of nonzero weights for the orientation contouring performance is investigated as follows: When the states are away from the sliding surface ( S ) the feedback term, K sS , is nonzero, which pushes the states back to the surface. When the error states are on the sliding surface ( K sS = 0 ) during steady state, the disturbance estimation term can be neglected, and the equivalent control is obtained from Equation (5.27) as: u = M∆e + Mxref + Cq + MWε R .  (5.29)  One can substitute the equivalent control ( u ) from Equation (5.29) into the error dynamics presented in Equation (5.21) to obtain the steady state tracking errors ( eR ) of the drives:  (  )  e R = x ref − M −1 M∆e + Mx ref + MWε R ,  (5.30)  which can be further simplified by substituting the expression for e from Equation (5.22). Rewriting Equation (5.30) in Laplace (s) domain yields: s( s + ∆)Ie R ( s ) = −( s + ∆)IWε R ( s ) eR (s) = − W  ε R (s) Is  (5.31)  where I 2× 2 is identity matrix. When there is no contour error ( W = diag (0,0) ) added to the rotary drive tracking errors, e*R is denoted as the pure rotary drive tracking errors  89  Chapter 5: Precision Contouring Controller Design for 5-Axis Machine Tools  without the effect of contour coupling. Equation (5.31) can be re-expressed to relate the  ( )  ( )  drive tracking errors between the coupled eR and the un-coupled e*R cases, e R ( s ) = e*R ( s ) − W  ε R (s) . Is  (5.32)  ( )  Similarly, Equation (5.18) can be rewritten for the coupled ( εR ) and the uncoupled ε*R cases as: ε R = e R − v(vT e R ) ⎫⎪ ⎬ ε*R = e*R − v(vT e*R ) ⎪⎭ .  (5.33)  Hence, substituting Equation (5.33) into (5.32) leads to: ε R + v[ v T (e*R − e R )] = ε*R − W  and substituting e*R ( s ) − e R ( s ) = W  εR Is  (5.34)  ε R (s) from Equation (5.32) into Equation (5.34) s  yields: ε R ( s ) + v[ v T ε R ( s )] = ε*R ( s ) − W  εR (s) Is .  (5.35)  Note that, the contour error vector and the angular velocity vector are perpendicular, ω ⋅ ε R = 0 → v ⋅ ε R = 0 ; therefore, Equation (5.35) can be simplified as:  ε R ( s) =  Is ε *R ( s ) Is + W .  (5.36)  Hence, Equation (5.36) shows that for a positive definitive weight matrix, W , the controller minimizes the contour errors in the coupled mode ( εR ) as compared to the  90  Chapter 5: Precision Contouring Controller Design for 5-Axis Machine Tools  ( )  uncoupled initial case ε*R especially in the frequency range. In parallel, the stability of  ( )  the tracking errors eR for the coupled case can be studied by substituting Equation (5.33) into Equation (5.32): e R ( s ) = e*R ( s ) −  W⎡ e R ( s ) − v ( v T e R ( s ) ) ⎤⎦ , ⎣ Is  (5.37)  which is simplified as: e R ( s ) = e*R ( s ) −  ⎡1 − va W Ψ ⋅ eR (s)] ← Ψ = ⎢ [ Is ⎣ −va vc  −va vc ⎤ 1 − vc ⎥⎦  (5.38)  where Ψ has positive semi definite eigenvalues. Equation (5.38) is reorganized to  ( )  obtain the transfer function of tracking errors eR in the coupled case: eR (s) =  Is e*R ( s ) , Is + W Ψ  (5.39)  which is stable for positive contour weights ( W) . The complete 5-axis contour controller is obtained by combining the tool tip controller presented in Section 5.2 with the tool orientation contour controller in Section 5.3. The complete controller scheme is shown in Figure 5.4. The orientation contour controller is strictly uncoupled from the Cartesian contour controller and requires feedback only from the rotary drives. The stability study has shown that the orientation controller is stable and both contour and tracking error signals are bounded. The tool tip contour controller uses position and velocity feedback from the rotary drives in the computation of the jacobian matrix ( J ) and in the inverse kinematics transformation. The tool tip controller is internally bounded input-output stable, and the signals required from the 91  Chapter 5: Precision Contouring Controller Design for 5-Axis Machine Tools  xref , xref  ex, ex -  yref , yref  ey, ey  -  zref , zref  ez, ez  -  aref , aref cref , cref  ux  ea , ea ec , cc  -  Transformation to Frenet Frame & Sliding Mode Control Law (Eq. 5.15)  uy uz ua uc  x  Five - Axis Machine Tool Servo Drives  Path Planning & Interpolator  Frenet Frame Transformations (F,F,F) Reference Tool Pose Vector &Kinematics(xref ,xref ,xref )  y z  Tool Pose Position &Velocity Feedback Direct Kinematics a ,a ea, ea  Path Planning & Interpolator  +  ea, ea + εR, εR  Orientation Contour Error Estimation  cref ,aref  + cref, cref  +  -  ua Sliding Mode Control Law (Eq. 5.27)  uc  Five - Axis Machine Tool Rotary Drives  -  aref, aref  Axis Position and Velocity Feedback  a  c  ec, ec  c ,c  Figure 5.4: Complete 5-axis contour controller block diagram.  rotary drives are all bounded allowing the tool tip controller to generate bounded control to the Cartesian drives. As a result, the overall 5-axis contour control system is stable. 5.4  Implementation and Experimental Results The dynamic parameters of the open architecture controlled experimental 5-axis are  given in Table 5.1. This section compares the 5-axis contouring performance of the proposed contour controller against the SISO axis based sliding mode tracking controller [35]. The SMC of each drive is tuned separately, and the bandwidths of the Cartesian axis are matched in order to obtain better contouring performance (Table 5.1). The previously presented 5-axis contour tool-path (see Figure 5.5) is used in air cutting tests.  92  Chapter 5: Precision Contouring Controller Design for 5-Axis Machine Tools  Table 5.1: Drive parameters.  m=  J K a K t rg  c=  B K a K t rg  X-axis Y-axis Z-axis A-axis C-axis 0.00162 0.00174 0.00296 0.00682 0.00054 2 2 2 2 [Vsec mm] [Vsec mm] [Vsec mm] [Vsec rad] [Vsec2 rad] 0.00681 [Vsec mm]  0.00863 [Vsec mm]  0.01518 [Vsec mm]  0.01964 [Vsec rad]  0.00368 [Vsec rad]  Table 5.2: 5-Axis SMC control parameters (SISO scheme).  SMC Parameters ωn [rad/sec]  X-axis Y-axis Z-axis A-axis C-axis 200 200 180 150 200  K s [V/mm/sec] ([V/rad/sec] for rotary drives) Disturbance Adaptation Gain Γ [V/mm( or rad)]  7  5  5  0.5  1  25  30  15  3  3  Reference tool tip position  Reference tool orientation  180 160  1  k  140 120  80  z [mm]  100  60 40 20  -1 1  0 20  y[  j  m  10  m  ]  x [mm]  0 -10  i  0 -10  -1  -20 -30  Figure 5.5: Five-axis tool-path.  93  1  Chapter 5: Precision Contouring Controller Design for 5-Axis Machine Tools  A smooth trajectory is generated with a maximum cruise speed of 50[mm/sec] and cubic acceleration/decelerations of 1500 [mm/sec2]. The corresponding axis reference position and velocity commands are shown in Figure 5.6. It should be noted that, although the tangential feedrate is selected conservatively, higher reference axis velocities and accelerations are observed because of the continuously varying path curvature and the kinematics of the machine tool. As shown in Figure 5.6c, the y and z axis speeds are commanded as high as 200 [mm/sec] and 90 [mm/sec], respectively.  200  2 X Axis Y Axis Z Axis  100 50  1  0.5  0  0  −50 −100  A Axis C Axis  1.5 [rad]  [mm]  150  0  1  2 time [sec] 4  −0.5 0  5  1  a) 2 1 [rad/sec]  [mm/sec]  100 0 −100  −300 0  5  b)  200  −200  2 time [sec] 4  X Axis Y Axis Z Axis  1  0 −1  2 time [sec] 4 c)  −2 0  5  A Axis C Axis  1  2 time [sec] 4 d)  5  Figure 5.6: Reference axis trajectories: reference Cartesian axis positions, b) reference rotary axis positions, c) reference Cartesian axis velocities, d) reference rotary axis velocities.  94  Chapter 5: Precision Contouring Controller Design for 5-Axis Machine Tools  Error [micron]  400  200 100 0  Error [micron]  Tool Tip Contour Error (Conventional)  300  0  2  time[sec] a)  4  20  20  20  10  10  10  0  0  0  −10  −10  −10  −20 0  Error [milliradian]  1  2 time [sec] 4 b)  −20  0  4  4  2  2  0  0  −2  −2  −4  0  1  2  time [sec] 4 e)  −20  2 time [sec] 4 c)  −4  5  0  1  5  0  2  2 time [sec] 4 d)  time [sec] 4 f)  5  Figure 5.7: Contouring performance of the SISO controller (experimental): a) tool tip contour errors, b) X axis tracking, c) Y axis tracking, d) Z axis tracking, e) A axis tracking, f) C axis tracking. Table 5.3: 5-axis contour controller parameters.  SMC Parameters  ωn [rad / sec] K s [V / mm / sec] ([V/rad/sec] for rotary drives) Disturbance Adaptation ( Γ [V / mm( or rad)] )  100  230  Binormal direction 230  2  4  4  0.5  1  10  20  20  3  3  0  0  Tangential Normal direction direction  wa , wc ( orientation contour error weights W=diag(wa,wc))  95  A-axis  C-axis  150  200  Chapter 5: Precision Contouring Controller Design for 5-Axis Machine Tools  Experimental air cutting results under SISO sliding mode control are presented in Figure 5.7. The tracking errors are measured by comparing the reference axis trajectory against the actual positions measured from rotary encoders mounted at the motor side of each drive. As shown in Figure 5.7b-f, dedicated SMCs with disturbance observers provide each axis to accurately track their reference position commands. The highest axis  tracking errors are observed as max(ex)=15 [micron], max(ey)=13 [micron],  max(ez)=7 [micron], max(ea) = 2.2 [milliradian], max(ec) = 1.7 [milliradian]. By inspecting the velocity trajectory of the drives from Figure 5.6(c-d) it can be observed that peak tracking errors occur especially at the velocity reversal of the axis where coulomb friction acts as a step disturbance to the drives. The contour error estimation method presented by Altintas and Erkorkmaz [19] is then used to measure the tool tip contour error along the tool-path, as presented in Figure 5.7a. Precise axis tracking performance does not always guarantee the desired contouring accuracy during simultaneous 5-axis contour machining. Since tracking errors of all drives affect the tool position, the mean absolute tool tip contour error is calculated as mean(ε)=45 [micron] and maximum is max(ε)=317 [micron]. It should also be noted that, the main contribution to the contour errors originate from the tracking errors of A and C rotary drives. Both axes rotate the workpiece, and due to the offset between the rotary drives’ axis of rotations and the placement of the workpiece coordinate system, small rotations may cause large deviation of the tool tip on the workpiece. The peak errors are observed in tool tip contouring (Figure 5.7a) predominately, when the A drive shows its highest tracking error lag during velocity reversals (Figure 5.7e). The peak error points are identified in Chapter 4 at locations ~1, 2.2, 3.5 and 5 [sec]. Smaller peaks are also observed (~1.5, 3, 3.5 and 4.2  96  Chapter 5: Precision Contouring Controller Design for 5-Axis Machine Tools  [sec]), which are related to the tracking errors of the c axis. Thus, faster dynamics on the rotary axes are desired, or improved coordination between the drives should be accomplished in the CNC’s control law to minimize tool tip contour errors.  Error [micron]  400 Tool Tip Contour Error (Conventional)  300 200  Tool Tip Contour Error (Proposed)  100  Error [micron]  0 0  time [sec] a)  2  4  200  200  200  100  100  100  0  0  0  −100  −100  −100  −200 0  Error [milliradian]  1  2 time [sec] 4 b)  −200  −200 0  2 time [sec] 4 c)  4  4  2  2  0  0  −2  −2  −4  0  1  2 time[sec] e)  4  5  5  −4 0  0  1  2 time [sec] 4 d)  2 time[sec] f)  4  5  Figure 5.8: Proposed tool tip contour controller performance (experimental) ): a) tool tip contour errors, b) X axis tracking, c) Y axis tracking, d) Z axis tracking, e) A axis tracking, f) C axis tracking.  The following experiments are performed using the proposed tool tip contour controller scheme shown in Figure 5.4. The tool tip contour controller couples the Cartesian axes together to minimize tool tip contour errors. The rotary drives are controlled as SISO systems, so that their individual tracking errors are minimized by setting the  97  Chapter 5: Precision Contouring Controller Design for 5-Axis Machine Tools  coupling weights to zero ( wa = wc = 0) . Parameters for the tangential, normal and binormal directions are tuned and represented in Table 5.3. Table 5.4 Performance of the tool tip contour controller at different feedrates.  Tangential feedrate [mm/sec] 50 60 80  Five-axis contour controller Max tool tip Mean tool contour error tip contour [mm] [mm] 0.079 0.010 0.087 0.014 0.101 0.020  SISO tracking controller Max tool tip Mean tool tip contour error contour error [mm] [mm] 0.317 0.045 0.359 0.055 0.412 0.074  Table 5.5: The effect of directional bandwidths on the tool tip controller’s performance.  Bandwidth [rad/sec] Tangent Normal Bi-normal 100 230 230 100 200 200 70 230 230  Maximum tool tip contour error [micron] 90 115 93  Mean tool tip contour error [micron] 13 18 12  The tangential direction is tuned to a slower setting so that higher gains in the normal and bi-normal directions are achieved without causing saturation of the drives. The experimental contouring results are presented in Figure 5.8. Since the rotary drives are not coupled, they demonstrate identical tracking performance as in the previous SISO case (see Figure 5.7 and Figure 5.8e-f). In contrast, due to the contour objective of the proposed controller, the Cartesian axes are now coupled and demonstrate higher axis tracking errors max(ex)=130 [micron], max(ey)=216 [micron], max(ez) = 130 [micron] (see Figure 5.8b-d). Peaks in the tracking error occur particularly when the rotary drives exhibit their highest errors. This indicates that the Cartesian drives are deviating from  98  Chapter 5: Precision Contouring Controller Design for 5-Axis Machine Tools  their reference trajectory in order to compensate for the deviation of the tool tip from the desired contour. As a result, improved contouring performance is achieved, as shown in Figure 5.8a. The mean tool tip contour error is calculated as mean(ε)=10 [micron], which is approximately four times lower in comparison to the SISO case, and the maximum deviation is reduced from 317 [micron] down to max(ε)=79 [micron]. Tests are also performed at higher feedrates where a similar contouring performance trend is observed (see Table 5.4). In order to study the effects of the tuning parameters at a fixed feedrate (60 [mm/sec]), the tangential, normal and bi-normal bandwidth parameters are varied, and the results are summarized in Table 5.5. In the first test, the bandwidth in tangent direction is set to ωn,t = 100 [rad/sec] where normal and bi-normal bandwidths are reduced from 230 [rad/sec] down to 200 [rad/sec]. As compared in Table 5.5, maximum and mean contour errors are increased from 90[micron] to 115 [micron] and from 13 [micron] to 18 [micron], respectively. On the other hand, as the tangential bandwidth is varied from 100 [rad/sec] to 70 [rad/sec], for the same normal and bi-normal bandwidths, tool tip contour errors do not show any significant change. This validates the hypothesis that the tangent bandwidth component has little effect on the contouring performance due to accurate contour error estimation (see Figure 5.9). Hence, normal and bi-normal bandwidths and gains are the most essential tuning parameters for the proposed controller. Once the equivalent mass and viscous friction values of the drives are identified (Table 5.1), bandwidth, feedback and disturbance adaption gains for each axis can be individually tuned to achieve desired tracking performance in a SISO control scheme; in contrast, the proposed SMC controller requires tuning of the coupled gains.  99  Chapter 5: Precision Contouring Controller Design for 5-Axis Machine Tools  From a practical perspective, the control parameters in normal and bi-normal directions should be set identical and 10-20% higher than the values set for the slowest drive in the SISO scheme. The tangential bandwidth is then set ~50% lower than the normal direction. Once a working parameter set is obtained, it can be fine-tuned along a simultaneous 5-axis contouring path. Tool Tip Contour Error Trend  Error[micron]  200 150  ωn,tangent = 70 ωn,tangent = 100 ωn,normal = 230 ωn,normal = 230 ωn,bi-normal= 230 ωn,bi-normal= 230  100  ωn,tangent = 100 ωn,normal = 200 ωn,bi-normal= 200  50 0 0  1  2  time [sec]  3  4  Figure 5.9: Effect of controller parameters.  As presented in Chapter 4, orientation contour error is measured as the normal angular deviation from the desired tool-path using  ⎛⎛ ⎜ ⎝⎝  φε = cos −1 ⎜ ⎜⎜ Oref −  ω eo ⋅ ω ⎞ ⎞ ⎟ ⋅O⎟ ω ω ⎟⎠ ⎟⎠  (5.40)  The performance of the proposed orientation contour controller (Equation (5.27)) is studied by increasing the coupling weights ( W = diag ( wa , wv )) . By increasing the coupling weights, components from the orientation contour errors are transformed and added to the regular tracking errors of the a and c rotary drives. Thus, the rotary axes track a compensated reference trajectory, which in practice pushes the tool in a direction normal to the reference contour thus penalizing the tool orientation errors. Equation (5.40) can be used to plot the orientation contour error trend, and the experimental air cutting results with four different weights as summarized in Figure 5.10. In the first case  100  Chapter 5: Precision Contouring Controller Design for 5-Axis Machine Tools ( W = diag (0,0)) and there is no coupling between the rotary drives. The drives a and c  track their individual reference position commands as in the SISO case. As the weights are increased, W = diag (3,3) , W = diag ( 4,4) ) and W = diag (5,5) at each air-cutting test, rotary drive tracking errors are modified with respect to the Equation (5.22) to accommodate additional contour error components. The results are summarized in Figure 5.10a. As the weights are increased, more coupling is achieved and a steady decline in the orientation contour errors is emphasized in Figure 5.10b. 1  0. 5  0. 4 0. 2  0 0  time [sec]  0  5  a)  1  W=diag(5,5)  1  0. 6  trend  W=diag(4,4)  W=diag(3,3) W=diag(4,4) W=diag(5,5)  1. 5  0. 8  W=diag(3,3)  Error [milliradian]  2  W=diag(0,0)  Error [milliradian]  W=diag(0,0)  2 experiment 3 number b)  4  Figure 5.10: Orientation contour controller performance at F=50[mm/sec] (experimental): a) orientation contour error, b) mean orientation contour error trend.  5.5  Conclusion The objective of 5-axis machine tool control is to minimize the tool tip and orienta-  tion contour errors. Conventional 5-axis control schemes are entirely based on entirely eliminating tracking errors of the individual axis and take neither the tool-path nor the kinematics of the actual machine tool into consideration. The desired accuracy may not be achieved at high speed contouring of curved paths even if high performance robust controllers are utilized for the drive control. In this chapter a new approach has been presented where all five axes of the machine tool are controlled simultaneously by a 101  Chapter 5: Precision Contouring Controller Design for 5-Axis Machine Tools  robust, multi-input, multi-output sliding mode control that incorporates the kinematics of the machine tool. These contributions have been published [43]. Experimental results show that significant improvement in contouring performance is achieved at low and as well as in high speed five axis contouring. The added computation load can be handled by employing recent, high speed digital signal processors. The algorithm can also be switched between single and multi-axis modes along the tool path to improve rapid positioning of the tool in air cutting motions.  102  6. Closed Loop Identification of Feed Drive Systems 6.1  Introduction Each drive on a commercial 5-axis CNC machine tool is controlled with various  feedback controllers. Commercial CNC drive control systems have generally closed and propriety architecture, and a detailed dynamic model including the controller is never provided to end-users. Therefore, an identification method is required in order to estimate the drive dynamics of a 5-axis machine tool so that the contour error models presented in Chapter 4 can be utilized for simulating the machine’s contouring performance in a virtual environment. This chapter presents an identification technique for identifying the closed loop transfer function of machine tool feed drives. The drive system is identified in closed loop, including the feed drive mechanism, motor amplifier, and the control law. A short Numerical Control Program (i.e. G-code) is used to excite the axis dynamics without interfering with the servo control loop. The generalized drive model adapted from Erkorkmaz [60] is then used to capture the key dynamics of the drive systems as presented in Section 6.2. In order to guarantee the stability of the identified model dynamics, bounds on the pole locations are imposed, and a constrained identification problem is constructed. The Particle Swarm Optimization (PSO) technique is then employed to solve the nonlinear optimization problem. Simulation and experimented results demonstrating the effectiveness of the identification technique are shown in Section 6.5, followed by conclusions given in Section 6.6.  103  Chapter 6: Closed Loop Identification of Feed Drive System  6.2  Closed Loop Axis Dynamics The dynamic models, which can describe the overall closed loop behavior of mod-  ern 5-axis CNC drives controlled with various feedback control techniques such as P, PI, PID, and P-PI cascade controllers are considered (Figure 6.1). The models can have feedforward dynamic or friction compensation. As shown in Figure 6.1a, the drive dynamics is initially assumed to be only the rigid body motion (i.e. the flexibilities in the structures are not included) where J [kgm 2 ] is the equivalent inertia and B [kgm2 /s] is Disturbance  u Control Signal  Ka  i  Current Amplifier  Kt  T Tm - d  1 ω Js+B  Motor  a) Ineria Feedforward  s2  Inertia and Viscous Damping  xr [mm]  Vff rg  - Kv  Lead Screw  d  + u KaKt Kp+ Ki s  -  1 x s  Friction  Bff B KaKtrg  +  x  Jff J KaKtrg  Velocity & Friction Feedforward  s  .  rg  -  1 Js+B  rg  1 s  x[mm]  rg  1 s  x[mm]  PI Velocity Control Loop P Position Control Loop b) Ineria Feedforward  s2  Jff J KaKtrg Friction  Friction Feedforward  s xr [mm]  -  Bff B KaKtrg  Kp+Kd s+ Ks i  d  + u  KaKt  -  1 Js+B  PID Position Control Loop c)  Figure 6.1: Rigid body axis dynamics and common CNC drive control structures: a) rigid body drive model, b) P-PI control, c) PID control.  104  Chapter 6: Closed Loop Identification of Feed Drive System  the viscous damping coefficient. The motor and the amplifier are assumed to operate within their linear range, where u [V] is the control voltage command to the current amplifier. The amplifier dynamics are modeled by a gain factor, K a [A/V] , and the corresponding torque delivered to the drive is obtained by multiplying the current with the motor torque constant Kt [A/V] , and rg [mm/rad] is the ball screw transmission gain. The most commonly used control structures in 5-axis CNC drives are shown in Figure 6.1b and c. The P-PI controller scheme is illustrated in Figure 6.1b. In this scheme, the velocity loop is closed using proportional-integral (PI) control by adjusting the gains; K p , K i , and the position loop is closed by a proportional control (P) using K v . The well  known PID controller scheme is shown in Figure 6.1b, where the closed loop is directly closed using a proportional-integral-derivative (PID) controller with gains K p , K i , K d . In both controller schemes, feedforward compensation of axis dynamics is applied to widen the servo tracking bandwidth where V ff ∈ [ 0,1] , B ff ∈ [ 0,1] , J ff ∈ [ 0,1] are the respective gains used to cancel the dynamics in the P-PI controller. Similarly, inertia and viscous friction feedforward are implemented in the PID scheme to improve the overall tracking performance. For both cases, the closed loop transfer function between the commanded ( xr [mm]) and the actual axis position ( x[mm]) can be presented in the form,  1 rg J s ⋅ x ( s) − x( s) = ⋅ d (s) r 1 1 2 2 s + a1s + a2 + a3 s + a1s + a2 + a3 s s b0 s 2 + b1s + b2 + a3  Gtrack ( s )  Gdist ( s )  105  (6.1)  Chapter 6: Closed Loop Identification of Feed Drive System  where Gtrack (s) and Gdist ( s) are the equivalent axis tracking and disturbance transfer functions. In this model, the Coulomb friction, d , is considered to be a dominant source of contouring errors particularly at the velocity reversals. Assuming that the friction values in positive (d + ) and negative (d − ) directions are close in real system, the friction model is expressed as:  d = sign( x)d c  (6.2)  where d c [ Nm] is the average Coulomb friction torque, and sign( x) is the sign function that returns “1” when the axis velocity is positive, “-1” when the velocity is negative and “0” otherwise. Substituting the friction model from Equation (6.2) into (6.1) yields the generalized axis model shown in Figure 6.2:  1⎤ 1⎤ ⎡ 2 ⎡ 2 ⎢⎣ s + a1s + a2 + a3 s ⎥⎦ x( s) = ⎢⎣b0 s + b1s + b2 + a3 s ⎥⎦ xr ( s) − sign( x)dc .  (6.3)  For the P-PI structure, the model parameters are obtained as:  B + K a K p Kt  K a K p K v Kt rg + K a Ki Kt  ⎫ ⎪⎪ J J J ⎬ (6.4) BB ff + K a K p KtV ff K a K p K v Kt rg + K a Ki KtV ff drg ⎪ b0 = I ff , b1 = , b2 = , dc = J J J ⎪⎭ , a1 =  , a2 =  , a3 =  K a Ki Kt K v rg  and for the PID structure, the parameters become:  B + K a K d Kt rg  ⎫ ⎪⎪ J J J ⎬ BB ff + K a Kt K d rg K a K p Kt rg drg ⎪ , b2 = , dc = b0 = I ff , b1 = J J J ⎪⎭ . a1 =  , a2 =  K a K p Kt rg  106  , a3 =  K a Kt Ki rg  (6.5)  Chapter 6: Closed Loop Identification of Feed Drive System  Including the feedforward dynamics compensation and the nonlinear Coulomb friction, the model presented in Equation (6.3) allows the closed loop dynamics to be presented using only 7 parameters, 3 poles ( a1 , a2 , a3 ) , 3 zeros ( b0 , b1 , b2 ) and the average friction amplitude,  ( d c ) . The reference and actual position ( xr , x ) , velocity ( xr , x )  ⎛t ⎞ acceleration ( xr , x ) values and the integrated tracking error ⎜ ∫ [ xr (τ ) − x(τ ) ] dτ ⎟ profiles ⎝0 ⎠  used in the model can be traced on the fly in most of the modern 5-axis CNCs. The closed loop model presented in Equation (6.3) is hence linear in the parameters  a1 , a2 , a3 , b0 , b1 , b2 , d c can be identified using least squares type of identification technique to be applied [53]. 6.3  Least Squares (LS) Parameter Identification The proposed identification method is shown in Figure 6.3. Identification is per-  formed by executing a series of NC blocks of linear movements on the actual machine tool to excite the closed loop drive dynamics as much as possible. In order to generate a high frequency excitation signal, the cubic acceleration profiling (i.e. “S-curve” functionality) must be disabled in the CNC controller, and the trapezoidal velocity profiling  xr [mm]  b0s2+b1s+b2+a3/s s2+a1s+a2+a3/s Tracking TF  x[mm]  d dt  1 2 s +a1s+a2+a3/s  dc sign(x)  Disturbance TF  Average Friction  Figure 6.2: General closed loop dynamics model.  with unbounded jerk must be used instead. This helps the drive dynamics in higher  107  Chapter 6: Closed Loop Identification of Feed Drive System  frequencies to be captured by the linear model. The feed and acceleration values in the NC blocks are set below the physical limits of the drives to avoid any actuator saturation. The overall displacement range is generally varied from too short to long, so that the performance of the drive for a wide range of feeds can be observed. The execution of several back and forth movements in different velocities allows the Coulomb friction amplitude to be identified more clearly. Actual Machine Tool  Identification G-code CNC Interpolator  xr  Control Law  Feed Drive System  xact  xpredcited  Gtrack(s)  -  Gdist(s)  Virtual Model  Figure 6.3: Identification scheme.  The identification NC code is executed by the CNC, and the axis position and encoder measurements ( xr , k , xk ) captured at the control loop period Ts , for a total of N samples.  The  objective  is  to  identify  the  7  dynamic  model  parameters,  a1 , a2 , a3 , b0 , b1 , b2 , d c in Equation (6.3), such that the error between the measured ( xk ) and the predicted axis ( xˆk ) motion is minimized in a Least Squares sense:  min f = min  1 N 2 ( xk − xˆk ) . ∑ 2 k =1  108  (6.6)  Chapter 6: Closed Loop Identification of Feed Drive System  Assuming that the reference and actual positions are measured ( xr , k , xk ) , their derivatives  (x ,x k  r,k  , xk , xr , k ) can be computed numerically, and tracking errors are k  (  )  integrated numerically, ei = Ts ∑ x r , m − xm . Hence, the axis position is predicted by m =1  taking the inverse Laplace transform of Equation (6.3): xˆ k = α 3ek − α 1 xk − α 2 xk + β 0 xr , k + β1 xr , k + β 2 xr , k − sign( xk )δ  (6.7)  where the model parameters are normalized with respect to a2 :  α 2 = 1 a2 ,α1 = a1 a2 ,α 3 = a3 a2 ⎫ ⎪ β 2 = b0 a2 , β1 = b1 a2 , β 3 = b3 a2 ⎬ ⎪ δ = d c a2 ⎭  (6.8) .  The axis positions are stacked in the output vector Y = [ x1  x2 … xN ] . Evaluating T  Equation (6.7) for each sample, the predicted axis positions are obtained:  ⎡ xˆ1 ⎤ ⎡ e1 ⎢ xˆ ⎥ ⎢ e xˆ = ⎢ 2 ⎥ = ⎢ 2 ⎢ ⎥ ⎢ ⎢ ⎥ ⎢ ⎣ xˆ N ⎦ ⎢⎣ en  − x1  − x1  − xr ,1  − xr ,1  − xr ,1  − x2  − x2  − xr ,2  − xr ,2  − xr ,1  − xN  − xN  − xr , N  − xr , N  − xr ,1  Φ  ⎡α 3 ⎤ ⎢α ⎥ sign ( x1 ) ⎤ ⎢ 1 ⎥ ⎥ ⎢α ⎥ sign ( x2 ) ⎥ ⎢ 2 ⎥ β ⎥⎢ 0⎥ ⎥ ⎢β ⎥ sign ( xN ) ⎥⎦ ⎢ 1 ⎥ ⎢β2 ⎥ ⎢ ⎥ ⎣δ ⎦  (6.9)  θ  and the objective function in Equation (6.6) is re-expressed using Equation (6.9) as:  min f = min θ  θ  1 T ( Y - Φθ ) ( Y - Φθ ) . 2  109  (6.10)  Chapter 6: Closed Loop Identification of Feed Drive System The optimization problem is solved by setting the partial derivative of the objective function ( f  ) with respect to the optimization variables ( θ)  to zero:  ∂f = 0 ⇒ ΦTΦθ = ΦY , ∂θ  (6.11)  and the model parameters are obtained from Equation (6.11) upon existence of  (Φ Φ) T  −1  as θ = ( ΦTΦ ) ΦY . −1  6.4  (6.12)  Constrained Parameter Identification Using the Particle Swarm Optimization (PSO) Method  Most of the modern CNC controllers rely on feedforward dynamic compensation to widen the tracking bandwidth and impose fast dynamics. Coulomb friction is another source of excitation injected to the system, which is also compensated for in the feedforward loop. As a result, even though trapezoidal velocity profile is used in the CNC interpolator, the motion commands are relatively smooth and lack in persistence of excitation. Incorrect estimation of the drive parameters may occur, which results in unstable pole locations eliminating the practical use of the model. As addressed in [59], in order to guarantee the stability of the identified transfer functions, bounds are imposed on the frequency and damping values of the identified pole locations. The pole locations of the general drive model in Equation (6.3) are: s 3 + a1s 2 + a2 s + a3 = ( s + p )( s 2 + 2ζωn s + ωn2 ) p1 = − p, p2,3 = −ζωn ± jωn 1 − ζ 2  110  (6.13) .  Chapter 6: Closed Loop Identification of Feed Drive System For all the poles to be on the left hand side of the imaginary axis, lower and upper bounds on ζ , ωn and the overdamped pole frequency p must be imposed as constraints:  h1 : p − pmin ≥ 0  ⎫ h2 : ωn − ωn,min ≥ 0 ⎪⎪ ⎬⇒h≥0 h3 : ζ − ζ min ≥ 0 ⎪ h4 : ζ max − ζ ≥ 0 ⎪⎭  (6.14)  where pmin > 0 , ω n ,min > 0 , and ζ max > ζ min > 0 . It should be noted that upper bound on  )  (  ζ max is used to avoid the 3rd pole p3 = −ζωn − jωn 1 − ζ 2 from approaching zero, and the allowable pole locations are illustrated in Figure 6.4. Hence, the simple Least Squares problem in Equation (6.10) is constrained by Equation (6.14) as:  min θ  1 T ( Y - Φθ ) ( Y - Φθ ) subject to: h ≥ 0 . 2  (6.15)  The augmented problem in Equation (6.15) is a Linear Programming problem with nonlinear constraints has been solved using the Particle Swarm Optimization method as described in the following section.  111  Chapter 6: Closed Loop Identification of Feed Drive System −ζn,min  Im  Im  Allowable Root Locations p1  p2  p3  Re  −ωn,min  −pmin −ωn,min −ωn,min(ζmax+ ζmax-1)  Re  −ζn,max a)  b)  Figure 6.4: Allowable locations for; a) real, b) complex poles.  6.4.1 The Principle of PSO  Particle Swarm Optimization (PSO) algorithm [62] is a population based intelligent search where individuals called as ‘particles’, σ i = [σ i ,1 ,σ i ,2 ,…σ i , D ]T containing the optimization variables (1...D) that are essentially candidate solutions for a given optimization problem. Each particle’s ‘position’, i.e. the optimization variables assigned to that particle, is adjusted dynamically by the amount of v i = [vi ,1 , vi ,2 ,… vi , D ]T , denoted as the particle’s velocity. The PSO algorithm keeps track of each particle’s history, and stores its best value, σ i , pbest that has minimized the objective function. Another best value that is tracked by the PSO minimizer is the overall best value of the entire particle batch obtained so far; σ gbest = min(σ i , pbest ), i = 1...M , where M is the total number of particles. Hence, the particles’ position and velocity are adjusted each iteration l with respect its own best location and the best location of the group as: v li +1 = w ⋅ v li + η1 ( σ li , pbest − σ li ) + η 2 ( σ lgbest − σ li ) σ li = σ li + v li +1  (6.16)  i = 1...M  .  112  Chapter 6: Closed Loop Identification of Feed Drive System  η1 ,η2 ∈ ( 0, 2 ) are the learning gains that represent the weighting of the stochastic acceleration terms, which pull each particle towards σ i , pbest and σ gbest . Low learning values allow particles to search far from the target, and high values cause quick convergence with abrupt movement toward and past the optimum. w is the inertia weight, and it controls the convergence behavior of the PSO [74], [75]. 6.4.2 PSO Solution  In setting up the PSO to solve the optimization problem given in Equation (6.15), the solution search is conducted directly in terms of the closed loop pole frequency ( ωn , p ) and damping (ζ  )  values. As shown in Figure 6.5, the search region is bounded  by the constraints expressed in Equation (6.14); thus, adopting this strategy simplifies the incorporation of stability constraints. Each particle contains the optimization variables, namely the pole locations ( ωn , p ) and the damping value (ζ ) :  Figure 6.5: Search region for the Particle Swarm Optimization algorithm.  113  Chapter 6: Closed Loop Identification of Feed Drive System T  σ i = ⎡⎣ pi ωn ,i ζ i ⎤⎦ , i = 1...M .  (6.17)  As the particles sweep the bounded search region, the objective function,  f =  1 T ( Y - Φθ ) ( Y - Φθ ) 2  (6.18)  is evaluated. Therefore, the parameter vector, θ is separated into two parts: θ = [α 3 α1 α 2 θ1  β o β1 β 2 δ ]T = [θ1 θ 2 ] , T  (6.19)  θ2  and the particles (i.e. optimization variables) are related to the first part of the drive parameters θ1 = [α 3 α1 α 2 ] by using Equations (6.8) and (6.13) as: T  α3 =  a3 pω 2 a p + 2 pωn 1 1 = 2 n , α1 = 1 = 2 , α2 = = 2 . a2 ωn + 2 pωn a2 ωn + 2 pωn a2 ωn + 2 pωn  (6.20)  In order to relate the particles to the remaining drive parameters, θ 2 = [ β 0 β1 β 2 δ ] , the T  Least Squares sub-problem [65] is constructed from Equation (6.10). Upon the existence of ( ΦT2 Φ2 )  −1  , θ 2 is obtained uniquely from:  [Φ1  −1 ⎡θ ⎤ Φ 2 ] ⎢ 1 ⎥ = Y ⇒ θ 2 = ( Φ T2 Φ 2 ) Φ T2 ( Y − Φ1θ1 ) . ⎣θ 2 ⎦  By using only the pole frequency ( ωn , p ) and damping (ζ tions (σ i = [ pi ωn ,i ζ i ]T ) , the objective function  values as particle posi-  ( f = 1 2 ( Y - Φθ ) ( Y - Φθ ))  minimized by implementing the PSO algorithm as follows:  114  )  (6.21)  T  is  Chapter 6: Closed Loop Identification of Feed Drive System Step  1.  Specify  σ min = ⎡⎣ pmin ωn,min ζ min ⎤⎦  T  the  search  region  boundaries  of  the  particles  as  T  and σ = ⎡⎣ pmax ωn,max ζ max ⎤⎦ according to the constraints, and  initialize each particle’s position and velocity randomly as: vi0 = −vmax + 2r1vmax  σ = σ min + r2 (σ max 0 i  where  r1  and  r2  are  random  ⎪⎫ ⎬ − σ min ) ⎪⎭  numbers  between  (6.22)  0  and  1  where  vmax = (σ max − σ min ) × (10% ~ 20%) Step 2. Evaluate the objective function f i l for each particle using Equations (6.18),  (6.20) and (6.21). Step 3. Find f i ,l pbest and compare it against f i l for each particle. If fi l ≤ fi ,l pbest then  set fi ,lbest = fi l , and σ i , pbest = σ li . Step 4. Search for the minimum value of f i l among all the particles; denote it l , and set σ gbest = σ li . as f gbest  Step 5. Check each particle individually, and if any value of ωn , p and ζ is outside  the search region, it is replaced within the closes bound as:  if pil < pmin ⇒ pil = pmin , if pil > pmax ⇒ pil = pmax if ωnl ,i < ωn,min ⇒ ωnl ,i = ωn ,min , if ωnl ,i > ωn,max ⇒ ωnl ,i = ωn,max if ζ il < ζ min ⇒ ζ il = ζ min , if ζ il > ζ max ⇒ ζ il = ζ max  (6.23) .  Step 6. Return to step 2 and iterate for the next particle position and velocity ( σ li +1  and v li +1 ) using Equation (6.16).  115  Chapter 6: Closed Loop Identification of Feed Drive System Step 7. When the number of iterations reaches the maximum, the search algorithm  is terminated, and the latest σ gbest containing the optimal pole locations and damping values for the model is accepted. The model parameters (θ) are computed from Equations (6.20) and (6.21) and de-normalized by Equation (6.8) to be used in Equation (6.3). 6.4.3 PSO Search Parameter Tuning  Although PSO is a stochastic algorithm, some guidance is required for selecting proper parameters to ensure convergence. The learning gains η1 ,η2 and the inertia weight w control the performance and convergence of the PSO algorithm [76]. Assuming that each particle contains only one element, D=1 and during steady state the σ i , gbest and σ i , pbest values are constant, Equation (6.16) can be re-written for each particle as: ⎡ vil +1 ⎤ ⎡ w −η ⎤ ⎡ vil ⎤ ⎡1⎤ l ⋅ ⎢ l ⎥ + ⎢ ⎥ (η1σ il, pbest + η 2σ gbest ) , and η = η1 + η2 . ⎢ l +1 ⎥ = ⎢ ⎥ ⎣σ i ⎦ ⎣ w 1 − η ⎦ ⎣σ i ⎦ ⎣1⎦ u xl +1  H  xl  (6.24)  B  Equation (6.24) models the evaluation of the particles as a discrete linear dynamic system in state space form. x l = [vil σ il ]T is the state vector, B = [1 1]T is the input l is the constant input. The stability of the discrete PSO matrix and u = η1σ il, pbest + η2σ gbest  model can be ensured by setting the eigenvalues of the state matrix H within the unit circle [28]. The characteristic equation is calculated as det ( λ I − H ) = λ 2 + (η − w − 1)λ + w , and the roots are:  116  (6.25)  Chapter 6: Closed Loop Identification of Feed Drive System ⎧⎪[( w + 1 − η ) ± ∆ ] 2,  ∆ ≥ 0 ⎫⎪ 2 2 ⎬ , ∆ = (η − 1) − 2 w(η + 1) + w . ⎩⎪[( w + 1 − η ) ± j −∆ ] 2, ∆ < 0 ⎭⎪  λ1,2 = ⎨  (6.26)  The objective is just to ensure convergence of the PSO algorithm, not tuning of the convergence dynamics. Therefore, the following simple observations give a quick guideline in selecting the PSO parameters. According to Equation (6.26), when ∆ < 0 ,  λ1, 2 are complex conjugate, their norm become λ1 = λ2 = w . Therefore, setting  w∈ (0,1) ensures the convergence of PSO. In parallel to this fact: 1. When η = 0 , λ1 = 1, λ2 = w , the PSO is at the border of convergence or divergence. 2. When η = 1, ∆ = w2 − 4w < 0 , and for w ∈ ( 0,1) , the PSO converges. 3. When η = 2 , ∆ = w2 − 6w + 1 = ( w − 3)2 − 8 and for w ∈ ( 0.172,1) , ∆ < 0 PSO converges. 4. When η = 3 , ∆ = w2 − 8w + 14 = ( w − 4)2 − 12 and for w ∈ ( 0.536,1) , ∆ < 0 , the PSO converges. 5.  When  η = 4,  ∆ = w2 − 10 w + 9 = ( w − 5)2 − 16 > 0  and  λ2 = [( w − 3) − ∆ ] 2 < −1 , it results in divergence. As a result, the learning gains can be selected as η1 + η2 = η ∈ ( 0,3) , and the weight factor is determined in the interval of w ∈ ( 0.6,1) to ensure the convergence of PSO. More analysis can be performed in order to select the optimal parameters for quick convergence by imposing faster dynamics on the system.  117  Chapter 6: Closed Loop Identification of Feed Drive System 6.5  Simulation and Experimental Results  The effectiveness of the identification strategy has been verified in simulations and experimental case studies conducted on virtual and actual feed drives. Since the virtual axis dynamics are already known, simulations allow a comparison between the true and identified drive parameters using both LS and PSO methods. The identification G-code used in tests consists of 70 random linear movements commanded within the range of ±50[mm] with a maximum feedrate of 250[mm/sec] and 2500[mm/sec2 ] acceleration. Due to the short distance between the position commands, the desired velocity is not necessarily reached, which allows the drive response to be observed for a wider velocity range. The identification reference trajectory is shown in Figure 6.6. Trapezoidal velocity profiling is being used to ensure good persis-  Figure 6.6: Reference identification trajectory send to the drives.  118  Chapter 6: Closed Loop Identification of Feed Drive System tence in the excitation signal, and the reference and actual position commands are collected at a sampling period of Ts = 1[msec] . The PSO constrained identification technique was validated in virtual drive parameter estimations by comparing the results against basic LS algorithm that does not accommodate any pole constraints. In applying the PSO, the search space is bounded depending on the sampling frequency as  ω n ,min = pmin = 0.2[Hz] , ω n , max = pmax = 500[Hz] ,  ζ n ,min = 0.2  and ζ n ,max = 2.0 .  The  weights are set to η1 = 0.103,η2 = 2.897 and w = 0.6 . The number of particles is  M = 200 and the maximum number of iterations is set to 100. 6.5.1 Validation on a Virtual Drive  The identification strategy was first evaluated on a P-PI cascade controlled drive system. The true, LS and PSO estimated closed loop parameters are summarized in Table 6.1. A comparison between the true and estimated tracking and disturbance frequency response functions (FRF) is presented in Figure 6.7. The LS identification gives the most accurate results in terms of minimizing the objective if there is not any stability constraint active. As can be noted from the table, there is some discrepancy between the true and LS estimated parameters. The slower pole at 10.8 [Hz] is estimated at 11.4 [Hz], and the complex conjugate poles at 30.6 [Hz] are estimated at 31.3 [Hz]. Table 6.1: Actual and estimated closed loop parameters for P-PI controlled virtual drive(simulation).  Search Variables  Actual  LS Estimate  PSO Estimate  ωn [Hz] ζ [] p[Hz]  30.6  31.3  31.3  0.45 10.8  0.39 11.4  0.39 11.4  119  Chapter 6: Closed Loop Identification of Feed Drive System  Phase[deg]  Magnitude[mm/mm]  Model Parameters a1 a2 a3 b0 b1 b2 dc  LS Estimate  Actual  238.4335 48421.5859 2.487140.30 0 117.5424 37258.9796 2.6815  226.9455 49915.08 2778133.78 -0.05340 104.3654 37446.2493 585.30  226.94681 49915.0545 2778130.868 -0.05340 104.366781 37446.2295 585.31  10−2  101 LS and PSO Estimation  10−3 10−4  100 Actual  Actual LS and PSO Estimation  10−5 10−6 100  10−1 50  50  0  0 −50  −50  −100  −100 −150 100  PSO Estimate  −150 101 Frequency[Hz] a)  102  −200 100  101 Frequency[Hz] b)  102  Figure 6.7: True and estimated FRFs for P-PI controlled drive system (simulation): a) tracking transfer function, b) disturbance transfer function.  Considering the FRFs shown in Figure 6.7a and b, the identified transfer functions are in good agreement up to the frequency range 30[Hz], which is within the tracking range of most CNC motion commands. The true friction value is obtained by averaging the positive and negative friction torques of the virtual drive. As observed, there is 218 × mismatch between the estimated and true friction values. As can be noted from the phase match, disturbance transfer functions are in good agreement. There is 221× difference  120  Chapter 6: Closed Loop Identification of Feed Drive System between the DC amplitudes, which actually compensates for the discrepancy between the true and estimated friction parameters. Overall, the LS estimation is successful in capturing the key dynamic characteristics required to predict the tracking performance of the actual drives. The PSO, on the other hand is slightly less accurate in minimizing the objective function, since it is not analytical. Figure 6.8 shows the convergence of the PSO estimated drive parameters. As noted, the parameters converge to the correct values with a small discrepancy well within 100 iterations. The actual and identified axis dynamics have also been compared in trajectory tracking tests to prove the practicality of the methods, and the results are presented in Figure 6.9. The true axis response agrees  Objective Fucntion Value  1  []  0.8 0.6 0.4 0.2 20  30  ωn  600 400  50  60  70  ζ  0.6  200 0  40 0.7  []  [rad/sec]  800  10  80  [rad/sec]  0  0.5 0.4  50 Iteration  0.3  80  Iteration p  70 60 50  50 Iteration  40  50 Iteration  Figure 6.8: Parameter convergence of the PSO algorithm for P-PI controlled drive system.  with the LS and PSO model closely proving that the PSO is accurate enough to be implemented for solving the optimization problem.  121  Chapter 6: Closed Loop Identification of Feed Drive System  Figure 6.9: Predicted and actual tracking performance of the P-PI controlled virtual feed drive system (simulation).  The second virtual experiment is performed on a PID controlled system and the estimated drive parameters are summarized in Table 6.2. As shown in the table, there is a close match between the actual and identified drive parameters that can also be verified from the FRFs presented in Figure 6.10. The tracking transfer functions are in good agreement up to 50 [Hz]. The PSO and LS estimates are almost identical, with slight discrepancy in ωn and ζ . The tracking responses of the estimated drive models are compared in Figure 6.12, which again shows very close agreement between the true system response and both LS and PSO identified model responses. The discrepancy between the true and identified tracking errors is within 2 [micron].  122  Chapter 6: Closed Loop Identification of Feed Drive System Table 6.2: Actual and estimated closed loop parameters for PID controlled virtual drive(simulation).  Search Variables  Actual  LS Estimate  PSO Estimate  49.1  52.53  53.1  0.707 7.4  0.62433 7.63  0.688 7.62  Model Parameters  Actual  LS Estimate  PSO Estimate  a1 a2 a3 b0 b1 b2 dc  475.31142 111794.743 4263669.10 0 286.861167 76074.4037 2.6815  460.073072 128718.4765 521019.0346 -0.13066504 273.9933732 85069.40516 626.397  506.254774 133200.5673 5327596.9951 -0.1758883 302.7291668 88568.0002 646.906  Magnitude[mm/mm]  1 10 LS and PSO Estimation 0 10 Actual −1 10 50 0 −50  −100 −150 0 10  -2 10 -3 10 -4 10  Actual LS and PSO Estimation  -5 10 -6 10  50 0 −50 −100 −150 −200 0 10  Phase[deg]  Phase[deg]  Magnitude[mm/mm]  ωn [Hz] ζ [] p[Hz]  1 10 Frequency[Hz] a)  2 10  1 10 Frequency[Hz] b)  2 10  Figure 6.10: True and estimated FRFs for PID controlled drive system (simulation): a) tracking transfer function, b) disturbance transfer function.  123  Chapter 6: Closed Loop Identification of Feed Drive System  Figure 6.11: Predicted and actual tracking performance of the PID controlled virtual drive system (simulation).  6.5.2 Validation on a Ball Screw Drive  After the identification algorithms have validated in virtual environment, they have been tested experimentally on an experimental ball screw drive setup to demonstrate practical effectiveness. Identification of a P-PI controlled drive system is first tested. A trapezoidal trajectory with 250[mm/sec] cruise velocity and 2500[mm/sec 2 ] acceleration is used to validate the tracking estimation and tracking results are presented in Figure 6.12a. P-PI controlled true axis tracking errors are observed in the range of 400[micron] , and the identified model predicts the true tracking error trend with a  maximum discrepancy of 20[micron]. The Sliding Mode Control (SMC) scheme has also been implemented in the ball screw drive setup. The SMC cancels out inertia and friction to widen up the position bandwidth, resulting in faster dynamics that are more difficult to excite with the reference trajectory for closed loop identification. Hence, it has been observed that the LS identification procedure has produced unstable poles locations in many tests due to the pole zero cancellations. The PSO algorithm on the other hand, has identified stable model parameters. As shown in Figure 6.12b, the  124  Chapter 6: Closed Loop Identification of Feed Drive System tracking errors for SMC system are in the range of 40 [micron], and some chattering is observed in the tracking response. The LS and PSO estimated models still capture the general drive response, and the average Coulomb friction estimates accurate enough allowing the identification method to be used in estimating systems with wider tracking bandwidths. Finally, the rapid identification technique has been tested on a virtual 5-axis machine tool for simulating the contouring errors. P-PI cascade controllers with feedforward dynamics compensation are designed for each motion axis in order to achieve moderate tracking performance. The true and estimated drive parameters are Test Trajectory  [mm]  50  Test Trajectory  Reference,Actual and Estimations  −100  Tracking Errors (True,LS & PSO Estimations)  [micron]  500  Tracking Errors (True,LS & PSO Estimations) True  0  True and Estimate  −500  40  Estimated −40 0  0.5  Time[sec] 1.5  [micron]  Discrepency in Tracking Error Prediction  2  20 10 0  0.5  Time[sec] 1.5  2  2.5 b)  a)  Figure 6.12: Predicted and experimentally verified tracking performance of P-PI (a) and SMC (b) controlled ball screw drive: a) P-PI control results, b) SMC control results.  compared in Table 6.3. Since the LS algorithm produces unstable poles with increased feedforward dynamic compensation, only the PSO is used to identify the drive parameters. As noted from the table, the X and Y poles are identified very closely. On the other  125  Chapter 6: Closed Loop Identification of Feed Drive System hand, the Z, A and C axis poles do not match. Because of the pole-zero cancellations, some of the poles could not be identified correctly. Table 6.3: Actual and estimated drive parameters of a P-PI controlled virtual 5-axis machine tool.  Poles and Zeros (Freq.[Hz]/Damp.[])  Search Variables  Actual  ωn [Hz] ζ [] p[Hz]  X  Y  Z  A  C  55.54  73.5  73.6  31.9  27.3  0.39 19.3  0.27 22.12  0.28 22.2  0.47 9.29  0.57 8.45  p1  55.7 0.39 73.5 0.27 73.6  0.27  31.9 0.47 27.3 0.57  p2  55.7 0.39 73.5 0.27 73.6  0.27  31.9 0.47 27.3 0.57  p3  19.3  1  22.1  z1  -  -  z2  46.1  z3  25.6  dc  22.2  1  9.29  156  0.72 72.4  -1  43.9 0.34 27.2 27.2  1  156  0.72 72.4  -1  43.9 0.34 0.47 0.47  1  24.4  1  9.88  2.6815  1  1  1.835  22.7  183.57  1  1  8.45  1  8.61  1  0  0.2  Poles and Zeros (Frequency[Hz]/Damping[])  Search Variables  PSO Estimated  ωn [Hz]  58  90.9  138.5  24.19  68.9  ζ []  0.27  0.2  2  1.53  2  p[Hz]  20.12  24.5  -138.5  24.19  68.9  p1  58.1 0.27 90.9  0.2  517  1  34.5  1  257  1  p2  58.1 0.27 90.9  0.2  138  1  22.1  1  69  1  p3  20.2  1  24.5  1  37.1  1  z1  668  -1  275  -1  187  -e-2  z2  56.7  1  91.1  1  187  -e-2  14 1 18.4 123 128 -1 8 1 14.9 0.93 39  1  z3  26.4  1  28.5  1  40.9  1  14.9 0.93 27.3  1  dc  533  415  5551  126  -8.642  1 1  366.3  Chapter 6: Closed Loop Identification of Feed Drive System 6.5.3 Validation on a Virtual 5-Axis Machine Tool  The 5-axis spiral contour toolpath shown in Chapter 4 was interpolated with tangential velocity of 75 [mm/sec] and acceleration of 1500 [mm/sec 2 ] , and previously presented contour error models are utilized in computing the errors. Figure 6.13 shows the true and estimated contour errors. As noted, 5-axis contour errors computed from the true and identified model responses are in very good agreement. The discrepancy between the estimated and true contour errors is observed to be less than 10[micron] validating the practicality of the proposed PSO identification method to be used in 5-axis contouring predictions.  Figure 6.13: Predicted and actual tracking Performance of the P-PI controlled virtual 5-axis machine tool (Simulation).  6.6  Conclusion  This chapter has presented a rapid closed loop identification strategy for machine tool feed drives. The general feed drive model is first introduced that can model feed  127  Chapter 6: Closed Loop Identification of Feed Drive System drives controlled with variety of feedforward and feedback controllers, and a simple linear LS solution is derived to estimate the drive parameters. In case of pole-zero cancellations in the true system, and lack of excitation in the command signal generated by the CNC interpolator causes the ordinary LS solution to produce models with unstable poles. A Particle Swarm Optimization algorithm, which accommodates stability constraints has been developed to tackle the problem, hence, the stability of the identified drive model is guaranteed. The practicality and effectiveness of the proposed PSO identification scheme have been demonstrated in simulation and experimental results, in which the tracking accuracy of virtual and real systems was successfully predicted. Finally, the method has been utilized in estimating the contouring errors that occur during simultaneous 5-axis contour machining applications. Results have proved that the identification strategy can efficiently be used for modeling and predicting the accuracy of 5-axis machine tools.  128  7. Conclusions 7.1  Conclusions  Novel smooth optimal trajectory generation algorithms and a precision contour control technique have been developed for 5-axis machine tools. A smooth feedrate planning technique has been formulated for traveling along spline tool-paths in minimum time without compromising the tracking and contouring accuracy of the servo system. A novel motion control law has been developed for 5-axis machines, based on analytical modeling of the contour errors that occur during 5-axis motion, which minimizes the contouring errors directly instead of axis tracking and capable of achieving high contouring accuracy at high feed speeds. The contributions are summarized as follows: The developed feed planning algorithm has shown that the machining time can be significantly reduced (15-20 [%] shorter cycle times) by optimizing the feed along the tool-path while respecting velocity, acceleration and jerk limits of all five drives. In addition, avoiding the violation of drive saturation limits allows the control law to operate in a linear region, improving the accuracy and performance of the CNC system. Feedrate is optimally planned by overlapping windows with reduced number of variables in real-time on [15]. New analytical contour error estimation models have been developed for 5-axis machine tools in this thesis. Two types of contour errors have been introduced to the literature, the tool tip and orientation contour errors, which are detrimental to part tolerances in 5-axis machining. Proposed contour error models utilize solely the kinematics of the reference tool-path and actual position of the 5-axis drives, and it is proven 129  Chapter 7: Conclusions in contour following tests that proposed analytical models can estimate contour errors precisely during simultaneous 5-axis machining. Combined with the kinematic model of the 5-axis machine, it has also been shown that all the five axis drives influence tool tip contouring accuracy while the tool axis orientation is controlled only by the two rotary drives. Finally, the models have been utilized to verify that even if tracking accuracies of the all five axis drives are individually greatly improved using high bandwidth and robust sliding mode controllers, the overall contouring error of 5-axis tool paths has still been significant due to the path curvature and the kinematics of the machine [26]. Instead of controlling each drive individually as in the current practice, a multi-input multi-output Sliding Mode Controller that simultaneously controls all the five drives with the objective of achieving high path tracking accuracy has been introduced and experimentally verified in 5-axis contouring tests. The proposed Sliding Mode Controller consists of two MIMO SMCs working side by side: The first SMC computes the tool tip contour error using the developed model and generates coupled control action to the Cartesian drives in order to minimize the deviation of the tool tip from the desired trajectory. The second SMC, in parallel, computes the orientation contour error and minimizes it by coupling only the rotary drives. The complete coupled 5-axis sliding mode contour controller has been constructed by proving the stability of the controllers in joint operation. As a result, during high speed 5-axis machining tool tip contour errors have been reduced by 20-30 % using the proposed controller, as compared to the individual axis based sliding mode controlled case [26],[43]. A closed loop identification method for CNC drive systems has been developed, which can be used in 5-axis contouring simulations when combined with the models  130  Chapter 7: Conclusions developed in the thesis. The technique is based on exciting the feed drive using a series of short motions, and the reference and actual position, velocity and acceleration states of the drive are measured. A general model of the closed loop feed drive system that can represent servo dynamics controlled with various controllers has been fitted to the identification data. In order to avoid identification of an unstable model, the identification task has been cast as a constrained minimization problem in which the frequency and damping ratio bounds are imposed on the closed loop pole locations, and the nonlinear minimization problem has been solved using a Particle Swarm Optimization algorithm. Simulation and experimental results have shown that drive models constructed with closed loop identification can be used to predict the contouring accuracy of 5-axis machine tools in a virtual environment with sufficient accuracy. 7.2  Future Research Directions  The trajectory generation and control laws developed in this thesis are directly applicable to 5-axis machine tools with different kinematic configurations such as table, spindle tilting or hybrid. Extension of the algorithms to more complex kinematic configuration such as parallel kinematic machine tools or robots, is possible, and will allow their benefits to be exploited in a larger variety of applications, such as high speed machining of dies and molds or laser cutting and welding operations. The feedrate scheduling algorithm increases the productivity especially for rough milling or semi-finishing where rapid feed alterations are not vital to part tolerances. In finish milling, on the other hand, the tangential feedrate must be scheduled smoothly where the fluctuations must be kept minimal to avoid leaving tool deflection marks on the part surface. One practical solution would be to consider the tool-path section by 131  Chapter 7: Conclusions section, and the maximum local feed for each section has to be identified. Constant feed sections can be connected to each other with smooth acceleration transients. This will result in a suboptimal solution increasing the cycle time 10~15[%] as compared to the currently developed method, but it will in return reduce the computational cost of planning and allow wider practical application to machine tools. On the other hand, the key to extending the developed time optimal feed profiling to robots and hexapods relies on incorporating drive constraints correctly into the algorithm through proper modeling of their non-Cartesian kino-dynamic chain. The contour control algorithms on the other hand, improve the contouring accuracy by two-fold on a 5-axis machine tool. In order to further increase the stability and precision of the developed algorithms the flexible and dynamic coupling of the drive system has to be considered, at least in the stability analysis and the performance evaluation in the control law. A simpler and likely more practical approach may be to use the developed contour error models for a given tool-path and estimate the contour error in a look ahead fashion. In this way, the reference position commands to the drives can then be compensated in order to reduce the contour errors. In parallel, the tool deflection is another issue that contributes to large contour errors in 5-axis machining. Simplified process models are required to be used to estimate the deflection of the tool in real time, and its contribution to contour errors can then be compensated for either in the axis controllers, or as mentioned, in the reference trajectory. The extension of the control algorithms to robots and hexapods is vague through incorporation of their kinematics and dynamics, which will generate further research opportunities to address the new problems.  132  Bibliography  [1]  Bobrow, J. E., Dubowsky, S., and Gibson, J., 1985, “Time-Optimal Control of Robotic Manipulators Along Specified Paths,” Int. J. Robot. Res., 4, pp. 3–17.  [2]  Shin, K., McKay, N., 1985, “Minimum-Time Control of Robotic Manipulators with Geometric Path Constraints,” IEEE Trans. Autom. Control, 30, pp. 531–541.  [3]  Shiller, Z., Lu, H. H., 1990, “Robust Computation of Path Constrained Time Optimal Motions,” IEEE International Conference on Robotics and Automation, Cincinnati, OH, May 13–18, IEEE Comput. Soc. Press, Los Alamitos, CA, Vol. 1, pp. 144–149.  [4]  Shiller, Z., Lu, H. H., 1992, “Computation of Path Constrained Time Optimal Motions with Dynamic Singularities,” ASME J. Dyn. Syst., Meas., Control, 114, pp. 34–40.  [5]  Shin, K., McKay, N., 1986, “A Dynamic Programming Approach to Trajectory Planning of Robotic Manipulators,” IEEE Trans. Autom. Control, 31, pp. 491– 500.  [6]  Gourdeau, R., Schwartz, H. M., 1989, “Optimal Control of a Robot Manipulator Using a Weighted Time-Energy Cost Function,” IEEE Conference on Decision and Control, Tampa, FL, December 13–15, IEEE, Piscataway, NJ, Vol. 2, pp. 1628–1631.  [7]  Smith, T. S., Farouki, R. T., Timar, S. D., and Boyadjieff, G. L., 2005, “Algorithms for Time-Optimal Control of CNC Machines Along Curved Tool-paths,” Rob. Comput.-Integr. Manufact., 21, pp. 37–53.  133  [8]  Renton, D., and Elbestawi, M. A., 2000, “High Speed Servo Control of Multi-axis Machine Tools,” Int. J. Mach. Tools Manuf., 40, pp. 539–559.  [9]  Dong, J., and Stori, J. A., 2006, “A Generalized Time-Optimal Bidirectional Scan Algorithm for Constrained Feedrate Optimization” Journal of Dynamic Systems, Measurement and Control, Transactions of the ASME, Vol. 128, No. 2, pp. 379390.  [10]  Tarkiainen, M., and Shiller, Z., 1993, “Time Optimal Motions of Manipulators with Actuator Dynamics,” IEEE International Conference on Robotics and Automation, Atlanta, GA, May 2–6, IEEE Comput. Soc. Press, Los Alamitos, CA, Vol. 2, pp. 725–730.  [11]  Piazzi A., and Visioli A., 1998, “Global Minimum-Time Trajectory Planning of Mechanical Manipulators Using Interval Analysis”, Intl. J. of Control, Vol. 71, No. 4, pp. 631-652.  [12]  Constantinescu, D., and Croft, E. A., 2000, “Smooth and Time Optimal Trajectory Planning for Industrial Manipulators Along Specified Paths,” J. Rob. Syst., Vol. 17, pp. 233–249.  [13]  Weck, M., Meylahn, A., and Hardebusch, C., 1999, “Innovative Algorithms for Spline-Based CNC Controller”, Prod. Eng. Research and Development in Germany; Annals of the German Academic Society for Production Engineering, Vol. VI/1, pp. 83-86.  [14]  Altintas, Y., and Erkorkmaz, K., 2003, “Feedrate Optimization for Spline Interpolation in High Speed Machine Tools,” CIRP Annals, Vol. 52, pp. 297–302.  134  [15]  Sencer, B., Altintas, Y., Croft, E.A., 2007, “Feed Optimization for Five-Axis CNC Machine Tools with Drive Constraints”, Int. Journal of Machine Tool and Manufacture, Vol., 48, Iss., 7-8, pp., 733-745.  [16]  Koren, Y., 1983, Computer Control of Manufacturing Systems, McGraw-Hill, New York.  [17]  Koren, Y., Lo, C. C., 1980, “Cross-Coupled Biaxial Computer Control for Manufacturing Systems”, Journal of Dynamic Systems, Measurement, and Control, Vol. 102, pp. 265-272.  [18]  Koren, Y., Lo, C.C., 1991, "Variable-Gain Cross-Coupling Controller for Contouring", Annals of CIRP, Vol. 40/1/1991, pp. 371-374.  [19]  Erkorkmaz, K., Altintas, Y., 1998, High Speed Contouring Control Algorithm for CNC Machine Tools, Proceedings of the ASME Dynamic Systems and Control Division, ASME International Mechanical Engineering Congress and Exposition, DSC 64, pp. 463–469.  [20]  Chiu, G. T. C., Tomizuka, M., 2001, “Contouring Control of Machine Tool Feed Drive Systems: A task coordinate frame approach”, IEEE Transactions on Control Systems Technology, Vol. 9, No.1, pp.130-139.  [21]  Yeh, S.-S., Hsu, P. L., 2002, “Estimation of the Contouring Error Vector for the Cross-coupled Control Design”, IEEE/ASME Transactions on Mechatronics, Ver. 7, No. 1, pp. 44-51.  [22]  Peng, C. C., Chen, C. L., 2007, “Biaxial Contouring Control with Friction Dynamics using a Contour Index Approach”, International Journal of Machine Tools and Manufacture, Vol. 47, No.10, pp.1542-1555.  135  [23]  Katz, R., Yook J., Koren. Y., 2004, “Control of a non-Orthogonal Reconfigurable Machine Tool”, Journal of Dynamic Systems, Measurement and Control, Transactions of the ASME, Vol. 126, No.2, pp.397-405.  [24]  Lin, R. S., Hu, C. W., 1999, “Modeling of the Dynamic Contour Error of FiveAxis CNC machine tools”, ASME Dynamic Systems Control and Control Division, Ver. 67, pp. 861-868.  [25]  Lo, C. C., 2002, “A Tool-path Control Scheme for Five-Axis Machine Tools”, International Journal of Machine Tools and Manufacture, Vol.42, No.1, pp.79-88.  [26]  Sencer, B., Altintas, Y., Croft, E. A., “Modeling and Control of Contouring Errors for Five-Axis Machine Tools. Part I – Modeling”, Transactions of ASME Journal of Manufacturing Science and Engineering, Vol. 131, Iss. 3, 8 pages.  [27]  Koren, Y., 1991, “Advanced Controllers for Feed Drives”, CIRP Annals, Vol. 41, No. 2, pp. 689-698.  [28]  Astrom, K., Wittenmark, B., Computer-Controlled Systems: Theory and Design (3rd ed.), Prentice-Hall, Englewood Cliffs, NJ, 1997.  [29]  Tomizuka, M., 1987, “Zero Phase Error Tracking Algorithm for Digital Control”, Transactions of ASME Journal of Dynamic Systems, Measurement, and Control, Vol.109, pp.65–68.  [30]  Tung, E.D., Tomizuka, M., 1993, “Feedforward Tracking Controller Design Based on the Identification of Low Frequency Dynamics”, Transactions of ASME Journal of Dynamic Systems, Measurement and Control, Vol.115, No.3, pp.348356.  136  [31]  Tsao, T. C., Tomizuka, M., 1987, “Adaptive Zero Phase Error Tracking Algorithm for Digital Control”, Transactions of ASME Journal of Dynamic Systems, Measurement and Control, Vol. 109, No. 4, pp. 349-354.  [32]  Utkin, V. I., 1977, “Variable Structure Systems with Sliding Modes”, IEEE Transactions on Automatic Control, Vol.22, No.2, pp.212-222.  [33]  Slotine, J. J. E., Li, W., 1988, “Adaptive Manipulator Control: A Cast Study”, IEEE Transactions on Automatic Control, Vol.33, No.11, pp.995-1003.  [34]  Stepanenko, Y., Cao, Y., Su, C. Y., 1998, “Variable structure control of robotic manipulator with PID sliding surfaces”, International Journal of Robust and Nonlinear Control, Vol.8, No.1, pp.79-90.  [35]  Altintas, Y., Erkorkmaz, K., Zhu, W. H., 2000, “Sliding Mode Controller Design for High Speed Feed Drives”, Annals of CIRP, Vol.49, No.1, pp.265-270.  [36]  Rodriguez-Angeles, A., Nijmeijer, H., 2005, “Synchronizing Tracking Control for Flexible Joint Robots via Estimated State Feedback”, Journal of Dynamic Systems, Measurement and Control, Transactions of the ASME, Vol.126, No.1, pp.162-172.  [37]  Su, Y., Sun, D., Ren, L., Mills, J. K., 2006, “Integration of Saturated PI Synchronous Control and PD Feedback for Control of Parallel Manipulators”, IEEE Transactions on Robotics, Vol.22, No.1, pp.202-207.  [38]  Ren, L., Mills, J. K., Sun, D., 2006, “Adaptive Synchronized Control for a Planar Parallel Manipulator: Theory and experiments”, Transactions of ASME Journal of Dynamic Systems, Measurement and Control, Vol.128, No.4, pp.976-979.  137  [39]  Erkorkmaz K., Altintas Y., 1998, High Speed Contouring Control Algorithm for CNC Machine Tools, Proceedings of the ASME Dynamic Systems and Control Division, ASME International Mechanical Engineering Congress and Exposition, DSC 64, pp.463–469.  [40]  Chiu, G.C., Tomizuka, M., 2001, “Contouring Control of Machine Tool Feed Drive Systems: A Task Coordinate Frame Approach”, IEEE Transactions on Control Systems Technology, Vol.9, No.1, pp.130-139.  [41]  Peng, C. C., Chen, C. L., 2007, “Biaxial Contouring Control with Friction Dynamics Using a Contour Index Approach”, International Journal of Machine Tools and Manufacture, Vol.47, No.10, pp.1542-1555.  [42]  Chen, S. L., Liu, H. L., Ting, S. C., 2002, “Contouring Control of Biaxial Systems Based on Polar Coordinates”, IEEE/ASME Transactions on Mechatronics, Vol.7, No.3, pp.329-345.  [43]  Sencer, B., Altintas, Y., “Modeling and Control of Contouring Errors for FiveAxis Machine Tools. Part II – Precision Contour Controller Design”, Transactions of ASME Journal of Manufacturing Science and Engineering, Vol. 131, Iss. 3, 10 pages.  [44]  Koren, Y., 1983, Computer Control of Manufacturing Systems, McGraw-Hill, NY.  [45]  Armstrong, H.B., Dupont, P., Canudas De Wit, C., 1994, “A Survey of Models, Analysis Tools and Compensation Methods for the Control of Machines with Friction,” Automatica, Vol. 30, No. 7, pp. 1083-1138.  138  [46]  Lee, H. S., Tomizuka, M., 1996, “Robust Motion Controller Design for HighAccuracy Positioning Systems,” IEEE Transactions on Industrial Electronics, Vol. 43, No. 1, pp. 48-55.  [47]  Erkorkmaz, K., Altintas, Y., 2001, “High Speed CNC System Design: Part II Modeling and Identification of Feed Drives,” International Journal of Machine Tools and Manufacture, Vol. 41, No. 10, pp. 1487-1509.  [48]  Varanasi, K.K., Nayfeh, S.A., 2004, “Dynamics of Lead-Screw Drives: LowOrder Modeling and Experiments,” Transactions of ASME, Journal of Dynamic Systems, Measurement, and Control, Vol. 126, No. 2, pp. 388-396.  [49]  Erkorkmaz, K., Kamalzadeh, A., 2006, “High Bandwidth Control of Ball Screw Drives,” Annals of CIRP, Vol. 55, No. 1, pp. 393-398.  [50]  Kao, J. Y., Yeh, Z. M., Tang, Y.S., Lin Y.S., 1996, “A Study of Backlash on the Motion Accuracy of CNC Lathes,” International Journal of Machine Tools and Manufacture, Vol. 36, No. 5, pp. 539–550.  [51]  Cuttino, J.F., Dow, T.A., Knight, B.F., 1997, “Analytical and Experimental Identification of Nonlinearities in a Single-Nut Preloaded Ball Screw”, Transactions of ASME Journal of Mechanical Design, Vol. 119, No. 1, pp. 15-19.  [52]  Donmez, M. A., Blomquist, D. S., Hocken, R. J., Liu C. R., Barash, M. M., 1986, “A General Methodology for Machine Tool Accuracy Enhancement by Error Compensation,” Precision Engineering, Vol. 8, No. 4, pp. 187-196.  [53]  Ljung, L., 1998, System Identification: Theory for the User, 2nd Edition, Prentice-Hall of Canada Ltd.  139  [54]  Wang, L., Cluett, W.R., 1994, “System Identification Based on Closed-loop Step Response Data”, IEE Proc.-Control Theory Appl., Vol. 141, No. 2, pp. 107-110.  [55]  Silva, R., Barbaro, D., Leon de la Barra, B.A., 2006, “Closed-Loop Process Identification under PI Control: A Time Domain Approach, Ind. Eng. Chem. Res. Vol. 45, pp. 4671-4678.  [56]  Park, H. I., Sung, S. W., Lee, I.B., 1997, “On-line Process Identification Using the Laguerre Series for Automation Tuning of the Proportional-IntegralDerivative Controller”, Ind. Eng. Chem. Res. Vol. 36, pp. 101-111.  [57]  Fliess, M., Sira-Ramirez, H., 2003, “An Algebraic Framework for Linear Identification”, Control, Optimization and Calculus of Variations, Vol. 9, pp. 151-168.  [58]  Sira-Ramirez, H., Barrios-Cruz, E., Marquez, R. J., 2007, “Fast Adaptive Trajectory Tracking Control of a Completely Uncertain DC Motor via Output Feedback”, 46th IEEE Conference on Decision and Control New Orleans, LA, USA, pp. 4197-4202.  [59]  Erkorkmaz, K., Wong, W., 2006, “Rapid Identification Technique for Virtual CNC Drives,” Proc. CIRP 2nd Intl. Conf. on High Performance Cutting (HPC'06), Vancouver, BC, June 12-13.  [60]  Erkorkmaz, K., Wong, W., 2007, “Rapid Identification Technique for Virtual CNC Drives”, International Journal of Machine Tools and Manufacture, Vol. 47, pp. 1381-1392.  [61]  Wong, W., Erkorkmaz, K., 2007, “Constrained Identification of Virtual Drive Models Using a Genetic Algorithm”, Proc. CIRP Sponsored International Confe-  140  rence on Smart Machining Systems, National Institute of Standards and Technology (NIST), USA, March 13-15. [62]  Eberhart, R. C., Kennedy, J., “A New Optimizer Using Particle Swarm Theory,” in Proceedings of 6th Int. Symp. Micromachine Human Sci., vol. 1, 1995, pp. 3943.  [63]  Devanit, R.S., Hartenberg, J., 1955, “A Kinematic Notation for Lower Pair Mechanisms Based on Matrices”, ASME Journal of Applied Mechanics 22(2) 215-221.  [64]  Bohez, E. L. J., 2002, “Five-axis Milling Machine Tool Kinematic Chain Design and Analysis”, International Journal of Machine Tools and Manufacture, Vol.42, No.4, pp.505-520.  [65]  Jung, Y. H., Lee, D. W., Kim J. S., Mok, H. S., 2002, “NC Post-processor for 5Axis Milling Machine of Table-rotating/tilting Type”, Journal of Materials Processing Technology, Vol. 130-131, pp. 641-646.  [66]  Tutunea-Fatan, O. R., Feng, H. Y., 2004, “Configuration analysis of Five-Axis Machine Tools Using a Generic Kinematic Model”, International Journal of Machine Tools and Manufacture, Vol.44, No.11, pp.1235-1243.  [67]  Erkorkmaz, K., Altintas, Y., 2001, “High Speed CNC System Design: Part I – Jerk Limited Trajectory Generation and Quintic Spline Interpolation,” International Journal of Machine Tools and Manufacture, Vol. 41, No. 9, pp. 1323-1345.  [68]  Fleisig, R. V., Spence, A. D., 2001, “Constant Feed and Reduced Angular Acceleration Interpolation Algorithm for Multi-Axis Machining”, CAD Comp. Aided Design, Vol. 33, No. 1, pp. 1-15.  141  [69]  Erkorkmaz, K., Altintas, Y., 2003, “Quintic Spline Interpolation with Minimal Feed Fluctuation,” Proceedings of the ASME Manufacturing Engineering Division, 2003 ASME International Mechanical Engineering Congress and Exposition, MED-IMECE2003-42428.  [70]  Do Carmo, M. P., “Differential Geometry of Curves and Surfaces”, Englewood Cliffs, NJ. Prentice-Hall, 1976.  [71]  Coleman, T., Branch, M. A., and Grace, A., 1999, Optimization Toolbox for Use with MATLAB®, User’s Guide Version 2, The MathWorks Inc.  [72]  Altintas, Y., Erol, N. A., 1998, “Open Architecture Modular Tool Kit for Motion and Machining Process Control”, Annals of CIRP, Vol. 47, No. 1, pp. 295-300.  [73]  Slotine, J. J., Li, W., Applied Nonlinear Control, Prentice Hall, NJ, 1991.  [74]  Nayan, R. S., Amit, K., Swagatam, D., Ajith, A., 2007, “A Closed Loop Stability Analysis and Parameter Selection of the Particle Swarm Optimization Dynamics for Faster Convergence”, 2007 IEEE Congress on Evolutionary Computation , pp.1769-1776.  [75]  Zhang, Y., Li, S., 2007, “Parameter Identification for Wiener Model Using Particle Swarm Optimization with a Case Study”, Proceedings of the IEEE International Conference on Automation and Logistics, pp. 1725-1730.  [76]  Visakan, K., Kirusnapillai, S., Peter, J. F., 2006, “Stability Analysis of the Particle Dynamics in Particle Swarm Optimizer”, IEEE Transactions on Evolutionary Computation, Vol. 10, No. 3, pp. 245-255.  142  

Cite

Citation Scheme:

        

Citations by CSL (citeproc-js)

Usage Statistics

Share

Embed

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

Comment

Related Items