1 Introduction

In modern manufacturing fields, higher machining efficiency and better machining quality have become the purpose of advanced CNC systems [1, 2]. Compared to the conventional G01 linear codes, parametric toolpaths, including B-spline and Non-Uniform Rational B-Splines (NURBS), have become much more popular due to the following advantages [3]. Firstly, the workpiece 3D model in Computer Aided Design and computer Aided Manufacturing (CAD/CAM) systems are always expressed in the form of a parametric curve. When the geometric module is approximated with a parametric toolpath, a smaller error will appear. Secondly, the parametric toolpath can provide smoother machining, in which case, the feedrate can be steadier and the kinematic parameters will be reduced perfectly. This improves the contour performance and leads to a better surface finish. Therefore, the feedrate planning and interpolating of the parametric toolpath are crucial for CNC systems.

However, there are two challenges faced by the parametric toolpath, feedrate modulation and fluctuations. Firstly, feedrate modulation needs to generate a feedrate profile along the toolpath with respect to error and kinematic limitations. In practice, there are two types of modulation methods, offline feedrate optimization and real-time feedrate generation. For the optimization method, the optimal parameter feedrate profile, which is mostly represented by the B-spline, can be solved by linear programming under the acceleration and jerk constraints [4]. Although the optimal approach can obtain higher machining efficiency, it cannot guarantee a feasible solution even after an intensive computation, especially for a long toolpath with jerk limitations [5]. In this case, the optimization method has not been adopted in commercial CNC systems. Since the feedrate generation method can adjust the feedrate during machining, it is more suitable for practical CNC systems, thus we mainly focus on this method. In the following, the two steps of feedrate generation method, feedrate planning and interpolation, will be researched in detail.

In the stage of feedrate planning, toolpath detection and feedrate scheduling are both essential to generate the feedrate profile. For toolpath detection, the critical points, which are always defined as the curvature extreme points, are searched and the maximum feedrate at those places is calculated under the expected constraints in terms of error, acceleration as well as jerk. Yeh et al. [6] utilized the error constraints in the adaptive-feedrate interpolation, and the constant feedrate cannot be scheduled according to the geometric features of the parametric toolpath. Moreover, in order to satisfy the kinematic compatibility of machine tools, Lai et al. [7] induced the acceleration and tangential jerk limitations in theory. As observed, a smoother parametric toolpath can fulfill higher kinematic constraints. Similarly, those constraints are also partially considered in certain studies [8, 9]. Since the normal jerk limitation is associated with the curvature derivative about arc-length, it is not considered in most feedrate generation approaches. To track this issue, Jia et al. [10] recently proposed a new method with feedrate-sensitive regions. The large-curvature area was defined as a feedrate-sensitive region, and constant feedrate considering all the limitations was travelled in those regions. In this case, the machining efficiency was evidently reduced. For feedrate scheduling, a look-ahead algorithm is utilized and the reachable feedrate at critical points is determined by considering the arc-length between the critical points. In the feedrate generation method, feedrate profiles including polynomial (e.g. linear-velocity, trapezoidal-velocity, trapezoidal-acceleration and trapezoidal-jerk) and trigonometric profiles are optional in CNC systems. With those given profiles, a generalized time-optimal bidirectional scanning algorithm was studied by Dong et al. [11] to calculate the reachable feedrate. This approach was proved robust and generally adopted by many researchers [8, 9]. Furthermore, the acceleration/deceleration (ACC/DEC, AD) parameters can also be calculated at this stage to finish the interpolation process. Among those profiles, the trapezoidal-acceleration feedrate profile [12] is the most popular in the industrial area, which has been studied by many researchers [9, 13]. For other feedrate profiles, Jahanpour et al. [14] presented a time-optimal S-shaped quintic feedrate profile in the adaptive NURBS interpolator with confined error, acceleration and jerk. Fan et al. [15] proposed a jerk-continuous feedrate profile and discussed the superiority of jerk-continuous feedrate over jerk-limited feedrate. Likewise, Sencer et al. [16] proposed a quintic S-curve-type acceleration profile, and a smoother feedrate profile was achieved. For trigonometric profiles, Huang et al. [17] presented a smoother feedrate profile using the sine series and the optimal trigonometric feedrate profile was determined. Thereafter, Lee et al. [18] and Wang et al. [19] identified the smooth jerk in each AD period based on the trigonometric feedrate profile.

Unlike the linear or circular toolpath, the non-linear relationships between the arc-length and the spline parameter will lead to unavoidable feedrate fluctuations at the interpolation stage, and this is another challenge for the parametric toolpath. To deal with this problem, plenty of interpolation methods have been proposed in the following studies. Based on Taylor’s expansion method (TTE) [20], Zhao et al. [21] proposed a chord-tracking algorithm (CTA) and applied a Newton–Raphson method to correct the toolpath parameter. The computation burden was reduced when compared to the PCI method.

In this paper, the feedrate constraints, including normal, acceleration and jerk, are derived from theory. To achieve higher efficiency and accuracy in machining, we propose a novel feedrate planning and interpolation method to satisfy the normal jerk constraints. The parametric interpolator consists of the two aforementioned stages, feedrate planning and iterative interpolator. An iterative interpolator will adjust the number of critical points to satisfy the normal jerk limitations. Moreover, the feedrate fluctuation will be reduced by the existing method to improve machining quality. The remainder of this paper is organized as follows. In Sect. 2, the adaptive-feedrate planning, including toolpath detection and feedrate scheduling, is provided with the feedrate constraints in theory. Section 3 proposes a novel iterative interpolator method to satisfy the normal jerk limitations. The simulations and experiments are conducted to validate the proposed method and the comparisons with previous methods are also given in Sect. 4. Finally, the conclusions are given in Sect. 5.

2 Adaptive-Feedrate Planning

In this section, toolpath detection and feedrate scheduling are provided in detail. In toolpath detection, the feedrate constraints at critical points are calculated in theory. Thereafter, the whole toolpath is scanning to search the critical points and split to several blocks by those points. With the Gauss–Legendre algorithm, the length of the blocks can also be calculated and a jerk-limited feedrate profile is utilized to connect the neighboring critical points. Furthermore, the AD parameters are determined and sent to interpolation stage.

2.1 Toolpath Detection

2.1.1 Feedrate Constraints

To obtain feedrate constraints, \(v,a,j\) are the tangential velocity (i.e. feedrate), tangential acceleration (i.e. the change rate of feedrate) and jerk (i.e. the change rate of tangential acceleration) respectively and the arc-length is assumed as \(s\). Then the vector forms of velocity, acceleration and jerk are calculated as follows:

$$\begin{aligned} {\mathbf{v}} & = v\frac{{d{\mathbf{r}}}}{ds},\;\;{\mathbf{a}} = a\frac{{d{\mathbf{r}}}}{ds} + v^{2} \frac{{d^{2} {\mathbf{r}}}}{{ds^{2} }} \\ {\mathbf{j}} & = j\frac{{d{\mathbf{r}}}}{ds} + 3av\frac{{d^{2} {\mathbf{r}}}}{{ds^{2} }} + v^{3} \frac{{d^{3} {\mathbf{r}}}}{{ds^{3} }} \\ \end{aligned}$$
(1)

With Frenet–Serret formulas [8], the last equations can be re-expressed as follows, where \(\kappa_{s} ,\tau\) is the curvature derivative and torsion, \(\vec{T},\vec{N},\vec{B}\) are the tangential, normal and binormal unit vector.

$$\begin{aligned} {\mathbf{v}} & = v\vec{T},\;\;{\mathbf{a}} = a\vec{T} + v^{2} \kappa \vec{N} \\ {\mathbf{j}} & = (j - v^{3} \kappa^{2} )\vec{T} + (3av\kappa + v^{3} \kappa_{s} )\vec{N} + v^{3} \tau \kappa \vec{B} \\ \end{aligned}$$
(2)

For the generation method [7,8,9,10], the points considering the multi-constraints are regarded as the critical points in feedrate planning. As shown in Fig. 1, a whole S-shape feedrate profile is utilized between the neighboring critical points.

Fig. 1
figure 1

The S-shape feedrate profile

Moreover, the tangential acceleration and jerk \(a,j\) are set to be zero at the critical points although the jerk at those points is limited instead of continuous. In this case, the kinematic parameters can be simplified as follows, where \(v_{t} ,v_{n} ,v_{b}\), \(a_{t} ,a_{n} ,a_{b}\) and \(j_{t} ,j_{n} ,j_{b}\) are the tangential, normal and binormal component of the velocity, acceleration and jerk respectively.

$$\begin{aligned} {\mathbf{v}} & = v_{t} \vec{T} + v_{n} \vec{N} + v_{b} \vec{B} = v\vec{T} \\ {\mathbf{a}} & = a_{t} \vec{T} + a_{n} \vec{N} + a_{b} \vec{B} = v^{2} \kappa \vec{N} \\ {\mathbf{j}} & = j_{t} \vec{T} + j_{n} \vec{N} + j_{b} \vec{B} = - v^{3} \kappa^{2} \vec{T} + v^{3} \kappa_{s} \vec{N} + v^{3} \tau \kappa \vec{B} \\ \end{aligned}$$
(3)

Based on Eq. (3), the feedrate constraints are analyzed in tangential, normal as well as binormal directions and the coefficients on those directions should obey acceleration and jerk limitations simultaneously. In practice, the tangential and normal kinematic limitations are always set as \(A_{t} = A_{n} = A_{m}\) and \(J_{t} = J_{n} = J_{b} = J_{m}\). Therefore, the feedrate constraints are given as follows:

$$v_{\lim }^{A} = \sqrt {\frac{{A_{n} }}{\kappa }} ,\;\;v_{\lim }^{J} = \min \left( {\sqrt[3]{{\frac{{J_{t} }}{{\kappa^{2} }}}},\sqrt[3]{{\frac{{J_{n} }}{{\kappa_{s} }}}},\sqrt[3]{{\frac{{J_{b} }}{\tau \kappa }}}} \right)$$
(4)

The conclusions above are consistent with the feedrate constraints in Ref [7]. Moreover, the chord error tolerance should also be satisfied, and the error-determined feedrate is provided in Eq. (5), where \(T_{s}\) means interpolation period and \(\delta\) is the chord error.

$$v_{\lim }^{e} = \frac{2}{{T_{s} }}\sqrt {\frac{2\delta }{\kappa } - \delta^{2} }$$
(5)

In order to satisfy acceleration and jerk limitation, the feedrate constraints in terms of error and kinematic are determined by Eq. (6), where \(v_{F}\) is the command feedrate from G codes.

$$v_{\lim } = \min (v_{\lim }^{e} ,v_{\lim }^{A} ,v_{\lim }^{J} ,v_{F} )$$
(6)

2.1.2 Critical points

For offline time-optimal algorithms, the constraints with respect to velocity, acceleration and jerk are calculated on a huge number of critical points by dividing toolpath with equal parameter interval, which is highly time-consuming and not suitable for real-time CNC systems. In the feedrate generation method, we search the geometric feature points and treat them as critical points. Obviously, the finite critical points with constraints cannot guarantee the bounded kinematic parameters along the whole toolpath, and different critical points would lead to different machining quality.

For the planar toolpath in CNC machining, the torsion \(\tau \equiv 0\), in this case, most researches mainly focus on the curvature-based feedrate scheduling method [7,8,9,10]. However, based on the analysis in last section, it can be seen that curvature and its derivative will determine feedrate with respect to acceleration and jerk limitations. It seems that the extreme points of curvature and its derivative should be regarded as the critical points simultaneously. However, the scanning of the curvature derivative extreme points is rather time-consuming, thus we only search the curvature extreme points as before and limit the jerk through a novel interpolator.

2.2 Feedrate scheduling

With the critical points in the last section, the whole toolpath is split into many parametric blocks and the feedrate constraints have been determined at the start and end of these blocks. However, the feedrate may be reduced further when block length is short enough. In this section, this kind of constraint is called length-determined feedrate. Therefore, a look-ahead process is unavoidable to find the reachable feedrate at critical points.

In the feedrate scheduling stage, the accurate arc-length of parametric toolpath plays an important role in reducing feedrate fluctuation. Considering the computational efficiency and accuracy, the Gauss–Legendre algorithm is adopted to calculate the arc-length in this section. Afterwards, a look-ahead algorithm with bidirectional scanning is introduced in the following.

In Fig. 1, a conventional 7-phase S-shape AD profile is implemented to obtain high-speed machining. It generates a piecewise constant jerk and trapezoidal acceleration, which can avoid vibration of the driver systems and improve machining quality. Since this S-shape AD profile have been addressed clearly in Ref [15], the details of that profile will not be elaborated here. In order to obtain the reachable feedrate at critical points, a look-ahead algorithm with bidirectional scanning is utilized in this part.

In the bidirectional scanning, a look-ahead window with suitable length is chosen to improve real-time performance. As given in Fig. 2, the critical points, feedrate and block length have been obtained in toolpath detection stage and denoted as \((u_{i} ,v_{\lim }^{i} ,\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{L}_{i} ),i = 0...N\), where N is the number of parametric blocks. Thereafter, the toolpath length in the look-ahead window is set longer than reference length \(L_{\min }\). The main steps of the look-ahead method are illustrated as follows.

Fig. 2
figure 2

The process of the bidirectional scanning algorithm

Step 1: Read critical points

Read the critical points until the length of the look-ahead window is longer than the reference length. Then set the end feedrate of the look-ahead window to be zero. For a starting feedrate, if there is no output in bidirectional scanning, a starting feedrate is also set to be zero; otherwise, it is set as the feedrate determined in the last look-ahead window.

Step 2: Bidirectional scanning algorithm

Conduct forward and backward scanning process as follows.

Forward scanning process

For each critical point in the look-ahead window, the critical feedrate has been calculated with respect to acceleration, jerk and chord error tolerance. As described above, the acceleration is performed recursively from the starting critical point to the end point with a S-shape profile. With the given starting feedrate and arc-length between two neighbor critical points, the forward length-determined feedrate can be calculated by the following algorithm and the reachable feedrate is denoted as \(v_{Lf}^{i}\) = VD(\(v_{s} ,L_{i}\)).

With the forward length-determined feedrate \(v_{Lf}^{i}\), the reachable forward feedrate limitation at critical points is acquired by:

$$v_{i}^{f} = \min (v_{Lf}^{i} ,v_{\lim }^{i} )$$
(7)

Backward scanning process

Similarly, backward acceleration is implemented from the end of the window to the start. In this step, since the kinematic capability has been considered in the forward scanning process, only the backward length-determined feedrate \(v_{Lb}^{i}\) needs to be determined. As given in Eq. (8), the determination of \(v_{Lb}^{i}\) is similar to the methods in the forward scanning process.

$$v_{i} = \min (v_{Lb}^{i} ,v_{i}^{f} )$$
(8)

Step 3: Output reachable feedrate at critical points

The output condition is given as follows:

$$L_{left} = \sum\limits_{j}^{N} {\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{L}_{i} } > \lambda \left\{ \begin{gathered} \frac{13}{6}\sqrt {\frac{{v_{F}^{3} }}{{J_{m} }}} ,v_{F} \le \frac{{A_{m}^{2} }}{{J_{m} }} \hfill \\ \frac{{A_{m}^{3} }}{{6J_{m}^{2} }} + \frac{{v_{F} A_{m} }}{{6J_{m} }} + \frac{{3v_{F}^{2} }}{{2A_{m} }},v_{F} > \frac{{A_{m}^{2} }}{{J_{m} }} \hfill \\ \end{gathered} \right.$$
(9)

where \(L_{left}\) is the distance accelerating from command velocity to zero, \(v_{F}\) is the command feedrate from G codes and \(\lambda\) is the security coefficient. Find the maximal \(j\) to qualify Eq. (9), then output \(v_{i} ,i = 0,1...j\), and go to STEP 1.

Algorithm: VD (\(v_{s} ,L_{i}\))

Input: Parameters \(A_{m} ,J_{m}\)

Output: The length-determined velocity \(v_{Lf}^{i}\) at critical point

(1) Calculate reference length \(\hat{L} = 2v_{s} A_{m} /J_{m} + A_{m}^{3} /J_{m}^{2}\)

(2) If \(\hat{L} < L_{i}\), the acceleration limitation is not reached, then the end feedrate can be calculated as \(v_{Lf}^{i} = v_{s} + J_{m} t_{1}^{2}\), where \(t_{1}\) is the root of the equation \(2v_{s} t_{1} + J_{m} t_{1}^{3} - \hat{L} = 0\).

(3) Otherwise, the end feedrate is \(v_{Lf}^{i} = v_{s} + A_{m}^{2} /J_{m} + A_{m} t_{2}\) where \(t_{1} = A_{m} /J_{m}\) and \(t_{1}\) is the root of the following equation \((2v_{s} + A_{m} t_{1} + A_{m} t_{2} )(2t_{1} + t_{2} ) - 2\hat{L} = 0\).

After bidirectional scanning, the reachable start, end feedrate and block length \((v_{s} ,v_{e} ,\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{L}_{i} )\) have then been calculated. The 7-pahse S-shape AD profile is applied to connect the adjacent critical points. In Ref [15], the determination of period parameters \((t_{1} ,t_{2} ,t_{3} ,t_{4} ,t_{5} )\) has generally been illustrated and these procedures will not be elaborated here. Therefore, the AD parameters, including feedrate parameters \((v_{s} ,v_{e} ,v_{m} )\) as well as period parameters \((t_{1} ,t_{2} ,t_{3} ,t_{4} ,t_{5} )\) are calculated and sent to the parametric interpolator.

3 Iterative interpolator

A real-time interpolator produces reference points for drivers at regular time intervals, which are named as interpolation periods. For each block after planning, the AD parameters \((v_{s} ,v_{e} ,v_{m} ,t_{1} ,t_{2} ,t_{3} ,t_{4} ,t_{5} )\) have been determined and the feedrate at all of the interpolation periods can be determined.

$$\begin{aligned} u_{k + 1} & = u_{k} + \frac{du}{{dt}}T_{s} + \frac{1}{2}\frac{{d^{2} u}}{{dt^{2} }}T_{s}^{2} \\ \frac{du}{{dt}} & = \frac{du}{{ds}} \cdot \frac{ds}{{dt}} = \frac{{v_{k} }}{{\left\| {{\mathbf{r}}^{\prime } (u)} \right\|}},\frac{{d^{2} u}}{{dt^{2} }} = \frac{{a_{k} }}{{\left\| {{\mathbf{r}}^{\prime } (u)} \right\|}} - \frac{{\left\langle {{\mathbf{r}}^{\prime } (u),{\mathbf{r^{\prime\prime}}}(u)} \right\rangle }}{{\left\| {{\mathbf{r}}^{\prime } (u)} \right\|^{4} }} \\ \end{aligned}$$
(10)

Thus, the distance between two adjacent interpolation points depends on the desired feedrate while the TTE method depends on the time in Eq. (10), where \(T_{s}\) is the interpolation period; \(v_{k} ,a_{k}\) are the current feedrate and acceleration. The next toolpath parameter \(u_{k + 1}\) can be obtained from the former one and the kinematic information. In Sect. 2, it is acknowledged that limited jerk cannot be obtained and a simple example is utilized below to illustrate this problem. Specifically, the knot and weight vector are \((0,0,0,0,0.5,0.5,0.5,1,1,1,1)\) and\(,(1,20,20,1,20,20,1)\). And the kinematic parameters are set as \(v_{m} = {\text{60 mm/s}}\), \(A_{t} = A_{n} = {10}^{3} {\text{ mm/s}}^{{2}}\) and \(J_{t} = J_{n} = {10}^{4} {\text{ mm/s}}^{{3}}\).

After feedrate planning, the curve in Fig. 3 is interpolated by the second-order TTE method, and normal jerk profile is also provided by black line in Fig. 3. As observed, the jerk limitations are exceeded in some regions when taking curvature extreme as critical points.

Fig. 3
figure 3

The example and its normal jerk profile of two methods

However, in most machining situations, bounded jerk is essential to improve the machining quality. As analyzed in Sect. 2.1, the reason why the kinematic parameters are exceeded is that the toolpath is travelled at higher feedrate at certain points, and those points are not regarded as critical points. Meanwhile, the normal jerk limitation is not considered in interpolation. In fact, the exceeded positions should also be considered as critical points, although they are not curvature extreme. In this case, a novel iterative interpolator is proposed to deal with the problem. Since the curvature derivative cannot be obtained efficiently in the real-time systems and considering the jerk relationship to the Cartesian (XYZ) and Frenet–Serret (TNB) coordinate systems in Eq. (11), the normal jerk can be calculated by \(J_{n} = \sqrt {\left\| {\mathbf{j}} \right\|^{2} - j_{t}^{2} - j_{b}^{2} }\).

$$\left\| {\mathbf{j}} \right\| = \sqrt {j_{t}^{2} + j_{n}^{2} + j_{b}^{2} } = \sqrt {j_{x}^{2} + j_{x}^{2} + j_{z}^{2} }$$
(11)

The proposed method works as follows. Firstly, the block is pre-interpolated by the AD parameters and the normal jerk can be calculated by the interpolation points. With the normal jerk profile, the local extreme values, which exceed the jerk limitations, can be determined and regarded as the new critical points in the feedrate scheduling. Since the pre-interpolation will not output the interpolation points to driver systems and the local extreme values are not related to the interpolation period, the interpolation period can be made larger than the actual period intended for measurement to reduce computation time. Secondly, re-interpolating the block and calculating the normal jerk again. Compared to former pre-interpolation process, the exceeding parts will clearly decrease using this method. If there are some other positions exceeding the limitation, add them to the critical points and re-interpolate again until the normal jerk approximately satisfy the limitation. In fact, limiting the normal jerk seriously will cost considerable computation time while the improvements made on machining precision are not obvious. Thus, we only re-interpolate for one or two times. Finally, the interpolation points respecting error, acceleration and jerk tolerance are fed into drivers and motors.

Based on Taylor’s expansions method, the CTA method [21] is developed to eliminate the feedrate fluctuation. For the example above, the normal jerk can be reduced to the expected limitations after one-time iteration and the results are provided in Fig. 3 in red.

In CNC systems, toolpath detection and iterative interpolator are conducted in parallel to save computation time. The iterative interpolator has the highest-priority in order to avoid data starvation while toolpath detection will generate a continuous parametric block to feedrate scheduling and the interpolator. The relations of these two main stages are provided in Fig. 4.

Fig. 4
figure 4

The flowchart of the proposed iterative interpolator

4 Simulation and Experiment

In this section, two different examples, including NURBS and B-spline toolpath, are applied to verify the effectiveness and contour performance. Furthermore, the conventional parametric interpolator and feedrate optimization method are also performed to evaluate the advantages of the proposed iterative interpolator.

The tracking experiments are performed on an X–Y motion system shown in Fig. 5. Two linear motors with a dSPACE 1202 real-time controller are used to illustrate the three methods. The closed loop-sampling period of the tracking platform is set to 0.2 ms and the position sensors work with a resolution of 156.25 nm.

Fig. 5
figure 5

Layout of the tracking experimental platform

4.1 WM-shape

A WM-shape NURBS curve is employed on the X–Y platform. The toolpath and control polygon are both provided in Fig. 6. Meanwhile, the curvature and its derivative profiles along the NURBS toolpath are also shown in Fig. 6, whose knot and weight vector are \((0,0,0,0,0.2,0.4,0.6,0.8,1,1,1,1),(1.2,1.5,3,2.5,3.5,3.5,1)\). And the kinematic parameters are set as \(v_{m} = {\text{60 mm/s}}\), \(A_{t} = A_{n} = {10}^{3} {\text{ mm/s}}^{{2}}\) and \(J_{t} = J_{n} = 2.5 \times {10}^{4} {\text{ mm/s}}^{{3}}\).

Fig. 6
figure 6

The WM-shape toolpath and the geometric profiles

Based on the interpolation points, the tangential acceleration and jerk profile of the proposed iterative interpolator are illustrated in Fig. 7 and all tangential kinematic constraints of the proposed method are satisfied perfectly, which is consistent with the analysis in Sect. 2.2.

Fig. 7
figure 7

The tangential acceleration and jerk profiles

In Fig. 8, the normal jerk profiles of the two methods are also compared. As observed, the normal jerk of the conventional method is not limited in the larger curvature derivative regions while the iterative method can obtain interpolation points with bounded jerk limitations. Furthermore, the cycling time of proposed method and conventional time is 1.25 s and 1.13 s. In other words, the efficiency of the iterative interpolator is reduced by about 0.12 s in order to meet the normal jerk constraint, which has potential to achieve better contour performance.

Fig. 8
figure 8

The normal jerk profiles of two methods

4.2 Fan-shape

In Fig. 9, a cubic fan-shape of the B-spline toolpath is also implemented to test the performance of the proposed method Similarly, higher kinematic limitations in this section are set as \(v_{m} = 150{\text{ mm/s,}}A_{t} = A_{n} = 3 \times {10}^{3} {\text{ mm/s}}^{{2}} ,J_{t} = J_{n} = {10}^{5} {\text{ mm/s}}^{{3}}\).

Fig. 9
figure 9

The fan-shaped toolpath and the feedrate profile

Likewise, the iterative process is conducted for one time. The reference trajectory after interpolating is used for the computation of the feedrate and normal jerk profiles of the three different methods. From Fig. 10, since the normal jerk limitations are not considered in the conventional method, higher machining efficiency can be obtained while the machining precision is sacrificed. In theory, the feedrate optimization method will obtain the optimal machining efficiency with the multi-constraints, in this case, the cycling time of the optimal method would become the benchmark to evaluate the efficiency of the proposed method. For the feedrate optimization method [5], the axis velocity constraint instead of feedrate limitations are treated, therefore the feedrate constraints are exceeded in Fig. 9. Furthermore, the normal jerk profile of the optimal and iterative interpolator is also reduced compared to the conventional method.

Fig. 10
figure 10

The feedrate and normal jerk profiles

In the iterative interpolator presented here, the toolpath might be interpolated several times until the kinematic parameters satisfy the given tolerance. For the fan-shape toolpath, the results of the re-interpolation process are satisfied after the first iterative calculation. On a personal computer with Intel i7 3.4 GHz CPU and 4 GB SDRAM, the time cost of three methods is also given in Table 1.

Table 1 Machining efficiency and contour performance

The tracking responses of the three methods are also provided in Fig. 11 and Table 1 specifically. In Table 1, the cycling time of the three methods is similar to each other while the contour performance of optimal and iterative methods is improved obviously with approximately limited normal jerk limitations. When it is compared to conventional methods, the maximum as well as the RMS contour error of the iterative interpolator has been improved to about 42.7% and 15.1% respectively.

Fig. 11
figure 11

Contour error of the two methods

Although the constraints of the optimal method are different from the proposed method, the proposed method has better contour performance and its computation time is decreased greatly. Therefore, the contour error profile indicates that the normal jerk limitations should become more suitable constraints in real-time CNC machining than the axis kinematic constraints, which is hugely time-consuming.

5 Conclusions

In this paper, a parametric curve feedrate planning and interpolator with error and kinematic limitations is proposed to obtain better machining precision. The feedrate constraints in terms of chord error, tangential and normal acceleration as well as jerk are induced in theory and considered in the adaptive-feedrate planning stage. Meanwhile, the critical points are searched and the multi-constraints are satisfied at those points. Thereafter, a conventional jerk-limited feedrate profile is generated between two neighboring critical points. In this paper, the normal jerk is proved to have a nonlinear relationship with a curvature derivative. Thus, tangential jerk constraints are considered in the conventional parametric interpolator while the normal jerk is neglected although it can certainly influence the machining quality and machine life. With the feedrate constraints in Sect. 2, a feasible iterative interpolation method is proposed to generate interpolation points with near limited normal jerks. Finally, the proposed method is validated by simulations and experiments with two typical parametric toolpath, NURBS and B-spline curves. The simulations and benchmark experiments both indicate that the proposed iterative interpolator can bound the normal jerk profile and improve the contour performance significantly.