UBC Theses and Dissertations

UBC Theses Logo

UBC Theses and Dissertations

Solid modeller based milling process simulation Spence, Allan Douglas 1992

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

Item Metadata

Download

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

Full Text

SOLID MODELLER BASED MILLING PROCESS SIMULATION by ALLAN DOUGLAS SPENCE B.Math. (Applied Mathematics), University of Waterloo, 1984 M.A.Sc. (Mechanical Engineering), University of Waterloo, 1986  A THESIS SUBMITTED IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE DEGREE OF DOCTOR OF PHILOSOPHY  in THE FACULTY OF GRADUATE STUDIES MECHANICAL ENGINEERING  We accept this thesis as conforming to the required standard  THE UNIVERSITY OF BRITISH COLUMBIA  March 1992  ©  Allan Douglas Spence, 1992  In presenting this  thesis in  partial fulfilment of the requirements for an advanced degree at the University of British Columbia, I agree that the Library shall make it freely available for reference and study. I further agree that permis sion for extensive copying of this thesis for scholarly purposes may be granted by the head of my department or by his or her representatives. It is understood that copying or publication of this thesis for financial gain shall not be allowed withou t my written permission.  Department of  Mcc  The University of British Columbia Vancouver, Canada  Date  DE-6 (2/88)  O)  ct92_  Abstract  Continuing advances in manufacturing automation stress reducing the need for direct operator attention. In totally unstructured environments, this will be achieved only with extensive improvements in sensor design and machine intelligence. Milling operations, however, are largely predictable. Within tolerances, information on the geometry and material properties of the cutter and part is available, and the applicable constraints are known. Indeed, current practice is to use CAD/CAM programs to plan the cutter paths in advance of actual part production. This thesis proposes extension of the path planning function to a solid modeller based milling process simulation system. The system predicts the cutting forces, torques and deflections in advance, and automatically schedules the maximum safe feed rate before machining takes place. On the factory floor, technological data from the solid modeller is used to assist in recognizing unexpected events, and when necessary to warn of upcoming cutting condition changes. The required milling process simulations are shown to depend on cutter immersion geometry calculated by the solid modeller. Constructive solid geometry (CSC) is shown to be particularly useful in reducing the complexity of the immersion calculations with general part shapes. Rather than simultaneously examining every detail of the part def inition, the intersection of the milling cutter is separately analyzed with each block and cylinder primitive. Individual results are then combined by applying the same Boolean operators and tree used in the overall part definition. Substantial increases in simu lation speed are achieved through application of CSG redundant primitive elimination  Ii  methods. Representation issues, cutter path segmentation and local boundary evalua tion techniques are explored to avoid repeated calculations with irrelevant primitives. Computational geometry strategies for identifying only the locally significant paths in a cutter path chain are proposed, and compared to existing strategies. It is shown that under given assumptions this problem has a linear intrinsic complexity. Often after ap plying these methods the cutter-part intersection geometry reduces to a single immersion interval. In such cases an especially rapid simulation technique is used. Beyond a laboratory demonstration of the principle, industrial usefulness of the meth ods requires that the milling process simulations be carried out in a systematic and ef ficient manner. Existing methods work incrementally by summing differential elements along the cutter axis, slightly rotating the cutter, and stepping forward along the path. In contrast, this thesis develops analytical solutions that, for 2 1/2 dimensional parts, eliminate the need for axial summations. To improve upon repeated sampling at many cutter rotation angles, numerical methods and calculus techniques are used to rapidly determine extreme forces, torques, and deflections. Finally, when the part boundary is simple, piecewise functions are used to accelerate simulation along the cutter path. The algorithms are implemented, and the simulation accuracy verified by experi mental measurement of instantaneous, average and maximum resultant forces, average torque, and surface error. For process planning, a continuously varying feed rate is au tomatically scheduled to respect imposed average torque, maximum resultant force and surface error constraints. Additional simulation and cutter-part intersection geometry data is calculated to assist with online monitoring and control tasks. Without surren dering the responsiveness of an online solution, upcoming sudden part geometry changes are communicated to a customized adaptive controller, allowing it to safely pass through regions where dangerous force transients would normally occur.  111  Table of Contents  Abstract  ii  List of Tables  x  List of Figures  xi  Glossary  XiX  Nomenclature  xxii  Acknowledgement  xxvi  1  2  Introduction  1  1.1  Overview  1  1.2  Product development cycle  1  1.2.1  Design  3  1.2.2  Manufacturing planning  3  1.2.3  Part production  4  1.2.4  Summary  4  1.3  Milling process constraints  4  1.4  Thesis focus  7  1.5  Outline  9  Literature review  12 iv  2.1  Overview  2.2  Metal cutting mechanics  2.3  2.4  3  .  2.2.1  Overview  2.2.2  Constraints  Manufacturing systems automation 2.3.1  History  2.3.2  Process monitoring  2.3.3  Control tasks  2.3.4  Summary  Solid modelling and computational techniques 2.4.1  History  2.4.2  Milling process simulation requirements.  2.4.3  Solid modellers  2.4.4  Comparison of solid modelling strategies  2.4.5  Computational geometry  2.4.6  Numerical analysis  Process model and constraint mathematics  59  3.1  Overview  59  3.2  Milling process model relationships  59  3.3  3.2.1  Material removal rate based models  59  3.2.2  Uncut chip thickness based models  62  3.2.3  Other models  64  Constraint equations  67  3.3.1  Torque and power  67  3.3.2  Tooth breakage  68 v  3.4 4  5  3.3.3  Shank breakage  3.3.4  Surface location error  3.3.5  Tool wear  3.3.6  Chatter  Summary  Cutter—part intersection calculations  81  4.1  Overview  81  4.2  Cutter—primitive intersection calculations  84  4.2.1  Rectangle calculations  88  4.2.2  Circle calculations  97  4.3  Cutter immersion interval combination  103  4.4  Summary  107 112  Relevant primitive identification 5.1  Redundancy and local cutter paths  113  5.2  Cutter path chains  131  5.3  131  5.2.1  Overview  5.2.2  Incremental swept volume checking  5.2.3  Line segment intersection test  5.2.4  Pocket cutter path generation strategies  5.2.5  Planar subdivision methods  .  133  .  133  Cutter path segmentation 5.3.1  Overview  5.3.2  Primitive redundancy portions  5.3.3  Analytic interval endpoint expressions  vi  .  5.4 6  .  180  Milling process model implementation  182  6.1  Zero helix expressions  183  6.1.1  Average chip thickness model  183  6.1.2  Linear edge force model  191  6.2  6.3  6.4 7  Summary  Helix expressions  193  6.2.1  Critical angle determination  194  6.2.2  Analytic force expressions  197  6.2.3  Summary  212  Feed rate scheduling 6.3.1  Incremental solution  6.3.2  Rapid numerical solution  Summary  Simulations and experiments  229  7.1  Introduction  229  7.2  Experimental equipment  230  7.3  Face milling examples  231  7.3.1  Introduction  231  7.3.2  Model verification and monitoring applications  233  7.3.3  Feed rate scheduling  241  7.3.4  Recursive parameter identification  245  7.3.5  Summary  249  7.4  End milling examples  249  7.4.1  249  Introduction  vii  7.5  8  7.4.2  Model verification  250  7.4.3  Feed rate scheduling  261  7.4.4  Summary  269  Adaptive control  270  7.5.1  Introduction  270  7.5.2  Process model  271  7.5.3  Controller design  277  7.5.4  Simulations and experiments  278  7.5.5  Discussion  287  7.5.6  Summary  290  Summary  292  Appendices  296  A Algorithm analysis and growth rates  296  B Planar subdivision algorithm complexity proofs  298  B.1  Overview  298  B.2 Preliminary lemmas  299  B.3 Horizontal visibility partition  304  B.4 Generalized Voronoi diagrams  307  C Detailed milling process model mathematics  311  C.1 Linear edge force model  311  C.2 Helix intersection cases geometric constants  314  C.3 Maximum resultant force calculation  321  viii  C.4 Surface profile calculations  323  C.5 Piecewise linear approximation  326  Bibliography  336  ix  List of Tables  2.1  Boolean set identities  4.1  Boolean immersion interval combination rules  104  4.2  Boolean immersion interval combination  104  5.1  HVP tree maintenance  154  6.1  Helix rotation interval cases  198  7.1  Helical cutter instantaneous force tests  250  7.2  Determination of cb 01 , 3  264  7.3  Steady-state maximum resultant forces  276  7.4  Identified cutting model parameters  .  x  .  .  56  276  List of Figures  1.1  Milling process simulation system overview  1.2  Cutter motion specification  2.1  Metal removal process  2.2  Common face and end milling operations  2.3  Milling process geometry  19  2.4  Cutter failure causes  20  2.5  Surface location error  21  2.6  Milling chatter  22  2.7  Numerical control machine tool axes  25  2.8  Axis feedback control system  31  2.9  Contouring error  32  .  2 5 16  .  18  2.10 Adaptive maximum resultant force control  34  2.11 Ambiguity in wireframe part representations  37  2.12 2 1/2 dimensional parts  38  2.13 Cutter—part intersection parameters  39  2.14 Relevant path identification  40  2.15 Octree solid model representation  42  2.16 Boundary representation of a solid  44  2.17 Manifold and orientable surfaces  45  2.18 Constructive solid geometry representation  47  2.19 A non-regularized Boolean operation  48  xi  2.20 Ray casting for CSG evaluation  .  .  .  2.21 Redundancy definitions  50 52  2.22 CSG primitive local approximations  .  53  2.23 Iso-oriented boxes  54  2.24 Modelling pocketing with CSG  57  3.1  MRR model definitions  61  3.2  Mechanistic model parameters  65  3.3  Multiple in cut sections  66  3.4  Mohr’s circle for end milling  71  3.5  Differential element force summation  72  3.6  Kline’s cutter deflection model  74  3.7  Regeneration in chatter  76  3.8  Feedback loop in chatter  79  3.9  Calculation of cutter engagement length  80  4.1  Cutter—part immersion geometry  82  4.2  Advancing cylinder cutter model  83  4.3  Cutter path definitions  86  4.4  Rectangle and circle definitions  87  4.5  Rectangle—perpendicular side  89  4.6  Rectangle—parallel side  90  4.7  Rectangle—intermediate angle side—initial contact  91  4.8  Rectangle—intermediate angle side—final contact  94  4.9  Rectangle  94  redundancy  4.10 Rectangle—cutter intersection angles  96  4.11 Rectangle—cutter arc classification  98 xii  4.12 Circle critical points—re  <rF  4.13 Circle critical points—re  r  .  99  .  101  4.14 Circle—cutter intersection angles  102  4.15 Boolean immersion interval combination illustration  105  4.16 Immersion interval linked lists  106  4.17 Complex CSG part  108  4.18 Complex part immersion interval combination  109  4.19 Cutter immersion algorithm implementation  110  5.1  Multiple part features  5.2  Redundant part features  5.3  Reduced CSG tree  5.4  Iso-oriented boxes  5.5  Sweep paradigm for isobox intersection  5.6  Poor isobox fit  5.7  CSG subtree and primitive bounds  5.8  S-bounds refinement—initialization  5.9  S-bounds refinement—upward (pass 1)  .  .  .  5.10 S-bounds refinement—downward (pass 2) 5.11 Active zones for primitives 5.12 Cutter path swept volumes 5.13 Approximate bound fit 5.14 Line segment intersection by sweep 5.15 Pocketing material removal stages 5.16 Zigzag cutter path chain 5.17 Spiral cutter path chain  XII’  5.18 Cusp avoidance  141  5.19 Occluding cutter paths  142  5.20 Doubly linked circular queue  143  5.21 Boundary segment queue maintenance  144  5.22 Adjacent cutter path density  147  5.23 Path centreline based bounds  149  5.24 Horizontal visibility partition  150  5.25 Vertex types  151  5.26 HVP tree maintenance  153  5.27 Adjacency data structure  157  5.28 Incremental adjacency data structure construction  158  5.29 Rectangle—tail chain intersection  60  5.30 Active trapezoid left/right paths  161  5.31 Interior path tracing  162  5.32 Subsequent path crossings  163  5.33 Top/bottom crossings  164  5.34 Vertical blocks  167  5.35 Approximating rectangle randomization.  .  168  5.36 HVP traversal example  169  5.37 A generalized Voronoi diagram  170  5.38 Primitive redundancy segments  173  5.39 Boundary evaluation  175  5.40 Rectangle—cutter intersection angles  178  5.41 Circle—cutter intersection angles  179  Process model parameters  185  6.1  xiv  6.2  Rotation intervals  6.3  Face mill nose shapes  6.4  Helical flute immersion angle  6.5  Unrolled part surface  6.6  Helical flute contact cases  6.7  Helix rotation interval endpoints  6.8  Definition of 0  6.9  Surface generation in down milling  6.10 Concentrated load cantilever deflection 6.11 Chatter angle and direction definitions  .  .  .  .  6.12 Maximum permissible axial depth of cut  .  6.13 Target feed rate approximation  221  6.14 Servo dynamics compensation  222  6.15 Predicted maximum resultant force  225  6.16 Target feed rate—Fmax=1.2 kN  225  6.17 Predicted maximum surface location error  226  .  6.18 Target feed rate—Sy,max=O.1 00 mm  226  7.1  Experimental setup  232  7.2  Face milling example parts  234  7.3  Face milling cutter path  235  7.4  Experimental average forces—three features, feed rate 0.151 mm/tooth  236  7.5  Average forces—one feature, feed rate 0.100 mm/tooth  238  7.6  Average forces—one feature, feed rate 0.151 mm/tooth  7.7  Average forces—two features, feed rate 0.100 mm/tooth  7.8  Average forces—two features, feed rate 0.151 mm/tooth  xv  .  .  .  .  .  .  238 239 239  Average forces—three features, feed rate 0.100 mm/tooth  240  7.10 Average forces—three features, feed rate 0.151 mm/tooth  240  7.11 Average force Boolean combination  242  7.12 Predicted average torque—three feature part  243  7.9  7.13 Target feed rate—average torque constraint  .  .  244  7.14 Merged target feed rate—average torque constraint  244  7.15 Scheduled feed rate—average torque constraint  245  7.16 Average forces—scheduled feed rate  246  7.17 Average torque—scheduled feed rate  .  .  7.18 Recursive parameter estimates 7.19 Helical cutter instantaneous force test 0 7.20 Helical cutter instantaneous force test 1 7.21 Helical cutter instantaneous force test 2 7.22 Helical cutter instantaneous force test 3 7.23 Helical cutter instantaneous force test 4 7.24 Helical cutter instantaneous force test 5 7.25 End milling example part 7.26 End milling cutter paths 7.27 Average forces—end path A 7.28 Maximum resultant force—end path A  .  .  7.29 Average forces—end path B 7.30 Maximum normal force—end path B 7.31 Surface profile—end path B 7.32 Maximum surface location error—end path B  260  7.33 Piecewise linear feed rate—maximum resultant force constraint 7.34 Merged target feed rate—maximum resultant force constraint xvi  262  7.35 Entry angle evaluation points—maximum resultant force constraint  263  7.36 Scheduled feed rate—maximum resultant force constraint  265  7.37 Maximum resultant force—scheduled feed rate  265  7.38 Scheduled feed rate—maximum surface location error constraint  267  7.39 Maximum normal force—scheduled feed rate.  267  7.40 Surface profile—scheduled feed rate  268  7.41 Maximum surface location error—scheduled feed rate 7.42 Maximum resultant force process block diagram  271  7.43 Process dynamics due to cutter compliance 7.44 PRBS feed rate and maximum resultant force  .  276  7.45 Adaptive controller block diagram  279  7.46 Adaptive control part A  280  7.47 Adaptive control part B  281  7.48 Adaptive control—unaided, part A  284  7.49 Adaptive control—unaided, part B 7.50 Assistance material—part A  286  7.51 Assistance material—part B  287  7.52 Adaptive control—solid modeller assistance, part A 7.53 Adaptive control—solid modeller assistance, part B  289  A.l Common algorithm growth rates  297  B.1 A 0.5r x 0.5r square  300  B.2 Illustration for lemma B.2  302  B.3 Illustration for lemma B.3  303  B.4 Doubled path vertical blocks  308  B.5 Illustration for theorem B.2  310  xvii  C.1 Surface profile prediction  327  0.2 Kline’s surface profile  328  C.3 Rectangle side endpoint angle graphs  331  C.4 Cylinder second derivative component graphs  333  0.5 Cylinder endpoint angle graphs  335  xviii  Glossary  2 1/2 D a part shape that can be defined by extruding a planar area in a direction nor mal to the plane. A great many practical parts, and hence many milling operations, are 2 1/2 dimensional or 2 1/2 D. ACC adaptive control with constraints ACT average chip thickness (mechanistic milling force model) active zone for a primitive S in a CSG tree, the region within which a change to the shape of S will result in a change in the shape represented by the overall tree APT Automatically Programmed Tooling (a part programming language) B-rep see boundary representation boundary representation a solid modelling scheme in which the part is described by a data structure expressing relationships between the surface vertices, edges and faces CAD computer aided design CAM computer aided manufacturing CNC computer numerical control contour error the dimensional error in coordinated axes motion due to the following error of the drive motor and control system contouring peripheral milling intended to generate the final part surface CSG constructive solid geometry cutter immersion interval in a 2 1/2 dimensional part, an angular segment during which the cutter teeth will be engaged in the part cutter path the trajectory that the milling cutter should follow to produce the desired part surface  D dimensional down milling the situation where cutting occurs over a single immersion interval [qj, 7t)  xix  end milling operation with an end milling cutter, usually for peripheral milling pur poses or for pocketing EXAPT an extension of APT which attempts to automatically calculate appropriate spindle speeds and feed rates face milling operation in which the primary goal is to produce a fiat part surface normal to the cutter axis. Usually the depth of cut a is small and the cutter radius r,, large. flute the tooth edge on a HSS end mill following error the time lag of a control system output behind its commanded input. For example, in a machine tool axis position control loop, the actual axis position will be behind the commanded (reference) position due to the control system and table drive dynamics. growth rate the rate at which the running time of an algorithm increases as a function of its input size heapsort an O(nlogn) sorting algorithm (see Aho, Hopcroft and Ullman[1j) horizontal visibility partition a planar subdivision which divides the plane into trapezoidal and triangular sections. The top and bottom sides are horizontal, and the left and right sides are portions of object line segments (a cutter path centreline segment in the thesis) which share a horizontal visibility relationship. HSS high speed steel—a tool material frequently used in end mills HVP see horizontal visibility partition islands material to be left uncut inside a pocket isobox see iso-oriented box iso-oriented box a box with sides parallel to the coordiate axes used to approximate objects such as CSG primitives LEF linear edge force (mechanistic milling force model) MRR material removal rate NC numerical control octant one of the eight smaller cubes produced by recursive subdivision in the octree solid modelling representation scheme  xx  octree a solid modelling representation scheme in which the part volume is enumerated by the octants or cubes which it occupies part quality in manufacturing, the tolerances on shape, surface roughness, etc. speci fied by the designer peripheral milling operation is which the primary goal is to produce a contoured part surface parallel to the cutter axis pocket an empty region bounded on all sides (except above) by the solid part pocketing removal of material from a pocket ray casting a solid model evaluation scheme that uses infinite lines cast through the part region to identify the volume that it occupies. solid modelling a part representation method which yields an unambigous definition of the volume occupied subtree the portion of a CSG tree below the nominated interior node surface location error In peripheral milling, the deviation of the machined part sur face from nominal (due substantially to deflection of the cutter, and the part itself). up milling the situation where cutting occurs over a single immersion interval [0, qex) Voronoi diagram a planar subdivision which divides the plane into regions which con tain all points nearer to the enclosed object (a cutter path centreline segment in the thesis) than to any other object wireframe model a geometric part model that consists of the isolated lines and arcs representing the boundary. Since there is no interior/exterior definition, such mod els are ambigous.  xxi  Nomenclature  A very large number of symbols are required in the thesis, and, due to its interdisciplinary nature, usages are not unique. Rather than selecting an uncommon symbol, the notation most frequently encountered in the literature is retained. Subscripts, superscripts and function arguments clarify the meaning intended, and the context of the usage resolves any remaining conflicts. a , 1 C  2 c  axial depth of cut (mm) radial/tangential force ratios (LEE model)  d  radial width of cut (mm)  B  ) 2 Young’s modulus of elasticity for the end mill (kN/mm  () 1 f  the inverse of a function  Fmax  maximum resultant cutting force (kN)  Fmax,r  f()  reference maximum resultant cutting force (kN)  FR  radial cutting force component (kN)  FT  tangential cutting force component (kN)  FR,FT  average radial, tangential cutting force (kN)  F  feed force component (kN)  F  normal force component (kN)  h  instantaneous uncut chip thickness (mm) average uncut chip thickness per revolution (mm)  is hmax  =/St  maximum permissible uncut chip thickness to avoid tooth breakage (mm) xxii  h*  critical uncut chip thickness (LEP model) (mm)  i  cutter immersion interval index  I  end mill moment of inertia (mm ) 4  j  cutter tooth index  J  end mill polar moment of inertia (mm ) 4  J  number of teeth on the cutter  KR  radial/tangential force ratio (ACT model)  3 K  specific cutting pressure (LEF model) (kN/mm ) 2  KT  specific cutting pressure (ACT model) (kN/mm ) 2  KTR  KT(1  2 (kN/mm / 1 ) 2 + K)  tan &/rc (mm ) 1 L  cantilevered length of end mill (mm)  MR,MT  i multiplier for KR,Kp (ACT model)  O(f(n))  an upper bound on the running time growth rate of an algorithm with input size n, where f(n) is a function of n average power (kW)  33 F , FR,PT  q’  specific power 3 (kW/(mm / s))  i exponent for KR,KT (ACT model) discrete transfer function backward shift operator  r  cutter radius (mm)  R  denotes a real number  s  feed rate (mm/s)  st  feed rate per tooth (mm)  t,tgt 5  target feed per tooth to satisfy constraint (mm) average cutting torque (N-m) xxiii  Tmax u  maximum torque on end mill shank (N-m) table drive command velocity (mm/s) normal force density (kN/mm)  v  surface cutting speed (mm/s)  x  cutter feed axis  Xa  position control ioop actual position  x,.  position control loop commanded (reference) position  y  cutter normal axis  z  cutter depth axis  zL  = L z, is the distance measured from the tool holder to the cutter tip (mm) —  ZCF,y  normal force centre (mm)  Z(S)  in a CSG model, the active zone of primitive S  c4  adaptive control pole parameter, estimate (caused by cutter flexibility)  3,/3  adaptive control gain parameter, estimate (kN/mm)  S, LIF,D  normal end mill deflection solid modeller data assistance quantity added to the maximum resultant force in the augmented adaptive controller adaptive control zero feed rate offset parameter, estimate (kN)  A  the empty or null set  q  reference cutter rotation angle  5 q  angular spacing between successive cutter teeth  qex,i  cutter tooth exit angle  qst,i  cutter tooth entry angle  ib  end mill helix angle  xxiv  (= 2ir/1)  w  spindle speed (rad/s)  Q  the universal set  f1(g(n))  a  a lower bound on the running time growth rate of an algorithm with input size n, where g(n) is a function of n normal stress on end mill shank (CPa)  a(S)  spatial bound for a CSC primitive S  T  shear stress on end mill shank (CPa)  —*  regularized Boolean difference operator  fl*  regularized Boolean intersection operator  U*  regularized Boolean union operator  xxv  Acknowledgement  Sincere thanks are extended to Dr. Yusuf Altintas (Mechanical Engineering) and Dr. David G. Kirkpatrick (Computer Science) for jointly supervising this work. Scholarship funding to the author was provided by a Natural Sciences and Engineering Research Council of Canada (NSERC) Postgraduate Scholarship, a British Columbia Advanced Systems Foundation Graduate Research Scholarship, and an award from the Department of Mechanical Engineering, The University of British Columbia. Support from NSERC equipment grant EQP-0028762 and operating grant OGP-0006164 (awarded to Dr. Altintas) and operating grant OGP-0003583 (awarded to Dr. Kirkpatrick) is also acknowledged. The staff of the Department of Mechanical Engineering, Faculty of Applied Science, and the Centre for Integrated Computer Systems Research (CICSR) always cheerfully provided assistance. The National Research Council of Canada Institute for Mechanical Engineering (Vancouver, BC) provided the surface profile data for figures 7.31 and 7.32.  xxvi  Chapter 1  Introduction  1.1  Overview  It is perceived that a diminishing proportion of the workforce will be employed in man ufacturing, and hence the pressure to automate will steadily increase [51].  Existing  strategies for achieving the untended machine tool isolate the design, manufacturing planning and factory floor activities. Alternatively, this thesis develops an integrated ap proach centred around a methodically implemented solid modeller based milling process simulation system (figure 1.1). To identify the essential requirements for such a system, short introductory sections follow on the product development cycle, and milling process constraints. The closing sections define the thesis focus, and outline the remaining chapters.  1.2  Product development cycle  Development of a new product can be divided into design, manufacturing planning and actual part production stages. With reference to solid modeller, milling process simula tion and untended machining needs, these stages are outlined below. A brief summary concludes the section.  1  Chapter 1. Introduction  2  MACHINING DATA BASE cutter calibration constants cutter failure constraints machine tool constraints part tolerance constraints  PART DESIGN initial and final part geometry  I  r  cutter—part intersection geometry calculations  milling process simulation  I  SOLID MODELLER BASED MILLING  L?L1’2ZLJ PATH PLANNER cutter trajectories  improved path strategy analysis planning strategy  FINAL PROCESS PLAN cutter trajectories spindle speeds feed rate schedule  simulation data  MONITORING AND CONTROL DATA cutter failure adaptive control  MACHINE TOOL Figure 1.1: Milling process simulation system overview. The part geometry is specified using a solid modeller, and cutter trajectories are selected using path planning software. After the cutter-part intersection geometry has been calculated, calibration constants from the machining data base are used by the milling process simulator to predict the forces, torques and deflections for the specified path, cutting speed and feed rate. The simulation data is analyzed and, if necessary, the cutter trajectories improved. After the cutter paths have been finalized, feed rates are automatically scheduled to adhere to constraints listed in the machining data base. This information, along the additional monitoring and control data, is transmitted to the machine tool.  Chapter 1. Introduction  1.2.1  3  Design  Following recognition of need, the creation of a new product begins with its design. Synthesis is an iterative procedure, with the final design being chosen only after a number of alternatives have been examined. Because of the high costs and time delays involved in constructing prototypes, it is instead preferred to carry out computer assisted engineering analyses. The solid modeller [97, 98] has become widely accepted as the vehicle for this work because of its utility in rendering a visual image of the part, performing stress analysis, checking assemblies for interference, and other tasks. The ultimate goal is to reduce the human effort required to produce an acceptable design the first time.  1.2.2  Manufacturing planning  After the part geometry has been finalized, the manufacturing process is planned. For milling, the initial part geometry must first be specified. Next, the cutting tool is chosen, and the cutter trajectories or paths programmed. The cutting speeds and feed rates must be programmed so that the operation proceeds rapidly, but without violating any failure or part tolerance constraint. Because of the substantial geometric nature of this activity, the solid modeller provides the best vehicle to accomplish the task, since it already has a representation of the part shape in its data base. The proposed strategy is to simulate a selected milling process plan before machining occurs. Forces, torque, cutter deflections and surface errors are predicted to aid the human operator to select appropriate cutter trajectories and machining conditions. Feed rates are automatically scheduled by the simulation system to maintain adherence to milling process constraints.  Chapter 1. Introduction  1.2.3  4  Part production  After the manufacturing plan has been finalized, actual part production can begin. Dur ing actual cutting at the machine tool a number of unexpected events may occur. These should be automatically handled without the need for direct operator attention. With a good milling process simulation system, reference technological data can be supplied to give an absolute indication of expected cutting forces, torques, etc. at any point along a cutter path. An intelligent machine tool controller can use this reference to quickly and automatically identify discrepencies, diagnose the cause and take corrective action. When adaptive force control systems are being used, the technological data can warn of upcoming sudden process changes so that excessive transient forces, which would cause cutter breakage, are avoided. The solid modeller alone is able to provide this reference data ahead of the cut.  1.2.4  Summary  To summarize, consistent production of acceptable parts requires a milling process simu lation system capable of assessing the manufacturability of a part design, planning cutter motions consistent with constraints, and providing technological data to assist in achiev ing untended machining at the factory floor (figure 1.1). Since manufacturing planning is typically an interactive activity, the system should be highly efficient computation ally, and should form a component of existing solid modellers to extend their capability throughout the product development cycle.  1.3  Milling process constraints  Essentially, the metal cutting processes involve moving a cutter tooth relative to the part so that a thin layer of material will be sheared away, leaving a new part surface. In milling  Chapter 1. Introduction  —  5  cutter_path cuttinq speed  feed rate Figure 1.2: Cutter motion specification. The cutter path is the trajectory followed by the centre of the cutter (relative to the part). The cutting speed is the rate at which the cutter edge moves relative to the part surface. The feed rate is the speed at which the uncut part moves toward the cutter. this is achieved by a cutter mounted in a rotating spindle. The part is secured to a table, which is moved relative to the cutter by a precision motor and gear mechanism. With modern numerically controlled (NC) machine tools, this is accomplished automatically by running a part program which specifies in sequence the cutter motions to execute. After selecting the intended cutter, a cutter motion is specified by choosing an ap propriate cutter path, cutting speed, and feed rate (figure 1.2). The cutter path is the trajectory to be followed by the cutter centre, and is planned so that under nominal conditions the final part shape has the correct finished dimensions. The cutting speed is a function of the cutter radius and the spindle rotational speed. Based on the part and tool materials, it is selected to achieve rapid material removal but prevent excessive heating and tool wear, and avoid chatter. The feed rate is the speed at which the part moves relative to the cutter. It is selected to avoid excessive forces, torques and defiections.  Chapter 1. Introduction  6  A solid modeller based planning system should be capable of automatically determin ing all three aspects of the cutter motion specification. Under nominal conditions, the geometric aspect of cutter path planning, including verification, has been frequently con sidered by others. However, little attention has been given to scheduling varying cutting speeds and feed rates along the cutter path as the part geometry changes. It is this issue which is addressed in the thesis. The important considerations in selecting cutting speeds and feed rates are failure or part quality constraints. Failure constraints, if violated, would lead to breakage of the machine tool, cutter or part. For example, if the localized stress on any tooth is excessive the cutting edge will fracture. This will in turn result in higher loads on the remaining teeth, and can quickly lead to severe damage. Prevention of tooth breakage can be accomplished by scheduling cutting conditions so that the excessive stresses are always avoided. If a breakage does occur, the online machine tool monitoring system can use data from the solid modeller to distinguish a true breakage from a part geometry change, and safely halt the operation in the former case. In slender end milling applications an excessive resultant force on the cutter can break the cutter shank. Again, this can be avoided by using the milling process simulation system to predict the forces and schedule an appropriate cutter motion. When some variation in part shape or tool condition is expected, an adaptive force control system can be used to maintain productive cutting conditions without violating this constraint. However, a warning from the solid modeller is still required to prevent excessive force transients and shank breakage when sudden changes in part geometry occur. Chatter, caused by self-excited vibration of the cutter, machine tool or part, is difficult to simulate. For particular equipment, however, a depth of cut limit and stable cutting speed can be predicted and used to schedule appropriate cutting conditions. When online monitoring is used to detect chatter, reference to condensed part geometry information  Chapter 1. Introduction  7  will be required to satisfactorily specify an alternative feed rate. Additionally, the solid modeller based milling process simulation system must check that the cutting force loads will not exceed the torque or power capabilities of the spindle motor, or any of the table drives. A complete planning system should consider these failure constraints as well, and specify a cutter motion that violates none of the conditions listed. The finished part must meet dimensional constraints, which can be violated by exces sive deflection of the part or cutter. Since these deflections are the result of forces acting on the flexible components, they can be predicted by using a milling process model. The forces can be determined, used to predict the deflections, and appropriate cutting conditions scheduled to avoid unacceptable finished dimensions. In order to treat all of these constraints, a milling process simulation system must first be able to efficiently and reliably determine the intersection of the cutter and part at any time. This is required to accurately implement the milling process model. It must then schedule productive cutting conditions that violate neither the failure or part quality constraints. The system should furthermore be capable of providing condensed technological information to the machine tool controller to assist it in monitoring and controlling the actual cutting operation.  1.4  Thesis focus  Solid modellers currently have little or no ability to simulate the milling process. Re ported research has difficulty in determining the cutter—part intersection boundary, uses poor process model approximations, or is computationally inefficient. This thesis ad dresses the problem by developing the solid modelling algorithms necessary to obtain the geometrical information, and simulation strategies based on accurate mechanistic milling  Chapter 1. Introduction  8  force models. The emphasis in both areas is to move beyond informal approaches to the use of methodical and efficient techniques. The cutter—part intersection geometry is shown to be essential to all of the milling process calculations. To find these intersections the “divide and conquer” algorithmic paradigm is used with a constructive solid geometry (CSG) representation scheme to yield a reliable solution. In order to avoid repeated operations on irrelevant part features, redundant primitive elimination methods are reviewed and tailored for application to the milling process simulation problem. Special attention is paid to identifying only the few relevant cutter paths in operations such as pocketing, where a long chain of paths is used—each incrementally changing the shape of the part. Alternative solutions based on computational geometry techniques which improve on the quadratic time complexity of incrementally checking all previous cutter paths, and avoid repeated updating of the CSG tree, are proposed. Several improvements over reported milling process simulation techniques are devel oped. Rather than summing small differential elements along the cutter axis, analytic expressions are developed to rapidly obtain forces, torques and defiections in 2 1/2 di mensions. Numerical methods and calculus techniques are then used to find extreme values, eliminating the need to repeatedly sample at small angular increments as the cutter rotates. Whenever possible, the cutter—part intersection boundary is simplified so that accelerated simulation can occur along the cutter path as well. After simulating the milling process, the highest material removal rate (MRR) consistent with the relevant constraints is scheduled. The algorithms are tested in simulation use, and compare well with experimental results. The potential of the techniques to assist in manufacturing automation is demon strated by a number of applications. Feed rates are automatically scheduled to maintain the highest MRR consistent with average torque, maximum resultant force, and surface  Chapter 1. Introduction  9  error constraints. Use of technological data to assist in factory floor decision making is exemplified by part shape verification and tooth breakage detection. In adaptive force control, advance information from the solid modeller is used to anticipate sudden part geometry changes, avoiding the dangerous transients that otherwise would occur.  1.5  Outline  An outline of the thesis follows: In chapter 2 the existing literature on solid modeller based milling process simulation is appraised, and the relevant metal cutting mechanics, manufacturing automation, solid modelling and computational geometry references are reviewed. Chapter 3 explains mathematically the metal cutting process models used in the the sis, and the physical constraints limiting material removal rates. Specifically, the cutter— part intersection geometry is shown to be fundamental to successful implementation of the models. Chapter 4 presents constructive solid geometry (CSG) as a suitable solid modelling method for milling process simulation. A reliable “divide and conquer” strategy is devel oped for determining the important cutter immersion angles. Block and cylinder prim itives in 2 1/2 dimensional parts are thoroughly analyzed, and expressions describing their intersection with a cylindrical milling cutter formulated. Chapter 5 explores several ways of increasing the simulation efficiency by eliminating irrelevant CSG primitives. The suitability of existing schemes is evaluated, and tech niques particularly suited to milling process modelling are presented. The problem of identifying relevant cutter paths in a chain is examined and solved by applying computa tional geometry based solutions. It is shown that under given assumptions this problem  Chapter 1. Introduction  10  has a linear intrinsic complexity. Often after these methods have been applied the cutter— part intersection geometry can be simplified to a single immersion interval. In these cases a very rapid simulation technique is proposed. Chapter 6 develops analytic expressions to predict cutting forces, torques and cutter deflection. Each of the formulae critically depends on the immersion information avail able from the solid modeller, and is much more efficient than the small differential axial element summation methods used by previous researchers. Furthermore, use of analytic expressions permits rapid determination of critical forces and deflections, without requir ing sampling at small cutter rotation angular increments. The formulae are inverted for use in scheduling feed rates consistent with physical constraints. Chapter 7 demonstrates the simulation algorithms and confirms their accuracy with a number of experimental tests. The good agreement obtained supports use of the solid modeller data to automatically schedule feed rates consistent with constraints, and to augment online monitoring functions. This is confirmed by experiments to maintain a constant average torque, maximum resultant force and surface error by varying the feed rate as the part geometry changes. Use of solid modeller data for monitoring purposes is specifically demonstrated by comparing the average forces of parts missing one or more features, and outlining a tooth breakage detection algorithm. Application of solid modeller data to assist with adaptive control of the maximum resultant cutting force is also examined. It is shown that, when sudden changes in part geometry are encountered, standard controllers are unable to react in time to prevent catastrophic tool breakage.  By introducing information from the solid modeller, the  controller is warned of the upcoming change, and smoothly adjusts its commanded output to eliminate the dangerous force transient. In chapter 8 the major contributions of the thesis are recounted and summarized. Ex tensions of the work to support more complex cutters and part geometries, and to further  Chapter 1. Introduction  11  integrate the solid modeller based milling process simulation system with the machine tool controller, are suggested. This is followed by the appendices and bibliography.  Chapter 2  Literature review  2.1  Overview  Researchers have recognized that sustained operation of machine tools requires both gen eration of correct cutter motions, and enhanced online monitoring and control capabilities [7, 55]. Development of a solid modeller based milling process simulation system will ad dress these needs by automatically considering the constraints on the material removal rate (MRR), and providing reference technological data to the factory floor controller. Although the motivation to develop such a system arose with the introduction of numer ical control (NC) in 1952, only recently have research efforts been directed towards its practical realization. The research group associated with Takata has produced a number of papers on a part model based cutting simulation system [7, 49, 53, 120, 131, 132]. In [7] the average torque is estimated using an empirical equation based on the MRR. While this method can provide quick estimates to check that the spindle motor will not be overloaded, instantaneous forces, needed to check for shank breakage and excessive deflection, are unavailable. The later articles [120, 131] use a more accurate mechanistic milling force model. Following Kline [57], the authors subdivide the axial depth of cut into thin slices and sum the force vectors to obtain the overall cutting forces. This time consuming incremental simulation approach is continued in both the cutter rotation and cutter path directions. No attempt is made to increase the calculation efficiency by exploiting the  12  Chapter 2. Literature review  13  local part description. In [132] the authors propose, for pocketing, maintaining a constant radial width of cut to adhere to cutting force and chatter constraints. A direct inverse calculation from a milling process model, however, is not used. Iwata and Takata [49] outline a sys tem architecture integrating milling process simulation with the online machine tool controller. Their list of desireable features (process planning, adaptive control and mon itoring) matches the implementation achieved in this thesis. Wang [140] considers more complex part shapes than Takata, and demonstrates by example the reduction in machining time possible if a milling process simulation system is used to schedule the highest safe feed rate. However his process model is the simple MRR approximation taken from [61], and similar in implementation to [7]. Again, the depth or Z-buffering technique is used to calculate the cutter—part intersection. Feed rate scheduling within the NC programming block is not possible, and no online monitoring and control applications are considered. The recent article by Yamazaki et al [145] deals with sculptured surface machining, but retains the MRR process model. The work by Kendall’s group [55, 78, 154] parallels the philosophy of Takata, but recognizes the importance of developing a methodical system. In [55] the idea of supplying knowledge from a solid modeller to an intelligent machining centre controller is advanced. An analytic cutting force model is developed in [154], but not pursued to fully exploit its capabilities. The end mill engagement determination method reported in [78] is the closest work to that proposed in this thesis. A boundary representation (B-rep) of the part is used to determine the cutter—part intersection along separately specified cutter paths. There is no apparent effort to develop the system upwards towards the design stage of product development, or to increase computational efficiency by identifying the locally relevant portion of the large B-rep data structure. The research group lead by Armarego has also reported an analytical cutting force  Chapter 2. Literature review  14  model for end milling [4, 141]. The emphasis of that work was to create a cutting force constant data base which can be used by milling process simulation systems such as the one proposed in this thesis. This thesis formally addresses the problem of developing a solid modeller based milling process simulation system. As opposed to the MRR based systems which ignore proven milling process models, this thesis directly identifies the geometrical parameters needed for the simulations. The geometrical information is then obtained from the solid modeller using computationally efficient methods in which incremental summations and sampling are replaced by analytical expressions and more advanced numerical techniques. Implementation of the milling process simulation system will entail integration of current knowledge and methods from metal cutting mechanics, manufacturing systems automation, solid modelling, computational geometry and numerical analysis to be suc cessful. These topics are surveyed in separate sections following. The metal cutting mechanics review explains the fundamentals of the milling process, and the constraints imposed on the MRR. Particular emphasis is placed on capturing the required geometrical knowledge in the solid modeller based simulation system, both for planning purposes and assisting with untended machining tasks. The manufacturing systems automation section examines the present capabilities of NC machine tools and controllers, including sensor technology. It is concluded that the before the cut information available from the solid modeller will enhance the untended machine tool capabilities in a practical way that currently cannot be matched by sensors alone. Existing solid modeller based milling process simulation systems operate with poor efficiency due to their failure to fully exploit part geometry knowledge. The final section reviews the representation techniques and computational tools available to address these deficiencies. With reference to the implementation requirements of the milling process  Chapter 2. Literature review  15  model, the common solid modeller representation strategies are briefly compared. Com putational geometry and numerical analysis methods appropriate to the milling process simulation problem are outlined.  2.2  Metal cutting mechanics  2.2.1  Overview  In the metal removal processes the passage of each tooth results in a thin layer of part material being sheared away. A sketch of the basic operation for orthogonal cutting, in which the tooth edge is perpendicular to the cutting direction, is shown in figure 2.1. The dimension h, which marks the thin layer before the tooth, is referred to as the uncut chip thickness. Forces on the tooth arise from chip formation along the primary shear plane, additional shearing and friction along the rake face, and the largely frictional force on the flank face. A vector showing the resultant of these forces is shown in figure 2.1, along with the shear angle  which is measured from the cutting direction to the shear  plane. The force on an entire milling cutter is found by summing the contribution of each tooth section. Classical studies of the physics of machining have been conducted by authors such as Merchant [79, 80] and Lee and Shaffer [70].  Although their work contributed to  understanding the process, a purely predictive model of metal cutting has yet to be developed.  Rather, mechanistic models based on the uncut chip thickness are most  frequently used in practice. Milling cutters consist of a number of teeth arranged around the circumference of a main body (figure 2.2). A face mill is used to produce a flat surface normal to the cutter axis. It usually has a large radius r and operates at a small depth of cut a. End mills are typically used at much larger depths of cut, have a smaller radius, and teeth which  Chapter 2. Literature review  16  resultant force  1’’  rake face shear plane  \‘\  ,\\\\\ %\\\\\\\\\  \\\  /  ace ////// Figure 2.1: Metal removal process. The passage of each tooth results in a thin layer of the part material, with uncut chip thickness h, being sheared away. The shear angle is denoted by , and the resultant force direction on the tooth is indicated. recede at a helix angle  .  The cutter is rotated by a spindle at speed w to achieve the cutting speed v  =  wr,  where r, is the cutter radius. The part is moved toward the cutter at a feed rate of s mm/tooth. Martellotti [74, 75] noted that the path traced by a single tooth is trochoidal, but, since the rotational speed is normally much faster than the feed rate, a circular path approximation is normally used. In this case the instantaneous uncut chip thickness varies sinusoidally as the tooth edge rotates according to the formula  ii  =  s sin q, where  q5 is the immersion angle shown in figure 2.3. The mechanistic models (see for example Kline [57]) separate the cutting force into tangential FT and radial FR components, which are proportional to the uncut chip thickness. These components are vectorially summed over all in cut tooth edges to yield the total load on the cutter. The complex expressions required for the vector summations are presented in chapters 3 and 6, including formulae  Chapter 2. Literature review  17  for helical end mills. Based on this fundamental introduction however, it is recognized that geometrical methods for determining the portions of the cutter teeth engaged in the part, and the corresponding uncut chip thicknesses, are needed for implementing the milling process simulation system. 2.2.2  Constraints  The rate at which a milling process may proceed (the MRR), is limited by constraints imposed to prevent failure of the machine tool or cutter, or production of an unacceptable finished part. Both failure and part quality constraints were introduced in chapter 1, and will be treated in mathematical detail in chapter 3. This section serves to briefly identify the type of calculations that will be required in a milling process simulation system. The MRR constraints arise because of a combination of the tool and part properties, and their intersection geometry. Part material properties are studied under the title of machinability—a topic which has received intensive research attention. The primary focus is on the selection of tool materials that can cut with lower forces and longer tool life [106, 130]. Research on tool materials aims to improve tool life both in wear and sudden breakage. Prediction of the rate of wear for a particular tool is difficult due to the wide variations encountered in practice. Yellowley and Barrow [149] have observed that thermal cycling due to the interruption of cut in milling is a major contributing factor. This is a geometric aspect of the cutting conditions, which can be ascertained by the solid modeller and incorporated into an approximate wear model. To obtain a satisfactory wear resistance, tool materials are hard and brittle. This increases susceptibility to breakage when the tooth load becomes excessive or suddenly changes [89, 90] (figure 2.4(a)). This condition can be checked for by determining the maximum uncut chip thickness that the cutter teeth will encounter, which is a function  Chapter 2. Literature review  18  a  r C  (a)  (b)  d  Figure 2.2: Common face and end milling operations. (a) Face milling. Teeth are spaced around the circumference of the cutter body. The cutter radius r is large and the depth of cut a relatively small. (b) End milling. The leading edges of the teeth (the flutes) recede at a helix angle i&. The depth of cut is large compared to the cutter radius and width of cut d, and deflection can be significant.  19  Chapter 2. Literature review  FR\  Figure 2.3: Milling process geometry. The teeth on a milling cutter rotate at angular speed w, tracing out an approximately circular path as the part advances at a feed rate of .st. Under these conditions the instantaneous uncut chip thickness varies according to the formula h s sin q. The cutting speed is v = wr. The tangential Fr and radial FR force components are assumed to be proportional to h.  Chapter 2. Literature review  (a)  20  (b)  Figure 2.4: Cutter failure causes: (a) tooth breakage due to excessive uncut chip thick ness. (b) shank breakage due to excessive resultant cutting force. of the part geometry, and can be controlled by varying the feed rate. In end milling an excessive load on the slender cutter can result in brittle failure of the cutter shank (figure 2.4(b)). Using mechanistic milling process models, the load on the cutter can be predicted by finding the uncut chip thickness at each point along the teeth in cut, determining the force contribution, and vectorially summing to obtain the resultant. The fundamental problem again is one of cutter—part intersection geometry, and can be solved by a solid modeller based milling process simulation system. Surface location error (figure 2.5) due to cutter deflection is a related problem. The doctoral studies by Kline [56] and Sutherland [117] consider this topic, including radial runout, part deflection, and dynamic considerations. They use very computationally expensive element summation methods in order to achieve simulation of radial runout, part deflection, etc. However, a basic cantilever beam cutter model is sufficient for process  Chapter 2. Literature review  21  ‘D  surface location error  /  Figure 2.5: Surface location error. The cutting forces deflect the flexible cutter, and, if the part wall is thin, the part as well. To avoid violating this constraint, the simulation system must predict the cutter and part deflection. planning purposes with thick walled parts. In chapter 6 this model is solved analytically, and a feed rate automatically scheduled to maintain an acceptable surface location error. Chatter is self-excited vibration of the cutter relative to the part. It begins when a natural frequency of the structure is excited, causing undulation in the generated part surface (figure 2.6). This leaves a periodically varying uncut chip thickness which is encountered by subsequent cutter teeth, causing a varying force and deflection. Should the tooth passing frequency be unfavourable with respect to the chatter frequency, the vibration will again generate an undulating part surface, and the phenomenon will re peat.  Growth of chatter is caused by a long contact length between the cutter and  part (Koenigsberger and Tlusty [60]). Again, this is a geometric quantity which can be reported by the solid modeller, and ultimately incorporated into a chatter prediction system. Other constraints, such as torque and power limitations, are also based on the cutting  Chapter 2. Literature review  22  Figure 2.6: Milling chatter. When the cutter or part begins vibrating, an undulating surface is left to be encountered by subsequent teeth. This varying uncut chip thickness results in varying forces and defiections, causing the new undulating surface to be gener ated. A solid modeller can predict the contact length between the cutter and part, which is important in chatter prediction (Koenigsberger and Tlusty [60]).  Chapter 2. Literature review  23  force, require the same information from the solid modeller, and can be checked in a similar way. The mathematical details are outlined in chapter 3. 2.3  Manufacturing systems automation  The increased emphasis on untended manufacturing has renewed research in the areas of machine tool monitoring and control. In this section the history of numerical control (NC) for machine tools is briefly presented. Following subsections cover the important aspects of both monitoring and control tasks. 2.3.1  History  The history of numerical control (NC) in the metal removal industry began with demands by the United States Air Force for rapid and accurate production of complex aerospace parts [40, 64]. Manual operation of the machine was becoming unproductive due to the large portion of time being spent measuring the dimensional accuracy of the part. The first work in NC development is attributed to the Parsons Corporation, Traverse City, MI, USA. After their work was demonstrated in 1948, contracts were awarded by the Air Force to both Parsons, and soon after to the Massachusetts Institute of Technology (MIT) Servomechanism Laboratory. The first NC machine tool was demonstrated by MIT in 1952. The low level NC programming language format understood by the machine tool controllers adheres to ETA (Electronics Industries Association) standards RS-273-A and RS-274-B. The major benefit of the NC language is the ability to specify a linear, circular or parabolic cutter path which will automatically be followed by coordinating the machine axes (figure 2.7)—a task beyond human capability. For easy control implementation, the cutter path is the track to be followed by the centre of the cutter. Therefore in manual  Chapter 2. Literature review  24  part programming a number of tedious geometrical calculations are required to determine the path which will leave the desired shape at the part surface. This difficulty was recognized, and immediately after the first NC machine tool was introduced, the Air Force sponsored additional research at MIT to develop a higher level NC programming language.  In 1959 the APT (Automatically Programmed Tooling)  language was first released, and remains in use even today. APT programs consists of two major parts [40j: (i) part and cutter geometry specification and (ii) cutter motion statements. The geometry is specified using lines, circles, etc. that represent the part boundary in a chosen plane. Additional statements declare the radius of the cutter, etc. Cutter motion statements specify the path to be followed relative to the part geometry. APT automatically computes the necessary offsets from the part surface to yield the correct cutter centre location. The cutter motions are translated into the standard low level NC programming language format suitable for controlling the factory floor machine. Other parts of the language allow for automatic cutter selection, etc. The human part programmer must additionally specify the appropriate spindle speeds and feed rates— APT has no capability in this area. Extensions and variations of APT, such as EXAPT  [311, attempt to automatically compute speeds and feeds but are limited by a lack of geometrical information. The need to separately specify the part geometry for cutter path programming can be eliminated if computer aided design (CAD) systems are used to design the part. Instead, a part programming feature is added which accesses the existing CAD design data. The complete part descriptions provided by solid modellers further permit development of a milling process simulation system.  Chapter 2. Literature review  25  axis 1  axis  Figure 2.7: Numerical control machine tool axes. A set of five axes is shown. The first three axes represent the usual Cartesian coordinate system. Additional axes are gained by adding a turntable (axis 4) and permitting rotation of the spindle head (axis 5). For each axis a feedback control system is used to obtain accurate positioning. Coordinating the axes motions manually is a task beyond human capability.  Chapter 2. Literature review  2.3.2  26  Process monitoring  With NC having replaced the need for a human to actually operate the machine tool, continued progress towards untended manufacturing requires replacement of the senses and judgement of the machinist (Wright and Bourne [143]). A major difficulty in visually monitoring machining operations in process is the hostile environment. The shiny surface of the metal parts causes difficulty in observing the process using cameras. Furthermore, flying hot chips and cutting fluid are likely to strike the camera lens, causing damage or at least blocking the view. Most measurements are therefore carried out using a variety of special purpose transducers. A critical review of sensors for unmanned machining was conducted by Tiusty and Andrews [126]. Additional discussion of sensors and actuators is contained in recent textbooks [29, 143], including bibliographical references. Monitoring tasks in an untended environment concentrate on identifying abnormal conditions so that an appropriate response can be initiated. Breakage of a cutter tooth must be immediately detected and the cutting process halted before additional damage occurs.  Several authors [67, 85] have attempted to  detect the acoustic emission generated by sudden fracture of the tooth, but research in this area still requires substantial study before the technique can generally applied in industry. Altintas [3] proposes detecting tooth breakage by comparing the average forces of successive tooth periods. When a tooth edge breaks it becomes smaller, removes a smaller uncut chip load, and normally experiences smaller forces. The following tooth on the cutter then must remove a larger portion of material, and therefore bears a larger load. When an unusually low average force is followed by a higher than normal value, the existence of a broken tooth is inferred. Practical application of the approach is hindered by runout and a lack of part geometry knowledge—which are both difficult to distinguish from a broken tooth. False broken tooth detections must be avoided if a productive MRR  Chapter 2. Literature review  27  is to be maintained. In the case of runout this is achieved by properly preparing the cutter so that runout is minimized. An average force change above a threshold value then is assumed to be the result of a broken tooth. Immersion information and predicted average forces from a solid modeller based milling process simulation system can be transmitted to the online monitoring system to assist in distinguishing part geometry changes from tooth breakage. Shank breakage occurs when long, slender high-speed steel (HSS) end mills are sub jected to excessive loads. The actual cause of failure is brittle fracture due to a high bending moment in the cutter shank area. This type of failure is extremely dangerous, since the broken cutter may be propelled away at high speed. It is best avoided through proper planning, or the use of adaptive control techniques (see section 2.3.3). When it does occur, it can be immediately detected by the sudden lack of cutting forces, torque and power. Chatter vibrations can rapidly grow in amplitude, possibly resulting in breakage of the cutter. An unacceptable surface finish will certainly result, and hence chatter must be quickly detected. Several types of transducers have been proposed for detecting the onset of chatter. The rapid cutting force variations can be detected by piezoelectric dynamometers. A common laboratory arrangement is to mount a small part on a table dynamometer, which itself is secured to the machine tool table.  In actual practice,  however, it is inconvenient to change parts with this setup. Furthermore, as the part is machined its shape and mass change, making it difficult to ascertain the transfer function of the part and dynamometer, which is needed to correct the frequency response reported. Accelerometers can be mounted on either the part or the spindle headstock. Again, this method indirectly measures the vibration at the cutter—part interface, and the bandwidth is limited. Smith [108] recognizes chatter by detecting its characteristic high frequency noise with  Chapter 2. Literature review  28  microphones arranged to reject sounds away from the cutting region. He then develops a strategy, based on the theoretical understanding of the phenomenon, to select alternative cutting conditions that should avoid chatter. After measuring the dominant frequency of the chatter noise, his method then adjusts the spindle speed so that the tooth passing frequency matches the chatter frequency. This establishes a stable phase angle in the regenerative feedback system, and is useful in high-speed machining applications, where chatter is common, and a wide choice of spindle speeds is available. After a new spindle speed has been chosen, he slowly advances the part to verify stability without risking high amplitude forces. If chatter free conditions are now apparent, the feed rate is increased to a productive level. A solid modeller based milling process simulation system is useful at this point to select the new feed rate. If the cutting conditions which result in chatter or stable cutting are recorded, a data base can be developed to aid in development of a chatter prediction model, which remains an active research topic. Detection of over torque or over power conditions also must be rapid to prevent machine tool or part damage. Should the capabilities of the spindle motor be exceeded it may suddenly stall. Part feed must then immediately be halted. Avoidance of such an occurrence is preferred to its detection, and can be achieved by checking the part dimensions before cutting. If the part is found to be within tolerance, the simulations carried out by the solid modeller guarantee safe cutting conditions.  Average torque  and power in process are most readily measured by sensing the spindle motor electrical current [113, 120]. In the laboratory, instantaneous forces can be measured using a table dynamometer, although the frequency response is limited and changes with the part. Sensors for industrial use are usually located in the spindle and sense the strain in the bearing ring. Tiusty and Andrews discuss these sensors in their critical review [126]. Short of removing the cutter from part contact, tool wear is difficult to measure directly. In process methods of detecting tool wear function indirectly by tracking the  Chapter 2. Literature review  29  surface location error [41], or by measuring the cutting temperature [47, 1521 or electrical resistance [111]. Acoustic emission has also been proposed for tool wear measurement [48, 66, 95], but remains unaccepted for practical use. Since cutting forces and torques tend to increase with wear [26, 133], data from a solid modeller can assist by providing a reference set of values simulated under sharp tool conditions. Slowly increasing forces or torques would then indicate wear, which can be recognized in time to replace the cutter before a catastrophic failure occurs. The availability of new technological data from a solid modeller milling process sim ulation system offers the potential to more closely monitor adherence of the part shape and material properties to expected, nominal values. Use of a reference signal from this source has previously been suggested by authors such as Takata and Sata [119]. Solid modeller information is therefore an enabling contribution needed to successfully begin exploring this application area. In summary, monitoring of milling processes is a matter of verifying that the operation is proceeding normally. Nominal forces and torques can be predicted by a solid modeller based simulation system, and the data used by the online monitor to detect deviations which require halting cutting and human operator attention. 2.3.3  Control tasks  Accurate, automatic control of machine tools was required starting with the introduc tion of NC. Each axis of the machine tool is positioned using a feedback control system (figure 2.8(a)) which compares the position commanded from the NC program and inter polators to the actual axis location, and, through a control system tuning filter, amplifier, motor and lead screw, achieves the required motion. Because of the inherent inertia in the electrical and mechanical elements, there will be a non-zero dynamic delay or fol lowing error between the commanded  Xr  and actual position  Xa  (figure 2.8(b)). When  Chapter 2. Literature review  30  coordinated motion of two or more axes is required, this appears as a contouring error (figure 2.9) which, at high speeds, can leave significant surface location errors on the finished part. This problem can be avoided during linear interpolation by stopping the table between successive steps in the NC program, but this solution is undesireable when a high MRR is to be maintained. The subject is an active research topic, and progress articles by several authors have appeared in the literature [13, 25, 42, 63, 92, 135]. Adaptive control theory has been proposed to optimize costs in milling [21], but the majority of the research has addressed adherence to constraints such as the maximum resultant force, which is responsible for the breakage of slender end mill shanks. The first research on adaptive control for machine tools is attributed to Stute and Goetz [114], who showed that the machining is time varying—the process parameters being a function of the part geometry (tool wear and material properties change much more slowly). Their cutting model consisted of a varying gain and a fixed first order pole. The gain was calculated from force and feed rate measurements and the regulator then tuned to ensure stability of the system. Masory and Koren [65] later developed an adaptive control system for turning. Tomizuka et al [129] first applied modern adaptive control theory to the milling process using a model reference adaptive control (MRAC) scheme. Again only the gain of the process was identified. Daneshmend and Pak [28] applied MRAC to turning in a similar fashion. A number of other researchers have also investigated and reported on this issue [38, 68, 69, 83, 121, 134]. All of these systems are referred to as adaptive control with constraints (AC C), and consist of two main components: (i) identification of the process to be controlled (pa rameter estimation) and (ii) tuning of the control regulator based on the parameter estimates (figure 2.10). The process is identified using methods such as recursive least squares (RLS). The regulator control law is then formulated so that the desired closed loop transfer function is achieved. The tuned regulator sets the feed rate command signal  Chapter 2. Literature review  31  (a) 3  E  2  0 C,,  o  1  0 0.00  0.02  0.04  0.06  0.08  1.00  time (s)  (b) Figure 2.8: Axis feedback control system. (a) A position control ioop is used to accurately achieve agreement of the actual position Xa with the commanded (reference) position Xr. (b) Dynamic response of a position control loop. The following error is substantial, leading to significant contouring error (figure 2.9).  Chapter 2. Literature review  32  0 (I)  0  a  commanded path  >N  actual path  2  1  C  x position (mm) Figure 2.9: Contouring error. At the corner the x axis is commanded to instantaneously stop. Simultaneously the y axis is commanded to suddenly assume a high velocity. Because of the following error (figure 2.8), a significant contour error occurs.  Chapter 2. Literature review  33  u so that the measured maximum resultant force Fmax corresponds to the reference force  Fmax,r. Details on implementation of a pole placement adaptive controller are given in section 7.5, including development of a dynamic milling process model which includes the influence of edge forces. The major difficulty with such force control systems is their inability to perform adequately when extremely sudden changes in part geometry are encountered. If the depth or width of cut increases too quickly, the regulator will be unable to reduce the feed rate before a large force transient occurs (figure 2.10(b)). This excessive force will likely break the end mill shank, and may also damage the part and fixtures. The inability to recognize and react to upcoming changes in geometry has prevented industrial acceptance of adaptive control. In section 7.5, geometric information from the solid modeller is provided to an augmented adaptive control system to overcome this difficulty, while retaining the advantage of online feedback. Active chatter control systems [22, 50, 72] work by modulating the spindle speed in an attempt to disturb the regeneration process. The theory behind such approaches is in its infancy, and is not further considered in this thesis. 2.3.4  Summary  In untended machining the most difficult open problem is replacement of the senses and judgement of the machinist. By including a solid modeller simulation capability in such a system, reference or expected values with which to compare online process sensor readings will be readily available.  In applications such as tooth breakage or chatter  detection, where decision making is hindered by a lack of absolute force value information, provision of solid modeller simulation data can uniquely enhance the autonomy of the machine tool executive.  Chapter 2. Literature review  34  (a) 3  0  2  =3 Cl) U)  1  E =3 E E  0 0  20  40  60  80  100  120  position (mm)  (b) Figure 2.10: Adaptive maximum resultant force control. (a) Block diagram. The ma chining process is recursively identified, and the parameter estimates used to adjust the regulator to achieve the desired closed ioop response. The example shows an adaptive control system to maintain the maximum resultant force Fmax at the reference level Fmax,,. by adjusting the feed rate St. (b) Dangerous force transients. This is a reproduction of the top portion of figure 7.48. When a sudden change in cutting conditions occurs, such as a rapid increase in depth of cut, the controller is unable to prevent the dangerous force transient.  Chapter 2. Literature review  2.4  35  Solid modelling and computational techniques  Part geometry and its representation play important roles in all phases of the product development cycle. To be of practical utility, any milling process simulation system must therefore interface with existing part representation schemes. A brief history of the subject is provided at the beginning of this section. Next, the requirements of a part representation scheme to be used for milling process simulation are outlined. Contem porary solid modellers are then assessed for suitability to the task, and a representation scheme for use throughout the thesis selected. Attainment of efficiency will require appropriate use of tools from the fields of com putational geometry and numerical analysis. Introductions to these areas are briefly provided to establish a basis for methodically implementing the complete solid modeller based milling process simulation system. 2.4.1  History  Early computer aided design (CAD) programs provided only an “automatic drafting” level of assistance. The computer part representation was merely a rendering of the isolated two dimensional lines and arc entities that previously were hand drawn. Programming of the cutter motions in such a system is accomplished by selecting the appropriate entities as boundaries to be used in an APT like preprocessor. Since no immersion information is available, the part programmer is required to manually select appropriate cutting speeds and feed rates. Due to the tedium of such calculations, very conservative estimates are normally used, leading to an inefficient MRR. More advanced systems provided some three dimensional capabilities, and combined the isolated entities into a “wireframe” part representation. Although an improvement, the wireframe representation is ambiguous (figure 2.11) because there is no differentiation  Chapter 2. Literature review  36  between the interior and exterior of the part—information which is needed for engineering analyses (Finite Element Methods (FEM), mass calculation, etc.). This limitation has turned current attention to solid modellers, which explicity identify the solid region of the part. Part programming systems based on solid modellers are now becoming available (see, for example [8, 15, 88]), and are expected to be commonplace in the immediate future. Because of the expense of an error in manufacture of single quantity items (such as plastic injection molds or airframe components), geometrical verification of NC programs to detect errors (assuming inflexible parts and cutters) has been an active research area [87, 116, 139]. This thesis concentrates on using geometrical information from a solid modeller to implement a physical milling process simulation system, and the literature review is conducted with that aim. 2.4.2  Milling process simulation requirements  To develop the concepts needed to implement a milling process simulation system, atten tion in this thesis is focussed on 2 1/2 dimensional parts and straight line cutter paths. A 2 1/2 dimensional or 2 1/2 D part can be imagined as a vertical extrusion of an x-y planar profile (figure 2.12). Such “functional” parts comprise a large portion of everyday machined components [32, 105, 137] and therefore provide a practical foundation. Fur thermore, for simplicity, the shape will be restricted to edges formed by flat or cylindrical faces. More complex shapes can be treated, without increasing the simulation difficulty, by permitting a lamination of 2 1/2 D layers. A straight line cutter path restriction is also imposed only for simplicity in developing the overall strategy for the milling process simulation system. In order to simulate the milling process, the part representation must permit the cutter—part intersection to be rapidly determined. This is a primary requirement that  Chapter 2. Literature review  37  Figure 2.11: Ambiguity in wireframe part representations. (a) Since wireframes provide no information to identify the part interior and exterior, it is unclear whether the hole is through (b) the top, (c) the front, or (d) the side of the block. The literature attributes this example to J. Shapiro (see [46, chapter 1]).  Chapter 2. Literature review  38  z  Figure 2.12: 2 1/2 dimensional parts. Such parts can be imagined as a vertical extrusion of the x-y plane. More complex shapes can be constructed by permitting a lamination of 2 1/2 D layers, such as the half depth hole shown above. was recognized in section 2.2. For 2 1/2 D parts this corresponds to determining the axial depth of cut a and the angles over which the cutter teeth are immersed as the cutter revolves (figure 2.13). As will be shown in chapter 6, knowledge of the immersion angles at a single axial location is sufficient even when helical end mills are being used. Since completion of cutting for each path implies a change to the part, these changes must be recorded in the part representation before simulation along the next path can begin. In practice, however, only a few of the preceding cutter paths are likely to be relevant during subsequent simulation. In figure 2.14, there are cutter path chains to mill the outside perimeter of the part, and two internal pockets A and B. The three chains are isolated, and hence there is no need to, for example, consider the perimeter or the paths in pocket A when simulating the milling process in pocket B. Furthermore, only a portion of the paths in B itself are relevant at any stage during its removal.  Chapter 2. Literature review  39  0 a  Figure 2.13: Cutter—part intersection parameters. For 2 1/2 D parts, the axial depth of cut a, and the angles during which the cutter teeth are immersed in the part (circumfer ence arc shown with thick lines) are the geometric parameters required to simulate the milling process.  Chapter 2. Literature review  40  3\ \  I  /  Figure 2.14: Relevant path identification. Three cutter path chains to mill the part perimeter and two internal pockets A and B are shown. When simulating removal of pocket B, the paths associated with the perimeter and pocket A should be quickly elim inated from consideration. Within pocket B itself, only a portion of the preceding paths are relevant. For example, path 3 is too far distant from 6 to warrant consideration. To achieve rapid performance throughout simulation of a large and complex part shape, efficient methods of recording updates to the part shape and identifying only the required portions of the part representation data structure are needed. 2.4.3  Solid modellers  The representation schemes used in solid modellers are divided into three primary groups: 1. spatial enumeration or octree encoding 2. boundary representation  Chapter 2. Literature review  41  3. constructive solid geometry A brief description of the strategy used in each representation follows. Spatial eiiumeration  The spatial enumeration or octree encoding [76, 103, 104, 144] technique recursively subdivides a volume into cubic regions (called octants or voxels) until the part is ex actly represented, or a specified tolerance is reached. A step by step description of the procedure follows: 1. First enclose the part in a sufficiently large cube, centred at the origin and aligned with the coordinate system axes. The cube side dimension is chosen so that re peated subdivision into halves is easy to perform. 2. If the part exactly fills the cube mark the cube as occupied 0. If the part occupies none of the cube mark the cube as vacant V. In either case then exit from the procedure. Otherwise, subdivide each side of the cube into halves, producing eight smaller cubes. 3. Recursively repeat the previous step until the cubes exactly define the part, or a specified tolerance is reached. An illustration of the procedure is given in figure 2.15(a). An eight child hierarchical tree data structure is used to combine the cubes into an overall spatial enumeration of the volume occupied by the part (figure 2.15(b)). At each level of subdivision, fully occupied or vacant octants become leaves and are respectively marked 0 or V. Partially occupied octants become interior nodes with eight smaller child octants.  Chapter 2. Literature review  42  Part Representation Octant Numbering  (a  o1 (b) Figure 2.15: Octree solid model representation. (a) The cubes are recursively divided into eight until they either exactly represent the volume occupied by the part, or a specified tolerance is reached. (b) Data structure for representation in part (a). Branch nodes are represented by circles, and leaf nodes by squares. Occupied octants are identified with an 0, and vacant octants are marked V.  Chapter 2. Literature review  43  Octrees provide a structured way to decompose a solid to any desired tolerance level. They are particularly useful when the part is bounded by complex surfaces that are not easily described by other means [12]. However, since the cube is the only permitted elementary shape, even regularly curved objects such as cylinders require storage of an unacceptably high number of octants to achieve a sufficient approximation. Furthermore, since the cubes are aligned with the coordinate axes, a rotated prismatic shape also can be only approximated. An extension of the octree data structure called the polytree [20] has been proposed. A polytree allows the octant cubes to be trimmed by a plane at any specified orientation, and hence permits exact representation of rotated prismatic shapes. Curved surfaces are represented by faceting, a frequently employed technique from surface modelling in which the surface is approximated by a set of fiat faces. These techniques are useful for rendering, and finding intersections. However, once the octree representation has been defined the original, exact part shape is no longer available. A later change in resolution requires complete recalculation. Boundary representation , im 2 1 and CADKEY Many of the the commercial solid modellers, such as I-DEAS  plement the boundary representation scheme. A boundary representation (B-rep) of a solid uses a directed graph linking surfaces, edges and vertices to represent the part (figure 2.16). A surface normal identifies the interior of the part. Boundary representations provide an explicit definition of the part boundary, and hence are very useful for surface intersection calculations. Furthermore, it is easy to associate technological data with both a complete part or an individual face. For example, registered trademark of Structural Dynamics Research Corporation, Milford, OH, USA 1 registered trademark of Micro Control Systems, Inc., Vernon, CT, USA 2  Chapter 2. Literature review  44  Solid  Figure 2.16: Boundary representation of a solid. The surface normal vectors always point away from the interior (which is shown hatched). A directed graph data structure links solid—> surface—> edge—> vertex. a B-rep can easily store the information “chrome plate this face”. Much of the literature on boundary representations requires the manifold surface property (figure 2.17(a)).  That is, the surface cannot touch or intersect itself. The  orientable property requires that two separate sides of the surface be distinguishable. This rules out such well known exceptions as the Möbius strip (figure 2.17(b)). When updating a B-rep, difficulties can arise in maintaining topological validity. It is easy to specify a data structure which does not represent a manifold, orientable surface. Detailed information on topological validity can be found in the text by Hoffman [46]. The point to be made is that updating a B-rep, inserting new vertices, edges and faces,  Ghapter 2. Literature review  (a)  45  (b)  Figure 2.17: Manifold and orientable surfaces. (a) A non-manifold surface—it touches itself along line AB. (b) A non-orientable surface. The Möbius strip is a thin sheet with a half twist. From a beginning point at the inside rear of the strip (shown hatched), counterclockwise tracing along the same side returns to the outside rear of the strip. and verifying validity can be a very tedious and computationally intensive task. Constructive solid geometry In a constructive solid geometry (CSG) representation, the part is defined by regularized Boolean set operations [122] intersection fl*, union U* and difference  —*  applied to  primitives such as blocks and cylinders (figure 2.18(a)). The formula to produce the shape is maintained in a binary tree styled data structure, where the primitives are stored at the leaves and the Boolean operations are stored at the interior nodes (figure 2.18(b)). Primitives and solid combinations can be translated or rotated to achive more complex representations. The term regularized means that the resulting solid has no regions of zero thickness (dangling faces) (figure 2.19). A subtree is simply the portion of a CSG tree below the interior node root. Widely known implementations of the approach are the PADL-2 [11] and TIPS [86] solid modellers.  Chapter 2. Literature review  46  The CSG approach provides an intuitive procedural representation. A well chosen ordering of the set operations will produce a data structure which, when traversed, spec ifies in order the volume removal operations that would be required to machine the part. In terms of internal storage requirements, CSG is most efficient because only the implicit definitions of the primitives and operators need be maintained. It is easy to add another primitive to the data structure, since evaluation of the part boundary or volume occu pied can be deferred. This property can be exploited when maintaining a changing part model, as is the case in milling process simulation. 2.4.4  Comparison of solid modelling strategies  The spatial enumeration or octree scheme has not received serious attention for mechan ical part modelling purposes. Although it offers a conceptually simple way of dealing with complex surfaces, many practical parts are of the functional variety. That is, they can be represented by combining simple shapes such as the CSG primitives. The sub stantial memory requirements and loss of exact part representation for even cylindrical objects have limited its acceptance. For milling process simulation purposes, it is ex pected to be very inefficient. Cutter immersion information is not available in a simple form. Although the spatial location of occupied cubes is explicitly stored, a very large data structure would have to be traversed to locate these. Again, there is no apparent method of extracting the needed geometrical information in a condensed form. A frequently stated advantage of the boundary representation scheme is its apparent superiority when technological information (surface finish tolerance, etc.) must be speci fied. The explicit representation of each part face facilitates storage of such information. Requicha and Chan [96], however, have observed that CSG model1es can also implement storage of information associated with a part face. Each primitive has a finite number of faces, and hence the information can be stored at the primitive level. When Boolean  Chapter 2. Literature review  47  P r I m it i ye s  Solid  A  8 C  8 (a)  (b) Figure 2.18: Constructive solid geometry representation. (a) The L-shaped part with hole is formed by applying regularized Boolean set operations to the primitive blocks A and B, and cylinder C. (b) Data structure for part (a). The tree represents the solid (B—*A)—*C.  Chapter 2. Literature review  48  dangling face  // A//  AnB  An*B  Figure 2.19: A non-regularized Boolean operation. The dangling face is removed to yield the regularized solid. operations are applied each remaining face belongs to one of the original primitives. That is, faces can be removed through Boolean operations, but never created. Therefore, it is sufficient to maintain technological information for only the primitive faces. The only known attempt to implement a milling process simulation system directly using the B-rep strategy is by Melkote and Kendall [78]. The difficulty in using B-reps is, like the octree representation, the need to explicitly maintain the part shape. Since boundary evaluation is well recognized as an inherently expensive computational task (see for example [99]), this can lead to very poor simulation speed when a complex part is to be cut using many cutter paths. Explicitly evaluating the boundary after each cut and then updating the part representation data structure is a very unattractive idea, and no methods of avoiding this task are obvious. The primary difference between the CSG and octree or B-rep strategies is its implicit representation. An implicit representation requires minimal information storage, and is  Chapter 2. Literature review  49  advantageous when frequent updates to the part model are anticipated—such as during simulation of pocket milling.  However, before any engineering analysis can occur it  is necessary to evaluate the implicit CSG primitives to obtain the actual part shape. Methods of accomplishing this using a B-rep conversion strategy are well known [9, 99, 123]. Conversion from B-reps or octrees to a simple CSG representation is an unsolved problem. Alternatively, ray casting methods (see for example Roth [101]) can be used. Ray casting is becoming a widely accepted evaluation method for CSG models, and specialized hardware has been developed to accelerate this operation [30, 54]. An illustration of ray casting is shown in figure 2.20. A field of infinite rays are cast through the solid region, and classified into in and out sections [99, 123]. The ray casting method is particularly well suited to rendering the solid on a video display since it automatically performs hidden line removal, and is easily extended to shading. In this thesis, for implementing the milling process simulation system outlined, the CSG representation is most convenient. It most naturally accommodates representation of features in the part, or the volume removed by a cutter path [14, 16, 93, 96, 112]. The use of simple primitives permits a methodical calculation of cutter immersion an gles using the “divide and conquer” paradigm (chapter 4). Furthermore, the implicit representation of CSG permits effective grouping of primitives, and an easier method of avoiding redundant calculations during long simulations (chapter 5). 2.4.5  Computational geometry  As has been observed by Quinlan and Woodwark [94], “Solid modelling has now come of age, and attention is shifting from demonstrating that techniques are feasible to questions of efficiency and utility.” Similar conclusions have been reached by Voelcker and Wesley [138]. Progress towards this goal is a primary aim of the thesis. This section briefly covers  Chapter 2. Literature review  50  Figure 2.20: Ray casting for CSG evaluation. An infinite ray is cast through the solid and divided into in (dashed lines) and out (continuous lines) sections. By using a field of rays covering the entire solid region rendering on a video display can be accomplished, or properties such as volume computed.  Chapter 2. Literature review  51  the computational geometry tools that are expected to contribute towards attaining an efficient and methodically implemented solid modeller based milling process simulation system. Computational geometry is concerned with the development of efficient algorithms for geometrical problems [77, chapter VIII]. Much of the classical literature on the subject discusses 2 D (planar) problems, but 3 D extensions are receiving increased attention— often because of their applications in solid modelling. Although the extent of the field is not precisely defined, problems such as • reporting all intersections within a set of line segments • locating the portion of the plane containing a nominated point • subdividing the plane into disjoint regions with a specific property are examples of interest areas. Since all of the geometric calculations required to implement a solid modeller based milling process simulation system require repeated queries of the part representation, computational geometry techniques will be of value in obtaining efficient solutions. Using the CSG scheme, part representation queries result in extensive tree traversal to check each primitive for relevance in a particular, localized calculation. With large and complex models, the number of primitives to examine can easily number in the hundreds. Simulation of material removal expands the problem since each cutter path would be modelled as a group of primitives in addition to the initial, blank part. The greater than linear time growth rate of most query algorithms further increases the computation effort required. Lack of explicit location information hinders identification of relevant CSC primitives for a particular calculation. One approach suggested to overcome this deficiency is to  52  Chapter 2. Literature review  (a)  (b)  Figure 2.21: Redundancy definitions. (a) A is A redundant in A U *B. (b) C is redundant in C U *D. augment the CSG Boolean operation tree with a data structure that spatially segments the primitives [94, 1391. The method proposed is similar to the octree method. Al though this technique is valuable for a static part model, the time consuming calculation needed to update the data structure as the part shape changes limits its usefulness during milling process simulations. Instead, most contemporary approaches rely on redundancy detection methods. In a CSG solid model, a primitive is said to be redundant if it can be replaced by either the null set A or the universal set 2 and, through simplification of the Boolean expression, then removed from the overall solid representation. To illustrate, in figure 2.21 A is A redundant in A U *B, and C is 2 redundant in C U *D. Redundancy detection usually involves forming a local approximation of a primitive to reduce the complexity of the query. Near the primitive C Tilove [124] calls S’ a localization of S if S U *C  5’ U *C (figure 2.22). In his paper he further describes a number of  algorithms designed to detect null objects. The approach is particularly intended for use  Chapter 2. Literature review  53  Figure 2.22: CSG primitive local approximations. Near C 5’ is a localization of S since S fl *C = 5’ fl *C (see Tilove [124]). in interference checking. If two solids A and B have intersection A fl *B  =  A then they  do not interfere, otherwise they do. A difficulty with Tilove’s approach is that he does not specify how one should choose an approximation SI. A number of approximate bounds for a CSG primitive S have been suggested, but the iso-oriented box or isobox a(S) [46, 77] is most widely accepted. Two and three dimen sional examples of isoboxes are shown in figure 2.23. An isobox bound just encloses the associated primitive, and has its sides oriented parallel to the coordinate axes. Efficient algorithms based on the interval tree or segment tree have been developed to report all intersections between a population of n isoboxes. Assuming that N intersections are re ported, the running time growth rates achieved are O(N+n log n) and O(N+n log 2 n) for the 2 D interval tree and 3 D segment tree solutions respectively. The reader is referred to the texts by Hoffmann [46] and Mehlhorn [77] for further details. Using a bound such as an isobox, Cameron [17] has proposed the S-bounds CSG based bounds refinement and redundancy checking method. His approach involves initially surrounding each primitive with an approximate bound (such as an isobox).  Then,  through a series of refinement steps alternately traversing the tree from the leaves to the  Chapter 2. Literature review  54  A  (A)  (a)  () (b) Figure 2.23: Iso-oriented boxes. An iso-oriented box or isobox has its sides oriented par allel to the coordinate system axes, and just encloses the primitive that it approximates. (a) 2 D isobox (b) 3 D isobox  Chapter 2. Literature review  55  root and vice versa, an approximate bound for the CSG tree (or subtree) as a whole is obtained. Bounds other than isoboxes, such as circles, convex polygons or spheres, have also been suggested [19]. Further details on the S-bounds method are given in chapter 5, where the question of redundacy and milling process simulation is specifically addressed. An alternative redundancy checking method, which exploits the CSG set theoretic principles and Boolean operations, is the the active zone method proposed by Rossignac and Voelcker [100]. The active zone Z(S) of a CSC primitive S is the region within which, if the shape of S were to change, the resulting CSG tree shape would also change. Conceptually, it is easier to consider active zones on a positive CSG tree—that is, trees with only U* and 11* operations. All  —*  operations are replaced by a fl* operation, with  the right child replaced by its set complement. The active zone of a primitive S is determined by replacing it with any U* operations as  —*  ,  and interpreting  operations along the tree traversal path from the root to S. It  has been shown [100] that a primitive S is A redundant if and only if S fl *2(5)  redundant if and only if 2(5) C 5, and is  A. Further details are provided in chapter 5.  Implementation of active zones requires a means of testing the sets referred to, and isoboxes are frequently suggested to approximate this.  Cameron and Rossignac [18]  discuss relationships between S-bounds and active zones. After any primitives in a CSG tree have been identified as A or Q redundant, the tree can be simplified to eliminate the redundant leaves. This is accomplished by applying the appropriate Boolean set identity from table 2.1. In some instances explicitly building the CSG tree and then applying an approximate bounds method is inefficient. An example of this is pocket milling, where, conceptually, the volume swept by each cutter motion is modelled by a small CSG primitive group, and the tree is updated at the completion of each cutter pass (figure 2.24). If a large number of paths n are needed to clear the pocket area, the CSG tree will grow quickly  Chapter 2. Literature review  A1 PA AP Pci  56  AuB P P ci ci  AnB A A P P  A-*B P A A  Table 2.1: Boolean set identities. When a primitive is identified as being either A or ci redundant, it removed from the CSG tree by applying the appropriate Boolean set identity. This simplification is repeated recursively as the tree is traversed from the primitive leaves to the root. In the table above A represents the null or empty set, ci the universal set and P any primitive. Note that the expression ci *P cannot be simplified. —  as the operation proceeds. When simulating the milling process along a particular cutter path, only preceding paths with interfering swept volumes are relevant. The number of relevant paths N is expected to be few, and hence, rather than performing redundancy detection on the entire tree of n paths, it is more appropriate to find the N relevant paths and build a CSG tree including only those. When processing path i, the most natural query is to check each of the preceding i  —  1 paths for interference. Over all n paths in  the pocket, however, this requires 0 + 1 + 2 +  .  .  .  + (n  —  1)  n(n  —  1)/2 or ci(n ) queries. 2  Alternative approaches to solving this problem will be presented in detail in chapter 5. The material there includes a number of observations about typical pocketing scenarios, and suggested solutions based on a simple, non-iso-oriented box intersection test and planar subdivision based methods. 2.4.6  Numerical analysis  As stated in chapter 1, a multi-faceted approach to optimizing the calculations for 2 1/2 D parts is planned. Reducing summation of small axial elements is accomplished by develop ing analytical expressions for the required cutting force and torque equations (chapter 6). Beyond accelerating calculations at a particular cutter rotation angle, this achievement  Chapter 2. Literature review  —*  /\ A  /\ (a)  ci  57  1 )-*M ((((((((w-*c 1 )- * 2 M ) 3 ) 4 —*M —* ) 7 M5)—*M6)—*M (b)  Figure 2.24: Modelling pocketing with CSG. (a) The volume swept by each cutter motion is modelled using a small CSG primitive group M = (A U *B) *C. (b) The part shape CSG tree is repeatedly updated by subtracting the M groups from the initial, uncut part W.  —  Chapter 2. Literature review  58  enables the use of numerical methods to quickly locate extreme values over a tooth pe riod. This is needed, for example, when the maximum resultant force is the limiting constraint (to prevent end mill shank breakage). Numerical methods also are required to condense the simulation data calculated along each cutter path, and to invert force— feed rate relationships for process planning purposes (chapter 7). Other examples arise throughout the thesis. The primary numerical analysis reference texts used in the thesis to solve these problems were Brent [10], Conte and de Boor [27] and Forsythe, Malcolm and Moler [34j.  Chapter 3  Process model and constraint mathematics  3.1  Overview  In the first section of this chapter the mathematical relationships used to implement the solid modeller based milling process simulation system are developed. The predictions calculated using these equations are needed both for process planning and to provide technological data to assist in online monitoring and control tasks. The second section presents the constraint equations used to schedule appropriate cutting conditions during each cutter motion.  3.2  Milling process model relationships  Mathematical milling process models have been developed to varying levels of accuracy and complexity. A review of the these was recently presented by Smith and Tlusty [109]. 3.21  Material removal rate based models  The simplest models are based on the equation (figure 3.1(a)) MRR  =  adswJ/2-w  where MRR  is the material removal rate (mm /s) 3  a  is the axial depth of cut (mm)  d  is the radial width of cut (mm) 59  Chapter 3. Process model and constraint mathematics  st  is the feed per tooth (mm)  w  is the spindle speed (radians/s)  3  is the number of teeth on the cutter  60  The average power consumed during cutting is then estimated to be (3.1)  PZPSP.MRR  where the specific power P , is determined either by experiment or reference to published 3 data [81, chapter 7]. Directly from (3.1) the average torque is then computed as (3.2) Equations (3.1) and (3.2) provide a simple check that the the capacity of the spindle and motor will not be exceeded. They were used to provide basic feed rate scheduling in early systems such as EXAPT, and remain the extent to which the milling process physics is considered in contemporary cutter path planners. Researchers such as Wang [140] have attempted to extend this model to predict cutter deflection and surface location error in end milling. The proposed equation is (figure 3.1(b)) F  =  0.5P/v  where F is the cutting force component normal to the feed direction and v  =  wr is the  peripheral cutting speed. The cutter is assumed to deflect as a cylindrical cantilever beam with the force F concentrated at the tip. This equation does not consider the discrete edges that are actually involved both in producing the cutting force and instantaneously generating the finished part surface. Agreement with experiment is poor.  Chapter 3. Process model and constraint mathematics  61  r  (a)  d  (b) Figure 3.1: MRR model definitions. (a) The axial depth of cut is denoted by a, the radial width by d, and the feed per tooth by s. The rotational speed is w and the cutting speed is v = w’r, where r is the cutter radius. (b) The normal cutting force is F, which is assumed to be constant as the cutter rotates. The corresponding cutter deflection is calculated by assuming a point load at the tip, and modelling the cutter as a cylindrical cantilever beam extending from the tool holder.  Chapter 3. Process model and constraint mathematics  3.2.2  62  Uncut chip thickness based models  Improved mechanistic models which consider the instantaneous in cut geometry of each portion of the cutter teeth are used as a basis in this thesis. Two variations are considered: (1) the average chip thickness model, denoted by ACT throughout the thesis, and (2) the linear edge force model, denoted by LEF. Average chip thickness model Koenigsberger and Sabberwal [59, 102] first reported the proportional relationship be tween the uncut chip thickness and the tangential cutting force component. This model has been extended by Tiusty and MacNeil [127] and DeVor, Kline et al [37, 57] to include a radial force component. For an elemental axial slice, the cutting forces at each tooth  j  are separated into tan  gential dFT, 3 and radial dFR,J components (figure 3.2) and modelled using the expressions KTh(q5,z)dz  dFT,(b,z) dFR(q5,z)  =  KRdFT,J(b,z)  Assuming a circular cutter path, the uncut chip thickness h 3 is defined as h(q,z)  =  sinq5(z) 1 s  where tan çb Z  and s  is the feed per tooth (mm) is the cutter rotation reference angle (figure 3.2)  q  is the angular spacing between successive teeth  ()  Chapter 3. Process model and constraint mathematics  The slice of tooth 4j(z)  <  63  j at axial location z is engaged in cut (and forces exerted) oniy when  q. The slices are added together to obtain the total force since, for  end mills, the existence of a non-zero helix angle  J.’ complicates derivation of an overall  analytic expression. This is a computationally intensive task for which improvements are developed in chapter 6. The specific cutting pressure Kr and the radial/tangential force ratio KR are calibra tion parameters particular to a cutter and part material combination. They are modelled as exponential expressions of the average chip thickness  ) per revolution [57}  MTi_PT  (3.4) KR = MRh  The average uncut chip thickness is defined geometrically as the ratio of the chip volume removed to the exposed chip area. Hence for 2 1/2 dimensional parts (figure 3.3) a> —  —  i  I  stsinqd4  Jti  a (qex,i  (cos e 1 rj =  cos ) 2 t 5 çb ,  (3.5)  —St (ex,i  where the  —  —  st,i)  q,j) are the isolated in cut sections. In face milling there frequently are  a number of in cut sections, which the solid modeller must be able to quickly identify by examining the part geometry (chapter 4). Two special cases frequently arise in end milling for which there is only one in cut section: (i) down milling, where the single cutter immersion interval is [q, ir); and (ii) up milling, where the single cutter immersion interval is [0, q).  Chapter 3. Process model and constraint mathematics  64  Linear edge force model Yellowley [3, 153] has proposed a linear milling process model which divides the forces into uncut chip and edge contributions. His model has the form =  aK ( 5 h(q) + h ) 4  =  2 aKa(cihj(c6) h *) +c  (3.6)  Since this model is used only for face milling calculations, it is assumed that there is no helix angle, and hence the entire edge of the tooth is located at the same angle, independent of the axial position z. Therefore in this case h(q)  s sin  and çb  =  q + jq. The remaining parameters are independent of the cutter immersion geometry, and are determined experimentally. Edge forces are accounted for by the critical uncut chip thickness h*. The specific cutting pressure is K. The constants c 1 and c 2 specify ratios between the radial and tangential force components. Cutter and part deflection at large depths of cut can be significant, causing the teeth to resist entering the part material until well past reference angle  0 (up milling).  This results in the edge forces being exaggerated, and hence the model cannot generally be used as a process model for end milling. 3.2.3  Other models  The mechanistic uncut chip thickness models described in the previous section are widely accepted and used, and serve adequately to develop the solid modeller based milling process simulation system methods proposed. Models of increased complexity proceed to consider the flexibility of the cutter and part, and the influence that this has on the instantaneous uncut chip thickness. With large flexibilities and small cutter diameters or widths of cut, this indeed is a significant effect. It was not thoroughly considered in this thesis because the basic geometrical  Chapter 3. Process model and constraint mathematics  65  yt  x  z  (a)  (b)  Figure 3.2: Mechanistic model parameters. (a) A thin slice in the cutter axis plane during a down milling operation is depicted. For each tooth j cutting forces are resolved into tangential dFT and radial dFR,, components which are a function of the uncut chip thickness h . A reference angle q is associated with the bottom edge of the first tooth, 3 and the angle between successive teeth is qS,. In the example shown the cutter immersion interval is [q , 7r). (b) In end milling the slices are added to find the total force since 3 the existence of a non-zero helix angle /‘ complicates derivation of an overall expression.  Chapter 3. Process model and constraint mathematics  66  Figure 3.3: Multiple in cut sections. In the example 2 1/2 D part shown above the cutter is immersed in the part during the in cut sections qex,i)io,1,2. calculations required of the solid modeller remain unchanged. In section 7.5 a flexible end mill is considered in conjunction with the linear edge force model to develop the process model to be used with an adaptive control system. The proposal is to augment the controller with a priori information from the solid modeller to warn of upcoming part geometry that otherwise would lead to sudden cutting force transients and end mill shank breakage. Models which include chatter simulation require time domain simulations [109, 125], and are very computationally intensive. Much of the work in this area has been conducted to further understanding of chatter. It is recognized that a chatter model to predict the limit of stability will depend on immersion geometry, particularly the depth of cut and number of teeth in immersion. A basic model of this form is considered in chapter 6.  Chapter 3. Process model and constraint mathematics  3.3  67  Constraint equations  Achievement of untended machining by avoiding unexpected factory floor events through a priori planning is preferred practice, and hence the ability to plan good cutter paths and appropriate cutting conditions is essential. Consideration of the MRR constraints as they apply to the chosen part and machine tool is therefore a central purpose for developing a milling process simulation system. In an integrated system information on the relevant constraints to monitor would be communicated to the machine tool controller to assist with its online operations. It will be shown in this section that knowledge of the cutter—part intersection geometry is fundamental to these tasks. 3.3.1  Torque and power  Instantaneous maximum and average torque and power must be limited to the capabilities of the spindle shaft and motor. These specifications are provided by the machine tool manufacturer, or can be measured experimentally. These constraints are most prevelant during face milling, where larger radii cutters are used, and during high speed end milling. Assuming a zero helix angle, the torque contributed by tooth  j  of the cutter, engaged in the part at an angle qj Tj(q5)  =  +  jq,  is  = rFT (cb) 3  where r is the cutter radius. Either the ACT (3.3) or LEF (3.6) models can be used to compute the tangential force 3 FT ( ). The total instantaneous torque is found by summing the contributions of all teeth in cut, which is dependent on the part geometry. The maximum torque can be determined by sampling over the angles swept out during one tooth period, but is more efficiently found by applying either calculus or numerical methods (chapter 6).  Chapter 3. Process model and constraint mathematics  68  The average torque and power are found by integrating over a full revolution of the cutter. For the average torque jE  _jT(q)dq  This calculation must be carried out in a piecewise fashion, with endpoints occurring each time a tooth enters or exits from in cut contact with the part. Knowledge of the part geometry is essential. The average forces in the z and y directions are not considered as constraints, but are useful for verifying the part shape (chapter 7). In chapter 6 it will be shown how, in conjuction with the part geometry, the average forces are used to calibrate the milling process model parameters. Using the relationship P = Tw constraints on power can similarly be calculated. 3.3.2  Tooth breakage  To prevent fracture of the cutter tooth, its load must be limited in any milling operation. Detailed analyses of this constraint have been carried out by a number of authors such as Pekeiharing [89, 90]. For implementation as a constraint, the simple limit on the uncut chip thickness hmas  SSi7Lbj  (3.7)  suggested by Yellowley [151] is adopted in this thesis. By finding the in cut immersion intervals using a solid modeller, the maximum value of sin q is easily found. The per missible feed rate s can then be selected to satisfy the maximum uncut chip thickness threshold hma.  Chapter 3. Process model and constraint mathematics  3.3.3  69  Shank breakage  Shank breakage is a common cause of high speed steel (HSS) end mill failure. It occurs when the tensile stress exceeds the strength of the brittle tool material. A normal stress load results from the bending moment caused by the maximum resultant cutting force Fmax  =  2 + F() sup{(F() e[O, 4)} ) 2  An additional shear stress arises from the torque on the cutter. The normal stress due to the axial force is assumed to be negligible. As a first approximation, the cutter is assumed to be a cylindrical cantilever [62]. Its moments of inertia are calculated assuming a radius of O.8r. That is, I  r(O.8r;  ir(O.8r  J  Using Mohr’s circle (figure 3.4), the tensile stress is 1/2  2 °  +  +Txy  The maximum tensile stress is expected to occur on the cutter surface in the shank region where Mmaxrc  and  A typical end mill is very slender, with L  >  r,=  Tmaxrc  8r. Additionally, it is difficult to achieve  clearance between the tool holder and the part unless L  >  2a. The maximum bending  moment is therefore F, (L  Mmax  —  > >  -  ma  3L  6 F ma7’c  The tangential force from each edge will certainly be less than Fmax, and at most two edges of a four tooth cutter will ever be fully immersed simultaneously. Therefore the  Chapter 3. Process model and constraint mathematics  70  maximum torque will be Tmax < Fmaxrc. With these approximations 2 /  ma  Miax)2 55 [(i.  Fmax where  XM >  9.3 and  XT <  \2  /  ( MyaT i I 21 )  —  +  J  \  )  1/2 i  Mmaxrc 21  T)2] 5 . 1 ( 2 5  112 + { [x + x’]  Max + 155  XM}  3.1, implying that the contribution to the maximum tensile  stress due to the torque component is less than three percent. The maximum resultant cutting force alone is therefore used as the shank breakage constraint in the thesis. Computation of the maximum resultant cutting force for helical end mills is an in volved task because of the perceived complexity of the cutter—part immersion geometry. The common approach in the literature (see Kline [57]) is to divide the cutter into a number of differential axial elements (figure 3.5). The cutting forces are determined for each slice, and vectorially added together to find the overall force. This must be repeated at small increments of rotation over a tooth period to find the maximum resultant force under the current immersion conditions. A more rapid approach to solving this problem is developed in chapter 6. 3.3.4  Surface location error  The flexibility of slender end mills causes them to deflect under forces, leaving a location error on the finished part surface. Modelling the cutter as a cantilever beam, Kline [58] computed the force normal to the part surface and the corresponding cutter deflection incrementally. He assumed that the total normal force F(qS) was concentrated at the normal force centre  zcF,(q),  which is defined as the point where the total normal force  would cause the same bending moment at the tool holder as the distributed normal force density wy(cb) (figure 3.6). The deflection of the cutter was then computed from the  Chapter 3. Process model and constraint mathematics  71  0  max  Figure 3.4: Moh?s circle for end milling. The constraint is the maximum normal tensile stress max which is primarily due to the bending moment on the cutter shank.  Chapter 3. Process model and constraint mathematics  72  resultant force  Figure 3.5: Differential element force summation. Due to the perceived complexity of the cutter—part intersection geometry in end milling, the common approach used in the literature (see Kline [57]) to find the resultant force is to vectorially sum a number of small differential axial elements.  Chapter 3. Process model and constraint mathematics  73  cantilever equation z)  =  [<zcF,()  -  z  >  -(L  -  z) + 3(L  -  z) ( 2 L  -  where L is the length of the cantilevered portion of the cutter, E is Young’s modulus and I is the cutter moment of inertia. The location of the flute contact with the part was found, which defines a point on the finished surface. To entirely determine the part surface location, the calculation was incrementally repeated over an entire tooth rotation period. He extended his model to include radial runout (eccentricity) and included flexibility of the part through the use of finite element methods. By assuming a rigid part and using an analytic solution for the cutting forces, the normal force density w(4, z) can be found and the cantilever beam equation El  4 d  ()  —w,z)  solved exactly. Further simplifying to a point force applied midway along the depth of cut, the maximum surface location error can be predicted without iteratively sampling at many cutter rotation angles. This permits a rapid scheduling of feed rates to avoid excessive error. These ideas are developed in chapter 6. 3.3.5  Tool wear  Useful cutting tool life depends on many factors including tool and part material, cutting velocity (spindle speed), and, in milling, the influence of intermittent cutting. Yellowley and Barrow [150j have developed a model which is strongly dependent on the cutter—part immersion geometry. In peripheral milling, they define an equivalent feed per tooth S t,eq leX  J  0  sin b 1 db (up milling)  Chapter 3. Process model and constraint mathematics  74  z surface generation points z  maximum bending moment on the shank  L WY Y  a CF, y  / /  port Figure 3.6: Kline’s cutter deflection model [58]. The cantilevered length of the cutter is L and the axial depth of cut is a. The surface is generated at the points ZSG which depends on the helix angle & and rotation angle q. The normal force centre ZCF,Y is defined as the point where application of the total normal force F would result in the same bending moment at the tool holder as the distributed normal force density wi,,.  Chapter 3. Process model and constraint mathemaLics  75  and then derive the tool life relationship 1 ta  31/Tpq  where ta is the tool life time in cut. The exponents s, 1/r, p and q are calibrated for the tool and part material. The thermal fatigue parameter X is defined as 1/2  X=Er(R.t_)  where Er  R t  is a temperature calibration parameter is the spindle speed in rpm  (=  60 2ir w) .  is the uninterrupted tool life time  The ratio t/ta relates the uninterrupted cutting time to the actual time in cut, which for a single immersion interval is equal to 27r t 8 5 q  This thesis does not further consider tool wear as a constraint, but geometrical informa tion from the solid modeller clearly is needed to handle tool life predictions. 3.3.6  Chatter  A fundamental explanation of chatter theory is best presented by considering a single tooth edge. The material following is based on Tlusty [125].  The predominant and  sustaining cause of chatter in milling is regeneration of an undulating surface, caused by a relative vibration between the cutting edge and the part (figure 3.7) Assume that the preceding pass of the cutting edge left a wave Rosinwt  Chapter 3. Process model and constraint mathematics  76  hm  Figure 3.7: Regeneration in chatter (adapted from Tiusty [125]). A single cutting edge is shown under fully developed conditions. During the previous tooth pass it is assumed that a wavy surface with amplitude R 0 was left behind. This causes a modulated uncut chip thickness, a varying force, vibration of the cutting edge and regeneration of a new wavy surface with amplitude R. If R> R 0 then the chatter is unstable.  Chapter 3. Process model and constraint mathematics  77  and that the current pass is producing a wave r = R sin(wt + 2irN + e)  If the mean feed or chip thickness is hm, then the instantaneous chip thickness is h hm + h, where h = r 0  —  r.  The cutting force is assumed to obey the equation F  =  Fm+Fv KTR1c(hm + h)  =  KTRlchm + KTRl(ro  —  r)  where KTREJ? is a specific cutting pressure related constant and l is the length of contact between the cutter tooth and the part. The regeneration process can be imagined as a feedback ioop as shown in figure 3.8. The Laplace domain oriented transfer function  R(s)/F(s) relates the motion  GU,oR(s)  of the cutter edge in the r direction to the cutting force. The 2 e term is the Laplace delay element. At the limit of stability R = IR L which occurs when the Nyquist 0 criterion [43, chapter 10] KTRlGoR(s)(l  =  —  —1  is satisfied. Since all the other values are real and positive numbers, it must hold that G,oR(s)(1 where  J?[G,oR(s)]  is the real part of  —  eJc) =  G,oR(s).  2T[G,oR(s)j < 0 If e is unrestricted (as is the case at lower  spindle speeds) then the theoretical stability limit on the contact length is c,lim = 1  —1 r  j,  c[ç’  1  ATRJ413v,ORjmin  where J[Gu,OR1mzn  inf{J?[G,oR(jw)] wc(—oo, +oo)}  (3.8)  Chapter 3. Process model and constraint mathematics  That is,  R[Gv,OR]m:n  78  is the largest negative value of G,oR(jw). In control theory terms,  this is the critical gain beyond which the system is operating with positive feedback. In high-speed milling the spindle speed can be manipulated adequately to control e and achieve an increased  c,Lim 1  that lies between stability lobes [108, 125]. This idea is not  pursued further in this brief introduction. Another form of chatter, mode coupling, is non-regenerative. It is less prominent in milling applications, and is not explained here. Derivation of a theoretical expression for multi-toothed milling cutters is difficult because of the varying orientation of the cutter edges. Time domain simulations are therefore used for accurate research study.  From figure 3.8, however, it is apparent  that the depth of cut, a geometric quantity, is a fundamental parameter for single tooth cutting. For multi-toothed cutters research studies confirm that the equivalent parameter is the length of cutter edge in cut.  This can be calculated from the part geometry  (figure 3.9) and correlated with time domain chatter simulations to develop a prediction capability.  3.4  Summary  The strong dependence of the milling process model and constraint calculations on the cutter immersion geometry is readily apparent from the material presented in this chap ter. For the 2 1/2 D parts considered, the axial depth of cut and the angles during which the teeth are engaged in the part (the immersion angles) are the essential variables. The following chapters develop capabilities to allow a CSG based solid modeller to methodically and efficiently determine this geometric information along each cutter path as the part is machined.  Chapter 3. Process model and constraint mathematics  79  R(s)  Figure 3.8: Feedback ioop in chatter (adapted from Tiusty [1251). The nominal uncut chip thickness is hm and the cutting force Fm. The varying force component Fe(s), acting through the structural transfer function G,oR(s) causes the cutting edge to vibrate in the r direction with amplitude R. When the previous surface, with wave amplitude R , 0 is encountered a varying uncut chip thickness h(s) and force F(s) are generated, and the process repeats.  Chapter 3. Process model and constraint mathematics  80  +  Figure 3.9: Calculation of cutter engagement length. Research studies indicate the cutter engagement length is the stability parameter in multi-tooth milling. This can be found using a solid modeller milling process simulation system.  Chapter 4  Cutter—part intersection calculations  4.1  Overview  In chapter 3 cutter-part immersion geometry was identified as fundamental to implemen tation of a milling process simulation system. For the 2 1/2 D parts under consideration this can be determined by finding the axial depth of cut a, and the immersion intervals , 8 [q  cbex,i)  (figure 4.1).  To determine the immersion geometry, imagine the cutter as an advancing cylinder which cuts along only its leading edge (figure 4.2(a)). This concept has been proposed by Bertok et al [7] and Wang [140], but these authors used it to implement a milling process model at only the MRR level. In a particular lamination of the 2 1/2 D part, consideration of a planar semi-circular arc advancing along the cutter path is sufficient. For this case the axial depth of cut is constant, and readily determined by a query of the part model and cutter path specification. It remains to calculate the two dimensional cutter immersion intervals [qSt,  qexi)  which vary as the part features are encountered  along the path (figure 4.2(b)). Development of an efficient method to determine this cutter-part intersection information is the chapter focus. In the next section, intersection calculations for a stationary semi-circular cutter arc encountering rectangles and circles (2 1/2 D blocks and cylinder primitives) are developed. The simplicity of the intersection calculation with isolated primitives exploits the “divide and conquer” paradigm unique to the CSG representation scheme.  81  Chapter 4.  Cutter—part intersection calculations  ex t, 0 0  ,  82  a) øst,1 øex,i)  ,[øSt,2x,2)  ci  Figure 4.1: Cutter—part immersion geometry. For the 2 1/2 D parts under consideration, this is the axial depth of cut a and the immersion intervals [q,j, qex,j).  Chapter 4.  Cutter—part intersection calculations  83  workp lece  cutter  TV  (b) Figure 4.2: Advancing cylinder cutter model. (a) The milling cutter is imagined as a cylinder which advances along the programmed path into the uncut part. (b) In two dimensions this is equivalent to a semi-circular arc which encounters the features of the part as it advances along the cutter path, defining cutter immersion intervals.  Chapter 4.  Cutter—part intersection calculations  84  The subsequent section describes how the CSG part definition can be used to combine the intersection information from each primitive to yield the overall immersion angle data. The Boolean operations that define the part are used, providing a methodical approach that must function correctly. A practical demonstration of the method is shown using an example part shape and a microcomputer implementation of the algorithms. A final section summarizes the chapter.  4.2  Cutter—primitive intersection calculations  Simultaneous consideration of an arbitrary part when calculating the cutter immersion interval is unviable. The infinite combination of CSG primitive combinations allowed prevents enumeration of all cutter-part intersection possibilities.  In contrast, the in  tersection calculation of the cutter arc with an isolated primitive can be exhaustively analyzed. In this section, intersection of the semi-circular cutter arc with rectangles and circles (2 1/2 D blocks and cylinders) is studied. In the x’-y’ plane, the straight line cutter path is assumed to begin at the point , Yp,2) (figure 4.3). To provide a consistent reference frame for 2 yp,i) and end at (x, the intersection analyses, a homogeneous transformation  [441  is applied which maps the  cutter path to begin at the origin (0, 0) and extend along the x axis to (lu, 0), where the path length l is equal to ((x, 2  —  2+ ) 1 x,  (yp,2  —  12 ) 2 ypl) . ’  Translation of the x’-y’ point  (Xp,i,yp,i) to the origin is accomplished by the matrix equation 0  0 1  Xp,l  =A• 1  Chapter 4.  Cutter—part intersection calculations  85  where 1  =  0  Xp,i  0 1  Yp,i  00  1  (4.1)  The rotation required to then move the path onto the x axis is cos6  sin&  A  0 (4.2)  6 0 0  01  where 0  =  arctan  I Yp,2  Yp,1  \ Xp,2 p,i is the rotation angle. Transformation of the rectangle and circle primitives from the x’-y’ —  coordinate system to the x-y coordinate system is therefore accomplished by multiply ing together the matrices from (4.1) and (4.2) to yield the matrix A  =  ArAt. Using  homogeneous coordinates, the transformation equation is x =A. 1  1  Calculations in all subsequent sections assume that the primitives and cutter path have been transformed into this x-y coordinate system. Rectangles are defined by a base point angle a (figure 4.4(a)).  (Xrb, Yrb),  lengths l and l,,, and an orientation  Equivalently, the four vertices  (Xrk, Yr,k)k=O...3  can be used.  These points are defined as follows: Xr,O  =  Xrb  Xr1  =  Xrb  Xr,2 Xr,3  Xrb  Yr,O  + —  ,,  cos  lsina +lcosa y 5fl t?t 1  =  Yrb  Yr,1  Yrb  +l  Yr2  Yrb  +lcosc + lsina  =  y,.j, + l, cos  Chapter 4.  Cutter—part intersection calculations  86  (Xp,2,yp,2)  y  ,y 1 (x, )  x  Figure 4.3: Cutter path definitions. In the aY-y’ plane, the cutter path begins at (x, , yp,i) 1 and ends at For convenience in analysis, the coordinate system is tranformed yp,2). so that the path begins at (0, 0) and extends along the positive x axis to the point (lv, 0), where l, is the length of the path. Circles are defined by their centre  (XF,yF)  and radius rF.  There are two steps involved in determining the intersection of the semi-circular cutter arc with a rectangle or circle primitive: 1. Locate the critical points along the cutter path at which contact between the cutter arc and the primitive begins or ends. The immersion angles will be unchanging on one side of such a point. 2. Carry out the immersion angle calculations where necessary along the segments  Chapter 4. Cutter—part intersection calculations  87  (Xr2 ‘Yr,2)  (x (Xr3  ‘Yr,3)  r,1  ‘Yr,i)  x  y  y (x rb ‘Yrb x  )  (XrO,Yr)  (a)  y  x (b)  Figure 4.4: Rectangle and circle definitions. These correspond to 2 1/2 D block and cylinder primitives. (a) A rectangle is defined by a base point (Xrb,yrb), lengths l, and li,, and an orientation angle c. Equivalently, it can be described by the four vertices (Zrk,yrk)krO3. (b) A circle is defined by its centre (XF,yF) and radius rF.  Chapter 4.  Cutter—part intersection calculations  88  between the critical points. The mathematics needed for these tasks is developed in the following sections. 4.2.1  Rectangle calculations  The intersection of the cutter arc with a rectangle is further subdivided into an isolated treatment of each of the four sides. Cases of the side being (1) perpendicular, (2) parallel or (3) at an intermediate angle to the cutter path are separately considered. Perpendicular side For the case of a perpendicular side, initial contact occurs only if some portion of the side is within r, of the cutter path. K2(xK2,yK ) 2 ,  Denoting the sides endpoints  K1(XK1,yKl)  and  if the side K 2 crosses the path then initial contact occurs when the 1  cutter arc is tangent to the side (figure 4.5(a)). That is, the cutter arc centre C(xc, 0) at initial contact is located at  (XK1  —  r, 0).  Otherwise, construct a triangle from the side endpoint with a hypotenuse of length r, back to the cutter path in order to find the cutter arc centre at initial contact (fig ure 4.5(b)). In the example the side endpoint is K 2 and the cutter arc centre C is located at  (xK2  —  (r  —  )’/ 0). 2 y  If either endpoint of the side is farther than r from the path, then the cutter arc centre at final contact is the intersection of the path with the infinite extension of the side (figure 4.5(c)). That is, C  (XK1,0) at final contact.  Otherwise, choose the endpoint most distant from the path, and construct a triangle from there with hypotenuse length of r back to the path to find the cutter arc centre point at final contact. In the example the most distant point is K , and C 2 (r —  )’/ 0) (figure 4.5(d)). 2 y ,  =  (xjc2  —  Chapter 4.  Cutter—part intersection calculations  89  cutter arc  1 K 1 K  c  C (a)  C  v  ‘2  rectangle side  (b)  r 2 K (d)  Figure 4.5: Rectangle—perpendicular side. The side endpoints are Kl(XK ,yJcl) and 1 (xK yK2). The cutter arc centre point is labelled C. (a) Initial contact—side crosses K , 2 cutter path (b) Initial contact—side does not cross cutter path (c) Final contact—side extends farther than r from the path (d) Final contact—side never extends farther than r, from the path.  Chapter 4. Cutter—part intersection calculations  cutter arc  rectangle side  90  2 K  1 K  C  C  (a)  (b)  Figure 4.6: Rectangle—parallel side. The side endpoints are K1(XK1,yKl) and (xiç yK2). The cutter arc centre point is labelled C. (a) Initial contact (b) Final K , 2 contact.  Parallel side Sides parallel to the cutter path can quickly be evaluated. If the side is farther than r from the path, then no contact occurs. Otherwise, construct triangles from the side endpoints, with hypotenuse of length r, to find the cutter arc centre points at initial and final contact (figure 4.6). In the example shown these points are and  (XK2  —  (r  —  (XK1  —  (r  —  , 2 / ) 1 y  0)  y 0) respectively. , / 1 ) 2  Intermediate angle side Sides that are at an intermediate angle to the cutter path require a more involved analysis. First, the side is checked to verify that a portion of it is within r of the cutter path. Analysis continues only if this is so. If the side is nearly parallel or nearly perpendicular to the cutter path, then the solutions for these earlier cases is used. Remaining cases are assumed to be numerically well conditioned. A treatment of the specific numerical issues for these calculations can be found in the article by Middleditch, Stacey and Tor [82].  Chapter 4.  Cutter—part intersection calculations  91  cutter arc T C  rectangle side 1 K  (a)  2 K  (c) Figure 4.7: Rectangle—intermediate angle side—initial contact. The side endpoints are K1(XK1,yKl) and K2(xK2,yK2). The cutter arc centre point is labelled C. (a) Initial contact at a tangent (b) Initial contact at endpoint K 1 (c) Initial contact at endpoint . 2 K Initial contact with the side can occur either when the side becomes tangent to the cutter arc (figure 4.7(a)), or when an endpoint of the side is reached (figure 4.7(b) and (c)). The three possibilities are individually checked and the cutter arc centre point earliest along the path retained as the initial contact point for the side. Tangency occurs when the perpendicular to the side crosses it at a distance r away from the cutter centre. Writing the equation for the side I( 2 as K 1 Y  —  ?IK1  =  mK(x  —  XK1)  (4.3)  Chapter 4.  Cutter—part intersection calculations  92  where the slope mK is given by YK2  —  YK1  mK= XK2  the equation for the perpendicular line through the tangent point T(x,y) is Y—YT  At C, the cutter arc centre, y  —1 mç  (4.4)  —(x—XT)  0 and, solving (4.4) for x yields XC = XT  +  (4.5)  mKyT  The distance from C to T is r,, hence (XX  —  2 xC)  +y  =  Substituting from (4.5) YT A valid tangent requires  XC  <  XX,  +(1  (4.6)  +m)hI2  or equivalently (from (4.5)), 0 <  XT—XC = —mKYT.  That is, m and YT must have opposite signs. Furthermore, the point T must actually be on the side (i.e. be between K 1 and 2 K ) . This is verified by checking that XK1  and  XK2  or equivalently that YT is between  YK1  and  XT  is between  YK2.  The points at which the cutter arc reaches the side endpoints are readily located. To check endpoint K 1 first check that IYK1 <  r  and then construct a triangle with  hypotenuse of length r from K 1 to the cutter path. The centre point C at which initial contact occurs is  (XK1  —  (r  —  y)’/ 0). A similar calculation is made for endpoint , 2  . The retained initial side contact point is then chosen as the candidate which occurs 2 K earliest along the cutter path. The final contact point of the cutter arc and side can arise in two ways. First, the points where the side is a distance r away from the cutter path are checked (figure 4.8(a)).  Chapter 4.  Cutter--part intersection calculations  93  This is determined by solving  —  for  XC.  YK1  = mK(xc  —  XK1)  Only the solutions corresponding to actual points on the side are retained.  When a side endpoint is less than  r  away from the cutter path, the cutter arc centre  is located by constructing a triangle with hypotenuse of length r back to the cutter path. For example, with endpoint K 2 the centre point C is located at  (XK2  —  (r  —  )l/ 0) 2 y ,  (figure 4.8(b)). A final contact at side endpoint 1 K is handled similarly. The retained final contact point is the candidate which is latest along the cutter path. The initial and final contact points of all sides are combined to yield critical points for the rectangle as a whole. Before the overall initial contact point and after the final contact point any cutter immersion interval query against the rectangle can be answered simply by returning the null interval [0, 0). In this case the rectangle is null or A redundant. Similarly, if it is found that the cutter arc is past final contact with some of the sides before coming into initial contact with other sides, the arc must be entirely within the rectangle. In this case the immersion interval is always a full [0, 7r) and the rectangle can be replaced by the universal set 2 during this segment of the cutter path (figure 4.9). In between the initial and final contact points for a rectangle side the immersion interval endpoint angles must be explicitly calculated. For sides perpendicular to the cutter path this is quickly accomplished by computing the angles =  ±arccos  (XK1— xc)  (4.7)  measured from the horizontal cutter path (figure 4.10(a)). Following the usual notation the corresponding immersion angles are çb  =  ir/2  —  A 6  and çb  =  7r/2  —  9 B •  parallel to the cutter path the immersion interval endpoint is a constant q  =  For sides 7r/2  —  Chapter 4.  Cutter—part intersection calculations  94  cutter arc ‘2  rectangle side  2 K  (a)  1 K  (b)  Figure 4.8: Rectangle—intermediate angle side—final contact. The side endpoints are K1(XK1,yKl) and K2(xK2,yK2). The cutter arc centre point is labelled C. (a) Final contact at cutter arc edge (b) Final contact at side endpoint K . 2  2 K  3 K 1 K  0 K Figure 4.9: Rectangle l redundancy. After the cutter arc passes final contact with sides 3 and K 2 K 0 it has yet to initially contact sides K 3 1 and K 0 . During this period 2 1 the rectangle is redundant, and the cutter immersion interval is always [0, 7r).  Chapter 4.  Cutter—part intersection calculations  95  where (figure 4.10(b)) =  arcsin  ()  (4.8)  For sides at an intermediate angle to the cutter path, a line CT passing through the instantaneous cutter centre  C(XC,  yc) and perpendicular to the side is constructed.  This line is the bisector of the chord A (figure 4.10(c)) and intersects it at the point T(XT,yT).  The angle  L  is given by  —  arctan  —  (4.9)  \YK2 —YK1)  Furthermore, =  arccos  /CTj\ r jj  (4.10)  and hence the immersion interval endpoint angles are where  A 6  =  &L  + Up and  B 8  =  =  r/2  —  A 6  and  B  =  7r/2  —  —  The intersection points divide the semi-circular cutter arc into intervals which must be classified as in or out of cut. For this purpose the rectangle is first considered as a complemented feature—that is, it is considered as an empty area surrounded by solid. Because a rectangle is a convex shape, each exterior immersion interval will be associated with only one of the sides, and hence they can be treated in isolation. On the other hand, cutter arcs inside of the rectangle can interact with the sides in complex ways. After the cutter immersion intervals for all four sides of the rectangle have been combined and complemented to again reflect a solid interior rectangle, the in or out of cut classification of the cutter immersion intervals begins. This is done by checking whether the zero angle point O(xo,yo) (figure 4.11) is inside or outside of the rectangle. Denoting the four rectangle vertices Kk( r,k, Yrk)k=O...3, this is accomplished by imagining each side of the rectangle to be a vector KkKI where 1  =  (k + 1) mod 4. A second set of  four vectors KkO leads from each rectangle vertex to the zero angle point. Since the side  Chapter 4.  Cutter—part intersection calculations  96  0  B 7-’-  (a)  (b) 1 K  (c)  2 K  Figure 4.10: Rectangle—cutter intersection angles. (a) perpendicular side. The immersion interval endpoint angles are found using (4.7). (b) parallel side. The immersion interval endpoint angle is found using (4.8). (c) intermediate angle. Line CT is the perpendicular bisector of the chord Afl. The immersion interval endpoint angles are found by using (4.9) and (4.10) to solve for 8 L and 8 T, and then changing to the usual immersion angle notation.  Chapter 4.  Cutter—part intersection calculations  97  vectors advance around the rectangle in a counterclockwise direction, if the zero angle point is to the left of each side vector then it must be inside of the rectangle. With three dimensional vector cross product notation, if K/cK 1 x KkO has a positive z component for k  =  0.  .  .  3 and 1  =  (k + 1) mod 4, then the zero angle point is inside of the rectangle.  Using the point coordinates, the zero angle point is inside of the rectangle if and only if (r,i  —  Xr,ic)(yO  —  Yr,k)  —  (Xo  —  Xr,k)(Yr1  yr/c)  >  0  When the zero angle point is inside of the rectangle, then its immersion interval is marked as in cut, Advancing around the semi-circular arc the remaining intervals, bounded by the intersection points  and  A(XA,YA)  B(XB,YB)  must then alternately be  out of then in cut. This process is repeated at each incremental sample point C(x, 0) along the cutter path. 4.2.2  Circle calculations  The circle feature is assumed to have a radius of rF and be centred at the point  F(XF, yF).  That is, its defining equation is (x  —  XF)  To determine if a cutter arc of radius  + (y r,  —  YF)  =  r  (4.11)  ever intersects the circle the quadratic formula  is applied to find the solutions for xc in (figure 4.12) (r + rF) 2  (xc  —  2 XF)  +y  (4.12)  If there is no real solution then the cutter never crosses the circle along the current path, and the null cutter immersion interval [0, 0) is returned in response to any intersection query. Otherwise, the earlier of the two roots from (4.12) is the point of initial contact. In figure 4.12 this is point A.  Chapter 4.  Cutter—part intersection calculations  98  2 K 1 K  out  3 K  t, 1  in  r\Q  Figure 4.11: Rectangle—cutter arc classification. After the immersion intervals from all four sides of the rectangle have been combined, they are complemented to again reflect a solid interior rectangle feature. The cutter arc zero angle point is inside the rectangle if and only if it lies to the left of each of the four sides. In that case, the immersion interval containing the zero angle point is classified as in cut. Advancing around the semi-circular arc the remaining intervals, bounded by the A(XA, VA) and B(XB, YB) intersection points, are alternately marked as out of then in cut.  Chapter 4.  Cutter—part intersection calculations  99  r  Figure 4.12: Circle critical points—re < rp. The circle centre point is F(XF, yF). Initial contact of the cutter arc with the circle occurs at tangency (point A) where the distance from F to A is r + Tp. The cutter arc then passes entirely inside of the circle at point B, where the line r below the path intersects the circle. The cutter arc crosses to the outside beginning (point C) where the distance from F to C is rF r. Final contact occurs when the cutter arc centre is at point D, where the line r above the path intersects the circle. —  Chapter 4.  Cutter-part intersection calculations  The two cases (1) r  <  100  (cutter radius smaller than circle radius) and (2) r  TF  ‘rF  (cutter radius equal or larger than circle radius) now require separate analyses. In the first case r,  <rF  the cutter arc can move along the path to next be fully inside  the circle, in which case the cutter immersion interval is a full [0,7r). This condition is checked by constructing a line parallel to the cutter path a distance r away and on the side opposite to the circle centre point F. The intersection points of this line with the circle are then computed. If real solutions exist, the point with the earlier  Xc  value  locates the cutter arc centre when it passes fully inside of the circle. For example, in figure 4.12 the circle centre F is above the cutter path and hence the parallel line has the equation y  —re. The intersection points are found by simultaneously solving the  line equation with the circle equation (4.11) (XC  —  + (—re  XF)  —  yp)  =  r  The earlier point in this case is marked B. Assuming that the cutter did pass fully inside the circle, the next critical point occurs when it again becomes tangent with the circle. This point is found by retaining the later solution for  XC  in the equation (TF  —  2 = (XC r)  —  2 XF)  +y  (4.13)  In figure 4.12 this is point C. Finally, the cutter arc will be completely past the circle when its diameter perpen dicular to the path is beyond the circle circumference. To find this point construct a line parallel to the cutter path at a distance  r,  and on the same side as the circle centre point  F. The point of final contact is the intersection of the line with the circle that has the later  XC  value. In the example of figure 4.12 the equation to solve is (XC  —  2 XF)  + (r  —  yF)  =  (4.14)  Chapter 4.  Cutter—part intersection calculations  (a)  101  (b)  Figure 4.13: Circle critical points—re > TF. (a) Final contact at tangency (b) Final contact when the cutter diameter perpendicular to the path passes the circle. and the cutter arc centre at final contact point is point D. In the second case r >  TF  it is impossible for the cutter arc to be entirely inside of  the circle. Instead, check solutions to (4.13). If real solutions exist then the later xc value is the final contact point. Otherwise construct the parallel line r away from the cutter path and on the same side as the circle centre F, and solve as in (4.14). These two cases are illustrated in figure 4.13, where the cutter arc centre location at final contact is marked C. As with the rectangle feature, computation of the cutter immersion interval endpoints is performed incrementally. At an instantaneous cutter centre location C(x, yc) the line  CP (figure 4.14), which is the perpendicular bisector of AB, subtends an angle =  arctan  (4.15) (XFXC)  with the horizontal cutter path. The immersion interval endpoint angles are now  Chapter 4.  Cutter—part intersection calculations  102  OUt\  0  C  \  out  Figure 4.14: Circle—cutter intersection angles. The circle centre is located at F(XF,YF) and the cutter is centred at C(x, 0). The perpendicular bisector CF of AB is found, and the angles 0 L and 87’ computed using (4.15) and (4.16). The immersion intervals are then expressed in the usual immersion angle notation. ir/2  —  A 8  and q!B  ‘ir/2  —  B 8  where  A 8  =  °L  + 87’  arccos  B 0  =  —  07’  and  (loT!)  (4.16)  The zero angle point of the cutter arc is classified as in cut if distance from the circle centre F to the zero angle point is less than  rF,  and out of cut otherwise. Moving along  the semi-circular arc the remaining intervals, bounded by the intersection points A and B, are then alternately marked as in then out of cut to obtain the correct classification.  [4,j, qex,i)  Chapter 4.  4.3  Cutter—part intersection calculations  103  Cutter immersion interval combination  In order to find the cutter immersion arcs for the part as a whole, it is necessary to combine the results for each isolated primitive. This is accomplished using a recursive method which exploits the data structure and “divide and conquer” paradigm of the CSG solid model representation scheme. Cutter immersion queries are answered by a recursive traversal of the CSG tree used to define the part. When two primitive or leaf nodes are found as children, the parent operation is applied to combine the immersion data for each child according to table 4.1. The actual merge of the two cutter immersion arcs is performed as follows: 1. Each primitive’s immersion data is stored in an endpoint list sorted in increasing order by angle. 2. Beginning at the zero angle point, the lists are merged and the immersion intervals marked as in or out of cut according to table 4.1. 3. Duplicate and redundant endpoints are deleted to yield the combined list. This combination procedure is repeated until the entire CSG part representation tree has been traversed. Illustration of the procedure is shown in figure 4.15. The solid portion of the part is shown hatched, and the in cut intervals of the cutter are drawn with thick arcs. The cor responding Boolean immersion interval combination table is included as table 4.2. First, the cutter immersion arcs for the rectangle A [b t,A, 5  qSexA)  and the circle B [qt,B, 3 1  ex,B)  are determined using the methods developed in section 4.2. Next, each interval is clas sified as either in or out of cut. The interval endpoints are sorted in ascending order by angle, and merged. Finally, using table 4.1, the intervals are combined according to the Boolean operator rules to yield the final immersion intervals [qst,i,  ex,i). 1 q  Chapter 4.  Cutter—part intersection calculations  A in in out out  B in out in out  Au*B in in in out  104  AnB in out out out  A-*B out in out out  Table 4.1: Boolean immersion interval combination rules. The left two columns list the classification of a cutter immersion interval for primitives A and B. The right three columns list the resulting classifications for the Boolean union U*, intersection fl* and difference —* combinations.  A  B [0,  [0, 3 tçb ,A)  out  [  qX,A,  [0,  /it,B)  [1-st,B, kex,B)  [q5exB,  [st,A, çbex,A)  Au*B  ir)  out  ir)  ‘b , 3 o)  [q’st,o,  q’ex,o)  [  /-st,i)  [qfi,  qex,i)  [qes,i, 7r)  out in in out  (a) A [0,  [  q s 5 tA)  qex,A) [4ex,A,7r)  B out  [0,  AnB  bt,B)  [0, o)  in  [qst,B, bexB)  in  out  eB,7r)  out  t[q 3 ,o,  out  4’ex,o)  ,o, r) 5 [q  out  [0, q t,o) 8 5  2L  (b) A [0, çb t,A) 5  t[cb 5 ,A, cbex,A) [q.4e,A, ii-)  B  o  btB)  [ s 4 tO, ex,O)  in  [‘k t 5 B, f)ex,B) ’exB [4  ,  it)  out  [1exü, ki,i) [q’st,i, qSex,i) [qex,i, it)  in  iT  (c) Table 4.2: Boolean immersion interval combination. The table above shows the irnmer sion interval classification for each of the three cases illustrated in figure 4.15.  Chapter 4.  Cutter—part intersection calculations  B—.  øst,B  105  Au*8_  øs t 0 ,  \  / /  st,A 0  /  (a) 8—---  øst,B  An*8  st,A 0  0 / /  (b) A_*B  A  —*  ——  (c)  ex,1 0  Figure 4.15: Boolean immersion interval combination illustration. The solid portion of the part is shown hatched, and the in cut immersion intervals [qst,i, cbex,i) are drawn with thick arcs. See also table 4.2. (a) A U *B. The combined cutter immersion intervals consist of intervals in either A or B. (b) An *B. The combined cutter immersion interval consists of the interval in both A and B. (c) A *B. The combined cutter immersion intervals consist of intervals in A but not in B. —  Chapter 4.  p  Cutter—part intersection calculations  106  xQpIp_[jo øst,O øexO  øst, Oøex, 0  øst,O1øex, 0  0  0  0  øst,1 øex,1  0 s t,1 Øex,1  0  0  øst,2 øex,2  0 Figure 4.16: Immersion interval linked lists. For each sample point x along the cutter path a new list is begun, with the immersion intervals stored as separate elements. The cutter immersion information for the overall part shape is then recorded in the form of a linked list data structure (figure 4.16). At each sample point cutter path a list of the cutter immersion intervals [q st,i, 5  qex,)  along the  is formed. The lists for  each sample points are then chained together so that the cutter immersion information, needed during milling process model calculations (chapter 6), is available incrementally along the entire path. A part consisting of 12 primitives and requiring a more complex CSG data structure is shown in figure 4.17. Using this example, a demonstration of the cutter immersion interval combination procedure is shown in figure 4.18. At each sample point along the cutter path the immersion intervals are found for each of the primitives. The intervals  Chapter 4.  Cutter—part intersection calculations  107  are then combined using the Boolean operation at the parent node. The procedure is repeated until the entire CSG tree has been traversed. Figure 4.19 is a screen image of the algorithms of this chapter as implemented on a graphics monitor equipped micro computer (see [110, appendix D, program cutmod]). The time to calculate and display the immersion intervals at 100 evenly spaced sample points along the cutter path was approximately 20 seconds. In section 7.3 several face milling simulations and experiments are conducted using this example part shape. As more features are added to the part shape, the number of primitives and com plexity of the CSG tree soon becomes excessive. The majority of the primitives will not contribute to the immersion interval calculation at a specific point on the cutter path, and hence a large portion of the computation time will be wastefully consumed. Ad ditional computational effort is required to repeatedly sample along the cutter path to determine the immersion intervals. When only a single immersion interval is involved in the calculation, this incremental approach should be improved by developing analytical formulae to express, as functions of the path position x, the interval endpoint angles b , 8 (xC)  and  qex,i(xc).  In chapter 5 computational geometry methods for identifying and eliminating re dundant primitives are examined. Interval endpoint angle functions are developed to avoid incremental sampling along the cutter path when a simple immersion geometry is recognized.  4.4  Summary  In this chapter a systematic method of finding the cutter immersion angles was developed. First, the straight line cutter path was transformed to a standard location and orientation beginning at the plane origin and advancing along the positive x axis. Using concise  Chapter 4.  Cutter—part intersection calculations  108  -*  / u* /\  u*  J  KL  AB  CD  Figure 4.17: Complex CSG part. The part consists of 12 primitives and requires a more complex CSG data structure. A sample calculation of the cutter immersion intervals with this part is shown in figure 4.18.  Chapter 4.  Cutter—part intersection calculations  109  -*  o  0  F)  o-0  /  /u*\  -  /  0 0  ‘6  0 10 -/  _u \.  -  /u*\  :;  -  0 0  ‘Li  /u*\ 0  )  \  0  1  /u*\ 0  ) ) 0  OD)  0  Figure 4.18: Complex part immersion interval combination. At one location along the cutter path the immersion intervals are calculated for the part in figure 4.17. In cut intervals are drawn with thick arcs, and out of cut intervals are shown with thin, broken lines. A display of the calculation along the entire path, using an implementation of the algorithms developed in this chapter, is shown in figure 4.19.  Chapter 4. Cutter—part intersection calculations  110  Enter snap size 3 1 define (C)utter path, coMpute (A)ngles, (S)nap size, define (IDorkpiece (D>isplay control, eOOit a click left hutton to select featura (right to ahort) Save angle list to file (UN)? t> .  Figure 4.19: Cutter immersion algorithm implementation. The algorithms developed in this chapter have been implemented on a graphics monitor equipped microcomputer (see [110, appendix D, program cutmod]). A screen image of the program operating on a complex part is shown above. Refer to figure 4.17 for the corresponding CSG data structure.  Chapter 4.  Cutter—part intersection calculations  111  definitions of rectangle and circle primitives (blocks and cylinders in 2 1/2 D), calculation of the cutter—primitive intersection was carried out in a straightforward manner. The intuitive Boolean combination method provides an easily implemented solution capable of handling any part definable with the CSG primitives and data structure.  Chapter 5  Relevant primitive identification  In chapter 4 a straightforward procedure for determining the cutter-part intersection geometry was developed. The method began by determining the immersion angles for simple primitives such as rectangles and circles (blocks and cylinders in 2 1/2 D). These were then combined by applying the appropriate Boolean operator as the part defini tion tree was traversed. Any 2 1/2 D part representable using the CSG primitives and operation tree could therefore be accommodated. As the part becomes more complex, however, increasing computational effort will be expended examining primitives which do not affect the final cutter immersion interval endpoint angles. Redundancy problems of this nature must be efficiently solved to achieve acceptable computation speed. The focus of this chapter is on the redundancy issue and relevant primitive identification as applied to a CSC based milling process simulation system. The following section examines redundancy of part features distant from a group of localized cutter paths. Representation issues and design strategies to assist in eliminating irrelevant primitive groups are discussed. The S-bounds, active zone and iso-oriented box techniques reported in the literature are outlined and related to milling process simulation requirements. Next, in section 5.2, the issue of identifying relevant primitives in a chain of n cutter paths, such as in pocketing operations, is addressed. In this case the part model changes as each path is completed. Instead of reflecting this by incrementally updating the CSG 112  Chapter 5. Relevant primitive identification  113  tree, it is proposed that a separate list of completed cutter paths be checked. Then, after the entire chain has been completed, the model is updated using a smaller CSG primitive group which represents the net effect of the cutter path chain. Implementation of this strategy requires that an efficient method of identifying relevant cutter paths be used. Checking each of the paths previous to each current path has an undesireable quadratic time complexity. To improve on this, computational geometry based solutions with O(n log n) and linear time growth rates are examined. In section 5.3 the concept, from chapter 4, of dividing cutter paths into segments bounded by the initial and final primitive contact points is further developed. Within each segment primitives which can be identified as null A or universal set f redundant are pruned from the CSG tree. This substantially reduces the effort needed to locally calculate the cutter immersion intervals. In end milling it is frequently discovered at this point that the remaining CSG tree consists of very few primitives. When this is the case, and there is a single in cut immersion interval, the varying interval endpoint is expressed analytically as a function of the cutter centre position along the path. This permits an especially rapid milling process simulation method to be used in section 6.3.2. A summary of the chapter and the overall geometric aspects of the milling process simulation system is then given in section 5.4.  5.1  Redundancy and local cutter paths  Typical parts are comprised of a number of disjoint features which can each be described by a CSG primitive group. Consider for example figure 5.1, where a part comprising of three holes (labelled A, B and C) and five pockets (D—H) is shown. The individual primitives  for feature F are shown in detail. Each of the pockets and the outside  periphery I is described by a similar primitive combination D, E,  ...,  I and hence  Chapter 5. Relevant primitive identification  overall the part requires a complex CSG tree description.  114  During cutter immersion  interval calculations this large tree must be repeatedly traversed—a time consuming and wasteful procedure since the majority of the primitives is unlikely to influence any one particular cutter path. If, however, the part is milled in a methodical fashion, it is possible to eliminate most of the CSG tree from consideration during simulation along a group of individual cutter paths. For example, imagine that the features are cut from the initial blank part W in the order A, B, C,.  .  .  ,  I. Just prior to starting to mill pocket G the part would appear  as in figure 5.2. At this moment the CSG part representation would include the blank part W, and each of the completed features A—F. The swept volume of any cutter path Ge,, used to mill G will certainly be a subset of C, and hence primitives disjoint from G will also be irrelevant to each of its constituent cutter paths. In the example shown all of the part features are disjoint from G, and can be replaced by the null set A. After simplification using table 2.1 the CSG tree will consist of only the blank part W which, with respect to C, is  redundant (figure 5.3). It is not uncommon for such extensive  simplifications, and the associated reduction in immersion interval calculation effort, to be possible. To automatically recognize the disjoint part features, several interference checking algorithms are appropriate. Iso-oriented box methods, and the S-bounds and active zone approaches used specifically with CSG representations are discussed in the following sections. Iso-oriented boxes To establish that two primitives A and B are disjoint, it is sufficient to check that their intersection is null (i.e. A fl *B  =  A). Proving this directly is often difficult due to the  complex shapes involved, and hence approximate bounds enclosing the actual primitive  Chapter 5. Relevant primitive identification  115  Figure 5.1: Multiple part features. The part above consists of three holes A, B and C, and five pockets D—H. The outside periphery is labelled I, and the initial blank shape is denoted by W. The individual primitives for feature F are shown in detail. Each of the pockets and the outside periphery is described by a similar primitive combination , E, 1 D I and hence overall the part requires a complex CSG tree description. ...,  Chapter 5. Relevant primitive identification  116  Figure 5.2: Redundant part features. The part from figure 5.1 is shown just prior to cutting pocket G. During cutter immersion interval calculation for the paths of G, the previously completed features A—F are irrelevant and can therefore be replaced by the null set A. Furthermore, the initial blank W can be replaced by , the universal set (see figure 5.3), minimizing the immersion interval calculation effort.  Chapter 5. Relevant primitive identification  117  —*  -*-----  /  —*  F  /\  D  E  w  u* u*  u*C /\  A  /\  /\  8  1 F  /\  /\  3 F  2 F  4 F  /\  5 F  6 F  /  u  9 F  /\  7 F  8 F  0 Figure 5.3: Reduced CSG tree. After substituting A or for the redundant primitives, the CSG tree can be simplified (section 2.4.5, table 2.1). In the example from figure 5.2 it reduces down to the universal set A, minimizing the immersion interval calculation effort. For clarity only the individual primitives for the pocket F are explicity shown.  Chapter 5. Relevant primitive identification  118  are frequently used. If cr(A) and a(B) are approximate bounds enclosing primitives A and B respectively, and u(A) and a(B) are disjoint, then A and B are disjoint. That is, if A C u(A) and B C (B), then u(A) fl *u(B)  =  A  =  A fl *B  =  A. Iso-oriented boxes  are the most common simple shape used for this purpose. An iso-oriented box or isobox has its sides oriented parallel to the coordinate system axes. When used as an approximate bound for a CSG primitive A, the box size is chosen so that it just encloses A. Examples of isoboxes in two and three dimensions are shown in figure 5.4. Testing for intersections of isoboxes in two dimensions is most efficiently accomplished using the sweep paradigm. First, the horizontal line segments of the n isoboxes are sorted in decreasing order by y coordinate. This can be completed in O(ri log n) time using an algorithm such as heapsort (see Aho, Hopcroft and Ullman [1, chapter 8]). Then, beginning above the highest isobox, an imaginary horizontal sweep line is moved downwards (figure 5.5). As the top of each isobox is encountered, its horizontal interval  [Xq,L, Xq,R)  is checked  against all intervals already stored in an interval tree [46, 77]. This data structure is a binary tree containing all horizontal interval endpoints  Xj,L  and  x,R  augmented by a  doubly linked list and balanced tree to store the intervals. It permits all intervals which share points with the query interval  [Xq,L, Xq,R)  to be identified in logarithmic time.  If the new interval intersects any entries s1ored in the interval tree, this fact is reported as a pair of interfering isoboxes. The new interval is then added to the interval tree. When the bottom horizontal segment of an isobox is encountered, its interval is deleted from the tree. This procedure reports all isobox intersections exactly once, and operates in time O(N + n log n), where N is the total number of reported intersections. A slightly more complex approach, based on the segment  tree,  is required for three  dimensional isobox intersection testing. This method operates in O(N + n log 2 n) time.  Chapter 5. Relevant primitive identification  119  A  a(A)  (G)  (B)  (b) Figure 5.4: Iso-oriented boxes. An iso-oriented box or isobox has its sides oriented parallel to the coordinate system axes, and just encloses the primitive that it approximates. (a) a 2 D isobox (b) a 3 D isobox  Chapter 5. Relevant primitive identification  120  1,R  sweep line  Figure 5.5: Sweep paradigm for isobox intersection. An imaginary horizontal line is swept from top to bottom. When the top of an isobox is encountered, its interval [Xq,L, Xq,R) 5 checked against entries [x,L, x,R) already stored in an interval tree and any intersection cases reported. The new interval is then added to the tree. Intervals are deleted when the horizontal line passes over the bottom of the isobox. In the example above, intervals currently stored in the tree are shown with thicker lines. Further details are provided in the texts by Hoffmann [46] and Mehlhorn [77]. A disadvantage of bounds such as isoboxes is the potentially poor approximation of the shape enclosed. This can result in many isobox intersections being reported when the primitives enclosed are actually disjoint (figure 5.6). Excessive false interference detection is a problem which can degrade of overall usefulness of the technique. The intersection reporting algorithms for isoboxes are general tools independent of any particular solid modeller representation. Although this generality would seem an advantage, it prevents beneficial exploitation of a particular solid model data structure. For example, referring again to figures 5.2 and 5.3, testing that the features A—F are disjoint from C would be performed by checking each individual primitive, rather than  Chapter 5. Relevant primitive identification  121  (6)  (A)  Figure 5.6: Poor isobox fit. Here shapes A and B do not interfere, but their isoboxes u(A) and u(B) do. These false interference cases will be reported by the isobox intersection algorithms, degrading the usefulness of the method.  Chapter 5. Relevant primitive identification  122  by testing the feature as a whole. There is no means of grouping the primitives into CSG subtrees. The S-bounds and active zone approaches, described in the following sections, offer improvements in this area. S-bounds As was observed in the previous section, mechanical parts frequently can be described as a collection of features. With the CSG representation, each feature is comprised of a number of primitives which are combined using the regularized Boolean operators to form a subtree. During redundancy detection these subtrees should be treated as a unit, with an appropriate enclosing bounds available for the feature as a whole. This will avoid the need to exhaustively check each primitive pair combination to verify that two feature subtrees are disjoint. Cameron [17] has proposed the S-bounds method, which is particulary useful in these circumstances. His method proceeds as follows: 1. First, each primitive in the feature subtree is enclosed in an approximating bound. An example CSG subtree with isobox bounds is shown in figure 5.7. 2. Next, a “window” is attached to each leaf and interior node of the CSC subtree. Initially the approximating bounds are used for the primitives (leaves), and the universal set  (the approximating bound with infinite dimensions) is used for the  interior nodes. 3. Beginning at two sibling leaves L 1 and L , the parent node window is refined by 2 applying one of the following three rules, depending on the parent operator: (a) If the operation is L 1 U *L , then substitute u(u(L 2 ) U *a(L 1 )) for the parent 2 window.  Chapter 5. Relevant primitive identification  123  (b) If the operation is L 1 fl *L , then substitute a(u(Li) fl *u(L 2 )) for the parent 2 window. (c) If the operation is L 1  —  , then replace the parent window with u(Li). 2 *L  This step is recursively repeated until the root of the solid is reached. 4. Beginning at the root, the bound at a child L 1 is replaced by u(Li) 11 *u(L), where L is the parent node. This continues until all leaves have been reached. 5. Steps 3 and 4 are alternately repeated until no further changes occur. Figures 5.8 through 5.10 demonstrate the method as applied to the solid depicted in figure 5.7. Cameron has shown that the overall algorithm converges in at most n  —  1  passes, where n is the number of leaves in the tree. Bounds other than isoboxes, such as circles, convex polygons or spheres, have also been suggested for use with the S-bounds method [19j. The S-bounds method provides an intuitive approach to approximating the shape of a CSG subtree. It permits the part to be examined as a collection of features in a structured way, rather than individually considering each primitive in a large CSG model. When there are a few, complex features (such as completed pockets) this approach avoids much of the work needed to identify disjoint CSG subtrees. An additional benefit of the S-bounds approach is its ability to identify redundant primitives which can permanently be pruned from the feature subtree. In the example shown, primitives F, T and U are identified as A redundant. The primitive R is  redun  dant, but this cannot be detected by the S-bounds method. The active zone approach, described in the next section, is capable of identifying fI redundant primitives.  Chapter 5. Relevant primitive identification  124  (a)  R  -7  Q  /\  NT  P S  /\  U  (b) Figure 5.7: CSG subtree and primitive bounds. (a) Each primitive (shown with thick  lines) is enclosed in an isobox bound (shown with thin lines). The bounds are then refined by the S-bounds method, which is illustrated in the subsequent figures. (b) CSG tree for part (a). The Boolean expression represented is ((Q *F) fl *(S U *U) *T) fl *R. —  —  Chapter 5. Relevant primitive identification  125  Figure 5.8: S-hounds refinement—initialization. The example is continued from figure 5.7. Primitives are initially bounded by their isoboxes, and interior nodes by the universal set 2 isobox which has infinite dimensions.  Chapter 5. Relevant primitive identification  126  Figure 5.9: S-bounds refinement—upward (pass 1). The bounds at the interior (parent) nodes are refined by applying the appropriate Boolean operation with the children.  Chapter 5. Relevant primitive identification  127  Figure 5.10: S-bounds refinement—downward (pass 2). The bounds at the leaves are refined. The algorithm converges on this pass, and a relatively small resultant bound re mains. Primitives F, T and U are identified as A redundant. Primitive R is Q redundant, but this is not detected by the S-bounds method.  Chapter 5. Relevant primitive identification  128  Active zones An alternative redundancy checking method is the active zone technique proposed by Rossignac and Voelcker [100]. The active zone 2(L) of a CSC primitive L is the region within which, if the shape of L were to change, the resulting CSG tree shape would also change. Conceptually, it is easier to consider active zones on a positive CSG tree—that is, trees with only U* and fl* operations. All  —*  operations are replaced by a fl* operation with  the right child replaced by its set complement. For example, the shape in figure 5.7, with Boolean expression  ((Q — *P)n *(Su*U)— *T)fl*R has ((Q n*P)n*(Su *U)fl 4’)fl*R  as its positive equivalent. The active zone of a primitive L is then determined by replacing it with Q, and interpreting any U* operations as  —*  operations along the tree traversal path from the  root to L. For example, in figure 5.11(b) 2(U) is Similarly, 2(R) is  ((Q  fl  *P) fl *((  —  *S) fl *)) fl *R.  (Qn*P)n*((Su*U)n*T). It has been shown [100] that a primitive L  redundant if and only if 2(L) C L, and is A redundant if and only if L fl *2(L)  A.  Hence in figure 5.11(b) U is shown to be A redundant (It can similarly be shown that P and T are A redundant.). Figure 5.11(c) shows that R is f redundant. Implementation of active zones requires a means of testing the sets referred to, and isoboxes are frequently suggested to approximate this.  Cameron and Rossignac [18]  discuss relationships between S-bounds and active zones. As with the S-bounds method, the active zone technique is particular to the CSG representation method. It provides a structured approach to identifying and removing redundant primitives from CSG subtrees, thus simplifying the later task of calculating the cutter immersion intervals. Although it does not directly refine bounds for the primitives or subtree, it is capable of identifying Q redundant primitives—which the S-bounds method  Chapter 5. Relevant primitive identification  129  cannot do. Discussion This section has examined, with reference to milling process simulation requirements, three redundancy checking methods in common use. Iso-oriented boxes were described as an approximate bounds which can be used to simplify intersection calculations with CSG primitives. In conjuction with the interval and segment tree data structures, the isobox can be used to achieve efficient identification of intersecting primitives. The difficulty with the approach is that it requires testing of the entire population of primitives in a CSG tree. No attempt is made to exploit the feature subtree structure which normally would be present. The S-bounds and active zone methods are particular to the CSG representation, and make beneficial use of it. S-bounds can be refined for a subtree in a natural way using the familiar regularized Boolean operators. The active zone technique identifies the part of a CSG tree that sensitive to changes in any one primitive. In particular it can be used to identify primitives that are l redundant. The success of any of the approaches discussed is highly dependent on the tightness of the approximate bound. The highest success rate will be achieved when the bound very nearly matches the actual shape being enclosed. In this case intersecting bounds will seldom be reported when the enclosed shapes themselves do not intersect. In contrast, when the bounds are very poor (as in figure 5.6), many false intersections may be detected. This degrades the usefulness of the algorithms involved. Throughout the section it has been assumed that the part model was automatically created in the desired feature subtree structure. With most solid modellers, however, this is up to the discretion of the part designer. It is reasonable to assume existence of such a structure, since it naturally leads to a manufacturing process plan which cuts the features  Chapter 5. Relevant primitive identification  130  R  / /\  /  P  Q  S  /\  T U  (a) R  / /\  /\T /\  QP  —*  SQ  (b)  / /\ Q  /\-  P  T  /\ S  U  (c)  Figure 5.11: Active zones for primitives. (a) the positive form of the CSG tree in figure 5.7(b) (b) the active zone 2(U) of primitive U. The parent operator for S and U has been switched from U* to —*, and U has been replaced by The path from the root to U is shown with thicker lines. Note that 2(U) fl *U A, and hence U is A redundant. (c) the active zone 2(R) of primitive R. Since 2(R) C R, R is Q redundant. .  Chapter 5. Relevant primitive identification  131  as a unit [23, 107, 136]. Other researchers, however, feel that this is too strict a burden to impose on the designer, and that instead automatic feature recognition algorithms should be used to restructure the part definition [45, 71, 142]. Regardless of the way in which it is built, a feature subtree structured model is needed to effectively use the techniques described in this section.  5.2  Cutter path chains  5.2.1  Overview  Assuming that the redundancy elimination methods reviewed in the previous section were used effectively, the remaining CSG part model will now be much smaller as milling process simulation begins for the next feature.  Recalling the example in figure 5.2,  only the universal set Q remained in the CSG tree when the first path of pocket C is started. This simplification avoided much of the computational effort that would have been needed to find the cutter immersion intervals if the large, original part tree were retained. Simulation of each cutter path in the pocketing operation, however, can again cause rapid growth in the CSC data structure, and poor computational efficiency. As outlined in chapter 2, the most apparent way to represent material removed by a cutter path is to model the swept volume using a group of three CSG primitives (figure 5.12(a)). As each path is completed, its swept volume is subtracted from the initial part shape using the Boolean difference operator  —*.  Figure 5.12(b) illustrates  the appearance of pocket G as its third path begins. The corresponding CSG expression for the part at this point is ((cl  —  ) 1 *Gc,  —  ) 1 *G,  —  2 (including the initial drilling *G,  cut). Since the swept volume of a previously completed path may influence the immersion interval calculations along the current cutter path, an up to date representation of the  Chapter 5. Relevant primitive identification  132  —*  / / GCAI  \ GCB,i (b)  (a)  Figure 5.12: Cutter path swept volumes. (a) Each cutter path swept volume can be modelled as a group of three CSG primitives combined using the expression = (GA 2 U *BCB,1) . (b) Appearance of pocket G as the third path be 1 *G gins. Including the initial drilling cut, the CSG expression for the part at this point is ) *G 1 *G . 2 (( —  —  —  —  Chapter 5. Relevant primitive identification  133  part shape must be available. Maintaining a CSG tree of completed cutter paths is the most apparent solution, but it becomes increasingly time consuming as the data structure grows. Therefore alternative methods, which allow more efficient identification of the few relevant preceding paths, are preferred. This is the goal of the section. 5.2.2  Incremental swept volume checking  One intuitive alternative is to incrementally check all previous paths in a cutter chain for relevance to the current path by testing their swept volumes for intersection. Only paths that are found to be relevant would actually be included in the CSG tree used for immersion interval calculation. Beginning with the second path in the chain, the first path would be checked for intersection. Next, the first two paths would be checked against the third path, and so on. For a total of n paths, this would involve checking 0 + 1 + paths. The sum of this arithmetic series is n(n  —  ...  + (n  —  1) preceding  1)/2, and hence the procedure has an  undesireable quadratic running time growth rate. Another alternative is to enclose the swept volume of each cutter path within an isobox and apply the O(N + n log n) time complexity interval tree and sweep paradigm as described in section 5.1. Often however, the cutter paths are long and may be oriented away from the coordinate system axes. Hence, because of poor isobox fit, this approach can report a high number of false intersections (figure 5.13(a)). 5.2.3  Line segment intersection test  An improved approach is to again enclose the swept volume in a box (rectangle in 2 D), but align it with the direction of the path (figure 5.13(b)). Since a common cutter radius r is assumed throughout the path chain, each rectangle will have the same width 2r. A minimum enclosing rectangle length of 2 r is always used.  Chapter 5. Relevant primitive identification  134  >  (a)  (b)  Figure 5.13: Approximate bound fit. (a) Since cutter paths are often long and may be oriented away from the coordinate system axes, isoboxes can poorly approximate the enclosed swept volume. This may cause a high number of false intersections to be reported. (b) Rectangles oriented with the cutter path direction always provide a tight fit.  Chapter 5. Relevant primitive identification  135  Under these circumstances it is impossible to produce a situation where one rectangle entirely encloses another, and hence the specific capability of the interval tree method to detect such an occurrence is unnecessary. Instead, since at least one pair of sides of interfering rectangles must cross, a test for intersection of the side line segments is sufficient. A brief description of a sweep paradigm based algorithm (see Mehlhorn [77, chapter VIII, section 5.1]) to accomplish this task follows. To report all N intersecting pairs of n line segments in O((N +  ii)  log n) time, first  sort the 2m segment endpoints in decreasing order by y coordinate. Using heapsort this can be accomplished in O(nlogn) time. The list of sorted endpoints is then stored in a balanced search tree E (such as a 2-3 tree [1]). Next, sweep an imaginary horizontal line down the plane, starting above the line seg ment with the highest endpoint (figure 5.14). This is equivalent to traversing the search tree in order. When a line segment is first reached, its horizontal position is determined relative to any segments which the sweep line already crosses. The segment is then in serted into a second balanced search tree S of horizontally ordered active line segments. The new segment is then checked for intersection with its left and right neighbours and, if an intersection point is found, it is reported and the point inserted into the endpoint tree E. When it is later encountered during the tree traversal, the two intersecting lines are swapped in S. Further intersection tests are then carried out between the two swapped lines and their nearest left and right neighbours. When the lower endpoint of a line segment is reached, it is removed from S, and an intersection test conducted for its two nearest neighbours. The algorithm terminates when E has been completely traversed, which indicates that the sweep line must be below the lowest endpoint. In conjunction with the rectangle approximating bounds for the cutter path swept volume, the line segment intersection method is a straightforward solution for finding relevant cutter paths. It is easier to implement than the interval tree method and uses  Chapter 5. Relevant primitive identification  136  /  sweep line  / /  / /  /  /  /  /  /  /  / / ‘  >  / / \/ / / /\ / / \ N  \ r  /  //  1\ > I\,\  / / / /  /  7 I 1/  L____1  Figure 5.14: Line segment intersection by sweep. After the endpoints of all line segments (the rectangle sides) have been sorted, an imaginary sweep line is moved downwards. When a line segment is reached, it is inserted in a tree of horizontally ordered active line segments (The currently active line segments are shown with thicker, unbroken lines.). Intersection tests are conducted each time a new line segment neighbour pair is created.  Chapter 5. Relevant primitive identification  137  a much tighter bound than the isobox. In addition to the path itself, the only required information is the cutter radius. With its O((N + n)log n) time complexity this method a good choice for use when there are a moderate total number of cutter paths within a pocket. When the number of paths n becomes larger, however, it is valuable to have alterna tive solutions which offer even lower algorithmic growth rates. To achieve this requires exploiting the properties of cutter path chains, and hence an examination of the common pocket cutter path generation strategies is warranted. 5.2.4  Pocket cutter path generation strategies  Removal of material from a 2 1/2 D pocket is usually performed in three stages (fig ure 5.15). In the first stage, a pass is made around the pocket a slight distance away from the intended finished surface. This permits subsequent passes to avoid internal corners where high cutting forces and chatter often occur. The second stage consists of the cutter paths which remove the bulk of material. Finally, the third stage generates the final pocket walls. Two strategies: (1) zigzagging and (2) spiralling are commonly chosen for the bulk material removal in stage two. The characteristics of these methods and are reviewed in the following two sections. Zigzagging Strategy The zigzagging strategy begins at one corner of the pocket and, using a sequence of reversing paths, advances toward the diagonally opposite corner. The horizontal spacing between adjacent cutter paths must be less than 2r to ensure overlap. Further limitations to avoid an uncut cusp at a corner are discussed with the spiralling strategy below. Using the zigzagging strategy, a complete set of cutter paths to mill the example pocket  Chapter 5. Relevant primitive identification  138  Figure 5.15: Pocketing material removal stages. The material removed by each stage is indicated by hatching. Three stages are common: 1. An initial pass is made a slight distance away from the intended finished surface. 2. The bulk of the material is removed. 3. The final pocket walls are generated.  Chapter 5. Relevant primitive identification  139  Too ipaths: Contour Dr ill  Pocket rUled Swept Neuolut ion proJect Misc.  3d too lpth End progrn Backup Main Menu  2  Color: 15 Level: 1. OFF Mask Cplane: T Guieu: T  Figure 5.16: Zigzag cutter path chain. Above is a screen image showing the complete set of cutter centreline paths to mill the example pocket from figure 5.15. The MASTERCAM commercial program was used to generate the paths.  from figure 5.15 is shown in figure 5.16. The  MASTERCAM’  commercially available  program was used to generate the paths. Previous relevant path centrelines must have at least one point in the band which extends  r 2  above and below the current path. By using techniques similar to the planar  sweep paradigm, these paths can be identified without searching the entire pocket. registered trademark of CNC Software, Inc., Tolland, CT, USA 1  Chapter 5. Relevant primitive identification  140  Too lpaths Contour Dr ill Pocket ru led Swept Revolution proJect Misc 3d too lpth End progrm Backup Main Menu Z Color 15 Level: 1 Mask: OFF Cplane: T  uieu:  T  Figure 5.17: Spiral cutter path chain. Above is a screen image showing the complete set of cutter centreline paths to mill the example pocket from figure 5.15. The MASTERCAM commercial program was used to generate the paths. Spiralling Strategy  Generating the cutter paths for the spiralling strategy starts by constructing offset seg ments beginning at the pocket boundary (figure 5.17). These segments are then chained to create the cutter path needed to remove the pocket material. Further details on spiralling algorithms have been published in the literature (see for example [91, 115]). The spacing between adjacent offset segments must ensure that no material remains as a cusp at the corners. For a corner angle of a, this is assured if the spacing is less than r[1 + sin(a/2)] (figure 5.18).  Chapter 5. Relevant primitive identification  /  /  /  141  / /  // r sin(cx/2)  /  r [1 +sin(cx/2)]  -f  Figure 5.18: Cusp avoidance. To prevent cusps of material being left at internal corners, the spacing between adjacent cutter paths must be less than r[1 + sin(a/2)]. If the cutter path traces the offset segments in sequence, only the paths comprising the offset adjacent to the current offset will be relevant. This is true regardless of the spacing and whether or not the swept volumes intersect, since the path nearest the current path will cut away any influence that a more distant path might have had on immersion interval calculations (figure 5.19). Discussion Ideally, a solid modeller based system should include cutter path generation and milling process simulation components as well as design capabilities. Specific communication  Chapter 5. Relevant primitive identification  142  intervening path irrelevant path  current path  Figure 5.19: Occluding cutter paths. Only the path nearest the current cutter path is relevant, since any intervening path would cut away or occlude the influence that a more distant path would have on immersion interval calculations. between the path planning and milling process simulation components would allow a quick assessment of the chosen cutter paths, and the possibility of adjusting the strategy to achieve a specific requirement. The previous two sections have outlined how the frequently used zigzagging and spi ralling pocketing strategies are used to plan cutter paths. When adherence to the strategy can be assured, relevant paths can be identified when the current path is generated— eliminating the need to perform this task separately. Often, however, this approach is not available, and hence other solutions are needed. If no islands are contained in the pocket, both the the zigzagging and spiralling strategies will cut from a single “land” when the bulk of material is being removed (figure 5.15, stage 2). This situation also occurs during the final pass stage or during contouring operations. In such cases the line and arc segments bounding the land can  Chapter 5. Relevant primitive identification  143  segment Q Qdescription  segment Q Qdescription  element 0  element 1  OIdescpton element i Figure 5.20: Doubly linked circular queue. Each element of the data structure contains a description of the boundary segment that it represents, and pointers to both its predeces sor and successor. The relevant segments for the current cutter path form a contiguous list, which advances along the queue for subsequent paths. be maintained with a doubly linked circular queue data structure (figure 5.20). The boundary segments within each path’s swept volume are marked as relevant, and the milling process simulation performed. New boundary segments caused by the current path are then added to the queue, and the previously relevant segments either deleted or adjusted to fit the new part boundary. For example, in figure 5.21(a), the relevant segments for the cutter path shown are 2, 3, 4 and 5. After the path has been simulated, segment 2 is adjusted to terminate at the new segment A, segments 3 and 4 are deleted, and new segments A, B and C are added to the queue. Segment 5 is then adjusted to begin at the new segment C. The relevant segments for the next path would then begin at segment B. More generally however islands may be present, or strict adherence to the zigzagging or spiralling strategies cannot be guaranteed. Therefore, in the next section relevant path  Chapter 5. Relevant primitive identification  144  7  1  0  (a)  1  0 (b) Figure 5.21: Boundary segment queue maintenance. (a) For the current cutter path, the relevant segments are 2, 3, 4 and 5. (b) After simulating the current path, segment 2 is adjusted to terminate at the new segment A. Segments 3 and 4 are deleted, and segments A, B and C are added to the queue. Segment 5 is then adjusted to begin at the new segment C. The relevant segments for the next path would then begin at segment B.  Chapter 5. Relevant primitive identification  145  identification algorithms are developed which operate in isolation of the path planner. The prominent characteristics of cutter path chains recognized above will be used to achieve the anticipated efficiency of the solution, but the algorithm will remain robust if the assumptions are violated. 5.2.5  Planar subdivision methods  Preamble Although an ideal goal is to provide relevant path identification within the path planner, there remain important reasons for providing this capability separately. Correct per formance of path planners is difficult to guarantee. The human part programmer may have incorrectly specified a parameter, or the algorithm may fail. Need for geometric verification of NC part programs has previously been recognized (see for example Sun gurtekin and Voelcker [116j). A logical extension is the physical verification provided by the milling process simulation system developed in this thesis. When errors are detected during the geometric verification process the correction might be made only to the NC program, and not be reflected up to the path planning stage. Changes made at the machine tool are frequently recorded only in this manner. Additionally, a firm may possess older, verified NC programs that were created manually, or generated using a no longer available path planner. Companies would resist discarding a geometrically verified, complex NC part program to use a new cutter path generation algorithm, but still desire the potential productivity improvements the milling process simulation system can provide. In such cases the cutter path generation algorithm cannot be combined with the milling process simulation system, and adherence to a specific path generation strategy  Chapter 5. Relevant primitive identification  146  cannot be guaranteed. Nonetheless the planned path will likely exhibit the same charac teristics as paths generated using either the zigzagging or spiralling strategies outlined in the previous section. The relevant cutter path identification algorithms developed in this section use these anticipated path planning strategy characteristics to achieve efficiency, but remain robust if these assumptions are violated. Throughout, the total number of cutter paths in the chain is denoted by n. The following cutter path chain characteristics are assumed: 1. Cutter paths intersect at most 0(n) times. Typically a crossing would be required only during the infrequent jumps to complete a different region of the pocket. 2. A line segment of specified length (e.g. 2r) intersects at most a constant number of (e.g. three) cutter paths (figure 5.22). A limit of three in a 2r length is justified by examining an interior corner (figure 5.18). As the corner angle c approaches zero there would be exactly four paths in the 2r length, with the two middle passes overlapping.  It is argued that a good cutter path generation algorithm would  shorten the overlapping paths back to the point where they diverge in order to adhere to the criterion. Equivalent situations arising elsewhere in the chain would be handled in a similar way. 3. All cutter paths exceed a minimum length (e.g. are at least r long).  During  milling of the bulk of the pocket material (figure 5.15, stage 2) this is a reasonable restriction. Substitution of other values for the example constants indicated above does not alter the asymptotic complexity of the algorithms developed herein (see appendix B). Since all of these assumptions are statements about the cutter path centrelines rather than the swept volume, it is appropriate to consider an intersection test which involves  Chapter 5. Relevant primitive identification  147  cutter path  Figure 5.22: Adjacent cutter path density. It is assumed that at most a constant number of (e.g. three) adjacent cutter paths are crossed by a line segment of specified length (e.g. 2r). A good path planner would avoid a high density.  Chapter 5. Relevant primitive identification  148  the centrelines and an approximate bound. The swept volume for a cutter path extends r away from its centreline in any direction (figure 5.23(a)). If the material removed by any initial drilling cut or preceding path in the chain is excluded, the swept volume of the current path is as shown in figure 5.23(b). Suppose this region is then surrounded by a boundary offset r away from it. For convenience in calculation, the region is closely approximated by a rectangle enclosing it. A candidate cutter path can be relevant if and only if a portion of its centreline enters this rectangle. For example, in figure 5.23(c) path 4 is current, and 1 and 3 are relevant. Path 2 is outside of the region and is therefore irrelevant. Paths 5 and 6 are not considered as they have yet to be cut. The relevant cutter path identification question can now be posed as follows: Given a chain of n cutter paths, report the previously completed paths which interfere with the bounding rectangle for the current path. Based on the above three assumptions and approximating rectangle bound it is proposed that planar subdivision methods be used to efficiently accomplish this task. A planar subdivision represents the plane as a set of disjoint regions which are con nected by a graph data structure. For the relevant cutter path identification problem the idea is to determine the region in which the current cutter path is located, and then move outwards until a specified visibility or distance criterion can no longer be satisfied. All cutter paths encountered during the search are identified as relevant. This strategy permits the relevant cutter paths to be identified without repeatedly examining the entire population. First, a horizontal visibility solution will be studied in detail, followed by a section describing a generalized Voronoi diagram solution.  Chapter 5. Relevant primitive identification  149  (c) Figure 5.23: Path centreline based bounds. (a) The swept volume for any candidate cutter path extends r away from its centreline. (b) Excluding any material removed by initial drilling cuts or the preceding path in the chain the swept volume for the current path is as shown. (c) The region in (b) is offset by a distance r, and approximated by a rectangle. Any candidate path centreline must now be partially within the rectangle to be relevant. In the example, path 4 is the current path. Paths 1 and 3 are relevant, and path 2 is not. Paths 5 and 6 have yet to be cut.  Chapter 5. Relevant primitive identification  —00  H-  150  H  +00  I-———— __1 -l  F  L  Figure 5.24: Horizontal visibility partition. The horizontal visibility partition divides the plane into disjoint regions bounded to the left and right by the cutter paths, and above and below by horizontal links between adjacent paths. An additional vertical pair of “paths” is added at left infinity —oo and right infinity +oo to enclose the overall region of interest. Horizontal visibility solution Overview  A horizontal visibility partition (HVP) of the plane divides it into disjoint  trapezoidal (and some triangular) regions (figure 5.24). For the problem under consid eration these regions are bounded to the left and right by the cutter paths, and above and below by horizontal links joining the adjacent paths. An additional pair of vertical “paths” is added at left and right infinity to enclose the overall region of interest.  Chapter 5. Relevant primitive identification  2  151  4  Figure 5.25: Vertex types. The vertices are shown by a .. A type 1 vertex is vertically between the two path segments that it joins. Similarly type 2 and type 3 vertices are respectively above and below the path segments that they join. The fourth type of vertex represents path intersection, which is assumed to occur infrequently (at most 0(n) times). It is recognized during the sweep portion of the algorithm. Building the data structure  Adjacency information for the subdivision is created  using the sweep paradigm based method described by Fournier and Montuno [36]. Their approach uses simple data structures and operates in 0(n log n) time. Chazelle [24] has recently contributed a linear time algorithm which solves this problem for the case of a simple (non-intersecting) chain. The algorithm begins by classifying the vertices as type 1, 2, or 3 (figure 5.25). A type 1 vertex lies vertically between the two path segments that it joins. Similarly, type 2 vertices lie above their path segments, and type 3 vertices lie below their path segments. The fourth case represents intersection of path segments, and is not discovered until later in the algorithm. Vertices are then sorted in decreasing order by y coordinates. If the y coordinates are equal, the vertex with the smaller x coordinate is placed earlier. By consistently using this ordering test throughout the algorithm horizontal paths require no special treatment. The 0(nlogn) time heapsort algorithm is used to perform the sort. The actual horizontal visibility partitioning step, including building of the adjacency  Chapter 5. Relevant primitive identification  152  data structures, is then performed. Initially storing oniy the left and right infinity sides, a 2-3 tree S storing the path segments sorted in horizontal order is updated as each vertex is encountered by the sweep line. This data structure is required to support horizontal location of a new path in 0(log n) time. Depending on the vertex type, the following tree maintenance operations are performed: type 1 The upper path segment is deleted from S and the lower path segment is inserted. type 2 The two new path segments are inserted into S in horizontal order. type 3 Two ending path segments are deleted from S. type 4 The horizontal order of the intersecting path segments is reversed in S.  The open starting and ending segments of the chain are treated as special cases of type 2/3 vertices in which only one path segment is inserted/deleted. After each vertex is processed any new neighbour pairs are checked for intersection. Since any intersecting segments must be adjacent immediately before they cross, this test is sufficient. If an intersection is found it is entered as a new type 4 pseudo-vertex and will be processed correctly when it is later encountered. It is an assumed characteristic of the cutter path chain that intersections occur infrequently (at most 0(n) times) and hence this work will not increase the asymptotic complexity of the algorithm. The procedures to maintain S are illustrated in figure 5.26, which shows the example geometry and sweep line location, and table 5.1, which shows the entries in S before and after each vertex is encountered. The actual adjacency data structure is a directed graph identifying the immediate left and right neighbours. For each segment a left and a right doubly linked list, sorted by y coordinates, is built which stores pointers to the neighbouring paths. Pointers to the head and tail of the each list, and its most recently accessed element, are separately  Chapter 5. Relevant primitive identification  153  _OOl  1+00  jO  1  0 ‘d sweep line e H————  Figure 5.26: HVP tree maintenance. As the horizontal sweep line encounters each vertex, the 2-3 tree S of line segments must be updated. The illustration above shows the example geometry and sweep line locations which are referred to in table 5.1 (The sweep line is shown at location e.).  Chapter 5. Relevant primitive identification  ieep line location  vertex type  before  154  stored path segments  after  —cc,  a  2  b  1  C  2  d  4  e  1  f  3  g  3  +00  —cc, 0, 1,  +00  —cc, 0, 2, +cc  —cc, 0, 4, 2, +cc —cc, 0, 2, 4,  +00  —cc, 0, 2, 3, +cc —cc, 2, 3, +cc —cc,  +00  Table 5.1: HVP tree maintenance. The table above shows the entries in the 2-3 tree S containing the cutter path centreline segments sorted in horizontal order. For example, just prior to the sweep line reaching location e (a type 1 vertex) the stored segments, in horizontal order, would be —cc, 0, 2, 4 and +oc. Following location e the stored segments would be —cc, 0, 2, 3 and +co. Refer to figure 5.26 for definitions of the paths and the sweep line locations.  Chapter 5. Relevant primitive identification  155  maintained. Additional pointers create a combined list which is the union of the left and right lists (again sorted by y coordinate). Construction of the adjacency structure is si multaneously performed with path segment tree maintenance as the sweep line advances. This procedure, for each vertex type, is described below: type 1 First the left and right neighbours P 1 and Pr of the ending path are identified.  The new path Pa is then marked as the next right neighbour of P 1 and the next left neighbour of Pr. Also, paths P 1 and P are stored respectively as the first left and right neighbours of Pa. type 2 After the insertion location has been found it is assumed that the left neighbour  is P 1 and the right neighbour is Pr. In horizontal order, paths Pa and Pb are to be inserted. First, Pa is marked as the next right neighbour of P 1 and Pb is marked as the next left neighbour of P. Then P 1 is marked as the first left neighbour of a and Pr is marked as the first right neighbour of Pb. Finally, Pb is marked as the 1  first right neighbour of Pa and Pa is marked as the first left neighbour of Pb. type 3 It is assumed that, in horizontal order, paths Pa and Pb are to be deleted. Fur  thermore, P 1 is the left neighbour of Pa and P,. is the right neighbour of Pb. The new adjacency relationship is established by marking Pr as the next right neighbour of Pi and P 1 as the next left neighbour of P. type 4 It is assumed that above the intersection point the two intersecting paths appear  in the order Pa followed by Pb. Path P 1 is the left neighbour of Pa and Pr is the right neighbour of Pb. To record the new adjacency relationship, mark Pa as the next right neighbour of Pb and Pb as the next left neighbour of Pa. Also mark Pb as the next right neighbour of P 1 and Pa and the next left neighbour of Pr. Finally, mark 1 P as the next left neighbour of Pb and F,. as the next right neighbour of Pa.  Chapter 5. Relevant primitive identification  156  For endpoint type 2 or 3 vertices the obvious simplifications are made. To illustrate, when the sweep line passes through e (a type 1 vertex) (figure 5.26), path 4 is replaced by path 3. This is recorded by marking path 3 as the next right neighbour of 2 and the next left neighbour of +. Paths 2 and  +00  are also marked  as respectively the first left and right neighbours of path 3. The overall adjacency data structure corresponding to figure 5.26 is shown in figure 5.27. Using suitable pointers the adjacency lists can be maintained in constant time per insertion/deletion. The time complexity of the overall procedure is therefore determined by the cost of maintaining the data structure of horizontally sorted path segments. Using the balanced 2-3 tree suggested, this is O(nlogri). Note that the data structure could have been built by adding cutter paths incremen tally, but this can lead to a quadratic growth rate. Figure 5.28 shows an example where each of n/2 insertions requires processing n/2 horizontal adjacency relationships, leading to Q(n ) time complexity. 2 Relevant path identification  After the adjacency data structure has been built the  relevant paths are identified. Treating in sequence each cutter path in the chain as cur rent, relevant paths are defined as paths which precede the current path, are within the approximate rectangle bound described in figure 5.23(c)), and are not occluded (fig ure 5.19). A description of the identification procedure follows. The algorithm time complexity proofs are provided in section B.3. First, starting at the tail of the current path, preceding paths are followed until the rectangle bound is intersected. Each of these paths is recorded as relevant, and the path which intersects the rectangle is denoted P. If the beginning of the path chain is reached before the rectangle is intersected, the procedure is complete (figure 5.29(a)). Otherwise, the left P 1 and right Pr neighbours of P are found by advancing down the portion of its  Chapter 5. Relevant primitive identification  —c  157  +00  a b  d  e  g  Figure 5.27: Adjacency data structure. The path adjacency information is stored using directed graphs which indicate the immediate left and right neigbours. Doubly linked lists, sorted by y coordinate, are used to locate the current neighbour link to use. The example shown above corresponds to the geometry shown in figure 5.26.  Chapter 5. Relevant primitive identification  158  _0oI  ———--1  I-  +00  EEEE  --  ——  Figure 5.28: Incremental adjacency data structure construction. The illustration shows the data structure after adding path 12. If the horizontal adjacency data structure were constructed incrementally for the example above, insertion of each of paths 9 through 15 would require processing each of the eight the adjacency relationships caused by the vertices of paths 0 through 7. This has a n/2 n/2 or quadratic time complexity. .  Chapter 5. Relevant primitive identification  159  combined adjacency list that is within the rectangle (figure 5.29(b)). The identification procedure then continues by walking along the rectangle in a coun terclockwise direction. If the direction is downwards (figure 5.30(a)), then P and P are respectively the left and right path of the active trapezoid (The trapezoid through which rectangle side currently passes). If the boundary direction is upwards (figure 5.30(b)), then P 1 and P are the left and right paths. The rectangle side is followed until (i) the left path is crossed, (ii) the right path is crossed, or (iii) the top (or bottom) of the active trapezoid is crossed. In cases (i) or (ii), if the path crossed precedes the current path (indicating the path crossed has been cut) the intersected path is denoted by P, and the path chain is traced inside of the rectangle until a side is again intersected (at the next path Ps). Each path in this portion of the chain is recorded as relevant. At the second intersection point the new P, P and Pr are defined (by advancing along the portion of the path adjacency lists that are within the rectangle) and tracing continues (figure 5.31(a)). In the example paths 0 and 1, although within the rectangle region, are obscured and are never recorded as relevant. This is an additional benefit of the approach. If the beginning of the path chain is encountered before reaching a second side inter section point (figure 5.31(b)) then all paths from P, to the chain beginning are recorded as relevant. Tracing then continues along the side starting at P but, for case (i), P is replaced by P 1 is replaced by its left neighbour. For case (ii) P 1 and P 1 is replaced by P,. and F,. is replaced by its right neighbour. These adjustments are required to correct for the new active trapezoid which has been entered. If the path crossed follows the current path, indicating that the path has yet to be cut (figure 5.32), then tracing again continues along the rectangle side starting at P. For case (i) F,. is replaced by P 1 and P 1 is replaced by its left neighbour. For case (ii) P 1 is replaced by F,. and P,. is replaced by its right neighbour.  Chapter 5. Relevant primitive identification  160  (a)  PI=1  (b) Figure 5.29: Rectangle—tail chain intersection. The segments traced are shown with thicker lines. (a) Path 3 is the current path. Tracing the chain from the tail of path 3, paths 2, 1 and 0 are recorded as relevant. The procedure then terminates. (b) Path 2 in the tail chain intersects the approximating rectangle, and is recorded as relevant. For this example the path P, is 2, the left neighbour P 1 is 1 and the right neighbour F,. is 3.  Chapter 5. Relevant primitive identification  161  Pr  (b) Figure 5.30: Active trapezoid left/right paths. The interior of the approximating rect angle is shown by hatching near the sides, and an arrow indicates the tracing direction. (a) The tracing direction is downwards. The left and right paths are respectively P, and Fr. (b) The tracing direction is upwards. The left and right paths are respectively F 1 and P.  Chapter 5. Relevant primitive identification  162  (a)  2  (b) Figure 5.31: Interior path tracing. The segments traced are shown with thicker lines. (a) Tracing along the rectangle, path P = 4 is encountered. The paths are then followed inside the rectangle until a side is again reached at path P = 2. Paths 0 and 1, although within the rectangle region, are fully obscured, and are never recorded as relevant. (b) After the path P, = 1 is encountered, the paths inside the rectangle are recorded as relevant and followed until the beginning of the chain is found. After the left and right paths for the active trapezoid are updated, tracing then continues along the rectangle side from the point where the intersection with P occurred.  Chapter 5. Relevant primitive identification  163  3  Figure 5.32: Subsequent path crossings. The segments traced are shown with thicker lines. If a path following the current path is encountered, tracing continues in the new active trapezoid on the other side of the intersection point. When either the top or bottom of the active trapezoid has been reached (case 3), then its left or right path must have ended at a vertex. If the left side P 1 has ended then it is replaced by the next left neighbour of Pr (figure 5.33(a)). If the right side Pr has ended then it is replaced by the next right neighbour of P 1 (figure 5.33(b)). If the end of a rectangle side has been reached, then processing merely continues along the next (counterclockwise) side, with the up/down direction changed if necessary. The doubly linked lists used to store the neighbour pointers facilitate this change. The procedure terminates when the trace returns to the point on the rectangle where the first intersection (with the chain from the current path tail) occurred. Detailed traversal procedure time complexity proofs are deferred to section B.3. The main highlights are summarized here. The work required to identify the paths relevant to any current path can be divided into three components: 1. tracing along cutter paths inside the approximating rectangle until one of the four rectangle sides is reached  Chapter 5. Relevant primitive identification  164  (b) Figure 5.33: Top/bottom crossings. The segments traced to the crossing are shown with thicker lines. (a) On the left path 3 ends. The right path is 1, and its next left path is 2. (b) On the right path 0 ends. The left path is 3, and its next right path is 1.  Chapter 5. Relevant primitive identification  165  2. processing an intersection between an approximating rectangle side and a cutter path 3. processing an intersection between an approximating rectangle side and a horizontal visibility link The adjacency data structure provides sufficient information to process any single inter section in component 2 or 3 in constant time. Lemma B.3 establishes that the total number of component 2 intersections is 0(n). Without further enhancements, however, the number of component 3 intersections can reach 2 0(n ) . For example, consider figure 5.34(a). With this geometry the approximating rectangle for each cutter path i intersects (i) horizontal links caused by preceding paths. Repeated over all n paths the result is Q(n ) total intersections. 2 This situation can be prevented by inserting additional vertical blocks which extend from each cutter path vertex to the lowest/highest extent of the approximating rectangle. In effect, the blocks stop any horizontal link from being intersected by more than a constant number of rectangles. Although at first it may appear that this approach only shifts the problem to another location, theorem B.1 and lemma B.4 establish that this will achieve 0(n) time complexity for the traversal portion of the HVP relevant path identification solution. It is also shown in section B.3 that this enhancement does not increase the asymptotic time complexity of the adjacency data structure building procedure. Since blocks have a finite length (less than or equal to 2\/r) at most a constant number of intersections between a block and existing cutter paths will occur. Over all n blocks this adheres to the assumption of 0(n) path intersections.  Since the 0(n log n) sweep paradigm  based adjacency data structure building procedure can handle intersections, no additional difficulties arise if it is used.  Chapter 5. Relevant primitive identification  166  However, when it can be assumed that the unmodified cutter path is simple (does not self-intersect), a more indirect approach which does not create block—cutter path intersections should be used to insert the blocks. Details are given in section B.3. This allows the linear time adjacency data structure building algorithm developed by Chazelle [24] to be used (Chazelle also describes in [24] an 0(n) procedure for verifying the validity of the adjacency data structure constructed, which would be violated if the chain selfintersected. Robustness is therefore not sacrificed by this approach. The problem of building a HVP adjacency data structure containing unknown intersections in 0(n) time remains unsolved.). Combined with the linear time relevant path traversal algorithm developed herein, this proves the 0(n) intrinsic complexity of identifying the relevant cutter paths in a simple chain. Finally, to prevent numerical problems caused by the approximating rectangle side overlapping a path, the rectangle was slightly enlarged by randomly locating its vertices in 0.1r squares at each corner of the initial bound (figure 5.35). With this change the probability of overlap is zero. Aprogram to demonstrate the relevant cutter path identification traversal procedure has been implemented on a graphics monitor equipped microcomputer (see [110, ap pendix D, program trpz]). An example screen image showing the program in operation is shown in figure 5.36. The 0(n log n) sweep paradigm approach described in this section was used to build the adjacency data structure. Voronoi diagram solution An alternative planar subdivision solution is the generalized Voronoi diagram. A Voronoi diagram partitions the plane into regions which contain all points nearer to the enclosed object than to any other object. A region boundary is the locus of points which are equally distant from the two objects it separates. The basic version deals with isolated  Chapter 5. Relevant primitive identification  —  167  -  (a)  I——L  -———-  -  -  (b) Figure 5.34: Vertical blocks. The • highlights the intersections between the horizo ntal visibility links and the traced approximating rectangle bound for path 8. (a) Certain geometries can result in horizontal links being repeatedly intersected by many approxi mating rectangles. (b) To prevent this, vertical blocks (shown with thicker lines) were added to the adjacency data structure. Although at first it may appear that this only shifts the problem to a new location, in section B.3 it is shown that this solutio n does achieve 0(n) intersections between horizontal links and approximating rectangles without increasing the adjacency data structure building algorithm time complexity.  Chapter 5. Relevant primitive identification  168  0 O.1r Figure 5.35: Approximating rectangle randomization. To prevent numerical difficulties caused by sides overlapping cutter paths, the approximating rectangle vertices are ran— doming located within the O.1r squares at each corner of the initial bound. The thicker lines show the approximating shape actually used. points as objects (see Mehlhorn [77, chapter VIII, section 3.1]). Generalized Voronoi diagrams support objects such as line segments, arcs, etc. For this application the cutter paths are chosen as the objects, in which case the boundaries will be straight line segments and conic sections (i.e. a parabola, hyperbola or ellipse). A generalized Voronoi diagram can be constructed in O(nlogri) time (see for example Fortune [35] or Yap [146]). If a non-simple path is to be supported then the intersections would be pre-identified by the O(nlogn) sweep paradigm based algorithm described in section 5.2.3. Each Voronoi region, which may be bounded by 0(n) boundary segments, is then divided into subregions by adding straight line “spokes” from the Voronoi boundary to the nearest point on the enclosed path. Overall, this yields in total O(n) regions bounded by at most four sides (the Voronoi boundary segment, two spokes, and possibly a portion of the enclosed path). An example of a portion of a generalized Voronoi diagram is shown  Chapter 5. Relevant primitive identification  relevant  —  preceding  169  —  following  X)it  p the path with tail nea’est the selected point will be chosen click left button to select point Cright to ahoyt) xeiove (C)olanea vei’tices, construct (T)rapezoiJzzation select last (P)ath, e( )Oit t)  -  Figure 5.36: HVP traversal example. The horizontal visibility partition traversal pro cedure developed in this section has been implemented on a graphics monitor equipped microcomputer (see [110, appendix D, program trpz]). A screen image of the program in operation, which includes a legend identifying the cutter paths relevant to, preceding and following the current path, is shown above. Vertical blocks are not shown in this partial implementation.  Chapter 5. Relevant primitive identification  straight  \  170  /  /  I  \Voronoi region  -  - -\  -  L :\: : -: :  paraboc spoke\  *  *  -  ç cutter path Figure 5.37: A generalized Voronoi diagram. For cutter path objects, the generalized Voronoi diagram boundaries are straight line segment or conic sections which partition the plane into regions containing all points nearest to the enclosed cutter path. “Spokes” are added to create subregions bounded by at most four sides. in figure 5.37. Identifying the relevant cutter paths for a generalized Voronoi diagram proceeds in a manner similar to that used in the HVP solution. First, the cutter path chain is traced from the current path tail until the approximating rectangle is intersected. All of these paths are marked as relevant. The rectangle sides are then followed from this intersection point. When the cutter path associated with the current Voronoi region is intersected by the rectangle, the path chain is traced inside the approximating rectangle just as in the HVP solution. It is shown in section B.4 that the time complexity for traversing the Voronoi diagram  Chapter 5. Relevant primitive identification  171  for the n approximating rectangles is 0(n). Since 0(n log m) time is required to initially build the Voronoi diagram the overall solution is also 0(nlogn). Note that the difficulty of intersecting (n ) Voronoi boundary segments or spokes 2 does not arise. This is due to the properties of the Voronoi diagram. Each point on the Voronoi boundary can be associated with the Euclidean distance between the objects it separates. On the other hand the horizontal visibility links represent only a horizontal relationship—regardless of distance. The vertical blocks are therefore required to prevent problems in the approximating rectangle area above and below the associated cutter path.  5.3  Cutter path segmentation  5.3.1  Overview  In the previous two sections of this chapter methods for identifying the CSG primitives relevant to cutter immersion interval calculations were presented. Section 5.1 discussed structuring the CSG representation into subtree groups to reduce the need to examine each primitive individually during relevance testing. Section 5.2 presented computational geometry based approaches for efficiently determining the relevant paths in a chain. This section further refines the region of relevance for a primitive by recording the segments of the cutter path over which it is and is not redundant. When it is discovered that a single primitive boundary influences the part geometry over a cutter path segment, analytic formulae are used to express the cutter immersion interval endpoints without resorting to incremental sampling along the path. This permits an especially rapid milling process simulation method to be used in section 6.3.2.  Chapter 5. Relevant primitive identification  5.3.2  172  Primitive redundancy portions  After the relevant cutter paths have been nominated by the methods of section 5.2 their associated swept volume primitives are constructed. Along with any others surviving the elimination methods of section 5.1, these primitives form the part surface at which the cutter immersion angles must be computed to carry out the milling process simulation. Using the methods of section 4.2, the critical points along the path at which the cutter first contacts, finally contacts, or becomes fully engaged with each primitive are found. The collection of all of these critical points divides the current cutter path into a number of segments within which a primitive may be redundant. The method is equally applicable to both end milling and face milling. If the cutter is entirely outside of the primitive, then the primitive is A redundant. If the cutter is entirely inside of the primitive, then the primitive is  redundant. This is  illustrated in figure 5.38. Within each segment of the current cutter path, the redundant primitives are replaced by A or  in the CSG tree and it is simplified according by  applying the rules in table 2.1. This final procedure reduces the CSG data structure size down to the minimum required to correctly determine the cutter immersion intervals. 5.3.3  Analytic interval endpoint expressions  Very frequently, particulary in end milling, it is discovered that very few non-redundant primitives remain in the CSG tree for a cutter path segment. When this situation is recognized, time consuming incremental sampling along the path to determine the cutter immersion intervals can be avoided by the use of analytic expressions. To utilize the analytic expressions it first must be confirmed that peripheral milling is occurring. That is, the single cutter immersion interval must be either [0, çbex) (up milling) or [q, 7r) (down milling). This is checked by evaluating the boundary of the  Chapter 5. Relevant primitive identification  173  Figure 5.38: Primitive redundancy segments. Assume that the three preceding cutter paths were identified as relevant. Of their corresponding primitives, A, B and G are always A redundant, and may be removed from the CSG tree during simulation over the entire current path. The remaining four primitives are A redundant during the segments shown with the thicker lines. The geometry for primitive D is shown in outline for additional emphasis. The method is equally applicable to situations with redundancies, or to face milling.  Chapter 5. Relevant primitive identification  174  solid represented by the relevant primitives remaining in the path segment and discarding any unneeded portions. The generate and test paradigm [9, 99] is the simplest procedure for accomplishing this, and proceeds as follows: 1. Generate the boundary of each remaining relevant primitive. 2. Find all intersections of boundaries, and then break the boundaries into portions which terminate at the intersection points. 3. Test each portion of the boundary, and classify it as in, on or out relative to the solid. 4. Retain only portions that are classified as on the solid. An example appears in figure 5.39, which shows the remaining relevant primitives in segment [x ,x 1 ) from figure 5.38. If the solid represented is —*((BU*C)U*D), then the 3 single cutter immersion interval is [q, 7r) (down milling). While the cutter centre is in the segment [x ,x 1 ) the interval endpoint q is determined by the boundary of primitive C. 2 In the segment [x ,x 2 ) the side from primitive B determines q. These boundary portions 3 are shown with thicker lines in the figure. When carrying out milling process simulations and peripheral milling is not occurring improvements over incremental sampling along the cutter path are not readily implemented. Since peripheral milling is a common special case, particularly in contouring and in pocketing operations, it is worthwhile to recognize its occurrence and exploit its simple geometry to avoid incremental sampling during milling process simulation. This idea is developed in detail in section 6.3.2. For future reference, analytic expressions qSt(xc) and qex(xc) for the immersion interval endpoints as a function of the position xc along the cutter path are derived herein for the rectangle (2 1/2 D block) and circle (2 1/2 D cylinder) primitives.  Chapter 5. Relevant primitive identification  1 x x 2  175  3 x  Figure 5.39: Boundary evaluation. When very few primitives remain relevant in a path segment, evaluation of the solid boundary may identify a single cutter immersion interval. The example above is continued from figure 5.38. The in cut immersion intervals are shown with thick lines, and the out of cut intervals are shown in broken lines. In the path segment [afl, a ) only primitives B, C and D remain relevant. After evaluating the 3 boundary of the solid formed by the expression *((B U *C) U *D) it is recognized that down milling over the interval [q , 7r) is taking place. In segment [x 3 ,x 1 ) primitive 2 C determines the interval endpoint q ,x 2 , and in segment [x 5 ) primitive B determines 3 the interval. The portions of the solid boundary formed by these primitives are shown with thicker lines. —  Chapter 5. Relevant primitive identification  176  Rectangle expressions As in section 4.2.1 separate expressions for a rectangle side being perpendicular, parallel or at an intermediate angle to the cutter path are used. If the side is perpendicular to the cutter path, then (4.7) (repeated below) =  +arccos  (XK1 \.  —  XC  r  is used. Converting to the usual immersion angle notation the expression bA(xc), qB(xc) is obtained. In (5.1)  XK1  =  r/2 + arccos  /XK1  —  XC’\  (5.1)  r  is the constant x coordinate of all points on the perpendicular  side and r is the constant cutter radius. The expression for the immersion interval endpoint angles is therefore a function of only the cutter centre location  XC,  and is  monotonic for each of the two branches. If the side is parallel to the cutter path then equation (4.8) is used. Again, converting to the usual immersion angle notation the expression =  is obtained. In (5.2)  YK1  7r/2  —  arcsin  (-)  (5.2)  is the constant y coordinate of the rectangle side. Since the  cutter radius r also is constant, the immersion interval endpoint angle cb does not change over the path segment under consideration. This situation frequently arises in pocketing operations when adjacent cutter paths are parallel. Under these circumstances the forces, torques and defiections also will be constant, and hence incremental sampling along the cutter path is unnecessary. This is discussed further in section 6.3.2. When the rectangle side is at an intermediate angle to the cutter path equations (4.9) and (4.10) are used. Combining the equations and expressing the result in the usual  Chapter 5. Relevant primitive identification  177  immersion angle notation the interval endpoints are =  ((XL _xc)cosOL)]  /2— [8L+arccos  (53)  As in the perpendicular side case, each of the two branches is a monotonic function of the cutter centre location xc. For convenient reference figure 4.10 is repeated on page 178 to illustrate these immersion interval endpoint angle formulae. Circle expression Again from chapter 4, the immersion interval endpoint angles are calculated using (4.15) and (4.16). In the circle case the angle 8 L (XC)  eL  =  varies according to the formula ((4.15) repeated)  arctan / \XF  The circle centre  F(XF,YF)  YF  ‘\  (5.4)  1  —  is fixed and hence (5.4) is a function of the cutter centre  XC.  To use (4.16) an expression for the length CTI as a function of xc is required. This is derived as follows: The length GF is easily calculated as  TFj  =  1CF  —  ((XF  —  2 xC)  + y)” 2 and  CTI. In the right triangles —  2 CT  =  =  —  and hence  2 1CF1  —  -iCT 2 jTF  =  (CFj— — 2 ICTj CTj)  =  2CFIGTI + ICTI 2  —  2 OTt  =  r  —  or  CTI  2 OFt  +r-  (5.5)  Chapter 5. Relevant primitive identification  178  0 YK1  7-’-  (b)  (a) K1  (c)  2 K  Figure 5.40: Rectangle—cutter intersection angles. This is a repetition of figure 4.10. (a) perpendicular side. (b) parallel side. (c) intermediate angle.  Chapter 5. Relevant primitive identification  179  \  C  Figure 5.41: Circle—cutter intersection angles. Figure 4.14 is repeated here for conve nience. The immersion interval endpoint angle expressions are monotonic on each side of the cutter centre point (XQ, 0), where the cutter intersects the circle at its quadrant. The complete expression for the immersion angle endpoints is therefore )A(XC), cbB(XC)  =  =  =  7r/2  —  —  —  (OL  +  8 T )  [arctan  (  YF  arctan  )  ± arccos arccos  XF—XC  (IcTI)] (cF + r r 2 2CFr j —  (5.6)  By referring to figure 5.41 (figure 4.14 repeated), it is apparent that these functions will be monotonic on each side of the cutter centre point (xQ, 0), where the cutter intersects the circle at its quadrant.  Chapter 5. Relevant primitive identification  5.4  180  Summary  This chapter has examined a number of techniques for identifying relevant primitives during milling process simulation. A relevant primitive was defined as a primitive in the CSG part description which influences the cutter immersion interval endpoint angles within the path segment currently being simulated. In section 5.1 methods for identifying redundant primitives which should be removed from the CSG tree were discussed. First, approximate bounds such as iso-oriented boxes were used to simplify the primitive interference calculations. The sweep paradigm to gether with the interval and segment tree was presented as a method to be used with a large, unrelated population. By comparison, the S-bounds and active zone methods utilize the hierarchy of the CSG data structure to reduce the computational effort when the part has been described as a collection of feature subtrees. Next, in section 5.2, methods of identifying relevant primitives and cutter paths in a chain were considered. This differed from section 5.1 in that there the primitives to retain were identified, as opposed to the primitives to eliminate. It was observed that over a total of n paths the straightforward technique of checking all paths previous to the current cutter path had an undesireable quadratic time growth rate, and hence more efficient methods should be sought. The first alternative considered was the sweep paradigm used with isoboxes and the interval tree to obtain an O(N+nlogn) solution. This method, while sound in principle, was noted to be unsuitable in practice due to the likely excessive number of false path rel evance reports. Instead, it was shown that by bounding the paths by rectangles oriented with the path direction a much tighter approximating bound would be achieved. Because all rectangles had equal widths, the sweep paradigm for finding line segment intersections could be used to report all relevant paths with O((N + n) log n) time complexity.  Chapter 5. Relevant primitive identification  181  Under special circumstances, such as when pocketing without islands and during contouring, the problem of determining the immersion interval endpoint angles has a one dimensional nature. In these situations maintenance of a simple linked list of the part boundary segments is sufficient. The anticipated characteristics of a path chain generated to cut a pocket were then reviewed and used to develop efficient relevant path identification algorithms based on planar subdivision methods. The horizontal visibility partition method was presented as an method which, by choosing the optimal adjacency data structure creation algorithm and assuming a simple cutter path chain, can achieve 0(n) time complexity. Proof of this linear intrinsic complexity is a valuable research result. The generalized Voronoi diagram was presented as an 0(n log n) time complexity solution which is conceptually simpler than the HVP method. Algorithm complexity details for both the horizontal visibility partition method and generalized Voronoi diagrams were deferred to appendix B. Finally, in section 5.3, the cutter path was segmented into disjoint portions over which an unchanging set of CSG primitives remain relevant. It was demonstrated that in periph eral milling, where a single immersion interval endpoint angle varies, analytic expressions may be used to avoid incremental sampling during the milling process simulation. This idea is developed further in section 6.3.  Chapter 6  Milling process model implementation  In chapter 3 the fundamental mathematics required for milling process simulation was outlined. In particular, note was made of the strong geometric nature of the process model equations. Chapter 4 developed a method of determining the in cut immersion interval endpoint angles based on the CSG representation scheme. In chapter 5 it was observed that most of the primitives in a part description do not participate in the immersion interval calculations along an individual cutter path. Strategies for identifying relevant primitives and eliminating the redundant ones were therefore proposed in an effort to improve computational efficiency. This chapter combines the information from these three previous chapters and imple ments the milling process models for 2 1/2 D parts described using a CSG solid modeller. Particular emphasis is given to exploiting the available geometric information, and to pro viding both a simulation capability under fixed machining conditions and the ability to schedule the feed rate to adhere to imposed constraints. In section 6.1 milling force and torque expressions are provided using both the aver age chip thickness (ACT) and linear edge force (LEF) models introduced in chapter 3. Included is a description of how, using solid modeller information, the models can be continuously calibrated during cutting. In section 6.2 expressions for the instantaneous cutting forces with a helical cutter are developed. It is shown that as the cutter rotates the flutes will be bounded by the part face in five distinct ways. By summing the contributions of all in cut flute sections, 182  Chapter 6. Milling process model implementation  183  analytic expressions for the cutting forces are obtained. Calculus and numerical analysis techniques are then used to obtain the extreme values of the forces over a rotation period without sampling at small angular increments. The condensed expressions are also used to directly solve the cantilever beam equation for the prediction of surface location error. Section 6.3 recasts the milling process simulation equations for use in scheduling a feed rate to adhere to constraints. The necessary curve fitting techniques are outlined, including consideration of the machine tool table drive servomechanism dynamics. To avoid incremental sampling along the cutter path, the analytic immersion interval end point angle expressions developed for peripheral milling in section 5.3.3 are used to create a piecewise linear approximation of the target feed rate schedule. The chapter is briefly summarized in section 6.4.  6.1  Zero helix expressions  Cutters with a zero helix angle are widely used in face milling operations. In this situation the material removal rate (MRR) limiting constraints are usually the maximum and average torque and power—hence the capability to simulate these quantities is needed. Furthermore, expressions for the average feed and normal forces are required to calibrate the process models. In this section equations based on both the average chip thickness and linear edge force models introduced in chapter 3 are tailored for use with the immersion geometry information available from the solid modeller. 6.1.1  Average chip thickness model  The average chip thickness model separates the cutting forces at each tooth  j into tan  gential FT, (q) components (figure 6.1). Modifying equations (3.3) for 3 (b) and radial FR, 3  Chapter 6. Milling process model implementation  184  use with a zero helix angle, the model is expressed as aKTh(4))  FT,(4))  (6 1)  KRFT,(4))  =  where a is the axial depth of cut. The uncut chip thickness h is defined as =  where q  =  .stsin4)  4) + jcb and q is the angular spacing between successive cutter teeth.  The instantaneous torque expression, summed over all teeth in cut, is therefore T(4))  Fr,j(q)  =  The term for an individual tooth [4)k, 4’k+)  sin(4) + jq)  rsaKT  =  (6.2)  j is included in the summation only during intervals  where it is actually engaged in the part. The endpoint angles of these intervals  are found by equating the angular position of each tooth q j with the immersion interval 5 endpoint angles  (figure 6.2). The torque expression (6.2) is therefore com  prised of a set of functions—each of which is applicable over one of the rotation intervals [bk,  4)k+1).  For the example in figure 6.2 there are five rotation intervals, and hence the  instantaneous torque is given by >j=1,3  sin(qS +  j4));  sin(4) + jqS); T(4))  = rCSaKT  >Z=o,i sin(4) + j4)); j=O,1,2  sin(4) + i&);  2 sin(4) + jqS); , 0 Z=  4)e[O,  4))  4)e[4)i,  4)2)  , 2 4)e[qS  4))  (6.3)  , 4)) 3 4)e[4) 4)[4), 4))  Note that the period of the function is qS. To find the maximum instantaneous torque over a tooth period (6.3) is first evaluated at each interval endpoint 4)k and the maximum value retained. Next, the local maxima  Chapter 6. Milling process model implementation  185  yr  x  Figure 6.1: Process model parameters. This figure is similar to figure 3.2. For each tooth j the cutting forces are resolved into tangential FT, and radial FR, 3 components which are a function of the uncut chip thickness h . A reference angle 4 is associated with the 3 first tooth edge, and the angle between successive teeth is q. In the example shown teeth enter cut at an angle q 8 and exit at an angle bex. More generally a number of in 5 cut immersion intervals [q,j, may exist (see figure 6.2).  Chapter 6. Milling process model implementation  186  øst,O  -7  05  C 0  ex,O 0 øst,1  ex,1 0  Figure 6.2: Rotation intervals. The instantaneous torque is expressed by a number of separate functions—each valid over one rotation interval [q ,, qSk+1). An interval endpoint 5 or qk occurs any time a tooth at angle q passes an immersion interval endpoint 9ex,i  Chapter 6. Milling process model implementation  187  within the intervals are checked by differentiating the torque expression, solving T’(q5m)  o for bm  and updating the maximum value if T(bm) is larger. This is easily accomplished  by rewriting an individual function of (6.3) in the form T(q) = rstaKTsin(q+jqS) = = rsaKT(P sin q + Q cos q) where during the interval [4k,  k+1) 6 ‘  >  P  the constants P and Q have the value cos jb;  sin j4)c  Q=  The first derivative is therefore T’(q) = rsaKT(P cos  Q sin q)  —  and hence km = arctan The average torque per revolution (or tooth period) = 1  f2  T()d  is most easily calculated by exploiting the periodicity of the instantaneous torque and noting that the helix angle has no influence [102, 147]. It is therefore sufficient to consider a single, zero helix tooth at reference angle q and write =  rCSaKT  sin q5dq  (6.4)  where J is the number of cutter teeth and the in cut immersion intervals are  qex,j).  The maximum and average power are then calculated using the expression P = Tw which relates the power P to the torque T and the spindle rotation speed  w.  Chapter 6.  Milling process model implementation  188  As with the average torque calculation, the average forces in the feed x and normal y directions are found by considering a single, zero helix tooth at reference angle q. From figure 6.1 the forces resolved in the x and y directions are —FT,o(q) cos  F,o(q5)  —  —SLaKT [sin q cos  FR,o(4) sin q  2 qSj + KR sin  —sEaKT[sin2 + KR(1 F,o(q)  =  FT,o(b) sin  =  saKT[(1  — cos2)]  — FR,o(b) cos —  cos2)  KRsin2]  The average forces are then calculated by summing the integrals due to each in cut immersion interval 3 [q e ,,  and multiplying by the total number of cutter teeth J. In  the x and y directions  [cos 24 + KR(sin 2 q  =  sLKT  =  StKT(7?+SKR)  — 2)] :::: (6.5)  =  = StKT =  >  [— (sin2qS  —  2q) + KRcos2]  (6.6)  sKT(—S+7KR)  where the geometric parameters 7? and S are defined as 7?  =  [cos 2j  ‘;  S  =  [sin 2q  — 2]  These calculations are carried out by the solid modeller at each required simulation increment along the cutter path.  Chapter 6. Milling process model implementation  189  The x and y average forces have two applications. First, as will be discussed in chap ter 7, monitored average force signals are useful in verifying that the milling operation is proceeding as expected. A second and essential use for average forces is in calibrating the average chip thickness process model. Recalling (3.4) and (3.5), the ACT model parameters KT and KR are calibrated using the equations KT(h)  =  MJT;  KR(i)  where in 2 1/2 D the average chip thickness a -L-_ It—  i  f  St  First,  PX  sin  (cos ——St  —  (6.7)  is defined as  —  a (qex,i  MRTPR  =  —  C05  i  st,i)  (qex,i  —  cbst,i)  and F measurements are taken at several different h choices. This can be  achieved either by varying the part geometry or by changing the feed rate  st.  Next, by  simultaneously solving (6.5) and (6.6) the corresponding values F7?—S  KT  St(2  + S2)  FR+FS  KR =  (6.9)  —  are found. The constants MT, PT, MR and PR are then estimated by rewriting (6.7) in the form log KT(h)  =  log MT  logKRQi)  =  1ogMR—PRlogJ  —  Prlogh  (6 10)  and using linear regression techniques [6, 52, 73]. For example, in the usual notation the expression for K in (6.10) would be written as y(t) =  1 +2 (t)8 (t)O  =  where the t’th measurements are y(t) =  log KT(t);  T(t)  [1  —1og)Qt)  Chapter 6. Milling process model implementation  190  and the parameter vector is g 0 &Tz[  PT]  For a set of t samples define Y(t)  [y(i) y(2)  y(t)  ]T  [log KT(1) log K(2)  log KT(L)  T 1  and  (P : T (2)  =  1  —1ogJ(1)  1  —1ogi(2)  1  —logii(t)  The least squares estimate for the parameters & using I measurements is now given by  Alternatively, a recursive least squares (RLS) estimate of the ACT model constants can be obtained by using the equations (t) K(t)  P(t)  = =  (I -1) + K(t)[y(t)  =  P(t  =  [I  -  y ( T t)(t  -  1)1  (6.11)  P(t)ço(t)  —  —  l)o(t)[I +  T 0 ç ) 1 P( (  K(t)p Q T t)]P(t  —  —  1)(t)]_1  (6.12)  1)  where K(t) is a vector of weighting factors, P(t) is the covariance matrix  (6.13)  (=  T(t)(t)),  and I is the identity matrix (=1 in this case). Details on implementing the approach are contained in Aström and Wittenmark [6, chapter 3], and L.jung and Söderström [73]. The advantage of the RLS method is that it allows the process model calibration to be continuously updated during cutting of the part, which assists in maintaining  Chapter 6. Milling process model implementation  191  accurate force predictions and can potentially recognize changes caused by tool wear. During cutting along an unchanging part geometry the updating algorithm should be suppressed, since no new information is being provided. This will avoid difficulties due to lack of persistent excitation, which results in the P(t) matrix being singular, and the estimates 0 not being unique (see Aström and Wittenmark [6, chapter 3]). 6.1.2  Linear edge force model  In addition to separating the cutting forces into tangential and radial components, the linear edge force model further divides the forces into uncut chip and edge contributions. Repeating equations (3.6) the model form is FT,(q)  aK ( 5 h(4) + h*)  =  As with the ACT model, h(4)  = St  (6 14)  2 aKs(ci h *) hj()+c  FR,()  sin q, where cbj  =  q +  j. The four calibration  parameters are independent of the instantaneous cutter immersion.  Edge forces are  accounted for by the critical uncut chip thickness h*. The specific cutting pressure is K , 3 and constants c 1 and c 2 specify ratios between the radial and tangential force components. Expressions for the cutting torque and forces using the LEF model are given below. The derivation details resemble the ACT model, and are included in section C.1. The instantaneous torque expression is T(q)  =  F,j(q5)  =  3 [St sin(ç + jq) + raK  h*]  (6.15)  As with the ACT model, the term for a tooth j is included only when it is actually in cut. For the example part geometry shown in figure 6.2, the piecewise function expression for  Chapter 6. Milling process model implementation  192  T(q)is [2h* + [h* +  T(cb)  =  8 raK  t =1,3  t >j1  sin(q + jq)j;  sin(q + jqc)];  [2h* +  t  [3h* +  t jO1,2  [2h* +  Sj  Note that the period of the function is  Z=o,i sin(q5 +  , 1 qe[q  j&)];  sin(q5 + i&)1;  q2)  , 2 q[q  (6.16)  q[cb,  sin(q + j4)};  qc[q, q) and that the critical uncut chip thickness  j=O,2  &,  qe[O, q)  parameter h* is multiplied by the number of teeth in cut. The maximum instantaneous torque over a tooth period is found by first evaluating (6.16) at the interval endpoints bk. The local maxima within the intervals are then checked at the critical points (see appendix C) =  where during the interval [qS, P  k+1)  arctan  ()  (6.17)  the constants P and Q have the value  cosjc;  Q  =  sinjq  The maximum is updated if T(qm) has a larger value. The average torque per revolution is T  =  rcaKs(h* +  t  )d  where 3 is the number of cutter teeth and the in cut immersion intervals are [q , 3  (6.18)  qex,).  As with the the ACT model, the maximum and average power are then calculated using the relationship F  =  Tw.  In the LEF model the average forces in the feed x and normal y directions are (see appendix C) =  P)] 2 [s(7?. + ciS) + h*(_Q + c 3 K  (6.19)  =  [s(—S + ci7?) + h*(_P 3 K  (6.20)  —  Q)] 2 c  Chapter 6. Milling process model implementation  193  where the four geometric parameters are defined as P 7?.  >  =  [cos  ]  [cos2j  =  =  [sin  =  [sin2  ‘  S  j —  As with the ACT model, the average forces are useful for monitoring purposes (chapter 7). Calibration of the LEF model is also accomplished using least squares methods. The details are deferred to appendix C. The expressions for both the ACT and LEF models assume a square cutter edge and an axial depth of cut a. For a HSS end mill this is a valid assumption. However, face mills usually have replaceable inserts with either a finite radius or chamfered nose (figures 6.3(a) and 6.3(b) respectively).  The simplest method of accomodating such  cutters is to adjust, as a function of the axial depth of cut a, the model calibration parameters. For the ACT model an appropriate method is to define an equivalent average chip thickness ‘eq  =  (a) and 2 1 iheq(a). For the LEF model functions c c ( a) would be used.  These functions would be calibrated by experiment, or could be predicted using geometric methods (see Yellowley [148]).  62  Helix expressions  For helical cutters calculations in addition to those presented in the previous section are necessary to check for violation of maximum resultant force and surface location error constraints. In both of these cases an expression for the instantaneous forces must be available at any cutter rotation angle. To avoid performing this by sampling at small angular increments, the critical angles at which flutes change contact geometry with a 2 1/2 D part are determined in section 6.2.1. The corresponding analytic force expressions which use this geometric information are then derived in section 6.2.2.  Chapter 6. Milling process model implementation  194  cutter L / / sert  (a)  (b)  Figure 6.3: Face mill nose shapes. Face mills usually have replaceable inserts with either a (a) finite radius or (b) chamfered nose. 6.2.1  Critical angle determination  First, define k,,, = tan section  where  is the helix angle. The immersion angle for a flute  j at axial location z is (figure 6.4) = q  5 + jq  —  k,z  (6.21)  Again q. is the angular spacing between successive cutter teeth. Inverting (6.21) yields the expression z(qj)  (1/k,)[q + 11c  which gives the axial location z of a flute section  (6.22)  —  j at immersion angle  .  Now imagine that the surface of the part has been “unrolled” from its cylindrical shape to a flat wall (figure 6.5). Each of the faces of the part is now bounded by the two vertical lines  =  1 t 5 cb ,  and  q e 5 xi,  and the two horizontal lines z = 0 and z = a, where  a is the axial depth of cut. As the cutter rotates each of the flutes will intersect a face i in one of five distinct  Chapter 6. Milling process model implementation  195  tani  z  zO  Figure 6.4: Helical flute immersion angle. At z = 0 flute j is at immersion angle = çb + where çb, is the angular spacing between successive flutes. At an arbi trary axial location z the immersion angle is q (z) = j(O) (tan ib/r)z = qj(O) kpz, 3 where k = tan/r and r is the cutter radius. The helix angle is &. —  —  Chapter 6. Milling process model implementation  øex,O  øst,o  —  øex,O  196  øst,1  øst,1  0 e x,1  Figure 6.5: Unrolled part surface. The axial depth of cut is a and the immersion intervals are [qst,i, qex,i). Imagine that the cylindrical shape of the part surface is “unrolled” to form fiat faces bounded by the two vertical lines = and q = 4,j, and the two horizontal lines z = 0 and z = a.  Chapter 6. Milling process model implementation  197  ways (figure 6.6). The corresponding axial limits zj,j, 1 and 2 ,, for each of the five cases 1 z are case 0 z,i  =  2 0; z,  =  a  case 1 z, 1  =  2 0; z,  =  (1/k)[qS + j&  case 2 zj,j,i  =  case 3  =  (1/k,)[q +  c 5 jq  (1/k)[q + jc c 5  —  —  —  2 , 3 z,  =  a  qex,ij; zj,2  =  (1/k)[qS +  qex,j;  j  qst,i1  case 4 the flute is not engaged with this face  The applicable case for each flute is found by locating the intersection of the diagonal flute line with the four cutting zone boundaries. Note that when the axial depth of cut is very large the full set of in cut flute sections is found by stepping  in multiples of 27r.  Critical angles occur each time a flute changes contact geometry with a part face. This is illustrated by example in figure 6.7, where the critical angles define five rotation intervals [q,  bk+1).  The corresponding flute contact cases during each rotation interval  are listed in table 6.1. In the next section instantaneous cutting force expressions are derived for use within each of these rotation intervals. 6.2.2  Analytic force expressions  Referring back to (3.3), the cutting forces for an elemental axial slice (using the ACT model) are  where  dFp(q5,z)  =  KTstsinb(z)dz  dFR,(,z)  =  KRdFT,(,Z)  (623)  Chapter 6. Milling process model implementation  0 s t  198  0 e x  C  -  0  -  4  .  z  0— 0  .  0  Figure 6.6: Helical flute contact cases. The flutes intersect a face in one of five distinct ways, according to which of the four face boundaries are intersected. flute  rotation interval  number  [O,)  ) 2 [qSi,4  [q2,3)  [q3,q.)  j=O j=1 j=2  4 1 2 4  1 1 2 4  1 3 2 4  1 2 2 4  jzE3  [  [14,&) 1 2 4 4  Table 6.1: Helix rotation interval cases. The instantaneous force expressions derived in section 6.2.2 are valid over one rotation interval. Corresponding to the illustration in figure 6.7, the flute contact cases during each rotation interval [qA, bk+l) are listed in the table. Note that the cycle repeats with period 4.  Chapter 6. Milling process model implementation  199  \  TV  TV  \  \ \\  \  \  \ \ \  70  øc  TV  Figure 6.7: Helix rotation interval endpoints. Rotation interval endpoints qSk occur each time a flute changes its contact geometry case. Table 6.1 lists the flute contact cases corresponding to the illustration above.  Chapter 6. Milling process model implementation  200  At any particular location along the cutter path the uncut chip thickness  and (by  (6.7)) KR are constant. Therefore the angle between dFT, 3 and the differential resultant force vector dF 3 (figure 6.8) is fixed at  e  =  arctan KR.  With this substitution the  elemental forces resolved into feed a and normal y components are z)  =  —dFj(cb, z) cos(q (z) 3  dF,(4, z)  =  dF(qS, z) sin(qj(z)  —  —  0)  (6.24)  0)  (6.25)  where  dF(q5, z)  and KTR  =  KT(1 +  =  (dF(q5, z) +  =  dF(çb, z)(1 + K) 112  =  2 StKT(1 + K)”  =  stKTRsin(z)dz  z))h/2  sin 4(z)dz (6.26)  . 2 K)”  The cutting force contributions due to an in cut flute section are now found by integrating with respect to z between the two limits zj,j,i and zj,, 2 found in section 6.2.1. In the x direction fZj  F,,(qS) =  J  j  2  dF,(b)dz  fZj  j  2  jzi,j 1 t i 2 j,2  [cos q(z)cos0 + sinq(z)sin0] sinq (z)dz 3  —stKTRJ zi =  1 2  ,  f j 2 2  [sin2(b+jq5—kz)cos0  ——StKTRj —  cos2(q5+j  1 =  1  1  StKTRj_  —  k,&z)sin0]dz Zjj2  —cos2(b+jq—kz)  cos0 Z,)l  —  1 2k  2ij,2  sin0  J  (6.27)  Chapter 6. Milling process model implementation  201  yf  x  Figure 6.8: Definition of 0. At any particular location along the cutter path the uncut chip thickness i and (by (6.7)) KR are constant. Therefore the angle between dFT, and the differential resultant force vector dF 3 is fixed at 0 = arctan KR as shown above. The diagram is based on figure 3.2.  Chapter 6. Milling process model implementation  202  Similarly (q.’) 13 F,  p  =  J  sjKTRsinq(z)sin(q(z)—0)dz  Zi,j,1 2 fZij,  StKTRj  1 zi,j  =  —  cos q(z)sin0}sinq(z)dz  PZij,2 1 [(1 cos 24(z)) cos 0 sin 2 (z) sin 0]dz 3 6 ç 2 2 fZjj 1 [(1—cos2(q5+jq—kz)cos0 —stKTRJ 2 Zij,1  —StKTR  J  —sin2(  =  [sin (z) cosO  +jqc  1  1  —  StKTRj  —  —  ,z)sinO}dz 1 k,, Zj2  1  cosO  zi 2 ii  1 —  Zi  j  1  ‘1 sin0 1  (6.28)  1  By explicity evaluating these integrals the cutting force can be written as  F,j(q)  8tKTR[—(A  sin(2q5  —  F,,(qS)  + Ejq) sin 0 +  0)  —  13 cos(2q V  cos 0 —  ) cos 0 + 5 + jq  +B,j cos(2q  —  0) + V sin(2qS  0)]  (6.29)  sine —  0)1  where, depending on the intersection geometry case (figure 6.6), the geometric constants  A, through E are defined as case 0 , 23 z 1  ci,j  case 1 z ,, 1  =  =  0;  = = = = =  a  a  (1/2k)[sin2(jq 0  —  (1/2k,t,)[cos2(jq  —  ka) k,,a)  —  —  sin 2j] cos2jc]  0  = 0;  2 , 1 z  = =  (1/2k,)sin24 + (1/k)[jq t 3 —(1/2k)sin2j  =  (1/k,j,)[q +  c 5 jq  —  —  Chapter 6. Milling process model implementation  case  , 2 C Vi,  = = =  2  = (1/k )[4 1 , 1 1 + 3c ex,ij; z,,, 2 = a = a (1/2k&)5jfl2exi (1/k)[j (1/2k)sin2(j— , 4 a) k (1/2k)cos2q5ex,j = (l/2lc,J,)cos2 f 1 ra) (jq—k =  zi,,,i  203  3 —(1/2k)cos2 t ,. q —(1/2k)cos2jq (1/kg,) —  —  Ci,,  case  3 z, 1  A  case  (1/k,)[q’ + j4 (1/kq,)[qex,j 0 (1/2kv, )[cos 2 qes,i 0 0 —  —  = (1/k,)[q. + jq q t,1 8 (1/2k,)[sin2qexj sin j 2 t 3 2q , —  —  —  —  COS  —  3 q 2 t ,] S  4 the flute is not engaged with this face = 0 = 0 ,, 2 C = 0 = 0 = 0  A detailed derivation of the expressions above is deferred to section C.2. The total forces within a rotation interval [qSk, all faces i and all teeth  ck+1)  are now found by summing over  j. That is  F() = =  stKTR[—(A  +13 sin(2 F(q5)  —  +  0)  ) sin 0 + C cos 0 —  V cos( q 2  —  8)]  (630)  = =  StKTR[(A +  ) cos 0 + C sin 0  +Bcos(2 —0) + Dsin(2  —  0)]  (6.31)  Chapter 6. Milling process model implementation  204  where A=A; B=>Bj; 3 C=C,, V=>Dij; ; These summations are quickly computed since in practice there are both very few faces and a small number of flutes. Maximum resultant force calculation The maximum resultant force is an important MRR constraint to avoid shank breakage in end milling (section 3.3.3). Using the x and y force expressions (6.30) and (6.31) the instantaneous resultant force is F()  =  [F) + F)]’/ 2  = StKTRFGEO()  (6.32)  where FGEo()  =  {(A+)2+B2+c2  +2C[l3sin2qS  —  2 +2(A+t)[Bcos2+Dsin2] +D  2 Vcos2]}”  (6.33)  Observe that FQEo(b) is independent of the ACT model calibration parameters KT and ) 5 KR. Therefore the maximum of FQE0(q FGEO,mas =  sup{FGEo(q’)jqSc[0,q)}  can immediately be determined using only solid modeller geometrical information. The maximum resultant force Fma(q) can later be found by scaling when accurate calibration data is available. That is Fma =  To determine [bk,  FGEO,ma,  SLKTRFGEOmax  the maximum of  FGEO(b)  (6.34) within each rotation interval  qk+1) is found. The function is not readily analyzed using calculus, and hence a  Chapter 6. Milling process model implementation  205  numerical method must be used. In this case a very appropriate choice is the glomin algorithm developed by Brent [10, chapter 6]. When supplied with an upper bound M on the second derivative, this algorithm will calculate the global minimum of a function over an interval to within a specified tolerance  FEot l 0 .  The number of function evaluations  required is / 1 t 0 O((M/FEoj ) 2 ) . For this application the function to use is —FEo(b)  =  -(A +  2 B  E)2 —  —  2 C  —  2 V  —2(A + Eq)[B cos 2 + V sin 2]  —  2C[B sin 2 q  —  V cos 2 q] (6.35)  It is chosen over FGE0(q ) to avoid unbounded derivatives, and because glomin returns 5 the global minimum rather than the global maximum. The second derivative of FEO(q) is bounded since the geometric quantities A—tX’ are constants, the trigonometric functions satisfy sin c  <  1 and j cos j  1 for all  <  ,  and e[0, q). Therefore, by choosing a  tolerance FEot l and using glomin, in any rotation interval 0 FEO,max  FEO,glomin  [1k, qk+1)  + FEo,t j 0  where FEog1jn is the global minimum determined by glomin. For further details see section C.3. The overall  FGEO,max  is then found by taking the largest of the individual  rotation interval values. This approach is superior to sampling at small angular increments in two ways. First, it confidently estimates  FGEO,max  to within a specified tolerance—which sampling cannot  guarantee. Second, of course, far fewer function evaluations will be required under normal circumstances, when there are both few part faces and a small number of cutter flutes. Surface location error calculation Complex research models [4, 58, 84, 109, 118] have been developed to advance under standing of the active mechanisms in milled surface generation. In these models the  Chapter 6. Milling process model implementation  206  effects of radial runout, a flexible part, and feedback of the slightly modified immersion geometry are explicitly considered during force calculations. Modelling of all of these effects goes beyond the first requirements to plan a material removal rate (MRR) consistent with a surface location error constraint. For the thesis purpose of studying integration of solid modeller geometrical calculations with milling process simulation, a no runout, no feedback rigid part model is adopted. Surface location errors are assumed to be due solely to the flexible cutter being deflected by cutting forces. In peripheral milling the surface is generated when a cutter flute section passes through angle zero (up milling) or r (down milling). Examining the down milling case in detail, the surface generated at any axial position z,(4) is determined by choosing the flute  j  such that qS[0, &) in the equation +  =  It is located a distance  ) 3 S(zL,  jc  (6.36)  -  away from its nominal location, where  3 ZL,  =  L  —  ,(4) 5 z  (figure 6.9). With a very deep axial depth of cut the higher surface generation points are found by substituting 3ir, 57r, etc. for  7t  in (6.36).  To determine the deflection the flexible end mill is modelled as a cylindrical cantilever which obeys the equation 46 d =  dzL  —wy(q, zL)  (6.37)  where E  is Young’s modulus of elasticity for the end mill (kN/mm ) 2  I  is the end mill moment of inertia (mm ) 4  S zL  is the end mill deflection (mm) L (mm)  —  z,  is the distance measured from the tool holder to the cutter tip  Chapter 6. Milling process model implementation  207  /  /  T  ZL_LZ  /  L  I Iz 0  7k  Figure 6.9: Surface generation in down milling. It is assumed that any surface location error is due solely to deflection of the flexible end mill by the cutting forces. The surface ,() = (1/k)[q+j—7rj will be will be generated by flute 3 generated at axial position z distance and located a 5 = L z,j(q). ) away from its nominal location, where z, 3 S(zL, j —  Chapter 6. Milling process model implementation  At any rotation angle  208  the normal force density is wy(q,zL)_  dF(q, z) dz  which can be written as w(b,zL)  =  where, substituting from (6.25) and (6.26) wy, ( 3 q, zL)  q,(zL)  =  4 +j  —  k(L  —  =  StKTR  z) and 0  =  sin b,(zL) Sin(b(zL)  —  0)  (6.38)  arctanKR. Each of the functions wy,j(q,zL) in  (6.38) is valid over only the axial interval  zL,,j,2) =  [L  ,L 1 zi,j,  —  —  by the cases listed on page 197. This requires that the overall density function be specified in a piecewise manner over intervals  {  zL,j,2}  [ZL,k, ZL,k+1)  defined zL)  where {zL,k} is the set  in sorted order.  The cantilever equation (6.37) is solved for the deflection  ) 3 S(zL,  by repeated piece  wise integration over the axial intervals [zL,k,ZL,k+1) and at the appropriate value of q. That is V,zL)  M(,zL) =  =  ‘4(4, zL),  M(qS,  V(Z)dZ  f  O(q,Z)dZ  fLM, 2)dZ  ZL)  where respectively  J  zL),  zL)  and S(qS,  zL)  are the shear, bending  moment, slope and deflection of the end mill in the normal or y direction. The integration constants are found by imposing the boundary conditions V(b,zL=L)  M(b,zL=L)  =  0  =  0  Chapter 6. Milling process model implementation  209  Further details on this procedure, including an example calculation, are given in sec tion C.4. Although the procedure just outlined has been found to give accurate predictions under the physical conditions assumed, it is very time consuming due to the need to repeat the entire sequence at small angular increments. A simpler model is therefore desired which will permit more rapid feed rate scheduling to respect a surface location error constraint. This model is described below. It is assumed that the constraint is the maximum surface location error 8 ymax. This can be expected to occur at the end mill tip, where flexibility is greatest, and when the normal force achieves its extreme value. Using the coordinate system in figure 6.1 the maximum overcut in up milling and the maximum undercut in down milling both occur at the maximum normal force Fy,max. For simplicity, the point of the force application is fixed at a location half way along axial immersion a (figure 6.10). Under this conditions the maximum deflection of the end mill, and hence the largest possible surface location error, is given by the cantilever deflection equation Uy,max —  where A = L  —  ymax”,12 6E1  —  a/2. Observe that the deflection is directly proportional to Fy,max.  Beginning from (6.31) F(4) = =  stKrR[(A + E) cos 0 + C sm 0 +13 cos(24  —  0) + V sin(2q  —  0)j  the maximum normal force Fy,max is found by checking the endpoints of each rotation interval [q,  4k÷1)  F)  =  and retaining the maximum value. Differentiating StKTR[t  cos 0  —  213 sin(2  —  0) + 2D cos(2q5  —  0)  Chapter 6. Milling process model implementation  210  AL—a/2  Figure 6.10: Concentrated load cantilever deflection. If, for simplicity, the cutting force is assumed to be concentrated at a single point, the maximum deflection of the end mill will occur at the tip, and is given by (6.39).  Chapter 6. Milling process model implementation  = and setting Fy’(qm)  StKTR  [tcosO  —  2(32  211  112 sin (25 —0— arctan ) 2 +V  0, the extreme values are found at 1  1  .  jarcsln  /  é’cos0  2(B2  +  ‘\  V2)h/2)  + arctan  +8  If a local extreme value Fy(bm) is larger, it becomes the maximum normal force F!,,max. To demonstrate the approach consider a case studied by Kline [56, figure 5.lla]. In his example a four flute end mill with radius r=9.525 mm, helix angle b=30 degrees and cantilever length L=108 mm was used. The axial depth of cut was a=50.8 mm, the radial width of cut d=254 mm and the feed rate per tooth was st=0.38l mm. A down milling operation was used, and hence the single immersion interval was = [2.394, 7r). The calibration parameters were KT  ex)  0.644 kN/mm 2 and KR = 0.320 for  the 7075-T6 aluminum part material. Kline computed the moment of inertia as I  r/3  rather than the usual 7rr/4 to account for the absent material behind the flutes. This is consistent with the observations of Ziatin et al [155] and the value 4 7r(0.8r) / 4 more recently reported by Kops [62]. The value for Young’s modulus was E  207 kN/mm . 2  Under these conditions the maximum normal force is Fymax=l. l kN and the max 6 imum deflection is 6m=0.777 mm or 777  This agrees almost exactly with the  maximum surface location error determined experimentally by Kline (see section C.4), and compares well with the predicted value of 830 m found by a piecewise integra tion of the cantilever equation (6.37). The above example suggests that, for feed rate scheduling purposes, it is reasonable to utilize the concentrated maximum normal force surface location error model, and exploit calculus instead of sampling at small angular increments.  Chapter 6. Milling process model implementation  6.2.3  212  Summary  In this section the cutter immersion geometry for helical end mills in 2 1/2 dimensional cutting was further examined. It was found that the immersion of the flutes with the part faces can be classified into five cases, and that analytic, piecewise expressions for the forces and surface location error could be defined to avoid incremental sampling along the cutter z axis. The maximum resultant force, important when shank breakage is a concern, could then be found using a numerical method rather than sampling at small angular increments. For rigid parts it was demonstrated that a simplified, concentrated maximum normal force surface location error model was sufficient. This allows calculus to be used to much more rapidly determine the maximum normal force and maximum surface location error.  6.3  Feed rate scheduling  A principal reason for developing a solid modeller based milling process simulation sys tem is to plan material removal rates consistent with the constraints first discussed in chapter 3. In this section the MRR constraint equations developed earlier in the chapter are recast to schedule a feed rate which simultaneously satisfies the limitations reviewed in the thesis. Separately considered are an incremental solution, and a more rapid nu merical method applicable during peripheral milling, when the immersion angle endpoint can be analytically expressed (section 5.3.3). 6.3.1  Incremental solution  The equations developed in this chapter always eliminate the need to sample in the axial direction and at small angular increments. This significantly accelerates the milling process simulation speed. However, when there are several in cut part faces, such as in  Chapter 6. Milling process model implementation  213  face milling, analysis of the cutting forces produced by the many  qex,)  immersion  intervals is still best treated by incremental sampling along the cutter path. The sample spacing chosen should be on the order of the feed rate per tooth. Since no part feature is likely to influence a single tooth period, this ensures that a sudden change is safely recognized. Near the rapid change, smaller steps can be taken to further refine the simulation. To specify a target feed rate under these conditions, the following procedure is applied at every sample point along the cutter path: First, write the MRR constraint equation in the form Qtgt  =  f(st,tgt)  Here Qtgt is the target value for the constraining force, torque, deflection, etc. and f(stt t) 9 is the function relating the feed rate to the constraint. Frequently the function can be inverted, and the target feed rate found by evaluating (Qtgt) 1 f  Average torque constraint As an illustration, consider the average torque constraint.  For the ACT model the  constraint equation (6.4) can be rewritten as T  where the geometric constant  =  (6.40)  SEKTg  is defined as rasinqfdçb  =  Substituting from (6.7) and (6.8) yields KT(st)  PT  =  MTILS  PT St  Chapter 6. Milling process model implementation  214  where —  (cos  =  COS  st,i)  Z  e2  (6.41)  st,i  Hence (6.40) may be expressed as 7= and inverted  to  (gMrl’T)s_PT  obtain 11(1—PT)  —  Ttgt Stjgt  5 cMTh  For the LEP model the inverted relationship between feed rate and average torque is hd]  (6.43)  -  Tooth breakage constraint Implementation of the tooth breakage or maximum uncut chip thickness constraint (3.7) is straightforward. If 7r/2c[qS, qex,) then St,tgt  = inf{(hma/ sin  Sttg  5 c)Ic  = hmax. Otherwise  q’st,o,  ex,o, st,1, 5 q  Maximum resultant force constraint To prevent shank breakage, the maximum resultant force equation (6.34) Fmax =  StKTRFGEOmax  must be inverted. As a function of s StKTR(st)  Mh ) 2 1l2  =  stMTi’T(1  =  stMThTsT(1  +  =  MT  +  +  T(2(1_PT)  M s 2 2)h/2  (6.44)  Chapter 6. Milling process model implementation  where the geometric quantity  i  215  is defined by (6.41). With conventional cutters and  part materials, and expected feed rates, the quantities 1  —  PT  —  PR and 1  —  FT are both  positive. Hence (6.44) represents a strictly increasing function of the variable s. By sampling (6.44) over the expected range of to  fK(st)  .st  a very good approximation of the inverse  StKTR can be obtained by interpolating the sample points with a cubic  spline. Representing this inverse by the notation  fQ, the target feed rate is then found  by evaluating (2Fmax,tgt  :—1 St,tgt_J j —  T  \rGEo,max  Surface location error constraint Treatment of the surface location error constraint is more involved because the ra dial/tangential force ratio term KR cannot be separated in the normal cutting force expression. This constraint is usually active during peripheral milling, where frequently the rapid numerical solution discussed in section 6.3.2 can be applied. In the few cases where this is not possible, an appropriate feed rate can be chosen automatically by iter ation. Chatter As indicated in section 3.3.6 an approximate cutter contact length limit for chatter avoid ance is ((3.8) repeated) —1 c,lim 1  1  ZATRJL[tv,ORjmin  where J?[Gv,OR1min  —  I  inf {[G,oR(jwU) w,c(—oo,  +oo)}  It is assumed that a machine tool transfer function model is available in the orthog onal x and y directions (figure 6.11). The oriented transfer function GoR(jw) is then  Chapter 6. Milling process model implementation  216  modelled as G,oR(jw)  + G,(jw)  =  where is the vibration directional factor in the x direction  j,  G,(jw)  is the r direction machine tool transfer function is the vibration directional factor in the y direction  G,(jw)  is the y direction machine tool transfer function  Similarly, the real part of G,oR(jw) is lJ[G,oR(jw,,)]  + tR[G (jw)j  =  For up milling a simple chatter model assumes that the vibration direction v, OR is aligned with the cutter radial halfway through the immersion interval [0, q) (see Tiusty [125]). A similar assumption can be used for down milling. The value for KT(1  2 is calibrated by experiment, and 0 + K)’/  =  KTR  =  arctan KR. Under these conditions,  if the cutter is advancing in the +x direction, the vibration directional factors are =  cos I—0 +  ex 6 ç  For milling in the +y direction  sin .  q’ex  -i—;  and  ,  sin IjO + .  =  —  lex  cos  bex  are exchanged.  To assess this simple chatter model, it was compared to time domain simulation results reported by Tlusty, Smith and Zamudio [128]. The simulation assumed a four flute (qc,  =  7r/2) helical end mill with radius r  =  12.5 mm, helix angle  ib  =  30 degrees and  length 100 mm. The part material was aluminum alloy. Constant calibration parameter values KT  =  0.800 kN/mm 2 and KR  =  0.3 were used.  The machine tool structure was modelled using damped second order Laplace domain transfer functions G(s)=-. k s +2Cws+w 2  Chapter 6. Milling process model implementation  217  I øex/2 v,x  /  v,OR  x V,Y  Figure 6.11: Chatter angle and direction definitions. Up milling is illustrated in the example above. The angle between the tangential direction and the resultant force F direction is 0 arctan KR. The vibration modulating the uncut chip thickness occurs in the direction v, OR, which is assumed to be aligned with the cutter radial halfway through the immersion interval [0, 4ex). That is v, OR = sin(qSex/2)v, x + cos(e/2)v, y.  Chapter 6. Milling process model implementation  Substituting s  jW,,  and taking the real part c-lrr(.  WnWn—WV  “hi—  Jt[_LuiJWv)j  —  fl,  2’2 f 2 WWtj) TILt,WnWv)  In the a direction the stiffness was =  218  4.17 kN/mm, the natural frequency was  =  5919 radians/s (942 Hz) and the damping ratio  ,  =  0.030. In the y direction two  dominant vibration modes were included. The parameters used were =  5831 radians/s (928 Hz),  radians/s (985 Hz),  y2 =  j  =  0.015 and  =  6.98 kN/mm,  1.02 kN/mm, =  6189  0.022. The y transfer function (and hence its real part) is the  sum of the two modes. That is Wn,yi Wn vi 2’2 / t,yzWn,yiWv) Wv) + —  =  /  _i 2 .  i=1,2  2  U,yz  —  The predicted chatter free axial depth of cut was then computed using the expression —  aLim  =  cos  r  1  (6.46)  —  2KTRIi?[GvORjminj  where lJ[Gu,OR]min =  inf{j&,G,(jW) +  and the average number of flutes in cut is  7  we(—oo, =  +oo)}  qex/qSc. The factor cosb accounts for  the helix angle. Figure 6.12 compares the simple model predictions to those given in [128]. The simple model predictions are near the time domain values, and provide an approximate chatter limit. Time domain simulations, which include additional effects such as process damping (due to increased flank face contact with the part) and non linearities (such as the cutting edge jumping out of contact with the part) are widely regarded as being more realistic. By repeating the chatter limit predictions at finer increments, a more complete chart of radial width of cut versus permissible axial depth of cut combinations can be con structed for use in milling process simulation and cutter path trajectory planning. These ideas are further pursued in [128], and in the article by Tsai et al [131].  Chapter 6. Milling process model implementation  219  2.5 E E  C) C)  cz -C) C) >< C)  0.2  0.4  0.6  0.8  1.0  radial width of cut Figure 6.12: Maximum permissible axial depth of cut. The graph above shows the maximum permissible chatter free axial depth of cut predicted by the simple chatter model (6.46) and by time domain simulation (see Tlusty, Smith and Zamudio [128}) as a function of the fraction of full radial immersion. Results for up milling in the +x and +y directions are shown. Legend: A—[128j; B—(6.46) Final feed rate scheduling After the target feed rate has been found for all active constraints, the final target is chosen to be the miminum of all candidates. That is, if the target feed rates for individual constraints are labelled  t,tgfl, 5 5 t,tgt2,  .  ..,  then the final target feed rate to be achieved by  the machine tool table drive is St,tgt  —  inf{st,t n 9 , .st,tgt2,  .  . .  }  In order to reduce the amount of data that must be permanently stored and later transmitted to the machine tool controller, the final target feed rate sample points are then condensed into a piecewise function comprised of linear segments. This representa tion is sufficient for the purpose, is easy to build within the solid modeller milling process simulation system, and can rapidly be interpolated at the machine tool. The method used to construct the approximating function is described below.  Chapter 6. Milling process model implementation  220  First, assume that the sampled final target feed rate is represented by the set of points (Xm, St,tgt,m)m=o,1,2,....  The goal is to construct a set of straight line segments such that  for any sample abscissa  Xm  along the cutter path the value St,fir,m  St,apx(Xm)  —  where inf{st,tgt,m_i, 8 t,tgt,m, st,tgt,m+i}  St,flr,m  3t,apx(m)  is the approximating function value at  Xm  and  >  t,tol 8  0 is the permitted error.  This criterion is intended to ensure that the feed rate returned by the approximating function never exceeds the value dictated by the sample points. Next, beginning at the point (x , st,fl,o), draw “tolerance rays” through the points 0 , st,fjr,1) 1 (x  and (x , St,flr,1 1  to define a tolerance region T . If (x, 1 , 0  —  .5t,fir,2)  is inside  , St,flr,O) through the points (x 0 , St,flr,2) and 2 To, then continue by drawing rays from (x , 2 (x  t,ftr,2 8  , 3 (x  St,fjr,3)  —  si)  to define tolerance regions T 2 and T , 0 2 , 0  =  fl  To,i.  Now check if  is inside 7,2, and so on. When a point (xi, stjii.,i) is outside of the tolerance  region Tm,ii then a vertex must be inserted to begin a new line segment in the approx imating function. If , St,apx(i)), 1 (x . 1 x  where  is below  (xi, St,flr,t) St,apx(i)  is the smallest feed rate value within  Otherwise the vertex is inserted at  rate value within  then the vertex is inserted at the point  at abscissa  xl.  (xi, St,apx(i))  with  Stapx(i)  m,11 T  at abscissa  being the largest feed  Figure 6.13 illustrates the procedure.  Finally, to allow for the table servo drive dynamics, a commanded feed rate profile must be constructed. This ensures that, along the straight line cutter path, the achieved feed rate never exceeds the target. This requires that the feed rate converted to a feed rate  s  s  in mm/tooth be  in mm/s. For a cutter with J evenly spaced teeth and a  spindle speed of w radians per second the conversion equation is s (mm/s)  =  St  (mm/tooth).  J (teeth) w (s —1 ) 27r .  Chapter 6. Milling process model implementation  221  3  ) 2 ap ( x  0  I.  Cl)  1 To,  2 To,  0 x  Figure 6.13: Target feed rate approximation. The example above illustrates the target feed rate approximation procedure for the first three sample points. The point (x , St,flr,3) 3 is below the tolerance region To, 2 and hence a vertex is inserted at abscissa value x 2 and with the lowest feed rate value still inside To, . Processing then continues through the 2 remaining sample points.  Chapler 6. Milling process model implementation  222  Sf tsd  (1)  target offset command  x  Figure 6.14: Servo dynamics compensation. The legend show the target, offset, and com manded feed rates. To avoid violating feed rate constraints during decelerating portions of the profile, the target feed rate is offset to be commanded Sft d mm early. Practical 3 examples of this step appear in chapter 7. Typically the table servo control system is tuned so that it is critically damped. As sume that the rise time is  d 3  seconds. The commanded feed rate should then be sent  mm before the target feed rate. Using the piecewise linear feed rate approxima tion, this is accomplished by offsetting the deceleration portions of the target feed rate (figure 6.14) and using those segments as the commanded feed rate. Additional practical examples of this procedure appear in chapter 7.  Chapter 6. Milling process model implementation  6.3.2  223  Rapid numerical solution  During many pocketing and contouring operations, peripheral milling is occurring at a constant axial depth of cut. In these cases there is a single in cut immersion interval, and only one varying angle. In down milling, for example, the immersion interval is 7r). Over a segment of the cutter path çb. can be expressed as an analytic function of the cutter centre location xc (see section 5.3.3). Hence, by further expressing as a function of cb quantities such as the maximum resultant force Fmax(qst(xc)) and the maximum normal force Fy,marr(bst()) analytic expressions as a function of the cutter centre location are obtained. Alternatively, the target feed rate to maintain adherence to a constraint can be specified as a function stituting an immersion interval of [0,  ex(X)),  5 st,tgt2( t (xc)), 4 etc. Sub a similar method can be developed for  up milling. Using numerical methods, these would then combined by determining which constraint specifies the smallest target feed rate, and the segment of the cutter path over which it remains smallest. In this section example force and feed rate target functions required to implement this approach are presented. The examples which follow were all calculated with calibration data for an actual cutter and part material used in chapter 7. Down milling is assumed throughout, but up milling can be handled in a similar fashion. The cutter is a four flute end mill with helix angle =30 degrees and radius 2 rz’J . 7 mm. In the maximum surface location error tests, a measured compliance of ksje=0.1736 mm/kN at the cutter tip is used. The ACT model calibration equations are KT = 0.317h—--0.424 kN/mm 2 and KR = 0.212h——0217 for the 7075-T6 aluminum part material used. The axial depth of cut is fixed at 19.05 mm. During down milling at a feed rate of  0087 t=  mm/tooth, the predicted maximum  resultant force Fmax(bst) is plotted in figure 6.15. With an imposed maximum resultant force constraint of 1.2 kN the target feed rate plot, computed from (6.45) and clipped at  Chapter 6. Milling process model implementation  224  a practical ceiling of 0.30 mm/tooth, is shown in figure 6.16. In both cases the curves can readily be approximated by straight line segments to allow rapid interpolation. At a feed rate of st=0.087 mm/tooth, the maximum surface location error  =  ksteFy,max is plotted in figure 6.17. The target feed rate to maintain SmaxO.100 mm is shown in figure 6.18. This calculation requires some iteration since the ACT model calibration parameter KR, which changes with the feed rate, influences the cutter rotation angle at which the maximum normal force will occur. The relationship is well behaved in practice however, and the target feed rate values are quickly computed by using a local zero finder (such as  zero  [10, chapter 4]) with (6.31).  When the axial depth of cut is constant, using precomputed graphs such as those shown in figures 6.15 through 6.18 avoids the need to repeatedly carry out the calcula tions described in section 6.2. Instead, if peripheral milling is occurring, the predicted maximum resultant force or surface location error, or required target feed rates, can be retrieved as soon at the single entry  t 3 5 q  or exit  q’ex  value has been determined.  Using the analytic cutter immersion interval endpoint expressions from section 5.3.3, this can be extended further to avoid incremental sampling along the path during feed rate scheduling. First, for each active constraint the associated target feed rate functions st,tgti(qst), st,t t2(t), 9  etc. are approximated using the method described in section 6.3.1  with cb t as the abscissa. 3 labelled st,tgti,p(qst),  Assume that the piecewise linear approximating functions,  St,tgt2,p(4)st),  etc., introduce a maximum error  st,tgti(4’st)  St,tgt2(/5st)  —  —  3t,tgtlp(43t)  St,tolçl,  8t,tgt2p(’st)  t,tolcb 8  St,tolk.  That is  etc. These functions are then combined to yield the final feed rate target approximation st,tgtp(cbst)  which satisfies st,tgtp(bst)  =5 ti(q’ 9 inf{st,t t ), st,t gt2p( cbt),  .  .  Chapter 6. Milling process model implementation  225  2.00 L)  1.50 1.00  Z3 Cl) U)  E E  0.50  E  0.00 0  Tt/4  31/2  3n/4  entry angle (radians) Figure 6.15: Predicted maximum resultant force. The graph above shows the maximum resultant force predicted by the ACT model as a function of the entry angle q. Cutting conditions are down milling with immersion interval [ 1 ir), axial depth of cut a=19.05 mm and feed rate t=O.O mm/tooth. Remaining conditions are stated in the text. 87  0.30 C C  0.25  E  0.20  U)  0.15  C  0.10 U)  0.05  U) C  0.00 0  31/4  331/4  entry angle (radians) Figure 6.16: Target feed rate—Fmax=1.2 kN. The graph above shows the target feed rate to maintain a maximum resultant force Fmax of 1.2 kN computed from (6.45) and clipped to a practical ceiling of 0.30 mm/tooth. Cutting conditions are stated in the text. The curve can easily be approximated by straight line segments to allow rapid interpolation for feed rate scheduling.  Chapter 6. Milling process model implementation  226  0.4 E  0.3  ci) C)  z3 (I)  0.2 0.1  >c E  0.0 0  31/2  33114  entry angle (radians) Figure 6.17: Predicted maximum surface location error. The graph above shows the maximum surface location error predicted using the simplified Sy,max ksieFy,max model. Cutting conditions are down milling with immersion interval [bst, 7r), axial depth of cut a=19.05 mm and feed rate .st=O.O87 mm/tooth. Remaining conditions are stated in the text. 0.30  0.15 -  0.10 0.05  2  0.00 331/4  0  31  entry angle (radians) Figure 6.18: Target feed rate—Sy,ma’O.lOO mm. The graph above shows the target feed rate to maintain a maximum surface location error 8 y,max of 0.100 mm. The feed rate values are found by using a local zero finder (such as zero [10, chapter 4]) with (6.31) and are clipped to a practical ceiling of 0.30 mm/tooth. Cutting conditions are stated in the text. The curve can easily be approximated by straight line segments to allow rapid interpolation for feed rate scheduling.  Chapter 6. Milling process model implementation  227  It too is piecewise linear and therefore has a constant first derivative  over any  particular piece. Now suppose that the analytic cutter immersion interval endpoint expression  st(XC)  is also approximated by piecewise linear functions such that over a cutter path interval XCb)  cbst(c)  —  qstp(xc)  st,toi  (6.47)  where qstp(xc) is the approximating function. Under these assumptions a piecewise linear approximation of st,tgt(q t(xc)) is obtained satisfying 5 st,tgtp( s 4 tp(rc))  +  St,to1c  +  .st,gt(cbst(xc))  (6.48)  To allow for the table servo drive dynamics, this profile is then offset by the method illustrated in figure 6.14 to create the final commanded feed rate. The variable cutter path sampling procedure described above, although involving more analysis, is time saving when large values are acceptable for the tolerances and  and the derivative  t3 ,to1çf  is relatively small in absolute magnitude. Often in  pocketing operations q (down milling) is constant over long portions of the cutter path, in which case only one target feed rate must be determined. Example cutter paths and parts on which the approach has been used are presented in chapter 7. The outline of a method to construct the piecewise linear approximation ( 5 x) is given in section C.5. 6.4  Summary  In this chapter the geometric information obtained from the solid modeller (chapters 4 and 5) is used to implement milling process calculations required for monitoring and planning purposes. For the 2 1/2 D parts considered, several methods to avoid time consuming incremental sampling are developed.  Chapter 6. Milling process model implementation  228  First, analytic expressions are used to replace sampling along the cutter z axis for both face milling cutters and helical end mills. These analytic expressions then permit calculus and numerical methods to be used to rapidly predict maximum resultant forces and surface location errors without sampling at small rotational increments. Finally, during peripheral milling it is shown that piecewise linear functions can be used to approximate process values to a specified tolerance.  This method ensures that rapid changes are  not overlooked, and permits the sample increment along the cutter path to be varied —achieving a third degree of reduction in computational effort. The computed force, torque, etc. values can be used directly for monitoring purposes, or to schedule a feed rate consistent with the active process constraints. This is explored for average torque and feed rate constraints in face milling using both the ACT and LEF models. In end milling, additional constraints on the maximum resultant force (to avoid shank breakage) and maximum normal force (to avoid excessive surface location error) are considered. The target feed rates for each active constraint are then combined to yield an overall target feed rate schedule which can be commanded to the machine tool servo drives. Applications of the solid modeller milling process simulation system, including a num ber of examples to demonstrate the procedures, are presented in chapter 7.  Chapter 7  Simulations and experiments  7.1  Introduction  This chapter presents the simulations and experiments that were conducted to demon strate and verify the solid modeller based milling process simulation system developed earlier in the thesis. It is divided into sections as outlined below. In section 7.2 the equipment used to conduct the experiments is described. This includes the machine tool, data acquisition hardware, supervisory microcomputer and the table servo drive motion controller. Section 7.3 presents the face milling simulations and experiments.  This includes  average force and torque verification experiments for example parts, feed rate scheduling to adhere to average torque and feed rate constraints, and an example of recursive milling process model parameter identification. In section 7.4 the end milling simulations and experiments are presented. Included are verification of the analytic helical cutter expressions (6.29), and maximum resultant force and surface location error prediction examples. Using the rapid simulation method de scribed in section 6.3.2, the feed rate is automatically scheduled to adhere to a maximum resultant force constraint. An example of feed rate scheduling to adhere to a maximum surface location error constraint is also included. Section 7.5 proposes use of solid modeller data to assist in adaptive control of maxi mum resultant cutting forces. After outlining the intended application of the proposal, a  229  Chapter 7. Simulations and experiments  230  subsection is devoted to describing the process model and controller design. Experiments with parts exhibiting a step change in axial depth of cut and a rapid change in radial width of cut are used to demonstrate the approach.  7.2  Experimental equipment  The main components of the experiment setup are illustrated in figure 7.1. A vertical milling machine equipped with a 5 kW AC motor connected to the spindle drive gear reduction was used. The two linear machine tool table axes were driven by 15 A perma nent magnet DC servomotors connected directly to the lead screw shafts. A Motorola MC68008 based motion controller was used to coordinate the table axes. The external supervisory microcomputer was connected to the motion controller via a bus adapter. Pulse width modulated motor drive amplifiers complete the system. Cutting force signals were obtained using a dynamometer and charge amplifiers. The dynamometer was secured to the machine tool table and the part mounted on the dy namometer table. Hence the cutting forces on the part were actually measured. The charge amplifier signals were then processed by an analog peak detector and signal av erager circuit. This permitted maximum and average forces to be directly measured. A spindle mounted shaft encoder was used to provide synchronization. Analog to digital conversion was accomplished by a data acquisition card installed in the supervisory com puter. Again the spindle shaft encoder was used to synchronize storage of the sample data points. For feedback control purposes the table axes positions were obtained by querying the motion controller. Along the x axis of the plotted graphs, however, the position was measured in synchronization with the cutting force measurements by sampling a ramp waveform voltage with a period of 0.325 mm. Ensuring that the absolute table  Chapter 7. Simulations and experiments  231  position remained unambigous required that the maximum feed rate be limited during experiments. The supervisory microcomputer was an Intel 12 MHz 80286/80287 based system. As stated above, the computer bus was connected to the machine tool table motion controller and a data acquisition card. The National Research Council of Canada Institute for Mechanical Engineering (Van couver, BC) provided the surface measurement data for figures 7.31 and 7.32. 7.3  Face milling examples  7.3.1  Introduction  The cutter body used for the face milling experiments had an effective radius r,, of 50.8 mm and an inclination (equivalent to helix) angle of seven degrees. The eight evenly  spaced cutting inserts had a nose radius of 1.20 mm. Special care was taken to minimize radial runout. The part material was 7075-T6 aluminum and was cut dry at a spindle speed of 775 rpm. An axial depth of cut a=3.175 mm was used throughout. To initially calibrate the ACT and LEF process models cutting tests were conducted over feed rates ranging from 0.075 mm/tooth to 0.168 mm/tooth and with immersion intervals of [0.597, 2.544) radians and [1.571, 2.544) radians. The calibrations values found for the ACT model were 151 l.553h °  ; 2 kN/mm  KR  =  383 0.274h °  For the LEF model the values found were K  =  1.905  1 c  =  0.364  ; 2 kN/mm  2 c  =  0.0172  =  2.519  mm  The example part shapes used in the verification experiments are shown in figure 7.2. The shape in figure 7.2(a) is shown with all dimensions and will subsequently be referred  Chapter 7. Simulations and experiments  232  Figure 7.1: Experimental setup. The illustration above shows the main components used in the milling experiments. Legend: A—charge amplifier; C—supervisory computer and data acquisition card; D—force dynamometer; E—spindle shaft encoder;• M—DC servomo tor; P—peak detector and signal averager; R—ramp waveform for table position; T—part; V—vertical milling machine; W—table axes motion controller.  Chapter 7. Simulations and experiments  233  to as the three feature part. The parts in figures 7.2(b) and 7.2(c) have identical di mensions except for the missing features. These will respectively be referred to as the two feature and one feature parts. This shape was chosen to demonstrate the cutter immersion interval calculation procedures from chapter 4. Refer back to figure 4.17 for a diagram of the CSG data structure for the three feature part. The cutter path used is shown in figure 7.3 together with the cutter immersion arcs for the three feature part at selected reference positions. 7.3.2  Model verification and monitoring applications  Average x and y forces measured per tooth period are shown in figure 7.4 for the three feature part cut at a feed rate of 0.151 mm/tooth. Note that the negative of the average x force is plotted to reduce the graph range. The signal coarseness is due to the remain ing runout between the eight cutting inserts. By referring to figure 7.3 the dominant points on the graph can be explained. On initial contact of the cutter with the part the forces increase rapidly since cutting occurs near the maximum uncut chip thickness. The absence of material over the two 16.0 mm diameter holes (near position 20 mm) then causes a reduction in average force. Beyond the holes the widest immersion is en countered, and the average forces increase to their highest level. A reduction in average force then occurs as the cutter encounters the two 25.4 mm radius semi-circular features, followed by an increase as the centre of the feature is passed. The lack of material at the start of the 25.4 mm wide L-shaped feature then causes a sharp reduction in both the x and y average forces. The y force then increases until the portion of the third feature perpendicular to the cutter path is encountered near position 110 mm. This is caused by the increasing radial force contribution near the extreme right edge of the cutter immer sion arc. Beyond the third feature the average forces increase briefly before the second pair of 16.0 mm diameter holes are reached near position 135 mm. The average forces  Chapter 7. Simulations and experiments  234  157.0 15.0  127.0  —  8.0  92.0  + 25.4  30.0  35.5  ciii dimensions in millimetres  97.5 (0)  (b)  (c)  Figure 7.2: Face milling example parts. (a) Three feature part. (b) Two feature part. (c) One feature part. All parts are similar in shape (except for the missing features) and hence dimensions are shown only for the three feature part.  Chapter 7. Simulations and experiments  235  oH dimensions in millimetres Figure 7.3: Face milling cutter path. The path of the 50.8 mm radius cutter over the three feature part is shown by the centre line. The same path was used for the two and one feature parts. Cutter immersion arcs are drawn at 10 mm increments and labelled at the 10 mm, 40 mm, 80 mm, 120 mm and 160 mm positions.  Chapter 7. Simulations and experiments  236  2.5 2.0 1.5 2 c  ‘  1.0  0.5 0.0 -0.5 0  40  80  120  160  200  position (mm) Figure 7.4: Experimental average forces—three features, feed rate 0.151 mm/tooth. The position along the x axis corresponds to the labels shown in figure 7.3. The negative of the average x force has been plotted to reduce the graph range. Signal coarseness is due to the remaining runout between the eight cutting inserts. then smoothly decay as the cutter exits the part. Simulations and experiments were conducted for the one, two and three feature parts at feed rates of 0.151 mm/tooth and 0.100 mm/tooth. Graphs were then prepared to allow comparison of the ACT and LEF model predictions to the experimental measure ments (figures 7.5 through 7.10). For clarity the runout component of the average force experimental measurements has been removed by taking an eight point moving average. In all graphs the negative of the average r force has been plotted. In each case there is good agreement between simulation and experiment. These examples demonstrate the correctness of the cutter immersion calculation procedures developed in chapter 4 as well as the suitability of the ACT and LEF milling process models. The cutter immersion intervals were computed from the part CSG model using a microcomputer and the cutmod program. As stated in chapter 4, approximately 20 seconds were required to calculate the immersion intervals at 2 mm increments. The ACT  Chapter 7. Simulations and experiments  237  model process simulation was computed using program helix, and the LEF model process simulation was computed using program face. Both programs had an execution time of approximating 45 seconds and hence the total CSG model to average force prediction procedure was completed one minute and five seconds. Details on the microcomputer used and listings of the simulation programs are provided in [110, appendix D]. When the part shape matches the solid model there is a very strong agreement be tween the milling process model predictions and the observed average cutting forces. The machine tool should therefore monitor these signals to confirm that cutting is proceeding normally. If a significant deviation is observed then cutting should be stopped immedi ately and the cause diagnosed. An abrupt change in average forces between successive tooth periods may indicate tooth breakage (see Altintas [3]). The other possibility is a sudden change in part geometry. If the solid modeller simulation predicts no sudden change in average forces, then a tooth breakage may be concluded. Otherwise cutting should continue at a cautious feed rate. If the measured average forces greatly exceed the solid modeller predictions or abrupt changes occur once per rotation then again damage to the cutter teeth may be concluded. Final conclusive evidence of tooth breakage can be obtained by calculating the predicted instantaneous x and y forces for the next few tooth periods and comparing these to the measured signals. If indeed a tooth has been damaged these values will greatly disagree. Should this not be observed then cutting may safely resume at the scheduled feed rate. Normally all of the simulation data for this purpose would not be calculated in advance, but would be required on demand should a potential tooth breakage be detected. To implement this scheme there must be a commu nications link between the machine tool executive and the solid modeller host computer (as suggested in figure 1.1). Furthermore, the solid modeller must be able to compute the required information very quickly to avoid long idle times on the factory floor. Prolonged deviation of the measured average forces from the solid modeller prediction  Chapter 7. Simulations and experiments  238  2.5 2.0 1)  1.5 1.0  ci) c3  0.5 0.0 -0.5 0  40  80  120  160  200  position (mm) Figure 7.5: Average forces—one feature, feed rate 0.100 mm/tooth. The legend shows the line types plotted to represent the ACT and LEF model predictions, and the experimental measurements.  2.5 2.0 ci) L) C  1.5 1.0  ci)  0.5 ci) >  0.0 -0.5 0  40  80  120  160  200  position (mm) Figure 7.6: Average forces—one feature, feed rate 0.151 mm/tooth. The legend shows the line types plotted to represent the ACT and LEF model predictions, and the experimental measurements.  Chapter 7. Simulations and experiments  239  2.5 2.0 U) C)  1.5  C  0  1.0  U)  0.5 U)  0.0 -0.5 0  40  80  120  160  200  posftion (mm) Figure 7.7: Average forces—two features, feed rate 0.100 mm/tooth. The legend shows the line types plotted to represent the ACT and LEF model predictions, and the experimental measurements.  2.5 2.0 U) C) 0  1.5 1.0  U) 0 C U)  0.5  0  0.0 -0.5 0  40  80  120  160  200  position (mm) Figure 7.8: Average forces—two features, feed rate 0.151 mm/tooth. The legend shows the line types plotted to represent the ACT and LEF model predictions, and the experimental measurements.  Chapter 7. Simulations and experiments  240  2.5 2.0 1.5 C) 0  1.0  c)  0.5 ci, > C)  0.0 -0.5 0  40  80  120  160  200  position (mm) Figure 7.9: Average forces—three features, feed rate 0.100 mm/tooth. The legend shows the line types plotted to represent the ACT and LEF model predictions, and the exper imental measurements.  2.5 2.0 ci C) 0  1.5 1.0  ci) C) ci > C)  0.5 0.0 -0.5 0  40  80  120  160  200  position (mm) Figure 7.10: Average forces—three features, feed rate 0.151 mm/tooth. The legend shows the line types plotted to represent the ACT and LEF model predictions, and the exper imental measurements.  Chapter 7. Simulations and experiments  241  may indicate an unexpected actual part shape. Observe in figures 7.5 through 7.10 the significant difference in the average force “signatures” of the three different but similar part shapes. Any sizeable feature of the part will influence the overall average force values, and its absence will be detectable. The LEF model equations for computing the average forces (6.19) and (6.20) are based solely on integrals of the cutter immersion interval. Therefore the average forces for disjoint intervals can be added linearly. That is, if interval A  st,A, Ekex,A) 4 [  is disjoint from interval B  forces are  F,A, F,A, F,B  FX,AUB  F,A  =  difference A  —  +  F,B  and  and  F,B,  F,AUB  =  B has average forces  t,B, q 8 [qS ex,B) 5  and the corresponding average  then the Boolean union A U B has average forces F,A + FX,A_B  F,B.  Similarly if  F,A  —  F,B  B C  and  A then the Boolean  FY,A_B  =  F,A  —  FB.  For example, if the average forces for the set complement of the third part feature are subtracted from the average forces for the two feature part, then the average forces for the three feature part will be obtained (figure 7.11). This property can be used to assist in identifying a single missing part feature. If the average uncut chip thickness (and hence KT and  KR)  change little then this technique can also be applied using the ACT  model. 7.3.3  Feed rate scheduling  To illustrate the incremental feed rate scheduling procedure (section 6.3) the three feature part was used. At a constant feed rate of 0.151 mm/tooth the predicted average torque is shown in figure 7.12. Now suppose that a average torque T 9 of 60 N-m is to be maintained. Such a constraint would in practice be due to a limitation of the spindle drive motor. By solving (6.42) and (6.43) incrementally along the cutter path the target feed rate shown in figure 7.13 is obtained. The second criteria imposed is a maximum feed rate of 0.175 mm/tooth. This constraint was added to avoid difficulties in tracking the machine tool table position with the experimental equipment available. In industry  Chapter 7. Simulations and experiments  P3  242  P2  1.5 .2  1.0  0  40  80  120  160  200  position (mm)  Figure 7.11: Average force Boolean combination. For the LEF model, the average forces of features combined using Boolean operators can be combined under specific conditions. For example, the average forces for the three feature part P3 equal the average forces for the two feature part P2 less the average forces for the third part feature F3.  Chapter 7. Simulations and experiments  243  150 120 90  120  position (mm) Figure 7.12: Predicted average torque—three feature part. Using a constant feed rate of 0.151 mm/tooth the average torque predicted by the ACT and LEF process models for the three feature part is shown above. a maximum uncut chip thickness constraint might be substituted. With a feed rate tolerance  of 0.01 mm/tooth the average torque target feed rate  was approximated using straight line segments. The approximation was then combined with the maximum feed rate constraint to yield the final target feed rate to be scheduled (figure 7.14). This feed rate was then converted to an advance rate per second. With eight teeth and a spindle speed of 775 rpm the conversion expression is s (mm/s)  =  .st (mm/tooth)  .  8 teeth rev.  .  775 rev. mm. .  mm. 60 s  To allow for a table servo drive rise time of 80 ms (see section 7.5) plus 20 ms to com municate a new velocity to the motion controller an offset of t 100 d 3 = ms was used to compensate for the servo dynamics (refer back to figure 6.14). Expressed again in mm/tooth, the target and experimentally achieved feed rates for the scheduling test are shown in figure 7.15. Observe that the achieved feed rate is slightly smaller than the target feed rate—as planned. Although the average torque could not be directly measured with the available equipment, the part geometry is accurately known  Chapter 7. Simulations and experiments  244  0.3 o 0 .  E E  0.2  ci) 0 0  ci) c1)  0.0  0  40  80  120  160  200  position (mm) Figure 7.13: Target feed rate—average torque constraint. The graph above show the target feed rate to achieve an average torque of 60 N-rn when cutting the three feature part. Predictions for both the ACT and LEF models are provided.  0.3  0 0  0.2  E E 0  0.1  0  ci) ci-)  0.0  0  40  80  120  160  200  position (mm) Figure 7.14: Merged target feed rate—average torque constraint. To satisfy both con straints the lower of the two target feed rates is retained at each point along the cutter path. Legend: st,tgti—average torque constraint; st,tgt2—maximum feed rate constraint; st,tgt—merged feed rate.  Chapter 7. Simulations and experiments  245  0.3 0  02 E 1J  0.1  0 Q) V  0.0 0  40  80  120  160  200  position (mm) Figure 7.15: Scheduled feed rate—average torque constraint. The graph above shows the target and the experimentally achieved feed rates. As planned, the achieved feed rate is slightly smaller than the target feed rate. and hence the average torque can be estimated using measurements of the average a and y forces from the dynamometer (figure 7.16), solving for the ACT model parameters KT and KR (see (6.9)) and the torque estimate obtained using (6.40). A graph showing this experimental estimate and the predicted average torque for the ACT model is shown in figure 7.17. Other than the expected deviation due to the difference between the target and achieved feed rates, a good agreement between experiment and prediction was obtained. These results demonstrate the usefulness of the solid modeller based milling process simulation system for planning purposes. 7.3.4  Recursive parameter identification  This section demonstrates recursive identification of the ACT model parameters as out lined in section 6.1.1. A similar approach would be used for the LEF model—mathematical details appear in section C.1. Data from the three feature part and feed rate scheduling experiment conducted in  Chapter 7. Simulations and experiments  246  2.5 2.0 1.5 L) Q  1.0  q)  c) >.  0.5 0.0 -0.5 0  40  80  120  160  200  position (mm) Figure 7.16: Average forces—scheduled feed rate. Shown above are the average x and y forces obtained while cutting with the feed rate schedule of figure 7.15.  E  60  L.  0 q)  30  0  a) > 0  00  40  80  120  160  200  position (mm) Figure 7.17: Average torque—scheduled feed rate. The graph above shows the experimen tal average torque estimate and the ACT model prediction for the feed rate schedule of figure 7.15.  Chapter 7. Simulations and experiments  247  section 7.3.3 was is used because of the wide domain of average uncut chip thickness  ] values available. The average x and y forces for this experiment were presented in figure 7.16. Samples were recorded at 2 mm position increments to avoid repeated iden tification with unchanging part geometry and h values. Because the in cut immersion intervals beyond position 180 mm are too small to reliably solve for KT and KR using (6.9), these average force measurements were discarded. To provide a sufficient quantity of samples the remaining data was duplicated four times. This simulates cutting four identical parts. Offline identification of the ACT model parameters was then performed using the recursive least squares method. Initial values were: 0 P  10000  0  0  10000  (covariance matrix)  =  0 K  [1  1  T 1  0.1 0.1 =  (weighting factors) IT  (parameter estimates)  0.99  (forgetting factor)  The parameter estimates over the four part cycles are plotted in figure 7.18. The estimates converge to the values log MT log MR  —1.322 (or MR  =  =  0.270 (or MT  0.266) and PR  =  1.310 2 kN/mm ) , PT  =  0.222,  0.372 obtained using ordinary linear  regression (non-recursive least squares). Recalling the form (3.4) KT  =  MTh_l’T  =  222 1.310h°  ; 2 kN/mm  KR  =  MRh,_PR  =  372 0.266h°  These estimates are approximately the values previously obtained during the calibration  tests (page 231). A more rapidly converging and improved estimate could be obtained by frequently and randomly changing feed rates (within allowable constraints) so that sampling occurs over broader domain of average uncut chip thickness. The principal advantage of the recursive parameter identification approach is that the data is obtained during productive cutting rather than during separate calibration  248  Chapter 7. Simulations and experiments  1.0 0.5 10.0 ci-)  -  -05  E s—  cL  1 -1.5  0  1  2  3  4  cyc’e Figure 7.18: Recursive parameter estimates. The graph above show the estimates ob— tamed for the ACT model (3.4) parameters. Details are provided in the text. tests. This is possible because the part geometry is accurately known. In general practice conservative estimates for the cutting forces will be available and hence a cautious MRR can initially be used until improved online estimates become available. Thereafter cutting at a more productive MRR can safely proceed. Detection of a sudden change in parameter estimates indicates either a substantial deviation from the nominal part shape or cutter breakage. Consistent but slow changes may indicate tool wear. To implement these strategies requires use of the solid modeller in two distinct ways. First, condensed geometric information is needed to convert force measurements to the process model variables. Secondly, a feed rate schedule using the new parameter estimates must immediately be provided. This requires a communications link to the machine tool executive (figure 1.1) and demands an efficient implementation of the milling process calculations within the solid modeller.  Chapter 7. Simulations and experiments  7.3.5  249  Summary  The face milling examples have verified the implementation of both the ACT and LEF process models within the solid modeller. The good agreement obtained between simula tion and experiment implies that online monitoring applications can rely on the simula tions to provide accurate reference data. To maintain adherence to process constraints, the feed rate can be varied to follow a schedule prepared using the solid modeller. This concept was successfully implemented using imposed average torque and maximum feed rate constraints. Finally, an example of recursive process model parameter identification was presented. To be of practical use the solid modeller calculations must be carried out efficiently and the simulation data condensed before it is transmitted to the machine tool executive. This is particularly important when online updating is proposed.  7.4  End milling examples  7.4.1  Introduction  The end milling experiments were conducted using a four flute USS cutter with a radius r. of 12.7 mm. The helix angle was &“3O degrees. The part material was 7075-T6 aluminum, cut dry at a spindle speed of 473 rpm. A constant axial depth a=19.05 mm was maintained. The ACT model was calibrated by sampling the average forces with an immersion interval of [7r/2, ir) degrees (half immersion, down milling) and feed rates ranging from 0.018 to 0.087 mm/tooth. The following process model equations were obtained: KT  =  424 0.317h°  ; 2 kN/mm  KR  =  217 0.212h°  Chapter 7. Simulations and experiments  test 0 1 2 3 4 5  st, q 5 [q ex) 5  [0,2r/3) [0,ir/2) [0,7r/3) [ir/3,r)  [r/2,ir) [2r/3,ir)  i (mm) 0.062 0.055 0.041 0.062 0.055 0.041  250  (kN/mm ) KT 2 1.018 1.069 1.207 1.018 1.069 1.207  KR 0.388 0.398 0.424 0.388 0.398 0.424  Table 7.1: Helical cutter instantaneous force tests. The axial depth of cut a is 19.05 mm for all tests. Teeth are in cut during only the interval {q, 7.4.2  Model verification  A first set of trials were conducted to verify the helical cutter expressions (6.29). For this experiment the charge amplifier signals were connected directly to the data acquisition card (see figure 7.1) and recorded at a rate of 720 samples per revolution. Averages for ten successive revolutions were then computed. The feed rate was 0.087 mm/tooth. Cutting conditions for the six tests are given in table 7.1. Corresponding graphs show ing the simulation predictions and experimental measurements are labelled figure 7.19 through 7.24. Some deviation in the experimental measurements is observed. This is attributed to radial runout (measured to be approximately 30 gm), which could not be further reduced using the available equipment. There is, however, good agreement be tween the shape of the simulation and experiment curves and hence correctness of (6.29) is concluded. The remaining end milling examples all involve the part shape shown in figure 7.25. The two cutter paths used are labelled A and B in figure 7.26. The simulation predic tions were obtained using programs cutmod and helix (see [110, appendix D]). Each complete simulation along the cutter path at 1 mm increments required approximately one minute of execution time. Unless otherwise noted, the radial runout component in  Chapter 7. Simulations and experiments  251  2 1 c:I) C-)  0  0  —1 -2 0  rt /2  3n/2  23t  rotation angle Figure 7.19: Helical cutter instantaneous force test 0. Values are plotted over one revo lution of the four flute cutter. Simulations using the ACT model are shown with thicker lines and experimental measurements are shown with thinner lines.  2 1 q) C)  0  0  —1 -2 0  33t/2  ru/2  2rt  rotation angle Figure 7.20: Helical cutter instantaneous force test 1. Values are plotted over one revo lution of the four flute cutter. Simulations using the ACT model are shown with thicker lines and experimental measurements are shown with thinner lines.  Chapter 7. Simulations and experiments  252  2 1  C)  0  I—  C)  —1 -2 0  3n/2  t/2  2it  rotation angle Figure 7.21: Helical cutter instantaneous force test 2. Values are plotted over one revo lution of the four flute cutter. Simulations using the ACT model are shown with thicker lines and experimental measurements are shown with thinner lines.  2 1 ci) C)  0 —1 -2 0  3t/2  rt /2  2m  rotation angie Figure 7.22: Helical cutter instantaneous force test 3. Values are plotted over one revo lution of the four flute cutter. Simulations using the ACT model are shown with thicker lines and experimental measurements are shown with thinner lines.  Chapter 7. Simulations and experiments  253  2 1 ca) L)  0  C  0  —1 -2 0  31/2  3n/2  2n  rotation angle Figure 7.23: Helical cutter instantaneous force test 4. Values are plotted over one revo lution of the four flute cutter. Simulations using the ACT model are shown with thicker lines and experimental measurements are shown with thinner lines.  2 1 ci) C)  0  0  —1 -2  3n/2  0  2m  rotation angle Figure 7.24: Helical cutter instantaneous force test 5. Values are plotted over one revo lution of the four flute cutter. Simulations using the ACT model are shown with thicker lines and experimental measurements are shown with thinner lines.  Chapter 7. Simulations and experiments  Gil  254  dimensions in millimetres Figure 7.25: End milling example part  the experimental measurements was smoothed by taking a four tooth moving average. The feed rate was a constant 0.087 mm/tooth. The experimental and predicted average x and y forces along cutter path A are shown in figure 7.27. The negative of the average x force is plotted. The significant features in the test part shape are readily recognized in the force signals. Near the 15 mm a slight decrease in the y average force is observed as the cutter encounters the 16.0 mm diameter hole. The average forces then increase up to the maximum immersion near the 25 mm position. Beyond the 50 mm position the forces decrease as the cutter enters the large void. Near the 80 mm position the forces are smallest, and then slowly increase as the  Chapter 7. Simulations and experiments  255  18,5  y x  all dimensions in millimetres Figure 7.26: End milling cutter paths. The two paths labelled A and B were used in the end milling examples. The cutter was a 12.7 mm radius HSS helical end mill and the axial depth of cut was 19.05 mm. Cutter immersion arcs for the two paths are shown at 10 mm increments and labelled at the 40 mm, 80 mm and 120 mm locations.  256  Chapter 7. Simulations and experiments  2.0 1.5 L) C-)  1.0  0  0.5 0 0  0.0 -0.5  80  40  0  120  160  position (mm) Figure 7.27: Average forces—end path A. For cutting along end path A the average forces obtained experimentally and by simulation with the ACT model are shown above. The feed rate is a constant 0.087 mm/tooth and the axial depth of cut 19.05 mm. The x force has been negated. immersion widens. The overall agreement between the simulation predictions and the experimental measurements is very good. Figure 7.28 show the maximum resultant force values. The simulation predictions were computed rapidly using the numerical methods described in section 6.2.2 with a tolerance Ff 01  =  0.050 kN. Good agreement between simulation and experiment is ob  served, although the experimental measurement appears to be slightly less than predicted. This is due to bending of the cutter, and is discussed in more detail later. In section 7.4.3 the maximum resultant force is imposed as a constraint to demonstrate use of the rapid feed rate scheduling technique developed in section 6.3.2. End milling path B was used to examine the surface location error prediction capa bility. Again the axial depth of cut was 19.05 mm and the feed rate 0.087 mm/tooth. As an initial check, the simulated average forces were computed and compared to the experimental measurements (figure 7.29). As expected, good agreement was obtained.  Chapter 7. Simulations and experiments  257  2.0 1.5 0  U)  j  0.5 0.0  160  position (mm) Figure 7.28: Maximum resultant force—end path A. For cutting along end path A the maximum resultant force obtained experimentally and by simulation with the ACT model are shown above. The feed rate is a constant 0.087 mm/tooth and the axial depth of cut 19.05 mm. In section 7.4.3 the feed rate is automatically scheduled to maintain a constant maximum resultant force. The simulation and experimental results for the maximum normal force are shown in figure 7.30. For this graph the four tooth moving average was not used, and hence the unsteady component due to runout remains. Measured at 3 mm axial depth of cut spacings, the surface profile after milling is shown in figure 7.31.  Using a measured  cutter compliance of ksie=O.l 736 mm/kN, the simulated maximum surface location error prediction is compared to the experimental measurement in figure 7.32. The observed maximum normal force is consistently somewhat less than the predic tion. This occurs because the cutter is bending enough to measureably alter the uncut chip thickness. Based on the maximum normal force graph an overestimate of the max imum surface location error would be expected. Nominally this would occur, but for the case under study this is nullified by the large radial runout. Even though the force is lower, the larger radius teeth generate the final surface with a larger surface location error. These observations are consistent with those previously reported by Kline [56,  Chapter 7. Simulations and experiments  258  2.0  expt  ACT  Q-) C-) S.  0 cJ C) V C)  0  40  80  120  160  position (mm) Figure 7.29: Average forces—end path B. For cutting along end path B the average forces obtained experimentally and by simulation with the ACT model are shown above. The axial depth of cut was 19.05 mm and the feed rate 0.087 mm/tooth.  2.0  V C-)  1.5  S.  0  E  1.0  S.  0  0.5 C)  E  0.0  0  40  80  120  160  position (mm) Figure 7.30: Maximum normal force—end path B. Experimental and simulation (ACT model) maximum normal force results for cutting along end path B are shown above. The unsteady component in the experimental measurement is due to runout.  Cl)  ç,  CD CD  CD  0  C)  CD  CD  Cl)  CD  CD  ±  0  -t•-  CD  CD  ‘-4,  Cl) ±  U)  ,  °CD  l•4  ECU)  -—•  o  o  )  o-  CDO — CD c  0 CDCD  -i-  CDCDH  U)  CD  CD  CD  0 0  o  CD  C)  —.  Oq  CD  ‘  O  o  o 0 0 -  0 -  2  c,z  0  z(mm)  0  surf. icc. error (mm)  r)  0  3  D  0 Cl) 0_ 0 ‘‘  0  cc  U)  CD  I  Chapter 7. Simulations and experiments  260  0.4 5  0.3 0.2 0.1 ><  0.0 0  40  80  120  160  position (mm) Figure 7.32: Maximum surface location error—end path B. The experimental measure ment was found by taking the maximum of the five profiles shown in figure 7.31. The ACT model prediction was obtained using the relationship Sy,max = ksteFy,max where 736 mm/kN and Fy,max is the simulated maximum normal force from figure 7.30. 1 ksteO. chapter 7]. Despite the measureable bending of the cutter in this experiment, the simulation and experimental results are in adequate agreement for use during the bulk material removal stage of pocketing operations. During the finishing pass, when surface location is the primary concern, an improved simulation can be obtained by balancing the cutter deflection with the cutting forces (see Kline [56]). In this situation peripheral milling is likely to be occurring, and hence geometrical simulation of the cutter deflection can be obtained by translating the part boundary relative to the cutter path centreline. This would be repeated until a force balance is attained. The improved predictions can also be presented as graphs such as those shown in figures 6.17 and 6.18, and hence the rapid solution technique outlined in section 6.3.2 is still applicable. The solution for the runout problem is not to include it in the process model, but rather to reduce it using improved equipment.  Chapter 7. Simulations and experiments  7.4.3  261  Feed rate scheduling  In this section examples of the use of feed rate scheduling to maintain adherence to maximum resultant force and maximum surface location error constraints are presented. For the maximum resultant force example the rapid numerical solution method outlined in section 6.3.2 is applied to demonstrate this technique in practical use. The maximum surface location error example feed rate is scheduled using the incremental sampling approach described in section 6.3. Maximum resultant force  Consider end milling cutter path A (figure 7.26). The goal is to maintain the maximum resultant force at 1.2 kN by scheduling a varying feed rate along the cutter path. The second constraint s  <  0.175 mm/tooth is imposed to avoid difficulties in tracking the  machine tool table position with the experimental equipment available. On the factory floor other criteria would include maximum uncut chip thickness and surface location error constraints. The rapid numerical solution method begins by computing the inverse (6.45) to ob tain the target feed rate (as a function of the entry angle  )  required to maintain the  maximum resultant force at 1.2 kN. A piecewise linear approximation tolerance  3 t ,to1  st,tgtip(cbst) with  is then constructed (figure 7.33). For this example the value  mm/tooth is chosen. 7 st, t 9 S 2(qfSt)=O.1 t  The approximation is then merged with the second constraint  mm/tooth to yield the piecewise linear final feed rate target st,tgtp( q t) = 3  inf{st,tgtip(  .stt t 9 2( qst  )}  as shown in figure 7.34. Next, the portions of the cutter path during which down milling is occurring over a single immersion interval [q, 7r) are determined. These are shown in figure 7.35. Observe  Chapter 7. Simulations and experiments  262  0.30 0 0  E 5 ci)  0.25 0.20 0.15 0.10  ci) ci)  0.05  ci)  0.00 0  31/4  31/2  331/4  entry angle (radians) Figure 7.33: Piecewise linear feed rate—maximum resultant force constraint. The thinner line and LI symbols in the graph above indicate the piecewise linear approximation used for the maximum resultant force constraint target feed rate (shown with the thicker curve).  0.30 0 0  E E q)  0.25  St,tgtj p  0.20  St,lg2p  D  St,tgtp  0.15  cz,  0.10 0.05 ci)  0.00 0  31/4  31/2  3n/4  31  entry angle (radians) Figure 7.34: Merged target feed rate—maximum resultant force constraint. To satify both constraints the lower of the two target feed rates is retained. Legend: .st,tgtlp—maximum resultant force constraint; st,tgt2p—maximum feed rate constraint; s, —merged feed rate. 9  Chapter 7. Simulations and experiments  263  1  i _  irt/2  40  80  120  160  position (mm) Figure 7.35: Entry angle evaluation points—maximum resultant force constraint. The curve above shows the portion of end milling cutter path A during which down milling is occurring over a single immersion interval 7r). The symbol indicates the few positions where the entry angle 4 must explicitly be evaluated to construct the piecewise linear target feed rate schedule within the specified tolerances. that during initial entry, and when the cutter exits into one of the 16.0 mm diameter holes, down milling is not occurring. During these portions of the cutter path incremental sampling is used. Suppose for this example that the piecewise linear approximation for the feed rate is to always be within 0.01 mm/tooth of the exact value. Since has already been chosen, satisfying (6.48) requires dictates the value that intervals  [qS t 8 A, cbtB)  st,to1 6  st,to1tgtp 6 c  St,tolej,  =  0.005 mm/tooth  0.005 mm/tooth. This  must assume. For the example table 7.2 lists the piecewise  (from figure 7.34), the first derivatives  and the associated  0 t 8 6 c 1 ,t values required. Along the cutter path the entry angle q 5 is first evaluated at the endpoints of each boundary segment. The positions at which tB) 5 [q t 8 A, cb  enters a new piecewise linear interval  are then located by solving the appropriate analytic endpoint expression (one  of (5.1), (5.2), (5.3) or (5.6)). In betweeen these positions çb is evaluated at additional  Chapter 7. Simulations and experiments  [ ‘1stA, ‘bstB)  radians [0, 1.623) [1.623, 1.990) [1.990,2.199) [2.199, 2.304) [2.304,2.356) [2.356,7r)  264  st,tgtp( cl)stA)  Stgtp  mm/tooth 0.0317 0.0457 0.0688 0.1057 0.1438 0.1750  (mm/tooth) /radian 0.0086 0.0630 0.1764 0.3636 0.5960 0.0000  bst,toi radians 0.5817 0.0794 0.0284 0.0138 0.0084 00  Table 7.2: Determination of 01 t,t In the example, to satisfy (6.48) requires that 5 cb . not exceed 0.005 mm/tooth. The table above lists the piecewise linear in tervals [stA, stB) from figure 7.34, the first derivatives 1 st,tol 5 st,tgtp and the associated 9 values required. The interval starting endpoint value St,tgtp(hstA) is also shown for refer ence. points as dictated by the  sttol 4  value. In figure 7.35 the few locations at which explicit  evaluation of çi is required are indicated by a  L  symbol. In the portions of the cutter  path where down milling is not occurring, the feed rate is found by incremental sampling. The final feed rate is then obtained by condensing the samples and then applying the command offset procedure explained in section 6.3.1. Figure 7.36 shows the final target and the experimentally achieved feed rates. The maximum resultant force is shown in figure 7.37. Other than the variation due to runout, the 1.2 kN goal is met. •  Although a more involved analysis is required, the rapid numerical method of schedul  ing the target feed rate typically requires far fewer mathematical operations than incre mental sampling along the cutter path. Furthermore, it provides a continuous schedule which adheres to specified tolerances. There is no possibility of an undetected transient occurring because the incremental sample points are too widely spaced.  Chapter 7. Simulations and experiments  265  0.3 0 0  E 5 ci) C) -C) CI)  0.0 0  40  80  120  160  position (mm) Figure 7.36: Scheduled feed rate—maximum resultant force constraint. The graph above shows the final target and experimentally achieved feed rates for the maximum resultant force example.  2.0 —  Q) 0  1.5  0  0  1.0  C!)  CI.)  E E ><  C)  5  0.5 0.0 0  40  80  120  160  position (mm) Figure 7.37: Maximum resultant force—scheduled feed rate. The graph above shows the maximum resultant force measured with the target feed rate schedule of figure 7.37. The unsteady component of the force signal is due to cutter runout.  Chapter 7. Simulations and experiments  266  Maximum surface location error End milling cutter path B (figure 7.26) is used for the maximum surface location error example. The goal is to maintain the maximum surface location error near 0.100 mm. Again the second constraint 5 < 0.175 mm/tooth is imposed. Due to equipment diffi culties this experiment was conducted later with a sharp cutter and a new holder in the spindle. The measured cutter compliance was  =  0.1665 mm/kN and the ACT model  calibration parameters were KT  =  306 kN/mm 0.455h° ; 2  KR  =  197 0.336h°  At the cutter tip the difference in radii from the highest to lowest tooth (radial runout) was 13 m. The exact inverse and experimentally achieved feed rates to maintain the imposed constraints are shown in figure 7.38. The measured maximum normal force per tooth period is shown in figure 7.39. The unsteady component is caused by the radial runout. Overall the maximum normal force remains near the 0.6 kN level required by the max imum surface location error constraint. There is a brief overshoot to approximately 0.7 kN between positions 30 mm and 50 mm. During this period the feed rate is rapidly accelerating, and the static ACT milling process model predictions decrease in accuracy. Without significantly reducing the MRR, this problem can be overcome by limiting the feed rate acceleration. The surface profile was measured using a dial gauge at five axial depth of cut levels. Readings were taken at position increments of 2.032 mm (0.080 inches). Figure 7.40 shows the 3 D profile, and figure 7.41 compares the measured maximum surface location error to its exact inverse feed rate predicted value. Other than the higher error between positions 30 mm and 50 mm (explained above), good adherence to the 0.100 mm constraint was obtained.  Chapter 7. Simulations and experiments  267  0.3 -Th  0  0.2  E E 0  0.1  0 ci) ci)  0.0 0  40  80  120  160  position (mm) Figure 7.38: Scheduled feed rate—maximum surface location error constraint. The graph above shows the exact inverse and experimentally achieved feed rates for the maximum surface location error example.  2.0 1.5 ci) C-)  0 0  1.0  E 0  0.5 >< 0  E  0.0 0  40  80  120  160  position (mm) Figure 7.39: Maximum normal force—scheduled feed rate. The graph above shows the maximum resultant force measured with the feed rate schedule of figure 7.38. The un steady component of the force signal is due to cutter runout.  Chapter 7. Simulations and experiments  268  position (mm) 40.2 0.4  80.8 I  I  I  121.5 I  15  -  5  —.  E E  9  0.3  3 0.2  C  20.1 I.  Z3  -  cn  -  0.0  Figure 7.40: Surface profileschedu1ed feed rate. The graph above shows the surface profile of the part after cutting along path B using the feed rate schedule of figure 7.38. Measurements were taken along the z axis at stations 3, 6, 9, 12 and 15 mm from the tip of the cutter. The remaining two axes represent the position along the cutter path and the surface location error.  Chapter 7. Simulations and experiments  269  0.4 E  0.3  expt  ACT  gO.2  :  0  40  80  120  160  position (mm) Figure 7.41: Maximum surface location error—scheduled feed rate. The experimental measurement was found by taking the maximum of the five profiles shown in figure 7.40. The ACT model prediction was obtained using the relationship 6 y,max = ksieFy,max where lCsle = 0.1665 mm/kN and Fy,max is the simulated maximum normal force. 7.4.4  Summary  The end milling examples have verified several aspects of the milling process model implementation within the solid modeller. A first set of tests confirmed the correctness of the helical cutter expressions (6.29). This was followed by confirmation of the maximum resultant force and surface location error prediction accuracy. Two sources of discrepency between the solid modeller predictions and experimental measurements were observed. The first, cutter radial runout, should not be modelled but rather should be reduced by improving the machine tool spindle assembly. Such equipment is commercially available. At large axial depths of cut deflection of the cutter was large enough to affect the uncut chip thickness and hence the cutting force. An improved milling process model which accounts for this is recommended. An application of rapid feed rate scheduling to maintain adherence to maximum re sultant force and maximum feed rate constraints was then presented. When peripheral  Chapter 7. Simulations and experiments  270  milling is occurring along the cutter path it was shown that analysis of the cutter immer sion intervals allows a satisfactory feed rate schedule to be obtained without evaluating the milling process model at small increments. This technique remains applicable even if a more complex milling process, which accounts for cutter deflection, is used. A final example demonstrated the use of feed rate scheduling to maintain adherence to a surface location error constraint. An issue not addressed herein is the problem of contouring errors (see section 2.3.3) caused by varying feed rates. The reader is referred to the recent article by Butler, Haack and Tomizuka [13] for an introduction to the topic.  7.5  Adaptive control  7.5.1  Introduction  The most widely studied alternative to a priori feed rate scheduling is the use of online feedback control techniques. The basic principle is to specify a reference threshold for a process constraint, and then design a control system to maintain adherence to the reference. As stated in chapter 2, unaided control systems will react with a transient when sudden process changes occur. The result is violation of the constraint, which in milling is unacceptable. To overcome this shortcoming the use of solid modeller data is proposed. For illus tration, the problem of maintaining adherence to a reference maximum resultant force during end milling is examined. This constraint is frequently imposed to prevent failure of the brittle cutter shank (see section 3.3.3).  Chapter 7. Simulations and experiments  271  Figure 7.42: Maximum resultant force process block diagram. The controller command velocity u is received by the table servo drive which achieves, for a fixed spindle speed, the actual feed rate per tooth s. The dynamic milling process, which includes the cutter compliance, then produces a maximum resultant force per tooth period Fmax which is sampled and returned to the controller for comparison with the reference Fmax,r. 7.5.2  Process model  A block diagram of the maximum resultant force process is shown in figure 7.42. The controller command velocity u is received by the table servo drive which achieves, for a fixed spindle speed, the actual feed rate per tooth s. The dynamic milling process, which includes the cutter compliance, then produces a maximum resultant force per tooth period Fmax which is sampled and returned to the controller for comparison with the reference Fmax,r. The table servo drive dynamics were identified by careful measurement [2] and are assumed to be unchanging. Derivation of the dynamic milling process model follows: Based on the LEF model, the maximum resultant cutting force per tooth period i is approximated by the relationship Fmas() = a(Khm(i) + p) where K  is a specific cutting pressure related constant (kN/mm ) 2  (7.1)  Chapter 7. Simulations and experiments  hm(j)  p  272  is the apparent maximum chip thickness (mm) (described below) represents the frictional edge forces per unit axial depth of cut (kN/mm)  During machining of an actual part, changing immersion geometry will cause varia tions in the resultant cutting force. To comply, the cutter will deflect with component S(i) opposite to the feed direction (figure 7.43). Discretizing per tooth period the ap  parent maximum chip thickness is therefore defined as hm(i) = b[s(i  1)  —  —  S(i) + 6(i  —  1)]  (7.2)  where b is a width of cut parameter and depends on the immersion geometry. The basic form of this model was proposed by Koenigsberger and Tlusty [60] and derived in discrete form by Tomizuka, Oh and Dornfield [129]. The relationship between the maximum resultant force and the deflection is (7.3)  S(i) = ksie,xFmax(i)  where , 316 is the end mill compliance in the feed direction. k Combining (7.1), (7.2) and (7.3) yields Frnax()  =  St(Z  —  1)  —  ksie,xFmax(i) + ksie,xFmax(  Additional rearrangement and defining /1  t  =  Fmax()  1) +  Kb  ksje,xKab yields  \\  1 —+11 /t  —  Fmax(1)  J  1/  p  1  s1e,x \ 1  Introducing the backward shift operator q 1 and defining the parameters —  —. 1 +  —  _  ksie,x(1 +  ii)  ap 1 + JL  provides the model form (1 + aq )Fmax(i) 1  =  st(i) +7 1 ‘q  (7.4)  Chapter 7. Simulations and experiments  o(i—1)  273  x  (1)  I \  F max (i)  St  (i—i)  Figure 7.43: Process dynamics due to cutter compliance. Due to the cutter compliance, the maximum resultant force Fmax(i) will cause a deflection in the feed direction 6(i) to obey (7.3). This occurs for each tooth period i, resulting in a dynamic process model.  Chapter 7. Simulations and experiments  274  Substituting the feed rate s in mm/s for the feed rate s in mm/tooth, (7.4) becomes (1 + aq’)Fma(i) = q  1 S f(i)  (7.5)  +  This notation is preferred since it involves only directly measureable quantities. In (7.5) c and j3 specify the dynamics between the feed rate per tooth and the maximum resultant force. The parameter y characterizes the frictional edge forces in the LEF model. Open loop identification experiments were conducted to confirm the dynamic milling process model and to obtain the cutter-part specific parameters for simulation purposes. The cutter was a 12.7 mm radius zero helix end mill used with a single carbide insert. The part was 7075-T6 aluminum and was cut dry. The spindle speed was 774 rpm, the axial depth of cut 3.81 mm and the immersion interval a full [0, 7r) radians. To excite the dynamics the feed drive motor was directly commanded by a pseudo-random binary signal (PRBS) with one to ten tooth periods between transitions. Feed rate commands oscillating between limits of 0.75  —*  1.25, 1.00  <—  2.00, 2.00  —*  4.00 and 4.00  —*  6.00  mm/s were used. The identification algorithm used was the normalized least mean squares (NLMS) or projection method (see Goodwin and Sin [39]) which estimates the parameters r  U  /3  using the recursive equation OT(i) =  eT(i  -1)  -  + c+  -1)  where ke c  is the estimator gain  (=  0.15)  is zero for this application  T ( i  -  1)6(i  -  l)j  (7.6)  Chapter 7. Simulations and experiments  275  and 1)  [  Fmax(  —  1) sf(i  —  1)  1  1  is the regressor vector. Initially all estimates were set to zero. Figure 7.44 shows the measured feed rate and maximum resultant force during a portion of the 2.00  —*  4.00 mm/s PRBS test. The force measurements are consistent  with a first order dynamic model having a rise time of approximately four tooth periods. The offset due to edge forces is apparent since doubling the feed rate less than doubles the steady-state maximum resultant force. Measurements of the steady-state maximum resultant force at various feed rates (table 7.3) confirm the linearity of relationship (7.1). The fitted edge force parameter p is 0.105 kN/mm and the specific cutting pressure related constant K is 1.411 kN/mm . 2 Consistent values were obtained for the recursively identified process model transfer function (7.5) (see table 7.4). The pole & near -0.24 corresponds to the observed rise time of four tooth periods, and provides an estimate for  of 0.316. Using this value  with a = 3.81 mm and p = 0.105 kN/mm yields 7 = 0.304 kN which closely agrees with the identified value in table 7.4. The specific cutting pressure related constant K is estimated by substituting q 1 = 1 in (7.5). From table 7.4 estimates for this value range from 1.060 to 1.426 kN/mm . This is consistent with the value 1.411 kN/mm 2 2 found using the steady-state measurements. The directly measured cutter compliance (when mounted in the spindle) was  = 0.073 mm/kN. Using the values from table 7.4 the  estimates for k ie,x range from 0.058 to 0.065 mm/kN. The lower oriented compliance 3 values reflect the fact that the maximum resultant force is larger and not aligned with its component in the feed direction. Overall, the experimental measurements are in good agreement with expectations, and use of the dynamic milling process model in simulation and control applications is  Chapter 7. Simulations and experiments  276  6 U)  E E  3 maximum resultant force  5 4  2 i.E  3 ci., ci.,  -s  2  I  E E  feed rate  I  = ci  U)  n  1,  ‘J  ...,  180  190  200  210  220  E  tooth period Figure 7.44: PRBS feed rate and maximum resultant force. The measured feed rate and maximum resultant force during a portion of the 2.00 <-* 4.00 mm/s PRBS test is shown in the graph above. The signals are consistent with a first order dynamic system with a four tooth period rise time.  feed rate (mm/s) maximum resultant force (kN)  0.50 0.60  1.00 0.83  1.25 0.95  2.00 1.28  3.00 1.70  4.00 2.05  6.00 2.90  Table 7.3: Steady-state maximum resultant forces. The table above lists the measured steady-state feed rate and maximum resultant forces observed during the PRBS cutting tests.  PRBS feed rate mm/s mm/tooth 0.75 1.00 2.00 3.00  *—* —* ÷-* —*  1.25 2.00 4.00 6.00  0.058 0.078 0.155 0.233  —* —* ÷-* ÷-*  0.097 0.155 0.310 0.465  3 kN mm / s 0.25 0.30 0.30 0.32  3’ kN/mm  &  3.23 3.87 3.87 4.13  -0.20 -0.24 -0.25 -0.24  kN 0.36 0.35 0.34 0.29  Table 7.4: Identified cutting model parameters. The PRBS feed rate in both mm/s and mm/tooth is shown, as are estimates for both /3 and /3’.  Chapter 7. Simulations and experiments  277  justified. 7.5.3  Controller design  Next, the maximum resultant force controller was designed using the milling process model structure derived above. Because of motion controller feed rate update time re strictions, a sampling (tooth) period of 48.75 ms was used. This corresponds to a spindle speed of 615 rpm with two equally spaced teeth. With this sampling period the zero order hold discrete transfer function of the table drive servo is (q) 3 G where K = 0.978, z 1  =  = Sf mm/s = 1 K(q + z1q ) 2 umm/s i+piq  9.171 x 1O and p’ = —2.079 x  10—2.  (7.7) To identify the milling  process model parameters, which will change with part geometry, specific cutting pressure and edge forces, the projection algorithm (7.6) was again used. The DC force component due to  ‘‘  was eliminated by subtracting Fo2) =  (i) 1 + &(i)  from both the reference Fmax,r(i) and the measured force Fmax() to obtain respectively Faxr() and F,ax(). This technique algebraically ensures proper reference force track  ing. The controller chosen was an indirect pole placement design (see Aström and Witten mark [5]) (figure 7.45). Closed loop performance was selected to correspond to a damping ratio of 0.707 and a rise time of four sampling periods. With these criteria the closed loop model transfer function is Fas Faxr  —  Bm Am  —  (1+mi+m 2 q ) 1 +m q +m 1 q 2  Chapter 7. Simulations and experiments  278  where 1 m = —1.162 and m 2 = 0.413. Combining the table drive servo transfer function (7.7) with the milling process model (7.5) yields (after eliminating the DC component) B Fax kN umm/sA —  K(q + z ) 2 q 1 q 1 1+p  —  /3q 1 1 1+&q  as the open ioop transfer function. Solving the closed loop equation BT AR+ES  —  Bm Am  for the controller polynomials yields the control law u(i) = —riu(i where r 0 = m 1  —  P1  —  —  1)  —  r u 2 (i  —  2) + toFaxr(j)  —  SoFax(Z)  —  SiFax(  —  1)  & and = z 0 + 1 r 2 r  =  0 r 1 z  —pi&—piro—&ro)/K 2 o = (m 3 = 0 t  2 + 1 (1+m ) /K m  Whenever ,B is estimated to be less than or equal to zero it is reset to a small positive quantity to avoid division by zero. 7.5.4  Simulations and experiments  For comparison purposes, and to verify the adaptive controller operation, cutting tests without the aid of solid modeller data were conducted first. The example parts and cutter paths exhibited a step increase in axial depth of cut (part A, figure 7.46), and a rapid increase in radial width of cut (part B, figure 7.47). The part material again was  Chapter 7. Simulations and experiments  279  A  -SMD  max  Fmax,r  Fmax  recursive identification  Figure 7.45: Adaptive controller block diagram. An indirect pole placement design was used (see Aström and Wittenmark [5]). Milling process parameters were identified using the projection algorithm (7.6). The solid modeller assistance input was added at the point marked L\FD.  Chapter 7. Simulations and experiments  280  90.0  —  68.0 43.0 18,0  —  [6.0  all dimensions in mm  [4.0  [2.0  width of cut 25.4  Figure 7.46: Adaptive control part A. The part and cutter path shown above were used to examine the response of the adaptive controller to a step increase in axial depth of cut.  Chapter 7. Simulations and experiments  281  part motion  20.0  —  50.8 90.0  all dimensions in mm  depth of cut 4.5  Figure 7.47: Adaptive control part B. The part and cutter path shown above were used to examine the response of the adaptive controller to a rapid increase in radial width of cut. The cutter radius was r = 12.7 mm.  Chapter 7. Simulations and experiments  282  7075-T6 aluminum, cut dry with a two tooth 12.7 mm radius zero helix end mill. The spindle speed was 615 rpm. The feed rate was constrained between 0.6 to 15.2 mm/s. To provide a transient free startup the reference force Fmax,r was increased linearly during the first 25 sample periods from 0.0 kN to a thereafter constant 1.5 kN. The tests were started with the cutter leading edge positioned 5 mm away from the part. To prevent an initial rapid feed rate (because there are no cutting forces) the part geometry was artificially extended to the starting location by adding a disturbance force at the input to the control loop (see figure 7.45). Details on the disturbance input are provided later the the solid modeller assisted experiments. The purpose of these initial conditions is to restrict attention to the portion of the cutter path where the geometry of interest is encountered. The simulations were performed assuming a constant oriented cutter compliance ksie,x  =  0.062 mm/kN. The other model parameters used were K  1.411 kN/mm 2  and p = 0.105 kN/mm. Random disturbance forces were modelled by multiplying the maximum resultant force prediction by zero mean, 0.05 variance Gaussian noise. The unassisted adaptive controller performance for part A are shown in figure 7.48. Note that for rapid simulation it was assumed that the maximum resultant force occurred when the cutter tooth was at immersion angle q5  ir/2 (i.e. at the leading edge). This  causes a small error near the step decreases in depth of cut near positions 43 mm and 68 mm. During the experiment runout causes a difference of 0.075 kN between the maximum resultant forces measured for the two teeth. When the immersion geometry is unchanging the controller maintains close regulation to the 1.5 kN reference, a constant feed rate and consistent, unchanging parameter esti mates. When the step increase in axial depth of cut from 3.0 mm to 6.0 mm occurs near position 18 mm, a maximum resultant force transient to 2.8 kN is predicted. A transient similar in magnitude occurs during the experiment. The controller quickly reduces the  Chapter 7. Simulations and experiments  283  feed rate and corrects the parameter estimates. Figure 7.49 shows the unassisted adaptive controller performance for part B. Near position 20 mm the hole is first encountered by the leading edge of the cutter. The controller reacts by steadily increasing the feed rate to maintain the reference maximum resultant force level. By the time material is encountered on the opposite side of the hole, the feed rate has reached the imposed limit of 15.2 mm/s. The simulated transient rises to 3.1 kN, but the controller recovers after three oscillation cycles. In the experiment a transient of 2.5 kN occurred. Parameter tracking is smooth throughout, and the estimates return to their pre-hole encounter levels. The parameter 7 primary represents the edge forces, which are a function of axial depth of cut alone. Since the depth of cut is constant, is expected to change very little across the hole. This indeed is observed in the graph. With both example parts the unassisted adaptive controller was unable to prevent a maximum resultant force transient when sudden increases in immersion geometry were encountered. The transient levels were well above the reference setting, which in indus trial practice would be set to a higher, more productive level. These transient forces would certainly result in shank breakage of slender end mills under industrial conditions, and hence an improvement to the unaided adaptive controller is required. Assistance was accomplished by adding artificial material to the solid model just prior to where the cutter would engage a real sudden increase in immersion geometry. Using the static process model (7.1) the maximum resultant force  was predicted for the part  shape including the artificial material. Within the modified adaptive controller algorithm the disturbance force to be added to the control ioop (figure 7.45) was computed as A where  FmOL  iSMD max  —  —  FSMD max  —  FONL max  is the maximum resultant force measurement received from the dynamome  ter and peak detection circuit (figure 7.1). This indirect strategy permits the controller  Ohapter 7. Simulations and experiments  284  3 ci) C-)  0  2  C,) ci,  1  E E E  0 16  Cl)  12  E  8 0 0 a)  4 0 0.6 0.4  ci) 0  E  0.2  ci,  i5  1 LI  0.0  ci,  E  0 0  -0.4 0  20  40  60  80  100  120  position (mm) Figure 7.48: Adaptive control—unaided, part A. Shown above is the adaptive controller performance without solid modeller assistance when cutting part A. Experimental results are shown with thick lines, simulation results with thin lines. Parameter estimate units are 3 (kN/(mm/s)) and (kN).  Chapter 7. Simulations and experiments  285  3 C) 0  2  0 U)  a)  1  5 .5 ><  0  S  U)  0 16 12  S S a)  8  a, a)  4 0 0.6  a)  0.4  —  0  S C’)  0.2  a)  a-)  0.0  S 0 0  a  -0.2  r-  -0.4 0  20  40  60  80  100  120  position (mm) Figure 7.49: Adaptive control—unaided, part B. Shown above is the adaptive controller performance without solid modeller assistance when cutting part B. Experimental results are shown with thick lines, simulation results with thin lines. Parameter estimate units are /3 (kN/(mm/s)) and (kN).  Chapter 7. Simulations and experiments  286  8 6 E E  4 2 0 0  20  40  60  80  100  120  position (mm) Figure 7.50: Assistance material—part A. To avoid a real maximum resultant force tran sient when encountering the sudden increase in depth of cut at position 18 mm, artificial material was imposed just prior to increase. The modified controller translates this into an disturbance force which is added to the control loop (figure 7.45). Note that the artificial increase in depth of cut is made at a finite rate to avoid an oscillatory re sponse. In both the aided and unaided tests the assistance material from 0 to 5 mm was added to avoid an initial high feed rate. to maintain sensitivity to online measurements at all times. The assistance material added for parts A and B is shown in figures 7.50 and 7.51 respectively. The thicker line indicates where solid modeller assistance was applied. In figure 7.50 assistance material is added to anticipate the sudden increase in axial depth of cut near position 18 mm. The artificial increase is added with a non-vertical slope to smooth the controller response. Assistance material in figure 7.51 is added to anticipate the sudden increase in radial width of cut which occurs as the cutter encounters the part beyond the hole. For both parts assistance material was added prior to initial engagement of the cutter (from position -5 mm to position 0 mm). This was also included in the earlier unassisted trials to prevent an initial rapid feed rate. For part A the adaptive controller performance with solid modeller assistance is shown in figure 7.52. With the addition of the solid modeller data the maximum resultant force  Chapter 7. Simulations and experiments  287  tance material 1.0  0.5  0.0 0  20  40  60  80  100  120  position (mm) Figure 7.51: Assistance material—part B. To avoid a real maximum resultant force tran sient when encountering the sudden increase in width of cut near position 60 mm, artificial material was imposed prior to increase. The modified controller translates this into an disturbance force AFD which is added to the control loop (figure 7.45). In both the aided and unaided tests the assistance material from 0 to 5 mm was added to avoid an initial high feed rate. at position 18 mm is eliminated. Note that solid modeller assistance is not required and not supplied at the step decreases in depth of cut (near position 43 mm and position 68 mm). The parameter estimates were consistent with the unaided trial, and with the known immersion geometry and process constants. For part B the adaptive controller performance with solid modeller assistance is shown in figure 7.53. Again, the solid modeller data prevented the transient which would oth erwise occur where the width of cut suddenly increases. Parameter estimates were not noticeably influenced by the solid modeller disturbance force. 75.5  Discussion  The above examples demonstrate the potential of solid modeller data to prevent the transients which otherwise occur when sudden increases in cutter immersion geometry  Chapter 7. Simulations and experiments  288  3 ci) C-) 0  2  cz 0 U) ci)  1  E E E  0 16  U)  12  E ci)  8  ci) ci.)  4 0 0.6  ci.)  0.4  0  C)) ci ci) ci-)  0.2 0.0  E  -0.2 -0.4 0  20  40  60  80  100  120  position (mm) Figure 7.52: Adaptive control—solid modeller assistance, part A. Shown above is the adap tive controller performance with solid modeller assistance when cutting part A. Experi mental results are shown with thick lines, simulation results with thin lines. The added AF,D signal is drawn in broken lines. Parameter estimate units are 3 (kN/(mm/s)) and (kN).  Chapter 7. Simulations and experiments  289  3 ci) C-) S.—  Q  Cl) ci) 5—  2  1  5 S S  C)-)  0 16 12  S S  8 c3 ci) Cl.)  4 0 0.6  ci)  S C)) Cl)  0.4  Y  0.2 -__________  Cl) ci)  0.0  S C-,  a  -0.2  -  -  -0.4 0  20  40  60  80  100  120  position (mm) Figure 7.53: Adaptive control—solid modeller assistance, part B. Shown above is the adap tive controller performance with solid modeller assistance when cutting part B. Experi mental results are shown with thick lines, simulation results with thin lines. The added £IFD signal is drawn in broken lines. Parameter estimate units are 3 (kN/(mm/s)) and (kN).  Chapter 7. Simulations and experiments  290  are encountered. In practical use the method would obtain maximum resultant force estimates using the simulation approach outlined in section 6.2.2. For applications such as die preparation, where use of adaptive control is frequently proposed, any small voids in the workpiece would be areas in which assistance would be required. These features must be recognized by the solid modeller.  The distance by which the disturbance force should precede  the actual immersion geometry change would be found by further analyzing the control system and using a strategy similar to that applied in section 6.3 to offset the command feed rate schedule. To avoid estimated parameter drift which can lead to control system instability, updates must be made only when the immersion geometry is actually changing (i.e. when new information is available). As an additional or alternative precaution, bounds on the allowable parameter values can be established using solid modeller data. This type of approach is suggested by Tamura, Ogata and Nikiforuk [121]. Finally, a simpler controller without parameter estimation can be designed to be tuned using a gain schedule (see Aström and Wittenmark [6, chapter 9]) computed by the solid modeller. In anticipation of the sudden gain increase which accompanies the immersion geometry increases, the controller gain would be reduced by a corresponding amount. A cautious feed rate would be applied until the immersion geometry was actually encountered, at which time regular controller operation would continue. 7.5.6  Summary  To maintain adherence to milling process constraints adaptive control is frequently pro posed as an alternative to a priori feed rate scheduling. In this section a linear dy namic milling process model based on the static LEE model was developed to relate the feed rate to the maximum resultant force. Pseudo-random binary signal experiments were conducted to verify the model and to obtain parameter values for simulations. An  Chapter 7. Simulations and experiments  291  adaptive pole placement controller was then designed and used to demonstrate the un acceptable transients which occur when sudden increases in cutter immersion geometry are encountered. This is an inherent characteristic of all feedback control systems. Use of solid modeller data to remove the transients was then studied. For the part geome tries considered the excessive maximum resultant force transient was safely eliminated, demonstrating the potential of the strategy.  Chapter 8  Summary  Solid modellers have become the preferred implement for mechanical design. Provision of manufacturing capabilities within a solid modeller is therefore a logical extension. For milling operations, much research attention has previously been directed towards planning a cutter path which nominally achieves a specified part shape. However, limited work has been undertaken to combine metal cutting mechanics with solid modelling to simulate the physical milling process. This thesis has focussed on the latter aspect. The specific contributions which were made are recounted below: • It was shown that exact cutter-part intersection geometry information is needed to accurately implement the milling process model. Research previously reported used a boundary representation (B-rep) part model and the Z-buffering technique to approximate the cutter-part intersection geometry. In contrast, the thesis uses a constructive solid geometry (CSG) model. A “divide and conquer” strategy was developed to determine the exact cutter-part intersection geometry. The intersec tion of the cylindrical cutter with each block and cylinder primitive was separately determined, and the intersection information combined using the CSG part data structure and Boolean set operations. • To achieve an acceptably efficient implementation, along any cutter path only the primitives which can influence the immersion intervals should be considered. Ex isting CSG redundant primitive elimination methods were therefore reviewed, and 292  Chapter 8. Summary  293  the strategy by which they would be tailored for the milling process simulation problem described. For a chain of cutter paths, such as would be used to create features such as pockets, improved performance is achieved by using computational geometry based search methods which identify only the relevant cutter paths. It was shown that, under given assumptions, constructing and searching a horizontal visibility planar subdivision can identify the relevant cutter paths in linear time. Other researchers needlessly update the part model after each incremental simula tion step. In contrast, the thesis procedure is to defer updating of the part model until after the entire feature has been cut. At that time the CSG design description, which is much less complex than the cutter path representation, is added to the model. This strategy maintains a minimum overall part model complexity. • The literature asserts that more rapid simulation methods must be developed be fore milling process simulation will become practical. To address this requirement for 2 1/2 D parts, the fundamental milling process model equations are reformu lated to efficiently simulate both face and end milling of general part shapes. Using the cutter-part intersection information obtained from the solid modeller and an exact analysis of the helical flute part contact geometry, analytic expressions for cutting forces, torques and surface error were developed. This is a more accu rate approach than the material removal rate (MRR) or differential axial element summation methods previously used. The equations provide a piecewise function representation of the instantaneous cutting forces, which can be analyzed using calculus and numerical methods to rapidly determine maximum values per tooth period. In addition to providing simulation data, the milling process model equa tions are inverted to obtain a feed rate schedule which simultaneously respects multiple process constraints. During peripheral milling precomputed cutting force  Chapter 8. Summary  294  and feed rate profiles, together with analytical expressions for the cutter immersion interval boundary, were used to achieve a variable sample spacing along the cutter path. This is a substantial improvement over the incremental methods used by previous researchers. • Both face and end milling simulations and experiments were conducted to verify the accuracy of the solid modeller based milling process simulation system predictions. Good agreement was obtained for the example part shapes, showing the viability of milling process simulation. Feed rate scheduling was used to achieve adherence to average torque, maximum resultant force and maximum surface error process constraints. Experimental measurements from these trials were also in good agree ment with simulation results. For online monitoring purposes it was shown how the simulation data can be used to reliably discern normal cutting conditions from events such as cutter tooth breakage, or an unexpected part shape. • Solid modeller information was provided to avoid force transients in adaptive force control. This overcomes a practical limitation of previously reported adaptive con trollers for milling, which would experience force transients that would result in cutter breakage at productive reference force settings. In summary, the thesis has developed a systematic method for determining the cutterpart intersection geometry with a CSG part model. Efficient computational geometry methods were used to identify the part geometry relevant to the milling process simulation calculations, and to avoid unnecessary part model updates. Reformulated milling process model equations were developed to efficiently predict cutting forces, torques and surface errors. Without requiring time consuming incremental sampling, feed rates to adhere to several process constraints were automatically scheduled. Experiments were conducted to confirm the accuracy of the solid modeller predictions, and to illustrate the use of the solid  Chapter 8. Summary  295  modeller based milling process simulation system for feed rate scheduling, monitoring, and to assist with transient avoidance for a maximum resultant force adaptive controller. The completed work is immediately capable of modelling the large class of 2 1/2 D parts, which are most frequently encountered in practice. Furthermore, the work provides a foundation for extending milling process simulation to 3 D parts.  Even in a 3 D  modeller, however, the 2 1/2 D solutions developed herein should remain available. In this way when the 3 D milling process simulation system recognizes 2 1/2 D geometry, it can use the more efficient 2 1/2 D solution. Additional continued research would concentrate on extending support to circular, parabolic and splined paths, and to four and five axis coordinated cutter motions. Milling process models for more complex cutter shapes, such as ball end mills, are required, as are improved chatter prediction models.  A great deal of work is required to extend  correct milling process modelling to three dimensional and sculptured surface machining. Finally, research effort is needed to further develop integration of the solid modeller milling process simulation system with the machine tool controller.  Appendix A  Algorithm analysis and growth rates  This appendix summarizes fundamental concepts on algorithm analysis and growth rates. For details see Aho, Hopcroft and Ullman [1]. Many algorithms in computer science, such as those proposed to treat computational geometry problems, are assumed to operate on an input population of n objects. The goal is to develop solutions which have shorter running times or reduced storage requirements. Frequently the running time is dependent not only on the size n, but also the nature of the input population. Therefore, the worst case running time T(n) is the commonly quoted measure. Due to variations induced by particular machines and compilers, T(n) cannot be exactly expressed in units of time. Rather, the growth rate of the algorithm is discussed.  0 such The statement T(n) is O(f(n)) means that there exist positive constants c and n that for n  no, T(n)  cf(n). An algorithm with running time O(f(n)) has f(n) as an  upper bound on its growth rate. Algorithms are frequently evaluated by comparing their growth rate functions f(n). For example, figure A.1 shows a graph of the running times for growth rate functions f(m)  =  2”, iOn , 5Onlogn and lOOn. Observe that the growth 2  rate ultimately determines the size of problem that can be solved in a fixed amount of time. Unless an algorithm is very nearly linear, only a marginally larger problem can be solved by increasing the speed of the computer. An asymmetric notation is used to specify a lower bound on the growth rate of T(n). The notation that T(n) is (g(n)) means that there exists a constant c such that T(n) 296  Appendix A. Algorithm analysis and growth rates  297  4000 3000 2000 1000  00  5  10  15  20  25  30  n Figure A.1: Common algorithm growth rates. For an input of size n, the graph shows , 1Om, the worst case running time upper bound for growth rate functions f(n) = 2 5Onlogn and lOOn. Unless the growth rate is very nearly linear, increasing the speed of the computer will only marginally increase the maximum problem size that can be solved in a fixed amount of time. cg(n) for an infinite number of cases. The lower bound is important in determining the suitability of algorithms for the problem to be solved. For example, suppose that a difficult to implement algorithm is proposed that will report all intersections of n line segments in time O(N+n log n), where N is the actual number of intersections. If it turns out that the input is of such a nature that N is 2 2(n ) , then the intersection algorithm really is 2 0(n ) . In this case the difficult algorithm offers no asymptotic improvement over simply testing each line segment against each other line segment—a simpler 0(n ) 2 approach.  Appendix B  Planar subdivision algorithm complexity proofs  B.1  Overview  This chapter contains detailed algorithm complexity proofs for the planar subdivision based relevant cutter path identification procedures discussed in section 5.2.5. To recapitulate, the following cutter path chain characteristics were assumed: Assumption B.1 Cutter paths intersect at most 0(n) times. Assumption B.2 A line segment of specified length (e.g.  2r) intersects at most a  constant number of (e.g. three) cutter paths (figure 5.22). Assumption B.3 All cutter paths exceed a minimum length (e.g. are at least r long). In the remainder of this section the above assumptions are used with the example con stants indicated. Substitution of other constant values does not alter the asymptotic complexity conclusions reached. The time complexity of the overall algorithm arises from the work required to initially create the planar subdivision data structure, plus the work required to traverse this structure while locating paths within the approximating rectangles. The emphasis in this chapter is on the latter stage. Before separately considering the horizontal visibility partition and generalized Voron oi diagram solutions, required preliminary lemmas are presented in the following section.  298  Appendix B. Planar subdivision algorithm complexity proofs  B.2  299  Preliminary lemmas  Lemma B.1 There are at most a constant number of paths within an area of specified size. Proof First, consider a O.5r x O.5r square (figure B.1). The diagonal of the square  has length O.5\/r  <  r, and hence, by assumption B.3, no path can be entirely within  the square. Therefore, any path partially within the area of the square must intersect at least one side of the square. By assumption B.2 each side, being O.5r  <  2r long, is crossed by at most three  cutter paths. The square has four such sides, and hence at most 12 paths can intersect the square. It now follows that there can be at most 12 paths within the area of the square. By subdividing any area into such squares, the lemma is proven for any area of specified size. •  Lemma B.2 At most a constant number of approximating rectangles enclose a specified  point. Proof  Any point within an approximating rectangle is within 2i/r of the cutter path  associated with the rectangle (figure 5.23). Therefore, if an approximating rectangle encloses a point S then there must be a point on the path associated with the rectangle within  of S (figure 13.2). The region within 2\/r of S is of specified area, and  hence by lemma B.1 there are at most a constant number of cutter paths within this region. The proof of the lemma then immediately follows. • Lemma B.3 There are in total 0(n) intersections between cutter paths and approximat  ing rectangles.  Appendix B. Planar subdivision algorithm complexity proofs  300  O.5r  5v r  Figure BJ: A 0.5r x 0.5r square. The diagonal of the square has length 0.5\/r < r and hence by assumption B.3 no cutter path can be entirely within it. A path (shown with thicker lines) partially within the square therefore must intersect at least one of the sides.  Appendix B. Planar subdivision algorithm complexity proofs  Proof  301  Divide the approximating rectangle into head, parallel, and tail portions as  shown in figure B.3. By assumption B.2 at most a constant number of paths can inter  sect the head and tail portions of the rectangle, which are of specified length. Over n approximating rectangles the number of such intersections is therefore O(n). In the remaining parallel portion, an intersecting path either exits through the head or tail, intersects the path associated with the rectangle, or has a vertex inside of the rectangle. Paths exiting through the head or tail portion have already been considered. By assumption B.1 there are in total 0(n) path self-intersections, and hence over all n approximating rectangles the number of paths intersecting both the parallel portion of an approximating rectangle and its associated cutter path is also 0(n). Finally, for n paths there are in total n + 1 or 0(n) vertices. By lemma B.2 at most a constant number of approximating rectangles can enclose any specified vertex. Therefore for all n vertices there are 0(n) enclosing rectangles and hence 0(n) approximating rectangle parallel portion—cutter path intersections of this type. This completes the enumeration of all possibilities, and therefore completes the proof. •  Lemma B.4 A line segment of specified length is intersected by at most a constant num ber of approximating rectangles. Proof  As in the proof of lemma B.2, in order for an approximating rectangle to intersect  a line segment L the cutter path associated with the rectangle must have a point within 2/r of L. The region within 2/r of L encloses a finite area and hence by lemma B.1 can contain at most a constant number of cutter paths. The number of approximating rectangles intersecting L must therefore also be constant. •  Appendix B. Planar subdivision algorithm complexity proofs  302  R2 r C  Figure B.2: Illustration for lemma B.2. If an approximating rectangle encloses point S then a point on the cutter path associated with the rectangle must be within 2’/r of S.  Appendix B. Planar subdivision algorithm complexity proofs  303  approximating rectangle  Figure B.3: Illustration for lemma B.3. The approximating rectangle perimeter is divided into head, parallel and tail portions.  Appendix B. Planar subdivision algorithm complexity proofs  304  In separate subsequent sections the remainder of the relevant cutter path identifica tion algorithm complexity proofs are developed for the horizontal visibility partition and generalized Voronoi diagram solutions.  B 3  Horizontal visibility partition  First it will be shown that, with the vertical blocks described in section 5.2.5, the time required to locate the relevant paths during the traversal stage of the algorithm is linear. It is then argued that insertion of the blocks does not increase the time complexity of the adjacency data structure building stage. As stated in section 5.2.5, the traversal stage is comprised of three components: 1. tracing along cutter paths inside the approximating rectangle until one of the four rectangle sides is reached 2. processing an intersection between an approximating rectangle side and a cutter path 3. processing an intersection between an approximating rectangle side and a horizontal visibility link Tracing along cutter paths inside the rectangle occurs when initially starting from the tail of the current path (figure 5.29) or when another portion of the previous path chain is within the rectangle (figure 5.31). The work involved in this procedure is to update the trapezoid boundaries each time a new horizontal visibility (HV) link endpoint is encountered along the traced paths. With the linked lists available in the adjacency data structure each update requires constant time. Since each HV link endpoint is encountered at most once per rectangle, this component of the traversal stage has a complexity equal to the total number of HV link endpoints enclosed by the n approximating rectangles.  Appendix B. Planar subdivision algorithm complexity proofs  305  An intersection between the approximating rectangle and a cutter path also involves only updating the trapezoid boundaries. Using the combined adjacency list (see page 155) this can be accomplished in constant time per intersection. Lemma B.3 asserts that over the n rectangles the number of cutter path—approximating rectangle intersections and therefore the time complexity of this component is 0(n). The third component, namely processing intersections between HV links and the approximating rectangles, also requires constant time per intersection to update the trapezoid boundaries. The inserted vertical blocks ensure that any HV links intersected by the rectangle have an endpoint within 2’/r of the cutter path associated with the approximating rectangle. Finding the overall complexity of the traversal stage therefore is equivalent to enumerating the number of HV link endpoints enclosed by regions extending around each of the n cutter paths. The following theorem establishes that this number is 0(n): Theorem B.1 Including any endpoints introduced by the vertical blocks, there are in  total 0(n) HV link endpoints. Proof  First, consider the HVP data structure before addition of the vertical blocks.  Each vertex in the cutter path chain creates two HV links resulting in three link endpoints (including the vertex). For the n + 1 vertices the number of HV links and endpoints is therefore O(n). Each path self-intersection (if permitted) will also create two HV links and three endpoints (including the path intersection point). The maximum of 0(n) intersections allowed by assumption B.1 therefore adds only an additional 0(n) HV links and endpoints. Now insert the vertical blocks. Each block has a finite length (< 2/r) and hence by assumption B.2 intersects at most a constant number of cutter paths. All n blocks therefore create 0(n) intersections, new HV links and new HV link endpoints. Note that  Appendix B. Planar subdivision algorithm complexity proofs  306  the vertical blocks cannot intersect each other with the applied vertex sorting order (see page 151). This establishes that in total the HVP adjacency data structure, including the inserted vertical blocks, contains O(n) HV link endpoints. • To rephrase lemma B.2, if each cutter path is surrounded by a region of radius 2\/r, then a constant number of such regions may enclose any of the HV link endpoints. For the O(n) HV link endpoints, this implies that there are in total 0(n) HV link endpoints enclosed by all enclosing regions, which establishes the claimed linear time complexity for the three discussed components of traversal stage. Addition of the vertical blocks of course adds a fourth component—processing intersec tions of approximating rectangles with the blocks. Updating the trapezoid boundaries for each intersection again requires constant time, and by lemma B.4 there are in total 0(n) such intersections for all blocks. The time complexity of the traversal stage therefore remains linear. Note that if in figure 5.23 the circular arc boundary were retained rather than the rectangular approximation, then all of the 2’./r distances would be reduced to  2r.  This  would reduce the linear time complexity constant factor, but a circular arc intersection test would now be required during the approximating bound traversals. As stated in section 5.2.5, insertion of the vertical blocks using the 0(n log n) sweep paradigm based adjacency data structure building algorithm poses no new implementa tion difficulties. If, however, it can be assumed that the cutter path chain is simple (i.e. does not self-intersect), an 0(n) time complexity for the overall relevant path identifica tion procedure can be achieved by using the linear time adjacency data structure building algorithm reported by Chazelle [24]. This algorithm requires that the path chain remain simple, and hence a more indirect approach to inserting the vertical blocks is required. One way to retain a simple path chain is to use artificial short, doubled paths in place  Appendix B. Planar subdivision algorithm complexity proofs  307  of the blocks. These paths extend from the original path vertices to the point where they would intersect an original path (or until the required block length is reached) and then double back (figure B.4). In this way intersections are avoided but the effect of the blocks is retained. To insert these paths in 0(n) time, the vertical visibility partition (VVP) of the original path chain is first built. The doubled path blocks are then added by starting at each original vertex and searching outwards using the VVP. When a point is reached where the block would intersect an original path, the artificial path is doubled back to its beginning. This is repeated until the required block length is attained. Note that by assumption B.2 at most a constant number of original cutter path intersections per block are possible and hence at most a constant number of artificial paths will be added per block. Over the n + 1 original vertices the number of added paths is therefore 0(n). The VVP adjacency data structure permits processing each avoided intersection in constant time, and hence the time complexity of this insertion procedure is 0(n). The above approach maintains the cutter path as a simple chain—hence Chazelle’s algorithm can be used. Therefore, if the original cutter path chain is simple and assump tions B.2 and B.3 are satisfied, the intrinsic complexity of the relevant path identification problem is linear.  BA  Generalized Voronoi diagrams  In this section it is shown that during traversal of the approximating rectangles 0(n) intersections of rectangles with generalized Voronoi diagram boundary segments and “spokes” will occur.  Lemma B.3 previously established that there are 0(n) cutter  path—approximating rectangle intersections. Determining the next Voronoi region can be accomplished in constant time per intersection, and hence the relevant cutter path  Appendix B. Planar subdivision algorithm complexity proofs  vertical block  308  U,  doubled path Figure B.4: Doubled path vertical blocks. Original paths are shown with thicker lines, the example vertical block and doubled paths are shown with thin lines. To permit the use of Chazelle’s linear time adjacency data structure building algorithm [24], a simple path chain must be maintained. This is achieved by inserted artificial doubled paths instead of the vertical blocks. To accomplish this in linear time, a vertical visibility partition of the original cutter path chain is first built and used to identify where the cutter pathb1ock intersection points would occur.  Appendix B. Planar subdivision algorithm complexity proofs  309  identification stage runs in linear time. The theorem to establish 0(n) rectangle—boundary segment/spoke intersections fol lows: Theorem B.2 The approximating rectangles intersect the generalized Voronoi diagram  boundary segments and spokes 0(n) times. Proof  Consider any spoke—for example the spoke labelled 3 in figure B.5. The cutter  path associated with any approximating rectangle which intersects /3 must be within 2/r of /3. Path b is one possibility. The approximating rectangle of any other candidate path p must intersect the portion of  /3  which is within 2/r of its path endpoint on b.  If an intersection occurred elsewhere on /3 then at that point p would be closer to /3 than b, which contradicts the fundamental property of a Voronoi diagram. Hence any intersection of an approximating rectangle with a spoke must occur along a spoke section of length at most 2v’r. Lemma B.4 asserts that there can be at most a constant number of intersections along a section of finite length, and hence each spoke is intersected by approximating rectangles at most a constant number of times. In total there are 0(n) spokes, and hence there also are 0(n) spoke—approximating rectangle intersections. Now consider any Voronoi boundary segment—for example the segment labelled bh in figure B.5. If an approximating rectangle intersects bh then it must also intersect one of spokes c,  /3,  -y, S or one of paths b, h. Lemma B.3 establishes that the number of cutter  path—approximating rectangle intersections is 0(n). It has just been shown that the number of spoke—approximating rectangle intersections is O(n). Therefore the number of Voronoi boundary segment—approximating rectangle intersections is also 0(n). • Note that plane curves of degree two or less (namely the conic sections) are involved in all the intersections, and hence no pair of curves can intersect each other more than twice.  Appendix B. Planar subdivision algorithm complexity proofs  cutter path -  310  spoke”  —  Voronoi boundary segment  h approximating rectangle  a’  I  bh  2r  b  Figure B.5: Illustration for theorem B.2. Any approximating rectangle which intersects spoke 3 must do so along the portion of /3 within 2’/r of path b. Otherwise at the intersection point the path associated with the approximating rectangle would be closer to 3 than path b, which contradicts the fundamental property of Voronoi diagrams. Approximating rectangles can intersect Voronoi boundary segments such as bh only if a spoke or path is also intersected.  Appendix C  Detailed milling process model mathematics  This appendix contains the mathematical details for several of the milling process model expressions stated in chapter 6. The reader is referred to this earlier chapter to appreciate the context of the material written here.  C.1  Linear edge force model  This section contains details on mathematical results stated in section 6.1.2. The critical angles  4m  within an interval [qf,  4k+1)  are found by rewriting an individ  ual function of (6.16) in the form 5 [h* + raK  T(b) =  St  sin(4 + j)]  rcaKs[h* + st(sinqcosjqc + cos qsinjq)j 3 [7(h* + s(P sin q5 + raK  Q cos q)}  where 7i=1;  P=cosjq5;  Q=sinj  The first derivative is therefore T’(q5) and hence, setting T’()  =  =  raK s 3 t(P cos  0, =  arctan  311  —  Q sin )  Appendix C. Detailed milling process model mathematics  312  which is stated as (6.17) in chapter 6. Equations (6.19) and (6.20) are derived following: Starting from the definition  J  =  —  J  çb  F,o(çb)d () cos 0 [-F,  =  (s sin 3 [—aK  =  =  3 —K  =  3 —K  =  3 K  sin  ir  -  FR,O() sin ]d  + h*) cos cos  —  + h* cos  [s sin 2 + 2h* cos [st cos 2  —  4h* sin  h*) sin ]d 2 +c  (cist sin 3 aK +  h* sin jd 2 +c  2 GiSt 51fl  + cist(1  + cjst(sin 2  —  h* sin ]d 2 — cos 2) + 2c 4c h * cos 2) + 2  ]  [s(7? + 1 3 K c S ) + h*(_Q + c P)] 2  (C.1)  which is (6.19). Similarly  .1  =  f[FT,o() sin  =  7  j 3 çb  j[aKs(st sin  =  =  (b)db 0 F,,  KSJ  — FR,o()cos]d + h*) sin  —  (cis sin 3 aK  [stsin2+h*sin_ cistsincos_c h*cosjd 2  — cos 2 + 2h* sin 4 cos [— st(sin 2 — 2) — 4h  =  3 K  =  3 K  =  [s(—S + cil?) + h*(_P 3 K  j  h*) cos 2 +c  [s(1  —  Q)] 2 c  —  +  GiSt  sin 2  —  GiSt  cos 2  —  h* cos 2 2c h* sin 2 4c (C.2)  which is (6.20). In both (C.1) and (C.2) above the four geometric parameters are defined  Appendix C. Detailed milling process model mathematics  as  =  1?.  ] :::: [cos 2]  =  >  =  313  ]  [sin  S  [sin 2qS  :  —  2]  As in the ACT case, calibration of the LEF model is accomplished using least squares methods. In matrix form yT()9  where F(t)  y(t)  (C.3)  F(t) stS  —Q  —sS sIR.  —P  sf7?  =  3 K K 1 c 3  h* 3 K  (C.4)  Q h* 2 Ksc  ]  (C.5)  For a set of t samples define Y(t)  (2) T (i) y T [y  ...  (±) T y  jT  T(2) (t)  The least squares estimate for the parameters & using t measurements is now given by =  (t)Y(1) T [ ( t)t)j’  The recursive least squares (RLS) estimates are obtained in the same fashion as was used in the ACT model.  Appendix C. Detailed milling process model mathematics  C.2  314  Helix intersection cases geometric constants  To determine the values for the geometric constants  through  j,  explicitly inte  grate (6.27) and (6.28) using the limits for the appropriate intersection geometry case (figure 6.6). Details are provided following: case 0 Substitute  0 and StKTR  —  {_[cos 2( +  [sin 2( +  StKTR  a to obtain  zj,j,2  j  —  j  ka)  —  —  —  —  sin 2( +  {_[cos2cos 2(j  —(cos 2 cos  ka)  —  ka)  cos 2( +  j)] sinO  —  ka) + cos2sin2(j  ka)  —  ka)  —asinO  —[cos2cos0 + sin2 sin 0][cos2(j stKTR{_asin0 + [sin2(j -[cos 2(j StKTR  —  [a] sin o}  —  +[sin2cos 0— cos2sin0][sin2(j  =  [a] sin o}  sin2sin2(jc  —  —(sin 2cos 2j + cos 2sin 2j)1 sinO  F  —  sin 2 5 sin 2j)] cos 0 q  —[sin2cos2(jc  —StKTR  j)] cos 0  -  ka)  -  Jc  —  ka)  cos 2j] cos(2  {[sin 2( +  —[cos2@ +  —  ka)  —  —  ka) C05  —  —  ka)  —  —  —  -  ka)  —  sin 2j] cos2i]}  sin2j]sin(2 —0) 0)}  sin 2( +  2( +  —  j)] cos 0  j)] sinO  + [a] cos  ka) + cos 2sin2(j  —  o}  ka)  Appendix C. Detailed milling process model mathematics  315  —(sin 2 cos 2jq + cos q 2 sin 2j4)] cos 0 —[cos2cos2(j —(cos2cos2j  —  ka)  —  sin2sin2(j  —  ka)  sin2sin2j)]sin0 + [a]cos0}  —  stKTR{acos0 +[sin2cos0  —  cos2sin0][cos2(j  +[cos 2 cos 0 + sin 2 sin 0j[sin 2(j =  stKTR{acos0 + [cos2(j +[sin2(j  —  ka)  —  —  ka)  sin 2j cos(2  —  —  —  —  ka) ka)  —  —  cos2j} sin 2i1}  cos2j}sin(2  0)}  Hence in the standard form used in (6.29) sin 0 + C cos 0  SLKTR[—(A, + i,j 1 + 3 sin(2  F()  =  —  0)  cos(2q.  —  —  0)]  cos 0 + C sin 0  SKTR[(A, +  1 cos(2q +B,  —  0) + V,j sin( 5 q 2  —  0)]  where a  (1/2k)[sin2(jq  ci,j Vj  0 (1/2k,)[cos2(jq  —  —  ka) ka)  —  —  sin 2jq] cos2jq]  0 case 1 Substitute 2 z j ,i  =  0 and z,,, 2  =  (1/k,)[qS + jb  stKTR 5 {_[cos2 t .  —  —  to obtain  cos2( +j)jcos0  0)  Appendix C. Detailed milling process model mathematics  1 [sin 2k 2  sKTR  —  i&)] sinO  sin 2( +  (1 2k —  316  1 —  [k  +  &  —  sti)]  sin e}  1  cos 0  COS  El [sin2t +  —  tqS sin 0 sinO  —  1 +—[cos 25cos 2j4  —  sin 2 q sin 2j4j cos 0  +[sin2cos2j + cos2sin2c}sin0}  =z StKTR 2  —  1 —  , 1 2k  1.  COS  COS  [sin2& +  0  —  —  —q sin 0  sti)]  sinO  1 q sin 0] cos 2jq + —[cos 2 cos 0 + sin 2  —  =  1 [sin2 cos 0 2k  1 2  —SKTR  {  —  1 2k  —  COS  cos 2sin 0] sin 2i}  ’st,i cos 0 4 2  sin 2 st,i +  1 —  —  sin 0  sin 0  —  —  +cos(2 =  1 2  —StKTR  —  Ii —[sin  <  1 [cos 2 stj 2k =  stKTR  0)cos2j  —  2kg,  —  —  COS  —  —  0) sin 2&}  sin 2(q 5 + j&)] cos 0  2( +  COS 2 st  sin2(  jc)]  sin 0 +  sine + 1 —  [(  cos 0  + [sin2sti + 2kg, j 1 —[sin 24 cos 2jq + cos 24 sin 2jq] cos 0 2k —  +  —  sti)]  e}  Appendix C. Detailed milling process model mathematics  +[cos 2cos 2j =  StKTR  +  —--[cos25cos0  —  [sin 2 cos 0  StKTR  +  sin 2 sin 2j] sin e}  {__cos2stisin0 + -qcos0 Sfl s 2 t,i  +  —  317  {— —  sti)]  (jc  -  —  sin2qsin0]sin2j cos 2 sin 0] cos 2i}  cos 2 t, sin0 + 5 q  Sfl s 2 t,i  +  COS  sti)]  (jc  sin 2j cos(2  0  — —  0  0  cos 2j sin 2(  0)  —  e)}  Hence in the standard form used in (6.29) + E,j) sinO +  stKTR[(A,  +B sin(2q =  — — — 0)  StKTR[(A  5 cos(2q  +  cos(2q  — —  cos 0 0)]  cos 0 + C sinO  0) +  sin(2  0)]  where =  i,j 13  =  =  —(1/2k,)cos2 1 t 5 —(1/2k,i,)cos2jq5  =  (1/k)  =  case 2 Substitute z, 1 =  =  (1/2k)sin2t + (1/k,,)[jqS —(1/2Jc)sin2j  (1/k)[q5 +  jq  —  q’)ex,j]  —  and zj,j, 2  =  —  a to obtain  ka)—cos2exi]cos0  Appendix C. Detailed milling process model mathematics  —  -  [sin 2( + j [a_  stKTR  +  Jc  —  e} H- —q sinO  sin 2 ex,i +  —[sin2cos2(j  {  sin 2exij sinO  -  —[cos2cos2(j  stKTR  —  {  + [_a +  =  ka)  —  —  — ka) —  cos  H- [_a +  —  ex)]  sinO  sin2sin2(j  ka) + cos2sin2(j  COS  0 +  —  2 e ,i +  +[sin2cosG  {  —  COS  =  SLKTR  {  —  — ka) — sin 2ex,j] COS 0  +j&  —  ka)  —  COS2ex,i]  cos 0 — —( + j — 1 1 Ii —StKTR — cos 2, sin 0 — .  2  ka)}  sin 0  sinG  + a  =  —  ka)  ka)cos(2— 0) + sin2(j— ka)sin(2— 0)}  [sin 2( +  —[cos:(  0+  —  (jc_ exi)] sinG  + [_a+ Sfl2exj + —cos2(j  — ka)] sinO}  sinO  cos2sin0]sin2(j  cos 2ex,i  — ka)] cosO  sin 0  — —[cos 2 q cos 0 + sin 2 5 sin 0] cos 2(j q  StKTR  318  cos 0  Appendix C. Detailed milling process model mathematics  + [a  _  sin 2b  -(i&  —  +[sin2cos2(j  —  3IKTR  —  2  + a  —  cos  Sill  1. sin 2 ex,i 5 q  +[sin2cos0  —  exi)]  ka)+ cos2sin2(j  —[cos2cos2(j —ka) =  —  —  0  sin2sin2(  , 1 k,,  COS  1. —  319  —(Jqc  —  ex,i)  —StKTR  2  2k,,1, 1  +  a  —  cos  cos 0  cos2sin0]cos2(j  2 q ex,.  sin 2 qex,j  +5jflc  sinG  —  k,,,  c 1 (j ‘  ka)  —  ka)}  cos 0  1. —  ka)] sinO}  —  0  +[cos2cos9 + sin2sin0jsin2(j =  ka)]cosO  —  qex,i)  COS  0  ka) co:(2 -0) + cos2(j  -  -  ka)sin(2  Hence in the standard form used in (6.29)  +B sin(2q  —  StKTR[(A,  cos(24  sinG + Cj cos 0  +  stKTR[—(Aj,J  0)  —  —  cos 0 +  +  —  cos(2q.’  0) + V,, sin(2q  sinG —  where = =  a (1/2k)sin2e (1/k)[jq (1/2k)sin2(j4—k,a) —  —  =  (1/2k,)cos2q’exj (1/2k,j)cos2(j4—kqa)  =  —(1/km)  =  —  çbex,ij  -  0)}  Appendix C. Detailed milling process model mathematics  case 3 Substitute zj,j,i  —  (1/k,)[q! +  j  qea,,ij and  —  320  =  (1/kq)[q + 1c  obtain =  L3KTR  {  —  {cos 2 ,j  —  cos 2ex,]  C05  0  —[sin2t— Sfl2exi] sinO +  —  =  StKTR  —  +  {  sin  exi)]  —{sin 2q5 3  {cos 2 st,i [(_ti  C05  —  sin 2ex,j]  2ex,i]  5fl  COS  0  0  + exi)] cos0}  Hence in the standard form used in (6.29) =  3 sin(2 +B, =  —  0+  +  stKTR[—(A,  0)  —  1 cos(2q D  stKTR[(A, + 3 cos(2qS +B,  —  c —  0)]  cos 0 + C sin 9  0) + V sin(2q  —  0)]  where  =  (1/k,,b)[qSex,j 0  —  bst,i]  =  (1/2k)[cos2q5ex,j 0  =  0  =  —  —  (1/2k)[sin2qex,j  cos2 t 3 ,]  case 4 The flute is not engaged with this face, hence  —  sin  0  —  qst,i] to  Appendix C. Detailed milling process model mathematics  321  Aj0 0  =  ,j 2 c  =  =  C.3  0 0 0  Maximum resultant force calculation  As outlined in section 6.2.2, the glomin algorithm developed by Brent [10, chapter 6] is used to find the maximum resultant force in helical end milling. For complete details the reader is referred to the cited reference. The basic strategy of the algorithm is briefly described following. If an upper bound M on the second derivative of a function f(x) can be deter mined, and the function is known to pass through the interval endpoints (x , f(xi)) and 1 ,f(x 2 (x ) ),  then f(x)  g(x);  x[x, X2]  where g(x)  =  M(x  -  -  X2)  + f(xi)  +  f(x2) -  f(x1)(X -  The minimum of the parabola g(x) can quickly be found using calculus, and provides a lower bound for the minimum of  f(x).  By repeatedly subdividing the interval, glomin  determines an increasingly accurate estimate for the minimum of  f(x).  The number of function evaluations required to achieve the minimum estimate with a tolerance  FEO,tOI  is ) 2 l 0 O((M/FEoj )” . Therefore, rapid convergence requires that the  upper bound on the second derivative M be as low as possible. Repeating (6.35) —FEQ(b)  =  —(A+b) — — 2 D B C —2(A + Eq)[B cos 24 + V sin 2qf]  —  2C[B sin 2 q  —  V cos 2 q]  Appendix C. Detailed milling process model mathematics  322  hence  d{—FEO(q5)} dçb  —2(A +  —  £) + 4(A + Sq)[B sin 2qS  —  Dcos 2qS]  —2(2C + )[Bcos2qS + Dsin2j ,j2f  i;-i2 ‘GEO  —2E + 8(A + S)[B cos 2 q + V sin 2]  2 dq5  +4(2C + )[B sin 2q  —  V cos 2q  = —2 + (8AV + 813C + 4BE) sin 2 +(8AB  —  8CV  -  4V) cos 2 5 + 8Bé’qS cos 2 q + 8VEq sin 2q q  -2 + V@) + X() +  =  Y() + Z()  where =  (8AV + 8BC + 4&) sin 2 q!;  X() = (8AB  —  8CV  —  4Vt’) cos 24;  (8V)qsin2q  Y(b)  =  Z(q)  = (8BE)q5cos2q  By calculating  Wmax  Xmax Yrnax  = sup{)’V(q  1k,7r/4,37r/4,ckk+1}  sup{X(q)=qk,ir/2,7r,qk+l}  = sup{Y(4q =  Zmax = sup{Z(q)=k,7r/2,7r,qk+l} (i.e. check at the rotation interval endpoints  and qk+1, plus at any included relative  extrema) the bound on the second derivative is  2 { FEQ ( d 2 db —  )}  <M —  where  M  2t’ + )‘Vmax + Xmas + Yrnas + Zmas  Appendix C. Detailed milling process model mathematics  323  This is the value for M that is used in the glomin algorithm. With a specified tolerance 0 on the resultant force, F  is chosen so that  l 0 FEo,t  1 0 FGEO,t  <  01 Ff K(1 + K)’/ 2  for the anticipated KT and KR values. C.4  Surface profile calculations  This section expands on the cantilever based surface profile prediction procedure outlined in section 6.2.2. During down milling the surface location error at axial position z (4) , 3 jq  —7r] will be generated by flute j and located a distance  location, where zL, 3  =  L  —  away from its nominal  Recall that the force density function wy(q, zL) is  zs,j(q).  defined piecewise over axial interval  [zL,k, ZL,k+1),  L)  =  0;  ,zL=0) 5 O(q  =  0;  zL  S(zL,)  (1/k)[q +  and that the boundary conditions are  M(q5, zL  L)  =  0  S(4,zL=0)  =  0  Definite integration now proceeds as follows: In the final axial interval  [ZL,K_1, ZL,K  L) the shear is expressed as ZL)CZZL  V,K1(,zL) =  where  =  V(q, zL,,C  =  L)  1ZL  0. Next, in the interval  =  ZLK_1  =  where  ,K1,c = 4  1 Eiwy,K_1@,z)dz +  IZL  [zL,pc_2, zL,_1)  express  1 —w,K ( 2 ,Z)dZ +  V,K_1(q,zL,1). This process is continued to the interval  0, zL,1) which has expression fZL1  V,o(q,zL) =  j  ZL  1 El  (,Z)dZ + 0 ————w,  [ZL,O =  Appendix C. Detailed milling process model mathematics  where  324  ZL,1).  The bending moment expressions are found in an identical manner. In the final axial interval  L) the expression is  [ZL,C_1, zL,K  fZLZZL  where  M(qS,zL,K  =  L)  Vc_i(q5,Z)dZ +  j  =  ZL  0. Next, in the interval [zL,c_2,zL,x_1) express  =  fZL , —1  (4, ZL) 2 M,_ =  j  j,frC—2@,  Z)dZ +  ZL  M,pc_i(qS, zL,,C_1). This is continued to the interval [ZL,o  where  =  0,  ZL,1)  which has expression ZL 1  ZL) =  where  =  (4, ZL,1). 1 M  The slope in the first interval  [ZL,O = =  ZL,o =  y,t,O,c = 0  0)  =  0,  ZL,1)  is expressed as  JZL  Oy,°(, zL) where  Z)dZ +  IZL  ZLO O  (, Z)dZ + 0 M  0. Next, in the interval f ZL  J  &,i(q, ZL)  [ZL,1, ZL,2)  express  (4, Z)dZ + 1 M,  ZL,1  where  = 4 y0( 8 ,  zL,1). This is continued to the interval [zL,x_1, zL,c  =  L) which has  expression L 2 f  ,ZL) 5 &y,K_1(q =  where  y,,PC—1,c 0  M,K_l(b,Z)dZ +  j  &y,&A_1,c  ZL K—i  Oy,K—2(, ZL1).  The deflection expressions are found in a manner similar to the slope. In the first interval [zLo  =  0,zL,1) the deflection is expressed as =  JZL  Z)dZ +  zL) ZLOZO  y,O,c 6  Appendix C. Detailed milling process model mathematics  where  S(tb,zL,o  Sy,,O,c  =  0)  =  0. Next, in the interval =  JL  325  [ZL,1,ZL,2)  express  Z)dZ +  ZL) ZL1  where  =  S(4I, zL1). This is continued to the interval  [zL,C_1, zLjc  =  L) which has  expression = 1 L 2  SY,—(&  2)dZ +  zL)  8 y ,—1,c  ZL ,ICi  where  3 w k,IC—1,c  6 y PC—2(& zL,_1).  To provide a demonstration of the overall procedure, a simulation under cutting conditions identical to those used by Kline ([58, figure 6(a)} and [56, figure 5.lla]) was carried out and compared to his results. The cutter used by Kline was a four flute end mill with radius r=9.525 mm, helix angle b=30 degrees and cantilever length L=108 mm. In the simulation and experiment named test 4, the axial depth of cut was a=50.8 mm and the radial width of cut d=2.54 mm. The feed rate per tooth was s=0.38l mm. A down milling operation was used, and hence the single immersion interval is [q t 8 , q)  =  —  arccos \  =  r  I  ,7r  j  [2.394,7r)  Using the definition following (6.5) and (6.6), the geometric parameters 7?. and S have the values 7?.  =  [cos2]  =  7.474 mm;  S  [sin2  =  2] —  =  —4.027 mm  and hence, by substituting F=l5l7 N and F=1574 N into (6.9), the calibration pa rameters were KT  =  0.644 kN/mm 2 and KR  =  0.320 for the 7075-T6 aluminum part  material. Kline computed the moment of inertia as I  =  r/3  rather than the usual  irr/4  Appendix 0. Detailed milling process model mathematics  326  to account for the absent material behind the flutes. This is consistent with the observa tions of Ziatin et al [155] and the value 4 ir(0.8r) / 4 more recently reported by Kops [62]. The value for Young’s modulus was E  =  207 kN/mm . 2  The surface profile predicted using the piecewise analytic solution described in this section is shown in figure C.1. The program used, named surface, is contained in [110, appendix D]. Kline’s results, including experimental verification, are reproduced as fig ure C.2. Both Kline’s simulation and the prediction in figure C.1 compare adequately with experiment. The solution developed in this section, however, more accurately dis tributes the cutting force load, rather than concentrating it at the “force center” used by Kline. Furthermore, the analytic formulation is computed much more quickly than Kline’s incremental sampling along the axial and rotation directions. For rapid feed rate scheduling under a surface location error constraint, a simpler model is proposed in section 6.2.2.  C.5  Piecewise linear approximation  In order take full advantage of the rapid feed rate scheduling technique outlined in sec tion 6.3.2, the analytic cutter immersion interval endpoint expressions must be approx imated by piecewise linear functions. For example, in down milling, an approximation çstp(xc) to b(x) which satisfies  —  over an interval  XCb)  qstp(xc)  qstp(xc)  (C.6)  /st,toi  is required, where çbst(xca)  +  k(xc) XCb  —  —  st@Ca)  (xc  —  XCa)  XCa  This is usually accomplished as follows (see Faux and Pratt [33, section 9.6]): First,  Appendix C. Detailed milling process model mathematics  327  50.8  38.1  E E  25.4  12.7  0.0 -400  -200  0  200  400  600  800  1000  surface location error (I’ m)  Figure C.1: Surface profile prediction. The surface profile predicted by the piecewise analytic solution described in this section is shown above. See [110, appendix D, program surface] for the program used. For comparison, Kline’s prediction and experimental verification are shown in figure C.2.  Appendix C. Detailed milling process model mathematics  I  U)  328  254  x  N  200  400  Surface Error pM -  Figure C.2: Kline’s surface profile. The illustration above is a reproduction of figure 5.lla from the Ph.D. thesis of Kline [56]. His prediction was made by summing small elements in the axial direction and incrementally sampling around the rotation direction. The results compare favourably with those shown in figure C.1.  Appendix C. Detailed milling process model mathematics  a bound M is found for  jq’(xc).  329  Now (xc) 2 kb  —  —  qstp(xc)  where stp2(XC) 5 7  1 —M(xc  =  xca)(xc  —  + çbst(xca) +  XCb)  t(xcb) 3 4  —  (1)st(XCa)  (xc  —  Xa)  XCbXCa  1 —M(xc  =  —  —  + qstp(xc)  XCb)  By taking the first derivative and finding the local extremum, the maximum value of t2(xc) 8  is found to always occur at  —  (xc) 3  (a  =  M(xc  —  —  + xcb)/2, and has the value  M(xcb  —  /8. Hence, 2 a)  substituting back into (C.6)  —  This implies that, if a tolerance [sa, xcsb)  t,toj 3  M(xc  stp(xc)  —  is desired, the interval must be broken in subintervals  where tol  2  & 3 (XC  —  M  The most difficult task is obtaining a bound M for the second derivative that is not overly pessimistic. For a block primitive side the equation for the cutter immersion interval endpoints is (5.3) angle notation the interval endpoints are A(xc),B(xC) =  where  (see  (4.9))  L 6  /2  —  [OL  +arccos  ((XL  —  xc)cosOL)]  is constant. Taking derivatives with respect to xc =  +c05OL  =  +c0  (i  OL( 2 cos  —  —  L(xL_xc)(1  —  xc)2)  (XL_XC)2) 2 c05  (C.7)  330  Appendix 0. Detailed milling process model mathematics  The second derivative is a strictly decreasing function, which permits rapid calculation of a bound M over any interval approaches  r/  cos  L 0  [XCa, xCb).  When the cutter is tangent to the line aj,  —  xc  and qY(xc), (Xc) become unbounded. In this region incremental  sampling along the cutter path should be performed. However, over the remainder of its domain the second derivative is small, implying that the the expression for the endpoint angle can be well approximated by a small number of piecewise linear segments. A plot for representative parameter values is shown in figure 0.3. The formula for cylinder primitives is more difficult to analyze directly. From (5.6) =  I 7r/2— arctan  YF XC  \XF  2 + Y’ ± T xc) 2)1/2 2 + \ 2(x xC) T(x) + C(x)  +arccos  ((XF  —  —  —  7r/2  —  where arctan  I  YF  \XF =  arccos  XC  ) r-r -Xc y)± 2 ((xF ±  \  2r(xp’  Taking derivatives of T(xc) with respect to  2+ xc)  —  XC hF  T(xC) (XF—xC)  2  2  +YF  2yF(XF—XC) .1  LX)  2  22  + YF] 2 2 2yF[3(xF—Xc) —YF] 2 + yj Xc) [(XF 3 [(XF  —  XC)  —  The second derivative (0.8) is an odd function about the point  XC = XF,  zero far away from from this point. It has local extrema at the points These two points determine the global range  8y +3 / 2 / 3  and approaches  XC = XF +yF/31/2.  of (0.8), which is often very  small. A graph of (0.8) for representative parameter values is shown in figure 0.4(a).  Appendix C. Detailed milling process model mathematics  331  Ci  C)  a -C) cli C) cli cz  -2rt  0  10  30  40  30 20 cutter path location (mm)  40  20  cutter path location (mm) (a) 0.10 E E  0.05  C) C)  0  cii -C) -C)  -0.05  0 ci ci-) i-F)  -0.10 0  10  (b) Figure C.3: Rectangle side endpoint angle graphs. Representative parameter values used in the graph are: r=l 7r/4 radians. The usual .7 mm, XL= 2 O mm, and 8 2 L limitation that the immersion angle lie in the interval [0, ir) is not enforced. (a) Cutter immersion interval endpoint values bA(xc) and tbB(xc) calculated from (5.3). Note that the graph appears to be nearly linear. (b) Second derivatives qY(ac) and qS(xc). Although unbounded at the edge of its domain, the second derivative (C.7) is small elsewhere—confirmly near linearity.  332  Appendix C. Detailed milling process model mathematics  When r  rF  (such as in pocketing), the expression for C(xc) can be simplified to Cr(X) =  ((XF  arccos  —  2 XC)  +  which has derivatives —(XF—XC)  —  C’  —  2  [4r  —  (XF  2 1/2 2 1/2 2 YF] [(XF Xc) + YF] (XF 4 + y’ + 4ry XC) [(x 2 2 + y] XC) 312 2 y2]3/ xc)  xc)  —  2  —  (C.9)  —  XC  =  [42 —  C’(xc)  =  {2(XF  (x —  —  —  —  XC)[(XF  6 XC)  —  +y(y + 2Or)(xF —  (XF  —  2 XC)  —  + (2r  xc)2  —  y)(XF  —  4 XC)  + 3y(y + 2r)(y  y2]5/2[(x —  —  2 XC)  +  —  4r)]}  2 1 yp’]5  In this case the second derivative (C.9) is an even function about  XC  =  (C.1O) It becomes  XF.  unbounded when the cutter becomes tangent to the cylinder (at the edge of the domain of contact and, if YF = 0, where  XC  =  XF).  In these regions incremental sampling should  be performed. Over the remainder of the domain the second derivative is small, implying that line segments well approximate the function.  Exact bounds can be established  by evaluating (C.9) at its local extrema. One of these points is at  XC  remainder can quickly be found by treating (C.1O) as a cubic function of  =  XF,  (XF  —  and the 2 XC)  and  analytically solving for the roots. A graph of (C.9) for representative parameter values is shown in figure C.4(b). Except near the tangency points, an overall bound on  cb’(xc), q(XC)  can then be  found by combining the bounds on (C.8) and (C.9). An example is shown in figure C.5. Analytic evaluation of the cylinder primitive cutter immersion interval endpoint for mulae is difficult when r  rF.  The functions have the same general shape, and, to  determine a second derivate bound, the local extrema points can be found numerically using an algorithm such as localmin (see Brent [10, chapter 4]). Alternatively, successive  Appendix C. Detailed milling process model mathematics  333  0.04 c  0.02  -  Q) > -  cj  .:,.  ‘.-  Q, -Q  z c  -0.02  C-) U) U,  -0.04 0  10  20  30  40  50  60  cutter path Iocaton (mm) (a) 0.04 cJ  0.02 yF=2mm  .  yF=l6mm  7rnm -0.04 0  10  20  N4 2 rc \ 30  40  50  60  cutter path location (mm)  (b) Figure C.4: Cylinder second derivative component graphs. Representative parameter values used in the graph are: r = rF—l 7 mm, and XF= . 2 O mm. The plotted lines 3 correspond to YF values of 2 mm, 7 mm, 16 mm and 24 mm. (a) Function —T”(x) values calculated from (C.8). (b) Function C”(xc) values calculated from (C.9).  Appendix C. Detailed milling process model mathematics  334  interpolation techniques can be used [10, chapter 3j. In chapter 7 a practical example demonstrating this case is presented.  Appendix C. Detailed milling process model mathematics  335  ci-)  0 0 0  >  ci) 0 ci)  0  10  20  30  40  50  60  50  60  cutter path location (mm) (a) 0.01 E E ci)  0.00 -0.01  0  ci-)  -0.02  0 0 0 0 ci)  -0.03  c/3  -0.04 0  10  20  30  40  cutter path location (mm)  (b) Figure C.5: Cylinder endpoint angle graphs. Representative parameter values used in the graph are: r = rF= O mm, and YF=’ 3 7 mm, XF= . 12 7 mm. (a) Cutter immersion . 2 interval endpoint values bA(xc) and qB(xc) calculated from (5.3). Note that the graph appears to be nearly linear. (b) Second derivative qY(xc) and components —T”(xc) (C.8) and C,’(xc) (C.9). Although unbounded at the edge of its domain, the second derivative is small elsewhere—confirmly near linearity.  Bibliography  [1] A.V. Aho, J.E. Hopcroft, and J.D. Uliman. Addison-Wesley, Reading, MA, 1983.  Data Structures and Algorithms.  [2] Y. Altintas and J. Peng. Design and analysis of a modular CNC system. Computers in Industry, 13:305—316, 1990. [3] Y. Altintas, I. Yellowley, and J. Tlusty. The detection of tool breakage in milling operations. ASME Journal of Engineering for Industry, 110:271—277, 1988. [4] E.J.A. Armarego and N.P. Deshpande. Computerized predictive cutting models for forces in end-milling including eccentricity effects. CIRP Annals, 38(1):45—49, 1989. [5] K.J. Aström and B. Wittenmark. Computer Controlled Systems. Prentice-Hall, Englewood Cliffs, NJ, 1984. [6] K.J. Aström and B. Wittenmark. Adaptive Control. Addison-Wesley, Reading, MA, 1989. [7] P. Bertok, S. Takata, K. Matsushima, J. Ootsuka, and T. Sata. A system for monitoring the machining operation by referring to a predicted cutting torque pattern. CIRP Annals, 32:439—442, 1983. [8] J.E. Bobrow. NC tool path generation from CSG part representations. ComputerAided Design, 17(2):69—75, March 1985. [9] J.W. Boyse. Preliminary design for a geometric modeller. report GMR-2768, Gen eral Motors Research Laboratory, Warren, MI, July 1978. Computer Science De partment. [10] R.P. Brent. Algorithms for Minimization without Derivatives. Prentice-Hall, En glewood Cliffs, NJ, 1973. [11] C.M. Brown. PADL-2: a technical summary. IEEE Computer Graphics and Ap plications, 2(2):69—84, March 1982. [12] P Brunet and D. Ayala. Extended octree representation of free form surfaces. Computer Aided Geometric Design, 4:141—154, 1987.  336  Bibliography  337  [13] J. Butler, B. Haack, and M. Tomizuka. Reference input generation for high speed coordinated motion of a two axis system. ASME Journal of Dynamic Systems, Measurement and Control, 113(1):67—74, 1991. [14] CAM-I. CAM-I illustrated glossary of workpiece form features. Technical Re port R-80-PPP-02.1, Computer Aided Manufacturing International, Inc., Arling ton, TX, May 1981. [15] CAM-I. Design of an advanced numerical control processor. Technical Report R-82-ANC-01, Computer Aided Manufacturing International, Inc., Arlington, TX, July 1982. [16] CAM-I. Requirements for support of form features in a solid modelling system. Technical Report R-85-ASPP-01, Computer Aided Manufacturing International, Inc., Arlington, TX, June 1985. [17] S. Cameron. Efficent intersection tests for objects defined constructively. International Journal of Robotics Research, 8(1):3—25, February 1989.  The  [18] S. Cameron and J. Rossignac. Relationship between S-bounds and active zones in constructive solid geometry. In W. Straer and H.-P. Seidel, editors, The ory and Practice of Geometric Modeling, pages 369—382, Heinrick-Fabri-Institut, Blaubeuren, F .R. G., October 1989. Springer-Verlag. [19] S. Cameron and C.-K. Yap. Refinement methods for geometric bounds in con structive solid geometry. submitted to ACM Transactions on Graphics, August 1990. [20] I. Caribom, I. Chakravarty, and D. Vanderschel. A hierarchical data structure for representing the spatial decomposition of 3-D objects. IEEE Computer Graphics and Applications, 5(4):24—31, April 1985. [21] R. Centner. Final report on development of adaptive control technique for numeri cally controlled milling machine. Technical Documentary Report ML-TDR-64-279, United States Air Force, 1964. [22] P.K.F. Chan. Chatter avoidance in milling. Master’s thesis, The University of British Columbia, September 1990. [23] S.C. Chan. MPL. A Machining Process/Programming Language. PhD thesis, Uni versity of Rochester, 1986. [24] B. Chazelle. Triangulating a simple polygon in linear time. Technical Report CS-TR-157-88, Princeton University, 1990.  Bibliography  338  [25] H.-Y. Chuang and C.-H. Liu. Cross-coupled adaptive feedrate control for multiaxis machine tools. ASME Journal of Dynamic Systems, Measurement and Control, 113(3):451—457, September 1991. [26] L.V. Colwell, J.C. Mazur, and W.R. Devries. Analytical strategies for automatic tracking of tool wear. In Proceedings of the North American Manufacturing Re search Conference, volume 6, pages 276—282, 1978. [27] S.D. Conte and C. de Boor. Elementary Numerical Analysis—An Algorithmic Ap proach. McGraw-Hill, New York, NY, 1980. [28] L.K Daneshmand and H.A. Pak. Model reference adaptive control of feed force in turning. ASME Journal of Dynamic Systems, Measurement and Control, 108:215— 222, 1986. [29] C.W. De Silva. Control sensors and actuators. Prentice-Hall, Englewood Cliffs, NJ, 1989. [30] J. Ellis, G. Kedem, R. Marisa, J. Menon, and H. Voelcker. Breaking barriers in solid modeling. Mechanical Engineering/CIME, 113(2): 28—34, 1991. [31] EXAPT 1 Part Programmer Reference Manual. Aachen, F.R.G., 1967. [32] EXAPT Annual General Meeting Minutes, Aachen, F.R.G., June 1975. [33] I.D. Faux and M.J. Pratt. Computational Geometry for Design and Manufacture. Ellis Horwood, Chichester, UK, 1979. [34] G.E. Forsythe, M.A. Malcolm, and C.B. Moler. Computer Methods for Mathemat ical Computations. Prentice-Hall, Englewood Cliffs, NJ, 1977. [35] S.J. Fortune. A sweep line algorithm for Voronoi diagrams. Algorithmica, 2:153— 174, 1987. [36] A. Fournier and D.Y. Montuno. Triangulating simple polygons and equivalent problems. ACM Transactions on Graphics, 3(2):153—l74, April 1984. [37] H.J. Fu, R.E. DeVor, and S.G. Kapoor. A mechanistic model for the prediction of the force system in face milling operations. ASME Journal of Engineering for Industry, 106:81—88, February 1984. [38] B.K. Pussell. Modeling and Adaptive Force Control of End Milling Operations. PhD thesis, The Ohio State University, 1987. [39] G.C. Goodwin and K.S. Sin. Adaptive Filtering Prediction and Control. Prentice Hall, Englewood Cliffs, NJ, 1984.  Bibliography  339  [40] M.P. Groover. Automation, Production Systems, and Computer-Integrated Manu facturing. Prentice-Hall, Englewood Cliffs, NJ, 1987. [41] Suzuki H. and K.J. Weinmann. An on-line tool wear sensor for straight turning operations. ASME Journal of Engineering for Industry, 107:397—399, November 1985. [42] B. Haack and M. Tomizuka. The effect of adding zeroes to feedforward controllers. ASME Journal of Dynamic Systems, Measurement and Control, 113(1):6—10, 1991. [43] H.L. Harrison and J.G. Bollinger. Introduction to Automatic Controls. Harper and Row, New York, NY, 2nd edition, 1969. [44] D. Hearn and M.P. Baker. Computer Graphics. Prentice-Hall, Englewood Cliffs, NJ, 1986. [45] M.R. Henderson. Extraction of Feature Information from Three Dimensional CAD Data. PhD thesis, Purdue University, May 1984. [46] C.M. Hoffman. Geometric and Solid Modeling—An Introduction. Morgan Kauf mann, San Mateo, CA, 1989. [47] Y. Hosepyan. Tool wear monitoring in face milling. Master’s thesis, The University of British Columbia, June 1991. [48] K. Iwata and T. Moriwaki. An application of acoustic emission measurement to in-process sensing of tool wear. CIRP Annals, 26(1):21—26, 1977. [49] K. Iwata and S. Takata. Intelligent machining station with model based simulation. In 23rd CIRP International Seminar on Manufacturing Systems, Nancy, Italy, June 1991. [50] K. Jemielniak and Al Widota. Suppression of self-excited vibration by the spin dle speed variation method. International Journal of Machine Tool Design and Research, 23(3):207—214, 1984. [51] J.F. Coates, Inc. Engineering 2000: A look at the next ten years. Technical Report AFO19O, ASME Council on Public Affairs, 1990. [52] J.G. Kalbfieisch. Probability and Statistical Inference: Part Two. Faculty of Math ematics, University of Waterloo, Waterloo, ON, 2nd edition, 1975.  [53] S. Kawabe, S. Shimura, F. Miyashita, and T. Sata. Programming for machining based on workpiece models in computer. CIRP Annals, 32(1):351—356, 1983.  Bibliography  340  [54] G. Kedem and J.L. Ellis. Ray tracing machine. In Proceedings of the International Conference on Computer Aided Design 198, pages 533—538, October 1984. [55] L.A. Kendall, S. Arora, and G. Cross. Intelligent supervisory control prototype for machining systems. In Proceedings of the North American Manufacturing Re search Conference, pages 309—315, Dearborn, MI, 1988. Society of Manufacturing Engineers. Vol. XVI. [56] W.A. Kline. The Prediction of Cutting Forces and Surface Accuracy for the End Milling Process. PhD thesis, University of Illinois, 1982. [57] W.A. Kline, R.E. DeVor, and R. Lindberg. The prediction of cutting forces in end milling with application to cornering cuts. International Journal of Machine Tool Design and Research, 22(1):7—22, 1982. [58] W.A. Kline, R.E. DeVor, and l.A. Shareef. The prediction of surface accuracy in end milling. ASME Journal of Engineering for Industry, 104:272—278, 1982. [59] F. Koenigsberger and A.J.P. Sabberwal. An investigation into the cutting force pulsations during milling operations. International Journal of Machine Tool Design and Research, 1:15—33, 1961. [60] F. Koenigsberger and J. Tlusty. Machine Tool Structures, volume 1. Pergamon Press, 1970. [61] R. Komanduri, F.J. McGee, R.A. Thompson, J.P. Covey, J.F. Truncale, V.A. Tip nis, R.M. Stach, and R.I. King. On a methodology for establishing the machine tool system requirements for high-speed machining. In ASME 198 Winter Annual Meeting—Proceedings of the High-Speed Machining Symposium. ASME, December 1984. [62] L. Kops and D.T. Vo. Determination of the equivalent diameter of an end mill based on its compliance. CIRP Annals, 39(1):93—96, 1990. [63] Y. Koren. Cross-coupled computer control for manufacturing systems. ASME Journal of Dynamic Systems, Measurement and Control, 102(4):265—272, 1980. [64] Y. Koren. Computer Control of Manufacturing Systems. McGraw-Hill, New York, NY, 1983. [65] Y. Koren and 0. Masory. Adaptive control with process estimation. CIRP Annals, 30(1):373—376, 1981.  Bibliography  341  [66] M.S. Lan and D.A. Dornfield. Experimental studies of tool wear via acoustic emis sion analysis. In Proceedings of the North American Manufacturing Research Con ference, volume 10, pages 305—311, May 1982. [67] M.S. Lan and D.A. Dornfield. In-process tool fracture detection. ASME Journal of Engineering Materials and Technology, 106:111—118, April 1984. [68] L.K. Lauderbaugh and A.G. TJlsoy. Dynamic modeling for control of the milling process. ASME Journal of Engineering for Industry, 110:367—375, November 1988. [69] L.K. Lauderbaugh and A.G. Ulsoy. Model reference adaptive control in milling. ASME Journal of Engineering for Industry, 111:13—21, 1989. [70] E.H. Lee and B.W. Shaffer. Theory of plasticity applied to the problem of machin ing. Journal of Applied Mechanics, 18:405—413, 1951. [71] Y.C. Lee and K.S. Fu. Machine understanding of CSG: extraction and unification of manufacturing features. IEEE Computer Graphics and Applications, 7(1):20—32, January 1987. [72] S.C. Lin, R.E. DeVor, and S.G. Kapoor. The effects of variable speed cutting on vibration control in face milling. In ASME 1988 Winter Annual Meeting, pages 41—51. ASME, 1988. PED-Vol. 33. [73] L. Ljung and T. Söderström. Theory and Practice of Recursive Identification. MIT Press, 1983. [74] M.E. Martellotti. An analysis of the milling process. Transactions of the ASME, 63:677—700, 1941. [75] M.E. Martellotti. An analysis of the milling process. part II: Down milling. Trans actions of the ASME, 67:233—251, 1945. [76] D. Meagher. Geometric modelling using octree encoding. Computer Graphics and Image Processing, 19:129—147, 1982. [77] K. Mehlhorn. Data Structures and Algorithms: Multi-dimensional Searching and Computational Geometry, volume 3. Springer-Verlag, New York, NY, 1984. [78] S.N. Melkote and L.A. Kendall. End-mill cutter engagement determination from CNC tool trajectories for planar surface generation. In Proceedings of the North American Manufacturing Research Conference, pages 152—159, Dearborn, MI, 1989. Society of Manufacturing Engineers. Vol. XVII.  Bibliography  342  [79] M.E. Merchant. Mechanics of the cutting process I. Journal of Applied Physics, 16:267—275, 1945. [80] M.E. Merchant. Mechanics of the cutting process II. Journal of Applied Physics, 16:318—324, 1945. [81] Metcut Research Associates Inc., Cincinnati, OH. Machining Data Handbook, 2nd edition, 1972. [82] A.E. Middleditch, T.W. Stacey, and S.B. Tor. Intersection algorithms for lines and circles. ACM Transactions on Graphics, 8(1):25—40, January 1989. [83] Y. Mohamed, M.A. Elbestawi, and L. Liu. Application of some parameter adap tive control algorithms in machining. In ASME 1988 Winter Annual Meeting— Control Methods for Manufacturing Processes, pages 63—70, Chicago, November 1988. ASME. DSC-Vol. 9. [84] D. Montgomery and Y. Altintas. Mechanism of cutting force and surface generation in dynamic milling. ASME Journal of Engineering for Industry, 113:160—168, 1991. [85] T. Moriwaki. Detection of tool fracture by acoustic emission measurement. CIRP Annals, 29(1), 1980. [86] N. Okino, Y. Kakazu, and H. Kubo. TIPS-i: technical information processing sys tem for computer aided design and manufacturing. In J. Hatvany, editor, Computer Languages for Numerical Control, pages 141—150. North-Holland, 1973. [87] J.H. Oliver and E.D. Goodman. Direct dimensional NC verification. ComputerAided Design, 22(i):3—9, 1990. [88] A. Parkinson. An automatic NC data generation facility for the BUILD solid modelling system. Manufacturing Systems, 14(2): 191—197, 1985. [89] A.J. Pekelharing. The exit failure of cemented carbide face milling cutters part I—fundamentals and phenomenae. CIRP Annals, 33/1:47—50, 1984. [90] A.J. Pekeiharing. The exit failure of cemented carbide face milling cutters part IT—testing of commercial cutters. CIRP Annals, 33/1:51—54, 1984. [91] H. Persson. NC machining of arbitrarily shaped pockets. Computer-Aided Design, i0(3):i69—i75, May 1978. [92] A.N. Poo and J.G. Bollinger. Dynamic errors in type 1 contouring systems. IEEE Transactions on Industry Applications, IA-8(4):477—484, 1972.  Bibliography  343  [93] M.J. Pratt. Solid modeling and the interface between design and manufacture. IEEE Computer Graphics and Applications, 4(7):52—59, July 1984. [94] K.M. Quinlan and J.R. Woodwark. A spatially-segmented solids database— justification and design. In A. Pipes, editor, Proceedings CAD 1982, pages 126—132, London, UK, 1982. Butterworths and Co. Ltd. [95] S. Ramalingam, T. Shi, D.A. Frohrib, and T. Moser. Acoustic emission sensing with an intelligent insert and tool fracture detection in multi-tooth milling. In Proceedings of the North American Manufacturing Research Conference, volume 16, pages 245—255, May 1988. [96] A.A.G. Requicha and S.C. Chan. Representation of geometric features, tolerances, and attributes in solid modelers based on constructive geometry. IEEE Journal of Robotics and Automation, RA-2(3):156—166, September 1986. [97] A.A.G. Requicha and H.B. Voelcker. Solid modeling: A historical summary and contemporary assessment. IEEE Computer Graphics and Applications, 2(2):9—24, March 1982. [98] A.A.G. Requicha and H.B. Voelcker. Solid modeling: Current status and research directions. IEEE Computer Graphics and Applications, 3(7):25—37, October 1983. [99] A.A.G. Requicha and H.B. Voelcker. Boolean operations in solid modeling: Bound ary evaluation and merging algorithms. Proceedings of the IEEE, 73(1): 30—44, 1985. [100] J.R. Rossignac and H.B. Voelcker. Active zones in CSG for accelerating boundary evaluation, interference detection and shading algorithms. ACM Transactions on Graphics, 8:51—87, 1988. [101] S.D. Roth. Ray casting for modeling solids. Computer Graphics and Image Pro cessing, 18:139—154, 1982. [102] A.J.P. Sabberwal. Chip section and cutting force during the milling operation. CIRP Annals, 10:197—203, 1961. [103] H.J. Samet. Applications of Spatial Data Structures: Computer Graphics, Image Processing, and GIS. Addison-Wesley, Redding, MA, 1989. [104] H.J. Samet. Design and Analysis of Spatial Data Structures: Quadtrees, Octrees, and Other Hierarchical Methods. Addison-Wesley, Redding, MA, 1989. [105] N.M. Samuel, A.A.G. Requicha, and S.A. Elkind. Methodology and results of an industrial part survey. Technical Memorandum 30, University of Rochester, 1977.  Bibliography  344  [106] M.C. Shaw. Metal Cutting Principles. Oxford University Press, Oxford, UK, 1984. [107] M. Shpitalni and A. Fischer. CSG representation as a basis for extraction of ma chining features. CIRP Annals, 40(1):157—160, 1991. [108] K.S. Smith. Automatic Selection of the Optimum Spindle Speed in High-Speed Milling. PhD thesis, University of Florida, Gainsville, FL, 1987. [109] 5. Smith and J. Tiusty. An overview of modeling and simulation of the milling process. ASME Journal of Engineering for Industry, 113:169—175, 1991. [110] A.D. Spence. Solid modeller based milling process simulation. Report CICSR TR92-010, The University of British Columbia, Centre for Integrated Computer Systems Research, Vancouver, BC, March 1992. [111] G. Spur and F. Leonards. Sensoren zur erfassung von prozesskenngrodssen bei der drehbearbeitung. CIRP Annals, 24(1):349—354, 1975. Sensors to evaluate process indicators in turning operations. [112] S.M. Staley, M.R. Henderson, and D.C. Anderson. Using syntactic pattern recog nition to extract feature information from a solid geometric data base. Computers in Mechanical Engineering, 1(2):61—66, September 1983. [113] J.L. Stein and C.-H. Wang. Analysis of power monitoring on AC induction drive systems. ASME Journal of Dynamic Systems, Measurement and Control, 112:239— 248, 1990. [114] G. Stute and F.R. Goetz. Adaptive control system for variable gain in ACC sys tems. In Proceedings of the Sixteenth International Machine Tool Design and Re search Conference, pages 117—121, 1975. [115] Y.S. Suh and K. Lee. NC milling tool path generation for arbitrary pockets defined by sculptured surfaces. Computer-Aided Design, 22(5):273—284, June 1990. [116] U.A. Sungurtekin and H.B. Voelcker. Graphical simulation and automatic verifi cation of NC machining programs. In Proceedings of the 1986 IEEE Conference on Robotics and Automation, pages 156—165, San Francisco, CA, April 1986. [117] J.W. Sutherland. A Dynamic Model of the Cutting Force System in the End Milling Process. PhD thesis, University of Illinois, 1987. [118] J.W. Sutherland and R.E. DeVor. An improved method for cutting force and sur face error prediction in flexible end milling systems. ASME Journal of Engineering for Industry, 108:269—279, November 1986.  Bibliography  345  [119] S. Takata and T. Sata. Model reference monitoring and diagnosis—application to the manufacturing system. Computers in Industry, 7:31—43, 1986. [120] S. Takata, M.D. Tsai, and T. Sata. A cutting simulation system for machinability evaluation using a workpiece model. CIRP Annals, 38(1):417—420, 1989. [121] K. Tamura, K. Ogata, and P.N. Nikiforuk. Design of nonovershoot MRACS with application to D.C. servo motor system. ASME Journal of Dynamic Systems, Measurement and Control, 113(1):75—81, 1991. [122] R.B. Tilove. Set membership classification: A unified approach to geometric in tersection problems. IEEE Transactions on Computers, C29(10):874—883, October 1980. [123] R.B. Tilove. Line/polygon classification: A study of the complexity of goemetric computation. IEEE Computer Graphics and Applications, 1(2):75—86, 1981. [124] R.B. Tilove. A null-object detection algorithm for constructive solid geometry. Communications of the ACM, 27(7):684—693, July 1984. [125] J. Tlusty. Machine dynamics. In R.I. King, editor, Handbook of High-Speed Ma chining Technology, chapter 3. Chapman and Hall, New York, NY, 1985. [126] J. Tlusty and G.C. Andrews. A critical review of sensors for unmanned machining. CIRP Annals, 32(2):563—572, 1983. [127] J. Tiusty and P. MacNeil. Dynamics of cutting forces in end milling. CIRP Annals, 24:21—25, 1975. [128] J. Tiusty, S. Smith, and C. Zamudio. Evaluation of cutting performance of ma chining centers. CIRP Annals, 409(1):405—410, 1991. augmented by private com munication with S. Smith. [129] M. Tomizuka, J.H. Oh, and D.A. Dornfield. Model reference adaptive control of the milling process. In D.E. Hardt and W.J. Book, editors, Control of Manufacturing Processes and Robotics Systems, pages 55—63. ASME, 1983. [130] E.M. Trent. Metal Cutting. Butterworths and Co. Ltd., London, UK, 2nd edition, 1984. [131] M.D. Tsai, S. Takata, M. Inui, F. Kimura, and T. Sata. Prediction of chatter vibration by means of a model-based cutting simulation system. CIRP Annals, 39(1):447—450, 1990.  Bibliography  346  [132] M.D. Tsai, S. Takata, M. Inui, F. Kimura, and T. Sata. Operation planning based on cutting process models. CIRP Annals, 40(1):95—98, 1991. [133] K. Uehara, F. Kiyosawa, and H. Takeshita. Automatic tool wear monitoring in NC turning. CIRP Annals, 28(1):39—42, 1979. [134] A.G. Ulsoy, Y. Koren, and F. Rasmussen. Principal developments in the adaptive control of machine tools. ASME Journal of Dynamic Systems, Measurement and Control, 105:107—112, 1983. [135] H.E. Vignon. Effect of servo system characteristics on the accuracy of contouring around a corner. Proceedings of the AIEE, 1962. paper 62-250. [136] H.B. Voelcker and S.C. Chan. MPL—Machining Process Language. In Proceedings of the 1986 IEEE Conference on Robotics and Automation, San Francisco, CA, April 1986. [137] H.B. Voelcker and A.A.G. Requicha. Geometric modeling of mechanical parts and processes. IEEE Computer, 10(12):48—57, December 1 977. [138] H.B. Voelcker and M.A. Wesley. Summary and conclusions. In Solid Modeling by Computers: From Theory to Applications, pages 349—360, Warren, MI, September 1985. General Motors Research Laboratories, Plenum Press. [139] A.F. Wallis and J.R. Woodwark. Creating large solid models for NC toolpath verification. In J. Wexier, editor, Proceedings CAD 198i, pages 455—460, London, UK, 1984. Butterworths and Co. Ltd. [140] W.P. Wang. Solid modeling for optimizing metal removal of three-dimensional NC end milling. Journal of Manufacturing Systems, 7(1):57—65, 1988. [141] R.C. Whitfield. A Mechanics of Cutting Approach for the Prediction of Forces and Power in some Commercial Machining Operations. PhD thesis, University of Melbourne, Melbourne, Australia, 1986. [142] T.C. Woo. Feature extraction by volume decomposition. In Proceedings Conference CAD/CAM Technology in Mechanical Engineering, pages 76—94, Cambridge, MA, May 1982. [143] P.K. Wright and D.A. Bourne. Manufacturing Intelligence. Addison-Wesley, Read ing, MA, 1988. [144] K. Yamaguchi, T.L. Kunii, and K. Fujimura. Octree-related data structures and algorithms. IEEE Computer Graphics and Applications, pages 53—59, January 1984.  

Cite

Citation Scheme:

        

Citations by CSL (citeproc-js)

Usage Statistics

Share

Embed

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

Comment

Related Items