Curvature-continuous Sharp Corner Smoothing Scheme for Cartesian Motion Systems Burak Sencer
Eiji Shamoto
Nagoya University Graduate School of Engineering Ultra-precision Engineering Laboratory Nagoya, JAPAN
[email protected]
Nagoya University Graduate School of Engineering Ultra-precision Engineering Laboratory Nagoya, JAPAN
[email protected]
Abstract— In general practice, a geometric tool-path for CNC (computer numerical controlled) machine tools or NC positioning systems is mainly composed of linear motion segments, or so called the G1 commands. This approach exhibits serious limitations in terms of achieving the desired part geometry and productivity in high-speed machining. Velocity and acceleration discontinuities occur at the junction points of consecutive segments if they are not blended continuously. To solve this problem, a corner smoothing algorithm is proposed in this paper, which fits minimum curvature quintic B-splines to blend the adjacent straight lines together. The proposed transition scheme ensures C2 continuity transitions and a minimum curvature geometry delivering the fastest cycle time without violating the axis acceleration limits. The cornering error is controlled analytically allowing the user to set the desired cornering tolerance. At last, a limited bell-shaped acceleration profile is generated to realize smooth feed motion. Keywords—trajectory smoothing
I.
generation;
servo
system;
corner-
INTRODUCTION
With recent advances in part design and manufacturing technologies, CAD (Computer Aided Design) systems are utilized to design complex geometries compromised of parametric curves such a smooth NURBS or B-splines [1]. However, vast majority of industrial motion control systems do not accept reference tool-paths defined by high order parametric curves. Instead, they interpret linear “point-topoint” motion commands, or so called the G1 blocks. Interpolating along those linear segments exhibits serious limitations in terms of achieving the desired productivity. The motion system has to stop between each linear interpolation block leading to longer cycle time. On the other hand, if the linear segments are travelled in continuous feed motion, there will be severe discontinuities in velocity and acceleration at the junction points since linear segments only ensure position continuity. This may excite motion systems’ lightly damped structural modes, cause tracking errors, both of which severely deteriorate the positioning quality [2]. In an attempt to generate smooth continuous motion along series of discrete linear motion commands, geometric curve fitting methods have been proposed. Advanced servo systems
utilize approximate or exact spline interpolation techniques to generate continuous trajectories from batch of linear point-topoint motion commands [2,3]. There exist several shortcomings when these methods are applied. Firstly, wiggles occur on the fitted curve if linear motion segments are short and densely placed. To overcome this, splines are fitted approximately utilizing least squares techniques [4]. In this case, it becomes cumbersome to control and evaluate the exact fitting error. “Corner smoothing” or so-called “corner rounding” techniques are employed to generate continuous trajectories and achieve non-stop motion. In these approaches parametric curves or circle arcs are utilized to blend adjacent linear motion segments together. These techniques are computationally less stringent and lead to more efficient real-time implementation. Yutkowitz and Chester [5] utilized two 4th order polynomials to realize corner blending for 3-axis motion systems. This method delivers an optimally parameterized cornering geometry at the expense of significant computational load. Pateloup et al. [6] proposed a 2-D path-smoothing method, which employed cubic B-splines with six control points to round pocket profiles comprising sequences of straight lines and circle arcs. Similarly, Zhang et.al. [7] proposed a more general method utilizing cubic B-splines. Others [8,9] utilized transition methods using parametric quintic spline curves to achieve acceleration continuous feed motion. However, the curvature of the blend has not been considered so far, which is detrimental for high-speed cornering. This paper presents a computationally efficient curvature optimal corner-smoothing algorithm for Cartesian motion systems. The proposed corner-smoothing algorithm utilizes quintic (5th order) Bezier splines to ensure C2 continuous motion transition between linear segments. The spline geometry is optimized to deliver minimum curvature and realizes rapid cornering speed while using less acceleration and torque capacities of the axes in motion. A quadratic jerk limited tangential velocity profile is designed to deliver smooth feed motion along the path composed of linear and Bezier segments. The overall feedrate profile is optimized to generate the minimum time optimal feed motion for long tool-paths compromised of larger number of point-to-point motion blocks.
a) Quintic Bezier spline
b) Bezier blend
dB(u) = 5(1− u)4 (P1 − P0 ) + 20u(1− u)3 (P2 − P1 ) + du 30u 2 (u − 1)2 (P3 − P2 ) + 20u 3 (1− u)(P4 − P3 ) + 5u 4 (P5 − P4 )
Bu =
Ptrans Control Points
d
P2
Buu
P1 P0
Bu
Quintic Bezier Spline B(u)
y
= Cornering Tolerance
P2
P3
P1
P4 P5
P0 c
ts
x
d 2 B(u) 3 Buu = = 20 (1− u ) (P2 − 2P1 + P0 ) + 2 du
P3
c
P4
Bezier Blend
60u (1− t ) (P3 − 2P4 + P5 ) 2
P5
Evaluating the profiles from (2) at the start and end of the Bezier curve reveals
te P end
Pstart
Fig. 1. Quintic Beizer spline blending in sharp corners
II.
(2)
SMOOTHENING SHARP CORNERS
The proposed cornering technique consist of smoothing out sharp transitions in the tool-path with blending splines, which allows corners to be turned while maintaining a continuous feed motion profile. A quintic Bezier spline has been chosen as the basis curve for its smoothness and being able to satisfy higher order continuity constraints.
B u=0 = P0
B u=1 = P5
Bu u=0 = 5(P1 - P0 )
Bu u=1 = 5(P5 - P4 )
(3)
Buu u=0 = 20(P2 - 2P1 + P0 ) Buu u=1 = 20(P5 - 2P4 + P3 ) As observed from (3) P0 and P5 define the junction points of the Bezier blend to the linear sections. In this design they are placed at Euclidian distance, 2c+d away from the transition, i.e. the corner point Ptrans:
P0 = Ptrans − (2c + d)t s , P5 = Ptrans + (2c + d)t e
(4)
A. Quintic Bezier Spline Toolpath Generation Two consecutive linear segments are blended with a Bezier spline as shown in Fig. 1a to deliver a smooth transition of the feed motion. A quintic Bezier segment in Cartesian space can be defined parametrically as:
where c and d will be used as design variables to control the blend geometry. In order to ensure tangent continuity at both ends of the Bezier, P1 and P4 must be placed along ts and te at
⎧(1− u ) P0 + 5u (1− u ) P1 + ⎡ Bx (u) ⎤ ⎪⎪ ⎢ ⎥ 3 2 2 3 ⎢ Bx (u) ⎥ = B(u) = ⎨10u ( u − 1) P2 + 10u (1− u ) P3 ⎪ ⎢ B (u) ⎥ 4 5 ⎣ x ⎦ ⎪⎩+5u (1− u ) P4 + u P5
Next, in order to satisfy the curvature continuity, in other words to impose zero curvature at the junction points, Buu u=0
5
4
⎫ ⎪⎪ ⎬ ⎪ ⎪⎭
(1)
where Bx, By, and Bz are the axis position polynomials for the Bezier spline segment. P0, P1,…, P5 are the vectors containing the control points of each Cartesian axis coordinate, and u is the Bezier curve parameter that is bounded between 0 and 1, u ∈[0,1] . B. Parameterization of the Quintic Bezier Blend The quintic Bezier blend is applied in transition of 2 pointto-point linear motion blocks as shown in Fig. 1b. Pstart is the starting point of the kth block. Ptrans is the ending point, which becomes the transition point to the (k+1)th block. θ is the cornering angle. In blending two consecutive linear blocks, G2 continuity is desired, which means that two continuous segments share the same tangent and normal directions at the junction points. This allows realization of acceleration continuous C2 motion. In the proposed corner-smoothing algorithm, control points of the Bezier spline are determined in such a way such that the 1st and 2nd derivative continuity at junction points are preserved.
t s and t e are the unit tangent vectors at the start and end points of the blend (See Fig1b). The unit normal vectors at the junction points are zero since a line has zero curvature. Differentiating (1) with respect to the spline parameter u gives the 1st and 2nd derivative profiles of the quintic Bezier,
P1 = P0 + ct s , P4 = P5 − ct e
(5)
and Buu u=1 must be zero. According to (3), this can be achieved by satisfying
Buu u=0 = 20(P2 - 2P1 + P0 ) = 0, Buu u=1 = 20(P5 - 2P4 + P3 ) = 0 → P1 − P0 = P2 − P1
→ P4 − P5 = P3 − P4
(6)
Substituting (4) into (6) yields
P0 + 2ct s = P2 , P5 − 2ct e = P3 ,
(7)
which shows that P1 and P2 must be placed collinear with P0, and P3 and P4 with P5, respectively. Utilizing (4),(5) and (7) control points of the Bezier blend that is symmetric with respect to the angular bisector of the two lines Pstart Ptrans and
Ptrans Pend are assigned as: P0 = Ptrans − (2c + d)t s P5 = Ptrans + (2c + d)t e P1 = P0 + ct s P4 = P5 − ct s P2 = P0 + 2ct s
(8)
P3 = P5 − 2ct s
C. Curvature Optimization Curvature is solely a function of the path geometry, and it functions as a scaling factor relating the path velocity to axis accelerations [3]. Thus, the objective in fitting the Bezier blend
is to minimize the curvature so that torque limits of the drives are not exceeded while cornering at high speed.
for fast processing. The relationship between cornering angle and the optimal r r(θ ) = c / d is approximately by:
a) Shape of the Bezier Blend for various c/d ratios
Ptrans
y
Ptrans d
d
x
c / d = r(θ ) =
Ptrans
c
D. Control of the Cornering Errors The corner-smoothing algorithm introduces geometric errors, ε around the corner (See Fig.1b), which has to be limited by a given tolerance so that the dimensional integrity of the produced part is ensured. The Bezier blend is symmetric, and the maximum deviation from original path occurs in the middle at u=0.5,
c c
c
c
c/d=0.2
c/d=0.6
c/d=0.9
b) Change in the Curvature for various c/d ratios Curvature( )
5
c/d=0.2
4
c/d=0.9
c/d=0.6
3
ε = Ptrans − B u=0.5
2 1 0
0
1
Bezier Parameter
Curvature 1/mm
Minimum curvature point
1 0.8
4
c=
0.6 3
0.4
2
0.2
1 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8
0
0
50 100 Corner Angle
150
Fig. 3. Optimal Bezier parameter for minimum curvature
Given by (8), the proposed Bezier blend is controlled only by the linear lengths, c and d. The effect of c and d are shown in Fig 2. As illustrated, by increasing d, control points of the Bezier are pushed away from corner, Ptrans, leading to a larger fitting error and in return a smaller cornering radius. On the other hand, increasing c leads to smaller fitting errors but in contrary larger curvature supreme. The optimal ratio between c and d needs to be computed to fit a Bezier blend that is suitable for high speed cornering. Since the curvature can only be calculated once the Bezier is fitted, a practical approach is pursued to eliminate costly iterative optimization as follows. The total blending distance 2c+d is simply normalized to unit length as:
2c + d = 1
7r(θ ) + 16 d ts + te 32
(12)
Further simplification of (12) allows computation of curvature optimal Bezier parameters for a given cornering tolerance, ε at the corner angle of θ as:
1.2
6 5
ε=
with the Cornering Angle
(11)
The midpoint of the Bezier is evaluated from (1), (8), and r(θ ) = c / d is plugged from (10) as:
Fig. 2. Change in the Bezier curvature due to control point allocation a) Change of Curvature Along Bezier (Corner Angle 600)
(10)
and shown in Fig.3b along a wide range of cornering angles.
d c
1 θ 0.9927 2.0769
(9)
and the effect of the ratio between c and d is considered. At first, the corner angle θ is fixed and c/d is interpolated in the range of c / d = 0.1...30 . Curvature is computed along the Bezier, at N>100 discrete points proportional to the spline parameter u ∈[0,1] , and its maxima is detected. Fig. 3a shows the change of curvature minima with c/d ratio at a cornering angle of 60[deg]. The process is repeated for a range of cornering angles θ = 0...π and a look-up table is constructed
32ε r 32ε ,d = (13) ( 7r + 16 ) 2 + 2 cos(θ ) ( 7r + 16 ) 2 + 2 cos(θ )
By utilizing (13), actual values of the c and d are obtained to attain minimum curvature Bezier blend that respects the desired fitting tolerance. Please note that the total blending distance, 2c+d is subtracted from the length of the original point-to-point block, and the remaining is left for linear interpolation. In case if the original block length is shorter than the blending distance all the block length may be utilized. III.
FEED MOTION PLANNING
The objective is to modulate the path speed in such a way that the feedrate is reduced on the fly at high curvature sections such as along Bezier segments, and again raised at linear sections to reach the programmed speed. The quadratic jerk velocity profile shown in Fig. 4 is utilized in this work to generate a smooth feed motion. The proposed strategy bases on seamlessly stitching the constant feed segments of each block together with cubic acceleration sections so that an optimized feedrate for each segment may be achieved. As shown in Fig. 4, a general quadratic jerk limited motion profile has 7 phases compromised of 3 acceleration regions ①③ , followed by a constant velocity region ④ and consecutively deceleration regions, ⑤ − ⑦ . During time intervals T1, T2 and T3 the feed motion accelerates from a starting feed, fs to the desired cruise feed F. The motion cruises for duration of T4. At last, within the durations T5 ,T6 and T7 , speed decreases to reach the ending feed value, fe. The acceleration, deceleration, and jerk magnitudes that govern transitions in feedrate have been denoted as Amax=Dmax, Jmax respectively. Analytical expression to compute the durations of
s
Feedrate Acceleration
f3e
f2e
fs
t3
t5 t6
time t7 t
f5e
f7e=fe
t4 F f4e
f1e
f6e
T1
T2
T3
T4
T5 T6 T7
1
2
3
4
5
s
Amax a1e a2e a3e
s
a4e
Jmax
7
a7e time t a5e
Jmax
6
time t
a6e
Jmax
Jmax time t
Fig. 4. Jerk limited bell shaped acceleration profile
A. Determination of Maximum Cornering Speed On a conventional tool-path for Cartesian motion systems, each block has a desired travel speed set by the user. When consecutive linear segments are blended with Bezier splines, axis acceleration limits may be violated if the curved sections were also to be traveled at the same speed of the associated block. The highest cruise speed along a Bezier blend needs to be determined considering physical capabilities of the machine tool. The acceleration profile for each axis while traveling along the Bezier curve can be evaluated by applying chain rule on (1):
⎡ d 2 x / dt 2 ⎢ ⎢ d 2 y / dt 2 ⎣
⎤ ⎡a ⎤ ⎥ = ⎢ x ⎥ = (Buuu s2 + Buu ss )s 2 + Buu s s ⎥ ⎢ ay ⎥ ⎦ ⎦ ⎣
(14)
s where s is the path displacement, s is the path velocity and is the acceleration. Considering that the Bezier section is traveled at a constant speed, the path acceleration is set to zero, s = 0 . u s = du / ds and u ss = d 2u / ds 2 relate arc displacement to the Bezier parameter increment, which can simply be computed along the Bezier once it is fitted. Axis acceleration limits Ax,max and Ay,max are determined by the user based on the limits of the servo system. They are plugged into (14) and the maximum cornering velocity scorner is computed as:
u + Bu,x 2 s
Ay,max u s2 + Bu,y
⎞ ⎫ ⎟ ,⎪ u ss ⎠ ⎪⎪ ⎬ ⎞ ⎪ ⎟ ⎪ u ss ⎠ ⎪ ⎭
(15)
B. Feedrate Optimization When the linear blocks are joined with Bezier blends, they can only be traveled at a much lower speed dictated by (15) then their originally programmed speed. The motion system must slow down when approaching to a Bezier segment, and consecutively accelerate to the programmed speed of the next block. Speed transitions across segments are achieved through the jerk limited acceleration profile presented previously, while satisfying kinematic compatibility conditions. As feed transitions spread across segments, kinematic compatibility of the feed profile is affected by its two adjacent segments. Shown in Fig. 5, a high-speed block (Fk) may be neighbored by 2 low speed segments (Fk-1 and Fk+1), which could be either linear or Bezier segments. In this case, all the acceleration transition must be planned within the high-speed section. In other words, to avoid violating velocity limits of the neighboring blocks, the feed must be reduced before entering the consecutive blocks. The critical kinematic compatibility condition is the total travel distance. In other words, there must be enough travel distance within a block to generate the desired acceleration and deceleration sections and plan a smooth feed profile. a) High Feed Segment Connected b) Low Feed Segment Connected to Low Feed Segments to High Feed Segments
Feedrate
t2
t1
Ax,max
Fk Fk-1
Fk-1 Fk+1
Fk+1 Fk
Acceleration
s0 0
scorner
s2e s3e
s1e
s
Jerk
s0 + L
s s4e s5e 6e
⎧ ⎛ ⎪ min ⎜ ⎪⎪u∈[ 0..1] ⎝ Buu,x = min ⎨ ⎛ ⎪ min ⎜ ⎪u∈ [ 0..1] B ⎝ uu,y ⎪⎩
Jerk
Travel Distance
individual segments with respect the kinematic limits can be found in [10].
time
time
Fig. 5. Planning of the feedrate between consequtive segments
Smooth and continuous motion is achievable if consecutive segments satisfy compatibility conditions. In simple cases, a forward traversal search algorithm can be utilized where the compatibility of the current feedrate with its neighboring segments is checked from the start to the end of the motion program. If a violation occurs, feedrate of the current block is reduced until it satisfies the compatibility condition with its neighboring blocks. However, in a large-scale tool-path compromised of many blocks, a compatible solution may not be acquired given the commanded feed, acceleration, and jerk
values. In such circumstances, violations can only be corrected by tracing back the feedrate through the planned feed values and perform adjustment to the earlier NC blocks to yield a kinematically compatible feed profile for the current trajectory segment [11]. Hence, a bi-directional search algorithm is used to efficiently generate a kinematically compatible feed profile. The method bases on an iterative optimization scheme of the overall feed profile while checking for the compatibility conditions searching from the start to the end, and interchangeably from the end to the beginning of the tool-path. An example result of the algorithm is shown in Fig. 6 where feedrate is scheduled along a tool-path with 4 linear and 3 Bezier segments. a) Path Velocity [mm/sec]
Feed Limit 100 50 Bezier Sections 0 [mm/sec ]
b) Path Acceleration Limit 0
[mm/sec3]
Limit
1 0
c) Path Jerk x 105
0
Limit
0.1
0.3
0.4
0.5
Limit time[sec]
Fig. 6. Feedrate profile scheduled along a Bezier blended tool-path.
10[mm]
Cornering Tolerance
G01 Points ( )
Starfish Corner Smoothing
y
Motion Start
x
Linear (G01) Interpolation
Fig. 7. Tool-path compromised of various G01 linear segments.
IV.
SIMULATION RESULTS
A realistic case study is presented here to simulate the proposed sharp corner-smoothing algorithm on a complex toolpath shown in Fig. 7. It consists of 126 linear segments lengths varying from 3[mm] to 13[mm]. The desired travel speed for each line is F=100[mm/sec], maximum path acceleration is 2500[mm/sec2] and jerk is set to be maximum 200000[mm/sec3]. Identical acceleration limits are set also for X and Y-axes. If the proposed corner smoothing technique is not applied on this motion trajectory, motion is commanded to perform an instantaneous stop at the end of each single segment. The jerk limited acceleration profile is utilized to plan the feed motion along each linear segment, and the “point-to-point” trajectory is simulated. The resultant tangential feed profile and axis kinematics are shown in Fig. 8. The tangential speed (feed) profile is shown in Fig. 8a. As shown, the servo system undergoes instantaneous stops at the junction points. Please note from Fig. 8b that the path speed only reaches the commanded feed at longer linear segments due to the limited acceleration of the drives. Also, since the tool-path has zero curvature, axis accelerations and velocities never exceed given bounds. The total travel time is computed as 13.39[sec]. Next, the proposed corner smoothing technique is simulated. The cornering tolerance is selected as ε =100[micron], and the tool-path shown in Fig. 7 is smoothened. Since the tool-path is blended with 5th order Bezier, it is G2 continuous and can be traveled at a constant speed without stopping. The reference path speed is shown in in Fig. 9a. The dashed line indicates the constant feedrate profile. As observed, the path speed is constant along the entire tool-path and the total cycle time can be reduced down to 5.8[sec]. This cycle time is less than half of the conventional case. However, when the tool-path is traveled at constant feedrate, axis acceleration limits are exceeded (see dashed lines in Fig. 9d and e). This is simply due to non-zero curvature at Bezier blends. The path speed needs to be reduced to avoid saturation of the axis acceleration limits. Finally, the tool-path is blended with the curvature optimal Bezier splines, and the feedrate is scheduled as proposed in this work. Scheduling of the feedrate is presented in Section IIIB. The method is applied, and results are shown in Fig. 9. Firstly, the optimized tangential feed profile is presented in Fig. 9a by the solid line. As shown, the speed is properly lowered along Bezier blend sections so that the axis acceleration limits are respected. Particularly, the feedrate is lowest at the 4 sharp corners, i.e. legs of the Starfish. It is then increased along the linear sections to minimize the cycle time. Solid lines in Fig. 9d and e show that the axis acceleration limits are respected. The total cycle time is computed to be 6.64[sec]. This cycle time is slightly higher than the “constant speed” case since the feedrate is lowered at Bezier sections. Nevertheless, it is almost half of the full stop case. This proves that the developed system effectively schedules the feedrate to achieve highest productivity in high performance motion stages while utilizing physical limits of the machines.
V.
[4]
CONCLUSIONS
A practical corner-smoothing algorithm is presented for continuous feed-motion generation on Cartesian positioning systems. The proposed Bezier blending technique delivers minimum curvature motion for high-speed cornering and the formulation allows incorporation of cornering tolerances in the spline blend design. Combined with an efficient feedrate scheduling algorithm, the proposed system allows accurate and fast feed motion for Cartesian positioning systems. a) Feedrate Profile Along Discrete Tool-path (G01 Lines) Limit
100
[mm/sec]
80 60 40 20 0 0
2
4
6
8 10 Zoom
13.39 [sec]
a) Feedrate Profile Along the Tool-path (Constant vs. Optimized) Limit 100 [mm/sec]
[mm/sec]
100 90 80 70 60
L. Piegl and W. Tiller. The NURBS book (2nd ed.). Springer-Verlag New York, Inc., New York, NY, USA, (1997). ISBN 3-540-61545-8. [5] S.J. Yutkowitz, W. Chester, Apparatus and Method for Smooth Cornering in a Motion Control System, United States, Siemens Energy & Automation, Inc,Alpharetta, GA, 2005 (US Patent 6922606). [6] V. Pateloup, E. Duc, P. Ray, Bspline approximation of circle arc and straight line for pocket machining, Computer-Aided Design 42 (2010) 817–827. [7] L. Zhang, Y. You, J. He, X. Yang, The transition algorithm based on parametric spline curve for high-speed machining of continuous short line segments, The International Journal of Advanced Manufacturing Technology 52 (2011) 245–254. [8] K. Yang, S. Sukkarieh, An analytical continuous-curvature path smoothing algorithm, IEEE Transactions on Robotics 26 (2010) 561– 568 [9] W. Lei, S. Wang, Robust real-time NURBS path interpolators, International Journal of Machine Tools and Manufacture 49 (2009) 625– 633. [10] Erkorkmaz, K., Altintas, Y., "Trajectory Generation for High Speed Milling of Molds and Dies'', Proceedings of the 2nd International Conference on Design and Production of Dies and Molds, Turkey (2001) [11] Sencer, B., Altintas, Y., Croft, E.A.,“Feed Optimization for Five-Axis CNC Machine Tools with Drive Constraints”, Int. Journal of Machine Tools and Manufacture, 48 (2007) 733-745
40 30 20 10
80 60
Optimized Feed Profile
40
Constant Feed Profile
20
8.8
8.9
9
9.1
9.2
00
Time [sec]
1
2
3 4 Time[sec]
5
5.9 6.45 [sec] [sec]
100
[mm/sec]
[mm/sec]
100
0
0
10 Time [sec]
0
Limit
Limit
0
Limit
10
Limit
Time [sec] 3000
REFERENCES [1] [2]
[3]
Koren, Y., Computer Control of Manufacturing Systems, McGraw-Hill, NY (1983) K. Erkorkmaz, Y. Altintas, “High speed CNC system design. Part I: jerk limited trajectory generation and quintic spline interpolation”, International Journal of Machine Tools and Manufacture 41 (2001) 1323–1345 Siemens AG: Sinumerik 840D / 810D / FM-NC OEM package MMC User’s Manual. 12ª ed., 1997
2000 [mm/sec2]
Fig. 8. Feedrate and axis kinematic profiles in conventional operation (pointto-point motion)
0
0
Time[sec]
6.45 0
Time[sec]
6.45
Limit Violation!!!
Fig. 9. Comparisoin of the “constant” and “optimized” feed profiles along Bezier blended tool-path