NURBS FEEDRATE ADAPTATION
FOR
3-AXIS CNC MACHINING
By: Elkeran, A. * and El-Baz, M.A**
Abstract
The development of manufacturing technologies to improve
machining and obtain high productivity has become a very
important goal in modern industry. Therefore, reducing machining
time and improving machining through adaptation of feed
rates becomes a great demand. This work effort is focused
on improving the efficiency of CNC machining by calculating
an efficient variable feed rates that keep the instantaneous
volumetric removal rate constant during the cut. The different
obtained values of feed rates are then interpolated using
NURBS approximation curve fitting approach. In addition,
a new NURBS feed rate interpolator is incorporated to an
open architecture CNC controller. Experimental evaluation
shows that the proposed approach results in much smoother
CNC movements as well as achieved a reduction of cutting
time that satisfy the requirements of today’s machining
needs.
Keywords: NURBS, feed rate optimization, CNC machining,
open architecture controller.
1. Introduction
Setting accurate feed rates for machining of die, mold and
other sculptured surface parts, where the amount of metal
removal is constantly changing, has the potential for great
benefits. Despite tremendous progress in cutting tool technology
during the last century, it is still not easy to determine
the optimum feed rates for metal removal processes. The most
modern CAD/CAM systems that generate CNC tool paths for
these parts still employ the traditional method of assign
a fixed and low machining feed rate for a number of cutter
paths, based on the worst case cut geometry. This can result
in significant tolerance deviation, variation in cutting
loads, and more cutting time.
Many of previous research efforts have been discussed the
importance of employ variables feedrates that maintain safe
cutting in the machining processes. Some of the first work
on feedrate planning was by Wang [1], where
he used a z-map representation of the workpiece and a simple
volumetric model to relate cutting force to the metal removal
rate. Takata et al. [2] utilized a z-map
approach for the workpiece/cutter geometry description and
combined this with the mechanistic model of Kline et al
[3] to investigate cutting forces and tool
deflection.
Others works have been discussed a number of discrete models
used for optimization of cutting conditions during CNC machining
[4-7]. The models can be broadly placed
into two categories:
-
Volumetric models in which feed rate is proportional
to either average or instantaneous volumetric removal
rate,
-
Vector force models in which feed rate is set to values
which keep either average or instantaneous cutting forces
to prescribed values.
While the latter models are more accurate they are also
more difficult to implement on the shop floor. The resulting
outputs of the two categories often create many tiny line
segments. Each line segment in the CNC part program has
a calculated fixed value of the feed rate.
For these tiny line segments with different feed rate the
following problems will occur [8]:
-
Acceleration and deceleration of CNC machine at transition
from each line to the next causes a cycle time delay.
-
The DNC data transfer burden is increased, the data
transfer speed may not catch up with the cutting feed,
which may cause the machine to chock or vibrate.
-
The real cutting speed is reduced and the cutting time
is prolonged.
-
More tiny line segments resulting in a larger CNC data
file.
This paper describes a feedrate adaptation system to overcome
the problems discussed above. The proposed system determines
feedrates for milling operations by integrating a z-map
geometric model with a NURBS feedrate interpolator. The
different values of feedrates are determined from the geometric
model, to keep the volumetric metal removal constant during
the cut.
These values of feedrates are then interpolated to a NURBS
curve using NURBS approximation curve fitting approach.
The results of these steps are written in a CNC part program.
On the other hand a NURBS software interpolation program
is integrated with open loop architecture CNC milling machine.
NURBS has been selected because it has emerged as the standard
free-form geometry representation since late 1980s. It is
a superset of various models of free form curves have been
developed such as Bezier and B-spline for the ability to
represent quadric curves exactly. In NC machining, when
a NURBS feed rate curve is interpolated, it results in much
finer and smoother NC movements compared with the interpolation
of traditional line segments. Furthermore, the NC blocks
or statements are greatly reduced, making the data transfer
much faster.
Compared to NURBS feedrate tool path, chord tool paths
with different feedrates, leave the machine to accelerate
and decelerate less efficiently and this inefficiency alone
can compromise cycle time. To explain this comparison contrast
a contour defined by a single NURBS feedrate block with
the same contour defined by a series of feedrate of straight
chords. In the NURBS version, the feed rate of each axis
changes continually and gradually all along the curve. But
in the chord version, the feed rate of each individual axis
is constant throughout each chord—until it reaches
the end of that chord.
At this point, the CNC commands a new feed rate for the
axis, appropriate to the next line of code. In essence,
the chord program asks the axes to change their feed rates
instantaneously at the end of each block of code. Neither
the axes nor the CNC can do this, of course, so the acceleration
or deceleration to transition from one chord to the next
introduces a cycle time delay.
The remainder of this paper is organized as follows: in
section 2 feedrate from geometric model calculation is described.
The NURBS feed rate interpolation and approximation curve
fitting method is illustrated in section 3. The NURBS interpolation
is presented in section 4. Result of a sample example is
presented in section 5. The conclusions of this research
are summarized in section 6.
2. Feedrate Calculation
Our method for estimating the volume removed by a particular
tool movement is based on Wang’s method [1].
This model originally breaks the workpiece block into many
discrete vectors, as shown in Figure 1.
Then for each small tool movement the intersection of the
resulting tool envelope with the block vectors is found
through an efficient geometric method. Now, by assigning
a surface area to each vector, the volume (VL) removed by
the tool movement step (?x) can be calculated by summing
the product of the vector area with the length of the vector
removed by the tool.
Inverse model is needed to automatically generate the feed
rate for a given tool movement. The model requires information
on the allowable cutter deflection, as well as the volume
of the metal removed by the cutter for a given tool movement.
The process summaries such as follow:
-
The allowable cutter deflection for a small tool movement
is used in a cantilever beam equation to generate the
allowable force.
-
With the known spindle speed, the power necessary to
generate the given force can be calculated such that
P=Ft*V/C where P is the cutting horsepower (HP), V is
the cutting speed m/min.
-
The metal removal rate is determined such that P=K*MRR
where K is the unit power consumption, and MRR is the
metal removal rate (mm3/min).
-
The time required to cut the tool movement step (?x)
is calculated such that dt=VL/MRR.
-
Finally the feed rate for this tool movement is calculated
such that Feed rate = ?x /dt.
-
Calculating successive feed rates for each tool movement
step is repeated until the entire part has been cut.
-
The calculated feed rate values (Q0,Q1,….Qm)
will be fitted using NURBS least square method (section
3.2).

Fig.1
Z-map
3. Feed rate NURBS Interpolation
Fitting NURBS curve for a given set of points is of two
types [9, 10]. The first
method is interpolation and second is approximation. In
the case of interpolation, curve is passed through the given
set of points. In the case of approximation the curve constructed
may not necessarily satisfy the given data but only approximates
it.
If one tries to fit NURBS curve using interpolation, the
resultant number of control points will be equal to the
given data points. Therefore it is not desirable to fit
a curve by using interpolation especially for large number
of data points. In this work the second method i.e., approximation
is used.
To explain how well a curve can approximate the given data
points, the concept of error distance is used. The error
distance is the distance between a data point and its corresponding
point on the curve. Thus, if the sum of these error distances
is minimized, the curve should follow the shape of the obtained
data polygon closely.
3.1 Definition of NURBS
A NURBS curve is a vector-valued rational
polynomial defined by the following form:
Where Pi is the control points, wi weights, and Ni,p(u)
the normalized B-spline basis function of pth degree with
the following notations:
Computation of a set of basis functions requires specification
of a knot vector, U that will be presented in section 3.2.

Note that when wi = 1 for i = 1…n,
the rational B-spline is reduced to the B-spline:
3.2 Computational Algorithm
Given m+1 data points Q0, Q1, Q2..., Qm, and wish to find
a B-spline curve that can follow the shape of the data polygon
with minimum number of control points and satisfies a prescribed
value of error distance. Figure 2 shows the flow chart of
the NURBS fitting process.
Fig. 2. Flow chart of a NURBS fitting
process
In the beginning, an initial number of control points
equal to the number of data points/20 and the allowable
fitting error for a fitting curve are assigned. Using the
approximation method, the minimum number of control points
is found to fit a NURBS curve that satisfies the error requirement.
If the error is exceeded, the number of control points is
increased. The above-described process is iterated until
the error requirement is met.
The minimum number of control point equals to the p+1.
Refinement is an extended process to improve or reduce the
error by recalculating more accurate values of for the same
number of the obtained control points. If the refinement
gets an improvement of the previous error, another iteration
of reduction control points and refinement is processed
until the best improvement or reduction in error with the
minimum number of control points are met.
3.2.1 Least Squares Curve Approximation
In this section, an algorithm to compute the numbers and
the values of control points that satisfy minimization of
the sum of the square error distance is presented. The distance
between Qk and the corresponding point of on the curve is
|Qk – C ( )|. Hence, the sum of all squared error
distances is :

Our goal is to find those control points
P1, ..., Pn-1 such that the function f( ) is minimized Let
m+1 is the number of the given data points Q0, Q1, .., Qm.
p is the degree of the obtained B-spline curve and n+1 is
number of the required control points Pi. The following
illustrates the solution procedure:
1- Calculate a set of parameters , ..., using
one of the following schemes:
i- Chord length method: let d be the total chord length
Then 
This method is generally adequate. It gives
a good parameterization to the curve, and it is most widely
used.
ii- Centripetal method: let
Then 
This method gives better results than the chord length method
when the data takes very sharp turns.
2- Calculate knot vector U, usually the following
Eqs. are used to calculate U .

This method generates wiggle at the start
of the curve. So, a developed equation of calculating U
is presented such that:

Figure 3 shows an example to compare the
effect of the two methods of calculating the knot vector
on the NURBS curve. This figure illustrates that the second
method provides better results of both oscillation and error
for the same number of control points.
3. Compute Rk using the following formula:

4. Compute the following and save it to the i-th column
of matrix R;

5. Compute Ni,p(uk) and save to row k and column i of
N;
6. Compute
7. Solving for P from M*P = R;
Where N is the (m-1) (n – 1) matrix scalars

R is the vector of (n-1) points
,and
And Row i of P is control point Pi;

LU-decomposition method is used to solve M*P = Q. While
other methods such as Gaussian elimination method and Cholesky
method can do the job well.


Fig.3 Knot vector calculation.
(a) Modified method (n=9, p=3, and error=3.668),
(b) Piegl’s method (n=9, p=3, and error=9.527)
Calculating of using chord length method gives very rough
approximation. Therefore, a refinement process of these
values is required. Schneider [11] proposed an iterative
process to improve parameterization for Bezier curve. Fig.
4 shows the effect of successive refinement of values on
the normal distance from the data points to the curve.
Newton-Raphson method is iterated to get a better values.
refinement reduces the error in such a way that permits
another reduction of the number of control points in iterative
manner as shown in Fig. 2. Fig. 5 shows an improvement of
the fit of the curve through reduction of the number of
control points for the same error using refinement.

Fig. 4 Iterative refinement process. (a) Chord length parameterization,
(b) First iteration, (c) Second iteration, and (d) Third
iteration


(a) (b)
Fig.5 refinement reduces number of control points (a) n=11,
(b) n=9
4. CNC Feed Rate NURBS Interpolator
The proposed NURBS feed rate interpolator module is integrated
to a Vertical Machining Center (ElettronicaVeneta FCN 500/PLUS).
The machine was previously retrofitted with a PC based open
architecture CNC controller. The feed rate interpolator
uses the advantage of the open architecture CNC system that
allows feed rate changes during cutting motion. The DDA
motion interpolator deals with axis positional control The
imbedded CNC feed rate interpolator is illustrated in Fig.
6.

Fig. 6 NURBS interpolator flowchart
5. Experimental Evaluation
As an example to evaluate the proposed approach, slot milling
operation was performed on an Aluminum workpart as shown
in Fig. 7. The spindle speed was set at 2000 rev/min. 10-mm
cutter diameter, and four tooth HSS end mill cutter was
used. The desired volumetric metal removal rate was determined
to keep at 20000 mm3/min. The cutter passed through the
workpart, and met variations in the depth of cut during
the path of the cut.
Three methods to assign feed rate for the example are considered
to evaluate the proposed approach. The first method assigns
a constant feed rate according the worst depth of cut. The
second method divides the cut path into different NC blocks.
Each block has a determined feed rate value according to
the worst depth of cut during each path. The third method
assigns variable feed rate according to the proposed NURBS
feed rate approach.
Table 1 Shows the results of different 10 experimental
sets. The actual feedrates of the machining were measured
and shown in Fig. 8. The results show that the proposed
approach, experiment 10, uses 1 NC block with 38.94 sec
cutting time. Experiment 1, which assigns a fixed feedrate
according to the worst depth of cut to keep volumetric metal
removal rate not exceed 20000mm3/min. It uses one NC block,
but the cutting time expanded to 77.43 sec. The increasing
ratio is normally 198%, which is significant.
Experiments 2-9 divide the cutting path to different distances,
and assign feed rate value for each division. Experiment
2 for example, assigns feedrate value for each 40 mm cut
path. Experiments 2-6 presented that the cutting time decreased
and the number of NC blocks increased for those experiments.
Due to the increasing division paths in experiments 7-9,
and the changes in the value of feedrate assigned for each
block, the actual feedrate oscillate and could not reach
to the determined feedrate value in most cases.
This is occurred due to the acceleration and deceleration
of the NC machine motor drives. The result is machining
time start again to increase as clearly shown in Table 1
and Fig. 8 Beside the reduction in the cutting time, the
cutting process in the proposed approach became more stable
due to the fact of keep the metal removal rate constant
during the cut. In addition the machining itself became
much smother due to the fact of deleting the effect of acceleration
and deceleration of the machine motor drives when transfer
data from block to another.






Fig. 8. Measured feed rate (mm/min) versus time for experimental
sets.


Fig. 8. Measured feed rate (mm/min) versus time for experimental
sets (continued).
6. Conclusion
This paper describes a feedrate adaptation system to improve
the efficiency of the CNC machining process. The proposed
system overcomes the most problems appeared from other effort
has been treated with the problem of optimize feedrate during
cut. Most of these efforts and the deficiency of controller
functions have prevented the real power of CNC machine tools
from being fully utilized. An algorithm is proposed to determine
feedrates for milling operation by integrating a z-map geometric
model with a NURBS feedrate interpolator.
Efficient variable feed rates that keep the instantaneous
volumetric removal rate constant are determined. The different
obtained values of feed rates are then interpolated using
NURBS approximation curve fitting approach. The results
of these steps are written to a CNC part program. On the
other hand, a new interpolation NURBS feed rate module is
incorporated to an open architecture CNC controller.
Experimental results indicate that the proposed system
is effective for improving the performance of the cutting
process. The advantages of the proposed system have demonstrated
in reducing cutting time, keeping the cutting load constant,
smoothing cutting process due to delete the effect of acceleration
and deceleration of the machine drives, and reducing NC
part program.
7. References
1. Wang, K. K.,”Solid modeling for
optimizing metal removal rate of three-dimensional NC end
milling”, Journal of manufacturing systems, Vol.7,
No.1, pp.57-65.year.
2. Takata, S., Tsai, M. D., Inui, M. and
Sata, T., “A cutting simulation for machinability
evaluation using a workpiece model”, Annals of the
CIRP, Vol. 38/1, pp.417-420, 1989.
3. Kline, W. A., Devor, R.E, and Lindberg,
J. R, “The prediction of cutting forces in end milling
with application to cornering cuts”, Int. journal
of machine tool design and research, Vol.22, No.1, pp 7-22,
1982.
4. Jerard, R. B., Fussell, B. K., and
Ercan, M. T, “On-line optimization of cutting conditions
for NC machining”, 2001 NSF design, Manufacturing
& Industrial Innovation research conference, Jan 7-10,
2001, Tempra, Florida.
5. Hemmett, J. G., Fussell, B. K., and
Jerard, R. B.,”A robust and efficient approach to
federate selection for 3-axis machining” 2000 ASME
IMECE, Dynamic and control of material removal process.
6. Robert B. Jerard, Barry K. Fussell,
Mustafa T. Ercan, Jeffrey G. Hemmett, "Integration
of Geometric and Mechanistic Models of NC Machining into
an Open-Architecture Machine Tool Controller", ASME
International Mechanical Engineering Congress and Exposition
Nov. 5-10, 2000, Walt Disney World Dolphin, Orlando, FL.
7. Donggo Jang, Kwangsoo Kim, and Jungmin
Jung “Voxel-based Virtual Muti-Axis Machining”,
http://www.mcadcafe.com/MCADVision/article/VirtualMultiAxis.html
8. Yau, H., and Kue, M.,”NURBS machining
and federate adjustment for high-speed cutting complex sculptured
surfaces” Int. J. Prod. Res. Vol.39, No.1, pp21-41,
2001.
9. Piegle, L.,”The NURBS Book. Springer-Verlag
Berlin Heidelberg 1997.
10. Yan Z., ” Surface Interpolation
and Approximation”,
11. Schneider, P., "An algorithm
for automatically fitting digitized curves", GRAPHICS
GEMS, Academic Press, pp. 612-626, 1990.
* Elkeran, A. Assit. Prof. Prod. Eng.
Faculty of Engineering, Mansoura University, elkeran@mum.mans.eun.eg
**El-Baz, M.A Assit. Prof. Industrial
& System Eng. Dept. Faculty of Engineering, Zagazig
University, elbaza@yahoo.com
|