Computer-Aided Design 35 (2003) 1249–1259 www.elsevier.com/locate/cad
A parametric interpolator with confined chord errors, acceleration and deceleration for NC machining Tsehaw Yong, Ranga Narayanaswami* Industrial and Manufacturing Systems Engineering, Iowa State University, 2019 Black Engineering Building, Ames, IA 50011, USA Received 6 August 2002; received in revised form 20 February 2003; accepted 7 March 2003
Abstract Parametric interpolation has many advantages over linear interpolation in machining curves. Real time parametric interpolation research so far has addressed achieving a uniform feed rate, confined chord errors and jerk limited trajectory planning. However, simultaneous consideration of confined chord errors that respect the acceleration and deceleration capabilities of the machine has not been attempted. In this paper, the offline detection of feed rate sensitive corners is proposed. The velocity profile in these zones is planned so that chord errors are satisfied while simultaneously accommodating the machine’s acceleration and deceleration limits. Outside the zone of the feed rate sensitive corners, the feed rate is planned using the Taylor approximation. Simulation results indicate that the offline detection of feed rate sensitive corners improves parametric interpolation. For real time interpolation, the parametric curve information can be augmented with the detected feed rate sensitive corners that are stored in 2 £ 2 matrices. q 2003 Elsevier Ltd. All rights reserved. Keywords: Computer numerical control interpolators; Parametric interpolators; Chord error; Feed rate planning; Machine acceleration and deceleration limits
1. Introduction In modern CAD/CAM (Computer Aided Design/Computer Aided Manufacturing) systems, profiles for parts such as dies, aircraft models, car models, and turbine blades are usually represented in parametric form. In contrast, conventional CNC (Computer Numerical Control) machines generally support only straight line and circular interpolation. Consequently a CAM system has to segment curves into many linear and circular segments, which approximate the curve to a desired accuracy before sending it to CNC machines. Each segment, in turn, is processed by the CNC’s interpolator to generate motion commands for machining. The need for segmentation and enormous data transmission led to many undesirable weaknesses when machining a curve and may be outlined as follows: † Feed rate fluctuation due to segmentation of curves. If the length of a line segment is not an integer multiple of Vc £ Dt; where Vc is the commanded feed rate and Dt * Corresponding author. Tel.: þ 1-515-294-8730; fax: þ1-515-294-3524. E-mail address:
[email protected] (R. Narayanaswami). 0010-4485/03/$ - see front matter q 2003 Elsevier Ltd. All rights reserved. doi:10.1016/S0010-4485(03)00043-5
the sampling interval, the interpolator will either machine the first part of the linear segment with commanded feed rate Vc and then machine the remaining part with a reduced feed rate or adjust feed rate through out the entire linear segment such that the length of line segment is an integer multiple of the adjusted feed rate and sampling interval, V 0 £ Dt: Moreover, segments may be so small that the desired feed rate may not be attained. It has been suggested by Vickers and Bradley [8] on the basis of experimental measurements that the full cutting speed is achieved for only 10% of the machining time. † Excessive jerk during machining because of feed rate fluctuations, start/stop motions and directional changes in velocity. † Tradeoff between accuracy and data volume. Tight tolerances result in large data segments. Reduction in data size results in lower tolerances. † Transmission error between CAD/CAM and CNC due to large data. Look-ahead scheme have been used in many CNC machines to minimize the start/stop motions and to achieve a constant feed rate. Instead of accelerating and decelerating within each program block, the next move is anticipated as
1250
T. Yong, R. Narayanaswami / Computer-Aided Design 35 (2003) 1249–1259
Fig. 2. Speed-error controlled parametric interpolation algorithm. Fig. 1. Comparison of feed rate profiles.
shown in Fig. 1 to generate a smooth feed rate profile. However, the method does not solve the problem of having line segments that are not an integer multiple of the commanded feed rate times the sampling interval Vc £ Dt causing feed rate fluctuation. Han et al. [5] developed a high speed machining algorithm based on look-ahead interpolation to solve this problem. The algorithm alters the machining path to keep feed rate at a constant level. Although the algorithm is able to maintain a constant feed rate, it is unfavorable for many applications as it modifies the design of the product. Consequently, parametric interpolators are being developed to eliminate the weaknesses of linear/circular interpolators [2]. Parametric interpolators do not require segmentation of curves and allow uninterrupted data flow between the CAD/CAM system and CNC machines. The parametric interpolators may be classified into three types, namely, uniform interpolator, speed-controlled interpolator, and adaptive-feed rate interpolator. For the uniform interpolator, Bedi et al. [1] set the curve parameter increment, Du as a constant. The algorithm does not relate parameter step size to the time domain, making it impossible to control the feed rate. Huang and Yang [6] and Shpitalni et al. [7] developed first-order approximation interpolation algorithms using Euler and Taylor’s expansions to reduce feed rate fluctuation that occurs in uniform interpolation. Yang and Kong [11] and Yeh and Hsu [12] proposed second-order approximation algorithms to further reduce curve speed fluctuation. Nevertheless all these algorithms strive to achieve a constant feed rate without considering the outcome accuracy. Recently, Yeh and Hsu [13] proposed an adaptive-feed rate interpolation for parametric curves with confined chord errors. The adaptive-feed rate interpolation algorithm uses a circular approximation method to determine the relationship between chord error and curve speed. However, the interpolator does not take the machine’s acceleration/ deceleration capabilities into account. The interpolator might increase/reduce feed rate beyond the machine’s capability, resulting in deteriorated accuracy (overshoot or undershoot) and excessive jerks. Obtaining uniform feed rates for parametric interpolation has also been approached by reparametrizing the curve with near arc length using quintic splines (Wang and Yang [9], Wang and Wright [10]). Fleisig and Spence [4] used quintic spline interpolation for multi-axis machining. The position
as well as orientation vectors were interpolated. Erkorkmaz and Altintas [3] developed jerk limited trajectories using quintic splines. However, the chord error is not considered in all these methods. In this paper, a speed-error controlled interpolator based on offline predetermination of feed rate sensitive corners is proposed. The interpolator not only confines the chord error within a specified tolerance, but also controls the speed and acceleration/deceleration of machining during the interpolation process. The new interpolator is depicted in Fig. 2. The exact chord error of traveling to the next point will not be realized unless the next point is determined; it is therefore necessary to locate the feed rate sensitive corners of the parametric curve offline before actual machining. The offline process of locating the feed rate sensitive corners includes finding curve segments that would generate chord errors larger than the specified tolerance given a commanded feed rate Vc ; the maximum allowable reduced feed rate to machine the curve segments without exceeding the tolerance; and start points of acceleration/deceleration when going in/out from the problem curve segments. Using this algorithm, the CNC actually makes a trial run along a given parametric curve searching for upcoming transitions and recording what action to take before real machining. With the feed rate sensitive corners determined and necessary parameters recorded, the CNC knows where to start slowing down to cut the corner within specified tolerances if the cutter is approaching a sharp turn at a high feed rate. The rest of this paper is organized as follows. Section 2 describes the proposed speed-error controlled interpolation algorithm. Section 3 provides simulation results. Section 4 is a discussion and Section 5 concludes the paper.
2. Speed-error controlled parametric interpolation algorithm Today’s CNC move at very rapid speed (40 – 76 m/min) and it is not uncommon to have a CNC that generates motion commands in 0.002 s intervals. Limitation of computer processing power limits the complexity of calculations in a parametric interpolation algorithm to realize real time command generation. The newly developed speed-error controlled interpolation algorithm utilizes offline predetermination of feed rate sensitive corners to compensate this limitation. This section includes explanation of the definition of chord error, B-spline curve formulation used in
T. Yong, R. Narayanaswami / Computer-Aided Design 35 (2003) 1249–1259
1251
where, N 0i;k ðuÞ ¼
k21 k21 N ðuÞ 2 N ðuÞ uiþk21 2 ui i;k21 uiþk 2 uiþ1 iþ1;k21
The following equation prescribes how the value of ui can be calculated on the basis of the current value of ui21 and the derivatives of the current position with respect to u: By using Taylor’s expansion, the first order derivative approximation [6,7] is Fig. 3. The chord error.
the simulation, the proposed offline predetermination of feed rate sensitive corners; maximum allowable feed rate and acceleration/deceleration start point, and the proposed real time interpolator. 2.1. Chord error The chord error is the maximum distance between the chord Cðui21 Þ and Cðui Þ and arc Cðui21 Þ and Cðui Þ; as shown in Fig. 3. If feed rate were high at a relatively sharp corner (i.e. small radius of curvature) the chord error would be higher. Thus, if feed rate is held at a constant rate when machining a curve with sharp corners it will degrade accuracy. 2.2. B-spline curve formulation A B-spline curve is used as the curve formulation for the simulations in Section 3. B-spline curves are represented by the following equation CðuÞ ¼
n X
Ni;k ðuÞCi
ð1Þ
i¼0
where, CðuÞ is the coordinate vector for curve parameter u; Ci is ith control point, n the number of control points 2 1, and Ni;k ðuÞ the basis function of order k defined recursively as ( 1; ui # u # uiþ1 Ni;1 ðuÞ ¼ 0; otherwise and Ni;k ðuÞ ¼
u 2 ui uiþk 2 u N ðuÞ þ N ðuÞ uiþk 2 uiþ1 iþ1;k21 uiþk21 2 ui i;k21
where, ½ui ; …; uiþk is the knot vector, and u the curve parameter. The first order derivatives of the B-spline curve [14] which is needed to find the next curve parameter in Eq. (3) can be obtained by taking the derivative of Eq. (1) n X dCðuÞ ¼ N 0i;k ðuÞCi du i¼0
ð2Þ
V Dt þ EðDtÞ2 ui ¼ ui21 þ i21 dCðu i21 Þ du
ð3Þ
where, ui is the curve parameter at sampling time i; Vi21 is the feed rate command or the desired curve speed in a general machining process to travel from Cðui21 Þ to Cðui Þ; Dt is the sampling interval, and EðDtÞ2 is the first order approximation error. 2.3. Offline predetermination of feed rate sensitive corners In this section the algorithm for determining the feed rate sensitive corners is presented. First, the strategy for maximum allowable feed rates is discussed. Next, the acceleration and deceleration start points are determined. 2.3.1. Maximum allowable feed rates The algorithm to determine feed rate sensitive corners, and the maximum allowable feed rate to traverse the feed rate sensitive corners without exceeding the set tolerance proceeds as follows: 1. Calculate ui according to the commanded feed rate Vc ; or the reduced feed rate determined from Step 4 using Eq. (3). 2. Calculate coordinate point of curve Cðui Þ; at ui using Eq. (1). 3. Calculate chord error and test if it is larger than the set tolerance. 4. If the test in Step 3 fails, find new reduced feed rate so that the distance from previous point to current point is decreased. A bisection method is used. A lower bound and upper bound for the feed rate is maintained. The new feed rate is chosen as V ¼ ðUpperbound þ LowerboundÞ=2 and Step 1 is performed to determine the new ui : If the chord error is still larger than the tolerance, the upper bound is reduced and updated and a new feed rate is calculated. However, if the chord error is satisfied, the lower bound is increased and updated and a new feed rate is calculated. The iterations are stopped when the difference between the upper and lower bound are small. In this paper this value is taken as 5 mm/s. 5. If the feed rate found in Step 4 is not equal to Vc ; record ui and feed rate. 6. If the last point is reached, assemble descending and ascending sequences of recorded Vi and ui into matrices,
1252
T. Yong, R. Narayanaswami / Computer-Aided Design 35 (2003) 1249–1259
start point of acceleration/deceleration is as follows: 1.
Start with the first feed rate sensitive corner’s matrix found from the previous program: " # 0 u2 · · · um umþ1 · · · uk21 0 j V1
V2
···
Vm
Vmþ1
···
Vk21
Vk
for j ¼ 1; 2; … Fig. 4. Feed rate profile of a feed rate sensitive corner.
2. and add a dummy column at both ends of each matrix with feed rate equal to Vc ; otherwise proceed to Step 1. The output of the above procedure is a set of matrices, each representing a single feed rate sensitive corner. The output matrix for the jth feed rate sensitive corner is as follows Decelerating
0 V1
u2 V2
··· ···
It is important to note that it is insufficient to test only the average rate of change in feed rate V 1 2 Vm mDt . a;
Acclerating
zfflfflfflfflffl ffl}|fflfflfflfflfflffl{ zfflfflfflfflfflfflffl}|fflfflfflfflfflfflffl{i h um umþ1 Vm Vmþ1
··· ···
uk21 Vk21
0 Vk
j
The matrix denoting the feed rate sensitive corner has the following properties (Fig. 4): † Each matrix consists of two parts, the decelerating portion from index 1 to m; and accelerating portion from index m þ 1 to k: † The first and last columns are dummy columns added at the end of the program. V1 and Vk are always equal to Vc (This is not the general case, however. V1 and Vk can be lower values if a feed rate corner is nested within another. The simulation program handles these cases.); † The second column is the first point of the feed rate sensitive corner. † Column m is the point with the minimum feed rate on the feed rate sensitive corner. It is the maximum allowable feed rate to traverse the feed rate sensitive corner without exceeding the set tolerance. † Column k 2 1 is the last point of the feed rate sensitive corner. † The first row values are the curve parameters and the second row values are the corresponding reduced feed rates. 2.3.2. Acceleration/deceleration start points After locating feed rate sensitive corners and determining the maximum allowable feed rate for each feed rate sensitive corner, it is necessary to find the start point of deceleration and acceleration so that the change of feed rate from the commanded feed rate to the maximum allowable feed rate and the change of feed rate from the maximum allowable feed rate to the commanded feed rate are within the machine’s capability. The algorithm that determines the
Check if the change in feed rate between consecutive points over the sampling interval Dt for deceleration portion of the matrix is larger than machine’s deceleration rate Viþ1 2 Vi . a: Dt
3.
4.
5.
6.
7.
8.
because overall average does not guarantee the truthfulness of each individual argument. If test is true, check if distance Sp required to reduce feed rate from Vc to Viþ1 with deceleration a is larger than curve length Sa between u2 and uiþ1 : If it is true, find new deceleration start point u2 so that Sa $ Sp : A bisection method similar to the one described in Section 2.3.1 is used. If i þ 1 – m; perform Step 2 with next point. If i þ 1 ¼ m; record deceleration start point u2 and maximum allowable feed rate Vm : Check if the change in feed rate between consecutive points over Dt for the acceleration portion of the matrix is smaller than machine’s acceleration rate Viþ1 2 Vi , a: Dt If test is true, check if curve length Sd between umþ1 and uiþ1 is larger than the distance Sp required to increase feed rate from Vm to Viþ1 with acceleration a: If it is true, find new acceleration start point umþ1 so that Sp $ Sd : If i þ 1 – k; perform Step 5 with next point. If i þ 1 ¼ k; record acceleration start point, umþ1 and commanded feed rate Vc : Proceed with the next feed rate sensitive corner matrix until every matrix has been processed.
After this program, a feed rate sensitive corner matrix would be reduced to the following form " # u2 umþ1 j for j ¼ 1; 2; … Vm Vc
T. Yong, R. Narayanaswami / Computer-Aided Design 35 (2003) 1249–1259
1253
The output guarantees that the CNC machine would be able to reduce feed rate to Vm at um if it starts the deceleration at or before u2 i.e. feed rate would be low enough so that chord error is within the set tolerance. Also, with acceleration start point set at umþ1 ; the machine will not accelerate too early and exceed the chord error tolerance limit. The acceleration limits of the machine are also respected. Fig. 5 is a typical example of a feed rate profile for the speed-error controlled algorithm. Both the maximum allowable feed rate and the speed error controlled feed rate are shown.
a deceleration start point, it starts reducing the feed rate at the machine’s acceleration/deceleration rate of a; until it reaches the maximum allowable feed rate Vm : It stays there until it reaches the acceleration start point and starts accelerating at a rate a; until it reaches the commanded feed rate Vc : It then continues progressing with feed rate Vc until it encounters another feed rate sensitive corner start point or until the end of the curve. The velocity profiles are thus trapezoidal.
2.4. Interpolation
3. Simulations and results
The interpolator generates the motion command from user input parameters (curve’s control points, commanded feed rate Vc ; and tolerance); data recorded from offline calculation (acceleration/deceleration start points and maximum allowable feed rates), and machine’s specifications (sampling interval, Dt and acceleration/deceleration rate, a) in every sampling interval. Before it encounters any feed rate sensitive corner, the interpolation is identical to the speed-controlled interpolation algorithm and is based on the first order Taylor’s approximation. However, once it reaches
Simulation was performed using four interpolation methods: the uniform-interval interpolation, speed-controlled interpolation, adaptive-feed rate interpolation and the proposed speed-error controlled interpolation based on feed rate sensitive corners. All simulation programs were written in MATLAB-6 R12 and executed on a personal computer with Intel Pentium 4 CPU. Three part shapes were chosen for the simulation, a car shaped object, a shoe sole and an oval. The curves were modeled using an endpoint interpolating B-spline.
Fig. 5. Speed-error controlled feed rate profile. Commanded velocity ¼ 500 mm/s.
1254
T. Yong, R. Narayanaswami / Computer-Aided Design 35 (2003) 1249–1259
3.2. Shoe sole shaped object
The chord error tolerance was set at 0.001 mm, the sampling time was set at 0.002 s. The feed rate was varied between 200 – 1100 mm/s. The acceleration and deceleration limits were set at 7000 mm/s2 for feed rates up to 600, 12,000 mm/s2 for feed rates between 600 –750 mm/s and 20,000 mm/s2 for speeds between 800– 1000 mm/s and 30,000 mm/s2 for a feed rate of 1100 mm/s.
Machining of a shoe sole shaped object was simulated for feed rates in the range of 200– 750 mm/s. Fig. 8 shows feed rate sensitive corners and velocity profiles for a commanded feed rate of 300 and 700 mm/s. Table 2 summarizes the simulation results.
3.1. Car shaped object
3.3. Oval shaped object
Machining of a car shaped object was simulated for feed rates in the range of 200 –750 mm/s. Fig. 6(a) and (b) show feed rate sensitive corners at feed rates of 500 and 700 mm/s. The ‘K’ symbol marks the beginning of the corner and ‘W’ marks the end of the corner, with the markings being made in a counterclockwise sense. Fig. 6(c) and (d) show the feed rate variation with the proposed speed-error interpolator. The minimum allowed feed rate is determined first and this profile is adjusted to satisfy the acceleration and deceleration limits. Fig. 7(a) shows the chord error variation and Fig. 7(b) shows the acceleration and deceleration for the adaptive and speed-error interpolators for a commanded feed rate of 700 mm/s. It can be seen that while the adaptive interpolator does well on the chord errors, the acceleration and deceleration values are not satisfactory. Table 1 summarizes the simulation results for the car shaped object.
Machining of an oval shaped object was simulated for feed rates in the range of 500– 1100 mm/s. Fig. 9 shows the simulation results for a commanded feed rate of 700 and 1100 mm/s. Fig. 9(a) and (b) show the feed rate sensitive corners. It can be seen that the curve length of the feed rate sensitive corners is increased with increasing feed rate. Fig. 9(c) and (d) shows the feed rate variation with the proposed speed-error interpolator. Table 3 summarizes the simulation results for the oval shaped object.
4. Discussion As summarized in Tables 1– 3, the proposed speed-error algorithm achieves the desired tolerance while confined to the machine’s acceleration/deceleration rate in all cases (The acceleration and deceleration can exceed the set limits
Fig. 6. Machining simulation for car shaped object. (a) Feed rate sensitive corners V ¼ 500 mm/s. (b) Feed rate sensitive corners V ¼ 700 mm/s. (c) Velocity profile V ¼ 500 mm/s. (d) Velocity profile V ¼ 700 mm/s.
T. Yong, R. Narayanaswami / Computer-Aided Design 35 (2003) 1249–1259
1255
Fig. 7. Chord error (a) and acceleration (b) for machining simulation of car shaped object V ¼ 700 mm/s.
slightly because of the Taylor approximation in computing the next parameter value.). Results in terms of chord errors show that the adaptive interpolation algorithm and the proposed speed-error algorithm perform well. At higher feed rates the chord error for the adaptive interpolation algorithm can exceed set limits. Simulations also show that feed rate of uniform-interval (constant Du) interpolation fluctuates without restraint. The acceleration/deceleration rate of adaptive-feed rate interpolation also fluctuates without restraint. 1. For the constant Du interpolation, the value of Du is chosen so that the machining time matches
the speed-error interpolation for commanded feed rate of 500 mm/s in Tables 1 and 2 and 500, 700 mm/s in Table 3. For the Du values in Tables 1 and 2 the chord error is not satisfied, the feed rates fluctuate over a wide margin and reach unattainable values (1499 mm/s, for example). The acceleration and deceleration rates are also high. In Table 3 where the Du is much lower, the chord error is satisfied, but the feed rates reach large values (1966 mm/s, for example), and the acceleration/deceleration rates are also higher. Therefore, the uniform-interval (constant Du) B-spline interpolation is not suitable for machining because of its uncontrollable feed rate.
1256
T. Yong, R. Narayanaswami / Computer-Aided Design 35 (2003) 1249–1259
Table 1 Simulation results for car shaped object Measurement, F (mm/s)
Max chord error (mm)
Curve speed (mm/s) Max
Max acc/dec (mm/s2)
Machining time (s)
Min
Constant Du
Du ¼ 1=872
0.0013
1499.50
197.53
Speed controlled interpolation
200 300 400 500 600 700 750
0.0012 0.0026 0.0047 0.0073 0.0106 0.0144 0.0166
200.94 302.11 403.76 505.87 608.47 711.54 763.29
199.07 297.92 396.31 494.25 591.73 688.76 737.11
Adaptive feed rate interpolation
200 300 400 500 600 700 750
0.0010 0.0010 0.0010 0.0011 0.0011 0.0011 0.0011
200.94 302.09 403.72 505.83 608.42 710.23 760.89
185.09 185.09 185.09 185.09 185.09 185.09 185.09
1441 5171 9521 15528 22205 37518 40251
3.488 2.464 1.980 1.700 1.554 1.470 1.442
Speed-error interpolation
200 300 400 500 600 700 750
0.0010 0.0010 0.0010 0.0010 0.0010 0.0010 0.0010
200.94 302.08 403.72 505.83 608.42 710.18 760.38
184.56 183.92 184.38 184.51 183.92 183.78 184.51
1389 4043 4043 4042 7093 10191 12327
3.492 2.488 2.008 1.744 1.622 1.558 1.544
14149 21.83 71.41 163.51 327.62 555.01 878.84 1006.25
1.746 3.480 2.320 1.740 1.392 1.160 0.994 0.928
Fig. 8. Machining simulation for shoe sole shaped object. (a) Feed rate sensitive corners V ¼ 300 mm/s. (b) Feed rate sensitive corners V ¼ 700 mm/s. (c) Velocity profile V ¼ 300 mm/s. (d) Velocity profile V ¼ 700 mm/s.
T. Yong, R. Narayanaswami / Computer-Aided Design 35 (2003) 1249–1259
1257
Table 2 Simulation results for shoe sole shaped object Measurement, F (mm/s)
Max chord error (mm)
Curve speed (mm/s) Max
Min
Max acc/dec (mm/s2)
Machining time (s)
Constant Du Speed controlled interpolation
Du ¼ 1=744 200 300 400 500 600 700 800
0.0019 0.0020 0.0045 0.0080 0.0125 0.0179 0.0240 0.0311
1083.90 201.88 304.22 407.52 511.58 616.75 722.77 830.38
122.79 197.36 294.12 389.63 483.92 577.03 668.98 760.05
10136 161 542 1259 2470 4221 6384 9330
1.490 2.680 1.790 1.344 1.074 0.896 0.768 0.672
Adaptive feed rate interpolation
200 300 400 500 600 700 800
0.0010 0.0010 0.0010 0.0010 0.0010 0.0011 0.0011
201.87 302.39 402.58 502.61 603.68 705.01 806.55
139.25 139.24 139.29 139.24 139.26 139.24 139.27
5089 7546 10666 10361 12924 18709 30218
2.704 1.932 1.596 1.406 1.298 1.234 1.190
Speed-error interpolation
200 300 400 500 600 700 800
0.0010 0.0010 0.0010 0.0010 0.0010 0.0010 0.0010
201.87 302.39 402.36 502.55 603.68 705.01 806.55
137.90 137.05 137.80 137.40 137.02 138.50 137.78
4103 4075 4053 4052 4067 7054 12084
2.708 1.976 1.662 1.488 1.410 1.378 1.388
Fig. 9. Machining simulation for oval shaped object. (a) Feed rate sensitive corners V ¼ 700 mm/s. (b) Feed rate sensitive corners V ¼ 1100 mm/s. (c) Velocity profile V ¼ 700 mm/s. (d) Velocity profile V ¼ 1100 mm/s.
1258
T. Yong, R. Narayanaswami / Computer-Aided Design 35 (2003) 1249–1259
Table 3 Simulation results for oval shaped object Measurement, F (mm/s)
Max chord error (mm)
Curve speed (mm/s) Max
Max acc/dec (mm/s2)
Machining time (s)
Min
Constant Du
Du ¼ 1=2154 Du ¼ 1=1746
0.0004 0.0006
1966.00 2423.04
219.36 270.62
8201 12464
4.310 3.494
Speed controlled interpolation
500 600 700 800 900 1000 1100
0.0016 0.0023 0.0031 0.0041 0.0051 0.0064 0.0077
501.91 602.75 703.75 804.90 906.21 1007.67 1109.29
498.11 597.28 696.30 795.18 893.01 992.48 1090.91
26 44 70 105 150 206 274
4.198 3.500 3.000 2.620 2.334 2.100 1.910
Adaptive feed rate interpolation
500 600 700 800 900 1000 1100
0.0010 0.0010 0.0011 0.0011 0.0011 0.0011 0.0012
501.91 602.75 703.74 804.69 905.56 1006.42 1107.30
396.38 396.42 396.34 396.37 396.49 396.37 396.41
4192 9347 17088 27325 41579 59009 79145
4.278 3.712 3.340 3.076 2.880 2.730 2.616
Speed-error interpolation
500 600 700 800 900 1000 1100
0.0010 0.0010 0.0010 0.0010 0.0010 0.0010 0.0010
501.91 602.75 703.73 804.60 905.50 1006.46 1107.22
395.63 395.24 396.68 395.41 395.61 395.300 396.27
3915 4008 7007 12007 14006 20061 30064
4.308 3.816 3.492 3.280 3.132 3.020 2.956
2. The speed-controlled interpolator does quite well in terms of regulating the feed rate. The acceleration and deceleration rates are also considerably low. However, the chord errors are high. It can be seen from Table 2 that chord error is 0.002 mm for a commanded feed rate of only 200 mm/s. The chord error progressively increases as the commanded feed rate is increased (0.0311 mm for example). This is due to the constant feed rate used in the speed-controlled algorithm along the entire curve. Therefore, the speed-controlled interpolation would not be suitable for high-speed machining because of its large chord error. 3. Adaptive-feed rate interpolation improves the accuracy significantly compared to speed-controlled interpolation. Results in Tables 1 – 3 show that the chord error is satisfied for moderate feed rates and is slightly exceeded at high feed rates. However, the acceleration/deceleration rates for high feed rates exceed the pre-set rate. For example, in Table 1 at feed rates of 500 and 600 mm/s the acceleration and deceleration rates are 15,528 and 22,205 mm/s2, which are much beyond the pre-set rates. At speeds of 700 and 750 mm/s the acceleration and deceleration rates are 37,518 and 40,251 mm/s2. Thus, the problem is further exacerbated at high speeds. The inertia error of unattainable accelerations and decelerations is not
shown in the simulation results; hence, lower accuracy than the simulation results would be expected during real machining. Therefore, the adaptive-feed rate interpolation would not be suitable for high-speed machining because of its uncontrollable acceleration/ deceleration rate. 4. The proposed speed-error controlled algorithm achieves high accuracy while varying feed rate at an acceptable acceleration/deceleration rate as seen in Tables 1 – 3. Results show that the feed rate is reduced at feed rate sensitive corners. The chord errors are within the preset tolerance. The number of feed rate sensitive corners and the curve length of the feed rate sensitive corners increase with increasing commanded feed rate. For example in the shoe sole shaped example there are no feed rate sensitive corners on the lower side at a commanded feed rate of 300 mm/s (Fig. 8(a)), whereas feed rate sensitive corners appear on the lower side at a commanded feed rate of 700 mm/s (Fig. 8(b)). The acceleration and deceleration limits are respected as shown in Tables 1– 3. With the proposed speed-error controlled interpolation, although the machining time increases because of the reduced feed rate, better machining quality and precision are achieved even under high speed machining.
T. Yong, R. Narayanaswami / Computer-Aided Design 35 (2003) 1249–1259
5. Conclusion Parametric interpolation is preferred over linear interpolation as it improves machining performance. With parametric interpolation, the feed rate is better controlled and the chord errors can also be controlled. This paper has improved on previous research in parametric interpolation. The new approach is based on offline detection of feed rate sensitive corners. Using this approach, chord errors are confined to predetermined tolerances. The acceleration and deceleration capabilities of the CNC machine tool are also incorporated so that there are no overshoot and undershoot errors, which can either lead to gouging or leave material uncut. In the developed speed-error controlled interpolator, the minimum allowable feed rate for each feed rate sensitive corner is determined. Based on this, the starting parameter value for deceleration and the starting parameter value for the beginning of acceleration are computed. A simple 2 £ 2 matrix stores the starting parameter value for deceleration and the corresponding minimum allowable feed rate Vm for the corner and the starting value for acceleration and the nominal commanded feed rate Vc : This matrix for each feed rate sensitive corner and the usual curve parameters may be passed on to a real time parametric interpolator for efficient parametric interpolation.
1259
[3] Erkorkmaz K, Altintas Y. High speed CNC system design: part I: jerk limited trajectory generation and quintic spline interpolation. Int J Mach Tools Manufact 2001;41:1323 –45. [4] Fleisig RV, Spence AD. A constant feed and reduced angular acceleration interpolation algorithm for multi-axis machining. Comput-Aided Des 2001;33:1–15. [5] Han GC, Kim DI, Kim HG, Nam K, Choi BK, Kim SK. A high speed machining algorithm for CNC machine tools. IECON ’99 Proceedings of the 25th Annual Conference of the IEEE; 1999. p. 1493–9 [6] Huang JT, Yang DCH. A generalized interpolator for command generation of parametric curves in computer controlled machines. ASME Japan/USA Symposium on Flexible Automation; 1992 [7] Shpitalni M, Koren Y, Lo CC. Realtime curve interpolators. ComputAided Des 1994;26(11):832– 8. [8] Vickers GW, Bradley C. Curved surface machining through circular arc interpolation. Comput Ind 1992;19:329–37. [9] Wang FC, Yang DCH. Nearly arc-length parameterized quintic-spline interpolation for precision machining. Comput-Aided Des 1993; 25(5):281– 8. [10] Wang FC, Wright PK. Open architecture controllers for machine tools. Part 2. A real time quintic interpolator. J Manufact Sci Engng 1998;120(2):425–32. [11] Yang DCH, Kong T. Parametric interpolator versus linear interpolator for precision CNC machining. Comput-Aided Des 1994;26(3): 225–33. [12] Yeh SS, Hsu PL. The speed-controlled interpolator for machining parametric curves. Comput-Aided Des 1999;31:349–57. [13] Yeh SS, Hsu PL. Adaptive-feed rate interpolation for parametric curves with a confined chord error. Comput-Aided Des 2002;34: 229–37. [14] Zhang QG, Greenway RB. Development and implementation of a NURBS curve motion interpolator. Robot Comput-Integrat Manufact 1998;14:27 –36.
Acknowledgements The authors gratefully acknowledge the financial support provided under NSF Grant No. DMI 9970083. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the authors and do not necessarily reflect the views of the National Science Foundation.
References [1] Bedi S, Ali I, Quan N. Advanced interpolation techniques for CNC machines. ASME J Engng Ind 1993;115:329–36. [2] Chou JJ, Yang DCH. Command generation for three-axis CNC machining. J Engng Ind 1991;113:305–10.
Tsehaw Yong is a graduate student in the department of Industrial and Manufacturing Systems Engineering at Iowa State University. His research interests are in computer-aided design and manufacturing. He holds a BS from Iowa State University in Industrial Engineering.
Ranga Narayanaswami is an Assistant Professor in the department of Industrial and Manufacturing Systems Engineering at Iowa State University. His research interests are in computer-aided design, geometric modeling, multiresolution methods in CAD/CAM and intelligent CAD systems. He holds a PhD in Mechanical Engineering from the University of California at Berkeley and a BS from the Indian Institute of Technology at Madras.