Upload
others
View
6
Download
0
Embed Size (px)
Citation preview
SOLID MODELLER BASED MILLING PROCESS SIMULATION
by
ALLAN DOUGLAS SPENCE
B.Math. (Applied Mathematics), University of Waterloo, 1984
M.A.Sc. (Mechanical Engineering), University of Waterloo, 1986
A THESIS SUBMITTED IN PARTIAL FULFILLMENT OF
THE REQUIREMENTS FOR THE DEGREE OF
DOCTOR OF PHILOSOPHY
in
THE FACULTY OF GRADUATE STUDIES
MECHANICAL ENGINEERING
We accept this thesis as conforming
to the required standard
THE UNIVERSITY OF BRITISH COLUMBIA
March 1992
© Allan Douglas Spence, 1992
In presenting this thesis in partial fulfilment of the requirements for an 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 Mcc
The University of British ColumbiaVancouver, Canada
Date O) ct92_
DE-6 (2/88)
Abstract
Continuing advances in manufacturing automation stress reducing the need for direct
operator attention. In totally unstructured environments, this will be achieved only with
extensive improvements in sensor design and machine intelligence. Milling operations,
however, are largely predictable. Within tolerances, information on the geometry and
material properties of the cutter and part is available, and the applicable constraints are
known. Indeed, current practice is to use CAD/CAM programs to plan the cutter paths
in advance of actual part production.
This thesis proposes extension of the path planning function to a solid modeller based
milling process simulation system. The system predicts the cutting forces, torques and
deflections in advance, and automatically schedules the maximum safe feed rate before
machining takes place. On the factory floor, technological data from the solid modeller is
used to assist in recognizing unexpected events, and when necessary to warn of upcoming
cutting condition changes.
The required milling process simulations are shown to depend on cutter immersion
geometry calculated by the solid modeller. Constructive solid geometry (CSC) is shown
to be particularly useful in reducing the complexity of the immersion calculations with
general part shapes. Rather than simultaneously examining every detail of the part def
inition, the intersection of the milling cutter is separately analyzed with each block and
cylinder primitive. Individual results are then combined by applying the same Boolean
operators and tree used in the overall part definition. Substantial increases in simu
lation speed are achieved through application of CSG redundant primitive elimination
Ii
methods. Representation issues, cutter path segmentation and local boundary evalua
tion techniques are explored to avoid repeated calculations with irrelevant primitives.
Computational geometry strategies for identifying only the locally significant paths in a
cutter path chain are proposed, and compared to existing strategies. It is shown that
under given assumptions this problem has a linear intrinsic complexity. Often after ap
plying these methods the cutter-part intersection geometry reduces to a single immersion
interval. In such cases an especially rapid simulation technique is used.
Beyond a laboratory demonstration of the principle, industrial usefulness of the meth
ods requires that the milling process simulations be carried out in a systematic and ef
ficient manner. Existing methods work incrementally by summing differential elements
along the cutter axis, slightly rotating the cutter, and stepping forward along the path.
In contrast, this thesis develops analytical solutions that, for 2 1/2 dimensional parts,
eliminate the need for axial summations. To improve upon repeated sampling at many
cutter rotation angles, numerical methods and calculus techniques are used to rapidly
determine extreme forces, torques, and deflections. Finally, when the part boundary is
simple, piecewise functions are used to accelerate simulation along the cutter path.
The algorithms are implemented, and the simulation accuracy verified by experi
mental measurement of instantaneous, average and maximum resultant forces, average
torque, and surface error. For process planning, a continuously varying feed rate is au
tomatically scheduled to respect imposed average torque, maximum resultant force and
surface error constraints. Additional simulation and cutter-part intersection geometry
data is calculated to assist with online monitoring and control tasks. Without surren
dering the responsiveness of an online solution, upcoming sudden part geometry changes
are communicated to a customized adaptive controller, allowing it to safely pass through
regions where dangerous force transients would normally occur.
111
Table of Contents
Abstract ii
List of Tables x
List of Figures xi
Glossary XiX
Nomenclature xxii
Acknowledgement xxvi
1 Introduction 1
1.1 Overview 1
1.2 Product development cycle 1
1.2.1 Design 3
1.2.2 Manufacturing planning 3
1.2.3 Part production 4
1.2.4 Summary 4
1.3 Milling process constraints 4
1.4 Thesis focus 7
1.5 Outline 9
2 Literature review 12
iv
2.1 Overview.
2.2 Metal cutting mechanics
2.2.1 Overview
2.2.2 Constraints
2.3 Manufacturing systems automation
2.3.1 History
2.3.2 Process monitoring
2.3.3 Control tasks
2.3.4 Summary
2.4 Solid modelling and computational
2.4.1 History
2.4.2 Milling process simulation requirements.
Solid modellers
Comparison of solid modelling strategies
Computational geometry
Numerical analysis
3 Process model and constraint mathematics
3.1 Overview
3.2 Milling process model relationships
3.2.1 Material removal rate based models
3.2.2 Uncut chip thickness based models
3.2.3 Other models
3.3 Constraint equations
3.3.1 Torque and power
3.3.2 Tooth breakage
12151517232326293335353640464956
techniques
2.4.3
2.4.4
2.4.5
2.4.6
59
59
59
59
62
64
67
67
68
v
3.3.3 Shank breakage
3.3.4 Surface location error
3.3.5 Tool wear
3.3.6 Chatter
3.4 Summary
4 Cutter—part intersection calculations
4.1 Overview
4.2 Cutter—primitive intersection calculations
4.2.1 Rectangle calculations
4.2.2 Circle calculations
4.3 Cutter immersion interval combination
4.4 Summary
5 Relevant primitive identification
5.1 Redundancy and local cutter paths
5.2 Cutter path chains
5.2.1 Overview
5.2.2 Incremental swept volume checking . .
5.2.3 Line segment intersection test
5.2.4 Pocket cutter path generation strategies
5.2.5 Planar subdivision methods
5.3 Cutter path segmentation
5.3.1 Overview
5.3.2 Primitive redundancy portions
5.3.3 Analytic interval endpoint expressions .
6970737578
81
81
84
88
97
103
107
112
113
131
131
133
133
137145171171172172
vi
5.4 Summary.
6 Milling process model implementation
6.1 Zero helix expressions
6.1.1 Average chip thickness model
6.1.2 Linear edge force model
6.2 Helix expressions
6.2.1 Critical angle determination
6.2.2 Analytic force expressions
6.2.3 Summary
6.3 Feed rate scheduling
6.3.1 Incremental solution
6.3.2 Rapid numerical solution
6.4 Summary
180
182
183
183
191
193
194
197
212
212212223227
229
229
230
231
231
233
241
245
249
249
249
7 Simulations and experiments
7.1 Introduction
7.2 Experimental equipment
7.3 Face milling examples
7.3.1 Introduction
7.3.2 Model verification and monitoring applications
7.3.3 Feed rate scheduling
7.3.4 Recursive parameter identification
7.3.5 Summary
7.4 End milling examples
7.4.1 Introduction
vii
7.4.2 Model verification
7.4.3 Feed rate scheduling
7.4.4 Summary
7.5 Adaptive control
7.5.1
7.5.2
7.5.3
7.5.4
7.5.5
7.5.6
250
261
269
270
270
271
277
278
287
290
8 Summary 292
Appendices 296
A Algorithm analysis and growth rates 296
B Planar subdivision algorithm complexity proofs
B.1 Overview
B.2 Preliminary lemmas
B.3 Horizontal visibility partition
B.4 Generalized Voronoi diagrams
C Detailed milling process model mathematics
C.1 Linear edge force model
C.2 Helix intersection cases geometric constants
C.3 Maximum resultant force calculation
Introduction
Process model
Controller design
Simulations and experiments
Discussion
Summary
298
298
299
304
307
311
311
314
321
viii
C.4 Surface profile calculations 323
C.5 Piecewise linear approximation 326
Bibliography 336
ix
List of Tables
2.1 Boolean set identities.56
4.1 Boolean immersion interval combination rules 104
4.2 Boolean immersion interval combination 104
5.1 HVP tree maintenance 154
6.1 Helix rotation interval cases 198
7.1 Helical cutter instantaneous force tests 250
7.2 Determination of cb3,01 264
7.3 Steady-state maximum resultant forces 276
7.4 Identified cutting model parameters . . 276
x
List of Figures
1.1 Milling process simulation system overview . 2
1.2 Cutter motion specification 5
2.1 Metal removal process 16
2.2 Common face and end milling operations . 18
2.3 Milling process geometry 19
2.4 Cutter failure causes 20
2.5 Surface location error 21
2.6 Milling chatter 22
2.7 Numerical control machine tool axes 25
2.8 Axis feedback control system 31
2.9 Contouring error 32
2.10 Adaptive maximum resultant force control 34
2.11 Ambiguity in wireframe part representations 37
2.12 2 1/2 dimensional parts 38
2.13 Cutter—part intersection parameters 39
2.14 Relevant path identification 40
2.15 Octree solid model representation 42
2.16 Boundary representation of a solid 44
2.17 Manifold and orientable surfaces 45
2.18 Constructive solid geometry representation 47
2.19 A non-regularized Boolean operation 48
xi
2.20 Ray casting for CSG evaluation . . . 50
2.21 Redundancy definitions 52
2.22 CSG primitive local approximations . 53
2.23 Iso-oriented boxes 54
2.24 Modelling pocketing with CSG 57
3.1 MRR model definitions 61
3.2 Mechanistic model parameters 65
3.3 Multiple in cut sections 66
3.4 Mohr’s circle for end milling 71
3.5 Differential element force summation 72
3.6 Kline’s cutter deflection model 74
3.7 Regeneration in chatter 76
3.8 Feedback loop in chatter 79
3.9 Calculation of cutter engagement length 80
4.1 Cutter—part immersion geometry 82
4.2 Advancing cylinder cutter model 83
4.3 Cutter path definitions 86
4.4 Rectangle and circle definitions 87
4.5 Rectangle—perpendicular side 89
4.6 Rectangle—parallel side 90
4.7 Rectangle—intermediate angle side—initial contact 91
4.8 Rectangle—intermediate angle side—final contact 94
4.9 Rectangle redundancy 94
4.10 Rectangle—cutter intersection angles 96
4.11 Rectangle—cutter arc classification 98
xii
4.13
4.14
4.15
4.16
4.17
4.18
4.19
Multiple part features
Redundant part features
Reduced CSG tree
Iso-oriented boxes
Sweep paradigm for isobox intersection
Poor isobox fit
CSG subtree and primitive bounds .
S-bounds refinement—initialization . .
S-bounds refinement—upward (pass 1)
S-bounds refinement—downward (pass 2)
Active zones for primitives
Cutter path swept volumes
Approximate bound fit
Line segment intersection by sweep
Pocketing material removal stages
Zigzag cutter path chain
Spiral cutter path chain
99
101
102
105
106
108
109
110
115116117119120121124125126127130132134136138139140
4.12 Circle critical points—re <rF . .
Circle critical points—re r
Circle—cutter intersection angles
Boolean immersion interval combination illustration
Immersion interval linked lists
Complex CSG part
Complex part immersion interval combination
Cutter immersion algorithm implementation
5.1
5.2
5.3
5.4
5.5
5.6
5.7
5.8
5.9
5.10
5.11
5.12
5.13
5.14
5.15
5.16
5.17
XII’
5.18 Cusp avoidance 141
5.19 Occluding cutter paths 142
5.20 Doubly linked circular queue 143
5.21 Boundary segment queue maintenance 144
5.22 Adjacent cutter path density 147
5.23 Path centreline based bounds 149
5.24 Horizontal visibility partition 150
5.25 Vertex types 151
5.26 HVP tree maintenance 153
5.27 Adjacency data structure 157
5.28 Incremental adjacency data structure construction 158
5.29 Rectangle—tail chain intersection 60
5.30 Active trapezoid left/right paths 161
5.31 Interior path tracing 162
5.32 Subsequent path crossings 163
5.33 Top/bottom crossings 164
5.34 Vertical blocks 167
5.35 Approximating rectangle randomization. . 168
5.36 HVP traversal example 169
5.37 A generalized Voronoi diagram 170
5.38 Primitive redundancy segments 173
5.39 Boundary evaluation 175
5.40 Rectangle—cutter intersection angles 178
5.41 Circle—cutter intersection angles 179
6.1 Process model parameters 185
xiv
6.2
6.3
6.4
6.5
6.6
6.7
6.8
6.9
6.10
6.11
6.12
6.13
6.14
6.15
6.16
6.17
6.18
7.1
7.2
7.3
7.4
7.5
7.6
7.7
7.8
186194195196198199201207210217219
221
222
225
225
226
226
232
234
235
236
238
238
239
239
Rotation intervals
Face mill nose shapes
Helical flute immersion angle
Unrolled part surface
Helical flute contact cases
Helix rotation interval endpoints
Definition of 0
Surface generation in down milling
Concentrated load cantilever deflection . .
Chatter angle and direction definitions . .
Maximum permissible axial depth of cut .
Target feed rate approximation
Servo dynamics compensation
Predicted maximum resultant force
Target feed rate—Fmax=1.2 kN
Predicted maximum surface location error .
Target feed rate—Sy,max=O.100mm
Experimental setup
Face milling example parts
Face milling cutter path
Experimental average forces—three features, feed rate 0.151
Average 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/tooth
xv
240
240
242
243
244
244
245
246
246248251251252252253253254255256257258258259
260
262
262
7.11
7.12
7.13
7.14
7.15
7.16
7.17
7.18
7.19
7.20
7.21
7.22
7.23
7.24
7.25
7.26
7.27
7.28
7.29
7.30
7.31
7.9 Average forces—three features, feed rate 0.100 mm/tooth
7.10 Average forces—three features, feed rate 0.151 mm/tooth
Average force Boolean combination
Predicted average torque—three feature part
Target feed rate—average torque constraint . .
Merged target feed rate—average torque constraint
Scheduled feed rate—average torque constraint
Average forces—scheduled feed rate
Average torque—scheduled feed rate . .
Recursive parameter estimates
Helical cutter instantaneous force test 0
Helical cutter instantaneous force test 1
Helical cutter instantaneous force test 2
Helical cutter instantaneous force test 3
Helical cutter instantaneous force test 4
Helical cutter instantaneous force test 5
End milling example part
End milling cutter paths
Average forces—end path A
Maximum resultant force—end path A . .
Average forces—end path B
Maximum normal force—end path B
Surface profile—end path B
7.32 Maximum surface location error—end path B
7.33 Piecewise linear feed rate—maximum resultant force constraint
7.34 Merged target feed rate—maximum resultant force constraint
xvi
7.35 Entry angle evaluation points—maximum resultant force constraint
7.38
7.39
7.40
7.41
7.42
7.43
7.44
7.45
7.46
7.47
7.48
7.49
7.50
7.51
7.52
B.1
B.2
B.3
B.4
B.5
Scheduled feed rate—maximum surface location
Maximum normal force—scheduled feed rate.
Surface profile—scheduled feed rate
Maximum surface location error—scheduled feed rate
Maximum resultant force process block diagram
Process dynamics due to cutter compliance
PRBS feed rate and maximum resultant force .
Adaptive controller block diagram
Adaptive control part A
Adaptive control part B
Adaptive control—unaided, part A
Adaptive control—unaided, part B
Assistance material—part A
Assistance material—part B
Adaptive control—solid modeller assistance,
263
265
265
267
267
268
269
271
273
276
279
280
281
284
285
286
287
288
289
297
300
302
303
308
310
7.36 Scheduled feed rate—maximum resultant force constraint
7.37 Maximum resultant force—scheduled feed rate
error constraint
part A
7.53 Adaptive control—solid modeller assistance, part B
A.l Common algorithm growth rates
A 0.5r x 0.5r square
Illustration for lemma B.2
Illustration for lemma B.3
Doubled path vertical blocks
Illustration for theorem B.2
xvii
C.1 Surface profile prediction 327
0.2 Kline’s surface profile 328
C.3 Rectangle side endpoint angle graphs 331
C.4 Cylinder second derivative component graphs 333
0.5 Cylinder endpoint angle graphs 335
xviii
Glossary
2 1/2 D a part shape that can be defined by extruding a planar area in a direction 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 constraints
ACT average chip thickness (mechanistic milling force model)
active zone for a primitive S in a CSG tree, the region within which a change to theshape of S will result in a change in the shape represented by the overall tree
APT Automatically Programmed Tooling (a part programming language)
B-rep see boundary representation
boundary representation a solid modelling scheme in which the part is described bya data structure expressing relationships between the surface vertices, edges andfaces
CAD computer aided design
CAM computer aided manufacturing
CNC computer numerical control
contour error the dimensional error in coordinated axes motion due to the followingerror of the drive motor and control system
contouring peripheral milling intended to generate the final part surface
CSG constructive solid geometry
cutter immersion interval in a 2 1/2 dimensional part, an angular segment duringwhich the cutter teeth will be engaged in the part
cutter path the trajectory that the milling cutter should follow to produce the desiredpart surface
D dimensional
down milling the situation where cutting occurs over a single immersion interval [qj, 7t)
xix
end milling operation with an end milling cutter, usually for peripheral milling purposes or for pocketing
EXAPT an extension of APT which attempts to automatically calculate appropriatespindle speeds and feed rates
face 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 mill
following error the time lag of a control system output behind its commanded input.For example, in a machine tool axis position control loop, the actual axis 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 size
heapsort 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 mills
HVP see horizontal visibility partition
islands material to be left uncut inside a pocket
isobox see iso-oriented box
iso-oriented box a box with sides parallel to the coordiate axes used to approximateobjects such as CSG primitives
LEF linear edge force (mechanistic milling force model)
MRR material removal rate
NC numerical control
octant one of the eight smaller cubes produced by recursive subdivision in the octreesolid modelling representation scheme
xx
octree a solid modelling representation scheme in which the part volume is enumeratedby the octants or cubes which it occupies
part quality in manufacturing, the tolerances on shape, surface roughness, etc. specified by the designer
peripheral milling operation is which the primary goal is to produce a contoured partsurface parallel to the cutter axis
pocket an empty region bounded on all sides (except above) by the solid part
pocketing removal of material from a pocket
ray casting a solid model evaluation scheme that uses infinite lines cast through thepart region to identify the volume that it occupies.
solid modelling a part representation method which yields an unambigous definitionof the volume occupied
subtree the portion of a CSG tree below the nominated interior node
surface location error In peripheral milling, the deviation of the machined part 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 object
wireframe 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.
xxi
Nomenclature
A very large number of symbols are required in the thesis, and, due to its interdisciplinary
nature, usages are not unique. Rather than selecting an uncommon symbol, the notation
most frequently encountered in the literature is retained. Subscripts, superscripts and
function arguments clarify the meaning intended, and the context of the usage resolves
any remaining conflicts.
a 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 =/St
hmax maximum permissible uncut chip thickness to avoid tooth breakage (mm)
xxii
h* critical uncut chip thickness (LEP model) (mm)
i cutter immersion interval index
I end mill moment of inertia (mm4)
j cutter tooth index
J end mill polar moment of inertia (mm4)
J number of teeth on the cutter
KR radial/tangential force ratio (ACT model)
K3 specific cutting pressure (LEF model) (kN/mm2)
KT specific cutting pressure (ACT model) (kN/mm2)
KTR KT(1 + K)1/2 (kN/mm2)
tan &/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 n
average power (kW)
F33, specific power (kW/(mm3/s))
FR,PT i exponent for KR,KT (ACT model)
q’ discrete transfer function backward shift operator
r cutter radius (mm)
R denotes a real number
s feed rate (mm/s)
st feed rate per tooth (mm)
5t,tgt target feed per tooth to satisfy constraint (mm)
average cutting torque (N-m)
xxiii
Tmax 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 axis
Xa position control ioop actual position
x,. position control loop commanded (reference) position
y cutter normal axis
z cutter depth axis
zL = L — z, is the distance measured from the tool holder to the cutter tip(mm)
ZCF,y normal force centre (mm)
Z(S) in a CSG model, the active zone of primitive S
c4 adaptive control pole parameter, estimate (caused by cutter flexibility)
3,/3 adaptive control gain parameter, estimate (kN/mm)
S, normal end mill deflection
LIF,D solid modeller data assistance quantity added to the maximum resultantforce in the augmented adaptive controller
adaptive control zero feed rate offset parameter, estimate (kN)
A the empty or null set
q reference cutter rotation angle
q5 angular spacing between successive cutter teeth (= 2ir/1)
qex,i cutter tooth exit angle
qst,i cutter tooth entry angle
ib end mill helix angle
xxiv
w spindle speed (rad/s)
Q the universal set
f1(g(n)) a lower bound on the running time growth rate of an algorithm with inputsize n, where g(n) is a function of n
a normal stress on end mill shank (CPa)
a(S) spatial bound for a CSC primitive S
T shear stress on end mill shank (CPa)
—* regularized Boolean difference operator
fl* regularized Boolean intersection operator
U* regularized Boolean union operator
xxv
Acknowledgement
Sincere thanks are extended to Dr. Yusuf Altintas (Mechanical Engineering) and Dr.
David G. Kirkpatrick (Computer Science) for jointly supervising this work.
Scholarship funding to the author was provided by a Natural Sciences and Engineering
Research Council of Canada (NSERC) Postgraduate Scholarship, a British Columbia
Advanced Systems Foundation Graduate Research Scholarship, and an award from the
Department of Mechanical Engineering, The University of British Columbia. Support
from NSERC equipment grant EQP-0028762 and operating grant OGP-0006164 (awarded
to Dr. Altintas) and operating grant OGP-0003583 (awarded to Dr. Kirkpatrick) is also
acknowledged.
The staff of the Department of Mechanical Engineering, Faculty of Applied Science,
and the Centre for Integrated Computer Systems Research (CICSR) always cheerfully
provided assistance. The National Research Council of Canada Institute for Mechanical
Engineering (Vancouver, BC) provided the surface profile data for figures 7.31 and 7.32.
xxvi
Chapter 1
Introduction
1.1 Overview
It is perceived that a diminishing proportion of the workforce will be employed in man
ufacturing, and hence the pressure to automate will steadily increase [51]. Existing
strategies for achieving the untended machine tool isolate the design, manufacturing
planning and factory floor activities. Alternatively, this thesis develops an integrated ap
proach centred around a methodically implemented solid modeller based milling process
simulation system (figure 1.1).
To identify the essential requirements for such a system, short introductory sections
follow on the product development cycle, and milling process constraints. The closing
sections define the thesis focus, and outline the remaining chapters.
1.2 Product development cycle
Development of a new product can be divided into design, manufacturing planning and
actual part production stages. With reference to solid modeller, milling process simula
tion and untended machining needs, these stages are outlined below. A brief summary
concludes the section.
1
Chapter 1. Introduction 2
MACHINING DATA BASEcutter calibration constants
PART DESIGN cutter failure constraintsinitial and final machine tool constraintspart geometry part tolerance constraints
I rcutter—part intersection milling process I
geometry calculations simulation
SOLID MODELLER BASED MILLING
L?L1’2ZLJPATH PLANNER improved path strategy simulation
cutter trajectories planning strategy analysis data
FINAL PROCESS PLAN MONITORING AND
cutter trajectories CONTROL DATA
spindle speeds cutter failurefeed rate schedule adaptive control
MACHINE TOOL
Figure 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 3
1.2.1 Design
Following recognition of need, the creation of a new product begins with its design.
Synthesis is an iterative procedure, with the final design being chosen only after a number
of alternatives have been examined. Because of the high costs and time delays involved in
constructing prototypes, it is instead preferred to carry out computer assisted engineering
analyses. The solid modeller [97, 98] has become widely accepted as the vehicle for this
work because of its utility in rendering a visual image of the part, performing stress
analysis, checking assemblies for interference, and other tasks. The ultimate goal is to
reduce the human effort required to produce an acceptable design the first time.
1.2.2 Manufacturing planning
After the part geometry has been finalized, the manufacturing process is planned. For
milling, the initial part geometry must first be specified. Next, the cutting tool is chosen,
and the cutter trajectories or paths programmed. The cutting speeds and feed rates must
be programmed so that the operation proceeds rapidly, but without violating any failure
or part tolerance constraint. Because of the substantial geometric nature of this activity,
the solid modeller provides the best vehicle to accomplish the task, since it already has a
representation of the part shape in its data base. The proposed strategy is to simulate a
selected milling process plan before machining occurs. Forces, torque, cutter deflections
and surface errors are predicted to aid the human operator to select appropriate cutter
trajectories and machining conditions. Feed rates are automatically scheduled by the
simulation system to maintain adherence to milling process constraints.
Chapter 1. Introduction 4
1.2.3 Part production
After the manufacturing plan has been finalized, actual part production can begin. Dur
ing actual cutting at the machine tool a number of unexpected events may occur. These
should be automatically handled without the need for direct operator attention. With a
good milling process simulation system, reference technological data can be supplied to
give an absolute indication of expected cutting forces, torques, etc. at any point along
a cutter path. An intelligent machine tool controller can use this reference to quickly
and automatically identify discrepencies, diagnose the cause and take corrective action.
When adaptive force control systems are being used, the technological data can warn of
upcoming sudden process changes so that excessive transient forces, which would cause
cutter breakage, are avoided. The solid modeller alone is able to provide this reference
data ahead of the cut.
1.2.4 Summary
To summarize, consistent production of acceptable parts requires a milling process simu
lation system capable of assessing the manufacturability of a part design, planning cutter
motions consistent with constraints, and providing technological data to assist in achiev
ing untended machining at the factory floor (figure 1.1). Since manufacturing planning
is typically an interactive activity, the system should be highly efficient computation
ally, and should form a component of existing solid modellers to extend their capability
throughout the product development cycle.
1.3 Milling process constraints
Essentially, the metal cutting processes involve moving a cutter tooth relative to the part
so that a thin layer of material will be sheared away, leaving a new part surface. In milling
Chapter 1. Introduction 5
____
— cutter_path
____
cuttinq speed
feed rate
Figure 1.2: Cutter motion specification. The cutter path is the trajectory followed 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. With
modern numerically controlled (NC) machine tools, this is accomplished automatically
by running a part program which specifies in sequence the cutter motions to execute.
After selecting the intended cutter, a cutter motion is specified by choosing an ap
propriate cutter path, cutting speed, and feed rate (figure 1.2). The cutter path is the
trajectory to be followed by the cutter centre, and is planned so that under nominal
conditions the final part shape has the correct finished dimensions. The cutting speed is a
function of the cutter radius and the spindle rotational speed. Based on the part and tool
materials, it is selected to achieve rapid material removal but prevent excessive heating
and tool wear, and avoid chatter. The feed rate is the speed at which the part moves
relative to the cutter. It is selected to avoid excessive forces, torques and defiections.
Chapter 1. Introduction 6
A solid modeller based planning system should be capable of automatically determin
ing all three aspects of the cutter motion specification. Under nominal conditions, the
geometric aspect of cutter path planning, including verification, has been frequently con
sidered by others. However, little attention has been given to scheduling varying cutting
speeds and feed rates along the cutter path as the part geometry changes. It is this issue
which is addressed in the thesis.
The important considerations in selecting cutting speeds and feed rates are failure
or part quality constraints. Failure constraints, if violated, would lead to breakage of
the machine tool, cutter or part. For example, if the localized stress on any tooth is
excessive the cutting edge will fracture. This will in turn result in higher loads on the
remaining teeth, and can quickly lead to severe damage. Prevention of tooth breakage
can be accomplished by scheduling cutting conditions so that the excessive stresses are
always avoided. If a breakage does occur, the online machine tool monitoring system can
use data from the solid modeller to distinguish a true breakage from a part geometry
change, and safely halt the operation in the former case.
In slender end milling applications an excessive resultant force on the cutter can break
the cutter shank. Again, this can be avoided by using the milling process simulation
system to predict the forces and schedule an appropriate cutter motion. When some
variation in part shape or tool condition is expected, an adaptive force control system
can be used to maintain productive cutting conditions without violating this constraint.
However, a warning from the solid modeller is still required to prevent excessive force
transients and shank breakage when sudden changes in part geometry occur.
Chatter, caused by self-excited vibration of the cutter, machine tool or part, is difficult
to simulate. For particular equipment, however, a depth of cut limit and stable cutting
speed can be predicted and used to schedule appropriate cutting conditions. When online
monitoring is used to detect chatter, reference to condensed part geometry information
Chapter 1. Introduction 7
will be required to satisfactorily specify an alternative feed rate.
Additionally, the solid modeller based milling process simulation system must check
that the cutting force loads will not exceed the torque or power capabilities of the spindle
motor, or any of the table drives. A complete planning system should consider these
failure constraints as well, and specify a cutter motion that violates none of the conditions
listed.
The finished part must meet dimensional constraints, which can be violated by exces
sive deflection of the part or cutter. Since these deflections are the result of forces acting
on the flexible components, they can be predicted by using a milling process model.
The forces can be determined, used to predict the deflections, and appropriate cutting
conditions scheduled to avoid unacceptable finished dimensions.
In order to treat all of these constraints, a milling process simulation system must
first be able to efficiently and reliably determine the intersection of the cutter and part
at any time. This is required to accurately implement the milling process model. It
must then schedule productive cutting conditions that violate neither the failure or part
quality constraints. The system should furthermore be capable of providing condensed
technological information to the machine tool controller to assist it in monitoring and
controlling the actual cutting operation.
1.4 Thesis focus
Solid modellers currently have little or no ability to simulate the milling process. Re
ported research has difficulty in determining the cutter—part intersection boundary, uses
poor process model approximations, or is computationally inefficient. This thesis ad
dresses the problem by developing the solid modelling algorithms necessary to obtain the
geometrical information, and simulation strategies based on accurate mechanistic milling
Chapter 1. Introduction 8
force models. The emphasis in both areas is to move beyond informal approaches to the
use of methodical and efficient techniques.
The cutter—part intersection geometry is shown to be essential to all of the milling
process calculations. To find these intersections the “divide and conquer” algorithmic
paradigm is used with a constructive solid geometry (CSG) representation scheme to
yield a reliable solution. In order to avoid repeated operations on irrelevant part features,
redundant primitive elimination methods are reviewed and tailored for application to the
milling process simulation problem. Special attention is paid to identifying only the few
relevant cutter paths in operations such as pocketing, where a long chain of paths is
used—each incrementally changing the shape of the part. Alternative solutions based on
computational geometry techniques which improve on the quadratic time complexity of
incrementally checking all previous cutter paths, and avoid repeated updating of the CSG
tree, are proposed.
Several improvements over reported milling process simulation techniques are devel
oped. Rather than summing small differential elements along the cutter axis, analytic
expressions are developed to rapidly obtain forces, torques and defiections in 2 1/2 di
mensions. Numerical methods and calculus techniques are then used to find extreme
values, eliminating the need to repeatedly sample at small angular increments as the
cutter rotates. Whenever possible, the cutter—part intersection boundary is simplified so
that accelerated simulation can occur along the cutter path as well. After simulating the
milling process, the highest material removal rate (MRR) consistent with the relevant
constraints is scheduled.
The algorithms are tested in simulation use, and compare well with experimental
results. The potential of the techniques to assist in manufacturing automation is demon
strated by a number of applications. Feed rates are automatically scheduled to maintain
the highest MRR consistent with average torque, maximum resultant force, and surface
Chapter 1. Introduction 9
error constraints. Use of technological data to assist in factory floor decision making is
exemplified by part shape verification and tooth breakage detection. In adaptive force
control, advance information from the solid modeller is used to anticipate sudden part
geometry changes, avoiding the dangerous transients that otherwise would occur.
1.5 Outline
An outline of the thesis follows:
In chapter 2 the existing literature on solid modeller based milling process simulation
is appraised, and the relevant metal cutting mechanics, manufacturing automation, solid
modelling and computational geometry references are reviewed.
Chapter 3 explains mathematically the metal cutting process models used in the the
sis, and the physical constraints limiting material removal rates. Specifically, the cutter—
part intersection geometry is shown to be fundamental to successful implementation of
the models.
Chapter 4 presents constructive solid geometry (CSG) as a suitable solid modelling
method for milling process simulation. A reliable “divide and conquer” strategy is devel
oped for determining the important cutter immersion angles. Block and cylinder prim
itives in 2 1/2 dimensional parts are thoroughly analyzed, and expressions describing
their intersection with a cylindrical milling cutter formulated.
Chapter 5 explores several ways of increasing the simulation efficiency by eliminating
irrelevant CSG primitives. The suitability of existing schemes is evaluated, and tech
niques particularly suited to milling process modelling are presented. The problem of
identifying relevant cutter paths in a chain is examined and solved by applying computa
tional geometry based solutions. It is shown that under given assumptions this problem
Chapter 1. Introduction 10
has a linear intrinsic complexity. Often after these methods have been applied the cutter—
part intersection geometry can be simplified to a single immersion interval. In these cases
a very rapid simulation technique is proposed.
Chapter 6 develops analytic expressions to predict cutting forces, torques and cutter
deflection. Each of the formulae critically depends on the immersion information avail
able from the solid modeller, and is much more efficient than the small differential axial
element summation methods used by previous researchers. Furthermore, use of analytic
expressions permits rapid determination of critical forces and deflections, without requir
ing sampling at small cutter rotation angular increments. The formulae are inverted for
use in scheduling feed rates consistent with physical constraints.
Chapter 7 demonstrates the simulation algorithms and confirms their accuracy with
a number of experimental tests. The good agreement obtained supports use of the solid
modeller data to automatically schedule feed rates consistent with constraints, and to
augment online monitoring functions. This is confirmed by experiments to maintain a
constant average torque, maximum resultant force and surface error by varying the feed
rate as the part geometry changes. Use of solid modeller data for monitoring purposes is
specifically demonstrated by comparing the average forces of parts missing one or more
features, and outlining a tooth breakage detection algorithm.
Application of solid modeller data to assist with adaptive control of the maximum
resultant cutting force is also examined. It is shown that, when sudden changes in part
geometry are encountered, standard controllers are unable to react in time to prevent
catastrophic tool breakage. By introducing information from the solid modeller, the
controller is warned of the upcoming change, and smoothly adjusts its commanded output
to eliminate the dangerous force transient.
In chapter 8 the major contributions of the thesis are recounted and summarized. Ex
tensions of the work to support more complex cutters and part geometries, and to further
Chapter 1. Introduction 11
integrate the solid modeller based milling process simulation system with the machine
tool controller, are suggested. This is followed by the appendices and bibliography.
Chapter 2
Literature review
2.1 Overview
Researchers have recognized that sustained operation of machine tools requires both gen
eration of correct cutter motions, and enhanced online monitoring and control capabilities
[7, 55]. Development of a solid modeller based milling process simulation system will ad
dress these needs by automatically considering the constraints on the material removal
rate (MRR), and providing reference technological data to the factory floor controller.
Although the motivation to develop such a system arose with the introduction of numer
ical control (NC) in 1952, only recently have research efforts been directed towards its
practical realization.
The research group associated with Takata has produced a number of papers on a
part model based cutting simulation system [7, 49, 53, 120, 131, 132]. In [7] the average
torque is estimated using an empirical equation based on the MRR. While this method
can provide quick estimates to check that the spindle motor will not be overloaded,
instantaneous forces, needed to check for shank breakage and excessive deflection, are
unavailable. The later articles [120, 131] use a more accurate mechanistic milling force
model. Following Kline [57], the authors subdivide the axial depth of cut into thin slices
and sum the force vectors to obtain the overall cutting forces. This time consuming
incremental simulation approach is continued in both the cutter rotation and cutter path
directions. No attempt is made to increase the calculation efficiency by exploiting the
12
Chapter 2. Literature review 13
local part description.
In [132] the authors propose, for pocketing, maintaining a constant radial width of
cut to adhere to cutting force and chatter constraints. A direct inverse calculation from
a milling process model, however, is not used. Iwata and Takata [49] outline a sys
tem architecture integrating milling process simulation with the online machine tool
controller. Their list of desireable features (process planning, adaptive control and mon
itoring) matches the implementation achieved in this thesis.
Wang [140] considers more complex part shapes than Takata, and demonstrates by
example the reduction in machining time possible if a milling process simulation system
is used to schedule the highest safe feed rate. However his process model is the simple
MRR approximation taken from [61], and similar in implementation to [7]. Again, the
depth or Z-buffering technique is used to calculate the cutter—part intersection. Feed rate
scheduling within the NC programming block is not possible, and no online monitoring
and control applications are considered. The recent article by Yamazaki et al [145] deals
with sculptured surface machining, but retains the MRR process model.
The work by Kendall’s group [55, 78, 154] parallels the philosophy of Takata, but
recognizes the importance of developing a methodical system. In [55] the idea of supplying
knowledge from a solid modeller to an intelligent machining centre controller is advanced.
An analytic cutting force model is developed in [154], but not pursued to fully exploit
its capabilities. The end mill engagement determination method reported in [78] is the
closest work to that proposed in this thesis. A boundary representation (B-rep) of the
part is used to determine the cutter—part intersection along separately specified cutter
paths. There is no apparent effort to develop the system upwards towards the design
stage of product development, or to increase computational efficiency by identifying the
locally relevant portion of the large B-rep data structure.
The research group lead by Armarego has also reported an analytical cutting force
Chapter 2. Literature review 14
model for end milling [4, 141]. The emphasis of that work was to create a cutting force
constant data base which can be used by milling process simulation systems such as the
one proposed in this thesis.
This thesis formally addresses the problem of developing a solid modeller based milling
process simulation system. As opposed to the MRR based systems which ignore proven
milling process models, this thesis directly identifies the geometrical parameters needed
for the simulations. The geometrical information is then obtained from the solid modeller
using computationally efficient methods in which incremental summations and sampling
are replaced by analytical expressions and more advanced numerical techniques.
Implementation of the milling process simulation system will entail integration of
current knowledge and methods from metal cutting mechanics, manufacturing systems
automation, solid modelling, computational geometry and numerical analysis to be suc
cessful. These topics are surveyed in separate sections following.
The metal cutting mechanics review explains the fundamentals of the milling process,
and the constraints imposed on the MRR. Particular emphasis is placed on capturing
the required geometrical knowledge in the solid modeller based simulation system, both
for planning purposes and assisting with untended machining tasks.
The manufacturing systems automation section examines the present capabilities of
NC machine tools and controllers, including sensor technology. It is concluded that the
before the cut information available from the solid modeller will enhance the untended
machine tool capabilities in a practical way that currently cannot be matched by sensors
alone.
Existing solid modeller based milling process simulation systems operate with poor
efficiency due to their failure to fully exploit part geometry knowledge. The final section
reviews the representation techniques and computational tools available to address these
deficiencies. With reference to the implementation requirements of the milling process
Chapter 2. Literature review 15
model, the common solid modeller representation strategies are briefly compared. Com
putational geometry and numerical analysis methods appropriate to the milling process
simulation problem are outlined.
2.2 Metal cutting mechanics
2.2.1 Overview
In the metal removal processes the passage of each tooth results in a thin layer of part
material being sheared away. A sketch of the basic operation for orthogonal cutting, in
which the tooth edge is perpendicular to the cutting direction, is shown in figure 2.1.
The dimension h, which marks the thin layer before the tooth, is referred to as the uncut
chip thickness. Forces on the tooth arise from chip formation along the primary shear
plane, additional shearing and friction along the rake face, and the largely frictional force
on the flank face. A vector showing the resultant of these forces is shown in figure 2.1,
along with the shear angle which is measured from the cutting direction to the shear
plane. The force on an entire milling cutter is found by summing the contribution of
each tooth section.
Classical studies of the physics of machining have been conducted by authors such
as Merchant [79, 80] and Lee and Shaffer [70]. Although their work contributed to
understanding the process, a purely predictive model of metal cutting has yet to be
developed. Rather, mechanistic models based on the uncut chip thickness are most
frequently used in practice.
Milling cutters consist of a number of teeth arranged around the circumference of a
main body (figure 2.2). A face mill is used to produce a flat surface normal to the cutter
axis. It usually has a large radius r and operates at a small depth of cut a. End mills
are typically used at much larger depths of cut, have a smaller radius, and teeth which
Chapter 2. Literature review 16
Figure 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 s
mm/tooth. Martellotti [74, 75] noted that the path traced by a single tooth is trochoidal,
but, since the rotational speed is normally much faster than the feed rate, a circular path
approximation is normally used. In this case the instantaneous uncut chip thickness
varies sinusoidally as the tooth edge rotates according to the formula ii = s sin q, where
q5 is the immersion angle shown in figure 2.3. The mechanistic models (see for example
Kline [57]) separate the cutting force into tangential FT and radial FR components, which
are proportional to the uncut chip thickness. These components are vectorially summed
over all in cut tooth edges to yield the total load on the cutter. The complex expressions
required for the vector summations are presented in chapters 3 and 6, including formulae
rake face
shear plane
resultant1’’
force
\‘\
,\\\\\ %\\\\\\\\\ \\\
/ace
//////
Chapter 2. Literature review 17
for helical end mills. Based on this fundamental introduction however, it is recognized
that geometrical methods for determining the portions of the cutter teeth engaged in
the part, and the corresponding uncut chip thicknesses, are needed for implementing the
milling process simulation system.
2.2.2 Constraints
The rate at which a milling process may proceed (the MRR), is limited by constraints
imposed to prevent failure of the machine tool or cutter, or production of an unacceptable
finished part. Both failure and part quality constraints were introduced in chapter 1, and
will be treated in mathematical detail in chapter 3. This section serves to briefly identify
the type of calculations that will be required in a milling process simulation system.
The MRR constraints arise because of a combination of the tool and part properties,
and their intersection geometry. Part material properties are studied under the title of
machinability—a topic which has received intensive research attention. The primary focus
is on the selection of tool materials that can cut with lower forces and longer tool life
[106, 130]. Research on tool materials aims to improve tool life both in wear and sudden
breakage.
Prediction of the rate of wear for a particular tool is difficult due to the wide variations
encountered in practice. Yellowley and Barrow [149] have observed that thermal cycling
due to the interruption of cut in milling is a major contributing factor. This is a geometric
aspect of the cutting conditions, which can be ascertained by the solid modeller and
incorporated into an approximate wear model.
To obtain a satisfactory wear resistance, tool materials are hard and brittle. This
increases susceptibility to breakage when the tooth load becomes excessive or suddenly
changes [89, 90] (figure 2.4(a)). This condition can be checked for by determining the
maximum uncut chip thickness that the cutter teeth will encounter, which is a function
Chapter 2. Literature review 18
Figure 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.
a
C
r
(a)
(b) d
Chapter 2. Literature review 19
Figure 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 of
the cutter shank (figure 2.4(b)). Using mechanistic milling process models, the load on
the cutter can be predicted by finding the uncut chip thickness at each point along the
teeth in cut, determining the force contribution, and vectorially summing to obtain the
resultant. The fundamental problem again is one of cutter—part intersection geometry,
and can be solved by a solid modeller based milling process simulation system.
Surface location error (figure 2.5) due to cutter deflection is a related problem. The
doctoral studies by Kline [56] and Sutherland [117] consider this topic, including radial
runout, part deflection, and dynamic considerations. They use very computationally
expensive element summation methods in order to achieve simulation of radial runout,
part deflection, etc. However, a basic cantilever beam cutter model is sufficient for process
(b)
Chapter 2. Literature review 21
‘D
Figure 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 a
natural frequency of the structure is excited, causing undulation in the generated part
surface (figure 2.6). This leaves a periodically varying uncut chip thickness which is
encountered by subsequent cutter teeth, causing a varying force and deflection. Should
the tooth passing frequency be unfavourable with respect to the chatter frequency, the
vibration will again generate an undulating part surface, and the phenomenon will re
peat. Growth of chatter is caused by a long contact length between the cutter and
part (Koenigsberger and Tlusty [60]). Again, this is a geometric quantity which can
be reported by the solid modeller, and ultimately incorporated into a chatter prediction
system.
Other constraints, such as torque and power limitations, are also based on the cutting
surfacelocationerror
/
Chapter 2. Literature review 22
Figure 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 23
force, require the same information from the solid modeller, and can be checked in a
similar way. The mathematical details are outlined in chapter 3.
2.3 Manufacturing systems automation
The increased emphasis on untended manufacturing has renewed research in the areas
of machine tool monitoring and control. In this section the history of numerical control
(NC) for machine tools is briefly presented. Following subsections cover the important
aspects of both monitoring and control tasks.
2.3.1 History
The history of numerical control (NC) in the metal removal industry began with demands
by the United States Air Force for rapid and accurate production of complex aerospace
parts [40, 64]. Manual operation of the machine was becoming unproductive due to the
large portion of time being spent measuring the dimensional accuracy of the part. The
first work in NC development is attributed to the Parsons Corporation, Traverse City,
MI, USA. After their work was demonstrated in 1948, contracts were awarded by the
Air Force to both Parsons, and soon after to the Massachusetts Institute of Technology
(MIT) Servomechanism Laboratory. The first NC machine tool was demonstrated by
MIT in 1952.
The low level NC programming language format understood by the machine tool
controllers adheres to ETA (Electronics Industries Association) standards RS-273-A and
RS-274-B. The major benefit of the NC language is the ability to specify a linear, circular
or parabolic cutter path which will automatically be followed by coordinating the machine
axes (figure 2.7)—a task beyond human capability. For easy control implementation, the
cutter path is the track to be followed by the centre of the cutter. Therefore in manual
Chapter 2. Literature review 24
part programming a number of tedious geometrical calculations are required to determine
the path which will leave the desired shape at the part surface.
This difficulty was recognized, and immediately after the first NC machine tool was
introduced, the Air Force sponsored additional research at MIT to develop a higher level
NC programming language. In 1959 the APT (Automatically Programmed Tooling)
language was first released, and remains in use even today. APT programs consists of
two major parts [40j: (i) part and cutter geometry specification and (ii) cutter motion
statements. The geometry is specified using lines, circles, etc. that represent the part
boundary in a chosen plane. Additional statements declare the radius of the cutter, etc.
Cutter motion statements specify the path to be followed relative to the part geometry.
APT automatically computes the necessary offsets from the part surface to yield the
correct cutter centre location. The cutter motions are translated into the standard low
level NC programming language format suitable for controlling the factory floor machine.
Other parts of the language allow for automatic cutter selection, etc. The human part
programmer must additionally specify the appropriate spindle speeds and feed rates—
APT has no capability in this area. Extensions and variations of APT, such as EXAPT
[311, attempt to automatically compute speeds and feeds but are limited by a lack of
geometrical information.
The need to separately specify the part geometry for cutter path programming can be
eliminated if computer aided design (CAD) systems are used to design the part. Instead,
a part programming feature is added which accesses the existing CAD design data. The
complete part descriptions provided by solid modellers further permit development of a
milling process simulation system.
Chapter 2. Literature review 25
axis 1
axis
Figure 2.7: Numerical control machine tool axes. A set of five axes is shown. The 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 26
2.3.2 Process monitoring
With NC having replaced the need for a human to actually operate the machine tool,
continued progress towards untended manufacturing requires replacement of the senses
and judgement of the machinist (Wright and Bourne [143]). A major difficulty in visually
monitoring machining operations in process is the hostile environment. The shiny surface
of the metal parts causes difficulty in observing the process using cameras. Furthermore,
flying hot chips and cutting fluid are likely to strike the camera lens, causing damage or
at least blocking the view. Most measurements are therefore carried out using a variety
of special purpose transducers. A critical review of sensors for unmanned machining was
conducted by Tiusty and Andrews [126]. Additional discussion of sensors and actuators
is contained in recent textbooks [29, 143], including bibliographical references.
Monitoring tasks in an untended environment concentrate on identifying abnormal
conditions so that an appropriate response can be initiated.
Breakage of a cutter tooth must be immediately detected and the cutting process
halted before additional damage occurs. Several authors [67, 85] have attempted to
detect the acoustic emission generated by sudden fracture of the tooth, but research in
this area still requires substantial study before the technique can generally applied in
industry. Altintas [3] proposes detecting tooth breakage by comparing the average forces
of successive tooth periods. When a tooth edge breaks it becomes smaller, removes a
smaller uncut chip load, and normally experiences smaller forces. The following tooth
on the cutter then must remove a larger portion of material, and therefore bears a larger
load. When an unusually low average force is followed by a higher than normal value, the
existence of a broken tooth is inferred. Practical application of the approach is hindered
by runout and a lack of part geometry knowledge—which are both difficult to distinguish
from a broken tooth. False broken tooth detections must be avoided if a productive MRR
Chapter 2. Literature review 27
is to be maintained. In the case of runout this is achieved by properly preparing the cutter
so that runout is minimized. An average force change above a threshold value then is
assumed to be the result of a broken tooth. Immersion information and predicted average
forces from a solid modeller based milling process simulation system can be transmitted
to the online monitoring system to assist in distinguishing part geometry changes from
tooth breakage.
Shank breakage occurs when long, slender high-speed steel (HSS) end mills are sub
jected to excessive loads. The actual cause of failure is brittle fracture due to a high
bending moment in the cutter shank area. This type of failure is extremely dangerous,
since the broken cutter may be propelled away at high speed. It is best avoided through
proper planning, or the use of adaptive control techniques (see section 2.3.3). When it
does occur, it can be immediately detected by the sudden lack of cutting forces, torque
and power.
Chatter vibrations can rapidly grow in amplitude, possibly resulting in breakage of
the cutter. An unacceptable surface finish will certainly result, and hence chatter must
be quickly detected. Several types of transducers have been proposed for detecting the
onset of chatter. The rapid cutting force variations can be detected by piezoelectric
dynamometers. A common laboratory arrangement is to mount a small part on a table
dynamometer, which itself is secured to the machine tool table. In actual practice,
however, it is inconvenient to change parts with this setup. Furthermore, as the part is
machined its shape and mass change, making it difficult to ascertain the transfer function
of the part and dynamometer, which is needed to correct the frequency response reported.
Accelerometers can be mounted on either the part or the spindle headstock. Again, this
method indirectly measures the vibration at the cutter—part interface, and the bandwidth
is limited.
Smith [108] recognizes chatter by detecting its characteristic high frequency noise with
Chapter 2. Literature review 28
microphones arranged to reject sounds away from the cutting region. He then develops a
strategy, based on the theoretical understanding of the phenomenon, to select alternative
cutting conditions that should avoid chatter. After measuring the dominant frequency
of the chatter noise, his method then adjusts the spindle speed so that the tooth passing
frequency matches the chatter frequency. This establishes a stable phase angle in the
regenerative feedback system, and is useful in high-speed machining applications, where
chatter is common, and a wide choice of spindle speeds is available. After a new spindle
speed has been chosen, he slowly advances the part to verify stability without risking high
amplitude forces. If chatter free conditions are now apparent, the feed rate is increased
to a productive level. A solid modeller based milling process simulation system is useful
at this point to select the new feed rate. If the cutting conditions which result in chatter
or stable cutting are recorded, a data base can be developed to aid in development of a
chatter prediction model, which remains an active research topic.
Detection of over torque or over power conditions also must be rapid to prevent
machine tool or part damage. Should the capabilities of the spindle motor be exceeded
it may suddenly stall. Part feed must then immediately be halted. Avoidance of such
an occurrence is preferred to its detection, and can be achieved by checking the part
dimensions before cutting. If the part is found to be within tolerance, the simulations
carried out by the solid modeller guarantee safe cutting conditions. Average torque
and power in process are most readily measured by sensing the spindle motor electrical
current [113, 120]. In the laboratory, instantaneous forces can be measured using a table
dynamometer, although the frequency response is limited and changes with the part.
Sensors for industrial use are usually located in the spindle and sense the strain in the
bearing ring. Tiusty and Andrews discuss these sensors in their critical review [126].
Short of removing the cutter from part contact, tool wear is difficult to measure
directly. In process methods of detecting tool wear function indirectly by tracking the
Chapter 2. Literature review 29
surface location error [41], or by measuring the cutting temperature [47, 1521 or electrical
resistance [111]. Acoustic emission has also been proposed for tool wear measurement
[48, 66, 95], but remains unaccepted for practical use. Since cutting forces and torques
tend to increase with wear [26, 133], data from a solid modeller can assist by providing a
reference set of values simulated under sharp tool conditions. Slowly increasing forces or
torques would then indicate wear, which can be recognized in time to replace the cutter
before a catastrophic failure occurs.
The availability of new technological data from a solid modeller milling process sim
ulation system offers the potential to more closely monitor adherence of the part shape
and material properties to expected, nominal values. Use of a reference signal from this
source has previously been suggested by authors such as Takata and Sata [119]. Solid
modeller information is therefore an enabling contribution needed to successfully begin
exploring this application area.
In summary, monitoring of milling processes is a matter of verifying that the operation
is proceeding normally. Nominal forces and torques can be predicted by a solid modeller
based simulation system, and the data used by the online monitor to detect deviations
which require halting cutting and human operator attention.
2.3.3 Control tasks
Accurate, automatic control of machine tools was required starting with the introduc
tion of NC. Each axis of the machine tool is positioned using a feedback control system
(figure 2.8(a)) which compares the position commanded from the NC program and inter
polators to the actual axis location, and, through a control system tuning filter, amplifier,
motor and lead screw, achieves the required motion. Because of the inherent inertia in
the electrical and mechanical elements, there will be a non-zero dynamic delay or fol
lowing error between the commanded Xr and actual position Xa (figure 2.8(b)). When
Chapter 2. Literature review 30
coordinated motion of two or more axes is required, this appears as a contouring error
(figure 2.9) which, at high speeds, can leave significant surface location errors on the
finished part. This problem can be avoided during linear interpolation by stopping the
table between successive steps in the NC program, but this solution is undesireable when
a high MRR is to be maintained. The subject is an active research topic, and progress
articles by several authors have appeared in the literature [13, 25, 42, 63, 92, 135].
Adaptive control theory has been proposed to optimize costs in milling [21], but the
majority of the research has addressed adherence to constraints such as the maximum
resultant force, which is responsible for the breakage of slender end mill shanks.
The first research on adaptive control for machine tools is attributed to Stute and
Goetz [114], who showed that the machining is time varying—the process parameters
being a function of the part geometry (tool wear and material properties change much
more slowly). Their cutting model consisted of a varying gain and a fixed first order
pole. The gain was calculated from force and feed rate measurements and the regulator
then tuned to ensure stability of the system. Masory and Koren [65] later developed an
adaptive control system for turning. Tomizuka et al [129] first applied modern adaptive
control theory to the milling process using a model reference adaptive control (MRAC)
scheme. Again only the gain of the process was identified. Daneshmend and Pak [28]
applied MRAC to turning in a similar fashion. A number of other researchers have also
investigated and reported on this issue [38, 68, 69, 83, 121, 134].
All of these systems are referred to as adaptive control with constraints (AC C), and
consist of two main components: (i) identification of the process to be controlled (pa
rameter estimation) and (ii) tuning of the control regulator based on the parameter
estimates (figure 2.10). The process is identified using methods such as recursive least
squares (RLS). The regulator control law is then formulated so that the desired closed
loop transfer function is achieved. The tuned regulator sets the feed rate command signal
E
0
C,,o
Chapter 2. Literature review 31
(a)
3
2
1
00.00 0.02 0.04 0.06 0.08
time (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 32
actual path
1
x 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 path
0
(I)0a>N
2 C
Chapter 2. Literature review 33
u so that the measured maximum resultant force Fmax corresponds to the reference force
Fmax,r. Details on implementation of a pole placement adaptive controller are given in
section 7.5, including development of a dynamic milling process model which includes
the influence of edge forces.
The major difficulty with such force control systems is their inability to perform
adequately when extremely sudden changes in part geometry are encountered. If the
depth or width of cut increases too quickly, the regulator will be unable to reduce the feed
rate before a large force transient occurs (figure 2.10(b)). This excessive force will likely
break the end mill shank, and may also damage the part and fixtures. The inability to
recognize and react to upcoming changes in geometry has prevented industrial acceptance
of adaptive control. In section 7.5, geometric information from the solid modeller is
provided to an augmented adaptive control system to overcome this difficulty, while
retaining the advantage of online feedback.
Active chatter control systems [22, 50, 72] work by modulating the spindle speed in
an attempt to disturb the regeneration process. The theory behind such approaches is
in its infancy, and is not further considered in this thesis.
2.3.4 Summary
In untended machining the most difficult open problem is replacement of the senses
and judgement of the machinist. By including a solid modeller simulation capability in
such a system, reference or expected values with which to compare online process sensor
readings will be readily available. In applications such as tooth breakage or chatter
detection, where decision making is hindered by a lack of absolute force value information,
provision of solid modeller simulation data can uniquely enhance the autonomy of the
machine tool executive.
0
=3Cl)U)
E=3
E
E
Chapter 2. Literature review 34
(a)
0 20 40 60 80 100
position (mm)
3
2
1
0120
(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 35
2.4 Solid modelling and computational techniques
Part geometry and its representation play important roles in all phases of the product
development cycle. To be of practical utility, any milling process simulation system
must therefore interface with existing part representation schemes. A brief history of the
subject is provided at the beginning of this section. Next, the requirements of a part
representation scheme to be used for milling process simulation are outlined. Contem
porary solid modellers are then assessed for suitability to the task, and a representation
scheme for use throughout the thesis selected.
Attainment of efficiency will require appropriate use of tools from the fields of com
putational geometry and numerical analysis. Introductions to these areas are briefly
provided to establish a basis for methodically implementing the complete solid modeller
based milling process simulation system.
2.4.1 History
Early computer aided design (CAD) programs provided only an “automatic drafting”
level of assistance. The computer part representation was merely a rendering of the
isolated two dimensional lines and arc entities that previously were hand drawn.
Programming of the cutter motions in such a system is accomplished by selecting
the appropriate entities as boundaries to be used in an APT like preprocessor. Since no
immersion information is available, the part programmer is required to manually select
appropriate cutting speeds and feed rates. Due to the tedium of such calculations, very
conservative estimates are normally used, leading to an inefficient MRR.
More advanced systems provided some three dimensional capabilities, and combined
the isolated entities into a “wireframe” part representation. Although an improvement,
the wireframe representation is ambiguous (figure 2.11) because there is no differentiation
Chapter 2. Literature review 36
between the interior and exterior of the part—information which is needed for engineering
analyses (Finite Element Methods (FEM), mass calculation, etc.). This limitation has
turned current attention to solid modellers, which explicity identify the solid region of
the part.
Part programming systems based on solid modellers are now becoming available (see,
for example [8, 15, 88]), and are expected to be commonplace in the immediate future.
Because of the expense of an error in manufacture of single quantity items (such as
plastic injection molds or airframe components), geometrical verification of NC programs
to detect errors (assuming inflexible parts and cutters) has been an active research area
[87, 116, 139]. This thesis concentrates on using geometrical information from a solid
modeller to implement a physical milling process simulation system, and the literature
review is conducted with that aim.
2.4.2 Milling process simulation requirements
To develop the concepts needed to implement a milling process simulation system, atten
tion in this thesis is focussed on 2 1/2 dimensional parts and straight line cutter paths.
A 2 1/2 dimensional or 2 1/2 D part can be imagined as a vertical extrusion of an x-y
planar profile (figure 2.12). Such “functional” parts comprise a large portion of everyday
machined components [32, 105, 137] and therefore provide a practical foundation. Fur
thermore, for simplicity, the shape will be restricted to edges formed by flat or cylindrical
faces. More complex shapes can be treated, without increasing the simulation difficulty,
by permitting a lamination of 2 1/2 D layers. A straight line cutter path restriction is
also imposed only for simplicity in developing the overall strategy for the milling process
simulation system.
In order to simulate the milling process, the part representation must permit the
cutter—part intersection to be rapidly determined. This is a primary requirement that
Chapter 2. Literature review 37
Figure 2.11: Ambiguity in wireframe part representations. (a) Since wireframes 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 38
Figure 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 axial
depth of cut a and the angles over which the cutter teeth are immersed as the cutter
revolves (figure 2.13). As will be shown in chapter 6, knowledge of the immersion angles
at a single axial location is sufficient even when helical end mills are being used.
Since completion of cutting for each path implies a change to the part, these changes
must be recorded in the part representation before simulation along the next path can
begin. In practice, however, only a few of the preceding cutter paths are likely to be
relevant during subsequent simulation. In figure 2.14, there are cutter path chains to
mill the outside perimeter of the part, and two internal pockets A and B. The three
chains are isolated, and hence there is no need to, for example, consider the perimeter
or the paths in pocket A when simulating the milling process in pocket B. Furthermore,
only a portion of the paths in B itself are relevant at any stage during its removal.
z
Chapter 2. Literature review 39
a
Figure 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.
0
Chapter 2. Literature review 40
3\\
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 required
portions of the part representation data structure are needed.
2.4.3 Solid modellers
The representation schemes used in solid modellers are divided into three primary groups:
1. spatial enumeration or octree encoding
2. boundary representation
Chapter 2. Literature review 41
3. constructive solid geometry
A brief description of the strategy used in each representation follows.
Spatial eiiumeration
The spatial enumeration or octree encoding [76, 103, 104, 144] technique recursively
subdivides a volume into cubic regions (called octants or voxels) until the part is ex
actly represented, or a specified tolerance is reached. A step by step description of the
procedure follows:
1. First enclose the part in a sufficiently large cube, centred at the origin and aligned
with the coordinate system axes. The cube side dimension is chosen so that re
peated subdivision into halves is easy to perform.
2. If the part exactly fills the cube mark the cube as occupied 0. If the part occupies
none of the cube mark the cube as vacant V. In either case then exit from the
procedure. Otherwise, subdivide each side of the cube into halves, producing eight
smaller cubes.
3. Recursively repeat the previous step until the cubes exactly define the part, or a
specified tolerance is reached.
An illustration of the procedure is given in figure 2.15(a).
An eight child hierarchical tree data structure is used to combine the cubes into an
overall spatial enumeration of the volume occupied by the part (figure 2.15(b)). At each
level of subdivision, fully occupied or vacant octants become leaves and are respectively
marked 0 or V. Partially occupied octants become interior nodes with eight smaller child
octants.
Chapter 2. Literature review 42
OctantNumbering
(a
PartRepresentation
(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.
o1
Chapter 2. Literature review 43
Octrees provide a structured way to decompose a solid to any desired tolerance level.
They are particularly useful when the part is bounded by complex surfaces that are not
easily described by other means [12]. However, since the cube is the only permitted
elementary shape, even regularly curved objects such as cylinders require storage of an
unacceptably high number of octants to achieve a sufficient approximation. Furthermore,
since the cubes are aligned with the coordinate axes, a rotated prismatic shape also can
be only approximated.
An extension of the octree data structure called the polytree [20] has been proposed.
A polytree allows the octant cubes to be trimmed by a plane at any specified orientation,
and hence permits exact representation of rotated prismatic shapes. Curved surfaces
are represented by faceting, a frequently employed technique from surface modelling in
which the surface is approximated by a set of fiat faces. These techniques are useful for
rendering, and finding intersections. However, once the octree representation has been
defined the original, exact part shape is no longer available. A later change in resolution
requires complete recalculation.
Boundary representation
Many of the the commercial solid modellers, such as I-DEAS1 and CADKEY2,im
plement the boundary representation scheme. A boundary representation (B-rep) of a
solid uses a directed graph linking surfaces, edges and vertices to represent the part
(figure 2.16). A surface normal identifies the interior of the part.
Boundary representations provide an explicit definition of the part boundary, and
hence are very useful for surface intersection calculations. Furthermore, it is easy to
associate technological data with both a complete part or an individual face. For example,
1registered trademark of Structural Dynamics Research Corporation, Milford, OH, USA2registered trademark of Micro Control Systems, Inc., Vernon, CT, USA
Chapter 2. Literature review 44
Solid
Figure 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 surface
property (figure 2.17(a)). That is, the surface cannot touch or intersect itself. The
orientable property requires that two separate sides of the surface be distinguishable.
This rules out such well known exceptions as the Möbius strip (figure 2.17(b)).
When updating a B-rep, difficulties can arise in maintaining topological validity. It is
easy to specify a data structure which does not represent a manifold, orientable surface.
Detailed information on topological validity can be found in the text by Hoffman [46].
The point to be made is that updating a B-rep, inserting new vertices, edges and faces,
Ghapter 2. Literature review 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 geometry
In a constructive solid geometry (CSG) representation, the part is defined by regularized
Boolean set operations [122] intersection fl*, union U* and difference —* applied to
primitives such as blocks and cylinders (figure 2.18(a)). The formula to produce the
shape is maintained in a binary tree styled data structure, where the primitives are stored
at the leaves and the Boolean operations are stored at the interior nodes (figure 2.18(b)).
Primitives and solid combinations can be translated or rotated to achive more complex
representations. The term regularized means that the resulting solid has no regions of
zero thickness (dangling faces) (figure 2.19). A subtree is simply the portion of a CSG
tree below the interior node root. Widely known implementations of the approach are
the PADL-2 [11] and TIPS [86] solid modellers.
Chapter 2. Literature review 46
The CSG approach provides an intuitive procedural representation. A well chosen
ordering of the set operations will produce a data structure which, when traversed, spec
ifies in order the volume removal operations that would be required to machine the part.
In terms of internal storage requirements, CSG is most efficient because only the implicit
definitions of the primitives and operators need be maintained. It is easy to add another
primitive to the data structure, since evaluation of the part boundary or volume occu
pied can be deferred. This property can be exploited when maintaining a changing part
model, as is the case in milling process simulation.
2.4.4 Comparison of solid modelling strategies
The spatial enumeration or octree scheme has not received serious attention for mechan
ical part modelling purposes. Although it offers a conceptually simple way of dealing
with complex surfaces, many practical parts are of the functional variety. That is, they
can be represented by combining simple shapes such as the CSG primitives. The sub
stantial memory requirements and loss of exact part representation for even cylindrical
objects have limited its acceptance. For milling process simulation purposes, it is ex
pected to be very inefficient. Cutter immersion information is not available in a simple
form. Although the spatial location of occupied cubes is explicitly stored, a very large
data structure would have to be traversed to locate these. Again, there is no apparent
method of extracting the needed geometrical information in a condensed form.
A frequently stated advantage of the boundary representation scheme is its apparent
superiority when technological information (surface finish tolerance, etc.) must be speci
fied. The explicit representation of each part face facilitates storage of such information.
Requicha and Chan [96], however, have observed that CSG model1es can also implement
storage of information associated with a part face. Each primitive has a finite number
of faces, and hence the information can be stored at the primitive level. When Boolean
Chapter 2. Literature review 47
Solid P r I m it i ye s
Figure 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.
A
88
(a)
C
(b)
Chapter 2. Literature review 48
danglingface
AnB An*B
Figure 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. That
is, faces can be removed through Boolean operations, but never created. Therefore, it is
sufficient to maintain technological information for only the primitive faces.
The only known attempt to implement a milling process simulation system directly
using the B-rep strategy is by Melkote and Kendall [78]. The difficulty in using B-reps
is, like the octree representation, the need to explicitly maintain the part shape. Since
boundary evaluation is well recognized as an inherently expensive computational task
(see for example [99]), this can lead to very poor simulation speed when a complex part
is to be cut using many cutter paths. Explicitly evaluating the boundary after each cut
and then updating the part representation data structure is a very unattractive idea, and
no methods of avoiding this task are obvious.
The primary difference between the CSG and octree or B-rep strategies is its implicit
representation. An implicit representation requires minimal information storage, and is
//A//
Chapter 2. Literature review 49
advantageous when frequent updates to the part model are anticipated—such as during
simulation of pocket milling. However, before any engineering analysis can occur it
is necessary to evaluate the implicit CSG primitives to obtain the actual part shape.
Methods of accomplishing this using a B-rep conversion strategy are well known [9, 99,
123]. Conversion from B-reps or octrees to a simple CSG representation is an unsolved
problem.
Alternatively, ray casting methods (see for example Roth [101]) can be used. Ray
casting is becoming a widely accepted evaluation method for CSG models, and specialized
hardware has been developed to accelerate this operation [30, 54]. An illustration of ray
casting is shown in figure 2.20. A field of infinite rays are cast through the solid region,
and classified into in and out sections [99, 123]. The ray casting method is particularly
well suited to rendering the solid on a video display since it automatically performs
hidden line removal, and is easily extended to shading.
In this thesis, for implementing the milling process simulation system outlined, the
CSG representation is most convenient. It most naturally accommodates representation
of features in the part, or the volume removed by a cutter path [14, 16, 93, 96, 112].
The use of simple primitives permits a methodical calculation of cutter immersion an
gles using the “divide and conquer” paradigm (chapter 4). Furthermore, the implicit
representation of CSG permits effective grouping of primitives, and an easier method of
avoiding redundant calculations during long simulations (chapter 5).
2.4.5 Computational geometry
As has been observed by Quinlan and Woodwark [94], “Solid modelling has now come of
age, and attention is shifting from demonstrating that techniques are feasible to questions
of efficiency and utility.” Similar conclusions have been reached by Voelcker and Wesley
[138]. Progress towards this goal is a primary aim of the thesis. This section briefly covers
Chapter 2. Literature review 50
Figure 2.20: Ray casting for CSG evaluation. An infinite ray is cast through the 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 51
the computational geometry tools that are expected to contribute towards attaining an
efficient and methodically implemented solid modeller based milling process simulation
system.
Computational geometry is concerned with the development of efficient algorithms for
geometrical problems [77, chapter VIII]. Much of the classical literature on the subject
discusses 2 D (planar) problems, but 3 D extensions are receiving increased attention—
often because of their applications in solid modelling. Although the extent of the field is
not precisely defined, problems such as
• reporting all intersections within a set of line segments
• locating the portion of the plane containing a nominated point
• subdividing the plane into disjoint regions with a specific property
are examples of interest areas.
Since all of the geometric calculations required to implement a solid modeller based
milling process simulation system require repeated queries of the part representation,
computational geometry techniques will be of value in obtaining efficient solutions.
Using the CSG scheme, part representation queries result in extensive tree traversal
to check each primitive for relevance in a particular, localized calculation. With large and
complex models, the number of primitives to examine can easily number in the hundreds.
Simulation of material removal expands the problem since each cutter path would be
modelled as a group of primitives in addition to the initial, blank part. The greater than
linear time growth rate of most query algorithms further increases the computation effort
required.
Lack of explicit location information hinders identification of relevant CSC primitives
for a particular calculation. One approach suggested to overcome this deficiency is to
Chapter 2. Literature review 52
Figure 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 segments
the primitives [94, 1391. The method proposed is similar to the octree method. Al
though this technique is valuable for a static part model, the time consuming calculation
needed to update the data structure as the part shape changes limits its usefulness during
milling process simulations. Instead, most contemporary approaches rely on redundancy
detection methods.
In a CSG solid model, a primitive is said to be redundant if it can be replaced by either
the null set A or the universal set 2 and, through simplification of the Boolean expression,
then removed from the overall solid representation. To illustrate, in figure 2.21 A is A
redundant in A U *B, and C is 2 redundant in C U *D.
Redundancy detection usually involves forming a local approximation of a primitive to
reduce the complexity of the query. Near the primitive C Tilove [124] calls S’ a localization
of S if S U *C 5’ U *C (figure 2.22). In his paper he further describes a number of
algorithms designed to detect null objects. The approach is particularly intended for use
(a) (b)
Chapter 2. Literature review 53
Figure 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 they
do not interfere, otherwise they do. A difficulty with Tilove’s approach is that he does
not specify how one should choose an approximation SI.
A number of approximate bounds for a CSG primitive S have been suggested, but the
iso-oriented box or isobox a(S) [46, 77] is most widely accepted. Two and three dimen
sional examples of isoboxes are shown in figure 2.23. An isobox bound just encloses the
associated primitive, and has its sides oriented parallel to the coordinate axes. Efficient
algorithms based on the interval tree or segment tree have been developed to report all
intersections between a population of n isoboxes. Assuming that N intersections are re
ported, the running time growth rates achieved are O(N+n log n) and O(N+n log2 n) for
the 2 D interval tree and 3 D segment tree solutions respectively. The reader is referred
to the texts by Hoffmann [46] and Mehlhorn [77] for further details.
Using a bound such as an isobox, Cameron [17] has proposed the S-bounds CSG based
bounds refinement and redundancy checking method. His approach involves initially
surrounding each primitive with an approximate bound (such as an isobox). Then,
through a series of refinement steps alternately traversing the tree from the leaves to the
Chapter 2. Literature review 54
(a)
()
(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 isobox
A
(A)
Chapter 2. Literature review 55
root and vice versa, an approximate bound for the CSG tree (or subtree) as a whole is
obtained. Bounds other than isoboxes, such as circles, convex polygons or spheres, have
also been suggested [19]. Further details on the S-bounds method are given in chapter 5,
where the question of redundacy and milling process simulation is specifically addressed.
An alternative redundancy checking method, which exploits the CSG set theoretic
principles and Boolean operations, is the the active zone method proposed by Rossignac
and Voelcker [100]. The active zone Z(S) of a CSC primitive S is the region within
which, if the shape of S were to change, the resulting CSG tree shape would also change.
Conceptually, it is easier to consider active zones on a positive CSG tree—that is, trees
with only U* and 11* operations. All —* operations are replaced by a fl* operation, with
the right child replaced by its set complement.
The active zone of a primitive S is determined by replacing it with , and interpreting
any U* operations as —* operations along the tree traversal path from the root to S. It
has been shown [100] that a primitive S is redundant if and only if 2(5) C 5, and is
A 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, and
isoboxes are frequently suggested to approximate this. Cameron and Rossignac [18]
discuss relationships between S-bounds and active zones.
After any primitives in a CSG tree have been identified as A or Q redundant, the tree
can be simplified to eliminate the redundant leaves. This is accomplished by applying
the appropriate Boolean set identity from table 2.1.
In some instances explicitly building the CSG tree and then applying an approximate
bounds method is inefficient. An example of this is pocket milling, where, conceptually,
the volume swept by each cutter motion is modelled by a small CSG primitive group,
and the tree is updated at the completion of each cutter pass (figure 2.24). If a large
number of paths n are needed to clear the pocket area, the CSG tree will grow quickly
Chapter 2. Literature review 56
A1 AuB AnB A-*BPA P A PAP P A APci ci P A
ci P
Table 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 cutter
path, only preceding paths with interfering swept volumes are relevant. The number of
relevant paths N is expected to be few, and hence, rather than performing redundancy
detection on the entire tree of n paths, it is more appropriate to find the N relevant paths
and build a CSG tree including only those. When processing path i, the most natural
query is to check each of the preceding i — 1 paths for interference. Over all n paths in
the pocket, however, this requires 0 + 1 + 2 + . . . + (n — 1) n(n — 1)/2 or ci(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 and
planar subdivision based methods.
2.4.6 Numerical analysis
As stated in chapter 1, a multi-faceted approach to optimizing the calculations for 2 1/2 D
parts is planned. Reducing summation of small axial elements is accomplished by develop
ing analytical expressions for the required cutting force and torque equations (chapter 6).
Beyond accelerating calculations at a particular cutter rotation angle, this achievement
Chapter 2. Literature review 57
A/\
(a)
M2)—*M3)—*M4)—*
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 58
enables the use of numerical methods to quickly locate extreme values over a tooth pe
riod. This is needed, for example, when the maximum resultant force is the limiting
constraint (to prevent end mill shank breakage). Numerical methods also are required
to condense the simulation data calculated along each cutter path, and to invert force—
feed rate relationships for process planning purposes (chapter 7). Other examples arise
throughout the thesis. The primary numerical analysis reference texts used in the thesis
to solve these problems were Brent [10], Conte and de Boor [27] and Forsythe, Malcolm
and Moler [34j.
Chapter 3
Process model and constraint mathematics
3.1 Overview
In the first section of this chapter the mathematical relationships used to implement the
solid modeller based milling process simulation system are developed. The predictions
calculated using these equations are needed both for process planning and to provide
technological data to assist in online monitoring and control tasks. The second section
presents the constraint equations used to schedule appropriate cutting conditions during
each cutter motion.
3.2 Milling process model relationships
Mathematical milling process models have been developed to varying levels of accuracy
and complexity. A review of the these was recently presented by Smith and Tlusty [109].
3.21 Material removal rate based models
The simplest models are based on the equation (figure 3.1(a))
MRR = adswJ/2-w
where
MRR is the material removal rate (mm3/s)
a is the axial depth of cut (mm)
d is the radial width of cut (mm)
59
Chapter 3. Process model and constraint mathematics 60
st is the feed per tooth (mm)
w is the spindle speed (radians/s)
3 is the number of teeth on the cutter
The average power consumed during cutting is then estimated to be
PZPSP.MRR (3.1)
where the specific power P3, is determined either by experiment or reference to published
data [81, chapter 7]. Directly from (3.1) the average torque is then computed as
(3.2)
Equations (3.1) and (3.2) provide a simple check that the the capacity of the spindle and
motor will not be exceeded. They were used to provide basic feed rate scheduling in early
systems such as EXAPT, and remain the extent to which the milling process physics is
considered in contemporary cutter path planners.
Researchers such as Wang [140] have attempted to extend this model to predict
cutter deflection and surface location error in end milling. The proposed equation is
(figure 3.1(b))
F = 0.5P/v
where F is the cutting force component normal to the feed direction and v = wr is the
peripheral cutting speed. The cutter is assumed to deflect as a cylindrical cantilever beam
with the force F concentrated at the tip. This equation does not consider the discrete
edges that are actually involved both in producing the cutting force and instantaneously
generating the finished part surface. Agreement with experiment is poor.
Chapter 3. Process model and constraint mathematics 61
Figure 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 62
3.2.2 Uncut chip thickness based models
Improved mechanistic models which consider the instantaneous in cut geometry of each
portion of the cutter teeth are used as a basis in this thesis. Two variations are considered:
(1) the average chip thickness model, denoted by ACT throughout the thesis, and (2)
the linear edge force model, denoted by LEF.
Average chip thickness model
Koenigsberger and Sabberwal [59, 102] first reported the proportional relationship be
tween the uncut chip thickness and the tangential cutting force component. This model
has been extended by Tiusty and MacNeil [127] and DeVor, Kline et al [37, 57] to include
a radial force component.
For an elemental axial slice, the cutting forces at each tooth j are separated into tan
gential dFT,3 and radial dFR,J components (figure 3.2) and modelled using the expressions
dFT,(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 as
h(q,z) =s1sinq5(z)
wheretan çb
Z
and
s is the feed per tooth (mm)
is the cutter rotation reference angle (figure 3.2)
q is the angular spacing between successive teeth
Chapter 3. Process model and constraint mathematics 63
The slice of tooth j at axial location z is engaged in cut (and forces exerted) oniy when
4j(z) < q. The slices are added together to obtain the total force since, for
end mills, the existence of a non-zero helix angle J.’ complicates derivation of an overall
analytic expression. This is a computationally intensive task for which improvements are
developed in chapter 6.
The specific cutting pressure Kr and the radial/tangential force ratio KR are calibra
tion parameters particular to a cutter and part material combination. They are modelled
as exponential expressions of the average chip thickness ) per revolution [57}
MTi_PT
(3.4)KR = MRh
The average uncut chip thickness is defined geometrically as the ratio of the chip volume
removed to the exposed chip area. Hence for 2 1/2 dimensional parts (figure 3.3)
a> I 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 are
a number of in cut sections, which the solid modeller must be able to quickly identify
by examining the part geometry (chapter 4). Two special cases frequently arise in end
milling for which there is only one in cut section: (i) down milling, where the single
cutter immersion interval is [q, ir); and (ii) up milling, where the single cutter immersion
interval is [0, q).
Chapter 3. Process model and constraint mathematics 64
Linear edge force model
Yellowley [3, 153] has proposed a linear milling process model which divides the forces
into uncut chip and edge contributions. His model has the form
= 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 is
no helix angle, and hence the entire edge of the tooth is located at the same angle,
independent of the axial position z. Therefore in this case h(q) s sin and çb =
q + jq. The remaining parameters are independent of the cutter immersion geometry,
and are determined experimentally. Edge forces are accounted for by the critical uncut
chip thickness h*. The specific cutting pressure is K. The constants c1 and c2 specify
ratios between the radial and tangential force components.
Cutter and part deflection at large depths of cut can be significant, causing the teeth
to resist entering the part material until well past reference angle 0 (up milling).
This results in the edge forces being exaggerated, and hence the model cannot generally
be used as a process model for end milling.
3.2.3 Other models
The mechanistic uncut chip thickness models described in the previous section are widely
accepted and used, and serve adequately to develop the solid modeller based milling
process simulation system methods proposed.
Models of increased complexity proceed to consider the flexibility of the cutter and
part, and the influence that this has on the instantaneous uncut chip thickness. With
large flexibilities and small cutter diameters or widths of cut, this indeed is a significant
effect. It was not thoroughly considered in this thesis because the basic geometrical
Chapter 3. Process model and constraint mathematics 65
yt
x
(b)
z
Figure 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 66
Figure 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 flexible
end mill is considered in conjunction with the linear edge force model to develop the
process model to be used with an adaptive control system. The proposal is to augment
the controller with a priori information from the solid modeller to warn of upcoming
part geometry that otherwise would lead to sudden cutting force transients and end mill
shank breakage.
Models which include chatter simulation require time domain simulations [109, 125],
and are very computationally intensive. Much of the work in this area has been conducted
to further understanding of chatter. It is recognized that a chatter model to predict the
limit of stability will depend on immersion geometry, particularly the depth of cut and
number of teeth in immersion. A basic model of this form is considered in chapter 6.
Chapter 3. Process model and constraint mathematics 67
3.3 Constraint equations
Achievement of untended machining by avoiding unexpected factory floor events through
a priori planning is preferred practice, and hence the ability to plan good cutter paths
and appropriate cutting conditions is essential. Consideration of the MRR constraints
as they apply to the chosen part and machine tool is therefore a central purpose for
developing a milling process simulation system. In an integrated system information on
the relevant constraints to monitor would be communicated to the machine tool controller
to assist with its online operations. It will be shown in this section that knowledge of
the cutter—part intersection geometry is fundamental to these tasks.
3.3.1 Torque and power
Instantaneous maximum and average torque and power must be limited to the capabilities
of the spindle shaft and motor. These specifications are provided by the machine tool
manufacturer, or can be measured experimentally.
These constraints are most prevelant during face milling, where larger radii cutters
are used, and during high speed end milling. Assuming a zero helix angle, the torque
contributed by tooth j of the cutter, engaged in the part at an angle qj = + jq, is
Tj(q5) = rFT3(cb)
where r is the cutter radius. Either the ACT (3.3) or LEF (3.6) models can be used
to compute the tangential force FT3(). The total instantaneous torque is found by
summing the contributions of all teeth in cut, which is dependent on the part geometry.
The maximum torque can be determined by sampling over the angles swept out during
one tooth period, but is more efficiently found by applying either calculus or numerical
methods (chapter 6).
Chapter 3. Process model and constraint mathematics 68
The average torque and power are found by integrating over a full revolution of the
cutter. For the average torque
jE _jT(q)dq
This calculation must be carried out in a piecewise fashion, with endpoints occurring
each time a tooth enters or exits from in cut contact with the part. Knowledge of the
part geometry is essential.
The average forces in the z and y directions are not considered as constraints, but
are useful for verifying the part shape (chapter 7). In chapter 6 it will be shown how, in
conjuction with the part geometry, the average forces are used to calibrate the milling
process model parameters.
Using the relationship P = Tw constraints on power can similarly be calculated.
3.3.2 Tooth breakage
To prevent fracture of the cutter tooth, its load must be limited in any milling operation.
Detailed analyses of this constraint have been carried out by a number of authors such as
Pekeiharing [89, 90]. For implementation as a constraint, the simple limit on the uncut
chip thickness
hmas SSi7Lbj (3.7)
suggested by Yellowley [151] is adopted in this thesis. By finding the in cut immersion
intervals using a solid modeller, the maximum value of sin q is easily found. The per
missible feed rate s can then be selected to satisfy the maximum uncut chip thickness
threshold hma.
Chapter 3. Process model and constraint mathematics 69
3.3.3 Shank breakage
Shank breakage is a common cause of high speed steel (HSS) end mill failure. It occurs
when the tensile stress exceeds the strength of the brittle tool material. A normal stress
load results from the bending moment caused by the maximum resultant cutting force
Fmax = sup{(F()2+F()2)2e[O,4)}
An additional shear stress arises from the torque on the cutter. The normal stress due to
the axial force is assumed to be negligible. As a first approximation, the cutter is assumed
to be a cylindrical cantilever [62]. Its moments of inertia are calculated assuming a radius
of O.8r. That is,
I r(O.8r; J ir(O.8r
Using Mohr’s circle (figure 3.4), the tensile stress is
2 1/2
° +Txy +
The maximum tensile stress is expected to occur on the cutter surface in the shank region
whereMmaxrc Tmaxrc
and r,=
A typical end mill is very slender, with L > 8r. Additionally, it is difficult to achieve
clearance between the tool holder and the part unless L > 2a. The maximum bending
moment is therefore
Mmax F, (L—
3L> - ma
> 6Fma7’c
The tangential force from each edge will certainly be less than Fmax, and at most two
edges of a four tooth cutter will ever be fully immersed simultaneously. Therefore the
Chapter 3. Process model and constraint mathematics 70
maximum torque will be Tmax<2Fmaxrc. With these approximations
/ / \2 1/2
— ( MyaT i I \ i Mmaxrcma 21 ) J ) 21
[(i.55Miax)2+(1.55T)2]2
+ 155Max
Fmax { [x + x’]112 + XM}
where XM > 9.3 and XT < 3.1, implying that the contribution to the maximum tensile
stress due to the torque component is less than three percent. The maximum resultant
cutting force alone is therefore used as the shank breakage constraint in the thesis.
Computation of the maximum resultant cutting force for helical end mills is an in
volved task because of the perceived complexity of the cutter—part immersion geometry.
The common approach in the literature (see Kline [57]) is to divide the cutter into a
number of differential axial elements (figure 3.5). The cutting forces are determined for
each slice, and vectorially added together to find the overall force. This must be repeated
at small increments of rotation over a tooth period to find the maximum resultant force
under the current immersion conditions. A more rapid approach to solving this problem
is developed in chapter 6.
3.3.4 Surface location error
The flexibility of slender end mills causes them to deflect under forces, leaving a location
error on the finished part surface. Modelling the cutter as a cantilever beam, Kline [58]
computed the force normal to the part surface and the corresponding cutter deflection
incrementally. He assumed that the total normal force F(qS) was concentrated at the
normal force centre zcF,(q), which is defined as the point where the total normal force
would cause the same bending moment at the tool holder as the distributed normal force
density wy(cb) (figure 3.6). The deflection of the cutter was then computed from the
Chapter 3. Process model and constraint mathematics 71
max
Figure 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.
0
Chapter 3. Process model and constraint mathematics 72
resultantforce
Figure 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 73
cantilever equation
z) = [<zcF,() - z > -(L - z) + 3(L - z)2(L-
where L is the length of the cantilevered portion of the cutter, E is Young’s modulus and
I is the cutter moment of inertia. The location of the flute contact with the part was
found, which defines a point on the finished surface. To entirely determine the part surface
location, the calculation was incrementally repeated over an entire tooth rotation period.
He extended his model to include radial runout (eccentricity) and included flexibility of
the part through the use of finite element methods.
By assuming a rigid part and using an analytic solution for the cutting forces, the
normal force density w(4, z) can be found and the cantilever beam equation
d4 ()El —w,z)
solved exactly. Further simplifying to a point force applied midway along the depth of
cut, the maximum surface location error can be predicted without iteratively sampling
at many cutter rotation angles. This permits a rapid scheduling of feed rates to avoid
excessive error. These ideas are developed in chapter 6.
3.3.5 Tool wear
Useful cutting tool life depends on many factors including tool and part material, cutting
velocity (spindle speed), and, in milling, the influence of intermittent cutting.
Yellowley and Barrow [150j have developed a model which is strongly dependent on
the cutter—part immersion geometry. In peripheral milling, they define an equivalent feed
per toothS
t,eq J sin 1bdb (up milling)leX 0
Chapter 3. Process model and constraint mathematics 74
zsurface generation
port
points z
on the shank
WY
Figure 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 bending
moment
L
Y
a
CF, y//
Chapter 3. Process model and constraint mathemaLics 75
and then derive the tool life relationship
1ta
31/Tpq
where ta is the tool life time in cut. The exponents s, 1/r, p and q are calibrated for the
tool and part material. The thermal fatigue parameter X is defined as
1/2
X=Er(R.t_)
where
Er is a temperature calibration parameter
R is the spindle speed in rpm (= 60 2ir . w)
t is the uninterrupted tool life time
The ratio t/ta relates the uninterrupted cutting time to the actual time in cut, which for
a single immersion interval is equal to
27r
q58t
This thesis does not further consider tool wear as a constraint, but geometrical informa
tion from the solid modeller clearly is needed to handle tool life predictions.
3.3.6 Chatter
A fundamental explanation of chatter theory is best presented by considering a single
tooth edge. The material following is based on Tlusty [125]. The predominant and
sustaining cause of chatter in milling is regeneration of an undulating surface, caused by
a relative vibration between the cutting edge and the part (figure 3.7)
Assume that the preceding pass of the cutting edge left a wave
Rosinwt
Chapter 3. Process model and constraint mathematics 76
Figure 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.
hm
Chapter 3. Process model and constraint mathematics 77
and that the current pass is producing a wave
r = R sin(wt + 2irN + e)
If the mean feed or chip thickness is hm, then the instantaneous chip thickness is h
hm + h, where h = r0 — r. The cutting force is assumed to obey the equation
F = Fm+Fv
KTR1c(hm + h)
= KTRlchm + KTRl(ro — r)
where KTREJ? is a specific cutting pressure related constant and l is the length of contact
between the cutter tooth and the part.
The regeneration process can be imagined as a feedback ioop as shown in figure 3.8.
The Laplace domain oriented transfer function GU,oR(s) R(s)/F(s) relates the motion
of the cutter edge in the r direction to the cutting force. The e2 term is the Laplace
delay element. At the limit of stability R = IR0L which occurs when the Nyquist
criterion [43, chapter 10]
KTRlGoR(s)(l — = —1
is satisfied. Since all the other values are real and positive numbers, it must hold that
G,oR(s)(1 — eJc) = 2T[G,oR(s)j < 0
where J?[G,oR(s)] is the real part of G,oR(s). If e is unrestricted (as is the case at lower
spindle speeds) then the theoretical stability limit on the contact length is
—11c,lim = r j, c[ç’ 1 (3.8)
ATRJ413v,ORjmin
where
J[Gu,OR1mzn inf{J?[G,oR(jw)] wc(—oo, +oo)}
Chapter 3. Process model and constraint mathematics 78
That 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. In
high-speed milling the spindle speed can be manipulated adequately to control e and
achieve an increased 1c,Lim that lies between stability lobes [108, 125]. This idea is not
pursued further in this brief introduction.
Another form of chatter, mode coupling, is non-regenerative. It is less prominent in
milling applications, and is not explained here.
Derivation of a theoretical expression for multi-toothed milling cutters is difficult
because of the varying orientation of the cutter edges. Time domain simulations are
therefore used for accurate research study. From figure 3.8, however, it is apparent
that the depth of cut, a geometric quantity, is a fundamental parameter for single tooth
cutting. For multi-toothed cutters research studies confirm that the equivalent parameter
is the length of cutter edge in cut. This can be calculated from the part geometry
(figure 3.9) and correlated with time domain chatter simulations to develop a prediction
capability.
3.4 Summary
The strong dependence of the milling process model and constraint calculations on the
cutter immersion geometry is readily apparent from the material presented in this chap
ter. For the 2 1/2 D parts considered, the axial depth of cut and the angles during which
the teeth are engaged in the part (the immersion angles) are the essential variables.
The following chapters develop capabilities to allow a CSG based solid modeller to
methodically and efficiently determine this geometric information along each cutter path
as the part is machined.
Chapter 3. Process model and constraint mathematics 79
R(s)
Figure 3.8: Feedback ioop in chatter (adapted from Tiusty [1251). The nominal 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 4
Cutter—part intersection calculations
4.1 Overview
In chapter 3 cutter-part immersion geometry was identified as fundamental to implemen
tation of a milling process simulation system. For the 2 1/2 D parts under consideration
this can be determined by finding the axial depth of cut a, and the immersion intervals
[q8,cbex,i) (figure 4.1).
To determine the immersion geometry, imagine the cutter as an advancing cylinder
which cuts along only its leading edge (figure 4.2(a)). This concept has been proposed
by Bertok et al [7] and Wang [140], but these authors used it to implement a milling
process model at only the MRR level. In a particular lamination of the 2 1/2 D part,
consideration of a planar semi-circular arc advancing along the cutter path is sufficient.
For this case the axial depth of cut is constant, and readily determined by a query of the
part model and cutter path specification. It remains to calculate the two dimensional
cutter immersion intervals [qSt, qexi) which vary as the part features are encountered
along the path (figure 4.2(b)). Development of an efficient method to determine this
cutter-part intersection information is the chapter focus.
In the next section, intersection calculations for a stationary semi-circular cutter
arc encountering rectangles and circles (2 1/2 D blocks and cylinder primitives) are
developed. The simplicity of the intersection calculation with isolated primitives exploits
the “divide and conquer” paradigm unique to the CSG representation scheme.
81
Chapter 4. Cutter—part intersection calculations 82
Figure 4.1: Cutter—part immersion geometry. For the 2 1/2 D parts under consideration,this is the axial depth of cut a and the immersion intervals [q,j, qex,j).
t, 0 0e x , a)øst,1 øex,i)
,[øSt,2x,2)ci
Chapter 4. Cutter—part intersection calculations 83
cutter
Figure 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 lece
TV
(b)
Chapter 4. Cutter—part intersection calculations 84
The subsequent section describes how the CSG part definition can be used to combine
the intersection information from each primitive to yield the overall immersion angle data.
The Boolean operations that define the part are used, providing a methodical approach
that must function correctly. A practical demonstration of the method is shown using
an example part shape and a microcomputer implementation of the algorithms.
A final section summarizes the chapter.
4.2 Cutter—primitive intersection calculations
Simultaneous consideration of an arbitrary part when calculating the cutter immersion
interval is unviable. The infinite combination of CSG primitive combinations allowed
prevents enumeration of all cutter-part intersection possibilities. In contrast, the in
tersection calculation of the cutter arc with an isolated primitive can be exhaustively
analyzed. In this section, intersection of the semi-circular cutter arc with rectangles and
circles (2 1/2 D blocks and cylinders) is studied.
In the x’-y’ plane, the straight line cutter path is assumed to begin at the point
yp,i) and end at (x,2,Yp,2) (figure 4.3). To provide a consistent reference frame for
the intersection analyses, a homogeneous transformation [441 is applied which maps the
cutter path to begin at the origin (0, 0) and extend along the x axis to (lu, 0), where the
path length l is equal to ((x,2—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 equation
0 Xp,l
0 =A•
1 1
Chapter 4. Cutter—part intersection calculations 85
where
1 0 Xp,i
= 0 1 Yp,i (4.1)
00 1
The rotation required to then move the path onto the x axis is
cos6 sin& 0
A 6 0 (4.2)
0 01
where
I Yp,2 Yp,10 = arctan\ Xp,2 — p,i
is the rotation angle. Transformation of the rectangle and circle primitives from the x’-y’
coordinate system to the x-y coordinate system is therefore accomplished by multiply
ing together the matrices from (4.1) and (4.2) to yield the matrix A = ArAt. Using
homogeneous coordinates, the transformation equation is
x
=A.
1 1
Calculations in all subsequent sections assume that the primitives and cutter path have
been transformed into this x-y coordinate system.
Rectangles are defined by a base point (Xrb, Yrb), lengths l and l,,, and an orientation
angle 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 = Yrb
Xr1 = Xrb + ,, cos Yr,1 Yrb + l
Xr,2 Xrb — lsina +lcosa Yr2 Yrb +lcosc + lsina
Xr,3 1y 5fl t?t = y,.j, + l, cos
Chapter 4. Cutter—part intersection calculations 86
y
(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 cutter
arc with a rectangle or circle primitive:
1. Locate the critical points along the cutter path at which contact between the cutter
arc and the primitive begins or ends. The immersion angles will be unchanging on
one side of such a point.
(x,1,y1)
x
2. Carry out the immersion angle calculations where necessary along the segments
Chapter 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.
yx
y
Chapter 4. Cutter—part intersection calculations 88
between the critical points.
The mathematics needed for these tasks is developed in the following sections.
4.2.1 Rectangle calculations
The intersection of the cutter arc with a rectangle is further subdivided into an isolated
treatment of each of the four sides. Cases of the side being (1) perpendicular, (2) parallel
or (3) at an intermediate angle to the cutter path are separately considered.
Perpendicular side
For the case of a perpendicular side, initial contact occurs only if some portion of the
side is within r, of the cutter path. Denoting the sides endpoints K1(XK1,yKl) and
K2(xK2,yK2), if the side K1K2 crosses the path then initial contact occurs when the
cutter arc is tangent to the side (figure 4.5(a)). That is, the cutter arc centre C(xc, 0)
at initial contact is located at (XK1 —r, 0).
Otherwise, construct a triangle from the side endpoint with a hypotenuse of length
r, back to the cutter path in order to find the cutter arc centre at initial contact (fig
ure 4.5(b)). In the example the side endpoint is K2 and the cutter arc centre C is located
at (xK2 — (r —
y2)’/2 0).
If either endpoint of the side is farther than r from the path, then the cutter arc
centre at final contact is the intersection of the path with the infinite extension of the
side (figure 4.5(c)). That is, C (XK1,0) at final contact.
Otherwise, choose the endpoint most distant from the path, and construct a triangle
from there with hypotenuse length of r back to the path to find the cutter arc centre
point at final contact. In the example the most distant point is K2, and C = (xjc2 —
(r—y2)’/2,0) (figure 4.5(d)).
Chapter 4. Cutter—part intersection calculations 89
cutter arcK1
Crectangle
v side(a) ‘2
rK2
(d)
Figure 4.5: Rectangle—perpendicular side. The side endpoints are Kl(XK1,yJcl) andK2(xK2,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.
K1
c
(b)
C
Chapter 4. Cutter—part intersection calculations 90
cutter arc rectangleside
(b)
Figure 4.6: Rectangle—parallel side. The side endpoints are K1(XK1,yKl) andK2(xiç2,yK2). The cutter arc centre point is labelled C. (a) Initial contact (b) Finalcontact.
Parallel side
Sides parallel to the cutter path can quickly be evaluated. If the side is farther than
r from the path, then no contact occurs. Otherwise, construct triangles from the side
endpoints, with hypotenuse of length r, to find the cutter arc centre points at initial and
final contact (figure 4.6). In the example shown these points are (XK1 — (r —
y1)1/2,0)
and (XK2 — (r —
y2)1/2,0) respectively.
Intermediate angle side
Sides that are at an intermediate angle to the cutter path require a more involved analysis.
First, the side is checked to verify that a portion of it is within r of the cutter path.
Analysis continues only if this is so. If the side is nearly parallel or nearly perpendicular
to the cutter path, then the solutions for these earlier cases is used. Remaining cases are
assumed to be numerically well conditioned. A treatment of the specific numerical issues
for these calculations can be found in the article by Middleditch, Stacey and Tor [82].
C
K1 K2
(a)
C
Chapter 4. Cutter—part intersection calculations 91
Figure 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 the
cutter arc (figure 4.7(a)), or when an endpoint of the side is reached (figure 4.7(b) and
(c)). The three possibilities are individually checked and the cutter arc centre point
earliest along the path retained as the initial contact point for the side.
Tangency occurs when the perpendicular to the side crosses it at a distance r away
from the cutter centre. Writing the equation for the side I(1K2 as
cutter arc
T
C
(a)
rectangleside
K1
K2
(c)
Y — ?IK1 = mK(x—
XK1) (4.3)
Chapter 4. Cutter—part intersection calculations 92
where the slope mK is given by
YK2 — YK1mK=
XK2
the 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 yields
XC = 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 be
on the side (i.e. be between K1 and K2). This is verified by checking that XT is between
XK1 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 with
hypotenuse of length r from K1 to the cutter path. The centre point C at which initial
contact occurs is (XK1 — (r— y)’/2,0). A similar calculation is made for endpoint
K2. The retained initial side contact point is then chosen as the candidate which occurs
earliest along the cutter path.
The final contact point of the cutter arc and side can arise in two ways. First, the
points where the side is a distance r away from the cutter path are checked (figure 4.8(a)).
Chapter 4. Cutter--part intersection calculations 93
This is determined by solving
— 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 centre
is 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/2,0)
(figure 4.8(b)). A final contact at side endpoint K1 is handled similarly. The retained
final contact point is the candidate which is latest along the cutter path.
The initial and final contact points of all sides are combined to yield critical points for
the rectangle as a whole. Before the overall initial contact point and after the final contact
point any cutter immersion interval query against the rectangle can be answered simply
by returning the null interval [0, 0). In this case the rectangle is null or A redundant.
Similarly, if it is found that the cutter arc is past final contact with some of the sides
before coming into initial contact with other sides, the arc must be entirely within the
rectangle. In this case the immersion interval is always a full [0, 7r) and the rectangle can
be replaced by the universal set 2 during this segment of the cutter path (figure 4.9).
In between the initial and final contact points for a rectangle side the immersion
interval endpoint angles must be explicitly calculated. For sides perpendicular to the
cutter path this is quickly accomplished by computing the angles
= ±arccos(XK1— xc)
(4.7)
measured from the horizontal cutter path (figure 4.10(a)). Following the usual notation
the corresponding immersion angles are çb = ir/2— 6A and çb = 7r/2
— 9B• For sides
parallel to the cutter path the immersion interval endpoint is a constant q = 7r/2—
Chapter 4. Cutter—part intersection calculations 94
Figure 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.
K3
K1
Figure 4.9: Rectangle l redundancy. After the cutter arc passes final contact with sidesK2K3 and K3K0 it has yet to initially contact sides K0K1 and K1K2. During this periodthe rectangle is redundant, and the cutter immersion interval is always [0, 7r).
cutter arc
rectangleside
‘2
K2(a) K1 (b)
K2
K0
Chapter 4. Cutter—part intersection calculations 95
where (figure 4.10(b))
= arcsin () (4.8)
For sides at an intermediate angle to the cutter path, a line CT passing through
the instantaneous cutter centre C(XC, yc) and perpendicular to the side is constructed.
This line is the bisector of the chord A (figure 4.10(c)) and intersects it at the point
T(XT,yT). The angle L is given by
— arctan—
(4.9)\YK2 —YK1)
Furthermore,/CTj\
= arccos j (4.10)r j
and 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 must
be classified as in or out of cut. For this purpose the rectangle is first considered as
a complemented feature—that is, it is considered as an empty area surrounded by solid.
Because a rectangle is a convex shape, each exterior immersion interval will be associated
with only one of the sides, and hence they can be treated in isolation. On the other hand,
cutter arcs inside of the rectangle can interact with the sides in complex ways.
After the cutter immersion intervals for all four sides of the rectangle have been
combined and complemented to again reflect a solid interior rectangle, the in or out
of cut classification of the cutter immersion intervals begins. This is done by checking
whether the zero angle point O(xo,yo) (figure 4.11) is inside or outside of the rectangle.
Denoting the four rectangle vertices Kk( r,k, Yrk)k=O...3, this is accomplished by imagining
each side of the rectangle to be a vector KkKI where 1 = (k + 1) mod 4. A second set of
four vectors KkO leads from each rectangle vertex to the zero angle point. Since the side
Chapter 4. Cutter—part intersection calculations 96
Figure 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.
0
B7-’-
(a) (b)
K1
K2(c)
Chapter 4. Cutter—part intersection calculations 97
vectors advance around the rectangle in a counterclockwise direction, if the zero angle
point is to the left of each side vector then it must be inside of the rectangle. With three
dimensional vector cross product notation, if K/cK1 x KkO has a positive z component
for k = 0. . . 3 and 1 = (k + 1) mod 4, then the zero angle point is inside of the rectangle.
Using the point coordinates, the zero angle point is inside of the rectangle if and only if
(r,i — Xr,ic)(yO— Yr,k) — (Xo — Xr,k)(Yr1 yr/c) > 0
When the zero angle point is inside of the rectangle, then its immersion interval
is marked as in cut, Advancing around the semi-circular arc the remaining intervals,
bounded by the intersection points A(XA,YA) and B(XB,YB) must then alternately be
out of then in cut. This process is repeated at each incremental sample point C(x, 0)
along the cutter path.
4.2.2 Circle calculations
The circle feature is assumed to have a radius of rF and be centred at the point F(XF, yF).
That is, its defining equation is
(x— XF) + (y
— YF) = r (4.11)
To determine if a cutter arc of radius r, ever intersects the circle the quadratic formula
is 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 intersection
query. Otherwise, the earlier of the two roots from (4.12) is the point of initial contact.
In figure 4.12 this is point A.
Chapter 4. Cutter—part intersection calculations 98
Figure 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.
K2
K1
K3 out
t, 1in
r\Q
Chapter 4. Cutter—part intersection calculations 99
r
Figure 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 100
The 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 inside
the circle, in which case the cutter immersion interval is a full [0,7r). This condition
is checked by constructing a line parallel to the cutter path a distance r away and on
the side opposite to the circle centre point F. The intersection points of this line with
the circle are then computed. If real solutions exist, the point with the earlier Xc value
locates the cutter arc centre when it passes fully inside of the circle. For example, in
figure 4.12 the circle centre F is above the cutter path and hence the parallel line has
the equation y —re. The intersection points are found by simultaneously solving the
line equation with the circle equation (4.11)
(XC — XF) + (—re— yp) = r
The earlier point in this case is marked B.
Assuming that the cutter did pass fully inside the circle, the next critical point occurs
when it again becomes tangent with the circle. This point is found by retaining the later
solution for XC in the equation
(TF — 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 perpen
dicular to the path is beyond the circle circumference. To find this point construct a line
parallel to the cutter path at a distance r, and on the same side as the circle centre point
F. The point of final contact is the intersection of the line with the circle that has the
later XC value. In the example of figure 4.12 the equation to solve is
(XC — XF)2 + (r— yF) = (4.14)
Chapter 4. Cutter—part intersection calculations 101
Figure 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 of
the circle. Instead, check solutions to (4.13). If real solutions exist then the later xc
value is the final contact point. Otherwise construct the parallel line r away from the
cutter path and on the same side as the circle centre F, and solve as in (4.14). These two
cases are illustrated in figure 4.13, where the cutter arc centre location at final contact
is marked C.
As with the rectangle feature, computation of the cutter immersion interval endpoints
is performed incrementally. At an instantaneous cutter centre location C(x, yc) the line
CP (figure 4.14), which is the perpendicular bisector of AB, subtends an angle
= arctan(XFXC)
(4.15)
(a) (b)
with the horizontal cutter path. The immersion interval endpoint angles are now
Chapter 4. Cutter—part intersection calculations 102
Figure 4.14: Circle—cutter intersection angles. The circle centre is located at F(XF,YF)and the cutter is centred at C(x, 0). The perpendicular bisector CF of AB is found,and the angles 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 circle
centre F to the zero angle point is less than rF, and out of cut otherwise. Moving along
the semi-circular arc the remaining intervals, bounded by the intersection points A and
B, are then alternately marked as in then out of cut to obtain the correct [4,j, qex,i)
classification.
OUt\
0
C
\
out
Chapter 4. Cutter—part intersection calculations 103
4.3 Cutter immersion interval combination
In order to find the cutter immersion arcs for the part as a whole, it is necessary to
combine the results for each isolated primitive. This is accomplished using a recursive
method which exploits the data structure and “divide and conquer” paradigm of the
CSG solid model representation scheme.
Cutter immersion queries are answered by a recursive traversal of the CSG tree used
to define the part. When two primitive or leaf nodes are found as children, the parent
operation is applied to combine the immersion data for each child according to table 4.1.
The actual merge of the two cutter immersion arcs is performed as follows:
1. Each primitive’s immersion data is stored in an endpoint list sorted in increasing
order by angle.
2. Beginning at the zero angle point, the lists are merged and the immersion intervals
marked as in or out of cut according to table 4.1.
3. Duplicate and redundant endpoints are deleted to yield the combined list.
This combination procedure is repeated until the entire CSG part representation tree has
been traversed.
Illustration of the procedure is shown in figure 4.15. The solid portion of the part is
shown hatched, and the in cut intervals of the cutter are drawn with thick arcs. The cor
responding Boolean immersion interval combination table is included as table 4.2. First,
the cutter immersion arcs for the rectangle A [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 clas
sified as either in or out of cut. The interval endpoints are sorted in ascending order by
angle, and merged. Finally, using table 4.1, the intervals are combined according to the
Boolean operator rules to yield the final immersion intervals [qst,i,q1ex,i).
Chapter 4. Cutter—part intersection calculations 104
A B Au*B AnB A-*Bin in in in outin out in out in
out in in out outout out out out out
Table 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 calculations
A
0st,A
0st,A
B—. øst,B
8—--- øst,B
Au*8_ øs t , 0
0
105
Figure 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,1
Chapter 4. Cutter—part intersection calculations 106
p xQpIp_[jo
øst,O øexO
0
øst,1 øex,1
0
øst,2 øex,2
0
øst, Oøex, 0
0øst,O1øex, 0
0
0st,1 Øex,1
0
Figure 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 the
form of a linked list data structure (figure 4.16). At each sample point along the
cutter path a list of the cutter immersion intervals [q5st,i, qex,) is formed. The lists for
each sample points are then chained together so that the cutter immersion information,
needed during milling process model calculations (chapter 6), is available incrementally
along the entire path.
A part consisting of 12 primitives and requiring a more complex CSG data structure
is shown in figure 4.17. Using this example, a demonstration of the cutter immersion
interval combination procedure is shown in figure 4.18. At each sample point along the
cutter path the immersion intervals are found for each of the primitives. The intervals
Chapter 4. Cutter—part intersection calculations 107
are then combined using the Boolean operation at the parent node. The procedure is
repeated until the entire CSG tree has been traversed. Figure 4.19 is a screen image of
the algorithms of this chapter as implemented on a graphics monitor equipped micro
computer (see [110, appendix D, program cutmod]). The time to calculate and display
the immersion intervals at 100 evenly spaced sample points along the cutter path was
approximately 20 seconds. In section 7.3 several face milling simulations and experiments
are conducted using this example part shape.
As more features are added to the part shape, the number of primitives and com
plexity of the CSG tree soon becomes excessive. The majority of the primitives will not
contribute to the immersion interval calculation at a specific point on the cutter path,
and hence a large portion of the computation time will be wastefully consumed. Ad
ditional computational effort is required to repeatedly sample along the cutter path to
determine the immersion intervals. When only a single immersion interval is involved in
the calculation, this incremental approach should be improved by developing analytical
formulae to express, as functions of the path position x, the interval endpoint angles
b8,(xC) and qex,i(xc).
In chapter 5 computational geometry methods for identifying and eliminating re
dundant primitives are examined. Interval endpoint angle functions are developed to
avoid incremental sampling along the cutter path when a simple immersion geometry is
recognized.
4.4 Summary
In this chapter a systematic method of finding the cutter immersion angles was developed.
First, the straight line cutter path was transformed to a standard location and orientation
beginning at the plane origin and advancing along the positive x axis. Using concise
Chapter 4. Cutter—part intersection calculations 108
Figure 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*
CD
Chapter 4. Cutter—part intersection calculations
Figure 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*\
/
‘60
0 10-/
-
_u\.
0 \ 0
‘Li 0 1
/u*\ /u*\ /u*\
:; -0 ) 0) 0 ) OD)
0
Chapter 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, eOOit
aclick left hutton to select featuraSave angle list to file (UN)? t>
Chapter 4. Cutter—part intersection calculations 111
definitions of rectangle and circle primitives (blocks and cylinders in 2 1/2 D), calculation
of the cutter—primitive intersection was carried out in a straightforward manner. The
intuitive Boolean combination method provides an easily implemented solution capable
of handling any part definable with the CSG primitives and data structure.
Chapter 5
Relevant primitive identification
In chapter 4 a straightforward procedure for determining the cutter-part intersection
geometry was developed. The method began by determining the immersion angles for
simple primitives such as rectangles and circles (blocks and cylinders in 2 1/2 D). These
were then combined by applying the appropriate Boolean operator as the part defini
tion tree was traversed. Any 2 1/2 D part representable using the CSG primitives and
operation tree could therefore be accommodated.
As the part becomes more complex, however, increasing computational effort will be
expended examining primitives which do not affect the final cutter immersion interval
endpoint angles. Redundancy problems of this nature must be efficiently solved to achieve
acceptable computation speed. The focus of this chapter is on the redundancy issue and
relevant primitive identification as applied to a CSC based milling process simulation
system.
The following section examines redundancy of part features distant from a group of
localized cutter paths. Representation issues and design strategies to assist in eliminating
irrelevant primitive groups are discussed. The S-bounds, active zone and iso-oriented box
techniques reported in the literature are outlined and related to milling process simulation
requirements.
Next, in section 5.2, the issue of identifying relevant primitives in a chain of n cutter
paths, such as in pocketing operations, is addressed. In this case the part model changes
as each path is completed. Instead of reflecting this by incrementally updating the CSG
112
Chapter 5. Relevant primitive identification 113
tree, it is proposed that a separate list of completed cutter paths be checked. Then,
after the entire chain has been completed, the model is updated using a smaller CSG
primitive group which represents the net effect of the cutter path chain. Implementation
of this strategy requires that an efficient method of identifying relevant cutter paths be
used. Checking each of the paths previous to each current path has an undesireable
quadratic time complexity. To improve on this, computational geometry based solutions
with O(n log n) and linear time growth rates are examined.
In section 5.3 the concept, from chapter 4, of dividing cutter paths into segments
bounded by the initial and final primitive contact points is further developed. Within
each segment primitives which can be identified as null A or universal set f redundant
are pruned from the CSG tree. This substantially reduces the effort needed to locally
calculate the cutter immersion intervals. In end milling it is frequently discovered at this
point that the remaining CSG tree consists of very few primitives. When this is the case,
and there is a single in cut immersion interval, the varying interval endpoint is expressed
analytically as a function of the cutter centre position along the path. This permits an
especially rapid milling process simulation method to be used in section 6.3.2.
A summary of the chapter and the overall geometric aspects of the milling process
simulation system is then given in section 5.4.
5.1 Redundancy and local cutter paths
Typical parts are comprised of a number of disjoint features which can each be described
by a CSG primitive group. Consider for example figure 5.1, where a part comprising
of three holes (labelled A, B and C) and five pockets (D—H) is shown. The individual
primitives for feature F are shown in detail. Each of the pockets and the outside
periphery I is described by a similar primitive combination D, E, ..., I and hence
Chapter 5. Relevant primitive identification 114
overall the part requires a complex CSG tree description. During cutter immersion
interval calculations this large tree must be repeatedly traversed—a time consuming and
wasteful procedure since the majority of the primitives is unlikely to influence any one
particular cutter path.
If, however, the part is milled in a methodical fashion, it is possible to eliminate most
of the CSG tree from consideration during simulation along a group of individual cutter
paths. For example, imagine that the features are cut from the initial blank part W in
the order A, B, C,. . . , I. Just prior to starting to mill pocket G the part would appear
as in figure 5.2. At this moment the CSG part representation would include the blank
part W, and each of the completed features A—F. The swept volume of any cutter path
Ge,, used to mill G will certainly be a subset of C, and hence primitives disjoint from
G will also be irrelevant to each of its constituent cutter paths. In the example shown
all of the part features are disjoint from G, and can be replaced by the null set A. After
simplification using table 2.1 the CSG tree will consist of only the blank part W which,
with respect to C, is redundant (figure 5.3). It is not uncommon for such extensive
simplifications, and the associated reduction in immersion interval calculation effort, to
be possible.
To automatically recognize the disjoint part features, several interference checking
algorithms are appropriate. Iso-oriented box methods, and the S-bounds and active zone
approaches used specifically with CSG representations are discussed in the following
sections.
Iso-oriented boxes
To establish that two primitives A and B are disjoint, it is sufficient to check that their
intersection is null (i.e. A fl *B = A). Proving this directly is often difficult due to the
complex shapes involved, and hence approximate bounds enclosing the actual primitive
Chapter 5. Relevant primitive identification 115
Figure 5.1: Multiple part features. The part above consists of three holes A, B and C,and five pockets D—H. The outside periphery is labelled I, and the initial blank shape 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 116
Figure 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 117
Figure 5.3: Reduced CSG tree. After substituting A or for the redundant primitives,the CSG tree can be simplified (section 2.4.5, table 2.1). In the example from figure 5.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 E
w
/u*C/\
A 8
F
u*/\ /\
u*/\ /\ /\ /
F1 F2 F3 F4 F5 F6 u/\
F7 F8
F9
0
Chapter 5. Relevant primitive identification 118
are frequently used. If cr(A) and a(B) are approximate bounds enclosing primitives A
and B respectively, and u(A) and a(B) are disjoint, then A and B are disjoint. That is,
if A C u(A) and B C (B), then u(A) fl *u(B) = A = A fl *B = A. Iso-oriented boxes
are the most common simple shape used for this purpose.
An iso-oriented box or isobox has its sides oriented parallel to the coordinate system
axes. When used as an approximate bound for a CSG primitive A, the box size is chosen
so that it just encloses A. Examples of isoboxes in two and three dimensions are shown
in figure 5.4.
Testing for intersections of isoboxes in two dimensions is most efficiently accomplished
using the sweep paradigm. First, the horizontal line segments of the n isoboxes are
sorted in decreasing order by y coordinate. This can be completed in O(ri log n) time
using an algorithm such as heapsort (see Aho, Hopcroft and Ullman [1, chapter 8]).
Then, beginning above the highest isobox, an imaginary horizontal sweep line is moved
downwards (figure 5.5).
As the top of each isobox is encountered, its horizontal interval [Xq,L, Xq,R) is checked
against all intervals already stored in an interval tree [46, 77]. This data structure is
a binary tree containing all horizontal interval endpoints Xj,L and x,R augmented by a
doubly linked list and balanced tree to store the intervals. It permits all intervals which
share points with the query interval [Xq,L, Xq,R) to be identified in logarithmic time.
If the new interval intersects any entries s1ored in the interval tree, this fact is reported
as a pair of interfering isoboxes. The new interval is then added to the interval tree. When
the bottom horizontal segment of an isobox is encountered, its interval is deleted from
the tree. This procedure reports all isobox intersections exactly once, and operates in
time O(N + n log n), where N is the total number of reported intersections.
A slightly more complex approach, based on the segment tree, is required for three
dimensional isobox intersection testing. This method operates in O(N + n 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 isobox
A
a(A)
(B)
Chapter 5. Relevant primitive identification 120
Figure 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) 5
checked 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 of
the shape enclosed. This can result in many isobox intersections being reported when the
primitives enclosed are actually disjoint (figure 5.6). Excessive false interference detection
is a problem which can degrade of overall usefulness of the technique.
The intersection reporting algorithms for isoboxes are general tools independent of
any particular solid modeller representation. Although this generality would seem an
advantage, it prevents beneficial exploitation of a particular solid model data structure.
For example, referring again to figures 5.2 and 5.3, testing that the features A—F are
disjoint from C would be performed by checking each individual primitive, rather than
1,R
sweep line
Chapter 5. Relevant primitive identification 121
(6)
(A)
Figure 5.6: Poor isobox fit. Here shapes A and B do not interfere, but their isoboxes u(A)and u(B) do. These false interference cases will be reported by the isobox intersectionalgorithms, degrading the usefulness of the method.
Chapter 5. Relevant primitive identification 122
by testing the feature as a whole. There is no means of grouping the primitives into CSG
subtrees. The S-bounds and active zone approaches, described in the following sections,
offer improvements in this area.
S-bounds
As was observed in the previous section, mechanical parts frequently can be described
as a collection of features. With the CSG representation, each feature is comprised of
a number of primitives which are combined using the regularized Boolean operators to
form a subtree. During redundancy detection these subtrees should be treated as a unit,
with an appropriate enclosing bounds available for the feature as a whole. This will avoid
the need to exhaustively check each primitive pair combination to verify that two feature
subtrees are disjoint.
Cameron [17] has proposed the S-bounds method, which is particulary useful in these
circumstances. His method proceeds as follows:
1. First, each primitive in the feature subtree is enclosed in an approximating bound.
An example CSG subtree with isobox bounds is shown in figure 5.7.
2. Next, a “window” is attached to each leaf and interior node of the CSC subtree.
Initially the approximating bounds are used for the primitives (leaves), and the
universal set (the approximating bound with infinite dimensions) is used for the
interior nodes.
3. Beginning at two sibling leaves L1 and L2, the parent node window is refined by
applying 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 parent
window.
Chapter 5. Relevant primitive identification 123
(b) If the operation is L1 fl *L2, then substitute a(u(Li) fl *u(L2)) for the parent
window.
(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), where
L is the parent node. This continues until all leaves have been reached.
5. Steps 3 and 4 are alternately repeated until no further changes occur.
Figures 5.8 through 5.10 demonstrate the method as applied to the solid depicted in
figure 5.7. Cameron has shown that the overall algorithm converges in at most n — 1
passes, where n is the number of leaves in the tree. Bounds other than isoboxes, such as
circles, convex polygons or spheres, have also been suggested for use with the S-bounds
method [19j.
The S-bounds method provides an intuitive approach to approximating the shape
of a CSG subtree. It permits the part to be examined as a collection of features in a
structured way, rather than individually considering each primitive in a large CSG model.
When there are a few, complex features (such as completed pockets) this approach avoids
much of the work needed to identify disjoint CSG subtrees.
An additional benefit of the S-bounds approach is its ability to identify redundant
primitives which can permanently be pruned from the feature subtree. In the example
shown, primitives F, T and U are identified as A redundant. The primitive R is redun
dant, but this cannot be detected by the S-bounds method. The active zone approach,
described in the next section, is capable of identifying fI redundant primitives.
Chapter 5. Relevant primitive identification 124
/\S U
Figure 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 PN
T
(b)
Chapter 5. Relevant primitive identification 125
Figure 5.8: S-hounds refinement—initialization. The example is continued from figure 5.7.Primitives are initially bounded by their isoboxes, and interior nodes by the universal set2 isobox which has infinite dimensions.
Chapter 5. Relevant primitive identification 126
Figure 5.9: S-bounds refinement—upward (pass 1). The bounds at the interior (parent)nodes are refined by applying the appropriate Boolean operation with the children.
Chapter 5. Relevant primitive identification 127
Figure 5.10: S-bounds refinement—downward (pass 2). The bounds at the leaves 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 128
Active zones
An alternative redundancy checking method is the active zone technique proposed by
Rossignac and Voelcker [100]. The active zone 2(L) of a CSC primitive L is the region
within which, if the shape of L were to change, the resulting CSG tree shape would also
change.
Conceptually, it is easier to consider active zones on a positive CSG tree—that is, trees
with only U* and fl* operations. All —* operations are replaced by a fl* operation with
the right child replaced by its set complement. For example, the shape in figure 5.7, with
Boolean expression ((Q — *P)n *(Su*U)— *T)fl*R has ((Q n*P)n*(Su *U)fl 4’)fl*R
as its positive equivalent.
The active zone of a primitive L is then determined by replacing it with Q, and
interpreting any U* operations as —* operations along the tree traversal path from the
root to L. For example, in figure 5.11(b) 2(U) is ((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 L
is redundant if and only if 2(L) C L, and is A redundant if and only if L fl *2(L) A.
Hence in figure 5.11(b) U is shown to be A redundant (It can similarly be shown that P
and T are A redundant.). Figure 5.11(c) shows that R is f redundant.
Implementation of active zones requires a means of testing the sets referred to, and
isoboxes are frequently suggested to approximate this. Cameron and Rossignac [18]
discuss relationships between S-bounds and active zones.
As with the S-bounds method, the active zone technique is particular to the CSG
representation method. It provides a structured approach to identifying and removing
redundant primitives from CSG subtrees, thus simplifying the later task of calculating the
cutter immersion intervals. Although it does not directly refine bounds for the primitives
or subtree, it is capable of identifying Q redundant primitives—which the S-bounds method
Chapter 5. Relevant primitive identification 129
cannot do.
Discussion
This section has examined, with reference to milling process simulation requirements,
three redundancy checking methods in common use.
Iso-oriented boxes were described as an approximate bounds which can be used to
simplify intersection calculations with CSG primitives. In conjuction with the interval
and segment tree data structures, the isobox can be used to achieve efficient identification
of intersecting primitives. The difficulty with the approach is that it requires testing of
the entire population of primitives in a CSG tree. No attempt is made to exploit the
feature subtree structure which normally would be present.
The S-bounds and active zone methods are particular to the CSG representation, and
make beneficial use of it. S-bounds can be refined for a subtree in a natural way using
the familiar regularized Boolean operators. The active zone technique identifies the part
of a CSG tree that sensitive to changes in any one primitive. In particular it can be used
to identify primitives that are l redundant.
The success of any of the approaches discussed is highly dependent on the tightness of
the approximate bound. The highest success rate will be achieved when the bound very
nearly matches the actual shape being enclosed. In this case intersecting bounds will
seldom be reported when the enclosed shapes themselves do not intersect. In contrast,
when the bounds are very poor (as in figure 5.6), many false intersections may be detected.
This degrades the usefulness of the algorithms involved.
Throughout the section it has been assumed that the part model was automatically
created in the desired feature subtree structure. With most solid modellers, however, this
is up to the discretion of the part designer. It is reasonable to assume existence of such a
structure, since it naturally leads to a manufacturing process plan which cuts the features
Chapter 5. Relevant primitive identification
//\
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.
130
R
P T
S U
R
/\-—* T/\
SQ
(a)
(b)
(c)
P
S U
Chapter 5. Relevant primitive identification 131
as a unit [23, 107, 136]. Other researchers, however, feel that this is too strict a burden
to impose on the designer, and that instead automatic feature recognition algorithms
should be used to restructure the part definition [45, 71, 142]. Regardless of the way
in which it is built, a feature subtree structured model is needed to effectively use the
techniques described in this section.
5.2 Cutter path chains
5.2.1 Overview
Assuming that the redundancy elimination methods reviewed in the previous section
were used effectively, the remaining CSG part model will now be much smaller as milling
process simulation begins for the next feature. Recalling the example in figure 5.2,
only the universal set Q remained in the CSG tree when the first path of pocket C is
started. This simplification avoided much of the computational effort that would have
been needed to find the cutter immersion intervals if the large, original part tree were
retained. Simulation of each cutter path in the pocketing operation, however, can again
cause rapid growth in the CSC data structure, and poor computational efficiency.
As outlined in chapter 2, the most apparent way to represent material removed by
a cutter path is to model the swept volume using a group of three CSG primitives
(figure 5.12(a)). As each path is completed, its swept volume is subtracted from the
initial part shape using the Boolean difference operator —*. Figure 5.12(b) illustrates
the appearance of pocket G as its third path begins. The corresponding CSG expression
for the part at this point is ((cl — *Gc,1)— *G,1) — *G,2 (including the initial drilling
cut).
Since the swept volume of a previously completed path may influence the immersion
interval calculations along the current cutter path, an up to date representation of the
Chapter 5. Relevant primitive identification 132
/ \GCAI GCB,i
(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 133
part shape must be available. Maintaining a CSG tree of completed cutter paths is the
most apparent solution, but it becomes increasingly time consuming as the data structure
grows. Therefore alternative methods, which allow more efficient identification of the few
relevant preceding paths, are preferred. This is the goal of the section.
5.2.2 Incremental swept volume checking
One intuitive alternative is to incrementally check all previous paths in a cutter chain
for relevance to the current path by testing their swept volumes for intersection. Only
paths that are found to be relevant would actually be included in the CSG tree used for
immersion interval calculation.
Beginning with the second path in the chain, the first path would be checked for
intersection. Next, the first two paths would be checked against the third path, and so
on. For a total of n paths, this would involve checking 0 + 1 + ... + (n — 1) preceding
paths. The sum of this arithmetic series is n(n — 1)/2, and hence the procedure has an
undesireable quadratic running time growth rate.
Another alternative is to enclose the swept volume of each cutter path within an
isobox and apply the O(N + n log n) time complexity interval tree and sweep paradigm
as described in section 5.1. Often however, the cutter paths are long and may be oriented
away from the coordinate system axes. Hence, because of poor isobox fit, this approach
can report a high number of false intersections (figure 5.13(a)).
5.2.3 Line segment intersection test
An improved approach is to again enclose the swept volume in a box (rectangle in 2 D),
but align it with the direction of the path (figure 5.13(b)). Since a common cutter radius
r is assumed throughout the path chain, each rectangle will have the same width 2r. A
minimum enclosing rectangle length of 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 135
Under these circumstances it is impossible to produce a situation where one rectangle
entirely encloses another, and hence the specific capability of the interval tree method
to detect such an occurrence is unnecessary. Instead, since at least one pair of sides
of interfering rectangles must cross, a test for intersection of the side line segments is
sufficient. A brief description of a sweep paradigm based algorithm (see Mehlhorn [77,
chapter VIII, section 5.1]) to accomplish this task follows.
To report all N intersecting pairs of n line segments in O((N + ii) log n) time, first
sort the 2m segment endpoints in decreasing order by y coordinate. Using heapsort this
can be accomplished in O(nlogn) time. The list of sorted endpoints is then stored in a
balanced search tree E (such as a 2-3 tree [1]).
Next, sweep an imaginary horizontal line down the plane, starting above the line seg
ment with the highest endpoint (figure 5.14). This is equivalent to traversing the search
tree in order. When a line segment is first reached, its horizontal position is determined
relative to any segments which the sweep line already crosses. The segment is then in
serted into a second balanced search tree S of horizontally ordered active line segments.
The new segment is then checked for intersection with its left and right neighbours and, if
an intersection point is found, it is reported and the point inserted into the endpoint tree
E. When it is later encountered during the tree traversal, the two intersecting lines are
swapped in S. Further intersection tests are then carried out between the two swapped
lines and their nearest left and right neighbours. When the lower endpoint of a line
segment is reached, it is removed from S, and an intersection test conducted for its two
nearest neighbours. The algorithm terminates when E has been completely traversed,
which indicates that the sweep line must be below the lowest endpoint.
In conjunction with the rectangle approximating bounds for the cutter path swept
volume, the line segment intersection method is a straightforward solution for finding
relevant cutter paths. It is easier to implement than the interval tree method and uses
‘ // /
\ / //\ / / /\ N\ r 7
1\ > II\,\ 1/
L____1
Chapter 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 137
a much tighter bound than the isobox. In addition to the path itself, the only required
information is the cutter radius. With its O((N + n)log n) time complexity this method
a good choice for use when there are a moderate total number of cutter paths within a
pocket.
When the number of paths n becomes larger, however, it is valuable to have alterna
tive solutions which offer even lower algorithmic growth rates. To achieve this requires
exploiting the properties of cutter path chains, and hence an examination of the common
pocket cutter path generation strategies is warranted.
5.2.4 Pocket cutter path generation strategies
Removal of material from a 2 1/2 D pocket is usually performed in three stages (fig
ure 5.15). In the first stage, a pass is made around the pocket a slight distance away
from the intended finished surface. This permits subsequent passes to avoid internal
corners where high cutting forces and chatter often occur. The second stage consists of
the cutter paths which remove the bulk of material. Finally, the third stage generates
the final pocket walls.
Two strategies: (1) zigzagging and (2) spiralling are commonly chosen for the bulk
material removal in stage two. The characteristics of these methods and are reviewed in
the following two sections.
Zigzagging Strategy
The zigzagging strategy begins at one corner of the pocket and, using a sequence of
reversing paths, advances toward the diagonally opposite corner. The horizontal spacing
between adjacent cutter paths must be less than 2r to ensure overlap. Further limitations
to avoid an uncut cusp at a corner are discussed with the spiralling strategy below.
Using the zigzagging strategy, a complete set of cutter paths to mill the example pocket
Chapter 5. Relevant primitive identification 138
Figure 5.15: Pocketing material removal stages. The material removed by each stage 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 139
Too ipaths:Contour
________________
Dr ill
_____________
PocketrUled
___________
Swept
__________________
Neuolut ion
proJectMisc.
____________________________
3d too lpthEnd progrnBackupMain Menu
2
________________
Color: 15Level: 1.Mask OFFCplane: TGuieu: T
Figure 5.16: Zigzag cutter path chain. Above is a screen image showing the complete set
of cutter centreline paths to mill the example pocket from figure 5.15. The MASTER-CAM commercial program was used to generate the paths.
from figure 5.15 is shown in figure 5.16. The MASTERCAM’ commercially available
program was used to generate the paths.
Previous relevant path centrelines must have at least one point in the band which
extends 2r above and below the current path. By using techniques similar to the planar
sweep paradigm, these paths can be identified without searching the entire pocket.
1registered trademark of CNC Software, Inc., Tolland, CT, USA
Chapter 5. Relevant primitive identification 140
Too lpathsContourDr illPocketru ledSweptRevolutionproJectMisc3d too lpthEnd progrmBackupMain Menu
ZColor 15Level: 1Mask: OFFCplane: Tuieu: T
Figure 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 Strategy
Generating the cutter paths for the spiralling strategy starts by constructing offset seg
ments beginning at the pocket boundary (figure 5.17). These segments are then chained
to create the cutter path needed to remove the pocket material. Further details on
spiralling algorithms have been published in the literature (see for example [91, 115]).
The spacing between adjacent offset segments must ensure that no material remains
as a cusp at the corners. For a corner angle of a, this is assured if the spacing is less
than r[1 + sin(a/2)] (figure 5.18).
Chapter 5. Relevant primitive identification 141
//
//
r [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 comprising
the offset adjacent to the current offset will be relevant. This is true regardless of the
spacing and whether or not the swept volumes intersect, since the path nearest the current
path will cut away any influence that a more distant path might have had on immersion
interval calculations (figure 5.19).
Discussion
Ideally, a solid modeller based system should include cutter path generation and milling
process simulation components as well as design capabilities. Specific communication
/ //
/r sin(cx/2)
-f
Chapter 5. Relevant primitive identification 142
intervening path
irrelevant path
currentpath
Figure 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 a
quick assessment of the chosen cutter paths, and the possibility of adjusting the strategy
to achieve a specific requirement.
The previous two sections have outlined how the frequently used zigzagging and spi
ralling pocketing strategies are used to plan cutter paths. When adherence to the strategy
can be assured, relevant paths can be identified when the current path is generated—
eliminating the need to perform this task separately. Often, however, this approach is
not available, and hence other solutions are needed.
If no islands are contained in the pocket, both the the zigzagging and spiralling
strategies will cut from a single “land” when the bulk of material is being removed
(figure 5.15, stage 2). This situation also occurs during the final pass stage or during
contouring operations. In such cases the line and arc segments bounding the land can
Chapter 5. Relevant primitive identification 143
segment Q segment QQdescription Qdescription
element 0 element 1
OIdescptonelement i
Figure 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). The
boundary segments within each path’s swept volume are marked as relevant, and the
milling process simulation performed. New boundary segments caused by the current
path are then added to the queue, and the previously relevant segments either deleted
or adjusted to fit the new part boundary. For example, in figure 5.21(a), the relevant
segments for the cutter path shown are 2, 3, 4 and 5. After the path has been simulated,
segment 2 is adjusted to terminate at the new segment A, segments 3 and 4 are deleted,
and new segments A, B and C are added to the queue. Segment 5 is then adjusted to
begin at the new segment C. The relevant segments for the next path would then begin
at segment B.
More generally however islands may be present, or strict adherence to the zigzagging
or spiralling strategies cannot be guaranteed. Therefore, in the next section relevant path
Chapter 5. Relevant primitive identification 144
1 7
1
Figure 5.21: Boundary segment queue maintenance. (a) For the current cutter path,the relevant segments are 2, 3, 4 and 5. (b) After simulating the current path, 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 145
identification algorithms are developed which operate in isolation of the path planner.
The prominent characteristics of cutter path chains recognized above will be used to
achieve the anticipated efficiency of the solution, but the algorithm will remain robust if
the assumptions are violated.
5.2.5 Planar subdivision methods
Preamble
Although an ideal goal is to provide relevant path identification within the path planner,
there remain important reasons for providing this capability separately. Correct per
formance of path planners is difficult to guarantee. The human part programmer may
have incorrectly specified a parameter, or the algorithm may fail. Need for geometric
verification of NC part programs has previously been recognized (see for example Sun
gurtekin and Voelcker [116j). A logical extension is the physical verification provided by
the milling process simulation system developed in this thesis.
When errors are detected during the geometric verification process the correction
might be made only to the NC program, and not be reflected up to the path planning
stage. Changes made at the machine tool are frequently recorded only in this manner.
Additionally, a firm may possess older, verified NC programs that were created manually,
or generated using a no longer available path planner. Companies would resist discarding
a geometrically verified, complex NC part program to use a new cutter path generation
algorithm, but still desire the potential productivity improvements the milling process
simulation system can provide.
In such cases the cutter path generation algorithm cannot be combined with the
milling process simulation system, and adherence to a specific path generation strategy
Chapter 5. Relevant primitive identification 146
cannot be guaranteed. Nonetheless the planned path will likely exhibit the same charac
teristics as paths generated using either the zigzagging or spiralling strategies outlined in
the previous section. The relevant cutter path identification algorithms developed in this
section use these anticipated path planning strategy characteristics to achieve efficiency,
but remain robust if these assumptions are violated. Throughout, the total number of
cutter paths in the chain is denoted by n.
The following cutter path chain characteristics are assumed:
1. Cutter paths intersect at most 0(n) times. Typically a crossing would be required
only during the infrequent jumps to complete a different region of the pocket.
2. A line segment of specified length (e.g. 2r) intersects at most a constant number of
(e.g. three) cutter paths (figure 5.22). A limit of three in a 2r length is justified by
examining an interior corner (figure 5.18). As the corner angle c approaches zero
there would be exactly four paths in the 2r length, with the two middle passes
overlapping. It is argued that a good cutter path generation algorithm would
shorten the overlapping paths back to the point where they diverge in order to
adhere to the criterion. Equivalent situations arising elsewhere in the chain would
be handled in a similar way.
3. All cutter paths exceed a minimum length (e.g. are at least r long). During
milling of the bulk of the pocket material (figure 5.15, stage 2) this is a reasonable
restriction.
Substitution of other values for the example constants indicated above does not alter the
asymptotic complexity of the algorithms developed herein (see appendix B).
Since all of these assumptions are statements about the cutter path centrelines rather
than the swept volume, it is appropriate to consider an intersection test which involves
Chapter 5. Relevant primitive identification 147
cutter path
Figure 5.22: Adjacent cutter path density. It is assumed that at most a constant 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 148
the centrelines and an approximate bound. The swept volume for a cutter path extends
r away from its centreline in any direction (figure 5.23(a)). If the material removed by
any initial drilling cut or preceding path in the chain is excluded, the swept volume of
the current path is as shown in figure 5.23(b). Suppose this region is then surrounded by
a boundary offset r away from it. For convenience in calculation, the region is closely
approximated by a rectangle enclosing it. A candidate cutter path can be relevant if and
only if a portion of its centreline enters this rectangle. For example, in figure 5.23(c) path
4 is current, and 1 and 3 are relevant. Path 2 is outside of the region and is therefore
irrelevant. Paths 5 and 6 are not considered as they have yet to be cut.
The relevant cutter path identification question can now be posed as follows: Given
a chain of n cutter paths, report the previously completed paths which interfere with
the bounding rectangle for the current path. Based on the above three assumptions and
approximating rectangle bound it is proposed that planar subdivision methods be used
to efficiently accomplish this task.
A planar subdivision represents the plane as a set of disjoint regions which are con
nected by a graph data structure. For the relevant cutter path identification problem
the idea is to determine the region in which the current cutter path is located, and then
move outwards until a specified visibility or distance criterion can no longer be satisfied.
All cutter paths encountered during the search are identified as relevant. This strategy
permits the relevant cutter paths to be identified without repeatedly examining the entire
population.
First, a horizontal visibility solution will be studied in detail, followed by a section
describing a generalized Voronoi diagram solution.
Chapter 5. Relevant primitive identification 149
Figure 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
-l
150
Figure 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 solution
Overview A horizontal visibility partition (HVP) of the plane divides it into disjoint
trapezoidal (and some triangular) regions (figure 5.24). For the problem under consid
eration these regions are bounded to the left and right by the cutter paths, and above
and below by horizontal links joining the adjacent paths. An additional pair of vertical
H +00
__1
L
“paths” is added at left and right infinity to enclose the overall region of interest.
Chapter 5. Relevant primitive identification 151
Figure 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 created
using the sweep paradigm based method described by Fournier and Montuno [36]. Their
approach uses simple data structures and operates in 0(n log n) time. Chazelle [24] has
recently contributed a linear time algorithm which solves this problem for the case of a
simple (non-intersecting) chain.
The algorithm begins by classifying the vertices as type 1, 2, or 3 (figure 5.25). A
type 1 vertex lies vertically between the two path segments that it joins. Similarly, type 2
vertices lie above their path segments, and type 3 vertices lie below their path segments.
The fourth case represents intersection of path segments, and is not discovered until later
in the algorithm. Vertices are then sorted in decreasing order by y coordinates. If the
y coordinates are equal, the vertex with the smaller x coordinate is placed earlier. By
consistently using this ordering test throughout the algorithm horizontal paths require
no special treatment. The 0(nlogn) time heapsort algorithm is used to perform the
sort.
2 4
The actual horizontal visibility partitioning step, including building of the adjacency
Chapter 5. Relevant primitive identification 152
data structures, is then performed. Initially storing oniy the left and right infinity sides, a
2-3 tree S storing the path segments sorted in horizontal order is updated as each vertex
is encountered by the sweep line. This data structure is required to support horizontal
location of a new path in 0(log n) time. Depending on the vertex type, the following
tree maintenance operations are performed:
type 1 The upper path segment is deleted from S and the lower path segment is inserted.
type 2 The two new path segments are inserted into S in horizontal order.
type 3 Two ending path segments are deleted from S.
type 4 The horizontal order of the intersecting path segments is reversed in S.
The open starting and ending segments of the chain are treated as special cases of type
2/3 vertices in which only one path segment is inserted/deleted.
After each vertex is processed any new neighbour pairs are checked for intersection.
Since any intersecting segments must be adjacent immediately before they cross, this test
is sufficient. If an intersection is found it is entered as a new type 4 pseudo-vertex and
will be processed correctly when it is later encountered. It is an assumed characteristic
of the cutter path chain that intersections occur infrequently (at most 0(n) times) and
hence this work will not increase the asymptotic complexity of the algorithm.
The procedures to maintain S are illustrated in figure 5.26, which shows the example
geometry and sweep line location, and table 5.1, which shows the entries in S before and
after each vertex is encountered.
The actual adjacency data structure is a directed graph identifying the immediate
left and right neighbours. For each segment a left and a right doubly linked list, sorted
by y coordinates, is built which stores pointers to the neighbouring paths. Pointers to
the head and tail of the each list, and its most recently accessed element, are separately
Chapter 5. Relevant primitive identification
_OOl 1+00
Figure 5.26: HVP tree maintenance. As the horizontal sweep line encounters each vertex,the 2-3 tree S of line segments must be updated. The illustration above shows the examplegeometry and sweep line locations which are referred to in table 5.1 (The sweep line isshown at location e.).
153
0
jO
1
‘dsweep line
H————
e
Chapter 5. Relevant primitive identification
a
b
C
d
e
fg
2
1
2
4
1
3
3—cc, +00
154
Table 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 typebefore
stored 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, +cc
Chapter 5. Relevant primitive identification 155
maintained. Additional pointers create a combined list which is the union of the left and
right lists (again sorted by y coordinate). Construction of the adjacency structure is si
multaneously performed with path segment tree maintenance as the sweep line advances.
This procedure, for each vertex type, is described below:
type 1 First the left and right neighbours 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 next
left neighbour of Pr. Also, paths P1 and P are stored respectively as the first left
and right neighbours of Pa.
type 2 After the insertion location has been found it is assumed that the left neighbour
is P1 and the right neighbour is Pr. In horizontal order, paths Pa and Pb are to be
inserted. First, Pa is marked as the next right neighbour of P1 and Pb is marked
as the next left neighbour of P. Then P1 is marked as the first left neighbour of
1a and Pr is marked as the first right neighbour of Pb. Finally, Pb is marked as the
first right neighbour of Pa and Pa is marked as the first left neighbour of Pb.
type 3 It is assumed that, in horizontal order, paths Pa and Pb are to be deleted. Fur
thermore, P1 is the left neighbour of Pa and P,. is the right neighbour of Pb. The
new adjacency relationship is established by marking Pr as the next right neighbour
of Pi and P1 as the next left neighbour of P.
type 4 It is assumed that above the intersection point the two intersecting paths appear
in the order Pa followed by Pb. Path P1 is the left neighbour of Pa and Pr is the
right neighbour of Pb. To record the new adjacency relationship, mark Pa as the
next right neighbour of Pb and Pb as the next left neighbour of Pa. Also mark Pb
as the next right neighbour of 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 156
For endpoint type 2 or 3 vertices the obvious simplifications are made.
To illustrate, when the sweep line passes through e (a type 1 vertex) (figure 5.26),
path 4 is replaced by path 3. This is recorded by marking path 3 as the next right
neighbour of 2 and the next left neighbour of +. Paths 2 and +00 are also marked
as respectively the first left and right neighbours of path 3. The overall adjacency data
structure corresponding to figure 5.26 is shown in figure 5.27.
Using suitable pointers the adjacency lists can be maintained in constant time per
insertion/deletion. The time complexity of the overall procedure is therefore determined
by the cost of maintaining the data structure of horizontally sorted path segments. Using
the balanced 2-3 tree suggested, this is O(nlogri).
Note that the data structure could have been built by adding cutter paths incremen
tally, but this can lead to a quadratic growth rate. Figure 5.28 shows an example where
each of n/2 insertions requires processing n/2 horizontal adjacency relationships, leading
to Q(n2) time complexity.
Relevant path identification After the adjacency data structure has been built the
relevant paths are identified. Treating in sequence each cutter path in the chain as cur
rent, relevant paths are defined as paths which precede the current path, are within
the approximate rectangle bound described in figure 5.23(c)), and are not occluded (fig
ure 5.19). A description of the identification procedure follows. The algorithm time
complexity proofs are provided in section B.3.
First, starting at the tail of the current path, preceding paths are followed until the
rectangle bound is intersected. Each of these paths is recorded as relevant, and the path
which intersects the rectangle is denoted P. If the beginning of the path chain is reached
before the rectangle is intersected, the procedure is complete (figure 5.29(a)). Otherwise,
the left P1 and right Pr neighbours of P are found by advancing down the portion of its
Chapter 5. Relevant primitive identification 157
—c +00
a
b
d
e
g
Figure 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 +00
I-
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 159
combined adjacency list that is within the rectangle (figure 5.29(b)).
The identification procedure then continues by walking along the rectangle in a coun
terclockwise direction. If the direction is downwards (figure 5.30(a)), then P and P are
respectively the left and right path of the active trapezoid (The trapezoid through which
rectangle side currently passes). If the boundary direction is upwards (figure 5.30(b)),
then P1 and P are the left and right paths. The rectangle side is followed until (i) the
left path is crossed, (ii) the right path is crossed, or (iii) the top (or bottom) of the active
trapezoid is crossed.
In cases (i) or (ii), if the path crossed precedes the current path (indicating the path
crossed has been cut) the intersected path is denoted by P, and the path chain is traced
inside of the rectangle until a side is again intersected (at the next path Ps). Each path
in this portion of the chain is recorded as relevant. At the second intersection point the
new P, P and Pr are defined (by advancing along the portion of the path adjacency
lists that are within the rectangle) and tracing continues (figure 5.31(a)). In the example
paths 0 and 1, although within the rectangle region, are obscured and are never recorded
as relevant. This is an additional benefit of the approach.
If the beginning of the path chain is encountered before reaching a second side inter
section point (figure 5.31(b)) then all paths from P, to the chain beginning are recorded
as relevant. Tracing then continues along the side starting at P but, for case (i), P is
replaced by 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 for
the new active trapezoid which has been entered.
If the path crossed follows the current path, indicating that the path has yet to be
cut (figure 5.32), then tracing again continues along the rectangle side starting at P.
For case (i) F,. is replaced by P1 and P1 is replaced by its left neighbour. For case (ii) P1
is replaced by F,. and P,. is replaced by its right neighbour.
Chapter 5. Relevant primitive identification 160
PI=1
Figure 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 161
Figure 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.
P r
(b)
Chapter 5. Relevant primitive identification 162
Figure 5.31: Interior path tracing. The segments traced are shown with thicker lines. (a)Tracing along the rectangle, path P = 4 is encountered. The paths are then 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 163
3
Figure 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), then
its left or right path must have ended at a vertex. If the left side P1 has ended then it is
replaced by the next left neighbour of Pr (figure 5.33(a)). If the right side Pr has ended
then it is replaced by the next right neighbour of P1 (figure 5.33(b)).
If the end of a rectangle side has been reached, then processing merely continues
along the next (counterclockwise) side, with the up/down direction changed if necessary.
The doubly linked lists used to store the neighbour pointers facilitate this change. The
procedure terminates when the trace returns to the point on the rectangle where the first
intersection (with the chain from the current path tail) occurred.
Detailed traversal procedure time complexity proofs are deferred to section B.3. The
main highlights are summarized here. The work required to identify the paths relevant
to any current path can be divided into three components:
1. tracing along cutter paths inside the approximating rectangle until one of the four
rectangle sides is reached
Chapter 5. Relevant primitive identification 164
Figure 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 165
2. processing an intersection between an approximating rectangle side and a cutter
path
3. processing an intersection between an approximating rectangle side and a horizontal
visibility link
The adjacency data structure provides sufficient information to process any single inter
section in component 2 or 3 in constant time.
Lemma B.3 establishes that the total number of component 2 intersections is 0(n).
Without further enhancements, however, the number of component 3 intersections can
reach 0(n2). For example, consider figure 5.34(a). With this geometry the approximating
rectangle for each cutter path i intersects (i) horizontal links caused by preceding paths.
Repeated over all n paths the result is Q(n2) total intersections.
This situation can be prevented by inserting additional vertical blocks which extend
from each cutter path vertex to the lowest/highest extent of the approximating rectangle.
In effect, the blocks stop any horizontal link from being intersected by more than a
constant number of rectangles. Although at first it may appear that this approach only
shifts the problem to another location, theorem B.1 and lemma B.4 establish that this
will achieve 0(n) time complexity for the traversal portion of the HVP relevant path
identification solution.
It is also shown in section B.3 that this enhancement does not increase the asymptotic
time complexity of the adjacency data structure building procedure. Since blocks have
a finite length (less than or equal to 2\/r) at most a constant number of intersections
between a block and existing cutter paths will occur. Over all n blocks this adheres
to the assumption of 0(n) path intersections. Since the 0(n log n) sweep paradigm
based adjacency data structure building procedure can handle intersections, no additional
difficulties arise if it is used.
Chapter 5. Relevant primitive identification 166
However, when it can be assumed that the unmodified cutter path is simple (does
not self-intersect), a more indirect approach which does not create block—cutter path
intersections should be used to insert the blocks. Details are given in section B.3. This
allows the linear time adjacency data structure building algorithm developed by Chazelle
[24] to be used (Chazelle also describes in [24] an 0(n) procedure for verifying the validity
of the adjacency data structure constructed, which would be violated if the chain self-
intersected. Robustness is therefore not sacrificed by this approach. The problem of
building a HVP adjacency data structure containing unknown intersections in 0(n) time
remains unsolved.). Combined with the linear time relevant path traversal algorithm
developed herein, this proves the 0(n) intrinsic complexity of identifying the relevant
cutter paths in a simple chain.
Finally, to prevent numerical problems caused by the approximating rectangle side
overlapping a path, the rectangle was slightly enlarged by randomly locating its vertices
in 0.1r squares at each corner of the initial bound (figure 5.35). With this change the
probability of overlap is zero.
Aprogram to demonstrate the relevant cutter path identification traversal procedure
has been implemented on a graphics monitor equipped microcomputer (see [110, ap
pendix D, program trpz]). An example screen image showing the program in operation
is shown in figure 5.36. The 0(n log n) sweep paradigm approach described in this section
was used to build the adjacency data structure.
Voronoi diagram solution
An alternative planar subdivision solution is the generalized Voronoi diagram. A Voronoi
diagram partitions the plane into regions which contain all points nearer to the enclosed
object than to any other object. A region boundary is the locus of points which are
equally distant from the two objects it separates. The basic version deals with isolated
Chapter 5. Relevant primitive identification 167
— -
(a)
I——--———- -
L -
(b)
Figure 5.34: Vertical blocks. The • highlights the intersections between the 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 168
O.1r0
Figure 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 Voronoi
diagrams support objects such as line segments, arcs, etc. For this application the cutter
paths are chosen as the objects, in which case the boundaries will be straight line segments
and conic sections (i.e. a parabola, hyperbola or ellipse). A generalized Voronoi diagram
can be constructed in O(nlogri) time (see for example Fortune [35] or Yap [146]). If a
non-simple path is to be supported then the intersections would be pre-identified by the
O(nlogn) sweep paradigm based algorithm described in section 5.2.3.
Each Voronoi region, which may be bounded by 0(n) boundary segments, is then
divided into subregions by adding straight line “spokes” from the Voronoi boundary to
the nearest point on the enclosed path. Overall, this yields in total O(n) regions bounded
by at most four sides (the Voronoi boundary segment, two spokes, and possibly a portion
of the enclosed path). An example of a portion of a generalized Voronoi diagram is shown
Chapter 5. Relevant primitive identification 169
X)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()Oit
Figure 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 — following
Chapter 5. Relevant primitive identification 170
/ \Voronoi -straight \ / I - -\ region -
L : \: : -: : *
paraboc spoke\ * -ç
cutter path
Figure 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 a
manner similar to that used in the HVP solution. First, the cutter path chain is traced
from the current path tail until the approximating rectangle is intersected. All of these
paths are marked as relevant. The rectangle sides are then followed from this intersection
point. When the cutter path associated with the current Voronoi region is intersected
by the rectangle, the path chain is traced inside the approximating rectangle just as in
the HVP solution.
It is shown in section B.4 that the time complexity for traversing the Voronoi diagram
Chapter 5. Relevant primitive identification 171
for the n approximating rectangles is 0(n). Since 0(n log m) time is required to initially
build the Voronoi diagram the overall solution is also 0(nlogn).
Note that the difficulty of intersecting (n2) Voronoi boundary segments or spokes
does not arise. This is due to the properties of the Voronoi diagram. Each point on the
Voronoi boundary can be associated with the Euclidean distance between the objects it
separates. On the other hand the horizontal visibility links represent only a horizontal
relationship—regardless of distance. The vertical blocks are therefore required to prevent
problems in the approximating rectangle area above and below the associated cutter
path.
5.3 Cutter path segmentation
5.3.1 Overview
In the previous two sections of this chapter methods for identifying the CSG primitives
relevant to cutter immersion interval calculations were presented. Section 5.1 discussed
structuring the CSG representation into subtree groups to reduce the need to examine
each primitive individually during relevance testing. Section 5.2 presented computational
geometry based approaches for efficiently determining the relevant paths in a chain.
This section further refines the region of relevance for a primitive by recording the
segments of the cutter path over which it is and is not redundant. When it is discovered
that a single primitive boundary influences the part geometry over a cutter path segment,
analytic formulae are used to express the cutter immersion interval endpoints without
resorting to incremental sampling along the path. This permits an especially rapid milling
process simulation method to be used in section 6.3.2.
Chapter 5. Relevant primitive identification 172
5.3.2 Primitive redundancy portions
After the relevant cutter paths have been nominated by the methods of section 5.2 their
associated swept volume primitives are constructed. Along with any others surviving the
elimination methods of section 5.1, these primitives form the part surface at which the
cutter immersion angles must be computed to carry out the milling process simulation.
Using the methods of section 4.2, the critical points along the path at which the
cutter first contacts, finally contacts, or becomes fully engaged with each primitive are
found. The collection of all of these critical points divides the current cutter path into a
number of segments within which a primitive may be redundant. The method is equally
applicable to both end milling and face milling.
If the cutter is entirely outside of the primitive, then the primitive is A redundant. If
the cutter is entirely inside of the primitive, then the primitive is redundant. This is
illustrated in figure 5.38. Within each segment of the current cutter path, the redundant
primitives are replaced by A or in the CSG tree and it is simplified according by
applying the rules in table 2.1. This final procedure reduces the CSG data structure size
down to the minimum required to correctly determine the cutter immersion intervals.
5.3.3 Analytic interval endpoint expressions
Very frequently, particulary in end milling, it is discovered that very few non-redundant
primitives remain in the CSG tree for a cutter path segment. When this situation is
recognized, time consuming incremental sampling along the path to determine the cutter
immersion intervals can be avoided by the use of analytic expressions.
To utilize the analytic expressions it first must be confirmed that peripheral milling
is occurring. That is, the single cutter immersion interval must be either [0, çbex) (up
milling) or [q, 7r) (down milling). This is checked by evaluating the boundary of the
Chapter 5. Relevant primitive identification 173
Figure 5.38: Primitive redundancy segments. Assume that the three preceding 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 174
solid represented by the relevant primitives remaining in the path segment and discarding
any unneeded portions. The generate and test paradigm [9, 99] is the simplest procedure
for accomplishing this, and proceeds as follows:
1. Generate the boundary of each remaining relevant primitive.
2. Find all intersections of boundaries, and then break the boundaries into portions
which terminate at the intersection points.
3. Test each portion of the boundary, and classify it as in, on or out relative to the
solid.
4. Retain only portions that are classified as on the solid.
An example appears in figure 5.39, which shows the remaining relevant primitives in
segment [x1,x3) from figure 5.38. If the solid represented is —*((BU*C)U*D), then the
single cutter immersion interval is [q, 7r) (down milling). While the cutter centre is in the
segment [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 portions
are shown with thicker lines in the figure. When carrying out milling process simulations
and peripheral milling is not occurring improvements over incremental sampling along
the cutter path are not readily implemented.
Since peripheral milling is a common special case, particularly in contouring and in
pocketing operations, it is worthwhile to recognize its occurrence and exploit its simple
geometry to avoid incremental sampling during milling process simulation. This idea is
developed in detail in section 6.3.2. For future reference, analytic expressions qSt(xc)
and qex(xc) for the immersion interval endpoints as a function of the position xc along
the cutter path are derived herein for the rectangle (2 1/2 D block) and circle (2 1/2 D
cylinder) primitives.
Chapter 5. Relevant primitive identification 175
x1 x2 x3
Figure 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 176
Rectangle expressions
As in section 4.2.1 separate expressions for a rectangle side being perpendicular, parallel
or at an intermediate angle to the cutter path are used.
If the side is perpendicular to the cutter path, then (4.7) (repeated below)
(XK1 — XC= +arccos
\. r
is used. Converting to the usual immersion angle notation the expression
/XK1 — XC’\bA(xc), qB(xc) = r/2 + arccos (5.1)
r
is obtained. In (5.1) XK1 is the constant x coordinate of all points on the perpendicular
side and r is the constant cutter radius. The expression for the immersion interval
endpoint angles is therefore a function of only the cutter centre location XC, and is
monotonic for each of the two branches.
If the side is parallel to the cutter path then equation (4.8) is used. Again, converting
to the usual immersion angle notation the expression
= 7r/2 — arcsin (-) (5.2)
is obtained. In (5.2) YK1 is the constant y coordinate of the rectangle side. Since the
cutter radius r also is constant, the immersion interval endpoint angle cb does not
change over the path segment under consideration. This situation frequently arises in
pocketing operations when adjacent cutter paths are parallel. Under these circumstances
the forces, torques and defiections also will be constant, and hence incremental sampling
along the cutter path is unnecessary. This is discussed further in section 6.3.2.
When the rectangle side is at an intermediate angle to the cutter path equations (4.9)
and (4.10) are used. Combining the equations and expressing the result in the usual
Chapter 5. Relevant primitive identification 177
immersion angle notation the interval endpoints are
= /2— [8L+arccos((XL _xc)cosOL)]
(53)
As in the perpendicular side case, each of the two branches is a monotonic function of the
cutter centre location xc. For convenient reference figure 4.10 is repeated on page 178
to illustrate these immersion interval endpoint angle formulae.
Circle expression
Again from chapter 4, the immersion interval endpoint angles are calculated using (4.15)
and (4.16). In the circle case the angle 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. This
is derived as follows: The length GF is easily calculated as ((XF — xC)2 + y)”2 and
TFj = 1CF — CTI. In the right triangles
— CT2 = — =
and hence
jTF2-iCT2 =
(CFj—CTj)2—ICTj2=
1CF12 — 2CFIGTI + ICTI2 — OTt2 = r —
or
CTIOFt2 +r-
(5.5)
Chapter 5. Relevant primitive identification 178
YK1
Figure 5.40: Rectangle—cutter intersection angles. This is a repetition of figure 4.10. (a)perpendicular side. (b) parallel side. (c) intermediate angle.
0
7-’-
(a) (b)
K 1
K2(c)
Chapter 5. Relevant primitive identification 179
Figure 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 j
By referring to figure 5.41 (figure 4.14 repeated), it is apparent that these functions will
be monotonic on each side of the cutter centre point (xQ, 0), where the cutter intersects
\
C
the circle at its quadrant.
Chapter 5. Relevant primitive identification 180
5.4 Summary
This chapter has examined a number of techniques for identifying relevant primitives
during milling process simulation. A relevant primitive was defined as a primitive in
the CSG part description which influences the cutter immersion interval endpoint angles
within the path segment currently being simulated.
In section 5.1 methods for identifying redundant primitives which should be removed
from the CSG tree were discussed. First, approximate bounds such as iso-oriented boxes
were used to simplify the primitive interference calculations. The sweep paradigm to
gether with the interval and segment tree was presented as a method to be used with
a large, unrelated population. By comparison, the S-bounds and active zone methods
utilize the hierarchy of the CSG data structure to reduce the computational effort when
the part has been described as a collection of feature subtrees.
Next, in section 5.2, methods of identifying relevant primitives and cutter paths in
a chain were considered. This differed from section 5.1 in that there the primitives to
retain were identified, as opposed to the primitives to eliminate. It was observed that
over a total of n paths the straightforward technique of checking all paths previous to
the current cutter path had an undesireable quadratic time growth rate, and hence more
efficient methods should be sought.
The first alternative considered was the sweep paradigm used with isoboxes and the
interval tree to obtain an O(N+nlogn) solution. This method, while sound in principle,
was noted to be unsuitable in practice due to the likely excessive number of false path rel
evance reports. Instead, it was shown that by bounding the paths by rectangles oriented
with the path direction a much tighter approximating bound would be achieved. Because
all rectangles had equal widths, the sweep paradigm for finding line segment intersections
could be used to report all relevant paths with O((N + n) log n) time complexity.
Chapter 5. Relevant primitive identification 181
Under special circumstances, such as when pocketing without islands and during
contouring, the problem of determining the immersion interval endpoint angles has a one
dimensional nature. In these situations maintenance of a simple linked list of the part
boundary segments is sufficient.
The anticipated characteristics of a path chain generated to cut a pocket were then
reviewed and used to develop efficient relevant path identification algorithms based on
planar subdivision methods. The horizontal visibility partition method was presented as
an method which, by choosing the optimal adjacency data structure creation algorithm
and assuming a simple cutter path chain, can achieve 0(n) time complexity. Proof of this
linear intrinsic complexity is a valuable research result. The generalized Voronoi diagram
was presented as an 0(n log n) time complexity solution which is conceptually simpler
than the HVP method. Algorithm complexity details for both the horizontal visibility
partition method and generalized Voronoi diagrams were deferred to appendix B.
Finally, in section 5.3, the cutter path was segmented into disjoint portions over which
an unchanging set of CSG primitives remain relevant. It was demonstrated that in periph
eral milling, where a single immersion interval endpoint angle varies, analytic expressions
may be used to avoid incremental sampling during the milling process simulation. This
idea is developed further in section 6.3.
Chapter 6
Milling process model implementation
In chapter 3 the fundamental mathematics required for milling process simulation was
outlined. In particular, note was made of the strong geometric nature of the process model
equations. Chapter 4 developed a method of determining the in cut immersion interval
endpoint angles based on the CSG representation scheme. In chapter 5 it was observed
that most of the primitives in a part description do not participate in the immersion
interval calculations along an individual cutter path. Strategies for identifying relevant
primitives and eliminating the redundant ones were therefore proposed in an effort to
improve computational efficiency.
This chapter combines the information from these three previous chapters and imple
ments the milling process models for 2 1/2 D parts described using a CSG solid modeller.
Particular emphasis is given to exploiting the available geometric information, and to pro
viding both a simulation capability under fixed machining conditions and the ability to
schedule the feed rate to adhere to imposed constraints.
In section 6.1 milling force and torque expressions are provided using both the aver
age chip thickness (ACT) and linear edge force (LEF) models introduced in chapter 3.
Included is a description of how, using solid modeller information, the models can be
continuously calibrated during cutting.
In section 6.2 expressions for the instantaneous cutting forces with a helical cutter
are developed. It is shown that as the cutter rotates the flutes will be bounded by the
part face in five distinct ways. By summing the contributions of all in cut flute sections,
182
Chapter 6. Milling process model implementation 183
analytic expressions for the cutting forces are obtained. Calculus and numerical analysis
techniques are then used to obtain the extreme values of the forces over a rotation period
without sampling at small angular increments. The condensed expressions are also used
to directly solve the cantilever beam equation for the prediction of surface location error.
Section 6.3 recasts the milling process simulation equations for use in scheduling a
feed rate to adhere to constraints. The necessary curve fitting techniques are outlined,
including consideration of the machine tool table drive servomechanism dynamics. To
avoid incremental sampling along the cutter path, the analytic immersion interval end
point angle expressions developed for peripheral milling in section 5.3.3 are used to create
a piecewise linear approximation of the target feed rate schedule.
The chapter is briefly summarized in section 6.4.
6.1 Zero helix expressions
Cutters with a zero helix angle are widely used in face milling operations. In this situation
the material removal rate (MRR) limiting constraints are usually the maximum and
average torque and power—hence the capability to simulate these quantities is needed.
Furthermore, expressions for the average feed and normal forces are required to calibrate
the process models. In this section equations based on both the average chip thickness and
linear edge force models introduced in chapter 3 are tailored for use with the immersion
geometry information available from the solid modeller.
6.1.1 Average chip thickness model
The average chip thickness model separates the cutting forces at each tooth j into tan
gential FT,3(b) and radial FR,3(q) components (figure 6.1). Modifying equations (3.3) for
Chapter 6. Milling process model implementation 184
use with a zero helix angle, the model is expressed as
FT,(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 therefore
T(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 intervals
are found by equating the angular position of each tooth q5j with the immersion interval
endpoint angles (figure 6.2). The torque expression (6.2) is therefore com
prised of a set of functions—each of which is applicable over one of the rotation intervals
[bk, 4)k+1). For the example in figure 6.2 there are five rotation intervals, and hence the
instantaneous torque is given by
>j=1,3 sin(qS + j4)); 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 evaluated
at each interval endpoint 4)k and the maximum value retained. Next, the local maxima
Chapter 6. Milling process model implementation 185
x
Figure 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).
yr
Chapter 6. Milling process model implementation 186
05 0C 0ex,O
øst,1
0ex,1
Figure 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,O
9ex,i
Chapter 6. Milling process model implementation 187
within the intervals are checked by differentiating the torque expression, solving T’(q5m)
o for bm and updating the maximum value if T(bm) is larger. This is easily accomplished
by rewriting an individual function of (6.3) in the form
T(q) = rstaKTsin(q+jqS)
=
= rsaKT(P sin q + Q cos q)
where during the interval [4k,‘6k+1) the constants P and Q have the value
P > cos jb; Q = sin j4)c
The first derivative is therefore
T’(q) = rsaKT(P cos— Q sin q)
and hence
km = arctan
The average torque per revolution (or tooth period)
= 1 f2
T()d
is most easily calculated by exploiting the periodicity of the instantaneous torque and
noting that the helix angle has no influence [102, 147]. It is therefore sufficient to consider
a single, zero helix tooth at reference angle q and write
= rCSaKT sin q5dq (6.4)
where J is the number of cutter teeth and the in cut immersion intervals are qex,j).
The maximum and average power are then calculated using the expression P = Tw
which relates the power P to the torque T and the spindle rotation speed w.
Chapter 6. Milling process model implementation 188
As with the average torque calculation, the average forces in the feed x and normal y
directions are found by considering a single, zero helix tooth at reference angle q. From
figure 6.1 the forces resolved in the x and y directions are
F,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 cut
immersion interval [q3e,, and multiplying by the total number of cutter teeth J. In
the 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 as
7? = [cos 2j ‘; S = [sin 2q — 2]
These calculations are carried out by the solid modeller at each required simulation
increment along the cutter path.
Chapter 6. Milling process model implementation 189
The x and y average forces have two applications. First, as will be discussed in chap
ter 7, monitored average force signals are useful in verifying that the milling operation
is proceeding as expected. A second and essential use for average forces is in calibrating
the average chip thickness process model. Recalling (3.4) and (3.5), the ACT model
parameters KT and KR are calibrated using the equations
KT(h) = MJT; KR(i) = MRTPR (6.7)
where in 2 1/2 D the average chip thickness is defined as
a f St sin (cos — C05
-L-_ i — iIt— ——St
a (qex,i — st,i) (qex,i — cbst,i)
First, PX and F measurements are taken at several different h choices. This can be
achieved either by varying the part geometry or by changing the feed rate st. Next, by
simultaneously solving (6.5) and (6.6) the corresponding values
F7?—S FR+FSKT
St(2 + S2) KR= —
(6.9)
are found.
The constants MT, PT, MR and PR are then estimated by rewriting (6.7) in the form
log KT(h) = log MT — Prlogh(6 10)
logKRQi) = 1ogMR—PRlogJ
and using linear regression techniques [6, 52, 73]. For example, in the usual notation the
expression for K in (6.10) would be written as
y(t) = (t)81 +2(t)O2 =
where the t’th measurements are
y(t) = log KT(t); T(t) [1 —1og)Qt)
Chapter 6. Milling process model implementation 190
and the parameter vector is
&Tz[0gPT]
For a set of t samples define
Y(t) [y(i) y(2) y(t) ]T
[log KT(1) log K(2) log KT(L)1T
and
1 —1ogJ(1)
(PT:(2)= 1 —1ogi(2)
1 —logii(t)
The least squares estimate for the parameters & using I measurements is now given by
Alternatively, a recursive least squares (RLS) estimate of the ACT model constants
can be obtained by using the equations
(t) = (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— 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 are
contained in Aström and Wittenmark [6, chapter 3], and L.jung and Söderström [73].
The advantage of the RLS method is that it allows the process model calibration
to be continuously updated during cutting of the part, which assists in maintaining
Chapter 6. Milling process model implementation 191
accurate force predictions and can potentially recognize changes caused by tool wear.
During cutting along an unchanging part geometry the updating algorithm should be
suppressed, since no new information is being provided. This will avoid difficulties due
to lack of persistent excitation, which results in the P(t) matrix being singular, and the
estimates 0 not being unique (see Aström and Wittenmark [6, chapter 3]).
6.1.2 Linear edge force model
In addition to separating the cutting forces into tangential and radial components, the
linear edge force model further divides the forces into uncut chip and edge contributions.
Repeating equations (3.6) the model form is
FT,(q) = 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 calibration
parameters are independent of the instantaneous cutter immersion. Edge forces are
accounted for by the critical uncut chip thickness h*. The specific cutting pressure is 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 is
T(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 for
Chapter 6. Milling process model implementation 192
T(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 thickness
parameter h* is multiplied by the number of teeth in cut.
The maximum instantaneous torque over a tooth period is found by first evaluating
(6.16) at the interval endpoints bk. The local maxima within the intervals are then
checked at the critical points (see appendix C)
= arctan () (6.17)
where during the interval [qS, k+1) the constants P and Q have the value
P cosjc; Q = sinjq
The maximum is updated if T(qm) has a larger value.
The average torque per revolution is
T=
rcaKs(h* + t )d (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 using
the relationship F = Tw.
In the LEF model the average forces in the feed x and normal y directions are (see
appendix 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 193
where the four geometric parameters are defined as
P = > [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. The
details are deferred to appendix C.
The expressions for both the ACT and LEF models assume a square cutter edge
and an axial depth of cut a. For a HSS end mill this is a valid assumption. However,
face mills usually have replaceable inserts with either a finite radius or chamfered nose
(figures 6.3(a) and 6.3(b) respectively). The simplest method of accomodating such
cutters is to adjust, as a function of the axial depth of cut a, the model calibration
parameters. For the ACT model an appropriate method is to define an equivalent average
chip thickness ‘eq = 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 geometric
methods (see Yellowley [148]).
62 Helix expressions
For helical cutters calculations in addition to those presented in the previous section are
necessary to check for violation of maximum resultant force and surface location error
constraints. In both of these cases an expression for the instantaneous forces must be
available at any cutter rotation angle. To avoid performing this by sampling at small
angular increments, the critical angles at which flutes change contact geometry with a
2 1/2 D part are determined in section 6.2.1. The corresponding analytic force expressions
which use this geometric information are then derived in section 6.2.2.
Chapter 6. Milling process model implementation 194
cutter L / /
sert
___
(a) (b)
Figure 6.3: Face mill nose shapes. Face mills usually have replaceable inserts with eithera (a) finite radius or (b) chamfered nose.
6.2.1 Critical angle determination
First, define k,,, = tan where is the helix angle. The immersion angle for a flute
section 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) yields
the expression
z(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 cylindrical
shape to a flat wall (figure 6.5). Each of the faces of the part is now bounded by the two
vertical lines = cb5t,1 and q5exi, and the two horizontal lines z = 0 and z = a, where
a is the axial depth of cut.
As the cutter rotates each of the flutes will intersect a face i in one of five distinct
Chapter 6. Milling process model implementation 195
Figure 6.4: Helical flute immersion angle. At z = 0 flute j is at immersion angle= çb + where çb, is the angular spacing between successive flutes. At an arbi
trary axial location z the immersion angle is 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 &.
taniz
zO
Chapter 6. Milling process model implementation 196
øst,1
Figure 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,1
Chapter 6. Milling process model implementation 197
ways (figure 6.6). The corresponding axial limits zj,j,1 and z1,,2 for each of the five cases
are
case 0 z,i = 0; z,2 = a
case 1 z,1 = 0; z,2 = (1/k)[qS + j& —
case 2 zj,j,i = (1/k,)[q + jq5c — qex,j; z,3,2 = a
case 3 = (1/k)[q + jc5c — qex,ij; zj,2 = (1/k)[qS + j qst,i1
case 4 the flute is not engaged with this face
The applicable case for each flute is found by locating the intersection of the diagonal
flute line with the four cutting zone boundaries. Note that when the axial depth of cut
is very large the full set of in cut flute sections is found by stepping in multiples of 27r.
Critical angles occur each time a flute changes contact geometry with a part face.
This is illustrated by example in figure 6.7, where the critical angles define five rotation
intervals [q, bk+1). The corresponding flute contact cases during each rotation interval
are listed in table 6.1.
In the next section instantaneous cutting force expressions are derived for use within
each of these rotation intervals.
6.2.2 Analytic force expressions
Referring back to (3.3), the cutting forces for an elemental axial slice (using the ACT
model) are
dFp(q5,z) = KTstsinb(z)dz(623)
dFR,(,z) = KRdFT,(,Z)
where
Chapter 6. Milling process model implementation 198
0st 0exC
- -
0. 4
z
0— .
___________
0 0
Figure 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 [ 4
Table 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 TV
Chapter 6. Milling process model implementation 200
At any particular location along the cutter path the uncut chip thickness and (by
(6.7)) KR are constant. Therefore the angle between dFT,3 and the differential resultant
force vector dF3 (figure 6.8) is fixed at e = arctan KR. With this substitution the
elemental forces resolved into feed a and normal y components are
z) = —dFj(cb, z) cos(q3(z) — 0) (6.24)
dF,(4, z) = dF(qS, z) sin(qj(z) — 0) (6.25)
where
dF(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 by
integrating with respect to z between the two limits zj,j,i and zj,,2 found in section 6.2.1.
In the x direction
fZj j 2
F,,(qS)= J dF,(b)dz
fZj j 2
jzi,j1
t2ij,2
—stKTRJ [cos q(z)cos0 + sinq(z)sin0] sinq3(z)dzzi, 1
1 f2j2
= ——StKTRj [sin2(b+jq5—kz)cos02
— cos2(q5+j — k,&z)sin0]dz
1 1 Zjj2
= StKTRj_ —cos2(b+jq—kz) cos0Z,)l
1 2ij,2
— sin0 (6.27)2k J
Chapter 6. Milling process model implementation 201
x
Figure 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.
yf
Chapter 6. Milling process model implementation 202
Similarly
pF,13(q.’)
= J sjKTRsinq(z)sin(q(z)—0)dzZi,j,1
fZij,2
StKTRj [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}dz
1 1 1 Zj2
= StKTRj cosOzi 1
1 ii2 ‘1— sin01 (6.28)
Zi j 1
By explicity evaluating these integrals the cutting force can be written as
F,j(q) 8tKTR[—(A + Ejq) sin 0 + cos 0
sin(2q5 — 0) — V13 cos(2q — 0)](6.29)
F,,(qS) + jq5)cos 0 + sine
+B,j cos(2q — 0) + V sin(2qS— 0)1
where, depending on the intersection geometry case (figure 6.6), the geometric constants
A, through E are defined as
case 0 z23,1 = 0; = a
= a
= (1/2k)[sin2(jq — ka) — sin 2j]ci,j = 0
= (1/2k,t,)[cos2(jq — k,,a) — cos2jc]= 0
case 1 z1,,1 = 0; z1,2 = (1/k,j,)[q + jq5c —
= (1/2k,)sin243t+ (1/k)[jq—
= —(1/2k)sin2j
Chapter 6. Milling process model implementation 203
C2, = —(1/2k)cos2q3t,.Vi, = —(1/2k)cos2jq
= (1/kg,)
case 2 zi,,,i = (1/k1,11)[4 + 3c — ex,ij; z,,,2 = a
= a— (1/2k&)5jfl2exi (1/k)[j
—
(1/2k)sin2(j—k4,a)Ci,, (1/2k)cos2q5ex,j
= (l/2lc,J,)cos2(jq—k1fra)=
case 3 z,1 (1/k,)[q’ + j4 —
= (1/k,)[q. + jq— q8t,1
A (1/kq,)[qex,j—
— (1/2k,)[sin2qexj — sin 2q3t,2j0(1/2kv, )[cos2qes,i — COS2qS3t,]00
case 4 the flute is not engaged with this face
= 0= 0
C2,, = 0= 0= 0
A 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 over
all faces i and all teeth j. That is
F() =
= 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 204
where
A=A; B=>Bj; C=C,,3;V=>Dij;
These summations are quickly computed since in practice there are both very few faces
and a small number of flutes.
Maximum resultant force calculation
The maximum resultant force is an important MRR constraint to avoid shank breakage
in end milling (section 3.3.3). Using the x and y force expressions (6.30) and (6.31) the
instantaneous resultant force is
F() = [F) + F)]’/2= StKTRFGEO() (6.32)
where
FGEo() = {(A+)2+B2+c2 +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 and
KR. Therefore the maximum of FQE0(q5)
FGEO,mas = sup{FGEo(q’)jqSc[0,q)}
can immediately be determined using only solid modeller geometrical information. The
maximum resultant force Fma(q) can later be found by scaling when accurate calibration
data is available. That is
Fma = 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 a
Chapter 6. Milling process model implementation 205
numerical method must be used. In this case a very appropriate choice is the glomin
algorithm developed by Brent [10, chapter 6]. When supplied with an upper bound M on
the second derivative, this algorithm will calculate the global minimum of a function over
an interval to within a specified tolerance FEot0l. The number of function evaluations
required 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 returns
the global minimum rather than the global maximum. The second derivative of FEO(q)
is bounded since the geometric quantities A—tX’ are constants, the trigonometric functions
satisfy sin c < 1 and j cos j < 1 for all , and e[0, q). Therefore, by choosing a
tolerance FEot0land using glomin, in any rotation interval [1k, qk+1)
FEO,max FEO,glomin + FEo,t0j
where FEog1jn is the global minimum determined by glomin. For further details
see section C.3. The overall FGEO,max is then found by taking the largest of the individual
rotation interval values.
This approach is superior to sampling at small angular increments in two ways. First,
it confidently estimates FGEO,max to within a specified tolerance—which sampling cannot
guarantee. Second, of course, far fewer function evaluations will be required under normal
circumstances, when there are both few part faces and a small number of cutter flutes.
Surface location error calculation
Complex research models [4, 58, 84, 109, 118] have been developed to advance under
standing of the active mechanisms in milled surface generation. In these models the
Chapter 6. Milling process model implementation 206
effects of radial runout, a flexible part, and feedback of the slightly modified immersion
geometry are explicitly considered during force calculations.
Modelling of all of these effects goes beyond the first requirements to plan a material
removal rate (MRR) consistent with a surface location error constraint. For the thesis
purpose of studying integration of solid modeller geometrical calculations with milling
process simulation, a no runout, no feedback rigid part model is adopted. Surface location
errors are assumed to be due solely to the flexible cutter being deflected by cutting forces.
In peripheral milling the surface is generated when a cutter flute section passes
through angle zero (up milling) or r (down milling). Examining the down milling case
in detail, the surface generated at any axial position z,(4) is determined by choosing
the flute j such that qS[0, &) in the equation
= + 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 are
found by substituting 3ir, 57r, etc. for 7t in (6.36).
To determine the deflection the flexible end mill is modelled as a cylindrical cantilever
which obeys the equationd46
= —wy(q, zL) (6.37)dzL
where
E 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 207
ZL_LZ
Iz
Figure 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 flute
j and located a distance S(zL,3)away from its nominal location, where z,5 = L — z,j(q).
/
/
L
/
T
I
0 7k
Chapter 6. Milling process model implementation 208
At any rotation angle the normal force density is
dF(q, z)wy(q,zL)_
dz
which can be written as
w(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 — defined
by 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 piece
wise integration over the axial intervals [zL,k,ZL,k+1) and at the appropriate value of q.
That is
V,zL)
M(,zL)= J V(Z)dZ
ZL)fLM, 2)dZ
= f O(q,Z)dZ
where respectively ‘4(4, zL), M(qS, zL), zL) and S(qS, zL) are the shear, bending
moment, slope and deflection of the end mill in the normal or y direction. The integration
constants are found by imposing the boundary conditions
V(b,zL=L) M(b,zL=L) = 0
= 0
Chapter 6. Milling process model implementation 209
Further details on this procedure, including an example calculation, are given in sec
tion C.4.
Although the procedure just outlined has been found to give accurate predictions
under the physical conditions assumed, it is very time consuming due to the need to
repeat the entire sequence at small angular increments. A simpler model is therefore
desired which will permit more rapid feed rate scheduling to respect a surface location
error constraint. This model is described below.
It is assumed that the constraint is the maximum surface location error 8ymax. This
can be expected to occur at the end mill tip, where flexibility is greatest, and when the
normal force achieves its extreme value. Using the coordinate system in figure 6.1 the
maximum overcut in up milling and the maximum undercut in down milling both occur
at the maximum normal force Fy,max. For simplicity, the point of the force application
is fixed at a location half way along axial immersion a (figure 6.10).
Under this conditions the maximum deflection of the end mill, and hence the largest
possible surface location error, is given by the cantilever deflection equation
,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)j
the maximum normal force Fy,max is found by checking the endpoints of each rotation
interval [q, 4k÷1) and retaining the maximum value. Differentiating
F) = StKTR[t cos 0 — 213 sin(2 — 0) + 2D cos(2q5 — 0)
Chapter 6. Milling process model implementation 210
Figure 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/2
Chapter 6. Milling process model implementation 211
= StKTR [tcosO — 2(32 + V2)112 sin (25 —0— arctan
and setting Fy’(qm) 0, the extreme values are found at
1 1 . / é’cos0 ‘\jarcsln2(B2 + V2)h/2)
+ arctan + 8
If a local extreme value Fy(bm) is larger, it becomes the maximum normal force F!,,max.
To demonstrate the approach consider a case studied by Kline [56, figure 5.lla]. In
his example a four flute end mill with radius r=9.525 mm, helix angle b=30 degrees
and cantilever length L=108 mm was used. The axial depth of cut was a=50.8 mm,
the radial width of cut d=254 mm and the feed rate per tooth was st=0.38l mm. A
down milling operation was used, and hence the single immersion interval was ex)
= [2.394, 7r). The calibration parameters were KT 0.644 kN/mm2and KR = 0.320 for
the 7075-T6 aluminum part material. Kline computed the moment of inertia as I r/3
rather than the usual 7rr/4 to account for the absent material behind the flutes. This
is consistent with the observations of Ziatin et al [155] and the value 7r(0.8r)4/4 more
recently 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 max
imum deflection is 6m=0.777 mm or 777 This agrees almost exactly with the
maximum surface location error determined experimentally by Kline (see section C.4),
and compares well with the predicted value of 830 m found by a piecewise integra
tion of the cantilever equation (6.37). The above example suggests that, for feed rate
scheduling purposes, it is reasonable to utilize the concentrated maximum normal force
surface location error model, and exploit calculus instead of sampling at small angular
increments.
Chapter 6. Milling process model implementation 212
6.2.3 Summary
In this section the cutter immersion geometry for helical end mills in 2 1/2 dimensional
cutting was further examined. It was found that the immersion of the flutes with the
part faces can be classified into five cases, and that analytic, piecewise expressions for the
forces and surface location error could be defined to avoid incremental sampling along
the cutter z axis. The maximum resultant force, important when shank breakage is a
concern, could then be found using a numerical method rather than sampling at small
angular increments. For rigid parts it was demonstrated that a simplified, concentrated
maximum normal force surface location error model was sufficient. This allows calculus
to be used to much more rapidly determine the maximum normal force and maximum
surface location error.
6.3 Feed rate scheduling
A principal reason for developing a solid modeller based milling process simulation sys
tem is to plan material removal rates consistent with the constraints first discussed in
chapter 3. In this section the MRR constraint equations developed earlier in the chapter
are recast to schedule a feed rate which simultaneously satisfies the limitations reviewed
in the thesis. Separately considered are an incremental solution, and a more rapid nu
merical method applicable during peripheral milling, when the immersion angle endpoint
can be analytically expressed (section 5.3.3).
6.3.1 Incremental solution
The equations developed in this chapter always eliminate the need to sample in the
axial direction and at small angular increments. This significantly accelerates the milling
process simulation speed. However, when there are several in cut part faces, such as in
Chapter 6. Milling process model implementation 213
face milling, analysis of the cutting forces produced by the many qex,) immersion
intervals is still best treated by incremental sampling along the cutter path. The sample
spacing chosen should be on the order of the feed rate per tooth. Since no part feature
is likely to influence a single tooth period, this ensures that a sudden change is safely
recognized. Near the rapid change, smaller steps can be taken to further refine the
simulation.
To specify a target feed rate under these conditions, the following procedure is applied
at every sample point along the cutter path: First, write the MRR constraint equation
in the form
Qtgt = f(st,tgt)
Here Qtgt is the target value for the constraining force, torque, deflection, etc. and f(stt9t)
is the function relating the feed rate to the constraint. Frequently the function can be
inverted, and the target feed rate found by evaluating
f1(Qtgt)
Average torque constraint
As an illustration, consider the average torque constraint. For the ACT model the
constraint equation (6.4) can be rewritten as
T = SEKTg (6.40)
where the geometric constant is defined as
= rasinqfdçb
Substituting from (6.7) and (6.8) yields
PT PTKT(st) = MTILS St
Chapter 6. Milling process model implementation 214
where— (cos COS st,i)
= Z (6.41)e2 st,i
Hence (6.40) may be expressed as
7= (gMrl’T)s_PT
and inverted to obtain— 11(1—PT)Ttgt
Stjgt
cMTh5
For the LEP model the inverted relationship between feed rate and average torque is
-
hd] (6.43)
Tooth breakage constraint
Implementation of the tooth breakage or maximum uncut chip thickness constraint (3.7)
is straightforward. If 7r/2c[qS, qex,) then Sttg = hmax. Otherwise
St,tgt = inf{(hma/ sin c)Ic5 q’st,o, q5ex,o, st,1,
Maximum resultant force constraint
To prevent shank breakage, the maximum resultant force equation (6.34)
Fmax = StKTRFGEOmax
must be inverted. As a function of s
StKTR(st) = stMTi’T(1 + Mh2)1l2
= stMThTsT(1 +M2s2)h/2
= MT T(2(1_PT)+ (6.44)
Chapter 6. Milling process model implementation 215
where the geometric quantity i is defined by (6.41). With conventional cutters and
part materials, and expected feed rates, the quantities 1— PT — PR and 1
— FT are both
positive. Hence (6.44) represents a strictly increasing function of the variable s. By
sampling (6.44) over the expected range of .st a very good approximation of the inverse
to fK(st) StKTR can be obtained by interpolating the sample points with a cubic
spline. Representing this inverse by the notation fQ, the target feed rate is then found
by evaluating
— :—1 (2Fmax,tgtSt,tgt_J j T
\rGEo,max
Surface location error constraint
Treatment of the surface location error constraint is more involved because the ra
dial/tangential force ratio term KR cannot be separated in the normal cutting force
expression. This constraint is usually active during peripheral milling, where frequently
the rapid numerical solution discussed in section 6.3.2 can be applied. In the few cases
where this is not possible, an appropriate feed rate can be chosen automatically by iter
ation.
Chatter
As indicated in section 3.3.6 an approximate cutter contact length limit for chatter avoid
ance is ((3.8) repeated)—1
1c,lim 1ZATRJL[tv,ORjmin
where
J?[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 orthog
onal x and y directions (figure 6.11). The oriented transfer function GoR(jw) is then
Chapter 6. Milling process model implementation 216
modelled as
G,oR(jw) = + G,(jw)
where
j, is the vibration directional factor in the x direction
G,(jw) is the r direction machine tool transfer function
is the vibration directional factor in the y direction
G,(jw) is the y direction machine tool transfer function
Similarly, the real part of G,oR(jw) is
lJ[G,oR(jw,,)] = + tR[G(jw)j
For up milling a simple chatter model assumes that the vibration direction v, OR
is aligned with the cutter radial halfway through the immersion interval [0, q) (see
Tiusty [125]). A similar assumption can be used for down milling. The value for 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 are
I ç6ex . q’ex . I lex bex= cos —0 + sin -i—; = — sin jO + cos
For milling in the +y direction and , are exchanged.
To assess this simple chatter model, it was compared to time domain simulation
results reported by Tlusty, Smith and Zamudio [128]. The simulation assumed a four
flute (qc, = 7r/2) helical end mill with radius r = 12.5 mm, helix angle ib = 30 degrees and
length 100 mm. The part material was aluminum alloy. Constant calibration parameter
values KT = 0.800 kN/mm2and KR = 0.3 were used.
The machine tool structure was modelled using damped second order Laplace domain
transfer functions
G(s)=-.ks2+2Cws+w
Chapter 6. Milling process model implementation 217
øex/2
v,x
I
/v,OR V,Y
Figure 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.
x
Chapter 6. Milling process model implementation 218
Substituting s jW,, and taking the real part
c-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 two
dominant 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, = 6189
radians/s (985 Hz), y2 = 0.022. The y transfer function (and hence its real part) is the
sum of the two modes. That is
Wn,yi Wn vi —
= .2_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?[GvORjminj
where
lJ[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 for
the helix angle. Figure 6.12 compares the simple model predictions to those given in
[128]. The simple model predictions are near the time domain values, and provide an
approximate chatter limit. Time domain simulations, which include additional effects
such as process damping (due to increased flank face contact with the part) and non
linearities (such as the cutting edge jumping out of contact with the part) are widely
regarded as being more realistic.
By repeating the chatter limit predictions at finer increments, a more complete chart
of radial width of cut versus permissible axial depth of cut combinations can be con
structed for use in milling process simulation and cutter path trajectory planning. These
ideas are further pursued in [128], and in the article by Tsai et al [131].
Chapter 6. Milling process model implementation 219
EE
C)
C)
cz
-C)
C)><C)
1.0
radial width of cut
Figure 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 scheduling
After the target feed rate has been found for all active constraints, the final target is
chosen to be the miminum of all candidates. That is, if the target feed rates for individual
constraints are labelled 5t,tgfl, 5t,tgt2, ..., then the final target feed rate to be achieved by
the machine tool table drive is
St,tgt — inf{st,t9n,.st,tgt2, . .. }
In order to reduce the amount of data that must be permanently stored and later
transmitted to the machine tool controller, the final target feed rate sample points are
then condensed into a piecewise function comprised of linear segments. This representa
tion is sufficient for the purpose, is easy to build within the solid modeller milling process
simulation system, and can rapidly be interpolated at the machine tool. The method
used to construct the approximating function is described below.
2.5
0.2 0.4 0.6 0.8
Chapter 6. Milling process model implementation 220
First, assume that the sampled final target feed rate is represented by the set of points
(Xm, St,tgt,m)m=o,1,2,.... The goal is to construct a set of straight line segments such that
for any sample abscissa Xm along the cutter path the value
St,fir,m — St,apx(Xm)
where
St,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 approximating
function 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 inside
To, 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 tolerance
region Tm,ii then a vertex must be inserted to begin a new line segment in the approx
imating 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 abscissa
x1. Otherwise the vertex is inserted at (xi, St,apx(i)) with Stapx(i) being the largest feed
rate value within at abscissa xl. Figure 6.13 illustrates the procedure.
Finally, to allow for the table servo drive dynamics, a commanded feed rate profile
must be constructed. This ensures that, along the straight line cutter path, the achieved
feed rate never exceeds the target. This requires that the feed rate s in mm/tooth be
converted to a feed rate s in mm/s. For a cutter with J evenly spaced teeth and a
spindle speed of w radians per second the conversion equation is
J (teeth) —1s (mm/s) = St (mm/tooth).27r
. w (s )
Chapter 6. Milling process model implementation
Figure 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.
221
a p (x2)
I.
Cl)
30
To,1
To,20
x
Chapler 6. Milling process model implementation 222
(1)
x
Figure 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. As
sume that the rise time is 3d seconds. The commanded feed rate should then be sent
mm before the target feed rate. Using the piecewise linear feed rate approxima
tion, this is accomplished by offsetting the deceleration portions of the target feed rate
(figure 6.14) and using those segments as the commanded feed rate. Additional practical
examples of this procedure appear in chapter 7.
Sf tsd
targetoffsetcommand
Chapter 6. Milling process model implementation 223
6.3.2 Rapid numerical solution
During many pocketing and contouring operations, peripheral milling is occurring at a
constant axial depth of cut. In these cases there is a single in cut immersion interval,
and only one varying angle. In down milling, for example, the immersion interval is
7r). Over a segment of the cutter path çb. can be expressed as an analytic function
of the cutter centre location xc (see section 5.3.3). Hence, by further expressing as a
function of cb quantities such as the maximum resultant force Fmax(qst(xc)) and the
maximum normal force Fy,marr(bst()) analytic expressions as a function of the cutter
centre location are obtained. Alternatively, the target feed rate to maintain adherence
to a constraint can be specified as a function st,tgt2(45t(xc)), etc. Sub
stituting an immersion interval of [0, ex(X)), a similar method can be developed for
up milling. Using numerical methods, these would then combined by determining which
constraint specifies the smallest target feed rate, and the segment of the cutter path over
which it remains smallest. In this section example force and feed rate target functions
required to implement this approach are presented.
The examples which follow were all calculated with calibration data for an actual
cutter and part material used in chapter 7. Down milling is assumed throughout, but
up milling can be handled in a similar fashion. The cutter is a four flute end mill with
helix angle =30 degrees and radius rz’J2.7 mm. In the maximum surface location error
tests, a measured compliance of ksje=0.1736 mm/kN at the cutter tip is used. The ACT—--0.424 2 ——0217model calibration equations are KT = 0.317h kN/mm and KR = 0.212h for
the 7075-T6 aluminum part material used. The axial depth of cut is fixed at 19.05 mm.
During down milling at a feed rate of t=0087 mm/tooth, the predicted maximum
resultant force Fmax(bst) is plotted in figure 6.15. With an imposed maximum resultant
force constraint of 1.2 kN the target feed rate plot, computed from (6.45) and clipped at
Chapter 6. Milling process model implementation 224
a practical ceiling of 0.30 mm/tooth, is shown in figure 6.16. In both cases the curves
can readily be approximated by straight line segments to allow rapid interpolation.
At a feed rate of st=0.087 mm/tooth, the maximum surface location error =
ksteFy,max is plotted in figure 6.17. The target feed rate to maintain SmaxO.100 mm
is shown in figure 6.18. This calculation requires some iteration since the ACT model
calibration parameter KR, which changes with the feed rate, influences the cutter rotation
angle at which the maximum normal force will occur. The relationship is well behaved in
practice however, and the target feed rate values are quickly computed by using a local
zero finder (such as zero [10, chapter 4]) with (6.31).
When the axial depth of cut is constant, using precomputed graphs such as those
shown in figures 6.15 through 6.18 avoids the need to repeatedly carry out the calcula
tions described in section 6.2. Instead, if peripheral milling is occurring, the predicted
maximum resultant force or surface location error, or required target feed rates, can be
retrieved as soon at the single entry 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 feed
rate scheduling. First, for each active constraint the associated target feed rate functions
st,tgti(qst), st,t9t2(t), etc. are approximated using the method described in section 6.3.1
with 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 is
st,tgti(4’st)—
3t,tgtlp(43t) St,tolçl,
St,tgt2(/5st)—
8t,tgt2p(’st) 8t,tolcb
etc. These functions are then combined to yield the final feed rate target approximation
st,tgtp(cbst) which satisfies
st,tgtp(bst) = inf{st,t9ti(q’5t),st,tgt2p( cbt), ..
L)
Z3Cl)U)
E
E
E
CC
E
U)
C
U)
U)
C
0 Tt/4 31/2 3n/4
Chapter 6. Milling process model implementation 225
_
2.00
1.50
1.00
0.50
0.00
entry 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.30
0.25
0.20
0.15
0.10
0.05
0.00
entry 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/4
Chapter 6. Milling process model implementation
E
ci)
C)
z3(I)
>cE
0 31/2 33114
226
0.4
0.3
0.2
0.1
0.0
entry 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.30
0.15
- 0.10
0.05
2 0.00
Figure 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/4
entry angle (radians)
31
Chapter 6. Milling process model implementation 227
It too is piecewise linear and therefore has a constant first derivative over any
particular piece.
Now suppose that the analytic cutter immersion interval endpoint expression st(XC)
is also approximated by piecewise linear functions such that over a cutter path interval
XCb)
cbst(c) — qstp(xc) st,toi (6.47)
where qstp(xc) is the approximating function. Under these assumptions a piecewise linear
approximation of st,tgt(q5t(xc)) is obtained satisfying
st,tgtp(4stp(rc)) + St,to1c + .st,gt(cbst(xc)) (6.48)
To allow for the table servo drive dynamics, this profile is then offset by the method
illustrated in figure 6.14 to create the final commanded feed rate.
The variable cutter path sampling procedure described above, although involving
more analysis, is time saving when large values are acceptable for the tolerances 3t,to1çf
and and the derivative is relatively small in absolute magnitude. Often in
pocketing operations q (down milling) is constant over long portions of the cutter path,
in which case only one target feed rate must be determined. Example cutter paths and
parts on which the approach has been used are presented in chapter 7. The outline of a
method to construct the piecewise linear approximation5(x) is given in section C.5.
6.4 Summary
In this chapter the geometric information obtained from the solid modeller (chapters 4
and 5) is used to implement milling process calculations required for monitoring and
planning purposes. For the 2 1/2 D parts considered, several methods to avoid time
consuming incremental sampling are developed.
Chapter 6. Milling process model implementation 228
First, analytic expressions are used to replace sampling along the cutter z axis for both
face milling cutters and helical end mills. These analytic expressions then permit calculus
and numerical methods to be used to rapidly predict maximum resultant forces and
surface location errors without sampling at small rotational increments. Finally, during
peripheral milling it is shown that piecewise linear functions can be used to approximate
process values to a specified tolerance. This method ensures that rapid changes are
not overlooked, and permits the sample increment along the cutter path to be varied
—achieving a third degree of reduction in computational effort.
The computed force, torque, etc. values can be used directly for monitoring purposes,
or to schedule a feed rate consistent with the active process constraints. This is explored
for average torque and feed rate constraints in face milling using both the ACT and LEF
models. In end milling, additional constraints on the maximum resultant force (to avoid
shank breakage) and maximum normal force (to avoid excessive surface location error)
are considered. The target feed rates for each active constraint are then combined to
yield an overall target feed rate schedule which can be commanded to the machine tool
servo drives.
Applications of the solid modeller milling process simulation system, including a num
ber of examples to demonstrate the procedures, are presented in chapter 7.
Chapter 7
Simulations and experiments
7.1 Introduction
This chapter presents the simulations and experiments that were conducted to demon
strate and verify the solid modeller based milling process simulation system developed
earlier in the thesis. It is divided into sections as outlined below.
In section 7.2 the equipment used to conduct the experiments is described. This
includes the machine tool, data acquisition hardware, supervisory microcomputer and
the table servo drive motion controller.
Section 7.3 presents the face milling simulations and experiments. This includes
average force and torque verification experiments for example parts, feed rate scheduling
to adhere to average torque and feed rate constraints, and an example of recursive milling
process model parameter identification.
In section 7.4 the end milling simulations and experiments are presented. Included are
verification of the analytic helical cutter expressions (6.29), and maximum resultant force
and surface location error prediction examples. Using the rapid simulation method de
scribed in section 6.3.2, the feed rate is automatically scheduled to adhere to a maximum
resultant force constraint. An example of feed rate scheduling to adhere to a maximum
surface location error constraint is also included.
Section 7.5 proposes use of solid modeller data to assist in adaptive control of maxi
mum resultant cutting forces. After outlining the intended application of the proposal, a
229
Chapter 7. Simulations and experiments 230
subsection is devoted to describing the process model and controller design. Experiments
with parts exhibiting a step change in axial depth of cut and a rapid change in radial
width of cut are used to demonstrate the approach.
7.2 Experimental equipment
The main components of the experiment setup are illustrated in figure 7.1. A vertical
milling machine equipped with a 5 kW AC motor connected to the spindle drive gear
reduction was used. The two linear machine tool table axes were driven by 15 A perma
nent magnet DC servomotors connected directly to the lead screw shafts. A Motorola
MC68008 based motion controller was used to coordinate the table axes. The external
supervisory microcomputer was connected to the motion controller via a bus adapter.
Pulse width modulated motor drive amplifiers complete the system.
Cutting force signals were obtained using a dynamometer and charge amplifiers. The
dynamometer was secured to the machine tool table and the part mounted on the dy
namometer table. Hence the cutting forces on the part were actually measured. The
charge amplifier signals were then processed by an analog peak detector and signal av
erager circuit. This permitted maximum and average forces to be directly measured. A
spindle mounted shaft encoder was used to provide synchronization. Analog to digital
conversion was accomplished by a data acquisition card installed in the supervisory com
puter. Again the spindle shaft encoder was used to synchronize storage of the sample
data points.
For feedback control purposes the table axes positions were obtained by querying
the motion controller. Along the x axis of the plotted graphs, however, the position
was measured in synchronization with the cutting force measurements by sampling a
ramp waveform voltage with a period of 0.325 mm. Ensuring that the absolute table
Chapter 7. Simulations and experiments 231
position remained unambigous required that the maximum feed rate be limited during
experiments. The supervisory microcomputer was an Intel 12 MHz 80286/80287 based
system. As stated above, the computer bus was connected to the machine tool table
motion controller and a data acquisition card.
The National Research Council of Canada Institute for Mechanical Engineering (Van
couver, BC) provided the surface measurement data for figures 7.31 and 7.32.
7.3 Face milling examples
7.3.1 Introduction
The cutter body used for the face milling experiments had an effective radius r,, of 50.8
mm and an inclination (equivalent to helix) angle of seven degrees. The eight evenly
spaced cutting inserts had a nose radius of 1.20 mm. Special care was taken to minimize
radial runout. The part material was 7075-T6 aluminum and was cut dry at a spindle
speed of 775 rpm. An axial depth of cut a=3.175 mm was used throughout.
To initially calibrate the ACT and LEF process models cutting tests were conducted
over feed rates ranging from 0.075 mm/tooth to 0.168 mm/tooth and with immersion
intervals of [0.597, 2.544) radians and [1.571, 2.544) radians. The calibrations values found
for the ACT model were
l.553h°151 kN/mm2; KR = 0.274h°383
For the LEF model the values found were
K = 1.905 kN/mm2; = 0.0172 mm
c1 = 0.364 c2 = 2.519
The example part shapes used in the verification experiments are shown in figure 7.2.
The shape in figure 7.2(a) is shown with all dimensions and will subsequently be referred
Chapter 7. Simulations and experiments 232
Figure 7.1: Experimental setup. The illustration above shows the main components 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 233
to as the three feature part. The parts in figures 7.2(b) and 7.2(c) have identical di
mensions except for the missing features. These will respectively be referred to as the
two feature and one feature parts. This shape was chosen to demonstrate the cutter
immersion interval calculation procedures from chapter 4. Refer back to figure 4.17 for
a diagram of the CSG data structure for the three feature part. The cutter path used is
shown in figure 7.3 together with the cutter immersion arcs for the three feature part at
selected reference positions.
7.3.2 Model verification and monitoring applications
Average x and y forces measured per tooth period are shown in figure 7.4 for the three
feature part cut at a feed rate of 0.151 mm/tooth. Note that the negative of the average
x force is plotted to reduce the graph range. The signal coarseness is due to the remain
ing runout between the eight cutting inserts. By referring to figure 7.3 the dominant
points on the graph can be explained. On initial contact of the cutter with the part
the forces increase rapidly since cutting occurs near the maximum uncut chip thickness.
The absence of material over the two 16.0 mm diameter holes (near position 20 mm)
then causes a reduction in average force. Beyond the holes the widest immersion is en
countered, and the average forces increase to their highest level. A reduction in average
force then occurs as the cutter encounters the two 25.4 mm radius semi-circular features,
followed by an increase as the centre of the feature is passed. The lack of material at the
start of the 25.4 mm wide L-shaped feature then causes a sharp reduction in both the
x and y average forces. The y force then increases until the portion of the third feature
perpendicular to the cutter path is encountered near position 110 mm. This is caused by
the increasing radial force contribution near the extreme right edge of the cutter immer
sion arc. Beyond the third feature the average forces increase briefly before the second
pair of 16.0 mm diameter holes are reached near position 135 mm. The average forces
Chapter 7. Simulations and experiments 234
157.0
Figure 7.2: Face milling example parts. (a) Three feature part. (b) Two feature part.(c) One feature part. All parts are similar in shape (except for the missing features) andhence dimensions are shown only for the three feature part.
15.0 — 127.0
8.0
92.0
ciii dimensionsin millimetres
30.0+
25.4
35.597.5
(0)
(b) (c)
Chapter 7. Simulations and experiments 235
oH dimensions in millimetres
Figure 7.3: Face milling cutter path. The path of the 50.8 mm radius cutter over 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 236
2.5
2.0
1.5
2 1.0c
0.5
‘ 0.0
-0.5200
position (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 parts
at feed rates of 0.151 mm/tooth and 0.100 mm/tooth. Graphs were then prepared to
allow comparison of the ACT and LEF model predictions to the experimental measure
ments (figures 7.5 through 7.10). For clarity the runout component of the average force
experimental measurements has been removed by taking an eight point moving average.
In all graphs the negative of the average r force has been plotted. In each case there is
good agreement between simulation and experiment. These examples demonstrate the
correctness of the cutter immersion calculation procedures developed in chapter 4 as well
as the suitability of the ACT and LEF milling process models.
The cutter immersion intervals were computed from the part CSG model using a
microcomputer and the cutmod program. As stated in chapter 4, approximately 20
seconds were required to calculate the immersion intervals at 2 mm increments. The ACT
0 40 80 120 160
Chapter 7. Simulations and experiments 237
model process simulation was computed using program helix, and the LEF model process
simulation was computed using program face. Both programs had an execution time of
approximating 45 seconds and hence the total CSG model to average force prediction
procedure was completed one minute and five seconds. Details on the microcomputer
used and listings of the simulation programs are provided in [110, appendix D].
When the part shape matches the solid model there is a very strong agreement be
tween the milling process model predictions and the observed average cutting forces. The
machine tool should therefore monitor these signals to confirm that cutting is proceeding
normally. If a significant deviation is observed then cutting should be stopped immedi
ately and the cause diagnosed. An abrupt change in average forces between successive
tooth periods may indicate tooth breakage (see Altintas [3]). The other possibility is
a sudden change in part geometry. If the solid modeller simulation predicts no sudden
change in average forces, then a tooth breakage may be concluded. Otherwise cutting
should continue at a cautious feed rate. If the measured average forces greatly exceed the
solid modeller predictions or abrupt changes occur once per rotation then again damage
to the cutter teeth may be concluded. Final conclusive evidence of tooth breakage can
be obtained by calculating the predicted instantaneous x and y forces for the next few
tooth periods and comparing these to the measured signals. If indeed a tooth has been
damaged these values will greatly disagree. Should this not be observed then cutting may
safely resume at the scheduled feed rate. Normally all of the simulation data for this
purpose would not be calculated in advance, but would be required on demand should a
potential tooth breakage be detected. To implement this scheme there must be a commu
nications link between the machine tool executive and the solid modeller host computer
(as suggested in figure 1.1). Furthermore, the solid modeller must be able to compute
the required information very quickly to avoid long idle times on the factory floor.
Prolonged deviation of the measured average forces from the solid modeller prediction
Chapter 7. Simulations and experiments 238
1)
ci)
c3
ci)L)
C
ci)
ci)>
position (mm)
40 80 120 160
2.5
2.0
1.5
1.0
0.5
0.0
-0.50 200
position (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.5
2.0
1.5
1.0
0.5
0.0
-0.50 200
Figure 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 160
Chapter 7. Simulations and experiments 239
U)C)C
0
U)
U)
U)C)
0
U)
0C
U)
0
40 80 120 160
posftion (mm)
2.5
2.0
1.5
1.0
0.5
0.0
-0.50 200
Figure 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.5
2.0
1.5
1.0
0.5
0.0
-0.5200
Figure 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 160
position (mm)
Chapter 7. Simulations and experiments 240
C)
0
c)
ci,>C)
ciC)
0
ci)
C)
ci>C)
0 40 80 120 160
position (mm)
2.5
2.0
1.5
1.0
0.5
0.0
-0.5200
Figure 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.5
2.0
1.5
1.0
0.5
0.0
-0.5 0 200
position (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 160
Chapter 7. Simulations and experiments 241
may indicate an unexpected actual part shape. Observe in figures 7.5 through 7.10 the
significant difference in the average force “signatures” of the three different but similar
part shapes. Any sizeable feature of the part will influence the overall average force values,
and its absence will be detectable. The LEF model equations for computing the average
forces (6.19) and (6.20) are based solely on integrals of the cutter immersion interval.
Therefore the average forces for disjoint intervals can be added linearly. That is, if interval
A [4st,A, Ekex,A) is disjoint from interval B [qS8t,B,q5ex,B) and the corresponding average
forces are F,A, F,A, F,B and F,B, then the Boolean union A U B has average forces
FX,AUB = F,A + F,B and F,AUB = F,A + F,B. Similarly if B C A then the Boolean
difference 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 are
subtracted from the average forces for the two feature part, then the average forces for
the three feature part will be obtained (figure 7.11). This property can be used to assist
in identifying a single missing part feature. If the average uncut chip thickness (and
hence KT and KR) change little then this technique can also be applied using the ACT
model.
7.3.3 Feed rate scheduling
To illustrate the incremental feed rate scheduling procedure (section 6.3) the three feature
part was used. At a constant feed rate of 0.151 mm/tooth the predicted average torque
is shown in figure 7.12. Now suppose that a average torque T9 of 60 N-m is to be
maintained. Such a constraint would in practice be due to a limitation of the spindle
drive motor. By solving (6.42) and (6.43) incrementally along the cutter path the target
feed rate shown in figure 7.13 is obtained. The second criteria imposed is a maximum
feed rate of 0.175 mm/tooth. This constraint was added to avoid difficulties in tracking
the machine tool table position with the experimental equipment available. In industry
Chapter 7. Simulations and experiments 242
1.5
.2 1.0
0 200
position (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 P2
40 80 120 160
Chapter 7. Simulations and experiments 243
150
120
90
Figure 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 rate
was approximated using straight line segments. The approximation was then combined
with the maximum feed rate constraint to yield the final target feed rate to be scheduled
(figure 7.14). This feed rate was then converted to an advance rate per second. With
eight teeth and a spindle speed of 775 rpm the conversion expression is
8 teeth 775 rev. mm.s (mm/s) = .st (mm/tooth) .
_______
. .
rev. mm. 60 s
To allow for a table servo drive rise time of 80 ms (see section 7.5) plus 20 ms to com
municate a new velocity to the motion controller an offset oft3d=100 ms was used to
compensate for the servo dynamics (refer back to figure 6.14).
Expressed again in mm/tooth, the target and experimentally achieved feed rates for
the scheduling test are shown in figure 7.15. Observe that the achieved feed rate is slightly
smaller than the target feed rate—as planned. Although the average torque could not be
directly measured with the available equipment, the part geometry is accurately known
120
position (mm)
Chapter 7. Simulations and experiments 244
00
EE
0
0ci)ci-)
0 40 80 120 160
0.3
o0
. 0.2EE
ci)
0
0ci)c1)
0.0200
position (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.3
0.2
0.1
0.0200
position (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 160
Chapter 7. Simulations and experiments 245
0.3
0
02
E
1J
0.10Q)V
0.00 200
Figure 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 and
y forces from the dynamometer (figure 7.16), solving for the ACT model parameters KT
and KR (see (6.9)) and the torque estimate obtained using (6.40). A graph showing this
experimental estimate and the predicted average torque for the ACT model is shown
in figure 7.17. Other than the expected deviation due to the difference between the
target and achieved feed rates, a good agreement between experiment and prediction was
obtained. These results demonstrate the usefulness of the solid modeller based milling
process simulation system for planning purposes.
7.3.4 Recursive parameter identification
This section demonstrates recursive identification of the ACT model parameters as out
lined in section 6.1.1. A similar approach would be used for the LEF model—mathematical
details appear in section C.1.
Data from the three feature part and feed rate scheduling experiment conducted in
40 80 120 160
position (mm)
Chapter 7. Simulations and experiments
L)
Q
q)
c)>.
E
L.
0
q)
0
a)>0
0 40 80 120 160
246
2.5
2.0
1.5
1.0
0.5
0.0
-0.5200
position (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.
60
30
00 200
position (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 160
Chapter 7. Simulations and experiments 247
section 7.3.3 was is used because of the wide domain of average uncut chip thickness
] values available. The average x and y forces for this experiment were presented in
figure 7.16. Samples were recorded at 2 mm position increments to avoid repeated iden
tification with unchanging part geometry and h values. Because the in cut immersion
intervals beyond position 180 mm are too small to reliably solve for KT and KR using
(6.9), these average force measurements were discarded. To provide a sufficient quantity
of samples the remaining data was duplicated four times. This simulates cutting four
identical parts. Offline identification of the ACT model parameters was then performed
using the recursive least squares method. Initial values were:
10000 0P0 = (covariance matrix)
0 10000
K0 [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. The
estimates 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 linear
regression (non-recursive least squares). Recalling the form (3.4)
KT = MTh_l’T = 1.310h°222 kN/mm2; KR = MRh,_PR = 0.266h°372
These estimates are approximately the values previously obtained during the calibration
tests (page 231). A more rapidly converging and improved estimate could be obtained
by frequently and randomly changing feed rates (within allowable constraints) so that
sampling occurs over broader domain of average uncut chip thickness.
The principal advantage of the recursive parameter identification approach is that
the data is obtained during productive cutting rather than during separate calibration
Chapter 7. Simulations and experiments 248
1.0
0.5
10.0
- -05ci-)Es— 1cL
-1.50
cyc’e
Figure 7.18: Recursive parameter estimates. The graph above show the estimates ob—tamed for the ACT model (3.4) parameters. Details are provided in the text.
tests. This is possible because the part geometry is accurately known. In general practice
conservative estimates for the cutting forces will be available and hence a cautious MRR
can initially be used until improved online estimates become available. Thereafter cutting
at a more productive MRR can safely proceed. Detection of a sudden change in parameter
estimates indicates either a substantial deviation from the nominal part shape or cutter
breakage. Consistent but slow changes may indicate tool wear.
To implement these strategies requires use of the solid modeller in two distinct ways.
First, condensed geometric information is needed to convert force measurements to the
process model variables. Secondly, a feed rate schedule using the new parameter estimates
must immediately be provided. This requires a communications link to the machine tool
executive (figure 1.1) and demands an efficient implementation of the milling process
calculations within the solid modeller.
1 2 3 4
Chapter 7. Simulations and experiments 249
7.3.5 Summary
The face milling examples have verified the implementation of both the ACT and LEF
process models within the solid modeller. The good agreement obtained between simula
tion and experiment implies that online monitoring applications can rely on the simula
tions to provide accurate reference data. To maintain adherence to process constraints,
the feed rate can be varied to follow a schedule prepared using the solid modeller. This
concept was successfully implemented using imposed average torque and maximum feed
rate constraints. Finally, an example of recursive process model parameter identification
was presented.
To be of practical use the solid modeller calculations must be carried out efficiently
and the simulation data condensed before it is transmitted to the machine tool executive.
This is particularly important when online updating is proposed.
7.4 End milling examples
7.4.1 Introduction
The end milling experiments were conducted using a four flute USS cutter with a radius
r. of 12.7 mm. The helix angle was &“3O degrees. The part material was 7075-T6
aluminum, cut dry at a spindle speed of 473 rpm. A constant axial depth a=19.05 mm
was maintained.
The ACT model was calibrated by sampling the average forces with an immersion
interval of [7r/2, ir) degrees (half immersion, down milling) and feed rates ranging from
0.018 to 0.087 mm/tooth. The following process model equations were obtained:
KT = 0.317h°424 kN/mm2; KR = 0.212h°217
Chapter 7. Simulations and experiments 250
test [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.424
Table 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 verification
A first set of trials were conducted to verify the helical cutter expressions (6.29). For this
experiment the charge amplifier signals were connected directly to the data acquisition
card (see figure 7.1) and recorded at a rate of 720 samples per revolution. Averages for
ten successive revolutions were then computed. The feed rate was 0.087 mm/tooth.
Cutting conditions for the six tests are given in table 7.1. Corresponding graphs show
ing the simulation predictions and experimental measurements are labelled figure 7.19
through 7.24. Some deviation in the experimental measurements is observed. This is
attributed to radial runout (measured to be approximately 30 gm), which could not be
further reduced using the available equipment. There is, however, good agreement be
tween the shape of the simulation and experiment curves and hence correctness of (6.29)
is concluded.
The remaining end milling examples all involve the part shape shown in figure 7.25.
The two cutter paths used are labelled A and B in figure 7.26. The simulation predic
tions were obtained using programs cutmod and helix (see [110, appendix D]). Each
complete simulation along the cutter path at 1 mm increments required approximately
one minute of execution time. Unless otherwise noted, the radial runout component in
c:I)C-)
0
rotation angle
Figure 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 angle
Figure 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 251
2
1
0
—1
-20 rt /2 3n/2 23t
q)C)
0
2
1
0
—1
-20 ru/2 33t/2 2rt
Chapter 7. Simulations and experiments
C)I—
C)
rotation angle
Figure 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)
252
2
1
0
—1
-20 t/2 3n/2 2it
0
2
1
0
—1
-22m
Figure 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/2
rotation angie
ca)L)C
0
rotation angle
Figure 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 253
2
1
0
—1
-20 31/2 3n/2 2n
ci)C)
0
2
1
0
—1
-20 3n/2
rotation angle
2m
Chapter 7. Simulations and experiments 254
Figure 7.25: End milling example part
the experimental measurements was smoothed by taking a four tooth moving average.
The feed rate was a constant 0.087 mm/tooth.
The experimental and predicted average x and y forces along cutter path A are shown
in figure 7.27. The negative of the average x force is plotted. The significant features in
the test part shape are readily recognized in the force signals. Near the 15 mm a slight
decrease in the y average force is observed as the cutter encounters the 16.0 mm diameter
hole. The average forces then increase up to the maximum immersion near the 25 mm
position. Beyond the 50 mm position the forces decrease as the cutter enters the large
void. Near the 80 mm position the forces are smallest, and then slowly increase as the
Gil dimensions in millimetres
Chapter 7. Simulations and experiments
y
x
all dimensions in millimetres
18,5
255
Figure 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 256
Figure 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-)
0
0
0
2.0
1.5
1.0
0.5
0.0
-0.50 40 80 120
position (mm)
160
immersion widens. The overall agreement between the simulation predictions and the
experimental measurements is very good.
Figure 7.28 show the maximum resultant force values. The simulation predictions
were computed rapidly using the numerical methods described in section 6.2.2 with a
tolerance Ff01 = 0.050 kN. Good agreement between simulation and experiment is ob
served, although the experimental measurement appears to be slightly less than predicted.
This is due to bending of the cutter, and is discussed in more detail later. In section 7.4.3
the maximum resultant force is imposed as a constraint to demonstrate use of the rapid
feed rate scheduling technique developed in section 6.3.2.
End milling path B was used to examine the surface location error prediction capa
bility. Again the axial depth of cut was 19.05 mm and the feed rate 0.087 mm/tooth.
As an initial check, the simulated average forces were computed and compared to the
experimental measurements (figure 7.29). As expected, good agreement was obtained.
Chapter 7. Simulations and experiments 257
2.0
1.50
U)
j0.5
0.0160
Figure 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 shown
in figure 7.30. For this graph the four tooth moving average was not used, and hence
the unsteady component due to runout remains. Measured at 3 mm axial depth of cut
spacings, the surface profile after milling is shown in figure 7.31. Using a measured
cutter compliance of ksie=O.l736 mm/kN, the simulated maximum surface location error
prediction is compared to the experimental measurement in figure 7.32.
The observed maximum normal force is consistently somewhat less than the predic
tion. This occurs because the cutter is bending enough to measureably alter the uncut
chip thickness. Based on the maximum normal force graph an overestimate of the max
imum surface location error would be expected. Nominally this would occur, but for
the case under study this is nullified by the large radial runout. Even though the force
is lower, the larger radius teeth generate the final surface with a larger surface location
error. These observations are consistent with those previously reported by Kline [56,
position (mm)
Chapter 7. Simulations and experiments 258
Q-)C-)S.
0
cJC)
V
C)
VC-)S.
0
ES.
0
C)
E
position (mm)
0 40 80 120 160
2.0ACT expt
Figure 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.0
1.5
1.0
0.5
0.00 160
position (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 120
o‘
—.
Oq
o
C)
OC
Do
CD0
0
CD
CD
CDCl
)
U) CD
CD
H-i-
0C
DC
DC
DO
—CD
co-
)CD
o
CDCD
CDC
)o
ç,-—
•0
EC
U)
l•4
CD
°C
D,
‘-4
,
U)
Cl)
CD±
CD
-t•-
0±
CDCl
)CD
0 r) 0
0 0
surf.
icc.
erro
r(m
m)
02
00
--
I CD U)
0‘‘
Cl)
0_0 D 3
c,zz(
mm
)
cc
Chapter 7. Simulations and experiments 260
0.4
5
0.3
0.2
0.1><
0.00 160
position (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 simulation
and experimental results are in adequate agreement for use during the bulk material
removal stage of pocketing operations. During the finishing pass, when surface location
is the primary concern, an improved simulation can be obtained by balancing the cutter
deflection with the cutting forces (see Kline [56]). In this situation peripheral milling is
likely to be occurring, and hence geometrical simulation of the cutter deflection can be
obtained by translating the part boundary relative to the cutter path centreline. This
would be repeated until a force balance is attained. The improved predictions can also
be presented as graphs such as those shown in figures 6.17 and 6.18, and hence the rapid
solution technique outlined in section 6.3.2 is still applicable. The solution for the runout
problem is not to include it in the process model, but rather to reduce it using improved
equipment.
40 80 120
Chapter 7. Simulations and experiments 261
7.4.3 Feed rate scheduling
In this section examples of the use of feed rate scheduling to maintain adherence to
maximum resultant force and maximum surface location error constraints are presented.
For the maximum resultant force example the rapid numerical solution method outlined
in section 6.3.2 is applied to demonstrate this technique in practical use. The maximum
surface location error example feed rate is scheduled using the incremental sampling
approach described in section 6.3.
Maximum resultant force
Consider end milling cutter path A (figure 7.26). The goal is to maintain the maximum
resultant force at 1.2 kN by scheduling a varying feed rate along the cutter path. The
second constraint s < 0.175 mm/tooth is imposed to avoid difficulties in tracking the
machine tool table position with the experimental equipment available. On the factory
floor other criteria would include maximum uncut chip thickness and surface location
error constraints.
The rapid numerical solution method begins by computing the inverse (6.45) to ob
tain the target feed rate (as a function of the entry angle ) required to maintain the
maximum resultant force at 1.2 kN. A piecewise linear approximation st,tgtip(cbst) with
tolerance 3t,to1 is then constructed (figure 7.33). For this example the value
mm/tooth is chosen. The approximation is then merged with the second constraint
st,t9t2(qfSt)=O.17Smm/tooth to yield the piecewise linear final feed rate target
st,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 a
single immersion interval [q, 7r) are determined. These are shown in figure 7.35. Observe
Chapter 7. Simulations and experiments 262
00
EEq)
cz,
ci)
0.30
0.25
0.20
0.15
0.10
0.05
0 31/4 31/2 331/4
00
E5
ci)
ci)ci)
ci)
0.00
entry 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.30
D St,tgtpSt,tgtj p
St,lg2p
0.25
0.20
0.15
0.10
0.05
0.000 31/4 31/2 3n/4 31
entry 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—maximum
resultant force constraint; st,tgt2p—maximum feed rate constraint;s,9—merged feed rate.
Chapter 7. Simulations and experiments 263
i_ irt/2
160
position (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 diameter
holes, down milling is not occurring. During these portions of the cutter path incremental
sampling is used.
Suppose for this example that the piecewise linear approximation for the feed rate is
to always be within 0.01 mm/tooth of the exact value. Since St,tolej, = 0.005 mm/tooth
has already been chosen, satisfying (6.48) requiresc6st,to1tgtp 0.005 mm/tooth. This
dictates the value that 6st,to1 must assume. For the example table 7.2 lists the piecewise
intervals [qS8tA, cbtB) (from figure 7.34), the first derivatives and the associated
c68t,t01 values required.
Along the cutter path the entry angle q5 is first evaluated at the endpoints of each
boundary segment. The positions at which enters a new piecewise linear interval
[q8tA, cb5tB) are then located by solving the appropriate analytic endpoint expression (one
of (5.1), (5.2), (5.3) or (5.6)). In betweeen these positions çb is evaluated at additional
1
40 80 120
Chapter 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 00
Table 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 in
tervals [stA, stB) from figure 7.34, the first derivatives 1st,tgtp and the associated 95st,tol
values 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 explicit
evaluation of çi is required are indicated by a L symbol. In the portions of the cutter
path where down milling is not occurring, the feed rate is found by incremental sampling.
The final feed rate is then obtained by condensing the samples and then applying the
command offset procedure explained in section 6.3.1. Figure 7.36 shows the final target
and the experimentally achieved feed rates. The maximum resultant force is shown in
figure 7.37. Other than the variation due to runout, the 1.2 kN goal is met.
• Although a more involved analysis is required, the rapid numerical method of schedul
ing the target feed rate typically requires far fewer mathematical operations than incre
mental sampling along the cutter path. Furthermore, it provides a continuous schedule
which adheres to specified tolerances. There is no possibility of an undetected transient
occurring because the incremental sample points are too widely spaced.
Chapter 7. Simulations and experiments 265
—
Q)0
0
0
C!)CI.)
E
E><C)
5
position (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 120
0.3
00
E5
ci)
C)
-C)
CI)
0.00 160
position (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.0
1.5
1.0
0.5
0.00 40 80 120 160
Chapter 7. Simulations and experiments 266
Maximum surface location error
End milling cutter path B (figure 7.26) is used for the maximum surface location error
example. The goal is to maintain the maximum surface location error near 0.100 mm.
Again the second constraint 5 < 0.175 mm/tooth is imposed. Due to equipment diffi
culties this experiment was conducted later with a sharp cutter and a new holder in the
spindle. The measured cutter compliance was = 0.1665 mm/kN and the ACT model
calibration parameters were
KT = 0.455h°306 kN/mm2; KR = 0.336h°197
At the cutter tip the difference in radii from the highest to lowest tooth (radial runout)
was 13 m.
The exact inverse and experimentally achieved feed rates to maintain the imposed
constraints are shown in figure 7.38. The measured maximum normal force per tooth
period is shown in figure 7.39. The unsteady component is caused by the radial runout.
Overall the maximum normal force remains near the 0.6 kN level required by the max
imum surface location error constraint. There is a brief overshoot to approximately 0.7
kN between positions 30 mm and 50 mm. During this period the feed rate is rapidly
accelerating, and the static ACT milling process model predictions decrease in accuracy.
Without significantly reducing the MRR, this problem can be overcome by limiting the
feed rate acceleration.
The surface profile was measured using a dial gauge at five axial depth of cut levels.
Readings were taken at position increments of 2.032 mm (0.080 inches). Figure 7.40 shows
the 3 D profile, and figure 7.41 compares the measured maximum surface location error to
its exact inverse feed rate predicted value. Other than the higher error between positions
30 mm and 50 mm (explained above), good adherence to the 0.100 mm constraint was
obtained.
Chapter 7. Simulations and experiments 267
-Th
0
EE
0
0ci)ci)
ci)C-)
0
0
E0
><0
E
40 80 120
0.3
0.2
0.1
0.00 160
position (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.0
1.5
1.0
0.5
0.00 160
position (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 120
position (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 268
40.2 80.8 121.50.4 I I I I
—. 0.3EE
0.2
C
20.1I.Z3 -
cn -
0.0
15 -
59
3
Chapter 7. Simulations and experiments 269
0.4
E0.3 ACT expt
gO.2
::
_
0 40 80 120 160
position (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 Summary
The end milling examples have verified several aspects of the milling process model
implementation within the solid modeller. A first set of tests confirmed the correctness of
the helical cutter expressions (6.29). This was followed by confirmation of the maximum
resultant force and surface location error prediction accuracy. Two sources of discrepency
between the solid modeller predictions and experimental measurements were observed.
The first, cutter radial runout, should not be modelled but rather should be reduced by
improving the machine tool spindle assembly. Such equipment is commercially available.
At large axial depths of cut deflection of the cutter was large enough to affect the uncut
chip thickness and hence the cutting force. An improved milling process model which
accounts for this is recommended.
An application of rapid feed rate scheduling to maintain adherence to maximum re
sultant force and maximum feed rate constraints was then presented. When peripheral
Chapter 7. Simulations and experiments 270
milling is occurring along the cutter path it was shown that analysis of the cutter immer
sion intervals allows a satisfactory feed rate schedule to be obtained without evaluating
the milling process model at small increments. This technique remains applicable even
if a more complex milling process, which accounts for cutter deflection, is used. A final
example demonstrated the use of feed rate scheduling to maintain adherence to a surface
location error constraint.
An issue not addressed herein is the problem of contouring errors (see section 2.3.3)
caused by varying feed rates. The reader is referred to the recent article by Butler, Haack
and Tomizuka [13] for an introduction to the topic.
7.5 Adaptive control
7.5.1 Introduction
The most widely studied alternative to a priori feed rate scheduling is the use of online
feedback control techniques. The basic principle is to specify a reference threshold for
a process constraint, and then design a control system to maintain adherence to the
reference. As stated in chapter 2, unaided control systems will react with a transient
when sudden process changes occur. The result is violation of the constraint, which in
milling is unacceptable.
To overcome this shortcoming the use of solid modeller data is proposed. For illus
tration, the problem of maintaining adherence to a reference maximum resultant force
during end milling is examined. This constraint is frequently imposed to prevent failure
of the brittle cutter shank (see section 3.3.3).
Chapter 7. Simulations and experiments 271
Figure 7.42: Maximum resultant force process block diagram. The controller 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 model
A block diagram of the maximum resultant force process is shown in figure 7.42. The
controller command velocity u is received by the table servo drive which achieves, for
a fixed spindle speed, the actual feed rate per tooth s. The dynamic milling process,
which includes the cutter compliance, then produces a maximum resultant force per
tooth period Fmax which is sampled and returned to the controller for comparison with
the reference Fmax,r.
The table servo drive dynamics were identified by careful measurement [2] and are
assumed to be unchanging. Derivation of the dynamic milling process model follows:
Based on the LEF model, the maximum resultant cutting force per tooth period i is
approximated by the relationship
Fmas() = a(Khm(i) + p) (7.1)
where
K is a specific cutting pressure related constant (kN/mm2)
Chapter 7. Simulations and experiments 272
hm(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 varia
tions in the resultant cutting force. To comply, the cutter will deflect with component
S(i) opposite to the feed direction (figure 7.43). Discretizing per tooth period the ap
parent maximum chip thickness is therefore defined as
hm(i) = b[s(i — 1)— S(i) + 6(i — 1)] (7.2)
where b is a width of cut parameter and depends on the immersion geometry. The
basic form of this model was proposed by Koenigsberger and Tlusty [60] and derived
in discrete form by Tomizuka, Oh and Dornfield [129]. The relationship between the
maximum resultant force and the deflection is
S(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) yields
Frnax()= St(Z — 1)
— ksie,xFmax(i) + ksie,xFmax( — 1) +Kb
Additional rearrangement and defining t = ksje,xKab yields
/1\\
1/ p1 —+11 Fmax() Fmax(1) 1/t J 1s1e,x \
Introducing the backward shift operator q1 and defining the parameters
— —. _
______
— ap1 + ksie,x(1 + ii) 1 + JL
provides the model form
(1 +aq1)Fmax(i) = ‘q1st(i) +7 (7.4)
Chapter 7. Simulations and experiments
max
x (1)
273
Figure 7.43: Process dynamics due to cutter compliance. Due to the cutter compliance,the maximum resultant force Fmax(i) will cause a deflection in the feed direction 6(i) 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 274
Substituting the feed rate s in mm/s for the feed rate s in mm/tooth, (7.4) becomes
(1 + aq’)Fma(i) = q 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 resultant
force. The parameter y characterizes the frictional edge forces in the LEF model.
Open loop identification experiments were conducted to confirm the dynamic milling
process model and to obtain the cutter-part specific parameters for simulation purposes.
The cutter was a 12.7 mm radius zero helix end mill used with a single carbide insert.
The part was 7075-T6 aluminum and was cut dry. The spindle speed was 774 rpm, the
axial depth of cut 3.81 mm and the immersion interval a full [0, 7r) radians. To excite
the dynamics the feed drive motor was directly commanded by a pseudo-random binary
signal (PRBS) with one to ten tooth periods between transitions. Feed rate commands
oscillating between limits of 0.75 —* 1.25, 1.00 <— 2.00, 2.00 —* 4.00 and 4.00 —* 6.00
mm/s were used.
The identification algorithm used was the normalized least mean squares (NLMS) or
projection method (see Goodwin and Sin [39]) which estimates the parameters
rU /3
using the recursive equation
OT(i) = eT(i -1)+ c + -1)
- T(i - 1)6(i - l)j (7.6)
where
ke is the estimator gain (= 0.15)
c is zero for this application
Chapter 7. Simulations and experiments 275
and
1) [ Fmax( — 1) sf(i — 1) 1 1
is the regressor vector. Initially all estimates were set to zero.
Figure 7.44 shows the measured feed rate and maximum resultant force during a
portion of the 2.00 —* 4.00 mm/s PRBS test. The force measurements are consistent
with a first order dynamic model having a rise time of approximately four tooth periods.
The offset due to edge forces is apparent since doubling the feed rate less than doubles
the steady-state maximum resultant force. Measurements of the steady-state maximum
resultant force at various feed rates (table 7.3) confirm the linearity of relationship (7.1).
The fitted edge force parameter p is 0.105 kN/mm and the specific cutting pressure
related constant K is 1.411 kN/mm2.
Consistent values were obtained for the recursively identified process model transfer
function (7.5) (see table 7.4). The pole & near -0.24 corresponds to the observed rise
time of four tooth periods, and provides an estimate for of 0.316. Using this value
with a = 3.81 mm and p = 0.105 kN/mm yields 7 = 0.304 kN which closely agrees with
the identified value in table 7.4. The specific cutting pressure related constant K is
estimated by substituting q1 = 1 in (7.5). From table 7.4 estimates for this value range
from 1.060 to 1.426 kN/mm2. This is consistent with the value 1.411 kN/mm2 found
using the steady-state measurements. The directly measured cutter compliance (when
mounted in the spindle) was = 0.073 mm/kN. Using the values from table 7.4 the
estimates for k3ie,x range from 0.058 to 0.065 mm/kN. The lower oriented compliance
values reflect the fact that the maximum resultant force is larger and not aligned with
its component in the feed direction.
Overall, the experimental measurements are in good agreement with expectations,
and use of the dynamic milling process model in simulation and control applications is
feed 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.90
Table 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.29
Table 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)
EE
ci.,ci., feed rate
Chapter 7. Simulations and experiments 276
6 3
5 maximum resultant force
4 2i.E3 -s=
2 U)I ci
I E
En 1,..., ‘J
E
Figure 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 210
tooth period
220
Chapter 7. Simulations and experiments 277
justified.
7.5.3 Controller design
Next, the maximum resultant force controller was designed using the milling process
model structure derived above. Because of motion controller feed rate update time re
strictions, a sampling (tooth) period of 48.75 ms was used. This corresponds to a spindle
speed of 615 rpm with two equally spaced teeth.
With this sampling period the zero order hold discrete transfer function of the table
drive servo is
G3(q)= Sf mm/s = K(q1 + z1q2)
(7.7)umm/s i+piq
where K = 0.978, z1 = 9.171 x 1O and p’ = —2.079 x 10—2. To identify the milling
process model parameters, which will change with part geometry, specific cutting pressure
and edge forces, the projection algorithm (7.6) was again used. The DC force component
due to ‘‘ was eliminated by subtracting
(i)Fo2) =
1 + &(i)
from both the reference Fmax,r(i) and the measured force Fmax() to obtain respectively
Faxr() and F,ax(). This technique algebraically ensures proper reference force track
ing.
The controller chosen was an indirect pole placement design (see Aström and Witten
mark [5]) (figure 7.45). Closed loop performance was selected to correspond to a damping
ratio of 0.707 and a rise time of four sampling periods. With these criteria the closed
loop model transfer function is
Fas Bm q2(1+mi+m2)
Faxr — Am — 1 + m1q + m2q
Chapter 7. Simulations and experiments 278
where 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+p1q 1+&q1
as the open ioop transfer function. Solving the closed loop equation
BT Bm
AR+ES — Am
for the controller polynomials yields the control law
u(i) = —riu(i — 1) —r2u(i — 2) + toFaxr(j) — SoFax(Z) — SiFax( — 1)
where r0 = m1— P1 — & and
= z1+r0
r2 = z1r0
3o = (m2—pi&—piro—&ro)/K
=
t0 (1+m1+m2)/K
Whenever ,B is estimated to be less than or equal to zero it is reset to a small positive
quantity to avoid division by zero.
7.5.4 Simulations and experiments
For comparison purposes, and to verify the adaptive controller operation, cutting tests
without the aid of solid modeller data were conducted first. The example parts and
cutter paths exhibited a step increase in axial depth of cut (part A, figure 7.46), and a
rapid increase in radial width of cut (part B, figure 7.47). The part material again was
Chapter 7. Simulations and experiments 279
Figure 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 -SMDmax
Fmax,r Fmax
recursiveidentification
Chapter 7. Simulations and experiments 280
— 90.0
68.0
43.0
18,0 —
[6.0 [4.0 [2.0
_part
all dimensions in mm width of cut 25.4
Figure 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 experiments
part motion
all dimensions in mm depth of cut 4.5
Figure 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.
281
20.0 — 50.8
90.0
Chapter 7. Simulations and experiments 282
7075-T6 aluminum, cut dry with a two tooth 12.7 mm radius zero helix end mill. The
spindle speed was 615 rpm. The feed rate was constrained between 0.6 to 15.2 mm/s.
To provide a transient free startup the reference force Fmax,r was increased linearly
during the first 25 sample periods from 0.0 kN to a thereafter constant 1.5 kN. The
tests were started with the cutter leading edge positioned 5 mm away from the part. To
prevent an initial rapid feed rate (because there are no cutting forces) the part geometry
was artificially extended to the starting location by adding a disturbance force at the
input to the control loop (see figure 7.45). Details on the disturbance input are
provided later the the solid modeller assisted experiments. The purpose of these initial
conditions is to restrict attention to the portion of the cutter path where the geometry
of interest is encountered.
The simulations were performed assuming a constant oriented cutter compliance
ksie,x = 0.062 mm/kN. The other model parameters used were K 1.411 kN/mm2
and p = 0.105 kN/mm. Random disturbance forces were modelled by multiplying the
maximum resultant force prediction by zero mean, 0.05 variance Gaussian noise.
The unassisted adaptive controller performance for part A are shown in figure 7.48.
Note that for rapid simulation it was assumed that the maximum resultant force occurred
when the cutter tooth was at immersion angle q5 ir/2 (i.e. at the leading edge). This
causes a small error near the step decreases in depth of cut near positions 43 mm and 68
mm. During the experiment runout causes a difference of 0.075 kN between the maximum
resultant forces measured for the two teeth.
When the immersion geometry is unchanging the controller maintains close regulation
to the 1.5 kN reference, a constant feed rate and consistent, unchanging parameter esti
mates. When the step increase in axial depth of cut from 3.0 mm to 6.0 mm occurs near
position 18 mm, a maximum resultant force transient to 2.8 kN is predicted. A transient
similar in magnitude occurs during the experiment. The controller quickly reduces the
Chapter 7. Simulations and experiments 283
feed rate and corrects the parameter estimates.
Figure 7.49 shows the unassisted adaptive controller performance for part B. Near
position 20 mm the hole is first encountered by the leading edge of the cutter. The
controller reacts by steadily increasing the feed rate to maintain the reference maximum
resultant force level. By the time material is encountered on the opposite side of the hole,
the feed rate has reached the imposed limit of 15.2 mm/s. The simulated transient rises
to 3.1 kN, but the controller recovers after three oscillation cycles. In the experiment a
transient of 2.5 kN occurred. Parameter tracking is smooth throughout, and the estimates
return to their pre-hole encounter levels. The parameter 7 primary represents the edge
forces, which are a function of axial depth of cut alone. Since the depth of cut is constant,
is expected to change very little across the hole. This indeed is observed in the graph.
With both example parts the unassisted adaptive controller was unable to prevent a
maximum resultant force transient when sudden increases in immersion geometry were
encountered. The transient levels were well above the reference setting, which in indus
trial practice would be set to a higher, more productive level. These transient forces
would certainly result in shank breakage of slender end mills under industrial conditions,
and hence an improvement to the unaided adaptive controller is required.
Assistance was accomplished by adding artificial material to the solid model just prior
to where the cutter would engage a real sudden increase in immersion geometry. Using the
static process model (7.1) the maximum resultant force was predicted for the part
shape including the artificial material. Within the modified adaptive controller algorithm
the disturbance force to be added to the control ioop (figure 7.45) was computed as
A iSMD— FSMD — FONL
max — max max
where FmOL is the maximum resultant force measurement received from the dynamome
ter and peak detection circuit (figure 7.1). This indirect strategy permits the controller
Ohapter 7. Simulations and experiments 284
ci)C-)
0
C,)ci,
E
E
E
LI10 20 40 60 80 100 120
position (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).
3
2
1
016
12
8
4
00.6
0.4
0.2
Cl)
E
0
0
a)
ci)
0
E
ci,
i5 0.0ci,
E0
0
-0.4
Chapter 7. Simulations and experiments
position (mm)
285
Figure 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)
0
0
U)a)
5
.5><0
S
U)
SS
a)
a,a)
a)—
0
SC’)a)
a-)S
00
3
2
1
016
12
8
4
00.6
0.4
0.2
0.0
-0.2
-0.4
r-a
0 20 40 60 80 100 120
8
6
4
2
0
position (mm)
120
286
Figure 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.51
respectively. The thicker line indicates where solid modeller assistance was applied. In
figure 7.50 assistance material is added to anticipate the sudden increase in axial depth
of cut near position 18 mm. The artificial increase is added with a non-vertical slope to
smooth the controller response. Assistance material in figure 7.51 is added to anticipate
the sudden increase in radial width of cut which occurs as the cutter encounters the part
beyond the hole. For both parts assistance material was added prior to initial engagement
of the cutter (from position -5 mm to position 0 mm). This was also included in the
earlier unassisted trials to prevent an initial rapid feed rate.
For part A the adaptive controller performance with solid modeller assistance is shown
in figure 7.52. With the addition of the solid modeller data the maximum resultant force
Chapter 7. Simulations and experiments
EE
0 20 40 60 80 100
Chapter 7. Simulations and experiments 287
tance material
40 60 80 100 120
position (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 and
not supplied at the step decreases in depth of cut (near position 43 mm and position
68 mm). The parameter estimates were consistent with the unaided trial, and with the
known immersion geometry and process constants.
For part B the adaptive controller performance with solid modeller assistance is shown
in figure 7.53. Again, the solid modeller data prevented the transient which would oth
erwise occur where the width of cut suddenly increases. Parameter estimates were not
noticeably influenced by the solid modeller disturbance force.
75.5 Discussion
The above examples demonstrate the potential of solid modeller data to prevent the
transients which otherwise occur when sudden increases in cutter immersion geometry
1.0
0.5
0.00 20
Chapter 7. Simulations and experiments
ci)C-)
0
cz0
U)ci)
E
E
E
ci.)
0
C))ci
ci)
ci-)
E
position (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).
288
U)
E
ci)
ci)ci.)
3
2
1
016
12
8
4
00.6
0.4
0.2
0.0
-0.2
-0.40 20 40 60 80 100 120
Chapter 7. Simulations and experiments
position (mm)
289
Figure 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.—Q
Cl)ci)5—
5
S
S
C)-)
SS
c3
ci)Cl.)
ci)
SC))Cl)
Cl)
ci)
S
C-,
3
2
1
016
12
8
4
00.6
0.4
0.2
0.0
-0.2
-0.4
Y
-__________
a- -
0 20 40 60 80 100 120
Chapter 7. Simulations and experiments 290
are encountered.
In practical use the method would obtain maximum resultant force estimates using the
simulation approach outlined in section 6.2.2. For applications such as die preparation,
where use of adaptive control is frequently proposed, any small voids in the workpiece
would be areas in which assistance would be required. These features must be recognized
by the solid modeller. The distance by which the disturbance force should precede
the actual immersion geometry change would be found by further analyzing the control
system and using a strategy similar to that applied in section 6.3 to offset the command
feed rate schedule. To avoid estimated parameter drift which can lead to control system
instability, updates must be made only when the immersion geometry is actually changing
(i.e. when new information is available). As an additional or alternative precaution,
bounds on the allowable parameter values can be established using solid modeller data.
This type of approach is suggested by Tamura, Ogata and Nikiforuk [121].
Finally, a simpler controller without parameter estimation can be designed to be
tuned using a gain schedule (see Aström and Wittenmark [6, chapter 9]) computed by
the solid modeller. In anticipation of the sudden gain increase which accompanies the
immersion geometry increases, the controller gain would be reduced by a corresponding
amount. A cautious feed rate would be applied until the immersion geometry was actually
encountered, at which time regular controller operation would continue.
7.5.6 Summary
To maintain adherence to milling process constraints adaptive control is frequently pro
posed as an alternative to a priori feed rate scheduling. In this section a linear dy
namic milling process model based on the static LEE model was developed to relate the
feed rate to the maximum resultant force. Pseudo-random binary signal experiments
were conducted to verify the model and to obtain parameter values for simulations. An
Chapter 7. Simulations and experiments 291
adaptive pole placement controller was then designed and used to demonstrate the un
acceptable transients which occur when sudden increases in cutter immersion geometry
are encountered. This is an inherent characteristic of all feedback control systems. Use
of solid modeller data to remove the transients was then studied. For the part geome
tries considered the excessive maximum resultant force transient was safely eliminated,
demonstrating the potential of the strategy.
Chapter 8
Summary
Solid modellers have become the preferred implement for mechanical design. Provision
of manufacturing capabilities within a solid modeller is therefore a logical extension.
For milling operations, much research attention has previously been directed towards
planning a cutter path which nominally achieves a specified part shape. However, limited
work has been undertaken to combine metal cutting mechanics with solid modelling to
simulate the physical milling process. This thesis has focussed on the latter aspect. The
specific contributions which were made are recounted below:
• It was shown that exact cutter-part intersection geometry information is needed
to accurately implement the milling process model. Research previously reported
used a boundary representation (B-rep) part model and the Z-buffering technique
to approximate the cutter-part intersection geometry. In contrast, the thesis uses
a constructive solid geometry (CSG) model. A “divide and conquer” strategy was
developed to determine the exact cutter-part intersection geometry. The intersec
tion of the cylindrical cutter with each block and cylinder primitive was separately
determined, and the intersection information combined using the CSG part data
structure and Boolean set operations.
• To achieve an acceptably efficient implementation, along any cutter path only the
primitives which can influence the immersion intervals should be considered. Ex
isting CSG redundant primitive elimination methods were therefore reviewed, and
292
Chapter 8. Summary 293
the strategy by which they would be tailored for the milling process simulation
problem described. For a chain of cutter paths, such as would be used to create
features such as pockets, improved performance is achieved by using computational
geometry based search methods which identify only the relevant cutter paths. It
was shown that, under given assumptions, constructing and searching a horizontal
visibility planar subdivision can identify the relevant cutter paths in linear time.
Other researchers needlessly update the part model after each incremental simula
tion step. In contrast, the thesis procedure is to defer updating of the part model
until after the entire feature has been cut. At that time the CSG design description,
which is much less complex than the cutter path representation, is added to the
model. This strategy maintains a minimum overall part model complexity.
• The literature asserts that more rapid simulation methods must be developed be
fore milling process simulation will become practical. To address this requirement
for 2 1/2 D parts, the fundamental milling process model equations are reformu
lated to efficiently simulate both face and end milling of general part shapes. Using
the cutter-part intersection information obtained from the solid modeller and an
exact analysis of the helical flute part contact geometry, analytic expressions for
cutting forces, torques and surface error were developed. This is a more accu
rate approach than the material removal rate (MRR) or differential axial element
summation methods previously used. The equations provide a piecewise function
representation of the instantaneous cutting forces, which can be analyzed using
calculus and numerical methods to rapidly determine maximum values per tooth
period. In addition to providing simulation data, the milling process model equa
tions are inverted to obtain a feed rate schedule which simultaneously respects
multiple process constraints. During peripheral milling precomputed cutting force
Chapter 8. Summary 294
and feed rate profiles, together with analytical expressions for the cutter immersion
interval boundary, were used to achieve a variable sample spacing along the cutter
path. This is a substantial improvement over the incremental methods used by
previous researchers.
• Both face and end milling simulations and experiments were conducted to verify the
accuracy of the solid modeller based milling process simulation system predictions.
Good agreement was obtained for the example part shapes, showing the viability
of milling process simulation. Feed rate scheduling was used to achieve adherence
to average torque, maximum resultant force and maximum surface error process
constraints. Experimental measurements from these trials were also in good agree
ment with simulation results. For online monitoring purposes it was shown how
the simulation data can be used to reliably discern normal cutting conditions from
events such as cutter tooth breakage, or an unexpected part shape.
• Solid modeller information was provided to avoid force transients in adaptive force
control. This overcomes a practical limitation of previously reported adaptive con
trollers for milling, which would experience force transients that would result in
cutter breakage at productive reference force settings.
In summary, the thesis has developed a systematic method for determining the cutter-
part intersection geometry with a CSG part model. Efficient computational geometry
methods were used to identify the part geometry relevant to the milling process simulation
calculations, and to avoid unnecessary part model updates. Reformulated milling process
model equations were developed to efficiently predict cutting forces, torques and surface
errors. Without requiring time consuming incremental sampling, feed rates to adhere to
several process constraints were automatically scheduled. Experiments were conducted to
confirm the accuracy of the solid modeller predictions, and to illustrate the use of the solid
Chapter 8. Summary 295
modeller based milling process simulation system for feed rate scheduling, monitoring,
and to assist with transient avoidance for a maximum resultant force adaptive controller.
The completed work is immediately capable of modelling the large class of 2 1/2 D
parts, which are most frequently encountered in practice. Furthermore, the work provides
a foundation for extending milling process simulation to 3 D parts. Even in a 3 D
modeller, however, the 2 1/2 D solutions developed herein should remain available. In
this way when the 3 D milling process simulation system recognizes 2 1/2 D geometry,
it can use the more efficient 2 1/2 D solution.
Additional continued research would concentrate on extending support to circular,
parabolic and splined paths, and to four and five axis coordinated cutter motions. Milling
process models for more complex cutter shapes, such as ball end mills, are required, as
are improved chatter prediction models. A great deal of work is required to extend
correct milling process modelling to three dimensional and sculptured surface machining.
Finally, research effort is needed to further develop integration of the solid modeller
milling process simulation system with the machine tool controller.
Appendix A
Algorithm analysis and growth rates
This appendix summarizes fundamental concepts on algorithm analysis and growth rates.
For details see Aho, Hopcroft and Ullman [1].
Many algorithms in computer science, such as those proposed to treat computational
geometry problems, are assumed to operate on an input population of n objects. The goal
is to develop solutions which have shorter running times or reduced storage requirements.
Frequently the running time is dependent not only on the size n, but also the nature of
the input population. Therefore, the worst case running time T(n) is the commonly
quoted measure.
Due to variations induced by particular machines and compilers, T(n) cannot be
exactly expressed in units of time. Rather, the growth rate of the algorithm is discussed.
The statement T(n) is O(f(n)) means that there exist positive constants c and n0 such
that for n no, T(n) cf(n). An algorithm with running time O(f(n)) has f(n) as an
upper bound on its growth rate. Algorithms are frequently evaluated by comparing their
growth rate functions f(n). For example, figure A.1 shows a graph of the running times
for growth rate functions f(m) = 2”, iOn2, 5Onlogn and lOOn. Observe that the growth
rate ultimately determines the size of problem that can be solved in a fixed amount of
time. Unless an algorithm is very nearly linear, only a marginally larger problem can be
solved by increasing the speed of the computer.
An asymmetric notation is used to specify a lower bound on the growth rate of T(n).
The notation that T(n) is (g(n)) means that there exists a constant c such that T(n)
296
Appendix A. Algorithm analysis and growth rates 297
4000
3000
2000
1000
00 30
Figure 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 determining
the suitability of algorithms for the problem to be solved. For example, suppose that a
difficult to implement algorithm is proposed that will report all intersections of n line
segments in time O(N+n log n), where N is the actual number of intersections. If it turns
out that the input is of such a nature that N is 2(n2), then the intersection algorithm
really is 0(n2). In this case the difficult algorithm offers no asymptotic improvement
over simply testing each line segment against each other line segment—a simpler 0(n2)
approach.
5 10 15 20 25
n
Appendix B
Planar subdivision algorithm complexity proofs
B.1 Overview
This chapter contains detailed algorithm complexity proofs for the planar subdivision
based relevant cutter path identification procedures discussed in section 5.2.5.
To recapitulate, the following cutter path chain characteristics were assumed:
Assumption B.1 Cutter paths intersect at most 0(n) times.
Assumption B.2 A line segment of specified length (e.g. 2r) intersects at most a
constant number of (e.g. three) cutter paths (figure 5.22).
Assumption B.3 All cutter paths exceed a minimum length (e.g. are at least r long).
In the remainder of this section the above assumptions are used with the example con
stants indicated. Substitution of other constant values does not alter the asymptotic
complexity conclusions reached.
The time complexity of the overall algorithm arises from the work required to initially
create the planar subdivision data structure, plus the work required to traverse this
structure while locating paths within the approximating rectangles. The emphasis in
this chapter is on the latter stage.
Before separately considering the horizontal visibility partition and generalized Voron
oi diagram solutions, required preliminary lemmas are presented in the following section.
298
Appendix B. Planar subdivision algorithm complexity proofs 299
B.2 Preliminary lemmas
Lemma B.1 There are at most a constant number of paths within an area of specified
size.
Proof First, consider a O.5r x O.5r square (figure B.1). The diagonal of the square
has length O.5\/r < r, and hence, by assumption B.3, no path can be entirely within
the square. Therefore, any path partially within the area of the square must intersect at
least one side of the square.
By assumption B.2 each side, being O.5r < 2r long, is crossed by at most three
cutter paths. The square has four such sides, and hence at most 12 paths can intersect
the square. It now follows that there can be at most 12 paths within the area of the
square. By subdividing any area into such squares, the lemma is proven for any area of
specified size. •
Lemma B.2 At most a constant number of approximating rectangles enclose a specified
point.
Proof Any point within an approximating rectangle is within 2i/r of the cutter path
associated with the rectangle (figure 5.23). Therefore, if an approximating rectangle
encloses a point S then there must be a point on the path associated with the rectangle
within of S (figure 13.2). The region within 2\/r of S is of specified area, and
hence by lemma B.1 there are at most a constant number of cutter paths within this
region. The proof of the lemma then immediately follows. •
Lemma B.3 There are in total 0(n) intersections between cutter paths and approximat
ing rectangles.
Appendix B. Planar subdivision algorithm complexity proofs 300
Figure 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.5r
5v r
Appendix B. Planar subdivision algorithm complexity proofs 301
Proof Divide the approximating rectangle into head, parallel, and tail portions as
shown in figure B.3. By assumption B.2 at most a constant number of paths can inter
sect the head and tail portions of the rectangle, which are of specified length. Over n
approximating rectangles the number of such intersections is therefore O(n).
In the remaining parallel portion, an intersecting path either exits through the head
or tail, intersects the path associated with the rectangle, or has a vertex inside of the
rectangle. Paths exiting through the head or tail portion have already been considered.
By assumption B.1 there are in total 0(n) path self-intersections, and hence over all
n approximating rectangles the number of paths intersecting both the parallel portion
of an approximating rectangle and its associated cutter path is also 0(n). Finally, for
n paths there are in total n + 1 or 0(n) vertices. By lemma B.2 at most a constant
number of approximating rectangles can enclose any specified vertex. Therefore for all
n vertices there are 0(n) enclosing rectangles and hence 0(n) approximating rectangle
parallel portion—cutter path intersections of this type.
This completes the enumeration of all possibilities, and therefore completes the
proof. •
Lemma B.4 A line segment of specified length is intersected by at most a constant num
ber of approximating rectangles.
Proof As in the proof of lemma B.2, in order for an approximating rectangle to intersect
a line segment L the cutter path associated with the rectangle must have a point within
2/r of L. The region within 2/r of L encloses a finite area and hence by lemma B.1
can contain at most a constant number of cutter paths. The number of approximating
rectangles intersecting L must therefore also be constant. •
Appendix B. Planar subdivision algorithm complexity proofs
R2
302
Figure 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.
rC
Appendix B. Planar subdivision algorithm complexity proofs 303
Figure B.3: Illustration for lemma B.3. The approximating rectangle perimeter is dividedinto head, parallel and tail portions.
approximatingrectangle
Appendix B. Planar subdivision algorithm complexity proofs 304
In separate subsequent sections the remainder of the relevant cutter path identifica
tion algorithm complexity proofs are developed for the horizontal visibility partition and
generalized Voronoi diagram solutions.
B 3 Horizontal visibility partition
First it will be shown that, with the vertical blocks described in section 5.2.5, the time
required to locate the relevant paths during the traversal stage of the algorithm is linear.
It is then argued that insertion of the blocks does not increase the time complexity of
the adjacency data structure building stage.
As stated in section 5.2.5, the traversal stage is comprised of three components:
1. tracing along cutter paths inside the approximating rectangle until one of the four
rectangle sides is reached
2. processing an intersection between an approximating rectangle side and a cutter
path
3. processing an intersection between an approximating rectangle side and a horizontal
visibility link
Tracing along cutter paths inside the rectangle occurs when initially starting from the
tail of the current path (figure 5.29) or when another portion of the previous path chain
is within the rectangle (figure 5.31). The work involved in this procedure is to update
the trapezoid boundaries each time a new horizontal visibility (HV) link endpoint is
encountered along the traced paths. With the linked lists available in the adjacency data
structure each update requires constant time. Since each HV link endpoint is encountered
at most once per rectangle, this component of the traversal stage has a complexity equal
to the total number of HV link endpoints enclosed by the n approximating rectangles.
Appendix B. Planar subdivision algorithm complexity proofs 305
An intersection between the approximating rectangle and a cutter path also involves
only updating the trapezoid boundaries. Using the combined adjacency list (see page 155)
this can be accomplished in constant time per intersection. Lemma B.3 asserts that over
the n rectangles the number of cutter path—approximating rectangle intersections and
therefore the time complexity of this component is 0(n).
The third component, namely processing intersections between HV links and the
approximating rectangles, also requires constant time per intersection to update the
trapezoid boundaries. The inserted vertical blocks ensure that any HV links intersected
by the rectangle have an endpoint within 2’/r of the cutter path associated with the
approximating rectangle. Finding the overall complexity of the traversal stage therefore is
equivalent to enumerating the number of HV link endpoints enclosed by regions extending
around each of the n cutter paths. The following theorem establishes that this
number is 0(n):
Theorem B.1 Including any endpoints introduced by the vertical blocks, there are in
total 0(n) HV link endpoints.
Proof First, consider the HVP data structure before addition of the vertical blocks.
Each vertex in the cutter path chain creates two HV links resulting in three link endpoints
(including the vertex). For the n + 1 vertices the number of HV links and endpoints is
therefore O(n). Each path self-intersection (if permitted) will also create two HV links
and three endpoints (including the path intersection point). The maximum of 0(n)
intersections allowed by assumption B.1 therefore adds only an additional 0(n) HV links
and endpoints.
Now insert the vertical blocks. Each block has a finite length (< 2/r) and hence
by assumption B.2 intersects at most a constant number of cutter paths. All n blocks
therefore create 0(n) intersections, new HV links and new HV link endpoints. Note that
Appendix B. Planar subdivision algorithm complexity proofs 306
the vertical blocks cannot intersect each other with the applied vertex sorting order (see
page 151). This establishes that in total the HVP adjacency data structure, including
the inserted vertical blocks, contains O(n) HV link endpoints. •
To rephrase lemma B.2, if each cutter path is surrounded by a region of radius 2\/r,
then a constant number of such regions may enclose any of the HV link endpoints. For
the O(n) HV link endpoints, this implies that there are in total 0(n) HV link endpoints
enclosed by all enclosing regions, which establishes the claimed linear time complexity
for the three discussed components of traversal stage.
Addition of the vertical blocks of course adds a fourth component—processing intersec
tions of approximating rectangles with the blocks. Updating the trapezoid boundaries for
each intersection again requires constant time, and by lemma B.4 there are in total 0(n)
such intersections for all blocks. The time complexity of the traversal stage therefore
remains linear.
Note that if in figure 5.23 the circular arc boundary were retained rather than the
rectangular approximation, then all of the 2’./r distances would be reduced to 2r. This
would reduce the linear time complexity constant factor, but a circular arc intersection
test would now be required during the approximating bound traversals.
As stated in section 5.2.5, insertion of the vertical blocks using the 0(n log n) sweep
paradigm based adjacency data structure building algorithm poses no new implementa
tion difficulties. If, however, it can be assumed that the cutter path chain is simple (i.e.
does not self-intersect), an 0(n) time complexity for the overall relevant path identifica
tion procedure can be achieved by using the linear time adjacency data structure building
algorithm reported by Chazelle [24]. This algorithm requires that the path chain remain
simple, and hence a more indirect approach to inserting the vertical blocks is required.
One way to retain a simple path chain is to use artificial short, doubled paths in place
Appendix B. Planar subdivision algorithm complexity proofs 307
of the blocks. These paths extend from the original path vertices to the point where
they would intersect an original path (or until the required block length is reached) and
then double back (figure B.4). In this way intersections are avoided but the effect of the
blocks is retained.
To insert these paths in 0(n) time, the vertical visibility partition (VVP) of the
original path chain is first built. The doubled path blocks are then added by starting
at each original vertex and searching outwards using the VVP. When a point is reached
where the block would intersect an original path, the artificial path is doubled back to
its beginning. This is repeated until the required block length is attained. Note that by
assumption B.2 at most a constant number of original cutter path intersections per block
are possible and hence at most a constant number of artificial paths will be added per
block. Over the n + 1 original vertices the number of added paths is therefore 0(n). The
VVP adjacency data structure permits processing each avoided intersection in constant
time, and hence the time complexity of this insertion procedure is 0(n).
The above approach maintains the cutter path as a simple chain—hence Chazelle’s
algorithm can be used. Therefore, if the original cutter path chain is simple and assump
tions B.2 and B.3 are satisfied, the intrinsic complexity of the relevant path identification
problem is linear.
BA Generalized Voronoi diagrams
In this section it is shown that during traversal of the approximating rectangles 0(n)
intersections of rectangles with generalized Voronoi diagram boundary segments and
“spokes” will occur. Lemma B.3 previously established that there are 0(n) cutter
path—approximating rectangle intersections. Determining the next Voronoi region can
be accomplished in constant time per intersection, and hence the relevant cutter path
Appendix B. Planar subdivision algorithm complexity proofs
verticalblock
doubledpath
308
Figure B.4: Doubled path vertical blocks. Original paths are shown with thicker lines,the example vertical block and doubled paths are shown with thin lines. To permit 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 309
identification stage runs in linear time.
The theorem to establish 0(n) rectangle—boundary segment/spoke intersections fol
lows:
Theorem B.2 The approximating rectangles intersect the generalized Voronoi diagram
boundary segments and spokes 0(n) times.
Proof Consider any spoke—for example the spoke labelled 3 in figure B.5. The cutter
path associated with any approximating rectangle which intersects /3 must be within
2/r of /3. Path b is one possibility. The approximating rectangle of any other candidate
path p must intersect the portion of /3 which is within 2/r of its path endpoint on b.
If an intersection occurred elsewhere on /3 then at that point p would be closer to /3
than b, which contradicts the fundamental property of a Voronoi diagram. Hence any
intersection of an approximating rectangle with a spoke must occur along a spoke section
of length at most 2v’r. Lemma B.4 asserts that there can be at most a constant number
of intersections along a section of finite length, and hence each spoke is intersected by
approximating rectangles at most a constant number of times. In total there are 0(n)
spokes, and hence there also are 0(n) spoke—approximating rectangle intersections.
Now consider any Voronoi boundary segment—for example the segment labelled bh in
figure B.5. If an approximating rectangle intersects bh then it must also intersect one of
spokes c, /3, -y, S or one of paths b, h. Lemma B.3 establishes that the number of cutter
path—approximating rectangle intersections is 0(n). It has just been shown that the
number of spoke—approximating rectangle intersections is O(n). Therefore the number
of Voronoi boundary segment—approximating rectangle intersections is also 0(n). •
Note that plane curves of degree two or less (namely the conic sections) are involved in
all the intersections, and hence no pair of curves can intersect each other more than twice.
Appendix B. Planar subdivision algorithm complexity proofs 310
cutter 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 segment
h
approximatingrectangle a’
bhI
2 r
b
Appendix C
Detailed milling process model mathematics
This appendix contains the mathematical details for several of the milling process model
expressions stated in chapter 6. The reader is referred to this earlier chapter to appreciate
the context of the material written here.
C.1 Linear edge force model
This section contains details on mathematical results stated in section 6.1.2.
The critical angles 4m within an interval [qf, 4k+1) are found by rewriting an individ
ual function of (6.16) in the form
T(b) raK5 [h* + St sin(4 + j)]
= rcaKs[h* + st(sinqcosjqc + cos qsinjq)j
raK3[7(h* + s(P sin q5 + Q cos q)}
where
7i=1; P=cosjq5; Q=sinj
The first derivative is therefore
T’(q5) = raK3st(P cos— Q sin )
and hence, setting T’() = 0,
= arctan
311
Appendix C. Detailed milling process model mathematics 312
which is stated as (6.17) in chapter 6.
Equations (6.19) and (6.20) are derived following: Starting from the definition
J ç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) + 2c2h* 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
= K3j
[s(1 — cos 2 + 2h* sin— GiSt sin 2 — 2c2h* cos
= K3 [— st(sin 2 — 2) — 4h4 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 defined
Appendix C. Detailed milling process model mathematics 313
as =
] :::: = > [sin ] :
1?. = [cos 2] S [sin 2qS — 2]
As in the ACT case, calibration of the LEF model is accomplished using least squares
methods. In matrix form
yT()9
where
F(t)y(t) (C.3)
F(t)
= sf7? stS —Q(C.4)
—sS sIR. —P Q
K3 K3c1 K3h* Ksc2h* ] (C.5)
For a set of t samples define
Y(t) [yT(i) yT(2)...yT(±)
jT
T(2)(t)
The least squares estimate for the parameters & using t measurements is now given by
=[T(t)t)j’T(t)Y(1)
The recursive least squares (RLS) estimates are obtained in the same fashion as was used
in the ACT model.
Appendix C. Detailed milling process model mathematics 314
C.2 Helix intersection cases geometric constants
To determine the values for the geometric constants through j, explicitly inte
grate (6.27) and (6.28) using the limits for the appropriate intersection geometry case
(figure 6.6). Details are provided following:
case 0 Substitute 0 and zj,j,2 a to obtain
StKTR {_[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)]
where
a
(1/2k)[sin2(jq — ka) — sin 2jq]
ci,j 0
Vj (1/2k,)[cos2(jq — ka) — cos2jq]
0
case 1 Substitute z2j,i 0 and z,,,2 = (1/k,)[qS + jb—
to obtain
= stKTR {_[cos25t.— cos2( +j)jcos0
Appendix C. Detailed milling process model mathematics 316
1 12k [k[sin sin 2( + i&)] sinO
—
+ & — sti)] sin e}
(1 1
sKTR — COS cos 0 —tqS sin 0
2 2k
El— [sin2t + —
sinO
1+—[cos 25cos 2j4 — sin 2q sin 2j4j cos 0
+[sin2cos2j + cos2sin2c}sin0}
=z1
StKTR — COS COS 0 — —q sin 02 1. 2k1,
— [sin2& + — sti)] sinO
1+ —[cos 2 cos 0 + sin 2q sin 0] cos 2jq
1[sin2 cos 0 — cos 2sin 0] sin 2i}
— 2k
1 { 1 1= —SKTR — COS 24’st,i cos 0 — — sin 0
2 2k
—
sin2st,i + —sin 0
+cos(2 — 0)cos2j — sin2( — 0) sin 2&}
1 Ii= —StKTR < —[sin — sin 2(q5 + j&)] cos 0
2
1[cos2stj — COS 2( + jc)] sine + [( +
— sti)] e}2k
1= stKTR — COS 2st sin 0 + — cos 0
2kg,
[sin2sti +—
+2kg, j
1—[sin 24 cos 2jq + cos 24 sin 2jq] cos 02k
Appendix 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)] 0
sin 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 sinO
cos(2q5 — 0) + sin(2 — 0)]
where
= (1/2k)sin2t + (1/k,,)[jqS—
13i,j = —(1/2Jc)sin2j
= —(1/2k,)cos25t1
= —(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]cos0
Appendix 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 0
H- [_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 0
1 Ii . 1= —StKTR — cos 2, sin 0 — cos 0
2
Appendix 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 0
2 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 + sinG
cos(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 320
case 3 Substitute zj,j,i — (1/k,)[q! + j — qea,,ij and = (1/kq)[q + 1c — qst,i] to
obtain
= 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
= 0
case 4 The flute is not engaged with this face, hence
Appendix C. Detailed milling process model mathematics 321
Aj0
= 0
c2,j = 0
0
= 0
C.3 Maximum resultant force calculation
As outlined in section 6.2.2, the glomin algorithm developed by Brent [10, chapter 6]
is used to find the maximum resultant force in helical end milling. For complete details
the reader is referred to the cited reference. The basic strategy of the algorithm is briefly
described following.
If an upper bound M on the second derivative of a function f(x) can be deter
mined, and the function is known to pass through the interval endpoints (x1, f(xi)) and
(x2,f(x2)), then
f(x) g(x); x[x, X2]
where
g(x) = M(x- - X2) + f(xi)
+ f(x2)- f(x1)(X
-
The minimum of the parabola g(x) can quickly be found using calculus, and provides a
lower bound for the minimum of f(x). By repeatedly subdividing the interval, glomin
determines an increasingly accurate estimate for the minimum of f(x).
The number of function evaluations required to achieve the minimum estimate with a
tolerance FEO,tOI is O((M/FEoj0l)”2).Therefore, rapid convergence requires that the
upper bound on the second derivative M be as low as possible. Repeating (6.35)
—FEQ(b) = —(A+b)2—B2—C2—D2
—2(A + Eq)[B cos 24 + V sin 2qf] — 2C[B sin 2q — V cos 2q]
Appendix C. Detailed milling process model mathematics 322
hence
d{—FEO(q5)} —
dçb
,j2f i;-i2‘GEO
dq52
where
—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)qsin2q
Z(q) = (8BE)q5cos2q
Wmax = 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 relative
extrema) the bound on the second derivative is
d2 { — FEQ ( ) } <Mdb2 —
where
M 2t’ + )‘Vmax + Xmas + Yrnas + Zmas
Appendix C. Detailed milling process model mathematics 323
This is the value for M that is used in the glomin algorithm. With a specified tolerance
F0 on the resultant force, FEo,t0lis chosen so that
Ff01FGEO,t01<
K(1 + K)’/2
for the anticipated KT and KR values.
C.4 Surface profile calculations
This section expands on the cantilever based surface profile prediction procedure outlined
in section 6.2.2.
During down milling the surface location error at axial positionz3,3(4) (1/k)[q +
jq —7r] will be generated by flute j and located a distance S(zL,) away from its nominal
location, where zL,3 = L — zs,j(q). Recall that the force density function wy(q, zL) is
defined piecewise over axial interval [zL,k, ZL,k+1), and that the boundary conditions are
zL L) = 0; M(q5, zL L) = 0
O(q5,zL=0) = 0; S(4,zL=0) = 0
Definite integration now proceeds as follows: In the final axial interval [ZL,K_1, ZL,K
L) the shear is expressed as
ZL)CZZL 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) express
ZLK_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 expression
fZL1 1V,o(q,zL)
= j ————w,0(,Z)dZ +ZL El
Appendix C. Detailed milling process model mathematics 324
where ZL,1).
The bending moment expressions are found in an identical manner. In the final axial
interval [ZL,C_1, zL,K L) the expression is
fZLZZL
= j Vc_i(q5,Z)dZ +ZL
where M(qS,zL,K = L) = 0. Next, in the interval [zL,c_2,zL,x_1) express
fZL,—1
M,_2(4,ZL)= j j,frC—2@, Z)dZ +
ZL
where M,pc_i(qS, zL,,C_1). This is continued to the interval [ZL,o = 0, ZL,1)
which has expression
ZL 1
ZL)= IZL Z)dZ +
where = M1(4, ZL,1).
The slope in the first interval [ZL,O = 0, ZL,1) is expressed as
Oy,°(, zL)
= JZL
M0(,Z)dZ +ZLO O
where 0y,t,O,c = ZL,o = 0) = 0. Next, in the interval [ZL,1, ZL,2) express
f ZL
&,i(q, ZL) J M,1(4, Z)dZ +ZL,1
where = 8y0(4,zL,1). This is continued to the interval [zL,x_1, zL,c = L) which has
expressionf2L
&y,K_1(q5,ZL)= j M,K_l(b,Z)dZ + &y,&A_1,c
ZL K—i
where0y,,PC—1,c Oy,K—2(, ZL1).
The deflection expressions are found in a manner similar to the slope. In the first
interval [zLo = 0,zL,1) the deflection is expressed as
zL)
= JZL
Z)dZ +6y,O,cZLOZO
Appendix C. Detailed milling process model mathematics 325
where Sy,,O,c S(tb,zL,o = 0) = 0. Next, in the interval [ZL,1,ZL,2) express
ZL)= JL
Z)dZ +ZL1
where = S(4I, zL1). This is continued to the interval [zL,C_1, zLjc = L) which has
expression
SY,—(& zL)= 12L
2)dZ +8y,—1,cZL ,ICi
where3wk,IC—1,c 6yPC—2(& zL,_1).
To provide a demonstration of the overall procedure, a simulation under cutting
conditions identical to those used by Kline ([58, figure 6(a)} and [56, figure 5.lla]) was
carried out and compared to his results.
The cutter used by Kline was a four flute end mill with radius r=9.525 mm, helix
angle b=30 degrees and cantilever length L=108 mm. In the simulation and experiment
named test 4, the axial depth of cut was a=50.8 mm and the radial width of cut d=2.54
mm. The feed rate per tooth was s=0.38l mm. A down milling operation was used,
and hence the single immersion interval is
[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 have
the values
7?. = [cos2] = 7.474 mm; S = [sin2—
2] = —4.027 mm
and hence, by substituting F=l5l7 N and F=1574 N into (6.9), the calibration pa
rameters were KT = 0.644 kN/mm2 and KR = 0.320 for the 7075-T6 aluminum part
material. Kline computed the moment of inertia as I = r/3 rather than the usual irr/4
Appendix 0. Detailed milling process model mathematics 326
to account for the absent material behind the flutes. This is consistent with the observa
tions of Ziatin et al [155] and the value 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 this
section is shown in figure C.1. The program used, named surface, is contained in [110,
appendix D]. Kline’s results, including experimental verification, are reproduced as fig
ure C.2. Both Kline’s simulation and the prediction in figure C.1 compare adequately
with experiment. The solution developed in this section, however, more accurately dis
tributes the cutting force load, rather than concentrating it at the “force center” used
by Kline. Furthermore, the analytic formulation is computed much more quickly than
Kline’s incremental sampling along the axial and rotation directions.
For rapid feed rate scheduling under a surface location error constraint, a simpler
model is proposed in section 6.2.2.
C.5 Piecewise linear approximation
In order take full advantage of the rapid feed rate scheduling technique outlined in sec
tion 6.3.2, the analytic cutter immersion interval endpoint expressions must be approx
imated by piecewise linear functions. For example, in down milling, an approximation
çstp(xc) to b(x) which satisfies
— qstp(xc) /st,toi (C.6)
over an interval XCb) is required, where
k(xc)— st@Ca)qstp(xc) çbst(xca) + (xc
—XCa)
XCb — XCa
This is usually accomplished as follows (see Faux and Pratt [33, section 9.6]): First,
Appendix C. Detailed milling process model mathematics
50.8
38.1
EE
25.4
12.7
0.0
-400 -200 0 200 400 600 800 1000
surface location error (I’ m)
327
Figure 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 328
Figure 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)x
N
200 400Surface Error - pM
Appendix C. Detailed milling process model mathematics 329
a bound M is found for jq’(xc). Now
— kb2(xc) —qstp(xc)
where
1 43t(xcb)— (1)st(XCa)
75stp2(XC) = —M(xc xca)(xc — XCb) + çbst(xca) + (xc — Xa)XCbXCa
1= —M(xc — — XCb) + qstp(xc)
By taking the first derivative and finding the local extremum, the maximum value of
8t2(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) where
2 tol(XC3& —
M
The most difficult task is obtaining a bound M for the second derivative that is
not overly pessimistic. For a block primitive side the equation for the cutter immersion
interval endpoints is (5.3) angle notation the interval endpoints are
A(xc),B(xC) = /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 330
The second derivative is a strictly decreasing function, which permits rapid calculation
of a bound M over any interval [XCa, xCb). When the cutter is tangent to the line aj, — xc
approaches r/ cos 0L and qY(xc), (Xc) become unbounded. In this region incremental
sampling along the cutter path should be performed. However, over the remainder of its
domain the second derivative is small, implying that the the expression for the endpoint
angle can be well approximated by a small number of piecewise linear segments. A plot
for representative parameter values is shown in figure 0.3.
The formula for cylinder primitives is more difficult to analyze directly. From (5.6)
I YF= 7r/2— arctan
\XF XC
((XF — xc)2 + Y’ ± T —
+arccos\ 2(x — xC)2 + 2)1/2
7r/2 — T(x) + C(x)
where
I YFarctan
\XF XC
((xF-Xc)2±y)±r-r= arccos
\ 2r(xp’ — xc)2 +
Taking derivatives of T(xc) with respect to XC
hFT(xC) 2 2
(XF—xC) +YF
2yF(XF—XC).1 LX) 2 22
[(XF — XC) + YF]2 2
2yF[3(xF—Xc) —YF][(XF — Xc)2 + yj3
The second derivative (0.8) is an odd function about the point XC = XF, and approaches
zero 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/2/8y of (0.8), which is often very
small. A graph of (0.8) for representative parameter values is shown in figure 0.4(a).
Ci
C)
a-C)
cli
C)
cli
cz
EEC)
C)
cii-C)
-C)
0cici-)i-F)
Appendix C. Detailed milling process model mathematics 331
-2rt0 10 20 30 40
cutter path location (mm)
(a)
0.10
0.05
0
-0.05
-0.100
cutter 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 40
Appendix C. Detailed milling process model mathematics 332
When r rF (such as in pocketing), the expression for C(xc) can be simplified to
((XF — XC)2 +Cr(X) = arccos
which has derivatives
C’— —(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/2[(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 becomes
unbounded when the cutter becomes tangent to the cylinder (at the edge of the domain
of contact and, if YF = 0, where XC = XF). In these regions incremental sampling should
be performed. Over the remainder of the domain the second derivative is small, implying
that line segments well approximate the function. Exact bounds can be established
by evaluating (C.9) at its local extrema. One of these points is at XC = XF, and the
remainder can quickly be found by treating (C.1O) as a cubic function of (XF — XC)2 and
analytically solving for the roots. A graph of (C.9) for representative parameter values
is shown in figure C.4(b).
Except near the tangency points, an overall bound on cb’(xc), q(XC) can then be
found by combining the bounds on (C.8) and (C.9). An example is shown in figure C.5.
Analytic evaluation of the cylinder primitive cutter immersion interval endpoint for
mulae is difficult when r rF. The functions have the same general shape, and, to
determine a second derivate bound, the local extrema points can be found numerically
using an algorithm such as localmin (see Brent [10, chapter 4]). Alternatively, successive
Appendix C. Detailed milling process model mathematics 333
10 20 30 40 50
0.04c
0.02
Q)>-cj
.:,.
‘.-Q,
-Q- -0.02zcC-)U)U,
-0.040
cutter path Iocaton (mm)
(a)
0.04cJ
0.02
. yF=2mm yF=l6mm
-0.047rnmrc24N\
60
0 10 20 30 40 50 60
cutter 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 334
interpolation techniques can be used [10, chapter 3j. In chapter 7 a practical example
demonstrating this case is presented.
ci-)
000
ci)
0
ci)
EE
ci)
0
ci-)0
0
00ci)c/3
0 10 20 30 40 50 60
Appendix C. Detailed milling process model mathematics 335
>
cutter path location (mm)
(a)
0.01
0.00
-0.01
-0.02
-0.03
-0.040 60
cutter 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 50
Bibliography
[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.
336
Bibliography 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.