mechanistic modelling of the milling process using an...
TRANSCRIPT
Mechanistic modelling of the milling process
using an adaptive depth buffer
D. Roth*, F. Ismail*,1, S. Bedi
Department of Mechanical Engineering, University of Waterloo, CAD CAM Research Group, Waterloo, Ont., Canada N2L 3G1
Received 27 September 2002; received in revised form 6 March 2003; accepted 7 March 2003
Abstract
A mechanistic model of the milling process based on an adaptive and local depth buffer is presented. This mechanistic model is needed for
speedy computations of the cutting forces when machining surfaces on multi-axis milling machines. By adaptively orienting the depth buffer
to match the current tool axis, the need for an extended Z-buffer is eliminated. This allows the mechanistic model to be implemented using
standard graphics libraries, and gains the substantial benefit of hardware acceleration. Secondly, this method allows the depth buffer to be
sized to the tool as opposed to the workpiece, and thus improves the depth buffer size to accuracy ratio drastically. The method calculates
tangential and radial milling forces dependent on the in-process volume of material removed as determined by the rendering engine depth
buffer. The method incorporates the effects of both cutting and edge forces and accounts for cutter runout. The simulated forces were verified
with experimental data and found to agree closely. The error bounds of this process are also determined.
q 2003 Elsevier Ltd. All rights reserved.
Keywords: Mechanistic force modelling; Adaptive depth buffer; 3-axis machining
1. Introduction
Various mechanistic force models have been developed
and reported in the literature (see Smith and Tlusty [1] for
summary). Such models attempt to correlate machining
forces to the in-process chip geometry by way of
experimentally determined cutting constants. The aim of
creating a robust, accurate mechanistic force model is
empowering the end user to effectively manage the
manufacturing process from the point of view of efficiency
and quality. Essentially, a mechanistic model facilitates the
proper selection of machining and tool path parameters for a
given workpiece and tool combination. However, there are
numerous problems yet to be overcome in creating such a
force modelling system.
One such difficulty is the representation of complex tool
geometry. Some of these geometries are shown in Fig. 1.
Many models assume the simple geometry of a flat end mill
or a ball nose end mill. However, a toroidal end mill
(a quartic surface) is most useful in sculptured surface
machining, and is a superset of the combined at and ball
nose end mills.
Another (indeed the primary) difficulty is the calculation
of the in-process chip geometry due to the complicated
stock shape that remains after one or more tool passes are
completed. Analytical calculations of the surface-to-surface
intersections between the tool and workpiece may not
be computed analytically without extreme effort for all but
the most elementary tool paths.
With an analytical solution proving to be impractical,
researchers have concentrated on two approximate
solutions: solid modelling and discrete methods.
Voelcker and Hunt [2] began the investigation of the role
of solid modelling for NC verification. The use of solid
modelling to predict cutting forces was mentioned early on
by Bertok et al. [3] and Wang [4]. They computed the metal
removal rate for each block of NC code from boolean
difference operations of the tool and workpiece. True solid
modeling techniques were used in the former, whereas scan-
line algorithms were implemented in the latter. Average
forces and torques were computed. Peak values, which are
more likely to be of interest were not calculated. Takata [5]
as well as Spence and Altintas [6] present a genuine solid
0010-4485/03/$ - see front matter q 2003 Elsevier Ltd. All rights reserved.
doi:10.1016/S0010-4485(03)00044-7
Computer-Aided Design 35 (2003) 1287–1303
http://www.elsevier.com/locate/cad
1 http://www.me.uwaterloo.ca/~machlab
* Corresponding authors. Tel.: þ1-519-888-4567x7089; fax: þ1-519-
888-6197.
E-mail addresses: [email protected] (D. Roth); fismail@
mechengl.uwaterloo.ca (F. Ismail); [email protected] (S. Bedi).
modelling approach for 2- 12
-axis machining. As this is
computationally expensive, their work concentrated on
accuracy at the expense of efficiency. Mounayri et al. [7]
used a solid modelling system to compute the volume
removed for a given 3-axis tool path followed by a ray
casting technique to compute the instantaneous chip
thickness. Imani et al. [8] developed a simulation system
for 3-axis ball end milling of sculptured surfaces using the
ACISq solid modelling kernel. The authors used a NURBS
curve to model the cutting edge of a tool. The chip geometry
was extracted from the solid model based on the given feed
rate. The authors noted that extracting the instantaneous
chip thickness from the model was computationally
inefficient, and therefore relied on the well known geometry
of the ball-end mill and simple inclined cuts.
The definitive problem associated with the solid
modelling approach is the computational expense. It has
been reported in the literature that the cost of simulation
(i.e. the time) using constructive solid geometry (CSG) is
proportional to the fourth power of the number of tool
positions, Oðm4Þ [9]. It is certainly not unusual for a tool path
to consist of thousands of tool positions, making solid
modelling methods prohibitively expensive.
To this end, much research has been devoted to so-called
discrete implementations of mechanistic models-so
called because of the discretization of the workpiece into
a Z-buffer. A good review of discrete methods is provided
by Jerard et al. [10].
Extended Z-buffers with application to NC machining
visualization were discussed by van Hook [11]. An extended
Z-buffer is a set of Z-direction vectors (ZDV) that store
several vector height values. This quality is essential for
multiple 3-axis setups or 5-axis simulation capabilities.
Choi et al. [12] used a Z-map for tool path planning and
verification of 3-axis machining. Fussell et al. [13]
employed a Z-map for feed-scheduling of 3-axis tool
paths. The authors achieved good success reducing the
time of machining even with a model error of up to 50%.
Later, Fussell et al. [14] conceptually extended their work to
5-axis tool paths, although no experimental verification
was provided. Kim et al. [15] discussed the application of a
Z-map to the prediction of 3-axis ball-end milling forces,
relying heavily on the simple geometry of the sphere and
linear movements. Although Z-buffer algorithms have been
implemented for ball, at and round-end mill cutters [16],
different procedures for calculating the chip geometry are
necessary for each method.
To the authors’ knowledge, all these methods rely on a
generic software implementation of a static, global Z-buffer
technique. By static it is meant that the direction of the
ZDVs does not change with the cutter location (CL) data.
By global, it is meant that the number of ZDVs is based on
the size of the workpiece.
This paper presents a new method of calculating
instantaneous chip geometry for a given tool path based
on an adaptive and local depth buffer. By adaptive, it is
meant that the depth buffer orientation is matched to the
current tool axis orientation. By local, it is meant that
the depth buffer is sized to the tool as opposed to the
workpiece. Once the chip geometry and the volume
removed are known, the cutting forces are then calculated.
While only a 3-axis case using a at end-mill is examined
here, this method is extensible to 5-axis machining.
2. Mechanistic models
Shown in Fig. 2 is a typical at-end milling process.
The cutting force components acting on the tool are shown
in Fig. 3.
Smith and Tlusty [1] classify various force models
according to increasing levels of sophistication and
accuracy. One such classification, and the model used in
this paper, is the instantaneous rigid force model (IRF).
In this model, the instantaneous tangential cutting force
is modelled as,
Ft ¼ Ksbihi ð1Þ
where bi ðmmÞ is the instantaneous width (i.e. axial depth)
of cut, hi ðmmÞ is the instantaneous chip thickness and
Ks ðN=mm2Þ is a constant of proportionality known as the
specific force.
Most often, the instantaneous radial cutting force is
assumed to be proportional to the tangential cutting force,
Fr ¼ KFt ð2Þ
where K is the constant of proportionality.
For a simple linear cut, bi will remain constant, bi ¼ b:
However, hi is a function of the tool rotation. While the true
path of a cutter is a trochoid, most often, the approximation
of Martellotti [17,18] is used. That is, if the feed per tooth, ft
(mm/tooth) is small with respect to the tool radius, R (mm),
then, for a tool fed in the positive X-direction, as shown in
Fig. 3, the instantaneous chip thickness, hi; is related to
Fig. 1. Flat, ball nose and radiused (toroidal) end mills.
D. Roth et al. / Computer-Aided Design 35 (2003) 1287–13031288
the angular position, f; by
hi ¼ ft sinðfÞ ð3Þ
where f is measured from the y-axis of the tool coordinate
system in the direction of tool rotation (a left-handed
coordinate system). For the tool shown in Fig. 3 it is more
mathematically convenient to express the tool rotation in a
right-handed coordinate system, using the angle Q;
where Q ¼ p=2 2 f:
3. Graphical method
All of the literature reviewed on surface machining
define some method of converting the IRF method to a
volumetric model or extracting the instantaneous chip
thickness from the volume information.
The most accurate method of determining the
volume removed during a complex machining operation is
computation solid geometry (CSG). Some attempts have
been made in the literature to use computer graphics
hardware to render CSG trees and implement boolean
operations in image-space (i.e. view dependent) [19].
Graphics hardware is used due to its low cost, efficiency
and the royalty free availability of graphics engines
(OpenGL, DirectX etc.) which are capable of directly
accessing the video hardware. Many accelerated and
optimized algorithms are built into these video cards for
the operations needed for scene rendering, including
homogeneous matrix operations, surface occlusion and
surface culling.
The method presented herein is a depth buffer
mechanistic modelling technique. This method has been
implemented using OpenGL, with the results of simulations
presented in Section 5. This paper will employ general terms
when referring to rendering engine functionality rather than
to specific library function calls so as not to limit the scope
of the paper to a particular graphics library.
3.1. Applying a rendering engine to machining simulation
Through a judicious choice of rendering parameters and
with the aid of the depth buffer, a rendering engine may be
used to determine the volume of material removed at any
instance of a tool path. The algorithm is shown in Fig. 4.
The algorithm simulates the machining process in
discrete time steps during which the tool will translate due
to the feed rate and rotate due to the spindle speed. For every
time step, Dt; each tooth of the tool will sweep a sector,
subtended by the angle u; as shown in Fig. 5. If the spindle
speed and the time step interval are constant, the angle u will
be constant as well. If any portion of a tooth sector intersects
the stock material, that portion of the stock material is
machined. By rendering the tooth swept sectors due to every
tool position, the machining process may be simulated.
In order to calculate milling forces, the algorithm
distinguishes between every previous tool position and the
current tool position. Previous tool positions determine
the current state of the stock material i.e. the geometry of the
remaining material. The current tool position is separated
from the previous tool positions for two important reasons.
First, the current tool position may be machining a portion
of the remaining stock material and thus generate cutting
forces. The second reason is related to rendering—because
rendering engines such as OpenGL are graphical systems,
Fig. 2. Top and side views of a three-tooth flat end-mill machining process.
Fig. 3. Force components on the tool.
D. Roth et al. / Computer-Aided Design 35 (2003) 1287–1303 1289
they introduce the concept of a viewing direction and a
viewing volume (the bounds of the visible scene). Since the
end user is interested in calculating milling forces by
determining the true chip volume removed, the scene is
viewed along the tool axis of the current tool position—the
effect of which is to always view the tool as a top plan view.
Furthermore, to achieve the greatest resolution, the
dimensions of the viewing volume are constrained in
Fig. 4. Flow chart of force modelling using a rendering engine.
Fig. 5. Tooth swept sectors for a tool rotating by angle u:
D. Roth et al. / Computer-Aided Design 35 (2003) 1287–13031290
a deliberate way. The depth of the viewing volume is
constrained to be no more than that of the stock material.
The length and width of the viewing volume are sized so
that the view rendered details only the areas being
machined. This can be accomplished by sizing one view
to the tool diameter or by rendering a separate view for each
tooth of the cutter, as seen in Fig. 7. The former is easier to
implement, but introduces some inefficiencies, such as a
larger depth buffer, rendering tool positions which do not
affect the current force calculations, and a coarser pixel
density. The latter is a more complex method, needing a
number of views equal to the number of tool teeth, N:
However, it allows a finer pixel density, and greater
accuracy, as is shown in Appendix A.3, by ‘zooming in’
on the areas of interest. Finally, the depth buffer array is
aligned with the direction of tool motion to minimize
rasterization errors.
This method of determining chip geometry introduces a
number of advantages. First, it eliminates the need for an
extended Z-buffer. An extended Z-buffer must employ a
book-keeping algorithm to keep track of multiple ZDV
intersections. It must also employ secondary validation of
intersections that occur on the interior of the tool. For details,
the reader is referred to Fussell et al. [13]. In this new
method, as the machining process is always viewed as a plan
view, only a depth buffer is required. A depth buffer differs
from an extended Z-buffer in two respects: the direction of
the depth buffer vectors are in the direction of view and only
one intersection value (the depth) is stored per vector.
Another advantage of this method is the sizing of the
depth buffer to the dimensions of the tool as opposed to
dimensions of the workpiece. This improves the buffer size
to accuracy ratio, which is a measure of the utilization of the
depth buffer. This will result in a dramatic decrease in
the number of vectors maintained, or a dramatic increase
in the accuracy of the method.
3.1.1. Algorithm
The algorithm begins by rendering every tool position to
date, not including the current tool position (N.B. it is to be
understood that the rendering of tooth swept sector
information is implied). This step gives the current state
of the stock material, as shown in Fig. 6. For rendering
purposes, the scene is viewed in the direction of the current
tool axis, with the view direction toward the bottom of the
tool. The user is interested in obtaining the volume of the
chip removed, so it is only necessary to render that portion
of the scene in the immediate vicinity of the tool, as shown
in Fig. 7. Compare Fig. 6 with Fig. 7. Because the viewing
volume is constrained in this manner, most of the scene is
Fig. 6. Determining the current state of stock from previous tool positions.
Fig. 7. Constraining the viewing volume of the scene: (left) based on tool diameter—(right) based on tooth swept sector geometry.
D. Roth et al. / Computer-Aided Design 35 (2003) 1287–1303 1291
effectively clipped from view (i.e. not drawn), thus
improving the speed of the simulation greatly.
Once the scene is rendered up to, but not including, the
current tool position, the depth buffer is read to determine
the current state of the stock material. Only a fraction of
the depth buffer need be read, and this is determined by the
swept tooth sectors of the current tool position.
Rendering engines are only capable of reading a rectangular
portion of a buffer as an array, so the bounding box of each
tooth sector is used, as shown in Fig. 8.
It is emphasized here to the reader that at this point in the
algorithm, the current tool position is not actually rendered
to the screen, but rather is used to determine where it will
eventually be rendered. The purpose is to gather information
on the current state of the stock material in the area that will
be affected by the current tool position. Fortunately,
rendering engines allow for this to be done through the
use of a feedback buffer.
Once the current state of the stock material is known, the
current tool position is rendered, and those areas of the depth
buffer read above are read again. In this manner, the effect of
the current tool position on the current state of the stock
material may be determined. Because the size represented
by a pixel is fixed, the volume of material removed is
calculated as,
V ¼ Ap
XJ
j¼1
p0j 2 pj ð4Þ
where Ap is the area of a pixel, j is an index enumerating the
number of pixels read, p is the depth of a pixel as given by
the depth buffer after the current tool position has been
rendered and p0 is the depth before.
Once the volume of the chip removed is calculated,
the forces are determined. Using an IRF model, it is
known that the instantaneous power may be calculated
from
Pi ¼ KsQi ð5Þ
where Qi is the instantaneous metal removal rate. Qi is
equivalent to V =Dt; where Dt is the time needed to sweep
a tooth sector.
From this result, the tangential cutting force can be
calculated as,
Ft ¼ Pi=v ð6Þ
where v is the tangential cutting speed of the tool.
If the average chip width, �b; is required (as the chip width
may vary over the sector angle), it may be determined from
�b ¼
Xj
p0j 2 pj
Jp¼
V
ApJpð7Þ
where Jp indicates the number of pixels where the quantity
p0j 2 pj – 0
A noteworthy restriction of the method applies to the
shape of the tool. Let T be a function describing the tool
such that T is the generatrix of the tool surface of revolution.
The graphical method will properly calculate the volume of
material removed iff T : x ! TðxÞ: That is, no vertical line
may intersect the generatrix more than once. This is not a
dire restriction for most practical tools.
3.2. Advantages
By using a rendering engine, numerous advantages are
gained. For instance, as the volume of the chip removed is
determined by rendering the tool into image space, the
actual graphical display of the simulation is achieved at no
extra computational expense. That is to say, whereas before
the act of simulation and visual display were separated into
two distinct tasks, this method combines the two operations
into one since the rendering process is the simulation.
Therefore there is little redundancy in the code and an
efficient simulation is realised.
Second, because of the popularity of video games, the
cost of high end graphics hardware is very inexpensive.
Third, rendering engines have progressed to the state
where they introduce many efficiencies, including
optimised clipping functions and viewing transformations.
Furthermore, most of these operations are now performed
directly in the graphics hardware itself, leaving the CPU
open to other tasks (such as handling user input and file I/O).
Fourth, the use of a rendering engine allows almost any
tool geometry to be represented and modelled with ease.
Fig. 8. Bounding boxes corresponding to each tooth swept sector.
D. Roth et al. / Computer-Aided Design 35 (2003) 1287–13031292
It simply remains a fact of rendering the tool using
a combination of native rendering primatives (i.e.
planar facets).
Finally, rendering engines allow for simpler accounting
of real world cutter abnormalities, such as cutter runout and
cutter deflection. These effects may be efficiently simulated
by the addition of appropriate transformation matrices
when rendering the tool.
4. Analysis of the method
4.1. Efficiency
In order to calculate milling forces, solid modelling
techniques must determine the volume of material
removed using boolean operations. First, the swept
volume of incremental tool motions are determined
using the boolean union operator. The machined material
is obtained by intersecting the swept volume with the
stock material. The stock shape is then updated by
subtracting the machined material from the stock material
using the boolean difference operator. In order to
calculate plowing forces, the cutting edges of the tool
must also be intersected with the machined stock
material [7]. Furthermore, the graphical display of
the simulation process is entirely separate from the
mechanistic modelling.
The graphical method described in this paper must also
be able to calculate the tool swept volume, the current stock
shape and the volume of material removed per iteration.
However, all these steps are accomplished by the process of
rendering the tool positions, and reading the results from the
depth buffer. The calculation of the volume removed
involves only the simple summation form of Eq. (4).
Furthermore, the rendering of the tool positions may be
done at very high speeds (e.g. 10 million polygons per
second [20]) due to current hardware capabilities.
This performance will only improve with time, as
computational power increases.
4.2. Resolution of depth buffer
The depth resolution of the proposed algorithm depends
on two parameters—the bit-size of the depth buffer and the
initial size of the stock. At present, typical graphical
applications use a 24 or 32 bit depth buffer. The depth
resolution of the simulation may be calculated as
R ¼H
2q 2 1ð8Þ
where H is the height of the stock and q is the number of bits
in the depth buffer. For example, a 24-bit depth buffer used
to describe a 1 m stock depth size would have a resolution of
0.0596 mm. This is more precise than a typical CNC
machine which has an approximate resolution of 2.5 mm�1
10000½in:�
�4.3. Pixel resolution
4.3.1. Error bound with respect to the tooth sector
When a tool rotates about its axis, each tooth will sweep a
sector. By using a rendering system to represent the cutting
action of the tool, the end result is a rasterized image of
these sectors i.e. the view is composed of pixels.
There will be an error associated with the rasterized
image of the circular profile of the tool and the true
representation. Consider the swept sector and its
corresponding quadrilateral approximation of Fig. 9.
The maximum difference between the actual sector and
the quadrilateral is the chordal deviation, 1; and is given by
1 ¼ Rð1 2 cosðu=2ÞÞ ð9Þ
Let the length represented by a pixel be given as Dx and the
width be given as Dy: By definition, Dx ¼ Dy ¼ D; because
a pixel is a square element. The linear density of pixels is
rp ¼ 1=D: If the pixel size, D; is set equal to, or less than the
chordal deviation, then the simulation is able to represent
the tooth swept sector as a single quadrilateral. Eq. (9) then
represents the error bound of this approximation.
Fig. 9. Chordal deviation of a circular arc.
D. Roth et al. / Computer-Aided Design 35 (2003) 1287–1303 1293
4.3.2. Error bound with respect to the chip thickness
The method used to rasterize circles in computer
graphics is the method of Bresenham [21]. This method is
an incremental method that tests various pixel midpoints to
determine whether this point is inside or outside the
algebraic definition of the circle. A pixel is chosen based
on minimizing the error of the pixel midpoint to the circle
centre.
Due to the discrete nature of this method, an error will be
introduced when the chip thickness is smaller than the
discrete pixel size. This is especially prevalent in
conventional milling (up milling) as a tooth enters the cut,
and in climb-cut (down milling) machining as a tooth exits a
cut, where (in both cases) the chip thickness is zero.
Consider Fig. 10, which is a schematic representation of
two tool positions offset by the feed per tooth distance, ft:
When this schematic is rasterized, the two circles will
occupy identical pixels around the intersection points of the
two tool positions.
Accordingly, it can be seen that for a thin chip thickness,
the rasterized version of a circle is represented as a straight
line (shown as shaded pixels 1–4). When the next tool
position is rendered over top of the previous one, the two
rasterized circles will occupy the same pixels. In the worst
case, the longest line of overlapping pixels occurs when the
circle covers an entire pixel width, Dy (as shown,
between points A–B). The angle subtended by this straight
line, eh; is a measure of the error of the method with respect
to the chip thickness, and is given as,
eh ¼ tan21
ffiffiffiffiffiffiffiffiffiffiffiffiffi2RD2 D2
p
Rð10Þ
Therefore, if the engagement angle of the cutter is less than
eh; the discretized version may not be able to detect the
cutting action of the tool. It can be shown that the error
bound, eh; is directly proportional to the tooth swept sector
angle, u (Appendix A).
4.3.3. Appropriate pixel resolution choice
If the pixel grid is aligned with the direction of motion of
the tool, the simulation will be able to detect forward motion
in size increments of D: Because of this, an appropriate
choice of the pixel resolution should be based on the feed
per tooth, ft: Initial good results have been obtained for a
pixel size of 13
ft:
With the pixel size set, a rasterized version of a tool tooth
may be rendered based on a single quadrilateral. The angle
swept by the tool to achieve a resolution of 1; as chosen by
the user, is given by a rearrangement of Eq. (9). That is,
u ¼ 2 cos21 1 21
R
� �ð11Þ
A typical distance between two tool positions in a
programmed tool path is 1 mm. To calculate the forces
produced by the tool engaged in the cut, the time step of the
simulation is chosen based on the tooth swept sector angle
of Eq. (11). So programmed tool positions for the purpose of
the tool path sent to the controller are different from tool
positions considered for force calculations. We may call
them tool position increments, but for the sake of brevity,
the term tool positions is maintained.
The distance the tool is fed forward as the tool sweeps an
angle of u is given by,
fs ¼ Nft
u
2pð12Þ
where N isthe number of teeth in the tool and u is given in
radians.
4.3.4. Error bound of the rasterized area calculation
In the worst case, the relative error of the area of a
rasterized quadrilateral is seen to be a ratio of the perimeter
of the quadrilateral in pixels to the area of the quadrilateral
in pixels (Appendix A). This is a linear to square
relationship, meaning the relative error decreases rapidly
with the number of pixels used to represent the quadrilateral.
It should be noted that it is highly unlikely that this worst
case will occur. It should also be noted that there are two
methods of increasing the accuracy of the results—
increasing the pixel density, and offsetting the buffer origin
to eliminate the occurrence of a worst case rasterization.
Errors in area due to poor rasterization are easily identifiable
as unexpected spikes in the area calculations.
Fig. 10. Schematic representation of two tool positions.
D. Roth et al. / Computer-Aided Design 35 (2003) 1287–13031294
4.4. Determining the view window size
Knowing the pixel resolution, the actual display screen
must be sized to an adequate number of pixels in which the
rasterized scene will be rendered. As shown in Fig. 11, for a
tool of diameter D; and runout h; the screen must be sized to
a width, in pixels, of,
Wp ¼ dðD þ 2hÞrpe ð13Þ
where rp is the pixel density and d…e denotes the ceil
function (a function returning the smallest integer that is
greater than or equal to its argument). The use of the ceil
function ensures that the entire tool diameter will be visible
in the display screen, due to the discrete size of the pixels.
The screen height is equivalent to the screen width.
Alternatively, since one is only interested in the volume
removed per tooth, the view screen size can be based on the
cutter insert length and feed per tooth as well as the sweep
angle, u: This would requie that N iew screen areas be
rendered, where N is the number of cutter teeth.
4.5. Centre of mass
Consider the forces acting on one tooth of a tool.
Referring to Fig. 3, the tangential and radial forces are
assumed to be concentrated and acting through the centre of
mass of the chip removed. In the current methodology, the
chip geometry is represented as a rasterized version as
shown in Fig. 12. That is the chip, for a particular tooth, is
represented by the set of pixels {B} ¼ {b1; b2;…; bJp}
consisting of all the pixels in the bounding box for which the
quantity bj ¼ p0j 2 pj – 0; as discussed for Eq. (7) in
Section 3.1.1.
It is unfortunate that the terminology of machining and
computer graphics do not coincide. The reader should
realize that the pixel depth obtained from the graphics
engine depth buffer corresponds to chip width, b; of
machining, and not to the machining depth of cut, a; as
shown in Fig. 2. To alleviate these difficulties, a is more
intuitively called the radial depth of cut and b the axial depth
of cut.
The centre of mass, CM; of this rasterized body is
therefore,
CM ¼1
MT
Xmjrj ¼
1
bT
Xbjrj ð14Þ
where bT ¼P
bj: Relative to the origin of the bounding box
of the tooth, the radius in the pixel space of the bounding
box, rj; in the X and Y directions are given simply as the
index of the pixel in the bounding box. Converting from this
Fig. 11. Sizing the rendering screen to a cutter with runout.
Fig. 12. Rasterization of a tooth sector.
D. Roth et al. / Computer-Aided Design 35 (2003) 1287–1303 1295
pixel space to tool space, one need only multiply by the
representative pixel size, Ap:
The center of mass will differ from the leading edge of
the tooth by an amount, dQ: This amount may be calculated
from,
cosðdQÞ ¼r·CM
lrllCMlð15Þ
where r ¼ ðR;QÞ is the vector describing the leading edge
of the tooth. It is important that both vectors be in either
pixel space or tool space. It is also important to use CM in
the calculation of the tangential speed in Eq. (6).
5. Experimental results
In this section, results using the described method of
force modelling, implemented using OpenGL, are compared
with actual cutting tests.
5.1. Apparatus used
Two experiments were conducted using different chip
loads in 6061-T6 aluminum. The tests were conducted at
feed rates of 900 and 1350 mm/min (ft of 0.1 and 0.15
(mm/tooth).
For each feed rate, a wedge shape cut was taken using
both a conventional and a climb-cut tool path, as shown in
Fig. 13. The wedge width was equal to the cutter radius at
the start of the cut and tapered to zero over a length of
90 mm. The depth of the wedge was 6 mm at the start of the
cut tapering to zero as well. This cut necessitates the tool to
move in the X; Y ;Z axes simultaneously. The tests were
conducted on an OKK MCV 410 vertical machining center.
The forces were measured using a Kistler type 9255A force
table connected to a Kistler type 5804A 3-channel charge
amplifier. Data acquisition was facilitated using Labview
5.0 and a National Instruments PCI-MIO-16E-4 analog to
digital converter as well as a CB-68LP interface card.
The spindle speed used in all experiments was 3000 rpm
(50 Hz). The data acquisition sampling frequency used was
5000 Hz (giving 100 samples per cutter revolution).
The cutter used was a Sandvik RA215.44-25MN25-09C
at bottom 3-tooth endmill, with an outer diameter of
25.4 mm. The cutter runout was measured at 0.013335 mm
using a Mitutoyo 0.0001 [in] (0.00254 mm) reading dial
indicator.
5.2. Determining force coefficients
The force coefficients used in the models were
determined according to the method described by Altintas
[22]—a linear regression of average cutting forces for
several chip loads (in this case 900–1350 mm/min, in
increments of 150 mm/min).
The force coefficients obtained from this analysis are
given in Table 1, where the subscripts t; r and a denote
tangential, radial and axial force coefficients, respectively.
The subscripts c and e refer to either cutting or edge force
coefficients.
5.3. Force model and simulation
The following IRF model is described by Altintas [22],
Ft ¼ Ktcbh þ Kteb ð16Þ
Fr ¼ Krcbh þ Kreb ð17Þ
Fa ¼ Kacbh þ Kaeb ð18Þ
This model, in addition to considering cutting forces
proportional to the chip area as given in Eq. (1), also
takes into account plowing (or edge) forces, which are
proportional to the engaged width of cut.
When using a rendering engine, each simulated position
is composed of pixels. As each pixel has a constant area, and
a variable depth (axial depth of cut, b) as determined by the
depth buffer, volumetric quantities are obtained. In order to
use the model of Eqs. (16)–(18), these equations need to be
transformed in order to use information available from the
rendering simulation. With respect to Eq. (16), the first term
(cutting forces) is determined using Eq. (6) and the second
term (edge forces) is determined using the maximum chip
width found for a given bounding box. Eqs. (17) and (18) are
similarly computed.
Once the tangential and radial force components on each
tooth of the cutter are determined, they are summed together
in the global X and Y reference frame. In this way, the
simulation results are easily compared to the experimental
Fig. 13. The experimental piece including an orthographic wedge detail.
D. Roth et al. / Computer-Aided Design 35 (2003) 1287–13031296
results. With reference to Fig. 3, these forces are converted
to global X and Y force components by,
Fx ¼ 2Fr cosðQÞ2 Ft sinðQÞ ð19Þ
Fy ¼ 2Fr sinðQÞ þ Ft cosðQÞ ð20Þ
As before, Q is the angular rotation of the tool.
5.4. Comparing experimental and simulation results
Four experiments were conducted with the tool linearly
interpolating along the X;Y and Z axes to form a wedge
shaped cut as shown in Fig. 14. As the tool rotates in a
clockwise direction, with the tool fed on the left side of the
experimental piece, the result is a climb cut. Similarly,
conventional cutting occurs when the tool is fed on the right
hand side. Both the measured and the simulated results for
the climb cut case, at a feed rate of (900 mm/min), are
presented in Fig. 15. Marked in this figure are three
locations—close-up views of the results at these locations
are shown in Figs. 16 and 17. Results for the other
experiments are similar.
As the model presented here is an IRF model, dynamic
effects of the tool are not accounted for. These effects were
filtered out using a digital Butterworth lowpass filter. Both
the filtered and the un-filtered signals may be seen on the left
hand side of Figs. 15–17.
In addition to considering cutting forces contributed by
the shearing action of the tool and the edge forces,
the simulation also takes into account cutter runout—that
is, eccentricity of the tool rotation. If there were no tool
eccentricity, the peak force encountered by each tooth
would be identical. Eccentricity causes effectively different
tool radii for each tooth (with one tooth being designated as
the high tooth), and each tooth will consequently encounter
different chip loads. This results in varying peak forces for
each tooth.
5.5. Discussion
The pixel density, rp; used in the experiments was
30 mm21 ðD ¼ 1=30 mmÞ and was chosen based on the chip
load of the experiment. The value used was ft=3; although
the choosing of this parameter warrants further
investigation.
Using the pixel size for the resolution of the simulation,
the sector angle was calculated from Eq. (11) as 8.38.
The actual simulation was carried out with a sector angle of
88 to allow for an overlap between rendered tooth swept
sectors. This was done to cover any discrete approximation
roundoff errors.
The simulation screen measured 764 pixels in both
length and width.
From Eq. (10), the simulation engagement/disengage-
ment resolution is calculated at 4.18. As the chip area is very
small during tool engagement for conventional milling and
disengagement for climb cut milling, the simulation may
miss the contribution of both cutting, and more significantly,
edge forces during this portion of the cut.
Figs. 15–17 show the comparison of the simulation to
the experimental results are excellent. For almost all cases,
the simulation results are within 10% of the filtered
experimental results. There are two exceptions: the
maximum climb cut X-direction case and the maximum
conventional cut Y-direction case. In both cases, the
maximum experimental value is positive, whereas
the simulation predicts no force.
With reference to Fig. 16, consider the X-direction climb
cut case. The troughs of the X-direction forces correspond to
Table 1
Force coefficients obtained for aluminum
Aluminum
Ktc (MPa) 974.983
Krc (MPa) 714.709
Kac (MPa) 106.128
Kte (N/mm) 19.315
Kre (N/mm) 24.362
Kae (N/mm) 4.077
Fig. 14. Climb and conventional cutting during the experimental validation.
D. Roth et al. / Computer-Aided Design 35 (2003) 1287–1303 1297
a tooth just entering the cut, where the tangential force
dominates and the chip thickness is greatest. As the tooth
progresses through the cut, the chip thickness diminishes
and edge forces begin to dominate. The X-direction forces
fall to zero as the tooth exits the cut. However, due to
inertial effects of the force table dynamometer, the table will
continue to vibrate, giving false positive force values.
A similar thing occurs for the Y-direction up-milling
case. However, as the chip thickness is greatest at the end of
the up-milling cut, the cutting force will be a maximum at
this point. The greater force magnitude will lead to a larger
vibration amplitude of the force table after the tooth exits
the cut.
Towards the end of the cut, at position [3], the differences
in the simulation and measured force profiles are noticeably
different than at the previous two points considered. At this
point in the cut, the maximum chip load encountered is
approximately hmax ¼ ft=2: Accordingly, the relative error
from Eq. (A8) for a fully rendered tooth swept sector is
69%. Furthermore, the amount of noise in the sampled
signal is approximately 10 N—a significant portion of the
measured values.
In order to improve the simulation results at this point, a
finer pixel density is required. Most likely, the second
method of Section 3.1 (where the depth buffer is sized to the
tooth swept sector) would be of most use. This being said,
one must also realize that the level of forces at location [3]
was very low; that is, not of great concern regarding tool
deflection and the resulting accuracy.
A slight stepping of approximately 30 N may be
observed in the Y-direction simulation forces for the climb
cut case and the X-direction conventional cut case. This has
more to do with the averaging effect of the sector sweep
angle, u; than the choice of pixel size, D: When a tooth cuts
along the entire sweep angle, the resulting simulation forces
are averaged over the period of time it takes for the tool to
Fig. 15. Measured (left) and simulated (right) climb cut forces, ft ¼ 0:1 mm: (a), (b), x-direction. (c), (d) y-direction.
D. Roth et al. / Computer-Aided Design 35 (2003) 1287–13031298
sweep the sector angle. In effect, the forces are calculated
based on the average chip thickness in this time period.
Periodically, however, only a small portion of the sector
angle will engage at the beginning of the cut, resulting in a
net higher average chip thickness.
Consider in the experiments that u was calculated at 8.38.
The radius of the cutter used was 12.7 mm, and the tool path
started at half immersion and progressed linearly to 0 along
a length of 90 mm. The arc length of the sector sweep angle,
u; is s ¼ ru ¼ 1 : 84 mm: Therefore, the number of steps
encountered should be 12:7=1:84 < 7; or, as the tool path is
completed in about 6 s, the steps should occur every 1:84 £
6=12:7 < 0:87 s; which is seen to be the case.
Note that this stepping is only of concern when the tool is
entering or exiting a cut where the chip thickness is
significant. As the Y-direction climb cut forces reach a
minimum at this point, the stepping is observed only along
the bottom of the simulation force graph of Fig. 15.
Fig. 16. Details of the measured (left) and simulated (right) x-direction climb cut forces at different locations along the cut. (a), (b), location [1]. (c), (d) location
[2]. (e), (f), location [3].
D. Roth et al. / Computer-Aided Design 35 (2003) 1287–1303 1299
The X-direction climb cut forces reach a minimum value at
approximately Q ¼ 608; so no stepping is observed for that
case.
6. Future work
Currently, the simulation employs a brute force algor-
ithm whereby every previous tool position is rendered to
determine the cutting forces of the current tool position.
Ways of speeding up the process need to be found. Although
this method is of significantly less computational complex-
ity than solid modelling, there still exists room for
improvement.
The dynamic effects of the system were not taken into
account during this simulation. Certainly, these effects are
not negligible. The presented model must be expanded to a
regenerative force, dynamic deflection model, as classified
in Ref. [1].
Finally, the above model must be developed to simulate
the full 5-axis machining case.
Fig. 17. Details of the measured (left) and simulated (right) Y-direction climb cut forces at different locations along the cut. (a), (b), location [1]. (c), (d) location
[2]. (e), (f), location [3].
D. Roth et al. / Computer-Aided Design 35 (2003) 1287–13031300
7. Conclusions
This paper presents a volumetric force model of the
milling process based on the depth buffer of a high end
rendering engine. This method has the distinct advantage
of sizing the depth buffer to the size of the tool rather than
to the size of the workpiece, allowing for increased
simulation accuracy while reducing memory requirements.
The in-process chip geometry for a given tool path is
readily calculated by rendering every tool position to the
screen to determine the current state of the stock material
and then determining the effect of the current tool
position. The simulation is intricately tied to the rendering
of the process, giving two additional advantages: the
graphical display of the simulation is achieved at no extra
computational expense and furthermore, as graphics cards
are optimized for rendering engines such as OpenGL and
DirectX, the simulation process is hardware accelerated.
A final advantage of method is that it is independent of
the shape of the tool being used—it only remains a matter
of determining how to render the cutting tool based on
rendering primitives.
Two experiments were done to validated this graphical
method. The simulation was able to accurately determine the
force magnitudes and variations of a full 3-axis cut, for both
conventional and climb cut cases. The model accounts for
cutting and edge forces as well as the effect of cutter runout.
Acknowledgements
The authors appreciate the funding provided by the
Natural Sciences and Engineering Research Council of
Canada as well as the research infrastructure provided by
the Ontario Innovation Trust and the Canada Foundation for
Innovation.
Appendix A. Detailed calculations
A.1. Relating the sector angle, u; to the chip thickness
error bound, eh
If the maximum allowable chordal deviation, Eq. (9) is
chosen based on the pixel size, D; then, from Eq. (11),
cosu
2
� �¼ 1 2
D
R
� �ðA1Þ
and if D is small with respect to R; then from Eq. (10),
tan eh ¼
ffiffiffiffiffiffi2RD
p
R
tan2eh
2¼
D
RðA2Þ
Combining Eqs. (A1) and (A2), it is found that
tan2eh
2þ cos
u
2
� �¼ 1 ðA3Þ
Surprisingly, this eh 2 u relationship of Eq. (A3) is
essentially linear for 0 # u # 458; as shown in Fig. 18,
meaning the error associated with rasterizing a thin chip
portion decreases linearly with the chosen sector angle.
A.2. Linearizing the u; eh relationship
If it is assumed that chip thickness error bound, eh; is
directly proportional to the sector angle, u; then,
u ¼ leh ðA4Þ
where l is the constant of proportionality. From Eq. (A3),
cosleh
2
� �þ
tan2eh
2¼ 1 ðA5Þ
Expanding using a Taylor series, and assuming eh is small,
1 2
leh
2
� �2
þ ðOÞ4
0BB@
1CCAþ
ðeh þ ðOÞ3Þ2
2¼ 1
e2h 1 2
l2
4
!¼ 0
l ¼ 2 ðA6Þ
This can be observed in Fig. 18 to be true as the slope of the
line is eh=u ¼ 1=l < 1=2:
A.3. Error bound of the area of the rendered quadrilateral
The quadrilateral representing the swept tooth sector and
the rasterized version of the quadrilateral will have an
associated error in area. As this is the area used in Eq. (4),
this error must be bounded.
A rasterized quadrilateral will cover a given pixel only
‘if its exact center falls within the [quadrilateral’s]
mathematical boundary’ [23]. As seen in Fig. 19, from the
point of view of area calculation, the worst error will occur
Fig. 18. Relationship between u and eh; for 0 # u # 458:
D. Roth et al. / Computer-Aided Design 35 (2003) 1287–1303 1301
when a quadrilateral just covers the center of all pixels
within its boundary. This occurs in two orientations.
In this figure, the quadrilateral has a length L and a width
W : The pixel size is given as before, Dx ¼ Dy ¼ D:
Let L ¼ L0D; where L0 is the number of pixels covered by
the length L: Similarly, let W ¼ W 0D:
With respect to Fig. 19, the absolute error of the left-hand
rasterized quadrilateral area is given by
eA ¼ 1=2Dð2L þ 2WÞ ðA7Þ
The actual area of the quadrilateral is A ¼ LW : The relative
error is therefore
e rel ¼ eA=A ¼DðDL0 þ DW 0Þ
DL0DW 0
e rel ¼L0 þ W 0
L0W 0ðA8Þ
The relative error of the right-hand rasterized quadrilateral,
by a similar analysis, is found to be
e rel ¼L0 þ W 0
2L0W 0ðA9Þ
Therefore the left hand figure represents the worst case
possible.
Note that this error affects the cutting force only and not
the edge forces. Furthermore, the origin of the depth buffer
can be perturbed to avoid any occurrences of the worst case
geometry of Fig. 19 from happening, leading to a much
smaller average error. It should also be noted that this error
bound could be dramatically improved by using the second
view screen sizing technique discussed in Section 4.4.
With this method, virtually any tolerance desired could be
achieved. However, in this paper, the first method was
implemented for simplicity.
References
[1] Smith S, Tlusty J. An overview of modeling and simulation of the
milling process. ASME J Engng Ind 1991;113(2):169–75.
[2] Voelcker HB, Hunt WA. The role of solid modelling in machining-
process modelling and NC verification. Technical Report 810195,
SAE; 1981
[3] Bertok P, Takata S, Matsushima K, Ootsuka J, Sata T. A system for
monitoring the machining operation by referring to a predicted cutting
torque pattern. Ann CIRP 1983;32(1):439–44.
[4] Wang WP. Solid modeling for optimizing metal removal of
three-dimensional NC end milling. J Manuf Syst 1988;7(1):57–65.
[5] Takata S. Generation of a machining scenario and its
applications to intelligent machining operations. Ann CIRP 1993;
42(1):531–4.
[6] Spence AD, Altintas Y. A solid modeler based milling process
simulation and planning system. ASME J Manuf Sci Engng 1994;116:
61–9.
[7] El-Mounayri H, Spence AD, Elbestawi MA. Milling process
simulation—a generic solid modeller based paradigm. ASME J
Manuf Sci Engng 1998;120:213–21.
[8] Imani BM, Sadeghi MH, Elbestawi MA. An improved process
simulation system for ball-end milling of sculptured surfaces. Int J
Mach Tools Manuf 1998;38(9):1089–107.
[9] Jerard R, Drysdale R, Hauck K, Schaudt B, Magewick J. Methods for
detecting errors in numerically controlled machining of sculptured
surfaces. IEEE Comput Graph Appl 1989;9(1):26–39.
[10] Jerard RB, Fussell BK, Ercan MT. On-line optimization of
cutting conditions for nc machining. 2001 NSF Design,
Manufacturing and Industrial Innovation Research Conference;
January 7–10 2001
[11] van Hook T. Real-time shaded nc milling display. SIGGRAPH
Comput Graph 1986;20(4):15–20.
[12] Choi BK, Kim DH, Jerard RB. C-space approach to tool-path
generation for die and mould machining. Comput Aid Des 1997;
29(9):657–69.
[13] Fussell BK, Hemmett, JG, Jerard RB. Modeling of five-axis end mill
cutting ueing axially discretized tool moves. North American
Manufacturing Research Conference. Society of Manufacturing
Engineers; May 25–8 1999
[14] Fussell BK, Jerard RB, Hemmett JG. Robust feedrate selection for 3-
axis nc mchining using discrete models. ASME J Manuf Sci Engng
2001;123(2):214–24.
[15] Kim GM, Cho PJ, Chu CN. Cutting force prediction of sculptured
surface ball-end milling using z-map. Int J Mach Tools Manuf 2000;
40(2):277–91.
[16] Choi BK, Jerard RB. Sculptured surface machining: theory and
application. Dordrecht: Kluwer; 1998.
[17] Martellotti M. An analysis of the milling process. Trans ASME 1941;
63:677–700.
[18] Martellotti M. An analysis of the milling process, part ii—down
milling. Trans ASME 1945;67(1):233–51.
[19] Stewart N, Leach G, John S. An improved z-buffer csg rendering
algorithm. Workshop on Graphics Hardware, Eurographics/Siggraph;
1998. p. 25–30
[20] Graphics Processing Unit (GPU). http://www.nvidia.com/view.
asp?IO ¼ gpu
[21] Bresenham J. A linear algorithm for incremental digital display of
circular arcs. Commun ACM 1977;20(2):100–6.
[22] Altintas Y. Manufacturing automation—metal cutting mechanics.
machine tool vibrations, and CNC design. Cambridge: Cambridge
University Press; 2000. p. 45–6.
[23] OpenGL Technical FAQ and Troubleshooting Guide. http://www.
opengl.org/developers/faqs/technical.html
David Roth is currently a PhD student and
instructor at the University of Waterloo in the
Mechanical Engineering department. His
research interests include mechanistic model-
ling of 5-axis machining, high-speed machin-
ing, tool path planning and swept volume
generation. He received his BASc in 1997 and
his MASc in 1999 both from the University of
Waterloo.
Fig. 19. Error bound of a rasterized polygon.
D. Roth et al. / Computer-Aided Design 35 (2003) 1287–13031302
F. Ismail obtained his BSc in Mechanical
Engineering and his Masters degree in Pro-
duction Engineering, both from the University
of Alexandria, Egypt. He received his PhD
from McMaster University in Canada. He has
been with the University of Waterloo, Water-
loo, Ontario in Canada for the past 19 years.
Prof. Ismail’s areas of expertise include
modeling and control of machining chatter,
structural dynamics using modal analysis, and
machinery diagnostics.
S. Bedi is interested in the application of
CAD/CAM, solid modeling, and geometric
and surface modeling methods to mechanical
engineering. His recent work includes 5-axis
machining strategies, NC simulation, and
intelligent NC machine control. Details of his
current activities and interests can be found at
http://www.me.uwaterloo.ca/~mechlab.
D. Roth et al. / Computer-Aided Design 35 (2003) 1287–1303 1303