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 SIMULATIONbyALLAN DOUGLAS SPENCEB.Math. (Applied Mathematics), University of Waterloo, 1984M.A.Sc. (Mechanical Engineering), University of Waterloo, 1986A THESIS SUBMITTED IN PARTIAL FULFILLMENT OFTHE REQUIREMENTS FOR THE DEGREE OFDOCTOR OF PHILOSOPHYinTHE FACULTY OF GRADUATE STUDIESMECHANICAL ENGINEERINGWe accept this thesis as conformingto the required standardTHE UNIVERSITY OF BRITISH COLUMBIAMarch 1992© Allan Douglas Spence, 1992In presenting this thesis in partial fulfilment of the requirements for an advanceddegree at the University of British Columbia, I agree that the Library shall make itfreely available for reference and study. I further agree that permission for extensivecopying of this thesis for scholarly purposes may be granted by the head of mydepartment or by his or her representatives. It is understood that copying orpublication of this thesis for financial gain shall not be allowed without my writtenpermission.Department of MccThe University of British ColumbiaVancouver, CanadaDate O) ct92_DE-6 (2/88)AbstractContinuing advances in manufacturing automation stress reducing the need for directoperator attention. In totally unstructured environments, this will be achieved only withextensive improvements in sensor design and machine intelligence. Milling operations,however, are largely predictable. Within tolerances, information on the geometry andmaterial properties of the cutter and part is available, and the applicable constraints areknown. Indeed, current practice is to use CAD/CAM programs to plan the cutter pathsin advance of actual part production.This thesis proposes extension of the path planning function to a solid modeller basedmilling process simulation system. The system predicts the cutting forces, torques anddeflections in advance, and automatically schedules the maximum safe feed rate beforemachining takes place. On the factory floor, technological data from the solid modeller isused to assist in recognizing unexpected events, and when necessary to warn of upcomingcutting condition changes.The required milling process simulations are shown to depend on cutter immersiongeometry calculated by the solid modeller. Constructive solid geometry (CSC) is shownto be particularly useful in reducing the complexity of the immersion calculations withgeneral part shapes. Rather than simultaneously examining every detail of the part definition, the intersection of the milling cutter is separately analyzed with each block andcylinder primitive. Individual results are then combined by applying the same Booleanoperators and tree used in the overall part definition. Substantial increases in simulation speed are achieved through application of CSG redundant primitive eliminationIimethods. Representation issues, cutter path segmentation and local boundary evaluation techniques are explored to avoid repeated calculations with irrelevant primitives.Computational geometry strategies for identifying only the locally significant paths in acutter path chain are proposed, and compared to existing strategies. It is shown thatunder given assumptions this problem has a linear intrinsic complexity. Often after applying these methods the cutter-part intersection geometry reduces to a single immersioninterval. In such cases an especially rapid simulation technique is used.Beyond a laboratory demonstration of the principle, industrial usefulness of the methods requires that the milling process simulations be carried out in a systematic and efficient manner. Existing methods work incrementally by summing differential elementsalong 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 manycutter rotation angles, numerical methods and calculus techniques are used to rapidlydetermine extreme forces, torques, and deflections. Finally, when the part boundary issimple, piecewise functions are used to accelerate simulation along the cutter path.The algorithms are implemented, and the simulation accuracy verified by experimental measurement of instantaneous, average and maximum resultant forces, averagetorque, and surface error. For process planning, a continuously varying feed rate is automatically scheduled to respect imposed average torque, maximum resultant force andsurface error constraints. Additional simulation and cutter-part intersection geometrydata is calculated to assist with online monitoring and control tasks. Without surrendering the responsiveness of an online solution, upcoming sudden part geometry changesare communicated to a customized adaptive controller, allowing it to safely pass throughregions where dangerous force transients would normally occur.111Table of ContentsAbstract iiList of Tables xList of Figures xiGlossary XiXNomenclature xxiiAcknowledgement xxvi1 Introduction 11.1 Overview 11.2 Product development cycle 11.2.1 Design 31.2.2 Manufacturing planning 31.2.3 Part production 41.2.4 Summary 41.3 Milling process constraints 41.4 Thesis focus 71.5 Outline 92 Literature review 12iv2.1 Overview.2.2 Metal cutting mechanics2.2.1 Overview2.2.2 Constraints2.3 Manufacturing systems automation2.3.1 History2.3.2 Process monitoring2.3.3 Control tasks2.3.4 Summary2.4 Solid modelling and computational2.4.1 History2.4.2 Milling process simulation requirements.Solid modellersComparison of solid modelling strategiesComputational geometryNumerical analysis3 Process model and constraint mathematics3.1 Overview3.2 Milling process model relationships3.2.1 Material removal rate based models3.2.2 Uncut chip thickness based models3.2.3 Other models3.3 Constraint equations3.3.1 Torque and power3.3.2 Tooth breakage12151517232326293335353640464956techniques2.4.32.4.42.4.52.4.6595959596264676768v3.3.3 Shank breakage3.3.4 Surface location error3.3.5 Tool wear3.3.6 Chatter3.4 Summary4 Cutter—part intersection calculations4.1 Overview4.2 Cutter—primitive intersection calculations4.2.1 Rectangle calculations4.2.2 Circle calculations4.3 Cutter immersion interval combination4.4 Summary5 Relevant primitive identification5.1 Redundancy and local cutter paths5.2 Cutter path chains5.2.1 Overview5.2.2 Incremental swept volume checking . .5.2.3 Line segment intersection test5.2.4 Pocket cutter path generation strategies5.2.5 Planar subdivision methods5.3 Cutter path segmentation5.3.1 Overview5.3.2 Primitive redundancy portions5.3.3 Analytic interval endpoint expressions .69707375788181848897103107112113131131133133137145171171172172vi5.4 Summary.6 Milling process model implementation6.1 Zero helix expressions6.1.1 Average chip thickness model6.1.2 Linear edge force model6.2 Helix expressions6.2.1 Critical angle determination6.2.2 Analytic force expressions6.2.3 Summary6.3 Feed rate scheduling6.3.1 Incremental solution6.3.2 Rapid numerical solution6.4 Summary1801821831831911931941972122122122232272292292302312312332412452492492497 Simulations and experiments7.1 Introduction7.2 Experimental equipment7.3 Face milling examples7.3.1 Introduction7.3.2 Model verification and monitoring applications7.3.3 Feed rate scheduling7.3.4 Recursive parameter identification7.3.5 Summary7.4 End milling examples7.4.1 Introductionvii7.4.2 Model verification7.4.3 Feed rate scheduling7.4.4 Summary7.5 Adaptive control7.5.17.5.27.5.37.5.47.5.57.5.62502612692702702712772782872908 Summary 292Appendices 296A Algorithm analysis and growth rates 296B Planar subdivision algorithm complexity proofsB.1 OverviewB.2 Preliminary lemmasB.3 Horizontal visibility partitionB.4 Generalized Voronoi diagramsC Detailed milling process model mathematicsC.1 Linear edge force modelC.2 Helix intersection cases geometric constantsC.3 Maximum resultant force calculationIntroductionProcess modelController designSimulations and experimentsDiscussionSummary298298299304307311311314321viiiC.4 Surface profile calculations 323C.5 Piecewise linear approximation 326Bibliography 336ixList of Tables2.1 Boolean set identities.564.1 Boolean immersion interval combination rules 1044.2 Boolean immersion interval combination 1045.1 HVP tree maintenance 1546.1 Helix rotation interval cases 1987.1 Helical cutter instantaneous force tests 2507.2 Determination of cb3,01 2647.3 Steady-state maximum resultant forces 2767.4 Identified cutting model parameters . . 276xList of Figures1.1 Milling process simulation system overview . 21.2 Cutter motion specification 52.1 Metal removal process 162.2 Common face and end milling operations . 182.3 Milling process geometry 192.4 Cutter failure causes 202.5 Surface location error 212.6 Milling chatter 222.7 Numerical control machine tool axes 252.8 Axis feedback control system 312.9 Contouring error 322.10 Adaptive maximum resultant force control 342.11 Ambiguity in wireframe part representations 372.12 2 1/2 dimensional parts 382.13 Cutter—part intersection parameters 392.14 Relevant path identification 402.15 Octree solid model representation 422.16 Boundary representation of a solid 442.17 Manifold and orientable surfaces 452.18 Constructive solid geometry representation 472.19 A non-regularized Boolean operation 48xi2.20 Ray casting for CSG evaluation . . . 502.21 Redundancy definitions 522.22 CSG primitive local approximations . 532.23 Iso-oriented boxes 542.24 Modelling pocketing with CSG 573.1 MRR model definitions 613.2 Mechanistic model parameters 653.3 Multiple in cut sections 663.4 Mohr’s circle for end milling 713.5 Differential element force summation 723.6 Kline’s cutter deflection model 743.7 Regeneration in chatter 763.8 Feedback loop in chatter 793.9 Calculation of cutter engagement length 804.1 Cutter—part immersion geometry 824.2 Advancing cylinder cutter model 834.3 Cutter path definitions 864.4 Rectangle and circle definitions 874.5 Rectangle—perpendicular side 894.6 Rectangle—parallel side 904.7 Rectangle—intermediate angle side—initial contact 914.8 Rectangle—intermediate angle side—final contact 944.9 Rectangle redundancy 944.10 Rectangle—cutter intersection angles 964.11 Rectangle—cutter arc classification 98xii4.134.144.154.164.174.184.19Multiple part featuresRedundant part featuresReduced CSG treeIso-oriented boxesSweep paradigm for isobox intersectionPoor isobox fitCSG subtree and primitive bounds .S-bounds refinement—initialization . .S-bounds refinement—upward (pass 1)S-bounds refinement—downward (pass 2)Active zones for primitivesCutter path swept volumesApproximate bound fitLine segment intersection by sweepPocketing material removal stagesZigzag cutter path chainSpiral cutter path chain991011021051061081091101151161171191201211241251261271301321341361381391404.12 Circle critical points—re <rF . .Circle critical points—re rCircle—cutter intersection anglesBoolean immersion interval combination illustrationImmersion interval linked listsComplex CSG partComplex part immersion interval combinationCutter immersion algorithm implementation5.15.25.35.45.55.65.75.85.95.105.115.125.135.145.155.165.17XII’5.18 Cusp avoidance 1415.19 Occluding cutter paths 1425.20 Doubly linked circular queue 1435.21 Boundary segment queue maintenance 1445.22 Adjacent cutter path density 1475.23 Path centreline based bounds 1495.24 Horizontal visibility partition 1505.25 Vertex types 1515.26 HVP tree maintenance 1535.27 Adjacency data structure 1575.28 Incremental adjacency data structure construction 1585.29 Rectangle—tail chain intersection 605.30 Active trapezoid left/right paths 1615.31 Interior path tracing 1625.32 Subsequent path crossings 1635.33 Top/bottom crossings 1645.34 Vertical blocks 1675.35 Approximating rectangle randomization. . 1685.36 HVP traversal example 1695.37 A generalized Voronoi diagram 1705.38 Primitive redundancy segments 1735.39 Boundary evaluation 1755.40 Rectangle—cutter intersection angles 1785.41 Circle—cutter intersection angles 1796.1 Process model parameters 185xiv6.26.36.46.56.66.76.86.96.106.116.126.136.146.156.166.176.187.17.27.37.47.57.67.77.8186194195196198199201207210217219221222225225226226232234235236238238239239Rotation intervalsFace mill nose shapesHelical flute immersion angleUnrolled part surfaceHelical flute contact casesHelix rotation interval endpointsDefinition of 0Surface generation in down millingConcentrated load cantilever deflection . .Chatter angle and direction definitions . .Maximum permissible axial depth of cut .Target feed rate approximationServo dynamics compensationPredicted maximum resultant forceTarget feed rate—Fmax=1.2 kNPredicted maximum surface location error .Target feed rate—Sy,max=O.100mmExperimental setupFace milling example partsFace milling cutter pathExperimental average forces—three features, feed rate 0.151Average forces—one feature, feed rate 0.100 mm/tooth . .Average forces—one feature, feed rate 0.151 mm/tooth . .Average forces—two features, feed rate 0.100 mm/tooth .Average forces—two features, feed rate 0.151 mm/tooth .mm/toothxv2402402422432442442452462462482512512522522532532542552562572582582592602622627.117.127.137.147.157.167.177.187.197.207.217.227.237.247.257.267.277.287.297.307.317.9 Average forces—three features, feed rate 0.100 mm/tooth7.10 Average forces—three features, feed rate 0.151 mm/toothAverage force Boolean combinationPredicted average torque—three feature partTarget feed rate—average torque constraint . .Merged target feed rate—average torque constraintScheduled feed rate—average torque constraintAverage forces—scheduled feed rateAverage torque—scheduled feed rate . .Recursive parameter estimatesHelical cutter instantaneous force test 0Helical cutter instantaneous force test 1Helical cutter instantaneous force test 2Helical cutter instantaneous force test 3Helical cutter instantaneous force test 4Helical cutter instantaneous force test 5End milling example partEnd milling cutter pathsAverage forces—end path AMaximum resultant force—end path A . .Average forces—end path BMaximum normal force—end path BSurface profile—end path B7.32 Maximum surface location error—end path B7.33 Piecewise linear feed rate—maximum resultant force constraint7.34 Merged target feed rate—maximum resultant force constraintxvi7.35 Entry angle evaluation points—maximum resultant force constraint7.387.397.407.417.427.437.447.457.467.477.487.497.507.517.52B.1B.2B.3B.4B.5Scheduled feed rate—maximum surface locationMaximum normal force—scheduled feed rate.Surface profile—scheduled feed rateMaximum surface location error—scheduled feed rateMaximum resultant force process block diagramProcess dynamics due to cutter compliancePRBS feed rate and maximum resultant force .Adaptive controller block diagramAdaptive control part AAdaptive control part BAdaptive control—unaided, part AAdaptive control—unaided, part BAssistance material—part AAssistance material—part BAdaptive control—solid modeller assistance,2632652652672672682692712732762792802812842852862872882892973003023033083107.36 Scheduled feed rate—maximum resultant force constraint7.37 Maximum resultant force—scheduled feed rateerror constraintpart A7.53 Adaptive control—solid modeller assistance, part BA.l Common algorithm growth ratesA 0.5r x 0.5r squareIllustration for lemma B.2Illustration for lemma B.3Doubled path vertical blocksIllustration for theorem B.2xviiC.1 Surface profile prediction 3270.2 Kline’s surface profile 328C.3 Rectangle side endpoint angle graphs 331C.4 Cylinder second derivative component graphs 3330.5 Cylinder endpoint angle graphs 335xviiiGlossary2 1/2 D a part shape that can be defined by extruding a planar area in a direction normal 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 constraintsACT average chip thickness (mechanistic milling force model)active zone for a primitive S in a CSG tree, the region within which a change to theshape of S will result in a change in the shape represented by the overall treeAPT Automatically Programmed Tooling (a part programming language)B-rep see boundary representationboundary representation a solid modelling scheme in which the part is described bya data structure expressing relationships between the surface vertices, edges andfacesCAD computer aided designCAM computer aided manufacturingCNC computer numerical controlcontour error the dimensional error in coordinated axes motion due to the followingerror of the drive motor and control systemcontouring peripheral milling intended to generate the final part surfaceCSG constructive solid geometrycutter immersion interval in a 2 1/2 dimensional part, an angular segment duringwhich the cutter teeth will be engaged in the partcutter path the trajectory that the milling cutter should follow to produce the desiredpart surfaceD dimensionaldown milling the situation where cutting occurs over a single immersion interval [qj, 7t)xixend milling operation with an end milling cutter, usually for peripheral milling purposes or for pocketingEXAPT an extension of APT which attempts to automatically calculate appropriatespindle speeds and feed ratesface milling operation in which the primary goal is to produce a fiat part surface normalto 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 millfollowing 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 positionwill be behind the commanded (reference) position due to the control system andtable drive dynamics.growth rate the rate at which the running time of an algorithm increases as a functionof its input sizeheapsort an O(nlogn) sorting algorithm (see Aho, Hopcroft and Ullman[1j)horizontal visibility partition a planar subdivision which divides the plane intotrapezoidal and triangular sections. The top and bottom sides are horizontal, andthe left and right sides are portions of object line segments (a cutter path centrelinesegment in the thesis) which share a horizontal visibility relationship.HSS high speed steel—a tool material frequently used in end millsHVP see horizontal visibility partitionislands material to be left uncut inside a pocketisobox see iso-oriented boxiso-oriented box a box with sides parallel to the coordiate axes used to approximateobjects such as CSG primitivesLEF linear edge force (mechanistic milling force model)MRR material removal rateNC numerical controloctant one of the eight smaller cubes produced by recursive subdivision in the octreesolid modelling representation schemexxoctree a solid modelling representation scheme in which the part volume is enumeratedby the octants or cubes which it occupiespart quality in manufacturing, the tolerances on shape, surface roughness, etc. specified by the designerperipheral milling operation is which the primary goal is to produce a contoured partsurface parallel to the cutter axispocket an empty region bounded on all sides (except above) by the solid partpocketing removal of material from a pocketray casting a solid model evaluation scheme that uses infinite lines cast through thepart region to identify the volume that it occupies.solid modelling a part representation method which yields an unambigous definitionof the volume occupiedsubtree the portion of a CSG tree below the nominated interior nodesurface location error In peripheral milling, the deviation of the machined part surface 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 contain all points nearer to the enclosed object (a cutter path centreline segment inthe thesis) than to any other objectwireframe model a geometric part model that consists of the isolated lines and arcsrepresenting the boundary. Since there is no interior/exterior definition, such models are ambigous.xxiNomenclatureA very large number of symbols are required in the thesis, and, due to its interdisciplinarynature, usages are not unique. Rather than selecting an uncommon symbol, the notationmost frequently encountered in the literature is retained. Subscripts, superscripts andfunction arguments clarify the meaning intended, and the context of the usage resolvesany remaining conflicts.a axial depth of cut (mm)C1, c2 radial/tangential force ratios (LEE model)d radial width of cut (mm)B Young’s modulus of elasticity for the end mill (kN/mm2)f1() the inverse of a function f()Fmax maximum resultant cutting force (kN)Fmax,r 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 =/Sthmax maximum permissible uncut chip thickness to avoid tooth breakage (mm)xxiih* critical uncut chip thickness (LEP model) (mm)i cutter immersion interval indexI end mill moment of inertia (mm4)j cutter tooth indexJ end mill polar moment of inertia (mm4)J number of teeth on the cutterKR radial/tangential force ratio (ACT model)K3 specific cutting pressure (LEF model) (kN/mm2KT specific cutting pressure (ACT model) (kN/mm2KTR KT(1 + K)1/2 (kN/mm2tan &/rc (mm1)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 inputsize n, where f(n) is a function of naverage power (kW)F33, specific power (kW/(mm3/s))FR,PT i exponent for KR,KT (ACT model)q’ discrete transfer function backward shift operatorr cutter radius (mm)R denotes a real numbers feed rate (mm/s)st feed rate per tooth (mm)5t,tgt target feed per tooth to satisfy constraint (mm)average cutting torque (N-m)xxiiiTmax maximum torque on end mill shank (N-m)u table drive command velocity (mm/s)normal force density (kN/mm)v surface cutting speed (mm/s)x cutter feed axisXa position control ioop actual positionx,. position control loop commanded (reference) positiony cutter normal axisz cutter depth axiszL = 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 Sc4 adaptive control pole parameter, estimate (caused by cutter flexibility)3,/3 adaptive control gain parameter, estimate (kN/mm)S, normal end mill deflectionLIF,D solid modeller data assistance quantity added to the maximum resultantforce in the augmented adaptive controlleradaptive control zero feed rate offset parameter, estimate (kN)A the empty or null setq reference cutter rotation angleq5 angular spacing between successive cutter teeth (= 2ir/1)qex,i cutter tooth exit angleqst,i cutter tooth entry angleib end mill helix anglexxivw spindle speed (rad/s)Q the universal setf1(g(n)) a lower bound on the running time growth rate of an algorithm with inputsize n, where g(n) is a function of na normal stress on end mill shank (CPa)a(S) spatial bound for a CSC primitive ST shear stress on end mill shank (CPa)—* regularized Boolean difference operatorfl* regularized Boolean intersection operatorU* regularized Boolean union operatorxxvAcknowledgementSincere 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 EngineeringResearch Council of Canada (NSERC) Postgraduate Scholarship, a British ColumbiaAdvanced Systems Foundation Graduate Research Scholarship, and an award from theDepartment of Mechanical Engineering, The University of British Columbia. Supportfrom NSERC equipment grant EQP-0028762 and operating grant OGP-0006164 (awardedto Dr. Altintas) and operating grant OGP-0003583 (awarded to Dr. Kirkpatrick) is alsoacknowledged.The staff of the Department of Mechanical Engineering, Faculty of Applied Science,and the Centre for Integrated Computer Systems Research (CICSR) always cheerfullyprovided assistance. The National Research Council of Canada Institute for MechanicalEngineering (Vancouver, BC) provided the surface profile data for figures 7.31 and 7.32.xxviChapter 1Introduction1.1 OverviewIt is perceived that a diminishing proportion of the workforce will be employed in manufacturing, and hence the pressure to automate will steadily increase [51]. Existingstrategies for achieving the untended machine tool isolate the design, manufacturingplanning and factory floor activities. Alternatively, this thesis develops an integrated approach centred around a methodically implemented solid modeller based milling processsimulation system (figure 1.1).To identify the essential requirements for such a system, short introductory sectionsfollow on the product development cycle, and milling process constraints. The closingsections define the thesis focus, and outline the remaining chapters.1.2 Product development cycleDevelopment of a new product can be divided into design, manufacturing planning andactual part production stages. With reference to solid modeller, milling process simulation and untended machining needs, these stages are outlined below. A brief summaryconcludes the section.1Chapter 1. Introduction 2MACHINING DATA BASEcutter calibration constantsPART DESIGN cutter failure constraintsinitial and final machine tool constraintspart geometry part tolerance constraintsI rcutter—part intersection milling process Igeometry calculations simulationSOLID MODELLER BASED MILLINGL?L1’2ZLJPATH PLANNER improved path strategy simulationcutter trajectories planning strategy analysis dataFINAL PROCESS PLAN MONITORING ANDcutter trajectories CONTROL DATAspindle speeds cutter failurefeed rate schedule adaptive controlMACHINE TOOLFigure 1.1: Milling process simulation system overview. The part geometry is specifiedusing a solid modeller, and cutter trajectories are selected using path planning software.After the cutter-part intersection geometry has been calculated, calibration constantsfrom the machining data base are used by the milling process simulator to predict theforces, torques and deflections for the specified path, cutting speed and feed rate. Thesimulation data is analyzed and, if necessary, the cutter trajectories improved. Afterthe cutter paths have been finalized, feed rates are automatically scheduled to adhereto constraints listed in the machining data base. This information, along the additionalmonitoring and control data, is transmitted to the machine tool.Chapter 1. Introduction 31.2.1 DesignFollowing 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 numberof alternatives have been examined. Because of the high costs and time delays involved inconstructing prototypes, it is instead preferred to carry out computer assisted engineeringanalyses. The solid modeller [97, 98] has become widely accepted as the vehicle for thiswork because of its utility in rendering a visual image of the part, performing stressanalysis, checking assemblies for interference, and other tasks. The ultimate goal is toreduce the human effort required to produce an acceptable design the first time.1.2.2 Manufacturing planningAfter the part geometry has been finalized, the manufacturing process is planned. Formilling, 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 mustbe programmed so that the operation proceeds rapidly, but without violating any failureor 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 arepresentation of the part shape in its data base. The proposed strategy is to simulate aselected milling process plan before machining occurs. Forces, torque, cutter deflectionsand surface errors are predicted to aid the human operator to select appropriate cuttertrajectories and machining conditions. Feed rates are automatically scheduled by thesimulation system to maintain adherence to milling process constraints.Chapter 1. Introduction 41.2.3 Part productionAfter the manufacturing plan has been finalized, actual part production can begin. During actual cutting at the machine tool a number of unexpected events may occur. Theseshould be automatically handled without the need for direct operator attention. With agood milling process simulation system, reference technological data can be supplied togive an absolute indication of expected cutting forces, torques, etc. at any point alonga cutter path. An intelligent machine tool controller can use this reference to quicklyand automatically identify discrepencies, diagnose the cause and take corrective action.When adaptive force control systems are being used, the technological data can warn ofupcoming sudden process changes so that excessive transient forces, which would causecutter breakage, are avoided. The solid modeller alone is able to provide this referencedata ahead of the cut.1.2.4 SummaryTo summarize, consistent production of acceptable parts requires a milling process simulation system capable of assessing the manufacturability of a part design, planning cuttermotions consistent with constraints, and providing technological data to assist in achieving untended machining at the factory floor (figure 1.1). Since manufacturing planningis typically an interactive activity, the system should be highly efficient computationally, and should form a component of existing solid modellers to extend their capabilitythroughout the product development cycle.1.3 Milling process constraintsEssentially, the metal cutting processes involve moving a cutter tooth relative to the partso that a thin layer of material will be sheared away, leaving a new part surface. In millingChapter 1. Introduction 5____— cutter_path____cuttinq speedfeed rateFigure 1.2: Cutter motion specification. The cutter path is the trajectory followed bythe centre of the cutter (relative to the part). The cutting speed is the rate at which thecutter edge moves relative to the part surface. The feed rate is the speed at which theuncut 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. Withmodern numerically controlled (NC) machine tools, this is accomplished automaticallyby 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 appropriate cutter path, cutting speed, and feed rate (figure 1.2). The cutter path is thetrajectory to be followed by the cutter centre, and is planned so that under nominalconditions the final part shape has the correct finished dimensions. The cutting speed is afunction of the cutter radius and the spindle rotational speed. Based on the part and toolmaterials, it is selected to achieve rapid material removal but prevent excessive heatingand tool wear, and avoid chatter. The feed rate is the speed at which the part movesrelative to the cutter. It is selected to avoid excessive forces, torques and defiections.Chapter 1. Introduction 6A solid modeller based planning system should be capable of automatically determining all three aspects of the cutter motion specification. Under nominal conditions, thegeometric aspect of cutter path planning, including verification, has been frequently considered by others. However, little attention has been given to scheduling varying cuttingspeeds and feed rates along the cutter path as the part geometry changes. It is this issuewhich is addressed in the thesis.The important considerations in selecting cutting speeds and feed rates are failureor part quality constraints. Failure constraints, if violated, would lead to breakage ofthe machine tool, cutter or part. For example, if the localized stress on any tooth isexcessive the cutting edge will fracture. This will in turn result in higher loads on theremaining teeth, and can quickly lead to severe damage. Prevention of tooth breakagecan be accomplished by scheduling cutting conditions so that the excessive stresses arealways avoided. If a breakage does occur, the online machine tool monitoring system canuse data from the solid modeller to distinguish a true breakage from a part geometrychange, and safely halt the operation in the former case.In slender end milling applications an excessive resultant force on the cutter can breakthe cutter shank. Again, this can be avoided by using the milling process simulationsystem to predict the forces and schedule an appropriate cutter motion. When somevariation in part shape or tool condition is expected, an adaptive force control systemcan be used to maintain productive cutting conditions without violating this constraint.However, a warning from the solid modeller is still required to prevent excessive forcetransients and shank breakage when sudden changes in part geometry occur.Chatter, caused by self-excited vibration of the cutter, machine tool or part, is difficultto simulate. For particular equipment, however, a depth of cut limit and stable cuttingspeed can be predicted and used to schedule appropriate cutting conditions. When onlinemonitoring is used to detect chatter, reference to condensed part geometry informationChapter 1. Introduction 7will be required to satisfactorily specify an alternative feed rate.Additionally, the solid modeller based milling process simulation system must checkthat the cutting force loads will not exceed the torque or power capabilities of the spindlemotor, or any of the table drives. A complete planning system should consider thesefailure constraints as well, and specify a cutter motion that violates none of the conditionslisted.The finished part must meet dimensional constraints, which can be violated by excessive deflection of the part or cutter. Since these deflections are the result of forces actingon 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 cuttingconditions scheduled to avoid unacceptable finished dimensions.In order to treat all of these constraints, a milling process simulation system mustfirst be able to efficiently and reliably determine the intersection of the cutter and partat any time. This is required to accurately implement the milling process model. Itmust then schedule productive cutting conditions that violate neither the failure or partquality constraints. The system should furthermore be capable of providing condensedtechnological information to the machine tool controller to assist it in monitoring andcontrolling the actual cutting operation.1.4 Thesis focusSolid modellers currently have little or no ability to simulate the milling process. Reported research has difficulty in determining the cutter—part intersection boundary, usespoor process model approximations, or is computationally inefficient. This thesis addresses the problem by developing the solid modelling algorithms necessary to obtain thegeometrical information, and simulation strategies based on accurate mechanistic millingChapter 1. Introduction 8force models. The emphasis in both areas is to move beyond informal approaches to theuse of methodical and efficient techniques.The cutter—part intersection geometry is shown to be essential to all of the millingprocess calculations. To find these intersections the “divide and conquer” algorithmicparadigm is used with a constructive solid geometry (CSG) representation scheme toyield a reliable solution. In order to avoid repeated operations on irrelevant part features,redundant primitive elimination methods are reviewed and tailored for application to themilling process simulation problem. Special attention is paid to identifying only the fewrelevant cutter paths in operations such as pocketing, where a long chain of paths isused—each incrementally changing the shape of the part. Alternative solutions based oncomputational geometry techniques which improve on the quadratic time complexity ofincrementally checking all previous cutter paths, and avoid repeated updating of the CSGtree, are proposed.Several improvements over reported milling process simulation techniques are developed. Rather than summing small differential elements along the cutter axis, analyticexpressions are developed to rapidly obtain forces, torques and defiections in 2 1/2 dimensions. Numerical methods and calculus techniques are then used to find extremevalues, eliminating the need to repeatedly sample at small angular increments as thecutter rotates. Whenever possible, the cutter—part intersection boundary is simplified sothat accelerated simulation can occur along the cutter path as well. After simulating themilling process, the highest material removal rate (MRR) consistent with the relevantconstraints is scheduled.The algorithms are tested in simulation use, and compare well with experimentalresults. The potential of the techniques to assist in manufacturing automation is demonstrated by a number of applications. Feed rates are automatically scheduled to maintainthe highest MRR consistent with average torque, maximum resultant force, and surfaceChapter 1. Introduction 9error constraints. Use of technological data to assist in factory floor decision making isexemplified by part shape verification and tooth breakage detection. In adaptive forcecontrol, advance information from the solid modeller is used to anticipate sudden partgeometry changes, avoiding the dangerous transients that otherwise would occur.1.5 OutlineAn outline of the thesis follows:In chapter 2 the existing literature on solid modeller based milling process simulationis appraised, and the relevant metal cutting mechanics, manufacturing automation, solidmodelling and computational geometry references are reviewed.Chapter 3 explains mathematically the metal cutting process models used in the thesis, and the physical constraints limiting material removal rates. Specifically, the cutter—part intersection geometry is shown to be fundamental to successful implementation ofthe models.Chapter 4 presents constructive solid geometry (CSG) as a suitable solid modellingmethod for milling process simulation. A reliable “divide and conquer” strategy is developed for determining the important cutter immersion angles. Block and cylinder primitives in 2 1/2 dimensional parts are thoroughly analyzed, and expressions describingtheir intersection with a cylindrical milling cutter formulated.Chapter 5 explores several ways of increasing the simulation efficiency by eliminatingirrelevant CSG primitives. The suitability of existing schemes is evaluated, and techniques particularly suited to milling process modelling are presented. The problem ofidentifying relevant cutter paths in a chain is examined and solved by applying computational geometry based solutions. It is shown that under given assumptions this problemChapter 1. Introduction 10has 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 casesa very rapid simulation technique is proposed.Chapter 6 develops analytic expressions to predict cutting forces, torques and cutterdeflection. Each of the formulae critically depends on the immersion information available from the solid modeller, and is much more efficient than the small differential axialelement summation methods used by previous researchers. Furthermore, use of analyticexpressions permits rapid determination of critical forces and deflections, without requiring sampling at small cutter rotation angular increments. The formulae are inverted foruse in scheduling feed rates consistent with physical constraints.Chapter 7 demonstrates the simulation algorithms and confirms their accuracy witha number of experimental tests. The good agreement obtained supports use of the solidmodeller data to automatically schedule feed rates consistent with constraints, and toaugment online monitoring functions. This is confirmed by experiments to maintain aconstant average torque, maximum resultant force and surface error by varying the feedrate as the part geometry changes. Use of solid modeller data for monitoring purposes isspecifically demonstrated by comparing the average forces of parts missing one or morefeatures, and outlining a tooth breakage detection algorithm.Application of solid modeller data to assist with adaptive control of the maximumresultant cutting force is also examined. It is shown that, when sudden changes in partgeometry are encountered, standard controllers are unable to react in time to preventcatastrophic tool breakage. By introducing information from the solid modeller, thecontroller is warned of the upcoming change, and smoothly adjusts its commanded outputto eliminate the dangerous force transient.In chapter 8 the major contributions of the thesis are recounted and summarized. Extensions of the work to support more complex cutters and part geometries, and to furtherChapter 1. Introduction 11integrate the solid modeller based milling process simulation system with the machinetool controller, are suggested. This is followed by the appendices and bibliography.Chapter 2Literature review2.1 OverviewResearchers have recognized that sustained operation of machine tools requires both generation of correct cutter motions, and enhanced online monitoring and control capabilities[7, 55]. Development of a solid modeller based milling process simulation system will address these needs by automatically considering the constraints on the material removalrate (MRR), and providing reference technological data to the factory floor controller.Although the motivation to develop such a system arose with the introduction of numerical control (NC) in 1952, only recently have research efforts been directed towards itspractical realization.The research group associated with Takata has produced a number of papers on apart model based cutting simulation system [7, 49, 53, 120, 131, 132]. In [7] the averagetorque is estimated using an empirical equation based on the MRR. While this methodcan provide quick estimates to check that the spindle motor will not be overloaded,instantaneous forces, needed to check for shank breakage and excessive deflection, areunavailable. The later articles [120, 131] use a more accurate mechanistic milling forcemodel. Following Kline [57], the authors subdivide the axial depth of cut into thin slicesand sum the force vectors to obtain the overall cutting forces. This time consumingincremental simulation approach is continued in both the cutter rotation and cutter pathdirections. No attempt is made to increase the calculation efficiency by exploiting the12Chapter 2. Literature review 13local part description.In [132] the authors propose, for pocketing, maintaining a constant radial width ofcut to adhere to cutting force and chatter constraints. A direct inverse calculation froma milling process model, however, is not used. Iwata and Takata [49] outline a system architecture integrating milling process simulation with the online machine toolcontroller. Their list of desireable features (process planning, adaptive control and monitoring) matches the implementation achieved in this thesis.Wang [140] considers more complex part shapes than Takata, and demonstrates byexample the reduction in machining time possible if a milling process simulation systemis used to schedule the highest safe feed rate. However his process model is the simpleMRR approximation taken from [61], and similar in implementation to [7]. Again, thedepth or Z-buffering technique is used to calculate the cutter—part intersection. Feed ratescheduling within the NC programming block is not possible, and no online monitoringand control applications are considered. The recent article by Yamazaki et al [145] dealswith sculptured surface machining, but retains the MRR process model.The work by Kendall’s group [55, 78, 154] parallels the philosophy of Takata, butrecognizes the importance of developing a methodical system. In [55] the idea of supplyingknowledge 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 exploitits capabilities. The end mill engagement determination method reported in [78] is theclosest work to that proposed in this thesis. A boundary representation (B-rep) of thepart is used to determine the cutter—part intersection along separately specified cutterpaths. There is no apparent effort to develop the system upwards towards the designstage of product development, or to increase computational efficiency by identifying thelocally relevant portion of the large B-rep data structure.The research group lead by Armarego has also reported an analytical cutting forceChapter 2. Literature review 14model for end milling [4, 141]. The emphasis of that work was to create a cutting forceconstant data base which can be used by milling process simulation systems such as theone proposed in this thesis.This thesis formally addresses the problem of developing a solid modeller based millingprocess simulation system. As opposed to the MRR based systems which ignore provenmilling process models, this thesis directly identifies the geometrical parameters neededfor the simulations. The geometrical information is then obtained from the solid modellerusing computationally efficient methods in which incremental summations and samplingare replaced by analytical expressions and more advanced numerical techniques.Implementation of the milling process simulation system will entail integration ofcurrent knowledge and methods from metal cutting mechanics, manufacturing systemsautomation, solid modelling, computational geometry and numerical analysis to be successful. 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 capturingthe required geometrical knowledge in the solid modeller based simulation system, bothfor planning purposes and assisting with untended machining tasks.The manufacturing systems automation section examines the present capabilities ofNC machine tools and controllers, including sensor technology. It is concluded that thebefore the cut information available from the solid modeller will enhance the untendedmachine tool capabilities in a practical way that currently cannot be matched by sensorsalone.Existing solid modeller based milling process simulation systems operate with poorefficiency due to their failure to fully exploit part geometry knowledge. The final sectionreviews the representation techniques and computational tools available to address thesedeficiencies. With reference to the implementation requirements of the milling processChapter 2. Literature review 15model, the common solid modeller representation strategies are briefly compared. Computational geometry and numerical analysis methods appropriate to the milling processsimulation problem are outlined.2.2 Metal cutting mechanics2.2.1 OverviewIn the metal removal processes the passage of each tooth results in a thin layer of partmaterial being sheared away. A sketch of the basic operation for orthogonal cutting, inwhich 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 uncutchip thickness. Forces on the tooth arise from chip formation along the primary shearplane, additional shearing and friction along the rake face, and the largely frictional forceon 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 shearplane. The force on an entire milling cutter is found by summing the contribution ofeach tooth section.Classical studies of the physics of machining have been conducted by authors suchas Merchant [79, 80] and Lee and Shaffer [70]. Although their work contributed tounderstanding the process, a purely predictive model of metal cutting has yet to bedeveloped. Rather, mechanistic models based on the uncut chip thickness are mostfrequently used in practice.Milling cutters consist of a number of teeth arranged around the circumference of amain body (figure 2.2). A face mill is used to produce a flat surface normal to the cutteraxis. It usually has a large radius r and operates at a small depth of cut a. End millsare typically used at much larger depths of cut, have a smaller radius, and teeth whichChapter 2. Literature review 16Figure 2.1: Metal removal process. The passage of each tooth results in a thin layer ofthe part material, with uncut chip thickness h, being sheared away. The shear angle isdenoted 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 smm/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 pathapproximation is normally used. In this case the instantaneous uncut chip thicknessvaries sinusoidally as the tooth edge rotates according to the formula ii = s sin q, whereq5 is the immersion angle shown in figure 2.3. The mechanistic models (see for exampleKline [57]) separate the cutting force into tangential FT and radial FR components, whichare proportional to the uncut chip thickness. These components are vectorially summedover all in cut tooth edges to yield the total load on the cutter. The complex expressionsrequired for the vector summations are presented in chapters 3 and 6, including formulaerake faceshear planeresultant1’’force\‘\,\\\\\ %\\\\\\\\\ \\\/ace//////Chapter 2. Literature review 17for helical end mills. Based on this fundamental introduction however, it is recognizedthat geometrical methods for determining the portions of the cutter teeth engaged inthe part, and the corresponding uncut chip thicknesses, are needed for implementing themilling process simulation system.2.2.2 ConstraintsThe rate at which a milling process may proceed (the MRR), is limited by constraintsimposed to prevent failure of the machine tool or cutter, or production of an unacceptablefinished part. Both failure and part quality constraints were introduced in chapter 1, andwill be treated in mathematical detail in chapter 3. This section serves to briefly identifythe 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 ofmachinability—a topic which has received intensive research attention. The primary focusis 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 suddenbreakage.Prediction of the rate of wear for a particular tool is difficult due to the wide variationsencountered in practice. Yellowley and Barrow [149] have observed that thermal cyclingdue to the interruption of cut in milling is a major contributing factor. This is a geometricaspect of the cutting conditions, which can be ascertained by the solid modeller andincorporated into an approximate wear model.To obtain a satisfactory wear resistance, tool materials are hard and brittle. Thisincreases susceptibility to breakage when the tooth load becomes excessive or suddenlychanges [89, 90] (figure 2.4(a)). This condition can be checked for by determining themaximum uncut chip thickness that the cutter teeth will encounter, which is a functionChapter 2. Literature review 18Figure 2.2: Common face and end milling operations. (a) Face milling. Teeth are spacedaround the circumference of the cutter body. The cutter radius r is large and the depthof 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 andwidth of cut d, and deflection can be significant.aCr(a)(b) dChapter 2. Literature review 19Figure 2.3: Milling process geometry. The teeth on a milling cutter rotate at angularspeed w, tracing out an approximately circular path as the part advances at a feed rateof .st. Under these conditions the instantaneous uncut chip thickness varies according tothe formula h s sin q. The cutting speed is v = wr. The tangential Fr and radial FRforce components are assumed to be proportional to h.FR\Chapter 2. Literature review 20(a)Figure 2.4: Cutter failure causes: (a) tooth breakage due to excessive uncut chip thickness. (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 ofthe cutter shank (figure 2.4(b)). Using mechanistic milling process models, the load onthe cutter can be predicted by finding the uncut chip thickness at each point along theteeth in cut, determining the force contribution, and vectorially summing to obtain theresultant. 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. Thedoctoral studies by Kline [56] and Sutherland [117] consider this topic, including radialrunout, part deflection, and dynamic considerations. They use very computationallyexpensive 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(b)Chapter 2. Literature review 21‘DFigure 2.5: Surface location error. The cutting forces deflect the flexible cutter, and, ifthe part wall is thin, the part as well. To avoid violating this constraint, the simulationsystem 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 anatural frequency of the structure is excited, causing undulation in the generated partsurface (figure 2.6). This leaves a periodically varying uncut chip thickness which isencountered by subsequent cutter teeth, causing a varying force and deflection. Shouldthe tooth passing frequency be unfavourable with respect to the chatter frequency, thevibration will again generate an undulating part surface, and the phenomenon will repeat. Growth of chatter is caused by a long contact length between the cutter andpart (Koenigsberger and Tlusty [60]). Again, this is a geometric quantity which canbe reported by the solid modeller, and ultimately incorporated into a chatter predictionsystem.Other constraints, such as torque and power limitations, are also based on the cuttingsurfacelocationerror/Chapter 2. Literature review 22Figure 2.6: Milling chatter. When the cutter or part begins vibrating, an undulatingsurface is left to be encountered by subsequent teeth. This varying uncut chip thicknessresults in varying forces and defiections, causing the new undulating surface to be generated. A solid modeller can predict the contact length between the cutter and part, whichis important in chatter prediction (Koenigsberger and Tlusty [60]).Chapter 2. Literature review 23force, require the same information from the solid modeller, and can be checked in asimilar way. The mathematical details are outlined in chapter 3.2.3 Manufacturing systems automationThe increased emphasis on untended manufacturing has renewed research in the areasof machine tool monitoring and control. In this section the history of numerical control(NC) for machine tools is briefly presented. Following subsections cover the importantaspects of both monitoring and control tasks.2.3.1 HistoryThe history of numerical control (NC) in the metal removal industry began with demandsby the United States Air Force for rapid and accurate production of complex aerospaceparts [40, 64]. Manual operation of the machine was becoming unproductive due to thelarge portion of time being spent measuring the dimensional accuracy of the part. Thefirst 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 theAir Force to both Parsons, and soon after to the Massachusetts Institute of Technology(MIT) Servomechanism Laboratory. The first NC machine tool was demonstrated byMIT in 1952.The low level NC programming language format understood by the machine toolcontrollers adheres to ETA (Electronics Industries Association) standards RS-273-A andRS-274-B. The major benefit of the NC language is the ability to specify a linear, circularor parabolic cutter path which will automatically be followed by coordinating the machineaxes (figure 2.7)—a task beyond human capability. For easy control implementation, thecutter path is the track to be followed by the centre of the cutter. Therefore in manualChapter 2. Literature review 24part programming a number of tedious geometrical calculations are required to determinethe path which will leave the desired shape at the part surface.This difficulty was recognized, and immediately after the first NC machine tool wasintroduced, the Air Force sponsored additional research at MIT to develop a higher levelNC programming language. In 1959 the APT (Automatically Programmed Tooling)language was first released, and remains in use even today. APT programs consists oftwo major parts [40j: (i) part and cutter geometry specification and (ii) cutter motionstatements. The geometry is specified using lines, circles, etc. that represent the partboundary 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 thecorrect cutter centre location. The cutter motions are translated into the standard lowlevel NC programming language format suitable for controlling the factory floor machine.Other parts of the language allow for automatic cutter selection, etc. The human partprogrammer 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 ofgeometrical information.The need to separately specify the part geometry for cutter path programming can beeliminated 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. Thecomplete part descriptions provided by solid modellers further permit development of amilling process simulation system.Chapter 2. Literature review 25axis 1axisFigure 2.7: Numerical control machine tool axes. A set of five axes is shown. The firstthree axes represent the usual Cartesian coordinate system. Additional axes are gainedby adding a turntable (axis 4) and permitting rotation of the spindle head (axis 5). Foreach axis a feedback control system is used to obtain accurate positioning. Coordinatingthe axes motions manually is a task beyond human capability.Chapter 2. Literature review 262.3.2 Process monitoringWith NC having replaced the need for a human to actually operate the machine tool,continued progress towards untended manufacturing requires replacement of the sensesand judgement of the machinist (Wright and Bourne [143]). A major difficulty in visuallymonitoring machining operations in process is the hostile environment. The shiny surfaceof 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 orat least blocking the view. Most measurements are therefore carried out using a varietyof special purpose transducers. A critical review of sensors for unmanned machining wasconducted by Tiusty and Andrews [126]. Additional discussion of sensors and actuatorsis contained in recent textbooks [29, 143], including bibliographical references.Monitoring tasks in an untended environment concentrate on identifying abnormalconditions so that an appropriate response can be initiated.Breakage of a cutter tooth must be immediately detected and the cutting processhalted before additional damage occurs. Several authors [67, 85] have attempted todetect the acoustic emission generated by sudden fracture of the tooth, but research inthis area still requires substantial study before the technique can generally applied inindustry. Altintas [3] proposes detecting tooth breakage by comparing the average forcesof successive tooth periods. When a tooth edge breaks it becomes smaller, removes asmaller uncut chip load, and normally experiences smaller forces. The following toothon the cutter then must remove a larger portion of material, and therefore bears a largerload. When an unusually low average force is followed by a higher than normal value, theexistence of a broken tooth is inferred. Practical application of the approach is hinderedby runout and a lack of part geometry knowledge—which are both difficult to distinguishfrom a broken tooth. False broken tooth detections must be avoided if a productive MRRChapter 2. Literature review 27is to be maintained. In the case of runout this is achieved by properly preparing the cutterso that runout is minimized. An average force change above a threshold value then isassumed to be the result of a broken tooth. Immersion information and predicted averageforces from a solid modeller based milling process simulation system can be transmittedto the online monitoring system to assist in distinguishing part geometry changes fromtooth breakage.Shank breakage occurs when long, slender high-speed steel (HSS) end mills are subjected to excessive loads. The actual cause of failure is brittle fracture due to a highbending 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 throughproper planning, or the use of adaptive control techniques (see section 2.3.3). When itdoes occur, it can be immediately detected by the sudden lack of cutting forces, torqueand power.Chatter vibrations can rapidly grow in amplitude, possibly resulting in breakage ofthe cutter. An unacceptable surface finish will certainly result, and hence chatter mustbe quickly detected. Several types of transducers have been proposed for detecting theonset of chatter. The rapid cutting force variations can be detected by piezoelectricdynamometers. A common laboratory arrangement is to mount a small part on a tabledynamometer, 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 ismachined its shape and mass change, making it difficult to ascertain the transfer functionof 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, thismethod indirectly measures the vibration at the cutter—part interface, and the bandwidthis limited.Smith [108] recognizes chatter by detecting its characteristic high frequency noise withChapter 2. Literature review 28microphones arranged to reject sounds away from the cutting region. He then develops astrategy, based on the theoretical understanding of the phenomenon, to select alternativecutting conditions that should avoid chatter. After measuring the dominant frequencyof the chatter noise, his method then adjusts the spindle speed so that the tooth passingfrequency matches the chatter frequency. This establishes a stable phase angle in theregenerative feedback system, and is useful in high-speed machining applications, wherechatter is common, and a wide choice of spindle speeds is available. After a new spindlespeed has been chosen, he slowly advances the part to verify stability without risking highamplitude forces. If chatter free conditions are now apparent, the feed rate is increasedto a productive level. A solid modeller based milling process simulation system is usefulat this point to select the new feed rate. If the cutting conditions which result in chatteror stable cutting are recorded, a data base can be developed to aid in development of achatter prediction model, which remains an active research topic.Detection of over torque or over power conditions also must be rapid to preventmachine tool or part damage. Should the capabilities of the spindle motor be exceededit may suddenly stall. Part feed must then immediately be halted. Avoidance of suchan occurrence is preferred to its detection, and can be achieved by checking the partdimensions before cutting. If the part is found to be within tolerance, the simulationscarried out by the solid modeller guarantee safe cutting conditions. Average torqueand power in process are most readily measured by sensing the spindle motor electricalcurrent [113, 120]. In the laboratory, instantaneous forces can be measured using a tabledynamometer, 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 thebearing 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 measuredirectly. In process methods of detecting tool wear function indirectly by tracking theChapter 2. Literature review 29surface location error [41], or by measuring the cutting temperature [47, 1521 or electricalresistance [111]. Acoustic emission has also been proposed for tool wear measurement[48, 66, 95], but remains unaccepted for practical use. Since cutting forces and torquestend to increase with wear [26, 133], data from a solid modeller can assist by providing areference set of values simulated under sharp tool conditions. Slowly increasing forces ortorques would then indicate wear, which can be recognized in time to replace the cutterbefore a catastrophic failure occurs.The availability of new technological data from a solid modeller milling process simulation system offers the potential to more closely monitor adherence of the part shapeand material properties to expected, nominal values. Use of a reference signal from thissource has previously been suggested by authors such as Takata and Sata [119]. Solidmodeller information is therefore an enabling contribution needed to successfully beginexploring this application area.In summary, monitoring of milling processes is a matter of verifying that the operationis proceeding normally. Nominal forces and torques can be predicted by a solid modellerbased simulation system, and the data used by the online monitor to detect deviationswhich require halting cutting and human operator attention.2.3.3 Control tasksAccurate, automatic control of machine tools was required starting with the introduction 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 interpolators 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 inthe electrical and mechanical elements, there will be a non-zero dynamic delay or following error between the commanded Xr and actual position Xa (figure 2.8(b)). WhenChapter 2. Literature review 30coordinated 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 thefinished part. This problem can be avoided during linear interpolation by stopping thetable between successive steps in the NC program, but this solution is undesireable whena high MRR is to be maintained. The subject is an active research topic, and progressarticles 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 themajority of the research has addressed adherence to constraints such as the maximumresultant 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 andGoetz [114], who showed that the machining is time varying—the process parametersbeing a function of the part geometry (tool wear and material properties change muchmore slowly). Their cutting model consisted of a varying gain and a fixed first orderpole. The gain was calculated from force and feed rate measurements and the regulatorthen tuned to ensure stability of the system. Masory and Koren [65] later developed anadaptive control system for turning. Tomizuka et al [129] first applied modern adaptivecontrol 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 alsoinvestigated 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), andconsist of two main components: (i) identification of the process to be controlled (parameter estimation) and (ii) tuning of the control regulator based on the parameterestimates (figure 2.10). The process is identified using methods such as recursive leastsquares (RLS). The regulator control law is then formulated so that the desired closedloop transfer function is achieved. The tuned regulator sets the feed rate command signalE0C,,oChapter 2. Literature review 31(a)32100.00 0.02 0.04 0.06 0.08time (s)1.00(b)Figure 2.8: Axis feedback control system. (a) A position control ioop is used to accuratelyachieve 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 32actual path1x position (mm)Figure 2.9: Contouring error. At the corner the x axis is commanded to instantaneouslystop. 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.commanded path0(I)0a>N2 CChapter 2. Literature review 33u so that the measured maximum resultant force Fmax corresponds to the reference forceFmax,r. Details on implementation of a pole placement adaptive controller are given insection 7.5, including development of a dynamic milling process model which includesthe influence of edge forces.The major difficulty with such force control systems is their inability to performadequately when extremely sudden changes in part geometry are encountered. If thedepth or width of cut increases too quickly, the regulator will be unable to reduce the feedrate before a large force transient occurs (figure 2.10(b)). This excessive force will likelybreak the end mill shank, and may also damage the part and fixtures. The inability torecognize and react to upcoming changes in geometry has prevented industrial acceptanceof adaptive control. In section 7.5, geometric information from the solid modeller isprovided to an augmented adaptive control system to overcome this difficulty, whileretaining the advantage of online feedback.Active chatter control systems [22, 50, 72] work by modulating the spindle speed inan attempt to disturb the regeneration process. The theory behind such approaches isin its infancy, and is not further considered in this thesis.2.3.4 SummaryIn untended machining the most difficult open problem is replacement of the sensesand judgement of the machinist. By including a solid modeller simulation capability insuch a system, reference or expected values with which to compare online process sensorreadings will be readily available. In applications such as tooth breakage or chatterdetection, 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 themachine tool executive.0=3Cl)U)E=3EEChapter 2. Literature review 34(a)0 20 40 60 80 100position (mm)3210120(b)Figure 2.10: Adaptive maximum resultant force control. (a) Block diagram. The machining process is recursively identified, and the parameter estimates used to adjust theregulator to achieve the desired closed ioop response. The example shows an adaptivecontrol 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 ofthe top portion of figure 7.48. When a sudden change in cutting conditions occurs, suchas a rapid increase in depth of cut, the controller is unable to prevent the dangerous forcetransient.Chapter 2. Literature review 352.4 Solid modelling and computational techniquesPart geometry and its representation play important roles in all phases of the productdevelopment cycle. To be of practical utility, any milling process simulation systemmust therefore interface with existing part representation schemes. A brief history of thesubject is provided at the beginning of this section. Next, the requirements of a partrepresentation scheme to be used for milling process simulation are outlined. Contemporary solid modellers are then assessed for suitability to the task, and a representationscheme for use throughout the thesis selected.Attainment of efficiency will require appropriate use of tools from the fields of computational geometry and numerical analysis. Introductions to these areas are brieflyprovided to establish a basis for methodically implementing the complete solid modellerbased milling process simulation system.2.4.1 HistoryEarly computer aided design (CAD) programs provided only an “automatic drafting”level of assistance. The computer part representation was merely a rendering of theisolated two dimensional lines and arc entities that previously were hand drawn.Programming of the cutter motions in such a system is accomplished by selectingthe appropriate entities as boundaries to be used in an APT like preprocessor. Since noimmersion information is available, the part programmer is required to manually selectappropriate cutting speeds and feed rates. Due to the tedium of such calculations, veryconservative estimates are normally used, leading to an inefficient MRR.More advanced systems provided some three dimensional capabilities, and combinedthe isolated entities into a “wireframe” part representation. Although an improvement,the wireframe representation is ambiguous (figure 2.11) because there is no differentiationChapter 2. Literature review 36between the interior and exterior of the part—information which is needed for engineeringanalyses (Finite Element Methods (FEM), mass calculation, etc.). This limitation hasturned current attention to solid modellers, which explicity identify the solid region ofthe 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 asplastic injection molds or airframe components), geometrical verification of NC programsto 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 solidmodeller to implement a physical milling process simulation system, and the literaturereview is conducted with that aim.2.4.2 Milling process simulation requirementsTo develop the concepts needed to implement a milling process simulation system, attention 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-yplanar profile (figure 2.12). Such “functional” parts comprise a large portion of everydaymachined components [32, 105, 137] and therefore provide a practical foundation. Furthermore, for simplicity, the shape will be restricted to edges formed by flat or cylindricalfaces. 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 isalso imposed only for simplicity in developing the overall strategy for the milling processsimulation system.In order to simulate the milling process, the part representation must permit thecutter—part intersection to be rapidly determined. This is a primary requirement thatChapter 2. Literature review 37Figure 2.11: Ambiguity in wireframe part representations. (a) Since wireframes provideno information to identify the part interior and exterior, it is unclear whether the hole isthrough (b) the top, (c) the front, or (d) the side of the block. The literature attributesthis example to J. Shapiro (see [46, chapter 1]).Chapter 2. Literature review 38Figure 2.12: 2 1/2 dimensional parts. Such parts can be imagined as a vertical extrusionof the x-y plane. More complex shapes can be constructed by permitting a laminationof 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 axialdepth of cut a and the angles over which the cutter teeth are immersed as the cutterrevolves (figure 2.13). As will be shown in chapter 6, knowledge of the immersion anglesat 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 changesmust be recorded in the part representation before simulation along the next path canbegin. In practice, however, only a few of the preceding cutter paths are likely to berelevant during subsequent simulation. In figure 2.14, there are cutter path chains tomill the outside perimeter of the part, and two internal pockets A and B. The threechains are isolated, and hence there is no need to, for example, consider the perimeteror 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.zChapter 2. Literature review 39aFigure 2.13: Cutter—part intersection parameters. For 2 1/2 D parts, the axial depth ofcut a, and the angles during which the cutter teeth are immersed in the part (circumference arc shown with thick lines) are the geometric parameters required to simulate themilling process.0Chapter 2. Literature review 403\\I /Figure 2.14: Relevant path identification. Three cutter path chains to mill the partperimeter and two internal pockets A and B are shown. When simulating removal ofpocket B, the paths associated with the perimeter and pocket A should be quickly eliminated from consideration. Within pocket B itself, only a portion of the preceding pathsare 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 requiredportions of the part representation data structure are needed.2.4.3 Solid modellersThe representation schemes used in solid modellers are divided into three primary groups:1. spatial enumeration or octree encoding2. boundary representationChapter 2. Literature review 413. constructive solid geometryA brief description of the strategy used in each representation follows.Spatial eiiumerationThe spatial enumeration or octree encoding [76, 103, 104, 144] technique recursivelysubdivides a volume into cubic regions (called octants or voxels) until the part is exactly represented, or a specified tolerance is reached. A step by step description of theprocedure follows:1. First enclose the part in a sufficiently large cube, centred at the origin and alignedwith the coordinate system axes. The cube side dimension is chosen so that repeated subdivision into halves is easy to perform.2. If the part exactly fills the cube mark the cube as occupied 0. If the part occupiesnone of the cube mark the cube as vacant V. In either case then exit from theprocedure. Otherwise, subdivide each side of the cube into halves, producing eightsmaller cubes.3. Recursively repeat the previous step until the cubes exactly define the part, or aspecified 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 anoverall spatial enumeration of the volume occupied by the part (figure 2.15(b)). At eachlevel of subdivision, fully occupied or vacant octants become leaves and are respectivelymarked 0 or V. Partially occupied octants become interior nodes with eight smaller childoctants.Chapter 2. Literature review 42OctantNumbering(aPartRepresentation(b)Figure 2.15: Octree solid model representation. (a) The cubes are recursively divided intoeight until they either exactly represent the volume occupied by the part, or a specifiedtolerance is reached. (b) Data structure for representation in part (a). Branch nodes arerepresented by circles, and leaf nodes by squares. Occupied octants are identified withan 0, and vacant octants are marked V.o1Chapter 2. Literature review 43Octrees 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 noteasily described by other means [12]. However, since the cube is the only permittedelementary shape, even regularly curved objects such as cylinders require storage of anunacceptably high number of octants to achieve a sufficient approximation. Furthermore,since the cubes are aligned with the coordinate axes, a rotated prismatic shape also canbe 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 surfacesare represented by faceting, a frequently employed technique from surface modelling inwhich the surface is approximated by a set of fiat faces. These techniques are useful forrendering, and finding intersections. However, once the octree representation has beendefined the original, exact part shape is no longer available. A later change in resolutionrequires complete recalculation.Boundary representationMany of the the commercial solid modellers, such as I-DEAS1 and CADKEY2,implement the boundary representation scheme. A boundary representation (B-rep) of asolid 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, andhence are very useful for surface intersection calculations. Furthermore, it is easy toassociate technological data with both a complete part or an individual face. For example,1registered trademark of Structural Dynamics Research Corporation, Milford, OH, USA2registered trademark of Micro Control Systems, Inc., Vernon, CT, USAChapter 2. Literature review 44SolidFigure 2.16: Boundary representation of a solid. The surface normal vectors always pointaway from the interior (which is shown hatched). A directed graph data structure linkssolid—> 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 surfaceproperty (figure 2.17(a)). That is, the surface cannot touch or intersect itself. Theorientable 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 iseasy 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 45(a) (b)Figure 2.17: Manifold and orientable surfaces. (a) A non-manifold surface—it touchesitself along line AB. (b) A non-orientable surface. The Möbius strip is a thin sheet witha 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 geometryIn a constructive solid geometry (CSG) representation, the part is defined by regularizedBoolean set operations [122] intersection fl*, union U* and difference —* applied toprimitives such as blocks and cylinders (figure 2.18(a)). The formula to produce theshape is maintained in a binary tree styled data structure, where the primitives are storedat 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 complexrepresentations. The term regularized means that the resulting solid has no regions ofzero thickness (dangling faces) (figure 2.19). A subtree is simply the portion of a CSGtree below the interior node root. Widely known implementations of the approach arethe PADL-2 [11] and TIPS [86] solid modellers.Chapter 2. Literature review 46The CSG approach provides an intuitive procedural representation. A well chosenordering of the set operations will produce a data structure which, when traversed, specifies 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 implicitdefinitions of the primitives and operators need be maintained. It is easy to add anotherprimitive to the data structure, since evaluation of the part boundary or volume occupied can be deferred. This property can be exploited when maintaining a changing partmodel, as is the case in milling process simulation.2.4.4 Comparison of solid modelling strategiesThe spatial enumeration or octree scheme has not received serious attention for mechanical part modelling purposes. Although it offers a conceptually simple way of dealingwith complex surfaces, many practical parts are of the functional variety. That is, theycan be represented by combining simple shapes such as the CSG primitives. The substantial memory requirements and loss of exact part representation for even cylindricalobjects have limited its acceptance. For milling process simulation purposes, it is expected to be very inefficient. Cutter immersion information is not available in a simpleform. Although the spatial location of occupied cubes is explicitly stored, a very largedata structure would have to be traversed to locate these. Again, there is no apparentmethod of extracting the needed geometrical information in a condensed form.A frequently stated advantage of the boundary representation scheme is its apparentsuperiority when technological information (surface finish tolerance, etc.) must be specified. The explicit representation of each part face facilitates storage of such information.Requicha and Chan [96], however, have observed that CSG model1es can also implementstorage of information associated with a part face. Each primitive has a finite numberof faces, and hence the information can be stored at the primitive level. When BooleanChapter 2. Literature review 47Solid P r I m it i ye sFigure 2.18: Constructive solid geometry representation. (a) The L-shaped part withhole is formed by applying regularized Boolean set operations to the primitive blocks Aand B, and cylinder C. (b) Data structure for part (a). The tree represents the solid(B—*A)—*C.A88(a)C(b)Chapter 2. Literature review 48danglingfaceAnB An*BFigure 2.19: A non-regularized Boolean operation. The dangling face is removed to yieldthe regularized solid.operations are applied each remaining face belongs to one of the original primitives. Thatis, faces can be removed through Boolean operations, but never created. Therefore, it issufficient to maintain technological information for only the primitive faces.The only known attempt to implement a milling process simulation system directlyusing the B-rep strategy is by Melkote and Kendall [78]. The difficulty in using B-repsis, like the octree representation, the need to explicitly maintain the part shape. Sinceboundary 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 partis to be cut using many cutter paths. Explicitly evaluating the boundary after each cutand then updating the part representation data structure is a very unattractive idea, andno methods of avoiding this task are obvious.The primary difference between the CSG and octree or B-rep strategies is its implicitrepresentation. An implicit representation requires minimal information storage, and is//A//Chapter 2. Literature review 49advantageous when frequent updates to the part model are anticipated—such as duringsimulation of pocket milling. However, before any engineering analysis can occur itis 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 unsolvedproblem.Alternatively, ray casting methods (see for example Roth [101]) can be used. Raycasting is becoming a widely accepted evaluation method for CSG models, and specializedhardware has been developed to accelerate this operation [30, 54]. An illustration of raycasting 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 particularlywell suited to rendering the solid on a video display since it automatically performshidden line removal, and is easily extended to shading.In this thesis, for implementing the milling process simulation system outlined, theCSG representation is most convenient. It most naturally accommodates representationof 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 angles using the “divide and conquer” paradigm (chapter 4). Furthermore, the implicitrepresentation of CSG permits effective grouping of primitives, and an easier method ofavoiding redundant calculations during long simulations (chapter 5).2.4.5 Computational geometryAs has been observed by Quinlan and Woodwark [94], “Solid modelling has now come ofage, and attention is shifting from demonstrating that techniques are feasible to questionsof 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 coversChapter 2. Literature review 50Figure 2.20: Ray casting for CSG evaluation. An infinite ray is cast through the solidand divided into in (dashed lines) and out (continuous lines) sections. By using a fieldof rays covering the entire solid region rendering on a video display can be accomplished,or properties such as volume computed.Chapter 2. Literature review 51the computational geometry tools that are expected to contribute towards attaining anefficient and methodically implemented solid modeller based milling process simulationsystem.Computational geometry is concerned with the development of efficient algorithms forgeometrical problems [77, chapter VIII]. Much of the classical literature on the subjectdiscusses 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 isnot 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 propertyare examples of interest areas.Since all of the geometric calculations required to implement a solid modeller basedmilling 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 traversalto check each primitive for relevance in a particular, localized calculation. With large andcomplex 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 bemodelled as a group of primitives in addition to the initial, blank part. The greater thanlinear time growth rate of most query algorithms further increases the computation effortrequired.Lack of explicit location information hinders identification of relevant CSC primitivesfor a particular calculation. One approach suggested to overcome this deficiency is toChapter 2. Literature review 52Figure 2.21: Redundancy definitions. (a) A is A redundant in A U *B. (b) C isredundant in C U *D.augment the CSG Boolean operation tree with a data structure that spatially segmentsthe primitives [94, 1391. The method proposed is similar to the octree method. Although this technique is valuable for a static part model, the time consuming calculationneeded to update the data structure as the part shape changes limits its usefulness duringmilling process simulations. Instead, most contemporary approaches rely on redundancydetection methods.In a CSG solid model, a primitive is said to be redundant if it can be replaced by eitherthe 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 Aredundant in A U *B, and C is 2 redundant in C U *D.Redundancy detection usually involves forming a local approximation of a primitive toreduce the complexity of the query. Near the primitive C Tilove [124] calls S’ a localizationof S if S U *C 5’ U *C (figure 2.22). In his paper he further describes a number ofalgorithms designed to detect null objects. The approach is particularly intended for use(a) (b)Chapter 2. Literature review 53Figure 2.22: CSG primitive local approximations. Near C 5’ is a localization of S sinceS fl *C = 5’ fl *C (see Tilove [124]).in interference checking. If two solids A and B have intersection A fl *B = A then theydo not interfere, otherwise they do. A difficulty with Tilove’s approach is that he doesnot specify how one should choose an approximation SI.A number of approximate bounds for a CSG primitive S have been suggested, but theiso-oriented box or isobox a(S) [46, 77] is most widely accepted. Two and three dimensional examples of isoboxes are shown in figure 2.23. An isobox bound just encloses theassociated primitive, and has its sides oriented parallel to the coordinate axes. Efficientalgorithms based on the interval tree or segment tree have been developed to report allintersections between a population of n isoboxes. Assuming that N intersections are reported, the running time growth rates achieved are O(N+n log n) and O(N+n log2 n) forthe 2 D interval tree and 3 D segment tree solutions respectively. The reader is referredto 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 basedbounds refinement and redundancy checking method. His approach involves initiallysurrounding 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 theChapter 2. Literature review 54(a)()(b)Figure 2.23: 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) 2 D isobox (b) 3 D isoboxA(A)Chapter 2. Literature review 55root and vice versa, an approximate bound for the CSG tree (or subtree) as a whole isobtained. Bounds other than isoboxes, such as circles, convex polygons or spheres, havealso 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 theoreticprinciples and Boolean operations, is the the active zone method proposed by Rossignacand Voelcker [100]. The active zone Z(S) of a CSC primitive S is the region withinwhich, 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, treeswith only U* and 11* operations. All —* operations are replaced by a fl* operation, withthe right child replaced by its set complement.The active zone of a primitive S is determined by replacing it with , and interpretingany U* operations as —* operations along the tree traversal path from the root to S. Ithas been shown [100] that a primitive S is redundant if and only if 2(5) C 5, and isA redundant if and only if S fl *2(5) A. Further details are provided in chapter 5.Implementation of active zones requires a means of testing the sets referred to, andisoboxes 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 treecan be simplified to eliminate the redundant leaves. This is accomplished by applyingthe appropriate Boolean set identity from table 2.1.In some instances explicitly building the CSG tree and then applying an approximatebounds 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 largenumber of paths n are needed to clear the pocket area, the CSG tree will grow quicklyChapter 2. Literature review 56A1 AuB AnB A-*BPA P A PAP P A APci ci P Aci PTable 2.1: Boolean set identities. When a primitive is identified as being either A orci redundant, it removed from the CSG tree by applying the appropriate Boolean setidentity. This simplification is repeated recursively as the tree is traversed from theprimitive leaves to the root. In the table above A represents the null or empty set, ci theuniversal 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 cutterpath, only preceding paths with interfering swept volumes are relevant. The number ofrelevant paths N is expected to be few, and hence, rather than performing redundancydetection on the entire tree of n paths, it is more appropriate to find the N relevant pathsand build a CSG tree including only those. When processing path i, the most naturalquery is to check each of the preceding i — 1 paths for interference. Over all n paths inthe pocket, however, this requires 0 + 1 + 2 + . . . + (n — 1) n(n — 1)/2 or ci(n2) queries.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 andplanar subdivision based methods.2.4.6 Numerical analysisAs stated in chapter 1, a multi-faceted approach to optimizing the calculations for 2 1/2 Dparts is planned. Reducing summation of small axial elements is accomplished by developing analytical expressions for the required cutting force and torque equations (chapter 6).Beyond accelerating calculations at a particular cutter rotation angle, this achievementChapter 2. Literature review 57A/\(a)M2)—*M34*M5)—*M6)—*M7(b)Figure 2.24: Modelling pocketing with CSG. (a) The volume swept by each cutter motionis modelled using a small CSG primitive group M = (A U *B) — *C. (b) The partshape CSG tree is repeatedly updated by subtracting the M groups from the initial,uncut part W.—*/\ci((((((((w-*c1)-*M1)- *Chapter 2. Literature review 58enables the use of numerical methods to quickly locate extreme values over a tooth period. This is needed, for example, when the maximum resultant force is the limitingconstraint (to prevent end mill shank breakage). Numerical methods also are requiredto condense the simulation data calculated along each cutter path, and to invert force—feed rate relationships for process planning purposes (chapter 7). Other examples arisethroughout the thesis. The primary numerical analysis reference texts used in the thesisto solve these problems were Brent [10], Conte and de Boor [27] and Forsythe, Malcolmand Moler [34j.Chapter 3Process model and constraint mathematics3.1 OverviewIn the first section of this chapter the mathematical relationships used to implement thesolid modeller based milling process simulation system are developed. The predictionscalculated using these equations are needed both for process planning and to providetechnological data to assist in online monitoring and control tasks. The second sectionpresents the constraint equations used to schedule appropriate cutting conditions duringeach cutter motion.3.2 Milling process model relationshipsMathematical milling process models have been developed to varying levels of accuracyand complexity. A review of the these was recently presented by Smith and Tlusty [109].3.21 Material removal rate based modelsThe simplest models are based on the equation (figure 3.1(a))MRR = adswJ/2-wwhereMRR is the material removal rate (mm3/s)a is the axial depth of cut (mm)d is the radial width of cut (mm)59Chapter 3. Process model and constraint mathematics 60st is the feed per tooth (mm)w is the spindle speed (radians/s)3 is the number of teeth on the cutterThe average power consumed during cutting is then estimated to bePZPSP.MRR (3.1)where the specific power P3, is determined either by experiment or reference to publisheddata [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 andmotor will not be exceeded. They were used to provide basic feed rate scheduling in earlysystems such as EXAPT, and remain the extent to which the milling process physics isconsidered in contemporary cutter path planners.Researchers such as Wang [140] have attempted to extend this model to predictcutter deflection and surface location error in end milling. The proposed equation is(figure 3.1(b))F = 0.5P/vwhere F is the cutting force component normal to the feed direction and v = wr is theperipheral cutting speed. The cutter is assumed to deflect as a cylindrical cantilever beamwith the force F concentrated at the tip. This equation does not consider the discreteedges that are actually involved both in producing the cutting force and instantaneouslygenerating the finished part surface. Agreement with experiment is poor.Chapter 3. Process model and constraint mathematics 61Figure 3.1: MRR model definitions. (a) The axial depth of cut is denoted by a, the radialwidth by d, and the feed per tooth by s. The rotational speed is w and the cutting speedis v = w’r, where r is the cutter radius. (b) The normal cutting force is F, whichis assumed to be constant as the cutter rotates. The corresponding cutter deflection iscalculated by assuming a point load at the tip, and modelling the cutter as a cylindricalcantilever beam extending from the tool holder.r(a) d(b)Chapter 3. Process model and constraint mathematics 623.2.2 Uncut chip thickness based modelsImproved mechanistic models which consider the instantaneous in cut geometry of eachportion 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 modelKoenigsberger and Sabberwal [59, 102] first reported the proportional relationship between the uncut chip thickness and the tangential cutting force component. This modelhas been extended by Tiusty and MacNeil [127] and DeVor, Kline et al [37, 57] to includea radial force component.For an elemental axial slice, the cutting forces at each tooth j are separated into tangential dFT,3 and radial dFR,J components (figure 3.2) and modelled using the expressionsdFT,(b,z) KTh(q5,z)dz ()dFR(q5,z) = KRdFT,J(b,z)Assuming a circular cutter path, the uncut chip thickness h3 is defined ash(q,z) =s1inq5(z)wheretan çbZands is the feed per tooth (mm)is the cutter rotation reference angle (figure 3.2)q is the angular spacing between successive teethChapter 3. Process model and constraint mathematics 63The slice of tooth j at axial location z is engaged in cut (and forces exerted) oniy when4j(z) < q. The slices are added together to obtain the total force since, forend mills, the existence of a non-zero helix angle J.’ complicates derivation of an overallanalytic expression. This is a computationally intensive task for which improvements aredeveloped in chapter 6.The specific cutting pressure Kr and the radial/tangential force ratio KR are calibration parameters particular to a cutter and part material combination. They are modelledas exponential expressions of the average chip thickness ) per revolution [57}MTi_PT(3.4)KR = MRhThe average uncut chip thickness is defined geometrically as the ratio of the chip volumeremoved to the exposed chip area. Hence for 2 1/2 dimensional parts (figure 3.3)a> I stsinqd4— i Jti— a (qex,i(3.5)(cos 1erj — cos çb5t,2)= —St(ex,i— st,i)where the q,j) are the isolated in cut sections. In face milling there frequently area number of in cut sections, which the solid modeller must be able to quickly identifyby examining the part geometry (chapter 4). Two special cases frequently arise in endmilling for which there is only one in cut section: (i) down milling, where the singlecutter immersion interval is [q, ir); and (ii) up milling, where the single cutter immersioninterval is [0, q).Chapter 3. Process model and constraint mathematics 64Linear edge force modelYellowley [3, 153] has proposed a linear milling process model which divides the forcesinto uncut chip and edge contributions. His model has the form= aK5(h(q) + h4)(3.6)= aKa(cihj(c6)+c2h*Since this model is used only for face milling calculations, it is assumed that there isno 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 uncutchip thickness h*. The specific cutting pressure is K. The constants c1 and c2 specifyratios between the radial and tangential force components.Cutter and part deflection at large depths of cut can be significant, causing the teethto 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 generallybe used as a process model for end milling.3.2.3 Other modelsThe mechanistic uncut chip thickness models described in the previous section are widelyaccepted and used, and serve adequately to develop the solid modeller based millingprocess simulation system methods proposed.Models of increased complexity proceed to consider the flexibility of the cutter andpart, and the influence that this has on the instantaneous uncut chip thickness. Withlarge flexibilities and small cutter diameters or widths of cut, this indeed is a significanteffect. It was not thoroughly considered in this thesis because the basic geometricalChapter 3. Process model and constraint mathematics 65ytx(b)zFigure 3.2: Mechanistic model parameters. (a) A thin slice in the cutter axis planeduring a down milling operation is depicted. For each tooth j cutting forces are resolvedinto tangential dFT and radial dFR,, components which are a function of the uncut chipthickness h3. A reference angle q is associated with the bottom edge of the first tooth,and the angle between successive teeth is qS,. In the example shown the cutter immersioninterval is [q3,7r). (b) In end milling the slices are added to find the total force sincethe existence of a non-zero helix angle /‘ complicates derivation of an overall expression.(a)Chapter 3. Process model and constraint mathematics 66Figure 3.3: Multiple in cut sections. In the example 2 1/2 D part shown above the cutteris 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 flexibleend mill is considered in conjunction with the linear edge force model to develop theprocess model to be used with an adaptive control system. The proposal is to augmentthe controller with a priori information from the solid modeller to warn of upcomingpart geometry that otherwise would lead to sudden cutting force transients and end millshank 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 conductedto further understanding of chatter. It is recognized that a chatter model to predict thelimit of stability will depend on immersion geometry, particularly the depth of cut andnumber of teeth in immersion. A basic model of this form is considered in chapter 6.Chapter 3. Process model and constraint mathematics 673.3 Constraint equationsAchievement of untended machining by avoiding unexpected factory floor events througha priori planning is preferred practice, and hence the ability to plan good cutter pathsand appropriate cutting conditions is essential. Consideration of the MRR constraintsas they apply to the chosen part and machine tool is therefore a central purpose fordeveloping a milling process simulation system. In an integrated system information onthe relevant constraints to monitor would be communicated to the machine tool controllerto assist with its online operations. It will be shown in this section that knowledge ofthe cutter—part intersection geometry is fundamental to these tasks.3.3.1 Torque and powerInstantaneous maximum and average torque and power must be limited to the capabilitiesof the spindle shaft and motor. These specifications are provided by the machine toolmanufacturer, or can be measured experimentally.These constraints are most prevelant during face milling, where larger radii cuttersare used, and during high speed end milling. Assuming a zero helix angle, the torquecontributed by tooth j of the cutter, engaged in the part at an angle qj = + jq, isTj(q5) = rFT3(cb)where r is the cutter radius. Either the ACT (3.3) or LEF (3.6) models can be usedto compute the tangential force FT3(). The total instantaneous torque is found bysumming 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 duringone tooth period, but is more efficiently found by applying either calculus or numericalmethods (chapter 6).Chapter 3. Process model and constraint mathematics 68The average torque and power are found by integrating over a full revolution of thecutter. For the average torquejE_jT(q)dqThis calculation must be carried out in a piecewise fashion, with endpoints occurringeach time a tooth enters or exits from in cut contact with the part. Knowledge of thepart geometry is essential.The average forces in the z and y directions are not considered as constraints, butare useful for verifying the part shape (chapter 7). In chapter 6 it will be shown how, inconjuction with the part geometry, the average forces are used to calibrate the millingprocess model parameters.Using the relationship P = Tw constraints on power can similarly be calculated.3.3.2 Tooth breakageTo 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 asPekeiharing [89, 90]. For implementation as a constraint, the simple limit on the uncutchip thicknesshmas SSi7Lbj (3.7)suggested by Yellowley [151] is adopted in this thesis. By finding the in cut immersionintervals using a solid modeller, the maximum value of sin q is easily found. The permissible feed rate s can then be selected to satisfy the maximum uncut chip thicknessthreshold hma.Chapter 3. Process model and constraint mathematics 693.3.3 Shank breakageShank breakage is a common cause of high speed steel (HSS) end mill failure. It occurswhen the tensile stress exceeds the strength of the brittle tool material. A normal stressload results from the bending moment caused by the maximum resultant cutting forceFmax = sup{(F()2+F()2e[O,4)}An additional shear stress arises from the torque on the cutter. The normal stress due tothe axial force is assumed to be negligible. As a first approximation, the cutter is assumedto be a cylindrical cantilever [62]. Its moments of inertia are calculated assuming a radiusof O.8r. That is,I r(O.8r; J ir(O.8rUsing Mohr’s circle (figure 3.4), the tensile stress is2 1/2° +Txy +The maximum tensile stress is expected to occur on the cutter surface in the shank regionwhereMmaxrc Tmaxrcand r,=A typical end mill is very slender, with L > 8r. Additionally, it is difficult to achieveclearance between the tool holder and the part unless L > 2a. The maximum bendingmoment is thereforeMmax F, (L—3L> - ma> 6Fma7’cThe tangential force from each edge will certainly be less than Fmax, and at most twoedges of a four tooth cutter will ever be fully immersed simultaneously. Therefore theChapter 3. Process model and constraint mathematics 70maximum torque will be Tmax<2Fmaxrc. With these approximations/ / \2 1/2— ( MyaT i I \ i Mmaxrcma 21 ) J ) 21[(i.55Miax)2+(1.55T)2]2+ 155MaxFmax { [x + x’]112 + XM}where XM > 9.3 and XT < 3.1, implying that the contribution to the maximum tensilestress due to the torque component is less than three percent. The maximum resultantcutting 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 involved 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 anumber of differential axial elements (figure 3.5). The cutting forces are determined foreach slice, and vectorially added together to find the overall force. This must be repeatedat small increments of rotation over a tooth period to find the maximum resultant forceunder the current immersion conditions. A more rapid approach to solving this problemis developed in chapter 6.3.3.4 Surface location errorThe flexibility of slender end mills causes them to deflect under forces, leaving a locationerror 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 deflectionincrementally. He assumed that the total normal force F(qS) was concentrated at thenormal force centre zcF,(q), which is defined as the point where the total normal forcewould cause the same bending moment at the tool holder as the distributed normal forcedensity wy(cb) (figure 3.6). The deflection of the cutter was then computed from theChapter 3. Process model and constraint mathematics 71maxFigure 3.4: Moh?s circle for end milling. The constraint is the maximum normal tensilestress max which is primarily due to the bending moment on the cutter shank.0Chapter 3. Process model and constraint mathematics 72resultantforceFigure 3.5: Differential element force summation. Due to the perceived complexity ofthe cutter—part intersection geometry in end milling, the common approach used in theliterature (see Kline [57]) to find the resultant force is to vectorially sum a number ofsmall differential axial elements.Chapter 3. Process model and constraint mathematics 73cantilever equationz) = [<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 andI is the cutter moment of inertia. The location of the flute contact with the part wasfound, which defines a point on the finished surface. To entirely determine the part surfacelocation, the calculation was incrementally repeated over an entire tooth rotation period.He extended his model to include radial runout (eccentricity) and included flexibility ofthe part through the use of finite element methods.By assuming a rigid part and using an analytic solution for the cutting forces, thenormal force density w(4, z) can be found and the cantilever beam equationd4 ()El —w,z)solved exactly. Further simplifying to a point force applied midway along the depth ofcut, the maximum surface location error can be predicted without iteratively samplingat many cutter rotation angles. This permits a rapid scheduling of feed rates to avoidexcessive error. These ideas are developed in chapter 6.3.3.5 Tool wearUseful cutting tool life depends on many factors including tool and part material, cuttingvelocity (spindle speed), and, in milling, the influence of intermittent cutting.Yellowley and Barrow [150j have developed a model which is strongly dependent onthe cutter—part immersion geometry. In peripheral milling, they define an equivalent feedper toothSt,eq J sin 1bdb (up milling)leX 0Chapter 3. Process model and constraint mathematics 74zsurface generationportpoints zon the shankWYFigure 3.6: Kline’s cutter deflection model [58]. The cantilevered length of the cutteris L and the axial depth of cut is a. The surface is generated at the points ZSG whichdepends on the helix angle & and rotation angle q. The normal force centre ZCF,Y isdefined as the point where application of the total normal force F would result in thesame bending moment at the tool holder as the distributed normal force density wi,,.maximum bendingmomentLYaCF, y//Chapter 3. Process model and constraint mathemaLics 75and then derive the tool life relationship1ta 31/Tpqwhere ta is the tool life time in cut. The exponents s, 1/r, p and q are calibrated for thetool and part material. The thermal fatigue parameter X is defined as1/2X=Er(R.t_)whereEr is a temperature calibration parameterR is the spindle speed in rpm (= 60 2ir . w)t is the uninterrupted tool life timeThe ratio t/ta relates the uninterrupted cutting time to the actual time in cut, which fora single immersion interval is equal to27rq58tThis thesis does not further consider tool wear as a constraint, but geometrical information from the solid modeller clearly is needed to handle tool life predictions.3.3.6 ChatterA fundamental explanation of chatter theory is best presented by considering a singletooth edge. The material following is based on Tlusty [125]. The predominant andsustaining cause of chatter in milling is regeneration of an undulating surface, caused bya relative vibration between the cutting edge and the part (figure 3.7)Assume that the preceding pass of the cutting edge left a waveRosinwtChapter 3. Process model and constraint mathematics 76Figure 3.7: Regeneration in chatter (adapted from Tiusty [125]). A single cutting edgeis shown under fully developed conditions. During the previous tooth pass it is assumedthat a wavy surface with amplitude R0 was left behind. This causes a modulated uncutchip thickness, a varying force, vibration of the cutting edge and regeneration of a newwavy surface with amplitude R. If R> R0 then the chatter is unstable.hmChapter 3. Process model and constraint mathematics 77and that the current pass is producing a waver = R sin(wt + 2irN + e)If the mean feed or chip thickness is hm, then the instantaneous chip thickness is hhm + h, where h = r0 — r. The cutting force is assumed to obey the equationF = Fm+FvKTR1c(hm + h)= KTRlchm + KTRl(ro — r)where KTREJ? is a specific cutting pressure related constant and l is the length of contactbetween 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 GU,oR(s) R(s)/F(s) relates the motionof the cutter edge in the r direction to the cutting force. The e2 term is the Laplacedelay element. At the limit of stability R = IR0L which occurs when the Nyquistcriterion [43, chapter 10]KTRlGoR(s)(l — = —1is satisfied. Since all the other values are real and positive numbers, it must hold thatG,oR(s)(1 — eJc) = 2T[G,oR(s)j < 0where J?[G,oR(s)] is the real part of G,oR(s). If e is unrestricted (as is the case at lowerspindle speeds) then the theoretical stability limit on the contact length is—11c,lim = r j, c[ç’ 1 (3.8)ATRJ413v,ORjminwhereJ[Gu,OR1mzn inf{J?[G,oR(jw)] wc(—oo, +oo)}Chapter 3. Process model and constraint mathematics 78That is, R[Gv,OR]m:n 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. Inhigh-speed milling the spindle speed can be manipulated adequately to control e andachieve an increased 1c,Lim that lies between stability lobes [108, 125]. This idea is notpursued further in this brief introduction.Another form of chatter, mode coupling, is non-regenerative. It is less prominent inmilling applications, and is not explained here.Derivation of a theoretical expression for multi-toothed milling cutters is difficultbecause of the varying orientation of the cutter edges. Time domain simulations aretherefore used for accurate research study. From figure 3.8, however, it is apparentthat the depth of cut, a geometric quantity, is a fundamental parameter for single toothcutting. For multi-toothed cutters research studies confirm that the equivalent parameteris 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 predictioncapability.3.4 SummaryThe strong dependence of the milling process model and constraint calculations on thecutter immersion geometry is readily apparent from the material presented in this chapter. For the 2 1/2 D parts considered, the axial depth of cut and the angles during whichthe 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 tomethodically and efficiently determine this geometric information along each cutter pathas the part is machined.Chapter 3. Process model and constraint mathematics 79R(s)Figure 3.8: Feedback ioop in chatter (adapted from Tiusty [1251). The nominal uncutchip thickness is hm and the cutting force Fm. The varying force component Fe(s), actingthrough the structural transfer function G,oR(s) causes the cutting edge to vibrate inthe r direction with amplitude R. When the previous surface, with wave amplitude R0,is encountered a varying uncut chip thickness h(s) and force F(s) are generated, and theprocess repeats.Chapter 3. Process model and constraint mathematics 80+Figure 3.9: Calculation of cutter engagement length. Research studies indicate the cutterengagement length is the stability parameter in multi-tooth milling. This can be foundusing a solid modeller milling process simulation system.Chapter 4Cutter—part intersection calculations4.1 OverviewIn chapter 3 cutter-part immersion geometry was identified as fundamental to implementation of a milling process simulation system. For the 2 1/2 D parts under considerationthis can be determined by finding the axial depth of cut a, and the immersion intervals[q8,cbex,i) (figure 4.1).To determine the immersion geometry, imagine the cutter as an advancing cylinderwhich cuts along only its leading edge (figure 4.2(a)). This concept has been proposedby Bertok et al [7] and Wang [140], but these authors used it to implement a millingprocess 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 thepart model and cutter path specification. It remains to calculate the two dimensionalcutter immersion intervals [qSt, qexi) which vary as the part features are encounteredalong the path (figure 4.2(b)). Development of an efficient method to determine thiscutter-part intersection information is the chapter focus.In the next section, intersection calculations for a stationary semi-circular cutterarc encountering rectangles and circles (2 1/2 D blocks and cylinder primitives) aredeveloped. The simplicity of the intersection calculation with isolated primitives exploitsthe “divide and conquer” paradigm unique to the CSG representation scheme.81Chapter 4. Cutter—part intersection calculations 82Figure 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).t, 0 0e x , a)øst,1 øex,i),[øSt,2x,2)ciChapter 4. Cutter—part intersection calculations 83cutterFigure 4.2: Advancing cylinder cutter model. (a) The milling cutter is imagined as acylinder which advances along the programmed path into the uncut part. (b) In twodimensions this is equivalent to a semi-circular arc which encounters the features of thepart as it advances along the cutter path, defining cutter immersion intervals.workp leceTV(b)Chapter 4. Cutter—part intersection calculations 84The subsequent section describes how the CSG part definition can be used to combinethe intersection information from each primitive to yield the overall immersion angle data.The Boolean operations that define the part are used, providing a methodical approachthat must function correctly. A practical demonstration of the method is shown usingan example part shape and a microcomputer implementation of the algorithms.A final section summarizes the chapter.4.2 Cutter—primitive intersection calculationsSimultaneous consideration of an arbitrary part when calculating the cutter immersioninterval is unviable. The infinite combination of CSG primitive combinations allowedprevents enumeration of all cutter-part intersection possibilities. In contrast, the intersection calculation of the cutter arc with an isolated primitive can be exhaustivelyanalyzed. In this section, intersection of the semi-circular cutter arc with rectangles andcircles (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 pointyp,i) and end at (x,2,Yp,2) (figure 4.3). To provide a consistent reference frame forthe intersection analyses, a homogeneous transformation [441 is applied which maps thecutter path to begin at the origin (0, 0) and extend along the x axis to (lu, 0), where thepath length l is equal to ((x,2—x,1)2 + (yp,2— ypl)2)’12. Translation of the x’-y’ point(Xp,i,yp,i) to the origin is accomplished by the matrix equation0 Xp,l0 =A•1 1Chapter 4. Cutter—part intersection calculations 85where1 0 Xp,i= 0 1 Yp,i (4.1)00 1The rotation required to then move the path onto the x axis iscos6 sin& 0A 6 0 (4.2)0 01whereI Yp,2 Yp,10 = arctan\ Xp,2 — p,iis 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 multiplying together the matrices from (4.1) and (4.2) to yield the matrix A = ArAt. Usinghomogeneous coordinates, the transformation equation isx=A.1 1Calculations in all subsequent sections assume that the primitives and cutter path havebeen transformed into this x-y coordinate system.Rectangles are defined by a base point (Xrb, Yrb), lengths l and l,,, and an orientationangle a (figure 4.4(a)). Equivalently, the four vertices (Xrk, Yr,k)k=O...3 can be used.These points are defined as follows:Xr,O = Xrb Yr,O = YrbXr1 = Xrb + ,, cos Yr,1 Yrb + lXr,2 Xrb — lsina +lcosa Yr2 Yrb +lcosc + lsinaXr,3 1y 5fl t?t = y,.j, + l, cosChapter 4. Cutter—part intersection calculations 86y(Xp,2,yp,2)Figure 4.3: Cutter path definitions. In the aY-y’ plane, the cutter path begins at (x,1,yp,i)and ends at yp,2). For convenience in analysis, the coordinate system is tranformedso 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 cutterarc with a rectangle or circle primitive:1. Locate the critical points along the cutter path at which contact between the cutterarc and the primitive begins or ends. The immersion angles will be unchanging onone side of such a point.(x,1,y)x2. Carry out the immersion angle calculations where necessary along the segmentsChapter 4. Cutter—part intersection calculations 87(Xr3 ‘Yr,3)y(x rb ‘Yrb )x (XrO,Yr)x(a)(b)(Xr2 ‘Yr,2)(x r,1 ‘Yr,i)Figure 4.4: Rectangle and circle definitions. These correspond to 2 1/2 D block andcylinder primitives. (a) A rectangle is defined by a base point (Xrb,yrb), lengths l, andli,, 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.yxyChapter 4. Cutter—part intersection calculations 88between the critical points.The mathematics needed for these tasks is developed in the following sections.4.2.1 Rectangle calculationsThe intersection of the cutter arc with a rectangle is further subdivided into an isolatedtreatment of each of the four sides. Cases of the side being (1) perpendicular, (2) parallelor (3) at an intermediate angle to the cutter path are separately considered.Perpendicular sideFor the case of a perpendicular side, initial contact occurs only if some portion of theside is within r, of the cutter path. Denoting the sides endpoints K1(XK1,yKl) andK2(xK2,yK) if the side K12 crosses the path then initial contact occurs when thecutter 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 lengthr, back to the cutter path in order to find the cutter arc centre at initial contact (figure 4.5(b)). In the example the side endpoint is K2 and the cutter arc centre C is locatedat (xK2 — (r —y2)’/ 0).If either endpoint of the side is farther than r from the path, then the cutter arccentre at final contact is the intersection of the path with the infinite extension of theside (figure 4.5(c)). That is, C (XK1,0) at final contact.Otherwise, choose the endpoint most distant from the path, and construct a trianglefrom there with hypotenuse length of r back to the path to find the cutter arc centrepoint at final contact. In the example the most distant point is K2, and C= (xjc2 —(r—y2)’/,0) (figure 4.5(d)).Chapter 4. Cutter—part intersection calculations 89cutter arcK1Crectanglev side(a) ‘2rK2(d)Figure 4.5: Rectangle—perpendicular side. The side endpoints are Kl(XK1,yJcl) andK2(xK,yK2). The cutter arc centre point is labelled C. (a) Initial contact—side crossescutter path (b) Initial contact—side does not cross cutter path (c) Final contact—sideextends farther than r from the path (d) Final contact—side never extends farther thanr, from the path.K1c(b)CChapter 4. Cutter—part intersection calculations 90cutter arc rectangleside(b)Figure 4.6: Rectangle—parallel side. The side endpoints are K1(XK1,yKl) andK2(xiç,yK2). The cutter arc centre point is labelled C. (a) Initial contact (b) Finalcontact.Parallel sideSides parallel to the cutter path can quickly be evaluated. If the side is farther thanr from the path, then no contact occurs. Otherwise, construct triangles from the sideendpoints, with hypotenuse of length r, to find the cutter arc centre points at initial andfinal contact (figure 4.6). In the example shown these points are (XK1 — (r —y1)/2,0)and (XK2 — (r —y2)1/,0) respectively.Intermediate angle sideSides 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 perpendicularto the cutter path, then the solutions for these earlier cases is used. Remaining cases areassumed to be numerically well conditioned. A treatment of the specific numerical issuesfor these calculations can be found in the article by Middleditch, Stacey and Tor [82].CK1 K2(a)CChapter 4. Cutter—part intersection calculations 91Figure 4.7: Rectangle—intermediate angle side—initial contact. The side endpoints areK1(XK1,yKl) and K2(xK2,yK2). The cutter arc centre point is labelled C. (a) Initialcontact at a tangent (b) Initial contact at endpoint K1 (c) Initial contact at endpointK2.Initial contact with the side can occur either when the side becomes tangent to thecutter 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 pointearliest 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 awayfrom the cutter centre. Writing the equation for the side I(1K2 ascutter arcTC(a)rectanglesideK1K2(c)Y — ?IK1 = mK(x — XK1) (4.3)Chapter 4. Cutter—part intersection calculations 92where the slope mK is given byYK2 — YK1mK=XK2the equation for the perpendicular line through the tangent point T(x,y) is—1Y—YT —(x—XT) (4.4)mçAt C, the cutter arc centre, y 0 and, solving (4.4) for x yieldsXC = XT + mKyT (4.5)The distance from C to T is r,, hence(XX— xC)2 + y =Substituting from (4.5)YT +(1 +m)hI2 (4.6)A valid tangent requires XC < XX, or equivalently (from (4.5)), 0 < XT—XC = —mKYT.That is, m and YT must have opposite signs. Furthermore, the point T must actually beon the side (i.e. be between K1 and K2). This is verified by checking that XT is betweenXK1 and XK2 or equivalently that YT is between YK1 and YK2.The points at which the cutter arc reaches the side endpoints are readily located.To check endpoint K1 first check that IYK1 < r and then construct a triangle withhypotenuse of length r from K1 to the cutter path. The centre point C at which initialcontact occurs is (XK1 — (r— y)’/2,0). A similar calculation is made for endpointK2. The retained initial side contact point is then chosen as the candidate which occursearliest along the cutter path.The final contact point of the cutter arc and side can arise in two ways. First, thepoints where the side is a distance r away from the cutter path are checked (figure 4.8(a)).Chapter 4. Cutter--part intersection calculations 93This is determined by solving— YK1 = mK(xc — XK1)for XC. 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 centreis located by constructing a triangle with hypotenuse of length r back to the cutter path.For example, with endpoint K2 the centre point C is located at (XK2 — (r —y2)l/,0)(figure 4.8(b)). A final contact at side endpoint K1 is handled similarly. The retainedfinal 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 forthe rectangle as a whole. Before the overall initial contact point and after the final contactpoint any cutter immersion interval query against the rectangle can be answered simplyby 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 sidesbefore coming into initial contact with other sides, the arc must be entirely within therectangle. In this case the immersion interval is always a full [0, 7r) and the rectangle canbe 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 immersioninterval endpoint angles must be explicitly calculated. For sides perpendicular to thecutter 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 notationthe corresponding immersion angles are çb = ir/2— 6A and çb = 7r/2 — 9B• For sidesparallel to the cutter path the immersion interval endpoint is a constant q = 7r/2—Chapter 4. Cutter—part intersection calculations 94Figure 4.8: Rectangle—intermediate angle side—final contact. The side endpoints areK1(XK1,yKl) and K2(xK2,yK2). The cutter arc centre point is labelled C. (a) Finalcontact at cutter arc edge (b) Final contact at side endpoint K2.K3K1Figure 4.9: Rectangle l redundancy. After the cutter arc passes final contact with sidesK23 and K30 it has yet to initially contact sides K01 and K12. During this periodthe rectangle is redundant, and the cutter immersion interval is always [0, 7r).cutter arcrectangleside‘2K2 (a) K1 (b)K2K0Chapter 4. Cutter—part intersection calculations 95where (figure 4.10(b))= arcsin () (4.8)For sides at an intermediate angle to the cutter path, a line CT passing throughthe 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 pointT(XT,yT). The angle L is given by— arctan— (4.9)\YK2 —YK1)Furthermore,/CTj\= arccos j (4.10)r jand hence the immersion interval endpoint angles are = r/2— 6A and B = 7r/2—where 6A = &L + Up and 8B = —The intersection points divide the semi-circular cutter arc into intervals which mustbe classified as in or out of cut. For this purpose the rectangle is first considered asa 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 associatedwith 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 beencombined and complemented to again reflect a solid interior rectangle, the in or outof cut classification of the cutter immersion intervals begins. This is done by checkingwhether 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 imaginingeach side of the rectangle to be a vector KkKI where 1 = (k + 1) mod 4. A second set offour vectors KkO leads from each rectangle vertex to the zero angle point. Since the sideChapter 4. Cutter—part intersection calculations 96Figure 4.10: Rectangle—cutter intersection angles. (a) perpendicular side. The immersioninterval endpoint angles are found using (4.7). (b) parallel side. The immersion intervalendpoint angle is found using (4.8). (c) intermediate angle. Line CT is the perpendicularbisector of the chord Afl. The immersion interval endpoint angles are found by using(4.9) and (4.10) to solve for 8L and 8T, and then changing to the usual immersion anglenotation.0B7-’-(a) (b)K1K2(c)Chapter 4. Cutter—part intersection calculations 97vectors advance around the rectangle in a counterclockwise direction, if the zero anglepoint is to the left of each side vector then it must be inside of the rectangle. With threedimensional vector cross product notation, if K/cK1 x KkO has a positive z componentfor 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) > 0When the zero angle point is inside of the rectangle, then its immersion intervalis marked as in cut, Advancing around the semi-circular arc the remaining intervals,bounded by the intersection points A(XA,YA) and B(XB,YB) must then alternately beout of then in cut. This process is repeated at each incremental sample point C(x, 0)along the cutter path.4.2.2 Circle calculationsThe 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) + (y— YF) = r (4.11)To determine if a cutter arc of radius r, ever intersects the circle the quadratic formulais applied to find the solutions for xc in (figure 4.12)(r + rF)2 (xc—XF)2 + 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 intersectionquery. 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 98Figure 4.11: Rectangle—cutter arc classification. After the immersion intervals from allfour sides of the rectangle have been combined, they are complemented to again reflect asolid interior rectangle feature. The cutter arc zero angle point is inside the rectangle ifand only if it lies to the left of each of the four sides. In that case, the immersion intervalcontaining the zero angle point is classified as in cut. Advancing around the semi-circulararc the remaining intervals, bounded by the A(XA, VA) and B(XB, YB) intersection points,are alternately marked as out of then in cut.K2K1K3 outt, 1inr\QChapter 4. Cutter—part intersection calculations 99rFigure 4.12: Circle critical points—re < rp. The circle centre point is F(XF, yF). Initialcontact of the cutter arc with the circle occurs at tangency (point A) where the distancefrom 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 outsidebeginning (point C) where the distance from F to C is rF — r. Final contact occurswhen the cutter arc centre is at point D, where the line r above the path intersects thecircle.Chapter 4. Cutter-part intersection calculations 100The two cases (1) r < TF (cutter radius smaller than circle radius) and (2) r ‘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 insidethe circle, in which case the cutter immersion interval is a full [0,7r). This conditionis checked by constructing a line parallel to the cutter path a distance r away and onthe side opposite to the circle centre point F. The intersection points of this line withthe circle are then computed. If real solutions exist, the point with the earlier Xc valuelocates the cutter arc centre when it passes fully inside of the circle. For example, infigure 4.12 the circle centre F is above the cutter path and hence the parallel line hasthe equation y —re. The intersection points are found by simultaneously solving theline equation with the circle equation (4.11)(XC — XF) + (—re— yp) = rThe earlier point in this case is marked B.Assuming that the cutter did pass fully inside the circle, the next critical point occurswhen it again becomes tangent with the circle. This point is found by retaining the latersolution for XC in the equation(TF— r)2 = (XC — XF)2 + y (4.13)In figure 4.12 this is point C.Finally, the cutter arc will be completely past the circle when its diameter perpendicular to the path is beyond the circle circumference. To find this point construct a lineparallel to the cutter path at a distance r, and on the same side as the circle centre pointF. The point of final contact is the intersection of the line with the circle that has thelater XC value. In the example of figure 4.12 the equation to solve is(XC— XF)2 + (r— yF) = (4.14)Chapter 4. Cutter—part intersection calculations 101Figure 4.13: Circle critical points—re > TF. (a) Final contact at tangency (b) Finalcontact 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 ofthe circle. Instead, check solutions to (4.13). If real solutions exist then the later xcvalue is the final contact point. Otherwise construct the parallel line r away from thecutter path and on the same side as the circle centre F, and solve as in (4.14). These twocases are illustrated in figure 4.13, where the cutter arc centre location at final contactis marked C.As with the rectangle feature, computation of the cutter immersion interval endpointsis performed incrementally. At an instantaneous cutter centre location C(x, yc) the lineCP (figure 4.14), which is the perpendicular bisector of AB, subtends an angle= arctan(XFXC)(4.15)(a) (b)with the horizontal cutter path. The immersion interval endpoint angles are nowChapter 4. Cutter—part intersection calculations 102Figure 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 0L and 87’ computed using (4.15) and (4.16). The immersion intervals arethen expressed in the usual immersion angle notation.ir/2— 8A and q!B ‘ir/2— 8B where 8A °L + 87’ 0B =—07’ and= arccos(loT!) (4.16)The zero angle point of the cutter arc is classified as in cut if distance from the circlecentre F to the zero angle point is less than rF, and out of cut otherwise. Moving alongthe semi-circular arc the remaining intervals, bounded by the intersection points A andB, are then alternately marked as in then out of cut to obtain the correct [4,j, qex,i)classification.OUt\0C\outChapter 4. Cutter—part intersection calculations 1034.3 Cutter immersion interval combinationIn order to find the cutter immersion arcs for the part as a whole, it is necessary tocombine the results for each isolated primitive. This is accomplished using a recursivemethod which exploits the data structure and “divide and conquer” paradigm of theCSG solid model representation scheme.Cutter immersion queries are answered by a recursive traversal of the CSG tree usedto define the part. When two primitive or leaf nodes are found as children, the parentoperation 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 increasingorder by angle.2. Beginning at the zero angle point, the lists are merged and the immersion intervalsmarked 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 hasbeen traversed.Illustration of the procedure is shown in figure 4.15. The solid portion of the part isshown hatched, and the in cut intervals of the cutter are drawn with thick arcs. The corresponding Boolean immersion interval combination table is included as table 4.2. First,the cutter immersion arcs for the rectangle A [b5t,A, qSexA) and the circle B [q-13t,B, ex,B)are determined using the methods developed in section 4.2. Next, each interval is classified as either in or out of cut. The interval endpoints are sorted in ascending order byangle, and merged. Finally, using table 4.1, the intervals are combined according to theBoolean operator rules to yield the final immersion intervals [qst,i,q1ex,i).Chapter 4. Cutter—part intersection calculations 104A B Au*B AnB A-*Bin in in in outin out in out inout in in out outout out out out outTable 4.1: Boolean immersion interval combination rules. The left two columns list theclassification of a cutter immersion interval for primitives A and B. The right threecolumns list the resulting classifications for the Boolean union U*, intersection fl* anddifference —* combinations.A B Au*B[0, /it,B) [0, ‘b3,o) out[0, çb3t,A) out [1-st,B, kex,B) [q’st,o, q’ex,o) in[ /-st,i)[st,A, çbex,A) [q5exB, ir) out [qfi, qex,i) in[ qX,A, ir) [qes,i, 7r) out(a)A B AnB[0,q5stA) out [0, bt,B) [0, o) out[ qex,A) in [qst,B, bexB) in [q3t,o, 4’ex,o)[q5,o, r) out[4ex,A,7r) out eB,7r) out(b)A B[0, çb5t,A) o btB) [0, q58t,o) 2L[4stO, ex,O) in[cb5t,A, cbex,A) in [‘k5tB, f)ex,B) [1exü, ki,i)[4’exB , it) out [q’st,i, qSex,i)[q.4e,A, ii-) [qex,i, it) iT(c)Table 4.2: Boolean immersion interval combination. The table above shows the irnmersion interval classification for each of the three cases illustrated in figure 4.15.Chapter 4. Cutter—part intersection calculationsA0st,A0st,AB—. øst,B8—--- øst,BAu*8_ øs t , 00105Figure 4.15: Boolean immersion interval combination illustration. The solid portion ofthe part is shown hatched, and the in cut immersion intervals [qst,i, cbex,i) are drawn withthick arcs. See also table 4.2. (a) A U *B. The combined cutter immersion intervalsconsist of intervals in either A or B. (b) An *B. The combined cutter immersion intervalconsists of the interval in both A and B. (c) A — *B. The combined cutter immersionintervals consist of intervals in A but not in B.\///(a)An*8//(b)A_*B—*(c) —— 0ex,1Chapter 4. Cutter—part intersection calculations 106p xQpIp_[joøst,O øexO0øst,1 øex,10øst,2 øex,20øst, Oøex, 00øst,O1øex, 000st,1 Øex,10Figure 4.16: Immersion interval linked lists. For each sample point x along the cutterpath a new list is begun, with the immersion intervals stored as separateelements.The cutter immersion information for the overall part shape is then recorded in theform of a linked list data structure (figure 4.16). At each sample point along thecutter path a list of the cutter immersion intervals [q5st,i, qex,) is formed. The lists foreach sample points are then chained together so that the cutter immersion information,needed during milling process model calculations (chapter 6), is available incrementallyalong the entire path.A part consisting of 12 primitives and requiring a more complex CSG data structureis shown in figure 4.17. Using this example, a demonstration of the cutter immersioninterval combination procedure is shown in figure 4.18. At each sample point along thecutter path the immersion intervals are found for each of the primitives. The intervalsChapter 4. Cutter—part intersection calculations 107are then combined using the Boolean operation at the parent node. The procedure isrepeated until the entire CSG tree has been traversed. Figure 4.19 is a screen image ofthe algorithms of this chapter as implemented on a graphics monitor equipped microcomputer (see [110, appendix D, program cutmod]). The time to calculate and displaythe immersion intervals at 100 evenly spaced sample points along the cutter path wasapproximately 20 seconds. In section 7.3 several face milling simulations and experimentsare conducted using this example part shape.As more features are added to the part shape, the number of primitives and complexity of the CSG tree soon becomes excessive. The majority of the primitives will notcontribute 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. Additional computational effort is required to repeatedly sample along the cutter path todetermine the immersion intervals. When only a single immersion interval is involved inthe calculation, this incremental approach should be improved by developing analyticalformulae to express, as functions of the path position x, the interval endpoint anglesb8,(xC) and qex,i(xc).In chapter 5 computational geometry methods for identifying and eliminating redundant primitives are examined. Interval endpoint angle functions are developed toavoid incremental sampling along the cutter path when a simple immersion geometry isrecognized.4.4 SummaryIn 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 orientationbeginning at the plane origin and advancing along the positive x axis. Using conciseChapter 4. Cutter—part intersection calculations 108Figure 4.17: Complex CSG part. The part consists of 12 primitives and requires a morecomplex CSG data structure. A sample calculation of the cutter immersion intervalswith this part is shown in figure 4.18.-*/J KL ABu*/\u*CDChapter 4. Cutter—part intersection calculationsFigure 4.18: Complex part immersion interval combination. At one location along thecutter path the immersion intervals are calculated for the part in figure 4.17. In cutintervals are drawn with thick arcs, and out of cut intervals are shown with thin, brokenlines. A display of the calculation along the entire path, using an implementation of thealgorithms developed in this chapter, is shown in figure 4.19.109-*o 0___F)o-0-0//u*\/‘6 00 10-/-_u\.0 \ 0‘Li 0 1/u*\ /u*\ /u*\:; - 0 ) 0) 0 ) OD) 0Chapter 4. Cutter—part intersection calculations 110(right to ahort)Figure 4.19: Cutter immersion algorithm implementation. The algorithms developedin this chapter have been implemented on a graphics monitor equipped microcomputer(see [110, appendix D, program cutmod]). A screen image of the program operatingon a complex part is shown above. Refer to figure 4.17 for the corresponding CSG datastructure.Enter snap size 3 .define (IDorkpiece1 define (C)utter path, coMpute (A)ngles, (S)nap size,(D>isplay control, eOOitaclick left hutton to select featuraSave angle list to file (UN)? t>Chapter 4. Cutter—part intersection calculations 111definitions of rectangle and circle primitives (blocks and cylinders in 2 1/2 D), calculationof the cutter—primitive intersection was carried out in a straightforward manner. Theintuitive Boolean combination method provides an easily implemented solution capableof handling any part definable with the CSG primitives and data structure.Chapter 5Relevant primitive identificationIn chapter 4 a straightforward procedure for determining the cutter-part intersectiongeometry was developed. The method began by determining the immersion angles forsimple primitives such as rectangles and circles (blocks and cylinders in 2 1/2 D). Thesewere then combined by applying the appropriate Boolean operator as the part definition tree was traversed. Any 2 1/2 D part representable using the CSG primitives andoperation tree could therefore be accommodated.As the part becomes more complex, however, increasing computational effort will beexpended examining primitives which do not affect the final cutter immersion intervalendpoint angles. Redundancy problems of this nature must be efficiently solved to achieveacceptable computation speed. The focus of this chapter is on the redundancy issue andrelevant primitive identification as applied to a CSC based milling process simulationsystem.The following section examines redundancy of part features distant from a group oflocalized cutter paths. Representation issues and design strategies to assist in eliminatingirrelevant primitive groups are discussed. The S-bounds, active zone and iso-oriented boxtechniques reported in the literature are outlined and related to milling process simulationrequirements.Next, in section 5.2, the issue of identifying relevant primitives in a chain of n cutterpaths, such as in pocketing operations, is addressed. In this case the part model changesas each path is completed. Instead of reflecting this by incrementally updating the CSG112Chapter 5. Relevant primitive identification 113tree, 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 CSGprimitive group which represents the net effect of the cutter path chain. Implementationof this strategy requires that an efficient method of identifying relevant cutter paths beused. Checking each of the paths previous to each current path has an undesireablequadratic time complexity. To improve on this, computational geometry based solutionswith 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 segmentsbounded by the initial and final primitive contact points is further developed. Withineach segment primitives which can be identified as null A or universal set f redundantare pruned from the CSG tree. This substantially reduces the effort needed to locallycalculate the cutter immersion intervals. In end milling it is frequently discovered at thispoint 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 expressedanalytically as a function of the cutter centre position along the path. This permits anespecially 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 processsimulation system is then given in section 5.4.5.1 Redundancy and local cutter pathsTypical parts are comprised of a number of disjoint features which can each be describedby a CSG primitive group. Consider for example figure 5.1, where a part comprisingof three holes (labelled A, B and C) and five pockets (D—H) is shown. The individualprimitives for feature F are shown in detail. Each of the pockets and the outsideperiphery I is described by a similar primitive combination D, E, ..., I and henceChapter 5. Relevant primitive identification 114overall the part requires a complex CSG tree description. During cutter immersioninterval calculations this large tree must be repeatedly traversed—a time consuming andwasteful procedure since the majority of the primitives is unlikely to influence any oneparticular cutter path.If, however, the part is milled in a methodical fashion, it is possible to eliminate mostof the CSG tree from consideration during simulation along a group of individual cutterpaths. For example, imagine that the features are cut from the initial blank part W inthe order A, B, C,. . . , I. Just prior to starting to mill pocket G the part would appearas in figure 5.2. At this moment the CSG part representation would include the blankpart W, and each of the completed features A—F. The swept volume of any cutter pathGe,, used to mill G will certainly be a subset of C, and hence primitives disjoint fromG will also be irrelevant to each of its constituent cutter paths. In the example shownall of the part features are disjoint from G, and can be replaced by the null set A. Aftersimplification 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 extensivesimplifications, and the associated reduction in immersion interval calculation effort, tobe possible.To automatically recognize the disjoint part features, several interference checkingalgorithms are appropriate. Iso-oriented box methods, and the S-bounds and active zoneapproaches used specifically with CSG representations are discussed in the followingsections.Iso-oriented boxesTo establish that two primitives A and B are disjoint, it is sufficient to check that theirintersection is null (i.e. A fl *B = A). Proving this directly is often difficult due to thecomplex shapes involved, and hence approximate bounds enclosing the actual primitiveChapter 5. Relevant primitive identification 115Figure 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 isdenoted by W. The individual primitives for feature F are shown in detail. Eachof the pockets and the outside periphery is described by a similar primitive combinationD1, E, ..., I and hence overall the part requires a complex CSG tree description.Chapter 5. Relevant primitive identification 116Figure 5.2: Redundant part features. The part from figure 5.1 is shown just prior tocutting pocket G. During cutter immersion interval calculation for the paths of G, thepreviously completed features A—F are irrelevant and can therefore be replaced by thenull set A. Furthermore, the initial blank W can be replaced by , the universal set (seefigure 5.3), minimizing the immersion interval calculation effort.Chapter 5. Relevant primitive identification 117Figure 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.2it reduces down to the universal set A, minimizing the immersion interval calculationeffort. For clarity only the individual primitives for the pocket F are explicity shown.—*-*-----/\—* D Ew/u*C/\A 8Fu*/\ /\u*/\ /\ /\ /F1 F2 F3 F4 F5 F6 u/\F7 F8F90Chapter 5. Relevant primitive identification 118are frequently used. If cr(A) and a(B) are approximate bounds enclosing primitives Aand 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 boxesare the most common simple shape used for this purpose.An iso-oriented box or isobox has its sides oriented parallel to the coordinate systemaxes. When used as an approximate bound for a CSG primitive A, the box size is chosenso that it just encloses A. Examples of isoboxes in two and three dimensions are shownin figure 5.4.Testing for intersections of isoboxes in two dimensions is most efficiently accomplishedusing the sweep paradigm. First, the horizontal line segments of the n isoboxes aresorted in decreasing order by y coordinate. This can be completed in O(ri log n) timeusing 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 moveddownwards (figure 5.5).As the top of each isobox is encountered, its horizontal interval [Xq,L, Xq,R) is checkedagainst all intervals already stored in an interval tree [46, 77]. This data structure isa binary tree containing all horizontal interval endpoints Xj,L and x,R augmented by adoubly linked list and balanced tree to store the intervals. It permits all intervals whichshare 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 reportedas a pair of interfering isoboxes. The new interval is then added to the interval tree. Whenthe bottom horizontal segment of an isobox is encountered, its interval is deleted fromthe tree. This procedure reports all isobox intersections exactly once, and operates intime 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 threedimensional isobox intersection testing. This method operates in O(N + n log2 n) time.Chapter 5. Relevant primitive identification 119(G)(b)Figure 5.4: Iso-oriented boxes. An iso-oriented box or isobox has its sides oriented parallelto the coordinate system axes, and just encloses the primitive that it approximates. (a)a 2 D isobox (b) a 3 D isoboxAa(A)(B)Chapter 5. Relevant primitive identification 120Figure 5.5: Sweep paradigm for isobox intersection. An imaginary horizontal line is sweptfrom top to bottom. When the top of an isobox is encountered, its interval [Xq,L, Xq,R) 5checked against entries [x,L, x,R) already stored in an interval tree and any intersectioncases reported. The new interval is then added to the tree. Intervals are deleted whenthe horizontal line passes over the bottom of the isobox. In the example above, intervalscurrently 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 ofthe shape enclosed. This can result in many isobox intersections being reported when theprimitives enclosed are actually disjoint (figure 5.6). Excessive false interference detectionis a problem which can degrade of overall usefulness of the technique.The intersection reporting algorithms for isoboxes are general tools independent ofany particular solid modeller representation. Although this generality would seem anadvantage, 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 aredisjoint from C would be performed by checking each individual primitive, rather than1,Rsweep lineChapter 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 intersectionalgorithms, degrading the usefulness of the method.Chapter 5. Relevant primitive identification 122by testing the feature as a whole. There is no means of grouping the primitives into CSGsubtrees. The S-bounds and active zone approaches, described in the following sections,offer improvements in this area.S-boundsAs was observed in the previous section, mechanical parts frequently can be describedas a collection of features. With the CSG representation, each feature is comprised ofa number of primitives which are combined using the regularized Boolean operators toform 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 avoidthe need to exhaustively check each primitive pair combination to verify that two featuresubtrees are disjoint.Cameron [17] has proposed the S-bounds method, which is particulary useful in thesecircumstances. 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 theuniversal set (the approximating bound with infinite dimensions) is used for theinterior nodes.3. Beginning at two sibling leaves L1 and L2, the parent node window is refined byapplying one of the following three rules, depending on the parent operator:(a) If the operation is L1 U *L2, then substitute u(u(L1)U *a(L2)) for the parentwindow.Chapter 5. Relevant primitive identification 123(b) If the operation is L1 fl *L2, then substitute a(u(Li) fl *u(L2)) for the parentwindow.(c) If the operation is L1 — *L2, then replace the parent window with u(Li).This step is recursively repeated until the root of the solid is reached.4. Beginning at the root, the bound at a child L1 is replaced by u(Li) 11 *u(L), whereL 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 infigure 5.7. Cameron has shown that the overall algorithm converges in at most n — 1passes, where n is the number of leaves in the tree. Bounds other than isoboxes, such ascircles, convex polygons or spheres, have also been suggested for use with the S-boundsmethod [19j.The S-bounds method provides an intuitive approach to approximating the shapeof a CSG subtree. It permits the part to be examined as a collection of features in astructured 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 avoidsmuch of the work needed to identify disjoint CSG subtrees.An additional benefit of the S-bounds approach is its ability to identify redundantprimitives which can permanently be pruned from the feature subtree. In the exampleshown, primitives F, T and U are identified as A redundant. The primitive R is redundant, 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/\S UFigure 5.7: CSG subtree and primitive bounds. (a) Each primitive (shown with thicklines) is enclosed in an isobox bound (shown with thin lines). The bounds are then refinedby the S-bounds method, which is illustrated in the subsequent figures. (b) CSG treefor part (a). The Boolean expression represented is ((Q — *F) fl *(S U *U) — *T) fl *R.(a)R-7/\Q P N T(b)Chapter 5. Relevant primitive identification 125Figure 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 set2 isobox which has infinite dimensions.Chapter 5. Relevant primitive identification 126Figure 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 127Figure 5.10: S-bounds refinement—downward (pass 2). The bounds at the leaves arerefined. The algorithm converges on this pass, and a relatively small resultant bound remains. 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 128Active zonesAn alternative redundancy checking method is the active zone technique proposed byRossignac and Voelcker [100]. The active zone 2(L) of a CSC primitive L is the regionwithin which, if the shape of L were to change, the resulting CSG tree shape would alsochange.Conceptually, it is easier to consider active zones on a positive CSG tree—that is, treeswith only U* and fl* operations. All —* operations are replaced by a fl* operation withthe right child replaced by its set complement. For example, the shape in figure 5.7, withBoolean expression ((Q — *P)n *(Su*U)— *T)fl*R has ((Q n*P)n*(Su *U)fl 4’)fl*Ras its positive equivalent.The active zone of a primitive L is then determined by replacing it with Q, andinterpreting any U* operations as —* operations along the tree traversal path from theroot to L. For example, in figure 5.11(b) 2(U) is ((Q fl *P) fl *(( — *S) fl *)) fl *R.Similarly, 2(R) (Qn*P)n*((Su*U)n*T). It has been shown [100] that a primitive Lis 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 Pand 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, andisoboxes 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 CSGrepresentation method. It provides a structured approach to identifying and removingredundant primitives from CSG subtrees, thus simplifying the later task of calculating thecutter immersion intervals. Although it does not directly refine bounds for the primitivesor subtree, it is capable of identifying Q redundant primitives—which the S-bounds methodChapter 5. Relevant primitive identification 129cannot do.DiscussionThis 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 tosimplify intersection calculations with CSG primitives. In conjuction with the intervaland segment tree data structures, the isobox can be used to achieve efficient identificationof intersecting primitives. The difficulty with the approach is that it requires testing ofthe entire population of primitives in a CSG tree. No attempt is made to exploit thefeature subtree structure which normally would be present.The S-bounds and active zone methods are particular to the CSG representation, andmake beneficial use of it. S-bounds can be refined for a subtree in a natural way usingthe familiar regularized Boolean operators. The active zone technique identifies the partof a CSG tree that sensitive to changes in any one primitive. In particular it can be usedto identify primitives that are l redundant.The success of any of the approaches discussed is highly dependent on the tightness ofthe approximate bound. The highest success rate will be achieved when the bound verynearly matches the actual shape being enclosed. In this case intersecting bounds willseldom 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 automaticallycreated in the desired feature subtree structure. With most solid modellers, however, thisis up to the discretion of the part designer. It is reasonable to assume existence of such astructure, since it naturally leads to a manufacturing process plan which cuts the featuresChapter 5. Relevant primitive identification//\Q//\QP//\Q//\/\-T/\Figure 5.11: Active zones for primitives. (a) the positive form of the CSG tree infigure 5.7(b) (b) the active zone 2(U) of primitive U. The parent operator for S andU has been switched from U* to —*, and U has been replaced by . The path fromthe root to U is shown with thicker lines. Note that 2(U) fl *U A, and hence U is Aredundant. (c) the active zone 2(R) of primitive R. Since 2(R) C R, R is Q redundant.130RP TS UR/\-—* T/\SQ(a)(b)(c)PS UChapter 5. Relevant primitive identification 131as a unit [23, 107, 136]. Other researchers, however, feel that this is too strict a burdento impose on the designer, and that instead automatic feature recognition algorithmsshould be used to restructure the part definition [45, 71, 142]. Regardless of the wayin which it is built, a feature subtree structured model is needed to effectively use thetechniques described in this section.5.2 Cutter path chains5.2.1 OverviewAssuming that the redundancy elimination methods reviewed in the previous sectionwere used effectively, the remaining CSG part model will now be much smaller as millingprocess 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 isstarted. This simplification avoided much of the computational effort that would havebeen needed to find the cutter immersion intervals if the large, original part tree wereretained. Simulation of each cutter path in the pocketing operation, however, can againcause rapid growth in the CSC data structure, and poor computational efficiency.As outlined in chapter 2, the most apparent way to represent material removed bya 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 theinitial part shape using the Boolean difference operator —*. Figure 5.12(b) illustratesthe appearance of pocket G as its third path begins. The corresponding CSG expressionfor the part at this point is ((cl— *Gc,1)— *G,1) — *G,2 (including the initial drillingcut).Since the swept volume of a previously completed path may influence the immersioninterval calculations along the current cutter path, an up to date representation of theChapter 5. Relevant primitive identification 132/ \GCAI GCB,i(a) (b)Figure 5.12: Cutter path swept volumes. (a) Each cutter path swept volume canbe modelled as a group of three CSG primitives combined using the expression= (GA2 U *BCB,1) — *G1. (b) Appearance of pocket G as the third path begins. Including the initial drilling cut, the CSG expression for the part at this point is(( — — *G1)— *G2.—*/Chapter 5. Relevant primitive identification 133part shape must be available. Maintaining a CSG tree of completed cutter paths is themost apparent solution, but it becomes increasingly time consuming as the data structuregrows. Therefore alternative methods, which allow more efficient identification of the fewrelevant preceding paths, are preferred. This is the goal of the section.5.2.2 Incremental swept volume checkingOne intuitive alternative is to incrementally check all previous paths in a cutter chainfor relevance to the current path by testing their swept volumes for intersection. Onlypaths that are found to be relevant would actually be included in the CSG tree used forimmersion interval calculation.Beginning with the second path in the chain, the first path would be checked forintersection. Next, the first two paths would be checked against the third path, and soon. For a total of n paths, this would involve checking 0 + 1 + ... + (n — 1) precedingpaths. The sum of this arithmetic series is n(n — 1)/2, and hence the procedure has anundesireable quadratic running time growth rate.Another alternative is to enclose the swept volume of each cutter path within anisobox and apply the O(N + n log n) time complexity interval tree and sweep paradigmas described in section 5.1. Often however, the cutter paths are long and may be orientedaway from the coordinate system axes. Hence, because of poor isobox fit, this approachcan report a high number of false intersections (figure 5.13(a)).5.2.3 Line segment intersection testAn 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 radiusr is assumed throughout the path chain, each rectangle will have the same width 2r. Aminimum enclosing rectangle length of 2r is always used.Chapter 5. Relevant primitive identification 134>Figure 5.13: Approximate bound fit. (a) Since cutter paths are often long and maybe oriented away from the coordinate system axes, isoboxes can poorly approximatethe enclosed swept volume. This may cause a high number of false intersections to bereported. (b) Rectangles oriented with the cutter path direction always provide a tightfit.(a) (b)Chapter 5. Relevant primitive identification 135Under these circumstances it is impossible to produce a situation where one rectangleentirely encloses another, and hence the specific capability of the interval tree methodto detect such an occurrence is unnecessary. Instead, since at least one pair of sidesof interfering rectangles must cross, a test for intersection of the side line segments issufficient. 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, firstsort the 2m segment endpoints in decreasing order by y coordinate. Using heapsort thiscan be accomplished in O(nlogn) time. The list of sorted endpoints is then stored in abalanced search tree E (such as a 2-3 tree [1]).Next, sweep an imaginary horizontal line down the plane, starting above the line segment with the highest endpoint (figure 5.14). This is equivalent to traversing the searchtree in order. When a line segment is first reached, its horizontal position is determinedrelative to any segments which the sweep line already crosses. The segment is then inserted 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, ifan intersection point is found, it is reported and the point inserted into the endpoint treeE. When it is later encountered during the tree traversal, the two intersecting lines areswapped in S. Further intersection tests are then carried out between the two swappedlines and their nearest left and right neighbours. When the lower endpoint of a linesegment is reached, it is removed from S, and an intersection test conducted for its twonearest 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 sweptvolume, the line segment intersection method is a straightforward solution for findingrelevant cutter paths. It is easier to implement than the interval tree method and uses‘ // /\ / //\ / / /\ N\ r 71\ > II\,\ 1/L____1Chapter 5. Relevant primitive identification 136/sweep line//// />// ////////////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 linesegments (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 137a much tighter bound than the isobox. In addition to the path itself, the only requiredinformation is the cutter radius. With its O((N + n)log n) time complexity this methoda good choice for use when there are a moderate total number of cutter paths within apocket.When the number of paths n becomes larger, however, it is valuable to have alternative solutions which offer even lower algorithmic growth rates. To achieve this requiresexploiting the properties of cutter path chains, and hence an examination of the commonpocket cutter path generation strategies is warranted.5.2.4 Pocket cutter path generation strategiesRemoval of material from a 2 1/2 D pocket is usually performed in three stages (figure 5.15). In the first stage, a pass is made around the pocket a slight distance awayfrom the intended finished surface. This permits subsequent passes to avoid internalcorners where high cutting forces and chatter often occur. The second stage consists ofthe cutter paths which remove the bulk of material. Finally, the third stage generatesthe final pocket walls.Two strategies: (1) zigzagging and (2) spiralling are commonly chosen for the bulkmaterial removal in stage two. The characteristics of these methods and are reviewed inthe following two sections.Zigzagging StrategyThe zigzagging strategy begins at one corner of the pocket and, using a sequence ofreversing paths, advances toward the diagonally opposite corner. The horizontal spacingbetween adjacent cutter paths must be less than 2r to ensure overlap. Further limitationsto 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 pocketChapter 5. Relevant primitive identification 138Figure 5.15: Pocketing material removal stages. The material removed by each stage isindicated by hatching. Three stages are common: 1. An initial pass is made a slightdistance 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 139Too ipaths:Contour________________Dr ill__PocketrUled___________Swept__ ____ __Neuolut ionproJectMisc._ ___ _ ___3d too lpthEnd progrnBackupMain Menu2_ _Color: 15Level: 1.Mask OFFCplane: TGuieu: TFigure 5.16: Zigzag cutter path chain. Above is a screen image showing the complete setof cutter centreline paths to mill the example pocket from figure 5.15. The MASTER-CAM commercial program was used to generate the paths.from figure 5.15 is shown in figure 5.16. The MASTERCAM’ commercially availableprogram was used to generate the paths.Previous relevant path centrelines must have at least one point in the band whichextends 2r above and below the current path. By using techniques similar to the planarsweep paradigm, these paths can be identified without searching the entire pocket.1registered trademark of CNC Software, Inc., Tolland, CT, USAChapter 5. Relevant primitive identification 140Too lpathsContourDr illPocketru ledSweptRevolutionproJectMisc3d too lpthEnd progrmBackupMain MenuZColor 15Level: 1Mask: OFFCplane: Tuieu: TFigure 5.17: Spiral cutter path chain. Above is a screen image showing the complete setof cutter centreline paths to mill the example pocket from figure 5.15. The MASTER-CAM commercial program was used to generate the paths.Spiralling StrategyGenerating the cutter paths for the spiralling strategy starts by constructing offset segments beginning at the pocket boundary (figure 5.17). These segments are then chainedto create the cutter path needed to remove the pocket material. Further details onspiralling algorithms have been published in the literature (see for example [91, 115]).The spacing between adjacent offset segments must ensure that no material remainsas a cusp at the corners. For a corner angle of a, this is assured if the spacing is lessthan r[1 + sin(a/2)] (figure 5.18).Chapter 5. Relevant primitive identification 141////r [1 +sin(cx/2)]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 comprisingthe offset adjacent to the current offset will be relevant. This is true regardless of thespacing and whether or not the swept volumes intersect, since the path nearest the currentpath will cut away any influence that a more distant path might have had on immersioninterval calculations (figure 5.19).DiscussionIdeally, a solid modeller based system should include cutter path generation and millingprocess simulation components as well as design capabilities. Specific communication/ /// r sin(cx/2)-fChapter 5. Relevant primitive identification 142intervening pathirrelevant pathcurrentpathFigure 5.19: Occluding cutter paths. Only the path nearest the current cutter path isrelevant, since any intervening path would cut away or occlude the influence that a moredistant path would have on immersion interval calculations.between the path planning and milling process simulation components would allow aquick assessment of the chosen cutter paths, and the possibility of adjusting the strategyto achieve a specific requirement.The previous two sections have outlined how the frequently used zigzagging and spiralling pocketing strategies are used to plan cutter paths. When adherence to the strategycan 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 isnot available, and hence other solutions are needed.If no islands are contained in the pocket, both the the zigzagging and spirallingstrategies 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 duringcontouring operations. In such cases the line and arc segments bounding the land canChapter 5. Relevant primitive identification 143segment Q segment QQdescription Qdescriptionelement 0 element 1OIdescptonelement iFigure 5.20: Doubly linked circular queue. Each element of the data structure contains adescription of the boundary segment that it represents, and pointers to both its predecessor and successor. The relevant segments for the current cutter path form a contiguouslist, which advances along the queue for subsequent paths.be maintained with a doubly linked circular queue data structure (figure 5.20). Theboundary segments within each path’s swept volume are marked as relevant, and themilling process simulation performed. New boundary segments caused by the currentpath are then added to the queue, and the previously relevant segments either deletedor adjusted to fit the new part boundary. For example, in figure 5.21(a), the relevantsegments 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 tobegin at the new segment C. The relevant segments for the next path would then beginat segment B.More generally however islands may be present, or strict adherence to the zigzaggingor spiralling strategies cannot be guaranteed. Therefore, in the next section relevant pathChapter 5. Relevant primitive identification 1441 71Figure 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, segment2 is adjusted to terminate at the new segment A. Segments 3 and 4 are deleted, andsegments A, B and C are added to the queue. Segment 5 is then adjusted to begin at thenew segment C. The relevant segments for the next path would then begin at segmentB.0(a)0(b)Chapter 5. Relevant primitive identification 145identification algorithms are developed which operate in isolation of the path planner.The prominent characteristics of cutter path chains recognized above will be used toachieve the anticipated efficiency of the solution, but the algorithm will remain robust ifthe assumptions are violated.5.2.5 Planar subdivision methodsPreambleAlthough an ideal goal is to provide relevant path identification within the path planner,there remain important reasons for providing this capability separately. Correct performance of path planners is difficult to guarantee. The human part programmer mayhave incorrectly specified a parameter, or the algorithm may fail. Need for geometricverification of NC part programs has previously been recognized (see for example Sungurtekin and Voelcker [116j). A logical extension is the physical verification provided bythe milling process simulation system developed in this thesis.When errors are detected during the geometric verification process the correctionmight be made only to the NC program, and not be reflected up to the path planningstage. 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 discardinga geometrically verified, complex NC part program to use a new cutter path generationalgorithm, but still desire the potential productivity improvements the milling processsimulation system can provide.In such cases the cutter path generation algorithm cannot be combined with themilling process simulation system, and adherence to a specific path generation strategyChapter 5. Relevant primitive identification 146cannot be guaranteed. Nonetheless the planned path will likely exhibit the same characteristics as paths generated using either the zigzagging or spiralling strategies outlined inthe previous section. The relevant cutter path identification algorithms developed in thissection use these anticipated path planning strategy characteristics to achieve efficiency,but remain robust if these assumptions are violated. Throughout, the total number ofcutter 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 requiredonly 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 byexamining an interior corner (figure 5.18). As the corner angle c approaches zerothere would be exactly four paths in the 2r length, with the two middle passesoverlapping. It is argued that a good cutter path generation algorithm wouldshorten the overlapping paths back to the point where they diverge in order toadhere to the criterion. Equivalent situations arising elsewhere in the chain wouldbe handled in a similar way.3. All cutter paths exceed a minimum length (e.g. are at least r long). Duringmilling of the bulk of the pocket material (figure 5.15, stage 2) this is a reasonablerestriction.Substitution of other values for the example constants indicated above does not alter theasymptotic complexity of the algorithms developed herein (see appendix B).Since all of these assumptions are statements about the cutter path centrelines ratherthan the swept volume, it is appropriate to consider an intersection test which involvesChapter 5. Relevant primitive identification 147cutter pathFigure 5.22: Adjacent cutter path density. It is assumed that at most a constant numberof (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 148the centrelines and an approximate bound. The swept volume for a cutter path extendsr away from its centreline in any direction (figure 5.23(a)). If the material removed byany initial drilling cut or preceding path in the chain is excluded, the swept volume ofthe current path is as shown in figure 5.23(b). Suppose this region is then surrounded bya boundary offset r away from it. For convenience in calculation, the region is closelyapproximated by a rectangle enclosing it. A candidate cutter path can be relevant if andonly if a portion of its centreline enters this rectangle. For example, in figure 5.23(c) path4 is current, and 1 and 3 are relevant. Path 2 is outside of the region and is thereforeirrelevant. 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: Givena chain of n cutter paths, report the previously completed paths which interfere withthe bounding rectangle for the current path. Based on the above three assumptions andapproximating rectangle bound it is proposed that planar subdivision methods be usedto efficiently accomplish this task.A planar subdivision represents the plane as a set of disjoint regions which are connected by a graph data structure. For the relevant cutter path identification problemthe idea is to determine the region in which the current cutter path is located, and thenmove 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 strategypermits the relevant cutter paths to be identified without repeatedly examining the entirepopulation.First, a horizontal visibility solution will be studied in detail, followed by a sectiondescribing a generalized Voronoi diagram solution.Chapter 5. Relevant primitive identification 149Figure 5.23: Path centreline based bounds. (a) The swept volume for any candidatecutter path extends r away from its centreline. (b) Excluding any material removed byinitial drilling cuts or the preceding path in the chain the swept volume for the currentpath is as shown. (c) The region in (b) is offset by a distance r, and approximated by arectangle. Any candidate path centreline must now be partially within the rectangle tobe relevant. In the example, path 4 is the current path. Paths 1 and 3 are relevant, andpath 2 is not. Paths 5 and 6 have yet to be cut.(c)Chapter 5. Relevant primitive identification—00 H-I-————F-l150Figure 5.24: Horizontal visibility partition. The horizontal visibility partition divides theplane into disjoint regions bounded to the left and right by the cutter paths, and aboveand 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 regionof interest.Horizontal visibility solutionOverview A horizontal visibility partition (HVP) of the plane divides it into disjointtrapezoidal (and some triangular) regions (figure 5.24). For the problem under consideration these regions are bounded to the left and right by the cutter paths, and aboveand below by horizontal links joining the adjacent paths. An additional pair of verticalH +00__1L“paths” is added at left and right infinity to enclose the overall region of interest.Chapter 5. Relevant primitive identification 151Figure 5.25: Vertex types. The vertices are shown by a .. A type 1 vertex is verticallybetween the two path segments that it joins. Similarly type 2 and type 3 vertices arerespectively above and below the path segments that they join. The fourth type of vertexrepresents 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 createdusing the sweep paradigm based method described by Fournier and Montuno [36]. Theirapproach uses simple data structures and operates in 0(n log n) time. Chazelle [24] hasrecently contributed a linear time algorithm which solves this problem for the case of asimple (non-intersecting) chain.The algorithm begins by classifying the vertices as type 1, 2, or 3 (figure 5.25). Atype 1 vertex lies vertically between the two path segments that it joins. Similarly, type 2vertices 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 laterin the algorithm. Vertices are then sorted in decreasing order by y coordinates. If they coordinates are equal, the vertex with the smaller x coordinate is placed earlier. Byconsistently using this ordering test throughout the algorithm horizontal paths requireno special treatment. The 0(nlogn) time heapsort algorithm is used to perform thesort.2 4The actual horizontal visibility partitioning step, including building of the adjacencyChapter 5. Relevant primitive identification 152data structures, is then performed. Initially storing oniy the left and right infinity sides, a2-3 tree S storing the path segments sorted in horizontal order is updated as each vertexis encountered by the sweep line. This data structure is required to support horizontallocation of a new path in 0(log n) time. Depending on the vertex type, the followingtree 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 type2/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 testis sufficient. If an intersection is found it is entered as a new type 4 pseudo-vertex andwill be processed correctly when it is later encountered. It is an assumed characteristicof the cutter path chain that intersections occur infrequently (at most 0(n) times) andhence 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 examplegeometry and sweep line location, and table 5.1, which shows the entries in S before andafter each vertex is encountered.The actual adjacency data structure is a directed graph identifying the immediateleft and right neighbours. For each segment a left and a right doubly linked list, sortedby y coordinates, is built which stores pointers to the neighbouring paths. Pointers tothe head and tail of the each list, and its most recently accessed element, are separatelyChapter 5. Relevant primitive identification_OOl 1+00Figure 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 examplegeometry and sweep line locations which are referred to in table 5.1 (The sweep line isshown at location e.).1530jO1‘dsweep lineH————eChapter 5. Relevant primitive identificationabCdefg2124133—cc, +00154Table 5.1: HVP tree maintenance. The table above shows the entries in the 2-3 tree Scontaining 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 storedsegments would be —cc, 0, 2, 3 and +co. Refer to figure 5.26 for definitions of the pathsand the sweep line locations.ieep line location vertex typebeforestored path segmentsafter—cc, +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, +ccChapter 5. Relevant primitive identification 155maintained. Additional pointers create a combined list which is the union of the left andright lists (again sorted by y coordinate). Construction of the adjacency structure is simultaneously 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 P1 and Pr of the ending path are identified.The new path Pa is then marked as the next right neighbour of P1 and the nextleft neighbour of Pr. Also, paths P1 and P are stored respectively as the first leftand right neighbours of Pa.type 2 After the insertion location has been found it is assumed that the left neighbouris P1 and the right neighbour is Pr. In horizontal order, paths Pa and Pb are to beinserted. First, Pa is marked as the next right neighbour of P1 and Pb is markedas the next left neighbour of P. Then P1 is marked as the first left neighbour of1a and Pr is marked as the first right neighbour of Pb. Finally, Pb is marked as thefirst 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. Furthermore, P1 is the left neighbour of Pa and P,. is the right neighbour of Pb. Thenew adjacency relationship is established by marking Pr as the next right neighbourof Pi and P1 as the next left neighbour of P.type 4 It is assumed that above the intersection point the two intersecting paths appearin the order Pa followed by Pb. Path P1 is the left neighbour of Pa and Pr is theright neighbour of Pb. To record the new adjacency relationship, mark Pa as thenext right neighbour of Pb and Pb as the next left neighbour of Pa. Also mark Pbas the next right neighbour of P1 and Pa and the next left neighbour of Pr. Finally,mark P1 as the next left neighbour of Pb and F,. as the next right neighbour of Pa.Chapter 5. Relevant primitive identification 156For 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 rightneighbour of 2 and the next left neighbour of +. Paths 2 and +00 are also markedas respectively the first left and right neighbours of path 3. The overall adjacency datastructure corresponding to figure 5.26 is shown in figure 5.27.Using suitable pointers the adjacency lists can be maintained in constant time perinsertion/deletion. The time complexity of the overall procedure is therefore determinedby the cost of maintaining the data structure of horizontally sorted path segments. Usingthe balanced 2-3 tree suggested, this is O(nlogri).Note that the data structure could have been built by adding cutter paths incrementally, but this can lead to a quadratic growth rate. Figure 5.28 shows an example whereeach of n/2 insertions requires processing n/2 horizontal adjacency relationships, leadingto Q(n2) time complexity.Relevant path identification After the adjacency data structure has been built therelevant paths are identified. Treating in sequence each cutter path in the chain as current, relevant paths are defined as paths which precede the current path, are withinthe approximate rectangle bound described in figure 5.23(c)), and are not occluded (figure 5.19). A description of the identification procedure follows. The algorithm timecomplexity proofs are provided in section B.3.First, starting at the tail of the current path, preceding paths are followed until therectangle bound is intersected. Each of these paths is recorded as relevant, and the pathwhich intersects the rectangle is denoted P. If the beginning of the path chain is reachedbefore the rectangle is intersected, the procedure is complete (figure 5.29(a)). Otherwise,the left P1 and right Pr neighbours of P are found by advancing down the portion of itsChapter 5. Relevant primitive identification 157—c +00abdegFigure 5.27: Adjacency data structure. The path adjacency information is stored usingdirected graphs which indicate the immediate left and right neigbours. Doubly linkedlists, sorted by y coordinate, are used to locate the current neighbour link to use. Theexample shown above corresponds to the geometry shown in figure 5.26.———--1——Chapter 5. Relevant primitive identification 158_0oI +00I-EEEE--Figure 5.28: Incremental adjacency data structure construction. The illustration showsthe data structure after adding path 12. If the horizontal adjacency data structure wereconstructed incrementally for the example above, insertion of each of paths 9 through15 would require processing each of the eight the adjacency relationships caused by thevertices of paths 0 through 7. This has a n/2 . n/2 or quadratic time complexity.Chapter 5. Relevant primitive identification 159combined adjacency list that is within the rectangle (figure 5.29(b)).The identification procedure then continues by walking along the rectangle in a counterclockwise direction. If the direction is downwards (figure 5.30(a)), then P and P arerespectively the left and right path of the active trapezoid (The trapezoid through whichrectangle side currently passes). If the boundary direction is upwards (figure 5.30(b)),then P1 and P are the left and right paths. The rectangle side is followed until (i) theleft path is crossed, (ii) the right path is crossed, or (iii) the top (or bottom) of the activetrapezoid is crossed.In cases (i) or (ii), if the path crossed precedes the current path (indicating the pathcrossed has been cut) the intersected path is denoted by P, and the path chain is tracedinside of the rectangle until a side is again intersected (at the next path Ps). Each pathin this portion of the chain is recorded as relevant. At the second intersection point thenew P, P and Pr are defined (by advancing along the portion of the path adjacencylists that are within the rectangle) and tracing continues (figure 5.31(a)). In the examplepaths 0 and 1, although within the rectangle region, are obscured and are never recordedas relevant. This is an additional benefit of the approach.If the beginning of the path chain is encountered before reaching a second side intersection point (figure 5.31(b)) then all paths from P, to the chain beginning are recordedas relevant. Tracing then continues along the side starting at P but, for case (i), P isreplaced by P1 and P1 is replaced by its left neighbour. For case (ii) P1 is replaced by P,.and F,. is replaced by its right neighbour. These adjustments are required to correct forthe new active trapezoid which has been entered.If the path crossed follows the current path, indicating that the path has yet to becut (figure 5.32), then tracing again continues along the rectangle side starting at P.For case (i) F,. is replaced by P1 and P1 is replaced by its left neighbour. For case (ii) P1is replaced by F,. and P,. is replaced by its right neighbour.Chapter 5. Relevant primitive identification 160PI=1Figure 5.29: Rectangle—tail chain intersection. The segments traced are shown withthicker 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 2in the tail chain intersects the approximating rectangle, and is recorded as relevant. Forthis example the path P, is 2, the left neighbour P1 is 1 and the right neighbour F,. is 3.(a)(b)Chapter 5. Relevant primitive identification 161Figure 5.30: Active trapezoid left/right paths. The interior of the approximating rectangle 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, andFr. (b) The tracing direction is upwards. The left and right paths are respectively F1and P.Pr(b)Chapter 5. Relevant primitive identification 162Figure 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 followedinside the rectangle until a side is again reached at path P = 2. Paths 0 and 1, althoughwithin 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 asrelevant and followed until the beginning of the chain is found. After the left and rightpaths for the active trapezoid are updated, tracing then continues along the rectangleside from the point where the intersection with P occurred.(a)2(b)Chapter 5. Relevant primitive identification 1633Figure 5.32: Subsequent path crossings. The segments traced are shown with thickerlines. If a path following the current path is encountered, tracing continues in the newactive trapezoid on the other side of the intersection point.When either the top or bottom of the active trapezoid has been reached (case 3), thenits left or right path must have ended at a vertex. If the left side P1 has ended then it isreplaced by the next left neighbour of Pr (figure 5.33(a)). If the right side Pr has endedthen it is replaced by the next right neighbour of P1 (figure 5.33(b)).If the end of a rectangle side has been reached, then processing merely continuesalong 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. Theprocedure terminates when the trace returns to the point on the rectangle where the firstintersection (with the chain from the current path tail) occurred.Detailed traversal procedure time complexity proofs are deferred to section B.3. Themain highlights are summarized here. The work required to identify the paths relevantto any current path can be divided into three components:1. tracing along cutter paths inside the approximating rectangle until one of the fourrectangle sides is reachedChapter 5. Relevant primitive identification 164Figure 5.33: Top/bottom crossings. The segments traced to the crossing are shown withthicker lines. (a) On the left path 3 ends. The right path is 1, and its next left path is2. (b) On the right path 0 ends. The left path is 3, and its next right path is 1.(b)Chapter 5. Relevant primitive identification 1652. processing an intersection between an approximating rectangle side and a cutterpath3. processing an intersection between an approximating rectangle side and a horizontalvisibility linkThe adjacency data structure provides sufficient information to process any single intersection 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 canreach 0(n2). For example, consider figure 5.34(a). With this geometry the approximatingrectangle for each cutter path i intersects (i) horizontal links caused by preceding paths.Repeated over all n paths the result is Q(n2) total intersections.This situation can be prevented by inserting additional vertical blocks which extendfrom 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 aconstant number of rectangles. Although at first it may appear that this approach onlyshifts the problem to another location, theorem B.1 and lemma B.4 establish that thiswill achieve 0(n) time complexity for the traversal portion of the HVP relevant pathidentification solution.It is also shown in section B.3 that this enhancement does not increase the asymptotictime complexity of the adjacency data structure building procedure. Since blocks havea finite length (less than or equal to 2\/r) at most a constant number of intersectionsbetween a block and existing cutter paths will occur. Over all n blocks this adheresto the assumption of 0(n) path intersections. Since the 0(n log n) sweep paradigmbased adjacency data structure building procedure can handle intersections, no additionaldifficulties arise if it is used.Chapter 5. Relevant primitive identification 166However, when it can be assumed that the unmodified cutter path is simple (doesnot self-intersect), a more indirect approach which does not create block—cutter pathintersections should be used to insert the blocks. Details are given in section B.3. Thisallows 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 validityof the adjacency data structure constructed, which would be violated if the chain self-intersected. Robustness is therefore not sacrificed by this approach. The problem ofbuilding a HVP adjacency data structure containing unknown intersections in 0(n) timeremains unsolved.). Combined with the linear time relevant path traversal algorithmdeveloped herein, this proves the 0(n) intrinsic complexity of identifying the relevantcutter paths in a simple chain.Finally, to prevent numerical problems caused by the approximating rectangle sideoverlapping a path, the rectangle was slightly enlarged by randomly locating its verticesin 0.1r squares at each corner of the initial bound (figure 5.35). With this change theprobability of overlap is zero.Aprogram to demonstrate the relevant cutter path identification traversal procedurehas been implemented on a graphics monitor equipped microcomputer (see [110, appendix D, program trpz]). An example screen image showing the program in operationis shown in figure 5.36. The 0(n log n) sweep paradigm approach described in this sectionwas used to build the adjacency data structure.Voronoi diagram solutionAn alternative planar subdivision solution is the generalized Voronoi diagram. A Voronoidiagram partitions the plane into regions which contain all points nearer to the enclosedobject than to any other object. A region boundary is the locus of points which areequally distant from the two objects it separates. The basic version deals with isolatedChapter 5. Relevant primitive identification 167— -(a)I——--———- -L-(b)Figure 5.34: Vertical blocks. The • highlights the intersections between the horizontalvisibility links and the traced approximating rectangle bound for path 8. (a) Certaingeometries can result in horizontal links being repeatedly intersected by many approximating rectangles. (b) To prevent this, vertical blocks (shown with thicker lines) wereadded to the adjacency data structure. Although at first it may appear that this onlyshifts the problem to a new location, in section B.3 it is shown that this solution doesachieve 0(n) intersections between horizontal links and approximating rectangles withoutincreasing the adjacency data structure building algorithm time complexity.Chapter 5. Relevant primitive identification 168O.1r0Figure 5.35: Approximating rectangle randomization. To prevent numerical difficultiescaused 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 thickerlines show the approximating shape actually used.points as objects (see Mehlhorn [77, chapter VIII, section 3.1]). Generalized Voronoidiagrams support objects such as line segments, arcs, etc. For this application the cutterpaths are chosen as the objects, in which case the boundaries will be straight line segmentsand conic sections (i.e. a parabola, hyperbola or ellipse). A generalized Voronoi diagramcan be constructed in O(nlogri) time (see for example Fortune [35] or Yap [146]). If anon-simple path is to be supported then the intersections would be pre-identified by theO(nlogn) sweep paradigm based algorithm described in section 5.2.3.Each Voronoi region, which may be bounded by 0(n) boundary segments, is thendivided into subregions by adding straight line “spokes” from the Voronoi boundary tothe nearest point on the enclosed path. Overall, this yields in total O(n) regions boundedby at most four sides (the Voronoi boundary segment, two spokes, and possibly a portionof the enclosed path). An example of a portion of a generalized Voronoi diagram is shownChapter 5. Relevant primitive identification 169X)itt) pthe path with tail nea’est the selected point will be chosenclick left button to select point Cright to ahoyt) -xeiove (C)olanea vei’tices, construct (T)rapezoiJzzation select last (P)ath, e()OitFigure 5.36: HVP traversal example. The horizontal visibility partition traversal procedure developed in this section has been implemented on a graphics monitor equippedmicrocomputer (see [110, appendix D, program trpz]). A screen image of the programin operation, which includes a legend identifying the cutter paths relevant to, precedingand following the current path, is shown above. Vertical blocks are not shown in thispartial implementation.____relevant — preceding— followingChapter 5. Relevant primitive identification 170/ \Voronoi -straight \ / I - -\ region -L : \: : -: : *paraboc spoke\ * -çcutter pathFigure 5.37: A generalized Voronoi diagram. For cutter path objects, the generalizedVoronoi diagram boundaries are straight line segment or conic sections which partitionthe 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 amanner similar to that used in the HVP solution. First, the cutter path chain is tracedfrom the current path tail until the approximating rectangle is intersected. All of thesepaths are marked as relevant. The rectangle sides are then followed from this intersectionpoint. When the cutter path associated with the current Voronoi region is intersectedby the rectangle, the path chain is traced inside the approximating rectangle just as inthe HVP solution.It is shown in section B.4 that the time complexity for traversing the Voronoi diagramChapter 5. Relevant primitive identification 171for the n approximating rectangles is 0(n). Since 0(n log m) time is required to initiallybuild the Voronoi diagram the overall solution is also 0(nlogn).Note that the difficulty of intersecting (n2) Voronoi boundary segments or spokesdoes not arise. This is due to the properties of the Voronoi diagram. Each point on theVoronoi boundary can be associated with the Euclidean distance between the objects itseparates. On the other hand the horizontal visibility links represent only a horizontalrelationship—regardless of distance. The vertical blocks are therefore required to preventproblems in the approximating rectangle area above and below the associated cutterpath.5.3 Cutter path segmentation5.3.1 OverviewIn the previous two sections of this chapter methods for identifying the CSG primitivesrelevant to cutter immersion interval calculations were presented. Section 5.1 discussedstructuring the CSG representation into subtree groups to reduce the need to examineeach primitive individually during relevance testing. Section 5.2 presented computationalgeometry based approaches for efficiently determining the relevant paths in a chain.This section further refines the region of relevance for a primitive by recording thesegments of the cutter path over which it is and is not redundant. When it is discoveredthat a single primitive boundary influences the part geometry over a cutter path segment,analytic formulae are used to express the cutter immersion interval endpoints withoutresorting to incremental sampling along the path. This permits an especially rapid millingprocess simulation method to be used in section 6.3.2.Chapter 5. Relevant primitive identification 1725.3.2 Primitive redundancy portionsAfter the relevant cutter paths have been nominated by the methods of section 5.2 theirassociated swept volume primitives are constructed. Along with any others surviving theelimination methods of section 5.1, these primitives form the part surface at which thecutter 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 thecutter first contacts, finally contacts, or becomes fully engaged with each primitive arefound. The collection of all of these critical points divides the current cutter path into anumber of segments within which a primitive may be redundant. The method is equallyapplicable to both end milling and face milling.If the cutter is entirely outside of the primitive, then the primitive is A redundant. Ifthe cutter is entirely inside of the primitive, then the primitive is redundant. This isillustrated in figure 5.38. Within each segment of the current cutter path, the redundantprimitives are replaced by A or in the CSG tree and it is simplified according byapplying the rules in table 2.1. This final procedure reduces the CSG data structure sizedown to the minimum required to correctly determine the cutter immersion intervals.5.3.3 Analytic interval endpoint expressionsVery frequently, particulary in end milling, it is discovered that very few non-redundantprimitives remain in the CSG tree for a cutter path segment. When this situation isrecognized, time consuming incremental sampling along the path to determine the cutterimmersion intervals can be avoided by the use of analytic expressions.To utilize the analytic expressions it first must be confirmed that peripheral millingis occurring. That is, the single cutter immersion interval must be either [0, çbex) (upmilling) or [q, 7r) (down milling). This is checked by evaluating the boundary of theChapter 5. Relevant primitive identification 173Figure 5.38: Primitive redundancy segments. Assume that the three preceding cutterpaths were identified as relevant. Of their corresponding primitives, A, B and G arealways A redundant, and may be removed from the CSG tree during simulation over theentire current path. The remaining four primitives are A redundant during the segmentsshown with the thicker lines. The geometry for primitive D is shown in outline foradditional emphasis. The method is equally applicable to situations with redundancies,or to face milling.Chapter 5. Relevant primitive identification 174solid represented by the relevant primitives remaining in the path segment and discardingany unneeded portions. The generate and test paradigm [9, 99] is the simplest procedurefor 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 portionswhich terminate at the intersection points.3. Test each portion of the boundary, and classify it as in, on or out relative to thesolid.4. Retain only portions that are classified as on the solid.An example appears in figure 5.39, which shows the remaining relevant primitives insegment [x1,x3) from figure 5.38. If the solid represented is —*((BU*C)U*D), then thesingle cutter immersion interval is [q, 7r) (down milling). While the cutter centre is in thesegment [x1,x2) the interval endpoint q is determined by the boundary of primitive C.In the segment [x2,x3) the side from primitive B determines q. These boundary portionsare shown with thicker lines in the figure. When carrying out milling process simulationsand peripheral milling is not occurring improvements over incremental sampling alongthe cutter path are not readily implemented.Since peripheral milling is a common special case, particularly in contouring and inpocketing operations, it is worthwhile to recognize its occurrence and exploit its simplegeometry to avoid incremental sampling during milling process simulation. This idea isdeveloped 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 alongthe cutter path are derived herein for the rectangle (2 1/2 D block) and circle (2 1/2 Dcylinder) primitives.Chapter 5. Relevant primitive identification 175x1 x2 x3Figure 5.39: Boundary evaluation. When very few primitives remain relevant in a pathsegment, 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 areshown with thick lines, and the out of cut intervals are shown in broken lines. In thepath segment [afl, a3) only primitives B, C and D remain relevant. After evaluating theboundary of the solid formed by the expression — *((B U *C) U *D) it is recognizedthat down milling over the interval [q3, 7r) is taking place. In segment [x1,x2) primitiveC determines the interval endpoint q5, and in segment [x2,x3) primitive B determinesthe interval. The portions of the solid boundary formed by these primitives are shownwith thicker lines.Chapter 5. Relevant primitive identification 176Rectangle expressionsAs in section 4.2.1 separate expressions for a rectangle side being perpendicular, parallelor at an intermediate angle to the cutter path are used.If the side is perpendicular to the cutter path, then (4.7) (repeated below)(XK1 — XC= +arccos\. ris used. Converting to the usual immersion angle notation the expression/XK1 — XC’\bA(xc), qB(xc) = r/2 + arccos (5.1)ris obtained. In (5.1) XK1 is the constant x coordinate of all points on the perpendicularside and r is the constant cutter radius. The expression for the immersion intervalendpoint angles is therefore a function of only the cutter centre location XC, and ismonotonic for each of the two branches.If the side is parallel to the cutter path then equation (4.8) is used. Again, convertingto the usual immersion angle notation the expression= 7r/2 — arcsin (-) (5.2)is obtained. In (5.2) YK1 is the constant y coordinate of the rectangle side. Since thecutter radius r also is constant, the immersion interval endpoint angle cb does notchange over the path segment under consideration. This situation frequently arises inpocketing operations when adjacent cutter paths are parallel. Under these circumstancesthe forces, torques and defiections also will be constant, and hence incremental samplingalong 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 usualChapter 5. Relevant primitive identification 177immersion angle notation the interval endpoints are= /2— [8L+arccos ((XL _xc)cosOL)] (53)As in the perpendicular side case, each of the two branches is a monotonic function of thecutter centre location xc. For convenient reference figure 4.10 is repeated on page 178to illustrate these immersion interval endpoint angle formulae.Circle expressionAgain from chapter 4, the immersion interval endpoint angles are calculated using (4.15)and (4.16). In the circle case the angle eL varies according to the formula ((4.15) repeated)/ YF ‘\8L(XC) = arctan 1 (5.4)\XF —The circle centre F(XF,YF) 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. Thisis derived as follows: The length GF is easily calculated as ((XF — xC)2 + y)”2 andTFj= 1CF — CTI. In the right triangles— CT2 =—=and hencejTF2-iCT =(CFj—CTj)2—IC j =1CF12 — 2CFIGTI + ICTI2 — OTt2 = r —orCTI OFt2+r- (5.5)Chapter 5. Relevant primitive identification 178YK1Figure 5.40: Rectangle—cutter intersection angles. This is a repetition of figure 4.10. (a)perpendicular side. (b) parallel side. (c) intermediate angle.07-’-(a) (b)K 1K2(c)Chapter 5. Relevant primitive identification 179Figure 5.41: Circle—cutter intersection angles. Figure 4.14 is repeated here for convenience. The immersion interval endpoint angle expressions are monotonic on each sideof 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 + 8T)=— [arctan ( YF ) ± arccos (IcTI)]=— arctan arccos(cF2+ r — r (5.6)XF—XC 2CFr jBy referring to figure 5.41 (figure 4.14 repeated), it is apparent that these functions willbe monotonic on each side of the cutter centre point (xQ, 0), where the cutter intersects\Cthe circle at its quadrant.Chapter 5. Relevant primitive identification 1805.4 SummaryThis chapter has examined a number of techniques for identifying relevant primitivesduring milling process simulation. A relevant primitive was defined as a primitive inthe CSG part description which influences the cutter immersion interval endpoint angleswithin the path segment currently being simulated.In section 5.1 methods for identifying redundant primitives which should be removedfrom the CSG tree were discussed. First, approximate bounds such as iso-oriented boxeswere used to simplify the primitive interference calculations. The sweep paradigm together with the interval and segment tree was presented as a method to be used witha large, unrelated population. By comparison, the S-bounds and active zone methodsutilize the hierarchy of the CSG data structure to reduce the computational effort whenthe part has been described as a collection of feature subtrees.Next, in section 5.2, methods of identifying relevant primitives and cutter paths ina chain were considered. This differed from section 5.1 in that there the primitives toretain were identified, as opposed to the primitives to eliminate. It was observed thatover a total of n paths the straightforward technique of checking all paths previous tothe current cutter path had an undesireable quadratic time growth rate, and hence moreefficient methods should be sought.The first alternative considered was the sweep paradigm used with isoboxes and theinterval 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 relevance reports. Instead, it was shown that by bounding the paths by rectangles orientedwith the path direction a much tighter approximating bound would be achieved. Becauseall rectangles had equal widths, the sweep paradigm for finding line segment intersectionscould be used to report all relevant paths with O((N + n) log n) time complexity.Chapter 5. Relevant primitive identification 181Under special circumstances, such as when pocketing without islands and duringcontouring, the problem of determining the immersion interval endpoint angles has a onedimensional nature. In these situations maintenance of a simple linked list of the partboundary segments is sufficient.The anticipated characteristics of a path chain generated to cut a pocket were thenreviewed and used to develop efficient relevant path identification algorithms based onplanar subdivision methods. The horizontal visibility partition method was presented asan method which, by choosing the optimal adjacency data structure creation algorithmand assuming a simple cutter path chain, can achieve 0(n) time complexity. Proof of thislinear intrinsic complexity is a valuable research result. The generalized Voronoi diagramwas presented as an 0(n log n) time complexity solution which is conceptually simplerthan the HVP method. Algorithm complexity details for both the horizontal visibilitypartition method and generalized Voronoi diagrams were deferred to appendix B.Finally, in section 5.3, the cutter path was segmented into disjoint portions over whichan unchanging set of CSG primitives remain relevant. It was demonstrated that in peripheral milling, where a single immersion interval endpoint angle varies, analytic expressionsmay be used to avoid incremental sampling during the milling process simulation. Thisidea is developed further in section 6.3.Chapter 6Milling process model implementationIn chapter 3 the fundamental mathematics required for milling process simulation wasoutlined. In particular, note was made of the strong geometric nature of the process modelequations. Chapter 4 developed a method of determining the in cut immersion intervalendpoint angles based on the CSG representation scheme. In chapter 5 it was observedthat most of the primitives in a part description do not participate in the immersioninterval calculations along an individual cutter path. Strategies for identifying relevantprimitives and eliminating the redundant ones were therefore proposed in an effort toimprove computational efficiency.This chapter combines the information from these three previous chapters and implements 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 providing both a simulation capability under fixed machining conditions and the ability toschedule the feed rate to adhere to imposed constraints.In section 6.1 milling force and torque expressions are provided using both the average 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 becontinuously calibrated during cutting.In section 6.2 expressions for the instantaneous cutting forces with a helical cutterare developed. It is shown that as the cutter rotates the flutes will be bounded by thepart face in five distinct ways. By summing the contributions of all in cut flute sections,182Chapter 6. Milling process model implementation 183analytic expressions for the cutting forces are obtained. Calculus and numerical analysistechniques are then used to obtain the extreme values of the forces over a rotation periodwithout sampling at small angular increments. The condensed expressions are also usedto 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 afeed rate to adhere to constraints. The necessary curve fitting techniques are outlined,including consideration of the machine tool table drive servomechanism dynamics. Toavoid incremental sampling along the cutter path, the analytic immersion interval endpoint angle expressions developed for peripheral milling in section 5.3.3 are used to createa piecewise linear approximation of the target feed rate schedule.The chapter is briefly summarized in section 6.4.6.1 Zero helix expressionsCutters with a zero helix angle are widely used in face milling operations. In this situationthe material removal rate (MRR) limiting constraints are usually the maximum andaverage torque and power—hence the capability to simulate these quantities is needed.Furthermore, expressions for the average feed and normal forces are required to calibratethe process models. In this section equations based on both the average chip thickness andlinear edge force models introduced in chapter 3 are tailored for use with the immersiongeometry information available from the solid modeller.6.1.1 Average chip thickness modelThe average chip thickness model separates the cutting forces at each tooth j into tangential FT,3(b) and radial FR,3(q) components (figure 6.1). Modifying equations (3.3) forChapter 6. Milling process model implementation 184use with a zero helix angle, the model is expressed asFT,(4)) aKTh(4)) (6 1)= KRFT,(4))where a is the axial depth of cut. The uncut chip thickness h is defined as= .stsin4)where q= 4) + jcb and q is the angular spacing between successive cutter teeth.The instantaneous torque expression, summed over all teeth in cut, is thereforeT(4)) = Fr,j(q) = rsaKT sin(4) + jq) (6.2)The term for an individual tooth j is included in the summation only during intervals[4)k, 4’k+) where it is actually engaged in the part. The endpoint angles of these intervalsare found by equating the angular position of each tooth q5j with the immersion intervalendpoint angles (figure 6.2). The torque expression (6.2) is therefore comprised 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 theinstantaneous torque is given by>j=1,3 sin(qS + j4)); 4)e[O, 4))sin(4) + jqS); 4)e[4)i, 4)2)T(4)) = rCSaKT >Z=o,i sin(4) + j4)); 4)e[qS2,4)) (6.3)j=O,1,2 sin(4) + i&); 4)e[4)3,4))Z=0,2sin(4) + jqS); 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 evaluatedat each interval endpoint 4)k and the maximum value retained. Next, the local maximaChapter 6. Milling process model implementation 185xFigure 6.1: Process model parameters. This figure is similar to figure 3.2. For each toothj the cutting forces are resolved into tangential FT, and radial FR,3 components whichare a function of the uncut chip thickness h3. A reference angle 4 is associated with thefirst tooth edge, and the angle between successive teeth is q. In the example shownteeth enter cut at an angle q58 and exit at an angle bex. More generally a number of incut immersion intervals [q,j, may exist (see figure 6.2).yrChapter 6. Milling process model implementation 18605 0C 0ex,Oøst,10ex,1Figure 6.2: Rotation intervals. The instantaneous torque is expressed by a number ofseparate functions—each valid over one rotation interval [q5,, qSk+1). An interval endpointqk occurs any time a tooth at angle q passes an immersion interval endpoint or-7 øst,O9ex,iChapter 6. Milling process model implementation 187within 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 accomplishedby rewriting an individual function of (6.3) in the formT(q) = rstaKTsin(q+jqS)== rsaKT(P sin q + Q cos q)where during the interval [4k,‘6k+1) the constants P and Q have the valueP > cos jb; Q = sin j4)cThe first derivative is thereforeT’(q) = rsaKT(P cos— Q sin q)and hencekm = arctanThe average torque per revolution (or tooth period)= 1 f2T()dis most easily calculated by exploiting the periodicity of the instantaneous torque andnoting that the helix angle has no influence [102, 147]. It is therefore sufficient to considera 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 = Twwhich relates the power P to the torque T and the spindle rotation speed w.Chapter 6. Milling process model implementation 188As with the average torque calculation, the average forces in the feed x and normal ydirections are found by considering a single, zero helix tooth at reference angle q. Fromfigure 6.1 the forces resolved in the x and y directions areF,o(q5)—FT,o(q) cos— FR,o(4) sin q—SLaKT [sin q cos + KR sin2 qSj—sEaKT[sin2 + KR(1 — cos2)]F,o(q) = FT,o(b) sin — FR,o(b) cos= saKT[(1 — cos2) KRsin2]The average forces are then calculated by summing the integrals due to each in cutimmersion interval [q3e,, and multiplying by the total number of cutter teeth J. Inthe x and y directions= sLKT [cos 24 + KR(sin 2q — 2)] ::::= StKT(7?+SKR) (6.5)== StKT > [— (sin2qS — 2q) + KRcos2]= sKT(—S+7KR) (6.6)where the geometric parameters 7? and S are defined as7? = [cos 2j‘; S = [sin 2q — 2]These calculations are carried out by the solid modeller at each required simulationincrement along the cutter path.Chapter 6. Milling process model implementation 189The x and y average forces have two applications. First, as will be discussed in chapter 7, monitored average force signals are useful in verifying that the milling operationis proceeding as expected. A second and essential use for average forces is in calibratingthe average chip thickness process model. Recalling (3.4) and (3.5), the ACT modelparameters KT and KR are calibrated using the equationsKT(h) = MJT; KR(i) = MRTPR (6.7)where in 2 1/2 D the average chip thickness is defined asa f St sin (cos — C05-L-_ i — iIt———Sta (qex,i — st,i) (qex,i— cbst,i)First, PX and F measurements are taken at several different h choices. This can beachieved either by varying the part geometry or by changing the feed rate st. Next, bysimultaneously solving (6.5) and (6.6) the corresponding valuesF7?—S FR+FSKTSt(2 + S2)KR= —(6.9)are found.The constants MT, PT, MR and PR are then estimated by rewriting (6.7) in the formlog KT(h) = log MT — Prlogh (6 10)logKRQi) = 1ogMR—PRlogJand using linear regression techniques [6, 52, 73]. For example, in the usual notation theexpression for K in (6.10) would be written asy(t)=(t)81 +2(t)O =where the t’th measurements arey(t) = log KT(t); T(t) [1 —1og)Qt)Chapter 6. Milling process model implementation 190and the parameter vector is&Tz[0gPT]For a set of t samples defineY(t) [y(i) y(2) y(t) ]T[log KT(1) log K(2) log KT(L) 1Tand1 —1ogJ(1)(PT:(2)= 1 —1ogi(2)1 —logii(t)The least squares estimate for the parameters & using I measurements is now given byAlternatively, a recursive least squares (RLS) estimate of the ACT model constantscan be obtained by using the equations(t) = (I -1) + K(t)[y(t) -yT(t)(t - 1)1 (6.11)K(t) = P(t)ço(t)= P(t— l)o(t)[I +ç0T(1)P — 1)(t)]_1 (6.12)P(t) = [I — K(t)pTQt)]P(t — 1) (6.13)where K(t) is a vector of weighting factors, P(t) is the covariance matrix (= T(t)(t)),and I is the identity matrix (=1 in this case). Details on implementing the approach arecontained 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 calibrationto be continuously updated during cutting of the part, which assists in maintainingChapter 6. Milling process model implementation 191accurate force predictions and can potentially recognize changes caused by tool wear.During cutting along an unchanging part geometry the updating algorithm should besuppressed, since no new information is being provided. This will avoid difficulties dueto lack of persistent excitation, which results in the P(t) matrix being singular, and theestimates 0 not being unique (see Aström and Wittenmark [6, chapter 3]).6.1.2 Linear edge force modelIn addition to separating the cutting forces into tangential and radial components, thelinear edge force model further divides the forces into uncut chip and edge contributions.Repeating equations (3.6) the model form isFT,(q) = aK5(h(4) + h*)(6 14)FR,() aKs(cihj()+c2h*As with the ACT model, h(4) = St sin q, where cbj = q + j. The four calibrationparameters are independent of the instantaneous cutter immersion. Edge forces areaccounted for by the critical uncut chip thickness h*. The specific cutting pressure is K3,and constants c1 and c2 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 isT(q) = F,j(q5) = raK3[St sin(ç + jq) + 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 forChapter 6. Milling process model implementation 192T(q)is[2h* + t =1,3 sin(q + jq)j; qe[O, q)[h* + t >j1 sin(q + jqc)]; qe[q1,q2)T(cb) = raK8 [2h* + t Z=o,i sin(q5 + j&)]; q[q2, (6.16)[3h* + t jO1,2 sin(q5 + i&)1; q[cb,[2h* + Sj j=O,2 sin(q + j4)}; qc[q, q)Note that the period of the function is &, and that the critical uncut chip thicknessparameter 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 thenchecked at the critical points (see appendix C)= arctan () (6.17)where during the interval [qS, k+1) the constants P and Q have the valueP cosjc; Q = sinjqThe maximum is updated if T(qm) has a larger value.The average torque per revolution isT=rcaKs(h* + t )d (6.18)where 3 is the number of cutter teeth and the in cut immersion intervals are [q3,qex,).As with the the ACT model, the maximum and average power are then calculated usingthe relationship F = Tw.In the LEF model the average forces in the feed x and normal y directions are (seeappendix C)= K3[s(7?. + ciS) + h*(_Q +c2P)] (6.19)= K3[s(—S + ci7?) + h*(_P — c2Q)] (6.20)Chapter 6. Milling process model implementation 193where the four geometric parameters are defined asP = > [cos ]‘= [sin j7?. = [cos2j S = [sin2—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. Thedetails are deferred to appendix C.The expressions for both the ACT and LEF models assume a square cutter edgeand 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 suchcutters is to adjust, as a function of the axial depth of cut a, the model calibrationparameters. For the ACT model an appropriate method is to define an equivalent averagechip thickness ‘eq = iheq(a). For the LEF model functions c1(a) and c2(a) would be used.These functions would be calibrated by experiment, or could be predicted using geometricmethods (see Yellowley [148]).62 Helix expressionsFor helical cutters calculations in addition to those presented in the previous section arenecessary to check for violation of maximum resultant force and surface location errorconstraints. In both of these cases an expression for the instantaneous forces must beavailable at any cutter rotation angle. To avoid performing this by sampling at smallangular increments, the critical angles at which flutes change contact geometry with a2 1/2 D part are determined in section 6.2.1. The corresponding analytic force expressionswhich use this geometric information are then derived in section 6.2.2.Chapter 6. Milling process model implementation 194cutter L / /sert___(a) (b)Figure 6.3: Face mill nose shapes. Face mills usually have replaceable inserts with eithera (a) finite radius or (b) chamfered nose.6.2.1 Critical angle determinationFirst, define k,,, = tan where is the helix angle. The immersion angle for a flutesection j at axial location z is (figure 6.4)= q + jq5 — k,z (6.21)Again q. is the angular spacing between successive cutter teeth. Inverting (6.21) yieldsthe expressionz(qj) (1/k,)[q + 11c—(6.22)which gives the axial location z of a flute section j at immersion angle.Now imagine that the surface of the part has been “unrolled” from its cylindricalshape to a flat wall (figure 6.5). Each of the faces of the part is now bounded by the twovertical lines = cb5t,1 and q5exi, and the two horizontal lines z = 0 and z = a, wherea is the axial depth of cut.As the cutter rotates each of the flutes will intersect a face i in one of five distinctChapter 6. Milling process model implementation 195Figure 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 arbitrary axial location z the immersion angle is q3(z)=j(O)—(tan ib/r)z=qj(O) — kpz,where k = tan/r and r is the cutter radius. The helix angle is &.tanizzOChapter 6. Milling process model implementation 196øst,1Figure 6.5: Unrolled part surface. The axial depth of cut is a and the immersion intervalsare [qst,i, qex,i). Imagine that the cylindrical shape of the part surface is “unrolled” toform fiat faces bounded by the two vertical lines= and q = 4,j, and the twohorizontal lines z = 0 and z = a.øex,O —øst,o øex,O øst,1 0ex,1Chapter 6. Milling process model implementation 197ways (figure 6.6). The corresponding axial limits zj,j,1 and z1,,2 for each of the five casesarecase 0 z,i = 0; z,2 = acase 1 z,1 = 0; z,2 = (1/k)[qS + j& —case 2 zj,j,i = (1/k,)[q + jq5c— qex,j; z,3,2 = acase 3 = (1/k)[q + jc5c— qex,ij; zj,2 = (1/k)[qS + j qst,i1case 4 the flute is not engaged with this faceThe applicable case for each flute is found by locating the intersection of the diagonalflute line with the four cutting zone boundaries. Note that when the axial depth of cutis 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 rotationintervals [q, bk+1). The corresponding flute contact cases during each rotation intervalare listed in table 6.1.In the next section instantaneous cutting force expressions are derived for use withineach of these rotation intervals.6.2.2 Analytic force expressionsReferring back to (3.3), the cutting forces for an elemental axial slice (using the ACTmodel) aredFp(q5,z) = KTstsinb(z)dz (623)dFR,(,z) = KRdFT,(,Z)whereChapter 6. Milling process model implementation 1980st 0exC--0. 4z0—.___________0 0Figure 6.6: Helical flute contact cases. The flutes intersect a face in one of five distinctways, according to which of the four face boundaries are intersected.flute rotation intervalnumber [O,) [qSi,42) [q2,3) [q3,q.) [14,&)j=O 4 1 1 1 1j=1 1 1 3 2 2j=2 2 2 2 2 4jzE3 4 4 4 4 [ 4Table 6.1: Helix rotation interval cases. The instantaneous force expressions derived insection 6.2.2 are valid over one rotation interval. Corresponding to the illustration infigure 6.7, the flute contact cases during each rotation interval [qA, bk+l) are listed in thetable. Note that the cycle repeats with period 4.Chapter 6. Milling process model implementation 199\\\Figure 6.7: Helix rotation interval endpoints. Rotation interval endpoints qSk occur eachtime a flute changes its contact geometry case. Table 6.1 lists the flute contact casescorresponding to the illustration above.\TV TV\\\\\\70 øc TVChapter 6. Milling process model implementation 200At 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 resultantforce vector dF3 (figure 6.8) is fixed at e = arctan KR. With this substitution theelemental forces resolved into feed a and normal y components arez) = —dFj(cb, z) cos(q3(z)— 0) (6.24)dF,(4, z) = dF(qS, z) sin(qj(z) — 0) (6.25)wheredF(q5, z) = (dF(q5, z) + z))h/2= dF(çb, z)(1 + K)112= StKT(1 + K)”2sin 4(z)dz= stKTRsin(z)dz (6.26)and KTR = KT(1 + K)”2.The cutting force contributions due to an in cut flute section are now found byintegrating with respect to z between the two limits zj,j,i and zj,,2 found in section 6.2.1.In the x directionfZj j 2F,,(qS)= J dF,(b)dzfZj j 2jzi,j1t2ij,2—stKTRJ [cos q(z)cos0 + sinq(z)sin0] sinq3(z)dzzi,11 f2j2= ——StKTRj [sin2(b+jq5—kz)cos02—cos2(q5+j— k,&z)sin0]dz1 1 Zjj2= StKTRj_ —cos2(b+jq—kz) cos0Z,)l1 2ij,2— sin0 (6.27)2k JChapter 6. Milling process model implementation 201xFigure 6.8: Definition of 0. At any particular location along the cutter path the uncutchip thickness i and (by (6.7)) KR are constant. Therefore the angle between dFT, andthe differential resultant force vector dF3 is fixed at 0 = arctan KR as shown above. Thediagram is based on figure 3.2.yfChapter 6. Milling process model implementation 202SimilarlypF,13(q.’)= J sjKTRsinq(z)sin(q(z)—0)dzZi,j,1fZij,2StKTRj [sin (z) cosO — cos q(z)sin0}sinq(z)dzzi,j11 PZij,2= —StKTR J [(1 — cos 24(z)) cos 0 — sin2ç63(z) sin 0]dz21 fZjj2—stKTRJ [(1—cos2(q5+jq—kz)cos02 Zij,1—sin2( +jqc — k,,1,z)sinO}dz1 1 1 Zj2= StKTRj cosOzi 11 ii2 ‘1— sin01 (6.28)Zi j 1By explicity evaluating these integrals the cutting force can be written asF,j(q) 8tKTR[—(A + Ejq) sin 0 + cos 0sin(2q5— 0) — V13 cos(2q— 0)](6.29)F,,(qS) + jq5)cos 0 + sine+B,j cos(2q — 0) + V sin(2qS— 0)1where, depending on the intersection geometry case (figure 6.6), the geometric constantsA, through E are defined ascase 0 z23,1 = 0; = a= a= (1/2k)[sin2(jq— ka)— sin 2j]ci,j = 0= (1/2k,t,)[cos2(jq— k,,a)— cos2jc]= 0case 1 z1,, = 0; z1,2 = (1/k,j,)[q + jq5c —= (1/2k,)sin243t+ (1/k)[jq—= —(1/2k)sin2jChapter 6. Milling process model implementation 203C2, = —(1/2k)cos2q3t,.Vi, = —(1/2k)cos2jq= (1/kg,)case 2 zi,,,i = (1/k,11)[4 + 3c— ex,ij; z,,,2 = a= a— (1/2k&)5jfl2exi (1/k)[j—(1/2k)sin2(j—k,a)Ci,, (1/2k)cos2q5ex,j= (l/2lc,J,)cos2(jq—kfra)=case 3 z,1 (1/k,)[q’ + j4 — = (1/k,)[q. + jq— q8t,1A (1/kq,)[qex,j—— (1/2k,)[sin2qexj — sin 2q3t,j0(1/2kv, )[cos2qes,i — COS2qS3t,]00case 4 the flute is not engaged with this face= 0= 0C2,, = 0= 0= 0A detailed derivation of the expressions above is deferred to section C.2.The total forces within a rotation interval [qSk, ck+1) are now found by summing overall faces i and all teeth j. That isF() == stKTR[—(A + ) sin 0 + C cos 0+13 sin(2 — 0) — V cos(2q — 8)] (630)F(q5) == StKTR[(A + ) cos 0 + C sin 0+Bcos(2 —0) + Dsin(2 — 0)] (6.31)Chapter 6. Milling process model implementation 204whereA=A; B=>Bj; C=C,,3V=>Dij;These summations are quickly computed since in practice there are both very few facesand a small number of flutes.Maximum resultant force calculationThe maximum resultant force is an important MRR constraint to avoid shank breakagein end milling (section 3.3.3). Using the x and y force expressions (6.30) and (6.31) theinstantaneous resultant force isF() = [F) + F)]’/2= StKTRFGEO() (6.32)whereFGEo() = {(A+)2+B2+c2 +D2 +2(A+t)[Bcos2+Dsin2]+2C[l3sin2qS — Vcos2]}”2 (6.33)Observe that FQEo(b) is independent of the ACT model calibration parameters KT andKR. Therefore the maximum of FQE0(q5)FGEO,mas = sup{FGEo(q’)jqSc[0,q)}can immediately be determined using only solid modeller geometrical information. Themaximum resultant force Fma(q) can later be found by scaling when accurate calibrationdata is available. That isFma = SLKTRFGEOmax (6.34)To determine FGEO,ma, the maximum of FGEO(b) within each rotation interval[bk, qk+1) is found. The function is not readily analyzed using calculus, and hence aChapter 6. Milling process model implementation 205numerical method must be used. In this case a very appropriate choice is the glominalgorithm developed by Brent [10, chapter 6]. When supplied with an upper bound M onthe second derivative, this algorithm will calculate the global minimum of a function overan interval to within a specified tolerance FEot0l. The number of function evaluationsrequired is O((M/FEoj0t)1/2).For this application the function to use is—FEo(b) = -(A + E)2 — B2 — C2 — V2—2(A + Eq)[B cos 2 + V sin 2] — 2C[B sin 2q — V cos 2q] (6.35)It is chosen over FGE0(q5)to avoid unbounded derivatives, and because glomin returnsthe 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 functionssatisfy sin c < 1 and j cos j < 1 for all , and e[0, q). Therefore, by choosing atolerance FEot0land using glomin, in any rotation interval [1k, qk+1)FEO,max FEO,glomin + FEo,t0jwhere FEog1jn is the global minimum determined by glomin. For further detailssee section C.3. The overall FGEO,max is then found by taking the largest of the individualrotation 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 cannotguarantee. Second, of course, far fewer function evaluations will be required under normalcircumstances, when there are both few part faces and a small number of cutter flutes.Surface location error calculationComplex research models [4, 58, 84, 109, 118] have been developed to advance understanding of the active mechanisms in milled surface generation. In these models theChapter 6. Milling process model implementation 206effects of radial runout, a flexible part, and feedback of the slightly modified immersiongeometry are explicitly considered during force calculations.Modelling of all of these effects goes beyond the first requirements to plan a materialremoval rate (MRR) consistent with a surface location error constraint. For the thesispurpose of studying integration of solid modeller geometrical calculations with millingprocess simulation, a no runout, no feedback rigid part model is adopted. Surface locationerrors 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 passesthrough angle zero (up milling) or r (down milling). Examining the down milling casein detail, the surface generated at any axial position z,(4) is determined by choosingthe flute j such that qS[0, &) in the equation= + jc - (6.36)It is located a distance S(zL,3) away from its nominal location, where ZL,3 = L —z5,(4)(figure 6.9). With a very deep axial depth of cut the higher surface generation points arefound by substituting 3ir, 57r, etc. for 7t in (6.36).To determine the deflection the flexible end mill is modelled as a cylindrical cantileverwhich obeys the equationd46= —wy(q, zL) (6.37)dzLwhereE is Young’s modulus of elasticity for the end mill (kN/mm2)I is the end mill moment of inertia (mm4)S is the end mill deflection (mm)zL L — z, is the distance measured from the tool holder to the cutter tip(mm)Chapter 6. Milling process model implementation 207ZL_LZIzFigure 6.9: Surface generation in down milling. It is assumed that any surface locationerror is due solely to deflection of the flexible end mill by the cutting forces. The surfacegenerated at axial positionz3,() = (1/k)[q+j—7rj will be will be generated by flutej and located a distance S(zL,3)away from its nominal location, where z,5 = L — z,j(q).//L/TI0 7kChapter 6. Milling process model implementation 208At any rotation angle the normal force density isdF(q, z)wy(q,zL)_dzwhich can be written asw(b,zL) =where, substituting from (6.25) and (6.26)wy,3(q zL) = StKTR sin b,(zL) Sin(b(zL) — 0) (6.38)q,(zL) = 4 +j — k(L — z) and 0 = arctanKR. Each of the functions wy,j(q,zL) in(6.38) is valid over only the axial interval zL,,j,2) = [L — zi,j,1,L — definedby the cases listed on page 197. This requires that the overall density function zL)be specified in a piecewise manner over intervals [ZL,k, ZL,k+1) where {zL,k} is the set{ zL,j,2} in sorted order.The cantilever equation (6.37) is solved for the deflection S(zL,3) by repeated piecewise integration over the axial intervals [zL,k,ZL,k+1) and at the appropriate value of q.That isV,zL)M(,zL)= J V(Z)dZZL) fLM, 2)dZ= f O(q,Z)dZwhere respectively ‘4(4, zL), M(qS, zL), zL) and S(qS, zL) are the shear, bendingmoment, slope and deflection of the end mill in the normal or y direction. The integrationconstants are found by imposing the boundary conditionsV(b,zL=L) M(b,zL=L) = 0= 0Chapter 6. Milling process model implementation 209Further details on this procedure, including an example calculation, are given in section C.4.Although the procedure just outlined has been found to give accurate predictionsunder the physical conditions assumed, it is very time consuming due to the need torepeat the entire sequence at small angular increments. A simpler model is thereforedesired which will permit more rapid feed rate scheduling to respect a surface locationerror constraint. This model is described below.It is assumed that the constraint is the maximum surface location error 8ymax. Thiscan be expected to occur at the end mill tip, where flexibility is greatest, and when thenormal force achieves its extreme value. Using the coordinate system in figure 6.1 themaximum overcut in up milling and the maximum undercut in down milling both occurat the maximum normal force Fy,max. For simplicity, the point of the force applicationis 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 largestpossible surface location error, is given by the cantilever deflection equation,12ymax”Uy,max— 6E1 —where A = L — 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)jthe maximum normal force Fy,max is found by checking the endpoints of each rotationinterval [q, 4k÷1) and retaining the maximum value. DifferentiatingF) = StKTR[t cos 0 — 213 sin(2 — 0) + 2D cos(2q5 — 0)Chapter 6. Milling process model implementation 210Figure 6.10: Concentrated load cantilever deflection. If, for simplicity, the cutting forceis assumed to be concentrated at a single point, the maximum deflection of the end millwill occur at the tip, and is given by (6.39).AL—a/2Chapter 6. Milling process model implementation 211= StKTR [tcosO — 2(32 + V2)112 sin (25 —0— arctanand setting Fy’(qm) 0, the extreme values are found at1 1. / é’cos0 ‘\jarcsln2(B2 + V2)h/2)+ arctan + 8If 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]. Inhis example a four flute end mill with radius r=9.525 mm, helix angle b=30 degreesand 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. Adown milling operation was used, and hence the single immersion interval was ex)= [2.394, 7r). The calibration parameters were KT 0.644 kN/mm2and KR = 0.320 forthe 7075-T6 aluminum part material. Kline computed the moment of inertia as I r/3rather than the usual 7rr/4 to account for the absent material behind the flutes. Thisis consistent with the observations of Ziatin et al [155] and the value 7r(0.8r)4/4 morerecently reported by Kops [62]. The value for Young’s modulus was E 207 kN/mm2.Under these conditions the maximum normal force is Fymax=l.6lkN and the maximum deflection is 6m=0.777 mm or 777 This agrees almost exactly with themaximum 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 integration of the cantilever equation (6.37). The above example suggests that, for feed ratescheduling purposes, it is reasonable to utilize the concentrated maximum normal forcesurface location error model, and exploit calculus instead of sampling at small angularincrements.Chapter 6. Milling process model implementation 2126.2.3 SummaryIn this section the cutter immersion geometry for helical end mills in 2 1/2 dimensionalcutting was further examined. It was found that the immersion of the flutes with thepart faces can be classified into five cases, and that analytic, piecewise expressions for theforces and surface location error could be defined to avoid incremental sampling alongthe cutter z axis. The maximum resultant force, important when shank breakage is aconcern, could then be found using a numerical method rather than sampling at smallangular increments. For rigid parts it was demonstrated that a simplified, concentratedmaximum normal force surface location error model was sufficient. This allows calculusto be used to much more rapidly determine the maximum normal force and maximumsurface location error.6.3 Feed rate schedulingA principal reason for developing a solid modeller based milling process simulation system is to plan material removal rates consistent with the constraints first discussed inchapter 3. In this section the MRR constraint equations developed earlier in the chapterare recast to schedule a feed rate which simultaneously satisfies the limitations reviewedin the thesis. Separately considered are an incremental solution, and a more rapid numerical method applicable during peripheral milling, when the immersion angle endpointcan be analytically expressed (section 5.3.3).6.3.1 Incremental solutionThe equations developed in this chapter always eliminate the need to sample in theaxial direction and at small angular increments. This significantly accelerates the millingprocess simulation speed. However, when there are several in cut part faces, such as inChapter 6. Milling process model implementation 213face milling, analysis of the cutting forces produced by the many qex,) immersionintervals is still best treated by incremental sampling along the cutter path. The samplespacing chosen should be on the order of the feed rate per tooth. Since no part featureis likely to influence a single tooth period, this ensures that a sudden change is safelyrecognized. Near the rapid change, smaller steps can be taken to further refine thesimulation.To specify a target feed rate under these conditions, the following procedure is appliedat every sample point along the cutter path: First, write the MRR constraint equationin the formQtgt = f(st,tgt)Here Qtgt is the target value for the constraining force, torque, deflection, etc. and f(stt9t)is the function relating the feed rate to the constraint. Frequently the function can beinverted, and the target feed rate found by evaluatingf1(Qtgt)Average torque constraintAs an illustration, consider the average torque constraint. For the ACT model theconstraint equation (6.4) can be rewritten asT = SEKTg (6.40)where the geometric constant is defined as= rasinqfdçbSubstituting from (6.7) and (6.8) yieldsPT PTKT(st) = MTILS StChapter 6. Milling process model implementation 214where— (cos COS st,i)= Z (6.41)e2 st,iHence (6.40) may be expressed as7= (gMrl’T)s_PTand inverted to obtain— 11(1—PT)TtgtStjgtcMTh5For the LEP model the inverted relationship between feed rate and average torque is-hd] (6.43)Tooth breakage constraintImplementation of the tooth breakage or maximum uncut chip thickness constraint (3.7)is straightforward. If 7r/2c[qS, qex,) then Sttg = hmax. OtherwiseSt,tgt = inf{(hma/ sin c)Ic5 q’st,o, q5ex,o, st,1,Maximum resultant force constraintTo prevent shank breakage, the maximum resultant force equation (6.34)Fmax = StKTRFGEOmaxmust be inverted. As a function of sStKTR(st) = stMTi’T(1 + Mh2)1l2= stMThTsT(1 + s2)h/2= MT T(2(1_PT) + (6.44)Chapter 6. Milling process model implementation 215where the geometric quantity i is defined by (6.41). With conventional cutters andpart materials, and expected feed rates, the quantities 1— PT— PR and 1— FT are bothpositive. Hence (6.44) represents a strictly increasing function of the variable s. Bysampling (6.44) over the expected range of .st a very good approximation of the inverseto fK(st) StKTR can be obtained by interpolating the sample points with a cubicspline. Representing this inverse by the notation fQ, the target feed rate is then foundby evaluating— :—1 (2Fmax,tgtSt,tgt_J j T\rGEo,maxSurface location error constraintTreatment of the surface location error constraint is more involved because the radial/tangential force ratio term KR cannot be separated in the normal cutting forceexpression. This constraint is usually active during peripheral milling, where frequentlythe rapid numerical solution discussed in section 6.3.2 can be applied. In the few caseswhere this is not possible, an appropriate feed rate can be chosen automatically by iteration.ChatterAs indicated in section 3.3.6 an approximate cutter contact length limit for chatter avoidance is ((3.8) repeated)—11c,lim 1ZATRJL[tv,ORjminwhereJ?[Gv,OR1min — inf{[G,oR(jwU)I w,c(—oo, +oo)}It is assumed that a machine tool transfer function model is available in the orthogonal x and y directions (figure 6.11). The oriented transfer function GoR(jw) is thenChapter 6. Milling process model implementation 216modelled asG,oR(jw) = + G,(jw)wherej, is the vibration directional factor in the x directionG,(jw) is the r direction machine tool transfer functionis the vibration directional factor in the y directionG,(jw) is the y direction machine tool transfer functionSimilarly, the real part of G,oR(jw) islJ[G,oR(jw,,)] = + tR[G(jw)jFor up milling a simple chatter model assumes that the vibration direction v, ORis aligned with the cutter radial halfway through the immersion interval [0, q) (seeTiusty [125]). A similar assumption can be used for down milling. The value for KTR =KT(1 + K)’/2 is calibrated by experiment, and 0 = arctan KR. Under these conditions,if the cutter is advancing in the +x direction, the vibration directional factors areI ç6ex . q’ex. I lex bex= cos —0 + sin-i—; = — sin jO + cosFor milling in the +y direction and , are exchanged.To assess this simple chatter model, it was compared to time domain simulationresults reported by Tlusty, Smith and Zamudio [128]. The simulation assumed a fourflute (qc, = 7r/2) helical end mill with radius r = 12.5 mm, helix angle ib = 30 degrees andlength 100 mm. The part material was aluminum alloy. Constant calibration parametervalues KT = 0.800 kN/mm2and KR = 0.3 were used.The machine tool structure was modelled using damped second order Laplace domaintransfer functionsG(s)=-.ks2+2Cws+wChapter 6. Milling process model implementation 217øex/2v,xI/v,OR V,YFigure 6.11: Chatter angle and direction definitions. Up milling is illustrated in theexample above. The angle between the tangential direction and the resultant force Fdirection is 0 arctan KR. The vibration modulating the uncut chip thickness occursin the direction v, OR, which is assumed to be aligned with the cutter radial halfwaythrough the immersion interval [0, 4ex). That is v, OR = sin(qSex/2)v, x + cos(e/2)v, y.xChapter 6. Milling process model implementation 218Substituting s jW,, and taking the real partc-lrr(. “hi— WnWn—WVJt[_LuiJWv)j— f 2 2’2fl, WWtj) TILt,WnWv)In the a direction the stiffness was = 4.17 kN/mm, the natural frequency was= 5919 radians/s (942 Hz) and the damping ratio , = 0.030. In the y direction twodominant vibration modes were included. The parameters used were = 1.02 kN/mm,= 5831 radians/s (928 Hz), j = 0.015 and 6.98 kN/mm, = 6189radians/s (985 Hz), y2 = 0.022. The y transfer function (and hence its real part) is thesum of the two modes. That isWn,yi Wn vi —= .2_i / 2 2’2 /i=1,2 U,yz — Wv) + t,yzWn,yiWv)The predicted chatter free axial depth of cut was then computed using the expression— cosaLim= r 1 — (6.46)2KTRIi?[GvORjminjwherelJ[Gu,OR]min = inf{j&,G,(jW) + we(—oo, +oo)}and the average number of flutes in cut is 7 = qex/qSc. The factor cosb accounts forthe 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 anapproximate chatter limit. Time domain simulations, which include additional effectssuch as process damping (due to increased flank face contact with the part) and nonlinearities (such as the cutting edge jumping out of contact with the part) are widelyregarded as being more realistic.By repeating the chatter limit predictions at finer increments, a more complete chartof radial width of cut versus permissible axial depth of cut combinations can be constructed for use in milling process simulation and cutter path trajectory planning. Theseideas are further pursued in [128], and in the article by Tsai et al [131].Chapter 6. Milling process model implementation 219EEC)C)cz-C)C)><C)1.0radial width of cutFigure 6.12: Maximum permissible axial depth of cut. The graph above shows themaximum permissible chatter free axial depth of cut predicted by the simple chattermodel (6.46) and by time domain simulation (see Tlusty, Smith and Zamudio [128}) asa 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 schedulingAfter the target feed rate has been found for all active constraints, the final target ischosen to be the miminum of all candidates. That is, if the target feed rates for individualconstraints are labelled 5t,tgfl, 5t,tgt2, . .., then the final target feed rate to be achieved bythe machine tool table drive isSt,tgt— inf{st,t9, .st,tgt2, . .. }In order to reduce the amount of data that must be permanently stored and latertransmitted to the machine tool controller, the final target feed rate sample points arethen condensed into a piecewise function comprised of linear segments. This representation is sufficient for the purpose, is easy to build within the solid modeller milling processsimulation system, and can rapidly be interpolated at the machine tool. The methodused to construct the approximating function is described below.2.50.2 0.4 0.6 0.8Chapter 6. Milling process model implementation 220First, 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 thatfor any sample abscissa Xm along the cutter path the valueSt,fir,m— St,apx(Xm)whereSt,flr,m inf{st,tgt,m_i,8t,tgt,m, st,tgt,m+i}3t,apx(m) is the approximating function value at Xm and 8t,tol > 0 is the permitted error.This criterion is intended to ensure that the feed rate returned by the approximatingfunction never exceeds the value dictated by the sample points.Next, beginning at the point (x0, st,fl,o), draw “tolerance rays” through the points(x1, st,fjr,1) and (x1, St,flr,1 — to define a tolerance region T0,1. If (x, .5t,fir,2) is insideTo, then continue by drawing rays from (x0, St,flr,O) through the points (x2, St,flr,2) and(x2,8t,ftr,2 — si) to define tolerance regions T0,2 and T0,2 = fl To,i. Now check if(x3, St,fjr,3) is inside 7,2, and so on. When a point (xi, stjii.,i) is outside of the toleranceregion Tm,ii then a vertex must be inserted to begin a new line segment in the approximating function. If (xi, St,flr,t) is below then the vertex is inserted at the point(x1, St,apx(i)), where St,apx(i) is the smallest feed rate value within Tm,11 at abscissax1. Otherwise the vertex is inserted at (xi, St,apx(i)) with Stapx(i) being the largest feedrate value within at abscissa xl. Figure 6.13 illustrates the procedure.Finally, to allow for the table servo drive dynamics, a commanded feed rate profilemust be constructed. This ensures that, along the straight line cutter path, the achievedfeed rate never exceeds the target. This requires that the feed rate s in mm/tooth beconverted to a feed rate s in mm/s. For a cutter with J evenly spaced teeth and aspindle speed of w radians per second the conversion equation isJ (teeth)—1s (mm/s) = St (mm/tooth). 27r . w (s )Chapter 6. Milling process model implementationFigure 6.13: Target feed rate approximation. The example above illustrates the targetfeed rate approximation procedure for the first three sample points. The point (x3, St,flr,3)is below the tolerance region To,2 and hence a vertex is inserted at abscissa value x2 andwith the lowest feed rate value still inside To,2. Processing then continues through theremaining sample points.221a p (x2)I.Cl)30To,1To,20xChapler 6. Milling process model implementation 222(1)xFigure 6.14: Servo dynamics compensation. The legend show the target, offset, and commanded feed rates. To avoid violating feed rate constraints during decelerating portionsof the profile, the target feed rate is offset to be commanded Sft3d mm early. Practicalexamples of this step appear in chapter 7.Typically the table servo control system is tuned so that it is critically damped. Assume that the rise time is 3d seconds. The commanded feed rate should then be sentmm before the target feed rate. Using the piecewise linear feed rate approximation, 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 practicalexamples of this procedure appear in chapter 7.Sf tsdtargetoffsetcommandChapter 6. Milling process model implementation 2236.3.2 Rapid numerical solutionDuring many pocketing and contouring operations, peripheral milling is occurring at aconstant 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 is7r). Over a segment of the cutter path çb. can be expressed as an analytic functionof the cutter centre location xc (see section 5.3.3). Hence, by further expressing as afunction of cb quantities such as the maximum resultant force Fmax(qst(xc)) and themaximum normal force Fy,marr(bst()) analytic expressions as a function of the cuttercentre location are obtained. Alternatively, the target feed rate to maintain adherenceto a constraint can be specified as a function st,tgt2(45t(xc)), etc. Substituting an immersion interval of [0, ex(X)), a similar method can be developed forup milling. Using numerical methods, these would then combined by determining whichconstraint specifies the smallest target feed rate, and the segment of the cutter path overwhich it remains smallest. In this section example force and feed rate target functionsrequired to implement this approach are presented.The examples which follow were all calculated with calibration data for an actualcutter and part material used in chapter 7. Down milling is assumed throughout, butup milling can be handled in a similar fashion. The cutter is a four flute end mill withhelix angle =30 degrees and radius rz’J2.7 mm. In the maximum surface location errortests, a measured compliance of ksje=0.1736 mm/kN at the cutter tip is used. The ACT—--0.424 2 ——0217model calibration equations are KT = 0.317h kN/mm and KR = 0.212h forthe 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 t=0087 mm/tooth, the predicted maximumresultant force Fmax(bst) is plotted in figure 6.15. With an imposed maximum resultantforce constraint of 1.2 kN the target feed rate plot, computed from (6.45) and clipped atChapter 6. Milling process model implementation 224a practical ceiling of 0.30 mm/tooth, is shown in figure 6.16. In both cases the curvescan 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 mmis shown in figure 6.18. This calculation requires some iteration since the ACT modelcalibration parameter KR, which changes with the feed rate, influences the cutter rotationangle at which the maximum normal force will occur. The relationship is well behaved inpractice however, and the target feed rate values are quickly computed by using a localzero finder (such as zero [10, chapter 4]) with (6.31).When the axial depth of cut is constant, using precomputed graphs such as thoseshown in figures 6.15 through 6.18 avoids the need to repeatedly carry out the calculations described in section 6.2. Instead, if peripheral milling is occurring, the predictedmaximum resultant force or surface location error, or required target feed rates, can beretrieved as soon at the single entry q53t 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 feedrate scheduling. First, for each active constraint the associated target feed rate functionsst,tgti(qst), st,t9t2(t), etc. are approximated using the method described in section 6.3.1with cb3t as the abscissa. Assume that the piecewise linear approximating functions,labelled st,tgti,p(qst), St,tgt2,p(4)st), etc., introduce a maximum error St,tolk. That isst,tgti(4’st)—3t,tgtlp(43t) St,tolçl,St,tgt2(/5st)—8t,tgt2p(’st) 8t,tolcbetc. These functions are then combined to yield the final feed rate target approximationst,tgtp(cbst) which satisfiesst,tgtp(bst) = inf{st,t9ti(q’5),st,tgt2p( cbt), ..L)Z3Cl)U)EEECCEU)CU)U)C0 Tt/4 31/2 3n/4Chapter 6. Milling process model implementation 225_2.001.501.000.500.00entry angle (radians)Figure 6.15: Predicted maximum resultant force. The graph above shows the maximumresultant force predicted by the ACT model as a function of the entry angle q. Cuttingconditions are down milling with immersion interval [1 ir), axial depth of cut a=19.05mm and feed rate t=O.O87 mm/tooth. Remaining conditions are stated in the text.0.300.250.200.150.100.050.00entry angle (radians)Figure 6.16: Target feed rate—Fmax=1.2 kN. The graph above shows the target feed rateto maintain a maximum resultant force Fmax of 1.2 kN computed from (6.45) and clippedto a practical ceiling of 0.30 mm/tooth. Cutting conditions are stated in the text. Thecurve can easily be approximated by straight line segments to allow rapid interpolationfor feed rate scheduling.0 31/4 331/4Chapter 6. Milling process model implementationEci)C)z3(I)>cE0 31/2 331142260.40.30.20.10.0entry angle (radians)Figure 6.17: Predicted maximum surface location error. The graph above shows themaximum 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 cuta=19.05 mm and feed rate .st=O.O87 mm/tooth. Remaining conditions are stated in thetext.0.300.15- 0.100.052 0.00Figure 6.18: Target feed rate—Sy,ma’O.lOO mm. The graph above shows the target feedrate to maintain a maximum surface location error 8y,max of 0.100 mm. The feed ratevalues 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 inthe text. The curve can easily be approximated by straight line segments to allow rapidinterpolation for feed rate scheduling.0 331/4entry angle (radians)31Chapter 6. Milling process model implementation 227It too is piecewise linear and therefore has a constant first derivative over anyparticular 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 intervalXCb)cbst(c) — qstp(xc) st,toi (6.47)where qstp(xc) is the approximating function. Under these assumptions a piecewise linearapproximation of st,tgt(q5t(xc)) is obtained satisfyingst,tgtp(4p(rc)) + St,to1c + .st,gt(cbst(xc)) (6.48)To allow for the table servo drive dynamics, this profile is then offset by the methodillustrated in figure 6.14 to create the final commanded feed rate.The variable cutter path sampling procedure described above, although involvingmore analysis, is time saving when large values are acceptable for the tolerances 3t,to1çfand and the derivative is relatively small in absolute magnitude. Often inpocketing 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 andparts on which the approach has been used are presented in chapter 7. The outline of amethod to construct the piecewise linear approximation5(x) is given in section C.5.6.4 SummaryIn this chapter the geometric information obtained from the solid modeller (chapters 4and 5) is used to implement milling process calculations required for monitoring andplanning purposes. For the 2 1/2 D parts considered, several methods to avoid timeconsuming incremental sampling are developed.Chapter 6. Milling process model implementation 228First, analytic expressions are used to replace sampling along the cutter z axis for bothface milling cutters and helical end mills. These analytic expressions then permit calculusand numerical methods to be used to rapidly predict maximum resultant forces andsurface location errors without sampling at small rotational increments. Finally, duringperipheral milling it is shown that piecewise linear functions can be used to approximateprocess values to a specified tolerance. This method ensures that rapid changes arenot 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 exploredfor average torque and feed rate constraints in face milling using both the ACT and LEFmodels. In end milling, additional constraints on the maximum resultant force (to avoidshank breakage) and maximum normal force (to avoid excessive surface location error)are considered. The target feed rates for each active constraint are then combined toyield an overall target feed rate schedule which can be commanded to the machine toolservo drives.Applications of the solid modeller milling process simulation system, including a number of examples to demonstrate the procedures, are presented in chapter 7.Chapter 7Simulations and experiments7.1 IntroductionThis chapter presents the simulations and experiments that were conducted to demonstrate and verify the solid modeller based milling process simulation system developedearlier in the thesis. It is divided into sections as outlined below.In section 7.2 the equipment used to conduct the experiments is described. Thisincludes the machine tool, data acquisition hardware, supervisory microcomputer andthe table servo drive motion controller.Section 7.3 presents the face milling simulations and experiments. This includesaverage force and torque verification experiments for example parts, feed rate schedulingto adhere to average torque and feed rate constraints, and an example of recursive millingprocess model parameter identification.In section 7.4 the end milling simulations and experiments are presented. Included areverification of the analytic helical cutter expressions (6.29), and maximum resultant forceand surface location error prediction examples. Using the rapid simulation method described in section 6.3.2, the feed rate is automatically scheduled to adhere to a maximumresultant force constraint. An example of feed rate scheduling to adhere to a maximumsurface location error constraint is also included.Section 7.5 proposes use of solid modeller data to assist in adaptive control of maximum resultant cutting forces. After outlining the intended application of the proposal, a229Chapter 7. Simulations and experiments 230subsection is devoted to describing the process model and controller design. Experimentswith parts exhibiting a step change in axial depth of cut and a rapid change in radialwidth of cut are used to demonstrate the approach.7.2 Experimental equipmentThe main components of the experiment setup are illustrated in figure 7.1. A verticalmilling machine equipped with a 5 kW AC motor connected to the spindle drive gearreduction was used. The two linear machine tool table axes were driven by 15 A permanent magnet DC servomotors connected directly to the lead screw shafts. A MotorolaMC68008 based motion controller was used to coordinate the table axes. The externalsupervisory 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. Thedynamometer was secured to the machine tool table and the part mounted on the dynamometer table. Hence the cutting forces on the part were actually measured. Thecharge amplifier signals were then processed by an analog peak detector and signal averager circuit. This permitted maximum and average forces to be directly measured. Aspindle mounted shaft encoder was used to provide synchronization. Analog to digitalconversion was accomplished by a data acquisition card installed in the supervisory computer. Again the spindle shaft encoder was used to synchronize storage of the sampledata points.For feedback control purposes the table axes positions were obtained by queryingthe motion controller. Along the x axis of the plotted graphs, however, the positionwas measured in synchronization with the cutting force measurements by sampling aramp waveform voltage with a period of 0.325 mm. Ensuring that the absolute tableChapter 7. Simulations and experiments 231position remained unambigous required that the maximum feed rate be limited duringexperiments. The supervisory microcomputer was an Intel 12 MHz 80286/80287 basedsystem. As stated above, the computer bus was connected to the machine tool tablemotion controller and a data acquisition card.The National Research Council of Canada Institute for Mechanical Engineering (Vancouver, BC) provided the surface measurement data for figures 7.31 and 7.32.7.3 Face milling examples7.3.1 IntroductionThe cutter body used for the face milling experiments had an effective radius r,, of 50.8mm and an inclination (equivalent to helix) angle of seven degrees. The eight evenlyspaced cutting inserts had a nose radius of 1.20 mm. Special care was taken to minimizeradial runout. The part material was 7075-T6 aluminum and was cut dry at a spindlespeed 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 conductedover feed rates ranging from 0.075 mm/tooth to 0.168 mm/tooth and with immersionintervals of [0.597, 2.544) radians and [1.571, 2.544) radians. The calibrations values foundfor the ACT model werel.553h°1 1 kN/mm2; KR = 0.274h°383For the LEF model the values found wereK = 1.905 kN/mm2; = 0.0172 mmc1 = 0.364 c2 = 2.519The 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 referredChapter 7. Simulations and experiments 232Figure 7.1: Experimental setup. The illustration above shows the main components usedin the milling experiments. Legend: A—charge amplifier; C—supervisory computer anddata acquisition card; D—force dynamometer; E—spindle shaft encoder;• M—DC servomotor; 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 233to as the three feature part. The parts in figures 7.2(b) and 7.2(c) have identical dimensions except for the missing features. These will respectively be referred to as thetwo feature and one feature parts. This shape was chosen to demonstrate the cutterimmersion interval calculation procedures from chapter 4. Refer back to figure 4.17 fora diagram of the CSG data structure for the three feature part. The cutter path used isshown in figure 7.3 together with the cutter immersion arcs for the three feature part atselected reference positions.7.3.2 Model verification and monitoring applicationsAverage x and y forces measured per tooth period are shown in figure 7.4 for the threefeature part cut at a feed rate of 0.151 mm/tooth. Note that the negative of the averagex force is plotted to reduce the graph range. The signal coarseness is due to the remaining runout between the eight cutting inserts. By referring to figure 7.3 the dominantpoints on the graph can be explained. On initial contact of the cutter with the partthe 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 encountered, and the average forces increase to their highest level. A reduction in averageforce 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 thestart of the 25.4 mm wide L-shaped feature then causes a sharp reduction in both thex and y average forces. The y force then increases until the portion of the third featureperpendicular to the cutter path is encountered near position 110 mm. This is caused bythe increasing radial force contribution near the extreme right edge of the cutter immersion arc. Beyond the third feature the average forces increase briefly before the secondpair of 16.0 mm diameter holes are reached near position 135 mm. The average forcesChapter 7. Simulations and experiments 234157.0Figure 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) andhence dimensions are shown only for the three feature part.15.0 — 127.08.092.0ciii dimensionsin millimetres30.0+25.435.597.5(0)(b) (c)Chapter 7. Simulations and experiments 235oH dimensions in millimetresFigure 7.3: Face milling cutter path. The path of the 50.8 mm radius cutter over thethree feature part is shown by the centre line. The same path was used for the two andone feature parts. Cutter immersion arcs are drawn at 10 mm increments and labelledat the 10 mm, 40 mm, 80 mm, 120 mm and 160 mm positions.Chapter 7. Simulations and experiments 2362.52.01.52 1.0c 0.5‘ 0.0-0.5200position (mm)Figure 7.4: Experimental average forces—three features, feed rate 0.151 mm/tooth. Theposition along the x axis corresponds to the labels shown in figure 7.3. The negative ofthe average x force has been plotted to reduce the graph range. Signal coarseness is dueto 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 partsat feed rates of 0.151 mm/tooth and 0.100 mm/tooth. Graphs were then prepared toallow comparison of the ACT and LEF model predictions to the experimental measurements (figures 7.5 through 7.10). For clarity the runout component of the average forceexperimental 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 isgood agreement between simulation and experiment. These examples demonstrate thecorrectness of the cutter immersion calculation procedures developed in chapter 4 as wellas the suitability of the ACT and LEF milling process models.The cutter immersion intervals were computed from the part CSG model using amicrocomputer and the cutmod program. As stated in chapter 4, approximately 20seconds were required to calculate the immersion intervals at 2 mm increments. The ACT0 40 80 120 160Chapter 7. Simulations and experiments 237model process simulation was computed using program helix, and the LEF model processsimulation was computed using program face. Both programs had an execution time ofapproximating 45 seconds and hence the total CSG model to average force predictionprocedure was completed one minute and five seconds. Details on the microcomputerused 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 between the milling process model predictions and the observed average cutting forces. Themachine tool should therefore monitor these signals to confirm that cutting is proceedingnormally. If a significant deviation is observed then cutting should be stopped immediately and the cause diagnosed. An abrupt change in average forces between successivetooth periods may indicate tooth breakage (see Altintas [3]). The other possibility isa sudden change in part geometry. If the solid modeller simulation predicts no suddenchange in average forces, then a tooth breakage may be concluded. Otherwise cuttingshould continue at a cautious feed rate. If the measured average forces greatly exceed thesolid modeller predictions or abrupt changes occur once per rotation then again damageto the cutter teeth may be concluded. Final conclusive evidence of tooth breakage canbe obtained by calculating the predicted instantaneous x and y forces for the next fewtooth periods and comparing these to the measured signals. If indeed a tooth has beendamaged these values will greatly disagree. Should this not be observed then cutting maysafely resume at the scheduled feed rate. Normally all of the simulation data for thispurpose would not be calculated in advance, but would be required on demand should apotential tooth breakage be detected. To implement this scheme there must be a communications 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 computethe required information very quickly to avoid long idle times on the factory floor.Prolonged deviation of the measured average forces from the solid modeller predictionChapter 7. Simulations and experiments 2381)ci)c3ci)L)Cci)ci)>position (mm)40 80 120 1602.52.01.51.00.50.0-0.50 200position (mm)Figure 7.5: Average forces—one feature, feed rate 0.100 mm/tooth. The legend shows theline types plotted to represent the ACT and LEF model predictions, and the experimentalmeasurements.2.52.01.51.00.50.0-0.50 200Figure 7.6: Average forces—one feature, feed rate 0.151 mm/tooth. The legend shows theline types plotted to represent the ACT and LEF model predictions, and the experimentalmeasurements.40 80 120 160Chapter 7. Simulations and experiments 239U)C)C0U)U)U)C)0U)0CU)040 80 120 160posftion (mm)2.52.01.51.00.50.0-0.50 200Figure 7.7: Average forces—two features, feed rate 0.100 mm/tooth. The legend shows theline types plotted to represent the ACT and LEF model predictions, and the experimentalmeasurements.2.52.01.51.00.50.0-0.5200Figure 7.8: Average forces—two features, feed rate 0.151 mm/tooth. The legend shows theline types plotted to represent the ACT and LEF model predictions, and the experimentalmeasurements.0 40 80 120 160position (mm)Chapter 7. Simulations and experiments 240C)0c)ci,>C)ciC)0ci)C)ci>C)0 40 80 120 160position (mm)2.52.01.51.00.50.0-0.5200Figure 7.9: Average forces—three features, feed rate 0.100 mm/tooth. The legend showsthe line types plotted to represent the ACT and LEF model predictions, and the experimental measurements.2.52.01.51.00.50.0-0.5 0 200position (mm)Figure 7.10: Average forces—three features, feed rate 0.151 mm/tooth. The legend showsthe line types plotted to represent the ACT and LEF model predictions, and the experimental measurements.40 80 120 160Chapter 7. Simulations and experiments 241may indicate an unexpected actual part shape. Observe in figures 7.5 through 7.10 thesignificant difference in the average force “signatures” of the three different but similarpart 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 averageforces (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 intervalA [4st,A, Ekex,A) is disjoint from interval B [qS8t,B,q5ex,B) and the corresponding averageforces are F,A, F,A, F,B and F,B, then the Boolean union A U B has average forcesFX,AUB = F,A + F,B and F,AUB = F,A + F,B. Similarly if B C A then the Booleandifference A — B has average forces FX,A_B F,A — F,B and FY,A_B = F,A — FB.For example, if the average forces for the set complement of the third part feature aresubtracted from the average forces for the two feature part, then the average forces forthe three feature part will be obtained (figure 7.11). This property can be used to assistin identifying a single missing part feature. If the average uncut chip thickness (andhence KT and KR) change little then this technique can also be applied using the ACTmodel.7.3.3 Feed rate schedulingTo illustrate the incremental feed rate scheduling procedure (section 6.3) the three featurepart was used. At a constant feed rate of 0.151 mm/tooth the predicted average torqueis shown in figure 7.12. Now suppose that a average torque T9 of 60 N-m is to bemaintained. Such a constraint would in practice be due to a limitation of the spindledrive motor. By solving (6.42) and (6.43) incrementally along the cutter path the targetfeed rate shown in figure 7.13 is obtained. The second criteria imposed is a maximumfeed rate of 0.175 mm/tooth. This constraint was added to avoid difficulties in trackingthe machine tool table position with the experimental equipment available. In industryChapter 7. Simulations and experiments 2421.5.2 1.00 200position (mm)Figure 7.11: Average force Boolean combination. For the LEF model, the average forcesof 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 forthe two feature part P2 less the average forces for the third part feature F3.P3 P240 80 120 160Chapter 7. Simulations and experiments 24315012090Figure 7.12: Predicted average torque—three feature part. Using a constant feed rate of0.151 mm/tooth the average torque predicted by the ACT and LEF process models forthe 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 ratewas approximated using straight line segments. The approximation was then combinedwith 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. Witheight teeth and a spindle speed of 775 rpm the conversion expression is8 teeth 775 rev. mm.s (mm/s) = .st (mm/tooth) ._______. .rev. mm. 60 sTo allow for a table servo drive rise time of 80 ms (see section 7.5) plus 20 ms to communicate a new velocity to the motion controller an offset oft3d=100 ms was used tocompensate for the servo dynamics (refer back to figure 6.14).Expressed again in mm/tooth, the target and experimentally achieved feed rates forthe scheduling test are shown in figure 7.15. Observe that the achieved feed rate is slightlysmaller than the target feed rate—as planned. Although the average torque could not bedirectly measured with the available equipment, the part geometry is accurately known120position (mm)Chapter 7. Simulations and experiments 24400EE00ci)ci-)0 40 80 120 1600.3o0. 0.2EEci)00ci)c1)0.0200position (mm)Figure 7.13: Target feed rate—average torque constraint. The graph above show thetarget feed rate to achieve an average torque of 60 N-rn when cutting the three featurepart. Predictions for both the ACT and LEF models are provided.0.30.20.10.0200position (mm)Figure 7.14: Merged target feed rate—average torque constraint. To satisfy both constraints the lower of the two target feed rates is retained at each point along the cutterpath. Legend: st,tgti—average torque constraint; st,tgt2—maximum feed rate constraint;st,tgt—merged feed rate.0 40 80 120 160Chapter 7. Simulations and experiments 2450.3002E1J 0.10Q)V0.00 200Figure 7.15: Scheduled feed rate—average torque constraint. The graph above shows thetarget and the experimentally achieved feed rates. As planned, the achieved feed rate isslightly smaller than the target feed rate.and hence the average torque can be estimated using measurements of the average a andy forces from the dynamometer (figure 7.16), solving for the ACT model parameters KTand KR (see (6.9)) and the torque estimate obtained using (6.40). A graph showing thisexperimental estimate and the predicted average torque for the ACT model is shownin figure 7.17. Other than the expected deviation due to the difference between thetarget and achieved feed rates, a good agreement between experiment and prediction wasobtained. These results demonstrate the usefulness of the solid modeller based millingprocess simulation system for planning purposes.7.3.4 Recursive parameter identificationThis section demonstrates recursive identification of the ACT model parameters as outlined in section 6.1.1. A similar approach would be used for the LEF model—mathematicaldetails appear in section C.1.Data from the three feature part and feed rate scheduling experiment conducted in40 80 120 160position (mm)Chapter 7. Simulations and experimentsL)Qq)c)>.EL.0q)0a)>00 40 80 120 1602462.52.01.51.00.50.0-0.5200position (mm)Figure 7.16: Average forces—scheduled feed rate. Shown above are the average x and yforces obtained while cutting with the feed rate schedule of figure 7.15.603000 200position (mm)Figure 7.17: Average torque—scheduled feed rate. The graph above shows the experimental average torque estimate and the ACT model prediction for the feed rate schedule offigure 7.15.40 80 120 160Chapter 7. Simulations and experiments 247section 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 infigure 7.16. Samples were recorded at 2 mm position increments to avoid repeated identification with unchanging part geometry and h values. Because the in cut immersionintervals 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 quantityof samples the remaining data was duplicated four times. This simulates cutting fouridentical parts. Offline identification of the ACT model parameters was then performedusing the recursive least squares method. Initial values were:10000 0P0 = (covariance matrix)0 10000K0 [1 1 1T (weighting factors)0.1 0.1 IT (parameter estimates)= 0.99 (forgetting factor)The parameter estimates over the four part cycles are plotted in figure 7.18. Theestimates converge to the values log MT = 0.270 (or MT = 1.310 kN/mm2), PT = 0.222,log MR —1.322 (or MR = 0.266) and PR 0.372 obtained using ordinary linearregression (non-recursive least squares). Recalling the form (3.4)KT = MTh_l’T = 1.310h°222 kN/mm2; KR = MRh,_PR = 0.266h°372These estimates are approximately the values previously obtained during the calibrationtests (page 231). A more rapidly converging and improved estimate could be obtainedby frequently and randomly changing feed rates (within allowable constraints) so thatsampling occurs over broader domain of average uncut chip thickness.The principal advantage of the recursive parameter identification approach is thatthe data is obtained during productive cutting rather than during separate calibrationChapter 7. Simulations and experiments 2481.00.510.0- -05ci-)Es— 1cL-1.50cyc’eFigure 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 practiceconservative estimates for the cutting forces will be available and hence a cautious MRRcan initially be used until improved online estimates become available. Thereafter cuttingat a more productive MRR can safely proceed. Detection of a sudden change in parameterestimates indicates either a substantial deviation from the nominal part shape or cutterbreakage. 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 theprocess model variables. Secondly, a feed rate schedule using the new parameter estimatesmust immediately be provided. This requires a communications link to the machine toolexecutive (figure 1.1) and demands an efficient implementation of the milling processcalculations within the solid modeller.1 2 3 4Chapter 7. Simulations and experiments 2497.3.5 SummaryThe face milling examples have verified the implementation of both the ACT and LEFprocess models within the solid modeller. The good agreement obtained between simulation and experiment implies that online monitoring applications can rely on the simulations 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. Thisconcept was successfully implemented using imposed average torque and maximum feedrate constraints. Finally, an example of recursive process model parameter identificationwas presented.To be of practical use the solid modeller calculations must be carried out efficientlyand 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 examples7.4.1 IntroductionThe end milling experiments were conducted using a four flute USS cutter with a radiusr. of 12.7 mm. The helix angle was &“3O degrees. The part material was 7075-T6aluminum, cut dry at a spindle speed of 473 rpm. A constant axial depth a=19.05 mmwas maintained.The ACT model was calibrated by sampling the average forces with an immersioninterval of [7r/2, ir) degrees (half immersion, down milling) and feed rates ranging from0.018 to 0.087 mm/tooth. The following process model equations were obtained:KT = 0.317h°424 kN/mm2; KR = 0.212h°2 7Chapter 7. Simulations and experiments 250test [q5st, q5ex) i (mm) KT (kN/mm2) KR0 [0,2r/3) 0.062 1.018 0.3881 [0,ir/2) 0.055 1.069 0.3982 [0,7r/3) 0.041 1.207 0.4243 [ir/3,r) 0.062 1.018 0.3884 [r/2,ir) 0.055 1.069 0.3985 [2r/3,ir) 0.041 1.207 0.424Table 7.1: Helical cutter instantaneous force tests. The axial depth of cut a is 19.05 mmfor all tests. Teeth are in cut during only the interval {q,7.4.2 Model verificationA first set of trials were conducted to verify the helical cutter expressions (6.29). For thisexperiment the charge amplifier signals were connected directly to the data acquisitioncard (see figure 7.1) and recorded at a rate of 720 samples per revolution. Averages forten 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 showing the simulation predictions and experimental measurements are labelled figure 7.19through 7.24. Some deviation in the experimental measurements is observed. This isattributed to radial runout (measured to be approximately 30 gm), which could not befurther reduced using the available equipment. There is, however, good agreement between 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 predictions were obtained using programs cutmod and helix (see [110, appendix D]). Eachcomplete simulation along the cutter path at 1 mm increments required approximatelyone minute of execution time. Unless otherwise noted, the radial runout component inc:I)C-)0rotation angleFigure 7.19: Helical cutter instantaneous force test 0. Values are plotted over one revolution of the four flute cutter. Simulations using the ACT model are shown with thickerlines and experimental measurements are shown with thinner lines.rotation angleFigure 7.20: Helical cutter instantaneous force test 1. Values are plotted over one revolution of the four flute cutter. Simulations using the ACT model are shown with thickerlines and experimental measurements are shown with thinner lines.Chapter 7. Simulations and experiments 251210—1-20 rt /2 3n/2 23tq)C)0210—1-20 ru/2 33t/2 2rtChapter 7. Simulations and experimentsC)I—C)rotation angleFigure 7.21: Helical cutter instantaneous force test 2. Values are plotted over one revolution of the four flute cutter. Simulations using the ACT model are shown with thickerlines and experimental measurements are shown with thinner lines.ci)C)252210—1-20 t/2 3n/2 2it0210—1-22mFigure 7.22: Helical cutter instantaneous force test 3. Values are plotted over one revolution of the four flute cutter. Simulations using the ACT model are shown with thickerlines and experimental measurements are shown with thinner lines.rt /2 3t/2rotation angieca)L)C0rotation angleFigure 7.23: Helical cutter instantaneous force test 4. Values are plotted over one revolution of the four flute cutter. Simulations using the ACT model are shown with thickerlines and experimental measurements are shown with thinner lines.Figure 7.24: Helical cutter instantaneous force test 5. Values are plotted over one revolution of the four flute cutter. Simulations using the ACT model are shown with thickerlines and experimental measurements are shown with thinner lines.Chapter 7. Simulations and experiments 253210—1-20 31/2 3n/2 2nci)C)0210—1-20 3n/2rotation angle2mChapter 7. Simulations and experiments 254Figure 7.25: End milling example partthe 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 shownin figure 7.27. The negative of the average x force is plotted. The significant features inthe test part shape are readily recognized in the force signals. Near the 15 mm a slightdecrease in the y average force is observed as the cutter encounters the 16.0 mm diameterhole. The average forces then increase up to the maximum immersion near the 25 mmposition. Beyond the 50 mm position the forces decrease as the cutter enters the largevoid. Near the 80 mm position the forces are smallest, and then slowly increase as theGil dimensions in millimetresChapter 7. Simulations and experimentsyxall dimensions in millimetres18,5255Figure 7.26: End milling cutter paths. The two paths labelled A and B were used in theend milling examples. The cutter was a 12.7 mm radius HSS helical end mill and theaxial depth of cut was 19.05 mm. Cutter immersion arcs for the two paths are shown at10 mm increments and labelled at the 40 mm, 80 mm and 120 mm locations.Chapter 7. Simulations and experiments 256Figure 7.27: Average forces—end path A. For cutting along end path A the average forcesobtained experimentally and by simulation with the ACT model are shown above. Thefeed rate is a constant 0.087 mm/tooth and the axial depth of cut 19.05 mm. The x forcehas been negated.L)C-)0002.01.51.00.50.0-0.50 40 80 120position (mm)160immersion widens. The overall agreement between the simulation predictions and theexperimental measurements is very good.Figure 7.28 show the maximum resultant force values. The simulation predictionswere computed rapidly using the numerical methods described in section 6.2.2 with atolerance Ff01 = 0.050 kN. Good agreement between simulation and experiment is observed, 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.3the maximum resultant force is imposed as a constraint to demonstrate use of the rapidfeed rate scheduling technique developed in section 6.3.2.End milling path B was used to examine the surface location error prediction capability. 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 theexperimental measurements (figure 7.29). As expected, good agreement was obtained.Chapter 7. Simulations and experiments 2572.01.50U)j 0.50.0 160Figure 7.28: Maximum resultant force—end path A. For cutting along end path A themaximum resultant force obtained experimentally and by simulation with the ACT modelare shown above. The feed rate is a constant 0.087 mm/tooth and the axial depth ofcut 19.05 mm. In section 7.4.3 the feed rate is automatically scheduled to maintain aconstant maximum resultant force.The simulation and experimental results for the maximum normal force are shownin figure 7.30. For this graph the four tooth moving average was not used, and hencethe unsteady component due to runout remains. Measured at 3 mm axial depth of cutspacings, the surface profile after milling is shown in figure 7.31. Using a measuredcutter compliance of ksie=O.l736 mm/kN, the simulated maximum surface location errorprediction is compared to the experimental measurement in figure 7.32.The observed maximum normal force is consistently somewhat less than the prediction. This occurs because the cutter is bending enough to measureably alter the uncutchip thickness. Based on the maximum normal force graph an overestimate of the maximum surface location error would be expected. Nominally this would occur, but forthe case under study this is nullified by the large radial runout. Even though the forceis lower, the larger radius teeth generate the final surface with a larger surface locationerror. These observations are consistent with those previously reported by Kline [56,position (mm)Chapter 7. Simulations and experiments 258Q-)C-)S.0cJC)VC)VC-)S.0ES.0C)Eposition (mm)0 40 80 120 1602.0ACT exptFigure 7.29: Average forces—end path B. For cutting along end path B the average forcesobtained experimentally and by simulation with the ACT model are shown above. Theaxial depth of cut was 19.05 mm and the feed rate 0.087 mm/tooth.2.01.51.00.50.00 160position (mm)Figure 7.30: Maximum normal force—end path B. Experimental and simulation (ACTmodel) maximum normal force results for cutting along end path B are shown above.The unsteady component in the experimental measurement is due to runout.40 80 120o‘—.OqoC)OCDoCD00CDCDCDCl)U) CDCDH-i-0CDCDCDO—CDco-)CDoCDCDCDC)oç,-—•0ECU)l•4CD°CD,‘-4,U)Cl)CD±CD-t•-0±CDCl)CD0 r) 00 0surf.icc.error(mm)0200--I CD U)0‘‘Cl)0_0 D 3c,zz(mm)ccChapter 7. Simulations and experiments 2600.450.30.20.1><0.00 160position (mm)Figure 7.32: Maximum surface location error—end path B. The experimental measurement was found by taking the maximum of the five profiles shown in figure 7.31. TheACT model prediction was obtained using the relationship Sy,max = ksteFy,max whereksteO.1736 mm/kN and Fy,max is the simulated maximum normal force from figure 7.30.chapter 7].Despite the measureable bending of the cutter in this experiment, the simulationand experimental results are in adequate agreement for use during the bulk materialremoval stage of pocketing operations. During the finishing pass, when surface locationis the primary concern, an improved simulation can be obtained by balancing the cutterdeflection with the cutting forces (see Kline [56]). In this situation peripheral milling islikely to be occurring, and hence geometrical simulation of the cutter deflection can beobtained by translating the part boundary relative to the cutter path centreline. Thiswould be repeated until a force balance is attained. The improved predictions can alsobe presented as graphs such as those shown in figures 6.17 and 6.18, and hence the rapidsolution technique outlined in section 6.3.2 is still applicable. The solution for the runoutproblem is not to include it in the process model, but rather to reduce it using improvedequipment.40 80 120Chapter 7. Simulations and experiments 2617.4.3 Feed rate schedulingIn this section examples of the use of feed rate scheduling to maintain adherence tomaximum resultant force and maximum surface location error constraints are presented.For the maximum resultant force example the rapid numerical solution method outlinedin section 6.3.2 is applied to demonstrate this technique in practical use. The maximumsurface location error example feed rate is scheduled using the incremental samplingapproach described in section 6.3.Maximum resultant forceConsider end milling cutter path A (figure 7.26). The goal is to maintain the maximumresultant force at 1.2 kN by scheduling a varying feed rate along the cutter path. Thesecond constraint s < 0.175 mm/tooth is imposed to avoid difficulties in tracking themachine tool table position with the experimental equipment available. On the factoryfloor other criteria would include maximum uncut chip thickness and surface locationerror constraints.The rapid numerical solution method begins by computing the inverse (6.45) to obtain the target feed rate (as a function of the entry angle ) required to maintain themaximum resultant force at 1.2 kN. A piecewise linear approximation st,tgtip(cbst) withtolerance 3t,to1 is then constructed (figure 7.33). For this example the valuemm/tooth is chosen. The approximation is then merged with the second constraintst,t9t2(qfSt)=O.17Smm/tooth to yield the piecewise linear final feed rate targetst,tgtp(q3t) = inf{st,tgtip( .stt9t2(qst ) }as shown in figure 7.34.Next, the portions of the cutter path during which down milling is occurring over asingle immersion interval [q, 7r) are determined. These are shown in figure 7.35. ObserveChapter 7. Simulations and experiments 26200EEq)cz,ci)0.300.250.200.150.100.050 31/4 31/2 331/400E5ci)ci)ci)ci)0.00entry angle (radians)Figure 7.33: Piecewise linear feed rate—maximum resultant force constraint. The thinnerline and LI symbols in the graph above indicate the piecewise linear approximation usedfor the maximum resultant force constraint target feed rate (shown with the thickercurve).0.30D St,tgtpSt,tgtj pSt,lg2p0.250.200.150.100.050.000 31/4 31/2 3n/4 31entry angle (radians)Figure 7.34: Merged target feed rate—maximum resultant force constraint. To satify bothconstraints the lower of the two target feed rates is retained. Legend:.st,tgtlp—maximumresultant force constraint; st,tgt2p—maximum feed rate constraint;s,9—merged feed rate.Chapter 7. Simulations and experiments 263i_ irt/2160position (mm)Figure 7.35: Entry angle evaluation points—maximum resultant force constraint. Thecurve above shows the portion of end milling cutter path A during which down millingis occurring over a single immersion interval 7r). The symbol indicates the fewpositions where the entry angle 4 must explicitly be evaluated to construct the piecewiselinear target feed rate schedule within the specified tolerances.that during initial entry, and when the cutter exits into one of the 16.0 mm diameterholes, down milling is not occurring. During these portions of the cutter path incrementalsampling is used.Suppose for this example that the piecewise linear approximation for the feed rate isto always be within 0.01 mm/tooth of the exact value. Since St,tolej, = 0.005 mm/toothhas already been chosen, satisfying (6.48) requiresc6st,to1tgtp 0.005 mm/tooth. Thisdictates the value that 6st,to1 must assume. For the example table 7.2 lists the piecewiseintervals [qS8tA, cbtB) (from figure 7.34), the first derivatives and the associatedc68t,t01 values required.Along the cutter path the entry angle q5 is first evaluated at the endpoints of eachboundary segment. The positions at which enters a new piecewise linear interval[q8tA, cb5tB) are then located by solving the appropriate analytic endpoint expression (oneof (5.1), (5.2), (5.3) or (5.6)). In betweeen these positions çb is evaluated at additional140 80 120Chapter 7. Simulations and experiments 264[ ‘1stA, ‘bstB) st,tgtp( cl)stA) Stgtp bst,toiradians mm/tooth (mm/tooth) /radian radians[0, 1.623) 0.0317 0.0086 0.5817[1.623, 1.990) 0.0457 0.0630 0.0794[1.990,2.199) 0.0688 0.1764 0.0284[2.199, 2.304) 0.1057 0.3636 0.0138[2.304,2.356) 0.1438 0.5960 0.0084[2.356,7r) 0.1750 0.0000 00Table 7.2: Determination of cb5t,t01. In the example, to satisfy (6.48) requires thatnot exceed 0.005 mm/tooth. The table above lists the piecewise linear intervals [stA, stB) from figure 7.34, the first derivatives 1st,tgtp and the associated 95st,tolvalues required. The interval starting endpoint value St,tgtp(hstA) is also shown for reference.points as dictated by the 4sttol value. In figure 7.35 the few locations at which explicitevaluation of çi is required are indicated by a L symbol. In the portions of the cutterpath 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 thecommand offset procedure explained in section 6.3.1. Figure 7.36 shows the final targetand the experimentally achieved feed rates. The maximum resultant force is shown infigure 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 scheduling the target feed rate typically requires far fewer mathematical operations than incremental sampling along the cutter path. Furthermore, it provides a continuous schedulewhich adheres to specified tolerances. There is no possibility of an undetected transientoccurring because the incremental sample points are too widely spaced.Chapter 7. Simulations and experiments 265—Q)000C!)CI.)EE><C)5position (mm)Figure 7.37: Maximum resultant force—scheduled feed rate. The graph above shows themaximum resultant force measured with the target feed rate schedule of figure 7.37. Theunsteady component of the force signal is due to cutter runout.40 80 1200.300E5ci)C)-C)CI)0.00 160position (mm)Figure 7.36: Scheduled feed rate—maximum resultant force constraint. The graph aboveshows the final target and experimentally achieved feed rates for the maximum resultantforce example.2.01.51.00.50.00 40 80 120 160Chapter 7. Simulations and experiments 266Maximum surface location errorEnd milling cutter path B (figure 7.26) is used for the maximum surface location errorexample. 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 difficulties this experiment was conducted later with a sharp cutter and a new holder in thespindle. The measured cutter compliance was = 0.1665 mm/kN and the ACT modelcalibration parameters wereKT = 0.455h°306 kN/mm2; KR = 0.336h°197At 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 imposedconstraints are shown in figure 7.38. The measured maximum normal force per toothperiod 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 maximum surface location error constraint. There is a brief overshoot to approximately 0.7kN between positions 30 mm and 50 mm. During this period the feed rate is rapidlyaccelerating, and the static ACT milling process model predictions decrease in accuracy.Without significantly reducing the MRR, this problem can be overcome by limiting thefeed 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 showsthe 3 D profile, and figure 7.41 compares the measured maximum surface location error toits exact inverse feed rate predicted value. Other than the higher error between positions30 mm and 50 mm (explained above), good adherence to the 0.100 mm constraint wasobtained.Chapter 7. Simulations and experiments 267-Th0EE00ci)ci)ci)C-)00E0><0E40 80 1200.30.20.10.00 160position (mm)Figure 7.38: Scheduled feed rate—maximum surface location error constraint. The graphabove shows the exact inverse and experimentally achieved feed rates for the maximumsurface location error example.2.01.51.00.50.00 160position (mm)Figure 7.39: Maximum normal force—scheduled feed rate. The graph above shows themaximum resultant force measured with the feed rate schedule of figure 7.38. The unsteady component of the force signal is due to cutter runout.40 80 120position (mm)Figure 7.40: Surface profileschedu1ed feed rate. The graph above shows the surfaceprofile 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 tipof the cutter. The remaining two axes represent the position along the cutter path andthe surface location error.Chapter 7. Simulations and experiments 26840.2 80.8 121.50.4 I I I I—. 0.3EE0.2C20.1I.Z3-cn-0.015 -593Chapter 7. Simulations and experiments 2690.4E0.3 ACT exptgO.2::_0 40 80 120 160position (mm)Figure 7.41: Maximum surface location error—scheduled feed rate. The experimentalmeasurement was found by taking the maximum of the five profiles shown in figure 7.40.The ACT model prediction was obtained using the relationship 6y,max = ksieFy,max wherelCsle = 0.1665 mm/kN and Fy,max is the simulated maximum normal force.7.4.4 SummaryThe end milling examples have verified several aspects of the milling process modelimplementation within the solid modeller. A first set of tests confirmed the correctness ofthe helical cutter expressions (6.29). This was followed by confirmation of the maximumresultant force and surface location error prediction accuracy. Two sources of discrepencybetween the solid modeller predictions and experimental measurements were observed.The first, cutter radial runout, should not be modelled but rather should be reduced byimproving 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 uncutchip thickness and hence the cutting force. An improved milling process model whichaccounts for this is recommended.An application of rapid feed rate scheduling to maintain adherence to maximum resultant force and maximum feed rate constraints was then presented. When peripheralChapter 7. Simulations and experiments 270milling is occurring along the cutter path it was shown that analysis of the cutter immersion intervals allows a satisfactory feed rate schedule to be obtained without evaluatingthe milling process model at small increments. This technique remains applicable evenif a more complex milling process, which accounts for cutter deflection, is used. A finalexample demonstrated the use of feed rate scheduling to maintain adherence to a surfacelocation 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, Haackand Tomizuka [13] for an introduction to the topic.7.5 Adaptive control7.5.1 IntroductionThe most widely studied alternative to a priori feed rate scheduling is the use of onlinefeedback control techniques. The basic principle is to specify a reference threshold fora process constraint, and then design a control system to maintain adherence to thereference. As stated in chapter 2, unaided control systems will react with a transientwhen sudden process changes occur. The result is violation of the constraint, which inmilling is unacceptable.To overcome this shortcoming the use of solid modeller data is proposed. For illustration, the problem of maintaining adherence to a reference maximum resultant forceduring end milling is examined. This constraint is frequently imposed to prevent failureof the brittle cutter shank (see section 3.3.3).Chapter 7. Simulations and experiments 271Figure 7.42: Maximum resultant force process block diagram. The controller commandvelocity 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 cuttercompliance, then produces a maximum resultant force per tooth period Fmax which issampled and returned to the controller for comparison with the reference Fmax,r.7.5.2 Process modelA block diagram of the maximum resultant force process is shown in figure 7.42. Thecontroller command velocity u is received by the table servo drive which achieves, fora 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 pertooth period Fmax which is sampled and returned to the controller for comparison withthe reference Fmax,r.The table servo drive dynamics were identified by careful measurement [2] and areassumed 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 isapproximated by the relationshipFmas() = a(Khm(i) + p) (7.1)whereK is a specific cutting pressure related constant (kN/mm2)Chapter 7. Simulations and experiments 272hm(j) is the apparent maximum chip thickness (mm) (described below)p represents the frictional edge forces per unit axial depth of cut (kN/mm)During machining of an actual part, changing immersion geometry will cause variations in the resultant cutting force. To comply, the cutter will deflect with componentS(i) opposite to the feed direction (figure 7.43). Discretizing per tooth period the apparent maximum chip thickness is therefore defined ashm(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. Thebasic form of this model was proposed by Koenigsberger and Tlusty [60] and derivedin discrete form by Tomizuka, Oh and Dornfield [129]. The relationship between themaximum resultant force and the deflection isS(i) = ksie,xFmax(i) (7.3)where k316, is the end mill compliance in the feed direction.Combining (7.1), (7.2) and (7.3) yieldsFrnax()= St(Z — 1) — ksie,xFmax(i) + ksie,xFmax( — 1) + KbAdditional rearrangement and defining t = ksje,xKab yields/1 \\ 1/ p1 —+11 Fmax() Fmax(1) 1/t J s1e,x \Introducing the backward shift operator q1 and defining the parameters— —._______— ap1 + ksie,x(1 + ii) 1 + JLprovides the model form(1 +aq)Fmax(i) = ‘q1st(i) +7 (7.4)Chapter 7. Simulations and experimentsmaxx(1)273Figure 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) toobey (7.3). This occurs for each tooth period i, resulting in a dynamic process model.o(i—1)I\F (i)St (i—i)Chapter 7. Simulations and experiments 274Substituting the feed rate s in mm/s for the feed rate s in mm/tooth, (7.4) becomes(1 + aq’)Fma(i) = q 1Sf(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 resultantforce. The parameter y characterizes the frictional edge forces in the LEF model.Open loop identification experiments were conducted to confirm the dynamic millingprocess 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, theaxial depth of cut 3.81 mm and the immersion interval a full [0, 7r) radians. To excitethe dynamics the feed drive motor was directly commanded by a pseudo-random binarysignal (PRBS) with one to ten tooth periods between transitions. Feed rate commandsoscillating between limits of 0.75 —* 1.25, 1.00 <— 2.00, 2.00 —* 4.00 and 4.00 —* 6.00mm/s were used.The identification algorithm used was the normalized least mean squares (NLMS) orprojection method (see Goodwin and Sin [39]) which estimates the parametersrU /3using the recursive equationOT(i) = eT(i -1)+ c + -1) - T(i - 1)6(i - l)j (7.6)whereke is the estimator gain (= 0.15)c is zero for this applicationChapter 7. Simulations and experiments 275and1) [ Fmax( — 1) sf(i — 1) 1 1is the regressor vector. Initially all estimates were set to zero.Figure 7.44 shows the measured feed rate and maximum resultant force during aportion of the 2.00 —* 4.00 mm/s PRBS test. The force measurements are consistentwith 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 doublesthe steady-state maximum resultant force. Measurements of the steady-state maximumresultant 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 pressurerelated constant K is 1.411 kN/mm2.Consistent values were obtained for the recursively identified process model transferfunction (7.5) (see table 7.4). The pole & near -0.24 corresponds to the observed risetime of four tooth periods, and provides an estimate for of 0.316. Using this valuewith a = 3.81 mm and p = 0.105 kN/mm yields 7 = 0.304 kN which closely agrees withthe identified value in table 7.4. The specific cutting pressure related constant K isestimated by substituting q1 = 1 in (7.5). From table 7.4 estimates for this value rangefrom 1.060 to 1.426 kN/mm2. This is consistent with the value 1.411 kN/mm2 foundusing the steady-state measurements. The directly measured cutter compliance (whenmounted in the spindle) was = 0.073 mm/kN. Using the values from table 7.4 theestimates for k3ie,x range from 0.058 to 0.065 mm/kN. The lower oriented compliancevalues reflect the fact that the maximum resultant force is larger and not aligned withits 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 isfeed rate (mm/s) 0.50 1.00 1.25 2.00 3.00 4.00 6.00maximum resultant force (kN) 0.60 0.83 0.95 1.28 1.70 2.05 2.90Table 7.3: Steady-state maximum resultant forces. The table above lists the measuredsteady-state feed rate and maximum resultant forces observed during the PRBS cuttingtests.PRBS feed rate 3 3’ &mm/s mm/tooth kN kN/mm kNmm/s0.75 *—* 1.25 0.058 —* 0.097 0.25 3.23 -0.20 0.361.00 —* 2.00 0.078 —* 0.155 0.30 3.87 -0.24 0.352.00 ÷-* 4.00 0.155 ÷-* 0.310 0.30 3.87 -0.25 0.343.00 —* 6.00 0.233 ÷-* 0.465 0.32 4.13 -0.24 0.29Table 7.4: Identified cutting model parameters. The PRBS feed rate in both mm/s andmm/tooth is shown, as are estimates for both /3 and /3’.U)EEci.,ci., feed rateChapter 7. Simulations and experiments 2766 35 maximum resultant force4 2i.E3-s=2 U)I ciI EEn 1,..., ‘JEFigure 7.44: PRBS feed rate and maximum resultant force. The measured feed rate andmaximum resultant force during a portion of the 2.00 <-* 4.00 mm/s PRBS test is shownin the graph above. The signals are consistent with a first order dynamic system with afour tooth period rise time.180 190 200 210tooth period220Chapter 7. Simulations and experiments 277justified.7.5.3 Controller designNext, the maximum resultant force controller was designed using the milling processmodel structure derived above. Because of motion controller feed rate update time restrictions, a sampling (tooth) period of 48.75 ms was used. This corresponds to a spindlespeed of 615 rpm with two equally spaced teeth.With this sampling period the zero order hold discrete transfer function of the tabledrive servo isG3(q) = Sf mm/s = K(q1 + z1q2) (7.7)umm/s i+piqwhere K = 0.978, z1 = 9.171 x 1O and p’ = —2.079 x 10—2. To identify the millingprocess model parameters, which will change with part geometry, specific cutting pressureand edge forces, the projection algorithm (7.6) was again used. The DC force componentdue to ‘‘ was eliminated by subtracting(i)Fo2) =1 + &(i)from both the reference Fmax,r(i) and the measured force Fmax() to obtain respectivelyFaxr() and F,ax(). This technique algebraically ensures proper reference force tracking.The controller chosen was an indirect pole placement design (see Aström and Wittenmark [5]) (figure 7.45). Closed loop performance was selected to correspond to a dampingratio of 0.707 and a rise time of four sampling periods. With these criteria the closedloop model transfer function isFas Bm q2(1+mi+m)Faxr — Am — 1 + m1q + m2qChapter 7. Simulations and experiments 278where m1 = —1.162 and m2 = 0.413. Combining the table drive servo transfer function(7.7) with the milling process model (7.5) yields (after eliminating the DC component)Fax kN — B — K(q +z1q2) /3q1umm/sA 1+pq 1+&qas the open ioop transfer function. Solving the closed loop equationBT BmAR+ES — Amfor the controller polynomials yields the control lawu(i) = —riu(i— 1) —r2u(i — 2) + toFaxr(j) — SoFax(Z) — SiFax( — 1)where r0 = m1— P1 — & and= z1+r0r2 = z1r03o = (m—pi&—piro—&ro)/K=t0 (1+m+m2)/KWhenever ,B is estimated to be less than or equal to zero it is reset to a small positivequantity to avoid division by zero.7.5.4 Simulations and experimentsFor comparison purposes, and to verify the adaptive controller operation, cutting testswithout the aid of solid modeller data were conducted first. The example parts andcutter paths exhibited a step increase in axial depth of cut (part A, figure 7.46), and arapid increase in radial width of cut (part B, figure 7.47). The part material again wasChapter 7. Simulations and experiments 279Figure 7.45: Adaptive controller block diagram. An indirect pole placement design wasused (see Aström and Wittenmark [5]). Milling process parameters were identified usingthe projection algorithm (7.6). The solid modeller assistance input was added at thepoint marked L\FD.A -SMDmaxFmax,r FmaxrecursiveidentificationChapter 7. Simulations and experiments 280— 90.068.043.018,0 —[6.0 [4.0 [2.0_partall dimensions in mm width of cut 25.4Figure 7.46: Adaptive control part A. The part and cutter path shown above were usedto examine the response of the adaptive controller to a step increase in axial depth ofcut.Chapter 7. Simulations and experimentspart motionall dimensions in mm depth of cut 4.5Figure 7.47: Adaptive control part B. The part and cutter path shown above were usedto examine the response of the adaptive controller to a rapid increase in radial width ofcut. The cutter radius was r = 12.7 mm.28120.0— 50.890.0Chapter 7. Simulations and experiments 2827075-T6 aluminum, cut dry with a two tooth 12.7 mm radius zero helix end mill. Thespindle 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 linearlyduring the first 25 sample periods from 0.0 kN to a thereafter constant 1.5 kN. Thetests were started with the cutter leading edge positioned 5 mm away from the part. Toprevent an initial rapid feed rate (because there are no cutting forces) the part geometrywas artificially extended to the starting location by adding a disturbance force at theinput to the control loop (see figure 7.45). Details on the disturbance input areprovided later the the solid modeller assisted experiments. The purpose of these initialconditions is to restrict attention to the portion of the cutter path where the geometryof interest is encountered.The simulations were performed assuming a constant oriented cutter complianceksie,x = 0.062 mm/kN. The other model parameters used were K 1.411 kN/mm2and p = 0.105 kN/mm. Random disturbance forces were modelled by multiplying themaximum 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 occurredwhen the cutter tooth was at immersion angle q5 ir/2 (i.e. at the leading edge). Thiscauses a small error near the step decreases in depth of cut near positions 43 mm and 68mm. During the experiment runout causes a difference of 0.075 kN between the maximumresultant forces measured for the two teeth.When the immersion geometry is unchanging the controller maintains close regulationto the 1.5 kN reference, a constant feed rate and consistent, unchanging parameter estimates. When the step increase in axial depth of cut from 3.0 mm to 6.0 mm occurs nearposition 18 mm, a maximum resultant force transient to 2.8 kN is predicted. A transientsimilar in magnitude occurs during the experiment. The controller quickly reduces theChapter 7. Simulations and experiments 283feed rate and corrects the parameter estimates.Figure 7.49 shows the unassisted adaptive controller performance for part B. Nearposition 20 mm the hole is first encountered by the leading edge of the cutter. Thecontroller reacts by steadily increasing the feed rate to maintain the reference maximumresultant 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 risesto 3.1 kN, but the controller recovers after three oscillation cycles. In the experiment atransient of 2.5 kN occurred. Parameter tracking is smooth throughout, and the estimatesreturn to their pre-hole encounter levels. The parameter 7 primary represents the edgeforces, 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 amaximum resultant force transient when sudden increases in immersion geometry wereencountered. The transient levels were well above the reference setting, which in industrial practice would be set to a higher, more productive level. These transient forceswould 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 priorto where the cutter would engage a real sudden increase in immersion geometry. Using thestatic process model (7.1) the maximum resultant force was predicted for the partshape including the artificial material. Within the modified adaptive controller algorithmthe disturbance force to be added to the control ioop (figure 7.45) was computed asA iSMD — FSMD — FONLmax — max maxwhere FmOL is the maximum resultant force measurement received from the dynamometer and peak detection circuit (figure 7.1). This indirect strategy permits the controllerOhapter 7. Simulations and experiments 284ci)C-)0C,)ci,EEELI10 20 40 60 80 100 120position (mm)Figure 7.48: Adaptive control—unaided, part A. Shown above is the adaptive controllerperformance without solid modeller assistance when cutting part A. Experimental resultsare shown with thick lines, simulation results with thin lines. Parameter estimate unitsare 3 (kN/(mm/s)) and (kN).321016128400.60.40.2Cl)E00a)ci)0Eci,i5 0.0ci,E00-0.4Chapter 7. Simulations and experimentsposition (mm)285Figure 7.49: Adaptive control—unaided, part B. Shown above is the adaptive controllerperformance without solid modeller assistance when cutting part B. Experimental resultsare shown with thick lines, simulation results with thin lines. Parameter estimate unitsare /3 (kN/(mm/s)) and (kN).C)00U)a)5.5><0SU)SSa)a,a)a)—0SC’)a)a-)S00321016128400.60.40.20.0-0.2-0.4r-a0 20 40 60 80 100 12086420position (mm)120286Figure 7.50: Assistance material—part A. To avoid a real maximum resultant force transient when encountering the sudden increase in depth of cut at position 18 mm, artificialmaterial was imposed just prior to increase. The modified controller translates this intoan disturbance force which is added to the control loop (figure 7.45). Note thatthe artificial increase in depth of cut is made at a finite rate to avoid an oscillatory response. In both the aided and unaided tests the assistance material from 0 to 5 mm wasadded 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.51respectively. The thicker line indicates where solid modeller assistance was applied. Infigure 7.50 assistance material is added to anticipate the sudden increase in axial depthof cut near position 18 mm. The artificial increase is added with a non-vertical slope tosmooth the controller response. Assistance material in figure 7.51 is added to anticipatethe sudden increase in radial width of cut which occurs as the cutter encounters the partbeyond the hole. For both parts assistance material was added prior to initial engagementof the cutter (from position -5 mm to position 0 mm). This was also included in theearlier unassisted trials to prevent an initial rapid feed rate.For part A the adaptive controller performance with solid modeller assistance is shownin figure 7.52. With the addition of the solid modeller data the maximum resultant forceChapter 7. Simulations and experimentsEE0 20 40 60 80 100Chapter 7. Simulations and experiments 287tance material40 60 80 100 120position (mm)Figure 7.51: Assistance material—part B. To avoid a real maximum resultant force transient when encountering the sudden increase in width of cut near position 60 mm, artificialmaterial was imposed prior to increase. The modified controller translates this into andisturbance force AFD which is added to the control loop (figure 7.45). In both theaided and unaided tests the assistance material from 0 to 5 mm was added to avoid aninitial high feed rate.at position 18 mm is eliminated. Note that solid modeller assistance is not required andnot supplied at the step decreases in depth of cut (near position 43 mm and position68 mm). The parameter estimates were consistent with the unaided trial, and with theknown immersion geometry and process constants.For part B the adaptive controller performance with solid modeller assistance is shownin figure 7.53. Again, the solid modeller data prevented the transient which would otherwise occur where the width of cut suddenly increases. Parameter estimates were notnoticeably influenced by the solid modeller disturbance force.75.5 DiscussionThe above examples demonstrate the potential of solid modeller data to prevent thetransients which otherwise occur when sudden increases in cutter immersion geometry1.00.50.00 20Chapter 7. Simulations and experimentsci)C-)0cz0U)ci)EEEci.)0C))cici)ci-)Eposition (mm)Figure 7.52: Adaptive control—solid modeller assistance, part A. Shown above is the adaptive controller performance with solid modeller assistance when cutting part A. Experimental results are shown with thick lines, simulation results with thin lines. The addedAF,D signal is drawn in broken lines. Parameter estimate units are 3 (kN/(mm/s))and (kN).288U)Eci)ci)ci.)321016128400.60.40.20.0-0.2-0.40 20 40 60 80 100 120Chapter 7. Simulations and experimentsposition (mm)289Figure 7.53: Adaptive control—solid modeller assistance, part B. Shown above is the adaptive controller performance with solid modeller assistance when cutting part B. Experimental 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).ci)C-)S.—QCl)ci)5—5SSC)-)SSc3ci)Cl.)ci)SC))Cl)Cl)ci)SC-,321016128400.60.40.20.0-0.2-0.4Y-__________a- -0 20 40 60 80 100 120Chapter 7. Simulations and experiments 290are encountered.In practical use the method would obtain maximum resultant force estimates using thesimulation 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 workpiecewould be areas in which assistance would be required. These features must be recognizedby the solid modeller. The distance by which the disturbance force should precedethe actual immersion geometry change would be found by further analyzing the controlsystem and using a strategy similar to that applied in section 6.3 to offset the commandfeed rate schedule. To avoid estimated parameter drift which can lead to control systeminstability, 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 betuned using a gain schedule (see Aström and Wittenmark [6, chapter 9]) computed bythe solid modeller. In anticipation of the sudden gain increase which accompanies theimmersion geometry increases, the controller gain would be reduced by a correspondingamount. A cautious feed rate would be applied until the immersion geometry was actuallyencountered, at which time regular controller operation would continue.7.5.6 SummaryTo maintain adherence to milling process constraints adaptive control is frequently proposed as an alternative to a priori feed rate scheduling. In this section a linear dynamic milling process model based on the static LEE model was developed to relate thefeed rate to the maximum resultant force. Pseudo-random binary signal experimentswere conducted to verify the model and to obtain parameter values for simulations. AnChapter 7. Simulations and experiments 291adaptive pole placement controller was then designed and used to demonstrate the unacceptable transients which occur when sudden increases in cutter immersion geometryare encountered. This is an inherent characteristic of all feedback control systems. Useof solid modeller data to remove the transients was then studied. For the part geometries considered the excessive maximum resultant force transient was safely eliminated,demonstrating the potential of the strategy.Chapter 8SummarySolid modellers have become the preferred implement for mechanical design. Provisionof manufacturing capabilities within a solid modeller is therefore a logical extension.For milling operations, much research attention has previously been directed towardsplanning a cutter path which nominally achieves a specified part shape. However, limitedwork has been undertaken to combine metal cutting mechanics with solid modelling tosimulate the physical milling process. This thesis has focussed on the latter aspect. Thespecific contributions which were made are recounted below:• It was shown that exact cutter-part intersection geometry information is neededto accurately implement the milling process model. Research previously reportedused a boundary representation (B-rep) part model and the Z-buffering techniqueto approximate the cutter-part intersection geometry. In contrast, the thesis usesa constructive solid geometry (CSG) model. A “divide and conquer” strategy wasdeveloped to determine the exact cutter-part intersection geometry. The intersection of the cylindrical cutter with each block and cylinder primitive was separatelydetermined, and the intersection information combined using the CSG part datastructure and Boolean set operations.• To achieve an acceptably efficient implementation, along any cutter path only theprimitives which can influence the immersion intervals should be considered. Existing CSG redundant primitive elimination methods were therefore reviewed, and292Chapter 8. Summary 293the strategy by which they would be tailored for the milling process simulationproblem described. For a chain of cutter paths, such as would be used to createfeatures such as pockets, improved performance is achieved by using computationalgeometry based search methods which identify only the relevant cutter paths. Itwas shown that, under given assumptions, constructing and searching a horizontalvisibility planar subdivision can identify the relevant cutter paths in linear time.Other researchers needlessly update the part model after each incremental simulation step. In contrast, the thesis procedure is to defer updating of the part modeluntil 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 themodel. This strategy maintains a minimum overall part model complexity.• The literature asserts that more rapid simulation methods must be developed before milling process simulation will become practical. To address this requirementfor 2 1/2 D parts, the fundamental milling process model equations are reformulated to efficiently simulate both face and end milling of general part shapes. Usingthe cutter-part intersection information obtained from the solid modeller and anexact analysis of the helical flute part contact geometry, analytic expressions forcutting forces, torques and surface error were developed. This is a more accurate approach than the material removal rate (MRR) or differential axial elementsummation methods previously used. The equations provide a piecewise functionrepresentation of the instantaneous cutting forces, which can be analyzed usingcalculus and numerical methods to rapidly determine maximum values per toothperiod. In addition to providing simulation data, the milling process model equations are inverted to obtain a feed rate schedule which simultaneously respectsmultiple process constraints. During peripheral milling precomputed cutting forceChapter 8. Summary 294and feed rate profiles, together with analytical expressions for the cutter immersioninterval boundary, were used to achieve a variable sample spacing along the cutterpath. This is a substantial improvement over the incremental methods used byprevious researchers.• Both face and end milling simulations and experiments were conducted to verify theaccuracy of the solid modeller based milling process simulation system predictions.Good agreement was obtained for the example part shapes, showing the viabilityof milling process simulation. Feed rate scheduling was used to achieve adherenceto average torque, maximum resultant force and maximum surface error processconstraints. Experimental measurements from these trials were also in good agreement with simulation results. For online monitoring purposes it was shown howthe simulation data can be used to reliably discern normal cutting conditions fromevents such as cutter tooth breakage, or an unexpected part shape.• Solid modeller information was provided to avoid force transients in adaptive forcecontrol. This overcomes a practical limitation of previously reported adaptive controllers for milling, which would experience force transients that would result incutter breakage at productive reference force settings.In summary, the thesis has developed a systematic method for determining the cutter-part intersection geometry with a CSG part model. Efficient computational geometrymethods were used to identify the part geometry relevant to the milling process simulationcalculations, and to avoid unnecessary part model updates. Reformulated milling processmodel equations were developed to efficiently predict cutting forces, torques and surfaceerrors. Without requiring time consuming incremental sampling, feed rates to adhere toseveral process constraints were automatically scheduled. Experiments were conducted toconfirm the accuracy of the solid modeller predictions, and to illustrate the use of the solidChapter 8. Summary 295modeller 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 Dparts, which are most frequently encountered in practice. Furthermore, the work providesa foundation for extending milling process simulation to 3 D parts. Even in a 3 Dmodeller, however, the 2 1/2 D solutions developed herein should remain available. Inthis 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. Millingprocess models for more complex cutter shapes, such as ball end mills, are required, asare improved chatter prediction models. A great deal of work is required to extendcorrect milling process modelling to three dimensional and sculptured surface machining.Finally, research effort is needed to further develop integration of the solid modellermilling process simulation system with the machine tool controller.Appendix AAlgorithm analysis and growth ratesThis 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 computationalgeometry problems, are assumed to operate on an input population of n objects. The goalis 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 ofthe input population. Therefore, the worst case running time T(n) is the commonlyquoted measure.Due to variations induced by particular machines and compilers, T(n) cannot beexactly expressed in units of time. Rather, the growth rate of the algorithm is discussed.The statement T(n) is O(f(n)) means that there exist positive constants c and n0 suchthat for n no, T(n) cf(n). An algorithm with running time O(f(n)) has f(n) as anupper bound on its growth rate. Algorithms are frequently evaluated by comparing theirgrowth rate functions f(n). For example, figure A.1 shows a graph of the running timesfor growth rate functions f(m) = 2”, iOn2, 5Onlogn and lOOn. Observe that the growthrate ultimately determines the size of problem that can be solved in a fixed amount oftime. Unless an algorithm is very nearly linear, only a marginally larger problem can besolved 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)296Appendix A. Algorithm analysis and growth rates 297400030002000100000 30Figure A.1: Common algorithm growth rates. For an input of size n, the graph showsthe worst case running time upper bound for growth rate functions f(n) = 2, 1Om,5Onlogn and lOOn. Unless the growth rate is very nearly linear, increasing the speed ofthe computer will only marginally increase the maximum problem size that can be solvedin a fixed amount of time.cg(n) for an infinite number of cases. The lower bound is important in determiningthe suitability of algorithms for the problem to be solved. For example, suppose that adifficult to implement algorithm is proposed that will report all intersections of n linesegments in time O(N+n log n), where N is the actual number of intersections. If it turnsout that the input is of such a nature that N is 2(n), then the intersection algorithmreally is 0(n2). In this case the difficult algorithm offers no asymptotic improvementover simply testing each line segment against each other line segment—a simpler 0(n2)approach.5 10 15 20 25nAppendix BPlanar subdivision algorithm complexity proofsB.1 OverviewThis chapter contains detailed algorithm complexity proofs for the planar subdivisionbased 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 aconstant 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 constants indicated. Substitution of other constant values does not alter the asymptoticcomplexity conclusions reached.The time complexity of the overall algorithm arises from the work required to initiallycreate the planar subdivision data structure, plus the work required to traverse thisstructure while locating paths within the approximating rectangles. The emphasis inthis chapter is on the latter stage.Before separately considering the horizontal visibility partition and generalized Voronoi diagram solutions, required preliminary lemmas are presented in the following section.298Appendix B. Planar subdivision algorithm complexity proofs 299B.2 Preliminary lemmasLemma B.1 There are at most a constant number of paths within an area of specifiedsize.Proof First, consider a O.5r x O.5r square (figure B.1). The diagonal of the squarehas length O.5\/r < r, and hence, by assumption B.3, no path can be entirely withinthe square. Therefore, any path partially within the area of the square must intersect atleast one side of the square.By assumption B.2 each side, being O.5r < 2r long, is crossed by at most threecutter paths. The square has four such sides, and hence at most 12 paths can intersectthe square. It now follows that there can be at most 12 paths within the area of thesquare. By subdividing any area into such squares, the lemma is proven for any area ofspecified size. •Lemma B.2 At most a constant number of approximating rectangles enclose a specifiedpoint.Proof Any point within an approximating rectangle is within 2i/r of the cutter pathassociated with the rectangle (figure 5.23). Therefore, if an approximating rectangleencloses a point S then there must be a point on the path associated with the rectanglewithin of S (figure 13.2). The region within 2\/r of S is of specified area, andhence by lemma B.1 there are at most a constant number of cutter paths within thisregion. The proof of the lemma then immediately follows. •Lemma B.3 There are in total 0(n) intersections between cutter paths and approximating rectangles.Appendix B. Planar subdivision algorithm complexity proofs 300Figure BJ: A 0.5r x 0.5r square. The diagonal of the square has length 0.5\/r < rand hence by assumption B.3 no cutter path can be entirely within it. A path (shownwith thicker lines) partially within the square therefore must intersect at least one of thesides.O.5r5v rAppendix B. Planar subdivision algorithm complexity proofs 301Proof Divide the approximating rectangle into head, parallel, and tail portions asshown in figure B.3. By assumption B.2 at most a constant number of paths can intersect the head and tail portions of the rectangle, which are of specified length. Over napproximating rectangles the number of such intersections is therefore O(n).In the remaining parallel portion, an intersecting path either exits through the heador tail, intersects the path associated with the rectangle, or has a vertex inside of therectangle. 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 alln approximating rectangles the number of paths intersecting both the parallel portionof an approximating rectangle and its associated cutter path is also 0(n). Finally, forn paths there are in total n + 1 or 0(n) vertices. By lemma B.2 at most a constantnumber of approximating rectangles can enclose any specified vertex. Therefore for alln vertices there are 0(n) enclosing rectangles and hence 0(n) approximating rectangleparallel portion—cutter path intersections of this type.This completes the enumeration of all possibilities, and therefore completes theproof. •Lemma B.4 A line segment of specified length is intersected by at most a constant number of approximating rectangles.Proof As in the proof of lemma B.2, in order for an approximating rectangle to intersecta line segment L the cutter path associated with the rectangle must have a point within2/r of L. The region within 2/r of L encloses a finite area and hence by lemma B.1can contain at most a constant number of cutter paths. The number of approximatingrectangles intersecting L must therefore also be constant. •Appendix B. Planar subdivision algorithm complexity proofsR2302Figure B.2: Illustration for lemma B.2. If an approximating rectangle encloses point Sthen a point on the cutter path associated with the rectangle must be within 2’/r ofS.rCAppendix B. Planar subdivision algorithm complexity proofs 303Figure B.3: Illustration for lemma B.3. The approximating rectangle perimeter is dividedinto head, parallel and tail portions.approximatingrectangleAppendix B. Planar subdivision algorithm complexity proofs 304In separate subsequent sections the remainder of the relevant cutter path identification algorithm complexity proofs are developed for the horizontal visibility partition andgeneralized Voronoi diagram solutions.B 3 Horizontal visibility partitionFirst it will be shown that, with the vertical blocks described in section 5.2.5, the timerequired 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 ofthe 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 fourrectangle sides is reached2. processing an intersection between an approximating rectangle side and a cutterpath3. processing an intersection between an approximating rectangle side and a horizontalvisibility linkTracing along cutter paths inside the rectangle occurs when initially starting from thetail of the current path (figure 5.29) or when another portion of the previous path chainis within the rectangle (figure 5.31). The work involved in this procedure is to updatethe trapezoid boundaries each time a new horizontal visibility (HV) link endpoint isencountered along the traced paths. With the linked lists available in the adjacency datastructure each update requires constant time. Since each HV link endpoint is encounteredat most once per rectangle, this component of the traversal stage has a complexity equalto the total number of HV link endpoints enclosed by the n approximating rectangles.Appendix B. Planar subdivision algorithm complexity proofs 305An intersection between the approximating rectangle and a cutter path also involvesonly 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 overthe n rectangles the number of cutter path—approximating rectangle intersections andtherefore the time complexity of this component is 0(n).The third component, namely processing intersections between HV links and theapproximating rectangles, also requires constant time per intersection to update thetrapezoid boundaries. The inserted vertical blocks ensure that any HV links intersectedby the rectangle have an endpoint within 2’/r of the cutter path associated with theapproximating rectangle. Finding the overall complexity of the traversal stage therefore isequivalent to enumerating the number of HV link endpoints enclosed by regions extendingaround each of the n cutter paths. The following theorem establishes that thisnumber is 0(n):Theorem B.1 Including any endpoints introduced by the vertical blocks, there are intotal 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 istherefore O(n). Each path self-intersection (if permitted) will also create two HV linksand 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 linksand endpoints.Now insert the vertical blocks. Each block has a finite length (< 2/r) and henceby assumption B.2 intersects at most a constant number of cutter paths. All n blockstherefore create 0(n) intersections, new HV links and new HV link endpoints. Note thatAppendix B. Planar subdivision algorithm complexity proofs 306the vertical blocks cannot intersect each other with the applied vertex sorting order (seepage 151). This establishes that in total the HVP adjacency data structure, includingthe 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. Forthe O(n) HV link endpoints, this implies that there are in total 0(n) HV link endpointsenclosed by all enclosing regions, which establishes the claimed linear time complexityfor the three discussed components of traversal stage.Addition of the vertical blocks of course adds a fourth component—processing intersections of approximating rectangles with the blocks. Updating the trapezoid boundaries foreach 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 thereforeremains linear.Note that if in figure 5.23 the circular arc boundary were retained rather than therectangular approximation, then all of the 2’./r distances would be reduced to 2r. Thiswould reduce the linear time complexity constant factor, but a circular arc intersectiontest 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) sweepparadigm based adjacency data structure building algorithm poses no new implementation 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 identification procedure can be achieved by using the linear time adjacency data structure buildingalgorithm reported by Chazelle [24]. This algorithm requires that the path chain remainsimple, 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 placeAppendix B. Planar subdivision algorithm complexity proofs 307of the blocks. These paths extend from the original path vertices to the point wherethey would intersect an original path (or until the required block length is reached) andthen double back (figure B.4). In this way intersections are avoided but the effect of theblocks is retained.To insert these paths in 0(n) time, the vertical visibility partition (VVP) of theoriginal path chain is first built. The doubled path blocks are then added by startingat each original vertex and searching outwards using the VVP. When a point is reachedwhere the block would intersect an original path, the artificial path is doubled back toits beginning. This is repeated until the required block length is attained. Note that byassumption B.2 at most a constant number of original cutter path intersections per blockare possible and hence at most a constant number of artificial paths will be added perblock. Over the n + 1 original vertices the number of added paths is therefore 0(n). TheVVP adjacency data structure permits processing each avoided intersection in constanttime, 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’salgorithm can be used. Therefore, if the original cutter path chain is simple and assumptions B.2 and B.3 are satisfied, the intrinsic complexity of the relevant path identificationproblem is linear.BA Generalized Voronoi diagramsIn 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) cutterpath—approximating rectangle intersections. Determining the next Voronoi region canbe accomplished in constant time per intersection, and hence the relevant cutter pathAppendix B. Planar subdivision algorithm complexity proofsverticalblockdoubledpath308Figure 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 theuse of Chazelle’s linear time adjacency data structure building algorithm [24], a simplepath chain must be maintained. This is achieved by inserted artificial doubled pathsinstead of the vertical blocks. To accomplish this in linear time, a vertical visibilitypartition of the original cutter path chain is first built and used to identify where thecutter pathb1ock intersection points would occur.U,Appendix B. Planar subdivision algorithm complexity proofs 309identification stage runs in linear time.The theorem to establish 0(n) rectangle—boundary segment/spoke intersections follows:Theorem B.2 The approximating rectangles intersect the generalized Voronoi diagramboundary segments and spokes 0(n) times.Proof Consider any spoke—for example the spoke labelled 3 in figure B.5. The cutterpath associated with any approximating rectangle which intersects /3 must be within2/r of /3. Path b is one possibility. The approximating rectangle of any other candidatepath 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 /3than b, which contradicts the fundamental property of a Voronoi diagram. Hence anyintersection of an approximating rectangle with a spoke must occur along a spoke sectionof length at most 2v’r. Lemma B.4 asserts that there can be at most a constant numberof intersections along a section of finite length, and hence each spoke is intersected byapproximating 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 infigure B.5. If an approximating rectangle intersects bh then it must also intersect one ofspokes c, /3, -y, S or one of paths b, h. Lemma B.3 establishes that the number of cutterpath—approximating rectangle intersections is 0(n). It has just been shown that thenumber of spoke—approximating rectangle intersections is O(n). Therefore the numberof 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 inall the intersections, and hence no pair of curves can intersect each other more than twice.Appendix B. Planar subdivision algorithm complexity proofs 310cutter path-- Voronoi_____— spoke”Figure B.5: Illustration for theorem B.2. Any approximating rectangle which intersectsspoke 3 must do so along the portion of /3 within 2’/r of path b. Otherwise at theintersection point the path associated with the approximating rectangle would be closerto 3 than path b, which contradicts the fundamental property of Voronoi diagrams.Approximating rectangles can intersect Voronoi boundary segments such as bh only if aspoke or path is also intersected.boundary segmenthapproximatingrectangle a’bhI2 rbAppendix CDetailed milling process model mathematicsThis appendix contains the mathematical details for several of the milling process modelexpressions stated in chapter 6. The reader is referred to this earlier chapter to appreciatethe context of the material written here.C.1 Linear edge force modelThis 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 individual function of (6.16) in the formT(b) raK5 [h* + St sin(4 + j)]= rcaKs[h* + st(sinqcosjqc + cos qsinjq)jraK3[7(h* + s(P sin q5 + Q cos q)}where7i=1; P=cosjq5; Q=sinjThe first derivative is thereforeT’(q5) = raK3st(P cos— Q sin )and hence, setting T’() = 0,= arctan311Appendix C. Detailed milling process model mathematics 312which is stated as (6.17) in chapter 6.Equations (6.19) and (6.20) are derived following: Starting from the definitionJ çb=— J F,o(çb)d= [-F,0()cos- FR,O() sin ]d= [—aK3(ssin + h*) cos — aK3(cist sin + c2h*) sin ]d= —K3 sin cos + h* cos + GiSt 51fl2 + c2h* sin jdir= —K3 [s sin 2 + 2h* cos + cist(1 — cos 2) + 2ch* sin ]d= K3 [st cos 2 — 4h* sin + cjst(sin 2 — 2) + 4c2h* cos ]K3[s(7? + c1S) + h*(_Q +c2P)] (C.1)which is (6.19). Similarly.1= F,,0(b)db= f[FT,o() sin — FR,o()cos]d7 çb3j= j[aKs(st sin + h*) sin — aK3(cis sin +c2h*) cos= KSJ [stsin2+h*sin_ cistsincos_c2h*cosjd= K3 j [s(1 — cos 2 + 2h* sin — GiSt sin 2 — 2ch* cos= K3 [— st(sin 2 — 2) — 4h cos + GiSt cos 2 — 4c2h* sin= K3[s(—S + cil?) + h*(_P — c2Q)] (C.2)which is (6.20). In both (C.1) and (C.2) above the four geometric parameters are definedAppendix C. Detailed milling process model mathematics 313as =] :::: = > [sin ] :1?. = [cos 2] S [sin 2qS— 2]As in the ACT case, calibration of the LEF model is accomplished using least squaresmethods. In matrix formyT()9whereF(t)y(t) (C.3)F(t)= sf7? stS—Q (C.4)—sS sIR. —P QK3 K3c1 K3h* Ksc2h* ] (C.5)For a set of t samples defineY(t) [yT(i) yT(2)...yT(±) jTT(2)(t)The least squares estimate for the parameters & using t measurements is now given by=[T(t)t)j’t)Y(1)The recursive least squares (RLS) estimates are obtained in the same fashion as was usedin the ACT model.Appendix C. Detailed milling process model mathematics 314C.2 Helix intersection cases geometric constantsTo determine the values for the geometric constants through j, explicitly integrate (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 zj,j,2 a to obtainStKTR {_[cos 2( + j — ka) — cos 2( + j)] cos 0— [sin 2( + j — ka) — sin 2( + j)] sinO — [a] sin o}StKTR {_[cos2cos 2(j — ka)— sin2sin2(jc — ka)—(cos 2 cos— sin 2q5 sin 2j)] cos 0—[sin2cos2(jc — ka) + cos2sin2(j — ka)—(sin 2cos 2j + cos 2sin 2j)1 sinO — [a] sin o}—StKTR —asinO+[sin2cos 0— cos2sin0][sin2(j — ka) — sin 2j]—[cos2cos0 + sin2 sin 0][cos2(j — ka) — cos2i]}stKTR{_asin0 + [sin2(j — ka) — sin2j]sin(2 —0)-[cos 2(j - ka)- cos 2j] cos(2- 0)}F = StKTR {[sin 2( + — ka) — sin 2( + j)] cos 0—[cos2@ + Jc — ka) — C05 2( + j)] sinO + [a] cos o}— ka) + cos 2sin2(j — ka)Appendix C. Detailed milling process model mathematics 315—(sin 2 cos 2jq + cos 2q sin 2j4)] cos 0—[cos2cos2(j— ka) — sin2sin2(j — ka)—(cos2cos2j — sin2sin2j)]sin0 + [a]cos0}stKTR{acos0+[sin2cos0 — cos2sin0][cos2(j — ka) — cos2j}+[cos 2 cos 0 + sin 2 sin 0j[sin 2(j — ka) — sin 2i1}= stKTR{acos0 + [cos2(j — ka)— cos2j}sin(2 0)+[sin2(j — ka)—sin 2j cos(2 — 0)}Hence in the standard form used in (6.29)SLKTR[—(A, + sin 0 + C cos 0+13i,j sin(2 — 0) — cos(2q. — 0)]F() = SKTR[(A, + cos 0 + C sin 0+B,1 cos(2q — 0) + V,j sin(2q5 — 0)]wherea(1/2k)[sin2(jq — ka) — sin 2jq]ci,j 0Vj (1/2k,)[cos2(jq — ka) — cos2jq]0case 1 Substitute z2j,i 0 and z,,,2 = (1/k,)[qS + jb—to obtain= stKTR {_[cos25t.— cos2( +j)jcos0Appendix C. Detailed milling process model mathematics 3161 12k [k[sin sin 2( + i&)] sinO—+ & — sti)] sin e}(1 1sKTR — COS cos 0 — tqS sin 02 2kEl— [sin2t +—sinO1+—[cos 25cos 2j4 — sin 2q sin 2j4j cos 0+[sin2cos2j + cos2sin2c}sin0}=z1StKTR — COS COS 0— —q sin 02 1. 2k1,— [sin2& +— sti)] sinO1+ —[cos 2 cos 0 + sin 2q sin 0] cos 2jq1[sin2 cos 0 — cos 2sin 0] sin 2i}— 2k1 { 1 1= —SKTR—COS 24’st,i cos 0 — — sin 02 2k—sin2st,i +—sin 0+cos(2 — 0)cos2j — sin2(—0) sin 2&}1 Ii= —StKTR < —[sin — sin 2(q5 + j&)] cos 021[cos2stj — COS 2( + jc)] sine + [( + — sti)] e}2k1= stKTR — COS 2st sin 0 + — cos 02kg,[sin2sti +—+ 2kg, j1—[sin 24 cos 2jq + cos 24 sin 2jq] cos 02kAppendix C. Detailed milling process model mathematics 317+[cos 2cos 2j — sin 2 sin 2j] sin e}= StKTR {__cos2stisin0 + -qcos0+ Sfl2st,i + (jc sti)] 0—--[cos25cos0- sin2qsin0]sin2j— [sin 2 cos 0 — cos 2 sin 0] cos 2i}StKTR {— — cos2q5t, sin0 + COS 0+ Sfl2st,i + (jc sti)] 0sin 2j cos(2 — 0) — cos 2j sin 2( — e)}Hence in the standard form used in (6.29)stKTR[(A, + E,j) sinO + cos 0+B sin(2q — 0) — cos(2q — 0)]= StKTR[(A + cos 0 + C sinOcos(2q5 — 0) + sin(2 — 0)]where= (1/2k)sin2t + (1/k,,)[jqS—13i,j = —(1/2Jc)sin2j= —(1/2k,)cos25t= —(1/2k,i,)cos2jq5= (1/k)case 2 Substitute z,1 = (1/k)[q5 + jq — q’)ex,j] and zj,j,2 = a to obtain= — ka)—cos2exi]cos0Appendix C. Detailed milling process model mathematics 318— [sin 2( +j — ka) — sin 2exij sinO- [a_ + Jc - e}stKTR { H- —q sinO+ [_a + sin2ex,i +— ex)] sinO—[cos2cos2(j — ka) — sin2sin2(j — ka)] cosO—[sin2cos2(j — ka) + cos2sin2(j — ka)] sinO}= stKTR { — cos COS 0 + sin 0H- [_a + 2e,i + — sinO— —[cos 2q cos 0 + sin 2q5 sin 0] cos 2(j — ka)+[sin2cosG — cos2sin0]sin2(j — ka)}StKTR { cos 2ex,i COS 0 + sin 0+ [_a+ Sfl2exj + (jc_ exi)] sinG—cos2(j— ka)cos(2— 0) + sin2(j— ka)sin(2— 0)}= SLKTR { [sin 2( + — ka) — sin 2ex,j] COS 0—[cos:( +j& — ka) — COS2ex,i] sinG+ a— —( +j — cos 01 Ii . 1= —StKTR — cos 2, sin 0 — cos 02Appendix C. Detailed milling process model mathematics 319+ [a _ sin 2b— -(i& — exi)]+[sin2cos2(j— ka)+ cos2sin2(j—ka)]cosO—[cos2cos2(j —ka)— sin2sin2( — ka)] sinO}= 3IKTR — cos Sill 0 COS 02 k,,1,1. 1.+ a — sin2q5ex,i— —(Jqc — ex,i) cos 0+[sin2cos0 — cos2sin0]cos2(j — ka)+[cos2cos9 + sin2sin0jsin2(j ka)}= —StKTR cos2qex,. sinG — cos 02 2k,,1, k,,,1 1.+ a — sin2qex,j— (j ‘1c qex,i) COS 0+5jflc - ka) co:(2 -0) + cos2(j - ka)sin(2 - 0)}Hence in the standard form used in (6.29)stKTR[—(Aj,J + sinG + Cj cos 0+B sin(2q — 0) — cos(2q.’—StKTR[(A, + cos 0 + sinGcos(24— 0) + V,, sin(2q—where= a— (1/2k)sin2e — (1/k)[jq — çbex,ij= (1/2k)sin2(j4—k,a)= (1/2k,)cos2q’exj= (1/2k,j)cos2(j4—kqa)= —(1/km)Appendix C. Detailed milling process model mathematics 320case 3 Substitute zj,j,i — (1/k,)[q! + j — qea,,ij and = (1/kq)[q + 1c— qst,i] toobtain= L3KTR { — {cos2,j — cos 2ex,] C05 0—[sin2t— Sfl2exi] sinO—+ exi)] sin= StKTR { —{sin 2q53 — sin 2ex,j] COS 0— {cos2st,i C05 2ex,i] 5fl 0+ [(_ti + exi)] cos0}Hence in the standard form used in (6.29)= stKTR[—(A, + 0 + c 0+B,3 sin(2 — 0) — D1 cos(2q— 0)]= stKTR[(A, + cos 0 + C sin 9+B,3 cos(2qS — 0) + V sin(2q — 0)]where(1/k,,b)[qSex,j— bst,i] — (1/2k)[sin2qex,j — sin= 0= (1/2k)[cos2q5ex,j— cos23t,]= 0= 0case 4 The flute is not engaged with this face, henceAppendix C. Detailed milling process model mathematics 321Aj0= 0c2,j = 00= 0C.3 Maximum resultant force calculationAs 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 detailsthe reader is referred to the cited reference. The basic strategy of the algorithm is brieflydescribed following.If an upper bound M on the second derivative of a function f(x) can be determined, and the function is known to pass through the interval endpoints (x1, f(xi)) and(x2,f(x)), thenf(x) g(x); x[x, X2]whereg(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 alower bound for the minimum of f(x). By repeatedly subdividing the interval, glomindetermines an increasingly accurate estimate for the minimum of f(x).The number of function evaluations required to achieve the minimum estimate with atolerance FEO,tOI is O((M/FEoj0l)”2).Therefore, rapid convergence requires that theupper bound on the second derivative M be as low as possible. Repeating (6.35)—FEQ(b) = —(A+b)2BCD—2(A + Eq)[B cos 24 + V sin 2qf] — 2C[B sin 2q — V cos 2q]Appendix C. Detailed milling process model mathematics 322henced{—FEO(q5)}—dçb,j2f i;-i2‘GEOdq52where—2(A + £) + 4(A + Sq)[B sin 2qS — Dcos 2qS]—2(2C + )[Bcos2qS + Dsin2j—2E + 8(A + S)[B cos 2q + V sin 2]+4(2C + )[B sin 2q — V cos 2q= —2 + (8AV + 813C + 4BE) sin 2+(8AB — 8CV - 4V) cos 2q + 8VEq sin 2q5 + 8Bé’qS cos 2q= -2 + V@) + X() + Y() + Z()=X() =By calculating(8AV + 8BC + 4&) sin 2q!;(8AB — 8CV — 4Vt’) cos 24;Y(b) = (8V)qsin2qZ(q) = (8BE)q5cos2qWmax = sup{)’V(q 1k,7r/4,37r/4,ckk+1}Xmax sup{X(q)=qk,ir/2,7r,qk+l}Yrnax = 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 relativeextrema) the bound on the second derivative isd2 { — FEQ ( ) } <Mdb2—whereM 2t’ + )‘Vmax + Xmas + Yrnas + ZmasAppendix C. Detailed milling process model mathematics 323This is the value for M that is used in the glomin algorithm. With a specified toleranceF0 on the resultant force, FEo,t0lis chosen so thatFf01FGEO,t01<K(1 + K)’/2for the anticipated KT and KR values.C.4 Surface profile calculationsThis section expands on the cantilever based surface profile prediction procedure outlinedin section 6.2.2.During down milling the surface location error at axial positionz3,(4) (1/k)[q +jq —7r] will be generated by flute j and located a distance S(zL,) away from its nominallocation, where zL,3 = L — zs,j(q). Recall that the force density function wy(q, zL) isdefined piecewise over axial interval [zL,k, ZL,k+1), and that the boundary conditions arezL L) = 0; M(q5, zL L) = 0O(q5,zL=0) = 0; S(4,zL=0) = 0Definite integration now proceeds as follows: In the final axial interval [ZL,K_1, ZL,KL) the shear is expressed asZL)CZZL 1V,K1(,zL)= 1ZL Eiwy,K_1@,z)dz +where = V(q, zL,,C = L) = 0. Next, in the interval [zL,pc_2, zL,_1) expressZLK_1 1= IZL —w,K2(,Z)dZ +where 4,K1,c = V,K_1(q,zL,1). This process is continued to the interval [ZL,O =0, zL,1) which has expressionfZL1 1V,o(q,zL)= j ————w,0(,Z)dZ +ZL ElAppendix C. Detailed milling process model mathematics 324where ZL,1).The bending moment expressions are found in an identical manner. In the final axialinterval [ZL,C_1, zL,K L) the expression isfZLZZL= j Vc_i(q5,Z)dZ +ZLwhere M(qS,zL,K = L) = 0. Next, in the interval [zL,c_2,zL,x_1) expressfZL,—1M,_2(4,ZL)= j j,frC—2@, Z)dZ +ZLwhere M,pc_i(qS, zL,,C_1). This is continued to the interval [ZL,o = 0, ZL,1)which has expressionZL 1ZL)= IZL Z)dZ +where = M1(4, ZL,1).The slope in the first interval [ZL,O = 0, ZL,1) is expressed asOy,°(, zL)= JZLM0(,Z)dZ +ZLO Owhere 0y,t,O,c = ZL,o = 0) = 0. Next, in the interval [ZL,1, ZL,2) expressf ZL&,i(q, ZL) J M,1(4 Z)dZ +ZL,1where= 8y0(4,zL,1). This is continued to the interval [zL,x_1, zL,c = L) which hasexpressionf2L&y,K_1(q5,ZL)= j M,K_l(b,Z)dZ + &y,&A_1,cZL K—iwhere0y,,PC—1,c Oy,K—2(, ZL1).The deflection expressions are found in a manner similar to the slope. In the firstinterval [zLo = 0,zL,1) the deflection is expressed aszL)= JZLZ)dZ +6y,O,cZLOZOAppendix C. Detailed milling process model mathematics 325where Sy,,O,c S(tb,zL,o = 0) = 0. Next, in the interval [ZL,1,ZL,2) expressZL)= JLZ)dZ +ZL1where = S(4I, zL1). This is continued to the interval [zL,C_1, zLjc = L) which hasexpressionSY,—(& zL)= 12L2)dZ +8y,—1,cZL ,ICiwhere3wk,IC—1,c 6yPC—2(& zL,_1).To provide a demonstration of the overall procedure, a simulation under cuttingconditions identical to those used by Kline ([58, figure 6(a)} and [56, figure 5.lla]) wascarried out and compared to his results.The cutter used by Kline was a four flute end mill with radius r=9.525 mm, helixangle b=30 degrees and cantilever length L=108 mm. In the simulation and experimentnamed test 4, the axial depth of cut was a=50.8 mm and the radial width of cut d=2.54mm. The feed rate per tooth was s=0.38l mm. A down milling operation was used,and hence the single immersion interval is[q8t, q) = — arccos I ,7r\ r j= [2.394,7r)Using the definition following (6.5) and (6.6), the geometric parameters 7?. and S havethe values7?. = [cos2] = 7.474 mm; S = [sin2—2] = —4.027 mmand hence, by substituting F=l5l7 N and F=1574 N into (6.9), the calibration parameters were KT = 0.644 kN/mm2 and KR = 0.320 for the 7075-T6 aluminum partmaterial. Kline computed the moment of inertia as I = r/3 rather than the usual irr/4Appendix 0. Detailed milling process model mathematics 326to account for the absent material behind the flutes. This is consistent with the observations of Ziatin et al [155] and the value ir(0.8r)4/4more recently reported by Kops [62].The value for Young’s modulus was E = 207 kN/mm2.The surface profile predicted using the piecewise analytic solution described in thissection 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 figure C.2. Both Kline’s simulation and the prediction in figure C.1 compare adequatelywith experiment. The solution developed in this section, however, more accurately distributes the cutting force load, rather than concentrating it at the “force center” usedby Kline. Furthermore, the analytic formulation is computed much more quickly thanKline’s incremental sampling along the axial and rotation directions.For rapid feed rate scheduling under a surface location error constraint, a simplermodel is proposed in section 6.2.2.C.5 Piecewise linear approximationIn order take full advantage of the rapid feed rate scheduling technique outlined in section 6.3.2, the analytic cutter immersion interval endpoint expressions must be approximated by piecewise linear functions. For example, in down milling, an approximationçstp(xc) to b(x) which satisfies— qstp(xc) /st,toi (C.6)over an interval XCb) is required, wherek(xc)— st@Ca)qstp(xc) çbst(xca) + (xc—XCa)XCb— XCaThis is usually accomplished as follows (see Faux and Pratt [33, section 9.6]): First,Appendix C. Detailed milling process model mathematics50.838.1EE25.412.70.0-400 -200 0 200 400 600 800 1000surface location error (I’ m)327Figure C.1: Surface profile prediction. The surface profile predicted by the piecewiseanalytic solution described in this section is shown above. See [110, appendix D, programsurface] for the program used. For comparison, Kline’s prediction and experimentalverification are shown in figure C.2.Appendix C. Detailed milling process model mathematics 328Figure C.2: Kline’s surface profile. The illustration above is a reproduction of figure 5.llafrom the Ph.D. thesis of Kline [56]. His prediction was made by summing small elementsin the axial direction and incrementally sampling around the rotation direction. Theresults compare favourably with those shown in figure C.1.I 254U)xN200 400Surface Error- pMAppendix C. Detailed milling process model mathematics 329a bound M is found for jq’(xc). Now— kb2(xc) — qstp(xc)where1 43t(xcb)— (1)st(XCa)75stp2(XC) = —M(xc xca)(xc — XCb) + çbst(xca) + (xc — Xa)XCbXCa1= —M(xc —— XCb) + qstp(xc)By taking the first derivative and finding the local extremum, the maximum value of8t2(xc)—3(xc) = M(xc— —is found to always occur at (a + xcb)/2, and has the value M(xcb— a)2/8. Hence,substituting back into (C.6)— stp(xc) M(xc—This implies that, if a tolerance 3t,toj is desired, the interval must be broken in subintervals[sa, xcsb) where2 tol(XC3& — MThe most difficult task is obtaining a bound M for the second derivative that isnot overly pessimistic. For a block primitive side the equation for the cutter immersioninterval endpoints is (5.3) angle notation the interval endpoints areA(xc),B(xC) = /2—[OL +arccos((XL — xc)cosOL)]where (see (4.9)) 6L is constant. Taking derivatives with respect to xc= +c05OL (i — cos2OL( — xc)2)= +c0 L(xL_xc)(1 — c052(XL_XC)2) (C.7)Appendix 0. Detailed milling process model mathematics 330The second derivative is a strictly decreasing function, which permits rapid calculationof a bound M over any interval [XCa, xCb). When the cutter is tangent to the line aj, — xcapproaches r/ cos 0L and qY(xc), (Xc) become unbounded. In this region incrementalsampling along the cutter path should be performed. However, over the remainder of itsdomain the second derivative is small, implying that the the expression for the endpointangle can be well approximated by a small number of piecewise linear segments. A plotfor representative parameter values is shown in figure 0.3.The formula for cylinder primitives is more difficult to analyze directly. From (5.6)I YF= 7r/2— arctan\XF XC((XF — xc)2 + Y’ ± T —+arccos\ 2(x — xC)2 + 2)1/27r/2— T(x) + C(x)whereI YFarctan\XF XC((xF-Xc)2±y)±r-r= arccos\ 2r(xp’ — xc)2 +Taking derivatives of T(xc) with respect to XChFT(xC) 2 2(XF—xC) +YF2yF(XF—XC).1 LX) 2 22[(XF — XC) + YF]2 22yF[3(xF—Xc)—YF][(XF — Xc)2 + yj3The second derivative (0.8) is an odd function about the point XC = XF, and approacheszero far away from from this point. It has local extrema at the points XC = XF +yF/31/2.These two points determine the global range +33/28y of (0.8), which is often verysmall. A graph of (0.8) for representative parameter values is shown in figure 0.4(a).CiC)a-C)cliC)cliczEEC)C)cii-C)-C)0cici-)i-F)Appendix C. Detailed milling process model mathematics 331-2rt0 10 20 30 40cutter path location (mm)(a)0.100.050-0.05-0.100cutter path location (mm)(b)Figure C.3: Rectangle side endpoint angle graphs. Representative parameter valuesused in the graph are: r=l2.7 mm, XL=2O mm, and 8L 7r/4 radians. The usuallimitation that the immersion angle lie in the interval [0, ir) is not enforced. (a) Cutterimmersion interval endpoint values bA(xc) and tbB(xc) calculated from (5.3). Notethat 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 smallelsewhere—confirmly near linearity.10 20 30 40Appendix C. Detailed milling process model mathematics 332When r rF (such as in pocketing), the expression for C(xc) can be simplified to((XF — XC)2 +Cr(X) = arccoswhich has derivativesC’ — —(XF—XC)— 2 2 2 1/2 2 2 1/2[4r — (XF — xc)— YF] [(XF Xc) + YF](XF — XC)4 + y’ + 4ryXC= [42— (x— xc)2 — y2]3/[(x — XC)2 + y]312 (C.9)C’(xc) = {2(XF — XC)[(XF — XC)6 + (2r — y)(XF — XC)4+y(y + 2Or)(xF — xc)2 + 3y(y + 2r)(y — 4r)]}—(XF — XC)2 — y2]5/2[(x — XC)2 + yp’]512 (C.1O)In this case the second derivative (C.9) is an even function about XC = XF. It becomesunbounded when the cutter becomes tangent to the cylinder (at the edge of the domainof contact and, if YF = 0, where XC = XF). In these regions incremental sampling shouldbe performed. Over the remainder of the domain the second derivative is small, implyingthat line segments well approximate the function. Exact bounds can be establishedby evaluating (C.9) at its local extrema. One of these points is at XC = XF, and theremainder can quickly be found by treating (C.1O) as a cubic function of (XF — XC)2 andanalytically solving for the roots. A graph of (C.9) for representative parameter valuesis shown in figure C.4(b).Except near the tangency points, an overall bound on cb’(xc), q(XC) can then befound 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 formulae is difficult when r rF. The functions have the same general shape, and, todetermine a second derivate bound, the local extrema points can be found numericallyusing an algorithm such as localmin (see Brent [10, chapter 4]). Alternatively, successiveAppendix C. Detailed milling process model mathematics 33310 20 30 40 500.04c0.02Q)>-cj.:,.‘.-Q,-Q- -0.02zcC-)U)U,-0.040cutter path Iocaton (mm)(a)0.04cJ0.02. yF=2mm yF=l6mm-0.047rnmrc24N\600 10 20 30 40 50 60cutter path location (mm)(b)Figure C.4: Cylinder second derivative component graphs. Representative parametervalues used in the graph are: r = rF—l2.7mm, and XF=3O mm. The plotted linescorrespond 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 334interpolation techniques can be used [10, chapter 3j. In chapter 7 a practical exampledemonstrating this case is presented.ci-)000ci)0ci)EEci)0ci-)0000ci)c/30 10 20 30 40 50 60Appendix C. Detailed milling process model mathematics 335>cutter path location (mm)(a)0.010.00-0.01-0.02-0.03-0.040 60cutter path location (mm)(b)Figure C.5: Cylinder endpoint angle graphs. Representative parameter values used inthe graph are: r = rF=12.7mm, XF=3O mm, and YF=’2.7mm. (a) Cutter immersioninterval endpoint values bA(xc) and qB(xc) calculated from (5.3). Note that the graphappears 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 secondderivative is small elsewhere—confirmly near linearity.10 20 30 40 50Bibliography[1] A.V. Aho, J.E. Hopcroft, and J.D. Uliman. Data Structures and Algorithms.Addison-Wesley, Reading, MA, 1983.[2] Y. Altintas and J. Peng. Design and analysis of a modular CNC system. Computersin Industry, 13:305—316, 1990.[3] Y. Altintas, I. Yellowley, and J. Tlusty. The detection of tool breakage in millingoperations. ASME Journal of Engineering for Industry, 110:271—277, 1988.[4] E.J.A. Armarego and N.P. Deshpande. Computerized predictive cutting modelsfor 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 formonitoring the machining operation by referring to a predicted cutting torquepattern. CIRP Annals, 32:439—442, 1983.[8] J.E. Bobrow. NC tool path generation from CSG part representations. Computer-Aided Design, 17(2):69—75, March 1985.[9] J.W. Boyse. Preliminary design for a geometric modeller. report GMR-2768, General Motors Research Laboratory, Warren, MI, July 1978. Computer Science Department.[10] R.P. Brent. Algorithms for Minimization without Derivatives. Prentice-Hall, Englewood Cliffs, NJ, 1973.[11] C.M. Brown. PADL-2: a technical summary. IEEE Computer Graphics and Applications, 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.336Bibliography 337[13] J. Butler, B. Haack, and M. Tomizuka. Reference input generation for high speedcoordinated 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 Report R-80-PPP-02.1, Computer Aided Manufacturing International, Inc., Arlington, TX, May 1981.[15] CAM-I. Design of an advanced numerical control processor. Technical ReportR-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. TheInternational Journal of Robotics Research, 8(1):3—25, February 1989.[18] S. Cameron and J. Rossignac. Relationship between S-bounds and active zonesin constructive solid geometry. In W. Straer and H.-P. Seidel, editors, Theory 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 constructive solid geometry. submitted to ACM Transactions on Graphics, August1990.[20] I. Caribom, I. Chakravarty, and D. Vanderschel. A hierarchical data structure forrepresenting the spatial decomposition of 3-D objects. IEEE Computer Graphicsand Applications, 5(4):24—31, April 1985.[21] R. Centner. Final report on development of adaptive control technique for numerically 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 ofBritish Columbia, September 1990.[23] S.C. Chan. MPL. A Machining Process/Programming Language. PhD thesis, University of Rochester, 1986.[24] B. Chazelle. Triangulating a simple polygon in linear time. Technical ReportCS-TR-157-88, Princeton University, 1990.Bibliography 338[25] H.-Y. Chuang and C.-H. Liu. Cross-coupled adaptive feedrate control for multiaxismachine 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 automatictracking of tool wear. In Proceedings of the North American Manufacturing Research Conference, volume 6, pages 276—282, 1978.[27] S.D. Conte and C. de Boor. Elementary Numerical Analysis—An Algorithmic Approach. McGraw-Hill, New York, NY, 1980.[28] L.K Daneshmand and H.A. Pak. Model reference adaptive control of feed force inturning. 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 insolid 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 Mathematical 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 equivalentproblems. 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 predictionof the force system in face milling operations. ASME Journal of Engineering forIndustry, 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. PrenticeHall, Englewood Cliffs, NJ, 1984.Bibliography 339[40] M.P. Groover. Automation, Production Systems, and Computer-Integrated Manufacturing. Prentice-Hall, Englewood Cliffs, NJ, 1987.[41] Suzuki H. and K.J. Weinmann. An on-line tool wear sensor for straight turningoperations. ASME Journal of Engineering for Industry, 107:397—399, November1985.[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 andRow, 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 CADData. PhD thesis, Purdue University, May 1984.[46] C.M. Hoffman. Geometric and Solid Modeling—An Introduction. Morgan Kaufmann, San Mateo, CA, 1989.[47] Y. Hosepyan. Tool wear monitoring in face milling. Master’s thesis, The Universityof British Columbia, June 1991.[48] K. Iwata and T. Moriwaki. An application of acoustic emission measurement toin-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, June1991.[50] K. Jemielniak and Al Widota. Suppression of self-excited vibration by the spindle speed variation method. International Journal of Machine Tool Design andResearch, 23(3):207—214, 1984.[51] J.F. Coates, Inc. Engineering 2000: A look at the next ten years. Technical ReportAFO19O, ASME Council on Public Affairs, 1990.[52] J.G. Kalbfieisch. Probability and Statistical Inference: Part Two. Faculty of Mathematics, University of Waterloo, Waterloo, ON, 2nd edition, 1975.[53] S. Kawabe, S. Shimura, F. Miyashita, and T. Sata. Programming for machiningbased 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 InternationalConference on Computer Aided Design 198, pages 533—538, October 1984.[55] L.A. Kendall, S. Arora, and G. Cross. Intelligent supervisory control prototypefor machining systems. In Proceedings of the North American Manufacturing Research Conference, pages 309—315, Dearborn, MI, 1988. Society of ManufacturingEngineers. Vol. XVI.[56] W.A. Kline. The Prediction of Cutting Forces and Surface Accuracy for the EndMilling Process. PhD thesis, University of Illinois, 1982.[57] W.A. Kline, R.E. DeVor, and R. Lindberg. The prediction of cutting forces in endmilling with application to cornering cuts. International Journal of Machine ToolDesign and Research, 22(1):7—22, 1982.[58] W.A. Kline, R.E. DeVor, and l.A. Shareef. The prediction of surface accuracy inend milling. ASME Journal of Engineering for Industry, 104:272—278, 1982.[59] F. Koenigsberger and A.J.P. Sabberwal. An investigation into the cutting forcepulsations during milling operations. International Journal of Machine Tool Designand Research, 1:15—33, 1961.[60] F. Koenigsberger and J. Tlusty. Machine Tool Structures, volume 1. PergamonPress, 1970.[61] R. Komanduri, F.J. McGee, R.A. Thompson, J.P. Covey, J.F. Truncale, V.A. Tipnis, R.M. Stach, and R.I. King. On a methodology for establishing the machinetool system requirements for high-speed machining. In ASME 198 Winter AnnualMeeting—Proceedings of the High-Speed Machining Symposium. ASME, December1984.[62] L. Kops and D.T. Vo. Determination of the equivalent diameter of an end millbased on its compliance. CIRP Annals, 39(1):93—96, 1990.[63] Y. Koren. Cross-coupled computer control for manufacturing systems. ASMEJournal 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 emission analysis. In Proceedings of the North American Manufacturing Research Conference, volume 10, pages 305—311, May 1982.[67] M.S. Lan and D.A. Dornfield. In-process tool fracture detection. ASME Journalof Engineering Materials and Technology, 106:111—118, April 1984.[68] L.K. Lauderbaugh and A.G. TJlsoy. Dynamic modeling for control of the millingprocess. 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 machining. Journal of Applied Mechanics, 18:405—413, 1951.[71] Y.C. Lee and K.S. Fu. Machine understanding of CSG: extraction and unificationof 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 onvibration control in face milling. In ASME 1988 Winter Annual Meeting, pages41—51. ASME, 1988. PED-Vol. 33.[73] L. Ljung and T. Söderström. Theory and Practice of Recursive Identification. MITPress, 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. Transactions of the ASME, 67:233—251, 1945.[76] D. Meagher. Geometric modelling using octree encoding. Computer Graphics andImage Processing, 19:129—147, 1982.[77] K. Mehlhorn. Data Structures and Algorithms: Multi-dimensional Searching andComputational Geometry, volume 3. Springer-Verlag, New York, NY, 1984.[78] S.N. Melkote and L.A. Kendall. End-mill cutter engagement determination fromCNC tool trajectories for planar surface generation. In Proceedings of the NorthAmerican 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, 2ndedition, 1972.[82] A.E. Middleditch, T.W. Stacey, and S.B. Tor. Intersection algorithms for lines andcircles. ACM Transactions on Graphics, 8(1):25—40, January 1989.[83] Y. Mohamed, M.A. Elbestawi, and L. Liu. Application of some parameter adaptive control algorithms in machining. In ASME 1988 Winter Annual Meeting—Control Methods for Manufacturing Processes, pages 63—70, Chicago, November1988. ASME. DSC-Vol. 9.[84] D. Montgomery and Y. Altintas. Mechanism of cutting force and surface generationin dynamic milling. ASME Journal of Engineering for Industry, 113:160—168, 1991.[85] T. Moriwaki. Detection of tool fracture by acoustic emission measurement. CIRPAnnals, 29(1), 1980.[86] N. Okino, Y. Kakazu, and H. Kubo. TIPS-i: technical information processing system for computer aided design and manufacturing. In J. Hatvany, editor, ComputerLanguages for Numerical Control, pages 141—150. North-Holland, 1973.[87] J.H. Oliver and E.D. Goodman. Direct dimensional NC verification. Computer-Aided Design, 22(i):3—9, 1990.[88] A. Parkinson. An automatic NC data generation facility for the BUILD solidmodelling system. Manufacturing Systems, 14(2): 191—197, 1985.[89] A.J. Pekelharing. The exit failure of cemented carbide face milling cutters partI—fundamentals and phenomenae. CIRP Annals, 33/1:47—50, 1984.[90] A.J. Pekeiharing. The exit failure of cemented carbide face milling cutters partIT—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. IEEETransactions 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 sensingwith an intelligent insert and tool fracture detection in multi-tooth milling. InProceedings 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 ofRobotics and Automation, RA-2(3):156—166, September 1986.[97] A.A.G. Requicha and H.B. Voelcker. Solid modeling: A historical summary andcontemporary 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 researchdirections. 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: Boundary 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 boundaryevaluation, interference detection and shading algorithms. ACM Transactions onGraphics, 8:51—87, 1988.[101] S.D. Roth. Ray casting for modeling solids. Computer Graphics and Image Processing, 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, ImageProcessing, 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 anindustrial 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 machining features. CIRP Annals, 40(1):157—160, 1991.[108] K.S. Smith. Automatic Selection of the Optimum Spindle Speed in High-SpeedMilling. PhD thesis, University of Florida, Gainsville, FL, 1987.[109] 5. Smith and J. Tiusty. An overview of modeling and simulation of the millingprocess. ASME Journal of Engineering for Industry, 113:169—175, 1991.[110] A.D. Spence. Solid modeller based milling process simulation. Report CICSRTR92-010, The University of British Columbia, Centre for Integrated ComputerSystems Research, Vancouver, BC, March 1992.[111] G. Spur and F. Leonards. Sensoren zur erfassung von prozesskenngrodssen bei derdrehbearbeitung. CIRP Annals, 24(1):349—354, 1975. Sensors to evaluate processindicators in turning operations.[112] S.M. Staley, M.R. Henderson, and D.C. Anderson. Using syntactic pattern recognition to extract feature information from a solid geometric data base. Computersin Mechanical Engineering, 1(2):61—66, September 1983.[113] J.L. Stein and C.-H. Wang. Analysis of power monitoring on AC induction drivesystems. 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 systems. In Proceedings of the Sixteenth International Machine Tool Design and Research Conference, pages 117—121, 1975.[115] Y.S. Suh and K. Lee. NC milling tool path generation for arbitrary pockets definedby sculptured surfaces. Computer-Aided Design, 22(5):273—284, June 1990.[116] U.A. Sungurtekin and H.B. Voelcker. Graphical simulation and automatic verification of NC machining programs. In Proceedings of the 1986 IEEE Conference onRobotics 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 MillingProcess. PhD thesis, University of Illinois, 1987.[118] J.W. Sutherland and R.E. DeVor. An improved method for cutting force and surface error prediction in flexible end milling systems. ASME Journal of Engineeringfor Industry, 108:269—279, November 1986.Bibliography 345[119] S. Takata and T. Sata. Model reference monitoring and diagnosis—application tothe manufacturing system. Computers in Industry, 7:31—43, 1986.[120] S. Takata, M.D. Tsai, and T. Sata. A cutting simulation system for machinabilityevaluation using a workpiece model. CIRP Annals, 38(1):417—420, 1989.[121] K. Tamura, K. Ogata, and P.N. Nikiforuk. Design of nonovershoot MRACS withapplication 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 intersection problems. IEEE Transactions on Computers, C29(10):874—883, October1980.[123] R.B. Tilove. Line/polygon classification: A study of the complexity of goemetriccomputation. 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 Machining 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 machining centers. CIRP Annals, 409(1):405—410, 1991. augmented by private communication with S. Smith.[129] M. Tomizuka, J.H. Oh, and D.A. Dornfield. Model reference adaptive control of themilling process. In D.E. Hardt and W.J. Book, editors, Control of ManufacturingProcesses 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 chattervibration 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 basedon cutting process models. CIRP Annals, 40(1):95—98, 1991.[133] K. Uehara, F. Kiyosawa, and H. Takeshita. Automatic tool wear monitoring in NCturning. CIRP Annals, 28(1):39—42, 1979.[134] A.G. Ulsoy, Y. Koren, and F. Rasmussen. Principal developments in the adaptivecontrol of machine tools. ASME Journal of Dynamic Systems, Measurement andControl, 105:107—112, 1983.[135] H.E. Vignon. Effect of servo system characteristics on the accuracy of contouringaround a corner. Proceedings of the AIEE, 1962. paper 62-250.[136] H.B. Voelcker and S.C. Chan. MPL—Machining Process Language. In Proceedingsof 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 andprocesses. IEEE Computer, 10(12):48—57, December 1 977.[138] H.B. Voelcker and M.A. Wesley. Summary and conclusions. In Solid Modeling byComputers: From Theory to Applications, pages 349—360, Warren, MI, September1985. General Motors Research Laboratories, Plenum Press.[139] A.F. Wallis and J.R. Woodwark. Creating large solid models for NC toolpathverification. 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 NCend milling. Journal of Manufacturing Systems, 7(1):57—65, 1988.[141] R.C. Whitfield. A Mechanics of Cutting Approach for the Prediction of Forcesand Power in some Commercial Machining Operations. PhD thesis, University ofMelbourne, Melbourne, Australia, 1986.[142] T.C. Woo. Feature extraction by volume decomposition. In Proceedings ConferenceCAD/CAM Technology in Mechanical Engineering, pages 76—94, Cambridge, MA,May 1982.[143] P.K. Wright and D.A. Bourne. Manufacturing Intelligence. Addison-Wesley, Reading, MA, 1988.[144] K. Yamaguchi, T.L. Kunii, and K. Fujimura. Octree-related data structures andalgorithms. IEEE Computer Graphics and Applications, pages 53—59, January1984.

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:
https://iiif.library.ubc.ca/presentation/dsp.831.1-0080842/manifest

Comment

Related Items