{'fraction_non_alphanumeric': 0.029433681073025336, 'fraction_numerical': 0.013279753033851394, 'mean_word_length': 5.052996134020619, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Toolpath Interpolation and Smoothing for Computer Numerical Control Machining of Freeform Surfaces: A Review

Driven by the ever increasing demand in function integration, more and more next generation high value-added products, such as head-up displays, solar concentrators and intra-ocular-lens, etc., are designed to possess freeform (i.e., non-rotational symmetric) surfaces. The toolpath, composed of high density of short linear and circular segments, is generally used in computer numerical control (CNC) systems to machine those products. However, the discontinuity between toolpath segments leads to high-frequency fluctuation of feedrate and acceleration, which will decrease the machining efficiency and product surface finish. Driven by the ever-increasing need for high-speed high-precision machining of  those products, many novel  toolpath  interpolation and  smoothing approaches have been proposed in both academia and industry, aiming to alleviate the issues caused by the conventional toolpath representation and interpolation methods. This paper provides a comprehensive review of the state-of-the-art toolpath interpolation and smoothing approaches with systematic classifications. The advantages and disadvantages of these approaches are discussed. Possible future research directions are also offered.


Introduction
Freeform surfaces are often defined as surfaces that are non-rotationally symmetric [1] . 3D products with freeform surfaces, such as impellers, optics, biomedical implants etc., have been widely used in areas like power, semiconductor and medical [2][3][4] . They are playing increasingly important roles in improving our daily standards of living. For instance, thousands of hip, knee, ankle, elbow and shoulder joint replacement operations take place in the UK every year [5] , which bring pain relief and mobility improvement to many patients. Freefrom surfaces are often designed to satisfy or improve a specific functional requirement. Sub-micrometer form accuracy and nanometer surface finish are often required to guarantee the designed functionality. Multi-axis computer numerical control (CNC) machining has been a key technology for fabricating such surfaces. Fig. 1 illustrates how the geometric data of freeform surfaces is converted to a CNC machining program in current practice. The product surface is firstly designed in computer-aided design (CAD) software. Then the computer-aided manufacturing (CAM) software is executed to convert the cutter contact (CC) path into the cutter location (CL) path. The CL path is usually divided into a large number of piecewise linear and circular segments as the toolpath to guide the movement of machine axes. Given a sufficient number of segments, the toolpath can approximate the original surface accurately. Finally, the CNC is responsible for interpolating the toolpath to finish the machining. This conventional toolpath representation method will result in the following undesirable problems: 1) The original freeform surface and CC path are represented in continuous parametric form in CAD and CAM, as regulated by standards such as the initial graphics exchange specification (IGES) [6] developed by the American national standard, and the ISO 10303 standard [7] which is informally known as standard for the exchange of product model data (STEP). However, only the linear interpolation (G01) and circular interpolation (G02 and G03), which are defined in the RS274D standard [8] and the ISO 6983 standard [9][10][11] , are supported across all CNCs. The discretization of continuous curves into linear and circular segments will inevitably introduce the chord error, as shown in Fig. 2. There is a tradeoff between the toolpath approximation accuracy and the size of the part program. Shorter segments can decrease the chord error, but the number of segments will grow dramatically, which will pose a huge burden to the data transfer and CNC memory.
2) Due to the discontinuity of the linear and circular segments at the join points, the machine axes will experience step velocity change at the corner. It requires infinite acceleration to achieve the movement, which will saturate the motor drives. Therefore, the conventional linear and circular interpolators have adopted the "S-curve" velocity profiles, i.e., decrease the feedrate gradually when approaching the corner and start accelerating again at the beginning of the next segment. However, the fluctuation of feedrate and acceleration will decrease the average feedrate and cause vibration, i.e., lower productivity and surface finish. This problem will get even worse as high-density short segments are usually used when machining freeform surfaces. Lengthy machining time is of-ten expected, as an example, it took 42 hours to machine a micro inducer as illustrated in Fig. 3. Moreover, the undesirable "dwell marks" will be left on the workpiece [14] , while good surface finish is often required.
The gap between the well-established freeform surfaces representation method in CAD and the very limited toolpath representation method in CNC has attracted a lot of attention since the 1990s. Fig. 4 illustrates a promising solution to bridge the gap, where parametric curves are used as the toolpath for CNC. Mathematically, the parametric curve uses an explicit function of an independent parameter to define each coordinate is the vector function of a curve with the independent variable u, which is defined in the interval [a, b].
Parametric representation exhibits many advantages in CAD/CAM, as summarized by Piegl and Tiller [16] , most important advantages are that it is easy to extend to higher dimensions, intuitive for geometric design, etc. Therefore, it becomes the de facto standard for geometric data exchange. It is also very convenient for multi-axis  [15] CNC control, where the reference point can be directly calculated with the given parameter u. Compared with the conventional linear and circular toolpath, it can avoid the cumbersome part program because it conveys much more information. And the high frequency fluctuation of the feedrate and acceleration can be eliminated due to the higher continuity provided by the parametric curve. Many different types of parametric curves are used for toolpath representation, such as pythagorean-hodograph (PH) curves [17] , NURBS (non-uniform rational Bspline) [18] , subdivision curves [19] , etc. However, the implementation of these parametric curves remains a challenge. Proprietary parametric curve interpolation solutions are provided by some CNC manufacturers, but, they are not compatible with each other. The standard for parametric interpolation has not been finalized yet. Alternatively, the CNC built-in toolpath smoothing function can overcome the drawbacks of conventional toolpaths to some extent, while keeping the current toolpath generation approach unchanged, which can help avoid the high expense of specialized CAM postprocessors and trainings for the new parametric interpolation on the factory floor.
This paper aims to provide a comprehensive review on the development of the toolpath interpolation and smoothing approaches. The technique routes are classified, the advantages and disadvantages are discussed. The rest of the paper is organized as follows: The novel toolpath interpolation and smoothing approaches are reviewed in Sections 2 and 3, respectively. Section 4 concludes the paper with discussions. Table 1 summarizes the interpolation features of five commercial CNC systems, which have been widely deployed in the industry. All the listed CNC systems support two or more advanced interpolation methods for specific parametric curves, in addition to the standard linear and circular interpolations. However, those methods are patented and use different kind of syntaxes, the implementation details are not disclosed. Particularly, the position-velocity-time (PVT) interpolator has been promoted by Delta Tau and Aerotech, which is actually a cubic Hermite spline interpolation method, and it has seen its wide application in slow tool servo (STS) turning of freeform surfaces [20][21][22] .

Overview
The problem of parametric curve interpolation can be expressed as, given: C (u) 1) the parametric curve ; 2) the command feedrate F; 3) the interpolation period T; 4) the current (k-th interpolation period) motion status: feedrate f k and acceleration a k ; C (u k ) 5) the current reference point .
C (u k+1 ) Calculate the reference point for the next interpolation period. And the result should be subject to machine dynamics constraints and chord error tolerance [23] : 1) Axial velocities and accelerations should be limited to avoid saturating the drive; 2) The jerk should be limited to avoid the excitation of vibrations in components in the machine assembly; 3) The chord error increases with feedrate and curvature, the feedrate should be limited to achieve high interpolation accuracy, while the productivity should be kept as high as possible.
Therefore, the parametric curve interpolation problem becomes an optimization problem. The performance index is the total travel time along the curve, and the constraints include the machine dynamics and the chord error tolerance. There are two fundamental parts to be solved for the problem: 1) Parameter sampling, i.e., given the desired feedrate f k+1 , determine the value of the parameter u k+1 , which corresponds to the next reference point.
2) Feedrate scheduling, i.e., given the current motion status and constraints, determine the value of the desired feedrate f k+1 , which is used to calculate the next reference point.

Parameter sampling
Currently, there are two technical routes to establish the relationship between the feedrate and the parameter, i.e., arc length parametrization and recursive Taylor′s expansion.

Arc length parameterization
The feedrate is the differential of arc length over time, if the curve can be parameterized with respect to its arc length, then the parameter sampling will become straightforward. However, the arc length parametrization is extremely difficult, as it requires solving the inverse function of the non-linear integral function for arc length evaluation [23]  CNCs FANUC Series 30i [24] SIEMENS SINUMERIK 840D [25] ∥∥ where s is the arc length, a is the start value of the parameter and computes the Euclidean Norm. Wang and Yang [29] worked out a solution for near arc length parameterization of a set of discrete points with a composite quintic spline, second order continuity was achieved between each segment. Later, Wang et al. [30] improved the idea by imposing additional constraint at the knots, third order continuity and no unwanted oscillations were reported. Fleisig and Spence [31] extended the work to five-axis machining, a near arc-length parameterized quintic spline was introduced to represent the tool position, while a near arc-length parameterized quintic spherical Bézier was introduced to represent the tool orientation, and the coordinated motion was accomplished with a reparameterization spline. However, for the given parametric curves, the near arc length parameterization will introduce geometric deviation to the original toolpath. Therefore, this technique is best suited for the postprocessor of CAM.
Farouki and Shah [32] introduced PH curves as the toolpath for freeform surface machining. The PH curves are special parametric curves with the distinguishing property that their derivatives or hodographs satisfy the Pythagorean conditioṅ is a polynomial. This feature enables PH curves to calculate their arc length analytically, which makes the parameter sampling much easier. Later, Farouki et al. [33] extended the PH curve to three dimensional machining.
Erkorkmaz and Altintas [34] proposed to use a feed correction polynomial to map the desired arc length to the correct curve parameter. The feed correction polynomial was obtained by applying a least square fit over the arc length and curve parameter values. A 7th order polynomial was generated for the correction purpose, and the second order continuity was achieved at the connection boundaries, as shown in Fig. 5. This technique was later incorporated in the development of more advanced algorithms [35][36][37] . Similarly, Lei et al. [38] used a cubic or fifth degree Hermit spline to map the arc length with the parameter in each subinterval of the curve. This kind of technique is carried out off-line and can be incorporated into the postprocessor of CAM.

Recursive Taylor′s expansion
To determine the sampled point for each interpolation interval, the reparameterization of u with time t is required. However, the solution of the required function is generally difficult to get, but its differential can be derived with the following steps. The feedrate along the curve is defined by [39] V Transforming the above equation yields where the arc length differential equation is given by Substituting (6) Shpitalni et al. [40] proposed to apply Taylor′s expansion around t = kT, i.e., the k-th interpolation period, to (7), which yields the relationship between the feedrate and the parameter denotes and denotes . They have deduced the first order approximation of the Taylor′s expansion u They also pointed out that if the interpolation period T is very small and the curve does not have small radii of curvature, the first order approximation is adequate. Fanuc has applied this work to its NURBS interpolator [41] . Cheng et al. [12] worked out the second order approximation for improved accuracy and applied it to their NURBS command generator u  [34] Farouki and Tsai [42] compared the accuracy of the Taylor′s expansion method with the PH curve arc length parametrization method. A quintic PH curve with strong curvature variation and uneven parameterization was used in the experiment. A constant feedrate of 1 000 ipm (25 400 mm/min) and a sampling frequency of 512 Hz (interpolation period ≈ 1.95 ms) were used for the interpolation. The "step size" was defined as the distance travelled along the curve within each interpolation period, which should be a constant value of 0.032 552 in (0.826 820 8 mm). The "arc length error" was defined as the difference between the actual distance travelled along the curve and the ideal distance over a period of time. Fig. 6 shows the results from the first and second order Taylor′s expansion methods with the PH curve method. The PH curve method can accurately realize the fixed step size and almost zero arc length error, as the arc length of the PH curve can be calculated analytically. The Taylor′s expansion methods, however, exhibit fluctuations in step size as well as arc length error. The second order Taylor′s expansion method is a great improvement over the first order method, the step size error and arc length error were decreased by roughly two orders of magnitude. Despite the advantages of the PH curve method, the lack of support in CAD/CAM limits its applications in the industry. On the contrary, the Taylor′s expansion method can be applied to any parametric curves, but the fluctuation of feedrate is inevitable due to the truncation of the high order terms.
Yeh and Hsu [43] introduced a compensatory value for the Taylor′s expansion method. The value was obtained according to the distance between the previous interpolation point and an estimated point. The interpolation simulation on a NURBS curve showed that the algorithm can reduce the feedrate deviation by 50 times compared with the second order Taylor′s expansion method. Zhao et al. [44] proposed the arc length compensated Taylor′s expansion (ACTE) method to eliminate the feedrate fluctuation caused by the truncation error. A 33% reduction in feedrate fluctuation was achieved compared with conventional Taylor′s expansion. Chen et al. [45] developed the augmented Taylor′s expansion (ATE) method for Bspline curves. The Heun′s method [46] , which is an improved method for calculating the numerical solution to the initial value problem, was used to attain a better approximation to the true parameter value, and was calibrated using offline computed knot-length pairs. A more accurate result than the second order Taylor′s expansion was reported. Those compensation measures can improve the interpolation accuracy, but there is always a noticeable increase in computation time.

Feedrate scheduling
The feedrate scheduling plays a vital role in obtaining satisfactory productivity by exploiting the dynamic capabilities of the machine tool along the parametric curve. It is a non-trivial optimization problem, which has been extensively studied in robotic manipulator control [47][48][49] . The solution to the time-optimal problem usually in- Performance of the first and second order Taylor expansion method compared with the PH curve interpolator. The dashed lines are exact "reference" data from the PH curve method, while the solid lines are data from the Taylor′s expansion methods [42] . volves "bang-bang" control, i.e., at least one constraint reaches its upper or lower bound throughout the motion. Timar et al. [50] demonstrated that the square of the timeoptimal feedrate for a polynomial curve can be determined as a piecewise-rational function of the curve parameter, however, it is only subject to the prescribed acceleration bounds of each axis. Later, Timar and Farouki [51] improved the idea by imposing the speed-dependent axis acceleration bounds arising from the output-torque characteristics of axis drive motors. This algorithm was implemented on an open-architecture software controller for 3axis CNC milling. Dong and Stori [52,53] proposed a generalized two-pass feedrate optimization algorithm. The global optimality was demonstrated by proving the local optimality of each trajectory segment. Dong et al. [54] later extended the bidirectional scan algorithm by introducing the jerk constraint for the feedrate optimization process. The improved algorithm can reduce overshoot errors by more than an order of magnitude over the conventional approach with constant feedrate and G-codes. Compared with the time-optimal approach without jerk constraint, this algorithm can improve cornering errors by approximately 50%. The effectiveness of this algorithm was attributed to the suppression of high-frequency structural excitations caused by the jerk, as illustrated in Fig. 7. The dimension of the optimization problem will be increased with the addition of the other constraints, and the timeoptimal solution will no longer be achievable with those techniques. Therefore, near time-optimal solutions are 6 favored with less computational burden. Yeh and Hsu [15] worked out the analytical relationship between feedrate, radius of curvature and chord error, and proposed to change feedrate adaptively to limit the chord error. Yong and Narayanaswami [55] improved the idea by detecting feedrate sensitive corners offline so that the chord error and acceleration constraints can be satisfied simultaneously. Erkorkmaz et al. [37] introduced the process mechanics constraint during the feedrate scheduling for freeform milling. A specific resultant cutting force was maintained by computing the workpiecetool engagement along the toolpath and setting local feedrate limits. The overall feedrate optimization scheme is illustrated in Fig. 8. The toolpath is planned in commercial CAM software, the cutting force can be predicted from the tool engagement geometry and the local feedrate limit is imposed to confine the resultant cutting force according to the cutting force model. Guo et al. [56] added the axis tracking error to the constraints. They established the relationship between the tracking error and the input signal of the high-order servo system. They also proved that the tracking error constraint can be reduced to a constraint on a linear combination of the acceleration and jerk. Jia et al. [57] tackled the servo-lag induced contour error during feedrate scheduling for high-precision machining.
The lookahead technique is an effective approach to solving the problem of feedrate scheduling with many constraints [58] . Annoni et al. [59] split the NURBS curve into several segments according to its curvature and a different feedrate limit was chosen for each segment to fulfill the constraints. Then, the lookahead module was used to calculate the final feedrate of a segment considering the segment length and the following segments. Beudaert et al. [60] proposed the velocity profile optimization (VPOp) method, the lookahead technique was used to calculate the necessary feedrate reduction to approach a sharp corner. Jin et al. [61,62] implemented the lookahead method by calculating the length of deceleration repeatedly at each interpolation period, which allows rapid reaction to sensitive areas on the curve. Wang et al. [63] developed a trigonometric velocity scheduling algorithm, which consisted of two lookahead processes. In the pre-interpolation lookahead phase, the curve was scanned and classified into three cases according to the feedrate variation. The explicit feedrate scheduling functions were calculated in the following lookahead stage. Smaller chord error was achieved than the S-curve and cubic polynomial feedrate scheduling methods. Zhong et al. [23] developed the real-time interpolator for parametric curves (RTIPC) with feedrate lookahead and acceleration lookahead, as shown in Fig. 9. The feedrate lookahead module checks feedrate limits along the curve considering the chord error and maximum axis velocity constraints, then the acceleration module validates the initial lookahead results against jerk and maximum axis acceleration constraints. The lookahead length was dynamically adjusted to minimize the computation load. Ten times productivity increase was achieved compared with the linear interpolator, and smoother motion profiles than the PVT interpolator were reported as well.

PVT interpolator
Instead of specifying the exact toolpath for the freeform surface machining, the PVT interpolator only requires the user to provide the start and end positions of each segment, the velocities at both ends, as well as the travelling time. The interpolator will use a third order polynomial to interpolate between the given positions and velocities  are the corresponding velocities. Unlike the geometric toolpath, the PVT interpolator also incorporates the feedrate scheduling information ...
, and are the velocity, acceleration and jerk, respectively. The PVT interpolator can achieve very smooth motion profiles within each segment. However, it can only maintain velocity continuity at the boundaries, as the end velocity of current segment is the starting velocity of the next segment. The acceleration is not necessarily continuous at the boundaries, which will lead to vibration.
The PVT interpolator allows great flexibility for the user to control the geometric profiles and motion profiles, but the machine dynamics and other constraints are not considered. The planned toolpath is not as intuitive as the parametric curves or the linear and circular toolpath, and the deviation between the planned toolpath and the CC path is difficult to calculate. Great care must be taken when using the PVT interpolator, or excessive geometric error or vibration will be resulted.

Overview
Linear and circular segments are still widely used as the toolpath on the factory floor due to the straightforward coding and good support from CNC. However, they are increasingly becoming the bottleneck of the highspeed high-precision machining of freeform surfaces. The CNC build-in toolpath smoothing algorithms have been extensively studied both in academia and industry, as they can help eliminate the fluctuation of feedrate and acceleration while keeping the current practice of CNC machining without further training on the operator and huge investment in the advanced CAM postprocessors.
The toolpath smoothing methods can be classified into local smoothing and global smoothing according to the smoothing scope. Local smoothing works with two adjacent segments, while global smoothing can act on a group of segments. These methods can also be classified into curve-based smoothing and velocity blending smoothing according to the smoothing mechanism. Curve-based smoothing is a two-step solution. Firstly, a parametric curve is used either to connect two segments at the corner or to approximate a group of segments. Then, the specially designed parametric curve interpolator is used to interpolate the parametric curve. By contrast, the velocity blending method is a one-step solution, which schedules the velocity profile of each axis directly at the corner and creates a smooth transition. Table 2 summarizes the recently developed toolpath smoothing methods.
The degree of continuity is usually used to evaluate the performance of smoothing algorithms. There are two kinds of continuity associated with a curve, i.e., geometric continuity and parametric continuity [64] . If the n-th derivatives of both curves at the join point have the same direction, then G n geometric continuity is achieved at the join point. If the derivatives have the same magnitude as well, then C n parametric continuity is achieved. For freeform surfaces machining applications, at least C 2 continuity is required to guarantee continuous velocity and acceleration along the toolpath. Table 2 shows that the majority of researchers focused on the local curve corner rounding method, as it  Fig. 9 Overall design of the RTIPC with feedrate and acceleration lookahead [23] can solve the corner transition problem in an analytical way, which minimizes the computational load for realtime CNCs. The SIEMENS SINUMERIK 840D sl controller [65] implements its continuous path mode (G641 etc.) by inserting a spline at the corner. The Aerotech A3200 controller [7] inserts a circular arc (ROUNDING ON) for the corner transition, this measure can only achieve G 1 continuity, which means that the acceleration is not continuous at the join points. High order parametric curves are generally required to guarantee smooth motion profiles at the corner. The cubic B-spline was used by [60,65,[70][71][72], while quintic Bspline was adopted by [68,72,73]. Shi et al. [70] developed their five-axis corner rounding method with a pair of quintic PH curves. Bi et al. [71] realized the same purpose with dual cubic Bézier curves. To discuss the advantages and disadvantages of the local curve corner rounding method, an example of corner rounding with a cubic Bspline is illustrated. Fig. 10 (a) depicts a cubic B-spline curve is inserted between the linear segments Q 0 Q 1 and Q 1 Q 2 . Five symmetric control points are positioned on the linear segments. The knot vector {0, 0, 0, 0, 0.5, 1, 1, 1, 1} is usually used to create a symmetric B-spline curve. The maximum deviation can be calculated analytically as

Local curve corner rounding
The deviation can be easily controlled by carefully positioning P 1 and P 3 . Since the first three and last three control points are collinear, the new toolpath is G 2 and curvature continuous at the connecting points P 0 and P 4 . The smoothness can be further improved if the second derivatives of the B-spline at both ends are zero, as shown in (15). Equation (15) can be further simplified to (16), which gives the positions of P 0 and P 4 . P4). (16) It is obvious that this kind of approach is very restrictive if the toolpath is composed of high density short linear segments, which are very common in the finish machining of freeform surfaces. The inserted B-splines will overlap with each other, which makes the subsequent interpolation impossible. Tulsyan and Altintas [72] proposed    [65] FANUC [77] Delta Tau [82] Tajima et al., 2018 [85] Aerotech [66] SIEMENS [65] Tajima et al., 2016 [83] Tajima and Sencer, 2016 [86] Huang et al., 2017 [67] Yang et al., 2015 [78] Sencer et al., 2015 [84] Yang and Yuen, 2017 [68] Fan et al., 2015 [79] Sun et al., 2016 [69] Wang et al., 2014 [80] Shi et al., 2015 [70] Yuen et al., 2013 [81] Bi et al., 2015 [71] Tulsyan and Altintas, 2015 [72] Sencer et al., 2014 [73] Zhao et al., 2013 [74] Beudaert et al., 2013 [75] Pateloup et al., 2010 [76] W. to restrict the length of the transition path to avoid the overlap problem, i.e., the maximum length of P 0 P 2 and P 2 P 4 are restricted to the minimum half-length of the connecting segments, as shown in Fig. 10 (b). However, this measure will lead to the over-constrained tolerance and much higher curvature, as shown in Figs. 10 (b) and 10 (c). The feedrate must slow down to avoid saturating drives at the corner.

Global curve approximation
The global curve approximation method can overcome the limitation of local curve corner rounding. However, it suffers from the difficulty of controlling the approximation deviation. Piegl and Tiller [16] have carried out some fundamental work on the B-spline approximation. They proposed an iterative way to approximate a set of points and used the least squares technique to calculate the unknown control points. They pointed out that the approximation process was computationally intensive, and wiggles tended to exist in the final curve. Moreover, their method only considered controlling the deviation between the points and the curve, and the deviation within each segment is very likely to be enormous. To avoid this undesirable problem for high-precision freeform surface machining, the Hausdorff distance between the approximation curve and the original toolpath should be used, as shown in Fig. 11. Hausdorff distance is used to measure the distance between two subsets in mathematics. In this scenario, the two subsets are the approximation curve and the original toolpath, respectively.
The evaluation of Hausdorff distance is exceptionally computationally intensive [87] , which makes it very restrictive for real-time CNCs. The SIEMENS SINU-MERIK 840D sl controller [65] implements its NC block compression function (COMPCAD) by approximating consecutive linear segments with 5th degree NURBS. Users are warned that it is very processor and memoryintensive, and should be considered as the last resort when other measures are not satisfactory. The FANUC Series 30i-LB controller [77] implements its smooth interpolation function (G05.1) by fitting linear points using cubic splines [89] . Fan et al. [79] developed the global smoothing method using mixed linear and quartic Bézier segments. Wang et al. [80] used the Akima curve to fit the linear toolpath, only C 1 continuity was achieved. Yuen et al. [81] developed a five-axis linear toolpath smoothing method using a quintic B-spline, the curve fitting algorithm was based on the Piegl and Tiller′s method without considering the Hausdorff distance.

Local velocity blending
Velocity blending based smoothing methods can achieve higher efficiency than curve-based smoothing methods as they eliminate the curve planning process. The one-step solution detects the corner and schedules axes velocities in the lookahead operation, as shown in Fig. 12. However, it also has the same limitation as the local curve corner rounding method. The Delta Tau Power PMAC controller [82] achieves the fixed-error corner blending by calculating the blending time based on the move speeds and change in angle at the corner. The blending starts and ends at the blending-time-dependent distance from the corner. The actual blending length will be very limited if the original linear segments are short, thus the feedrate must slow down to avoid saturating the drives. Sencer et al. [84] developed a method using finite impulse response (FIR) to filter the discontinuous axes velocities at the corner to achieve a smooth transition. The tolerance was controlled by selecting the overlapping time. Tajima and Sencer [83] proposed the velocity blending method based on the jerk limited acceleration profile (JLAP). The proposed algorithm was reported to be able to achieve better performance than the spline based corner rounding method by reducing the overall cycle time 6-7%.

Global velocity blending
Tajima and Sencer [86] later realized the limitation of the local velocity blending method, and developed the look-ahead windowing (LAW) technique to overcome the overlapping problem at adjacent corners. Experiments showed that the improved algorithm can reduce the cycle time up to 45% more than the point to point linear interpolation and 10-15% compared to the local Bézier corner rounding method and FIR based local velocity blending method. Tajima et al. [85] applied the FIR filtering to a multiple segmented toolpath, as shown in Fig. 13. The contour error of filtering circular segments was also considered. Experiments showed that it was able to reduce the cycle time up to 20% compared with the local Bézier corner rounding method [85] . Fig. 11 Hausdorff distance between curve X and curve Y [88]

Conclusions
This paper has provided a review of the toolpath interpolation and smoothing methods for CNC machining of freeform surfaces. The following conclusions can be drawn: 1) The conventional toolpath comprised of linear and circular segments has become the bottleneck for highspeed high-precision machining of freeform surfaces, because the high density short segments results in high fre-  quency fluctuation of feedrate and acceleration, which will decrease the productivity and product surface finish.
2) The parametric curve is the desirable toolpath representation method for freeform surface machining. It can preserve the surface information with high continuity and avoid the drawbacks of linear and circular segments. However, the parametric toolpath has not been included in the standard. Some CNC manufacturers support proprietary parametric toolpaths.
3) It is extremely difficult to achieve the time-optimal solution for the interpolation of parametric curves subject to constraints of machine dynamics and accuracy. The arc length parametrization can achieve higher interpolation accuracy than the Taylor′s expansion method, but the high computational cost makes it ideal for the offline postprocessor of CAM.
4) The lookahead technique has been an effective way for the feedrate scheduling for the parametric interpolator. The lookahead process allows the flexibility of adding various constraints to the interpolator. 5) PVT interpolation is actually a cubic Hermite spline interpolation, which allows users to specify the polynomial toolpath for freeform surface machining. However, the acceleration is not continuous at the boundaries, and it is error-prone.
6) The CNC built-in toolpath smoothing algorithm can mitigate the problems of linear and circular segments, without changing current practice of CNC machining.
7) The local curve corner rounding method provides an analytical solution to the corner rounding problem, but it has severe limitation when smoothing high density short segments, which are very common in the finish machining of freeform surfaces. The limitation is found in a) The adjacent corner transition path may overlap with each other and make the subsequent interpolation impossible; b) Alternatively, the length of the transition path is constrained which leads to high curvature and the feedrate must slow down to avoid saturating drives.
8) The global curve approximation method can avoid the limitations of local curve corner rounding method. However, it suffers from the difficulty of controlling the Hausdorff distance between the original toolpath and the approximation curve.
9) The velocity blending method can achieve higher efficiency than the curve based smoothing methods, because it schedules the velocity profile of each axis directly at the corner without planning a transition curve.
Based on the assessment of current literatures, some possible future work for the freeform surface machining are offered: 1) Little work can be found that deals with the process dynamics in the CNC interpolator for freeform surface machining, while more and more difficult-to-cut materials are being used for the 3D product.
2) More work is needed to improve the interpolator so that it can suppress the chatter and severe tool wear with embedded sensors.
3) Interpolators that can automatically correct freeform surface machining errors with on-machine metrology are highly desirable in some demanding applications.
4) The hybrid machining, which simultaneously applies more than one machining processes on the workpiece, has been an emerging solution for high-efficiency and cost-effective machining of freeform surfaces. There is a gap in the CNC interpolation and toolpath representation methods to accommodate more than one processes.

Open Access
This article is licensed under a Creative Commons Attribution 4.0 International License, which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons licence, and indicate if changes were made.
The images or other third party material in this article are included in the article's Creative Commons licence, unless indicated otherwise in a credit line to the material. If material is not included in the article's Creative Commons licence and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder.