1 Introduction

To realize higher machining efficiency and better machining quality, the feedrate planning must not only consider the accuracy requirements of the machined parts, but also consider the mechanical performance of machine tool [1].Optimization of the feedrate profile plays a major role in machining complex dies, molds, aerospace, and automotive parts. So the feedrate should be scheduled along the toolpath [2]. The key factor of feedrate planning is to choose appropriate acceleration/deceleration (AD) profile. An AD profile is the procedure to use different AD modes to change the feedrate from one value to another under certain constraints. At present, there are several AD algorithms in motion control system, and the traditional AD algorithms include trapezoidal curve algorithm, exponential curve algorithm, trigonometric function algorithm, S-curve AD algorithm, and so on. The simplest AD profile is the trapezoidal curve algorithm, its main advantage is that the mathematical expression is simple, its main disadvantage is that the acceleration value can change instantaneously from the maximal value A to –A, and the sudden change of AD value induces inertial vibrations into the motion. If these vibrations cannot be robustly avoided by the CNC system, it will reduce positioning accuracy and deteriorate surface finish quality [3]. A better AD profile is S-curve profile. At present, the S-curve AD algorithm is applied in most existing CNC system, which its feedrate curve and acceleration curve are continuous, and increases the smooth of motion system. However, the jerk curve is step change, the jerk curve has mutation in its starting point and endpoints as well as the positive and negative turning points. The smoothness of acceleration at each turning point is not good, which lead to the impact and vibration of CNC machine tools, and then decreases machining surface quality.

In order to improve the motion smoothness of high-speed and high-precision CNC system, the AD control strategy is further studied. According to the derivation relationship among feedrate, acceleration, and jerk, if the feedrate curve is a high-order curve of three or more times, which means that the curve has G3 continuity, the jerk continuity can be guaranteed; S-curve AD algorithm is difficult to meet the above requirements. G3 continuity of feedrate curve is a necessary condition to ensure jerk continuity during the machining process [4]. Compared with the machining along the lower-order continuity toolpath, the impact and the vibration produced by the machining along G3 toolpath are smaller. Based on the research mentioned above, a smooth S-curve AD control algorithm is proposed to generate a jerk-continuous feedrate profile [5]. The paper mainly discussed the curves that can have enough travel distance to perform the desired smooth motion. But if a toolpath curve lacks the travel length to accelerate to the desired feedrate and subsequently decelerate to the specified end feedrate, then the smooth S-curve AD algorithm must be modified. Short block smooth S-curve AD algorithm was discussed, but the classification of short block type is insufficient, and type-II short block smooth S-curve AD algorithm degenerates to S-curve AD algorithm [6]. The paper studies how to resolve the curves when they do not reach the complete smooth AD conditions, and the simulations and actual NC machining experiments are performed.

The rest of the paper is organized as follows: In Sect. 2, complete smooth S-curve AD feedrate planning is analyzed. In Sect. 3, the time, feedrate, acceleration, and jerk of each stage of three incomplete smooth S-curve AD algorithm are derived. In Sect. 4, calculations and simulations of three incomplete smooth S-curve AD curves are conducted. In Sect. 5, the effectiveness of the algorithm in the paper is verified by CNC machining experiment and machining surface accuracy analysis. In Sect. 6, the conclusions are drawn.

2 Complete smooth S-curve AD feedrate planning

For the smooth S-curve AD control algorithm, the jerk J adopts linear acceleration and deceleration, and its curve is a trapezoidal curve. The complete smooth S-curve AD feedrate planning process is shown in Fig. 1. As shown in Fig. 1, F is the command speed, τ (k = 1,2,…,15) is the time coordinate, the starting point of each stage is taken as the zero time; Tk (k = 1,2,…,15) is the duration time of each stage, A is the acceleration; J is the jerk, and L is the whole machining curve length. If the travelling distance is sufficient, the overall trajectory is composed of 15 phases (instead of the usual seven phases of the S-curve AD profile), the first 7 phases are acceleration stage, the feedrate increases from the initial value to its maximal value and stays at the maximal value for a while, then the final 7 phases are deceleration stage, and the feedrate decreases from its maximal value to the terminal value.

Fig. 1
figure 1

Complete smooth S-Curve AD process

It can be seen from Fig. 1, the smooth S-curve AD control algorithm can not only ensure the continuous feedrate and acceleration, but also ensure that jerk changes linearly in the AD stages, so that the AD flexibility of the system is further improved.

In order to facilitate the research, the paper assumes that the starting and terminal speed of AD process is zero. In this case, the running process is completely symmetrical, as shown in Fig. 1; for a machine tool with a certain structure, the maximum feedrate Vmax, the maximum allowable acceleration Amax, the maximum jerk Jmax, and the derivative S of the jerk are generally the fixed values, which can be determined by machine tool dynamics analysis.

According to the dynamics analysis of the machine tool, We assume T1 is the time for variable jerk, T2 is time for constant jerk, T4 is time for constant acceleration and deceleration, and T8 is time for constant speed, the following formula can be derived.

$${T_{1}}={T_{3}}={T_{5}}={T_{7}}={T_{9}}={T_{11}}={T_{13}}={T_{15}}={\frac{J_{\mathrm {max}}}k}$$
(1)
$${T_{2}}={T_{6}}={T_{10}}={T_{14}}={\frac{A_{\mathrm {max}}}{kT_1}}-{T_{1}}$$
(2)
$${T_{4}}={T_{12}}={\frac{V_{\mathrm {max}}}{A_{\mathrm {max}}}}-{\frac{A_{\mathrm {max}}}{k{T_{1}}}}-{T_{1}}$$
(3)
$${T_{8}}=\frac L{V_{\mathrm{max}}}-\frac{V_{\mathrm{max}}}{A_{\mathrm{max}}}-\frac{A_{\mathrm{max}}}{k{T_{1}}}-{T_{1}}$$
(4)

In order to generate a feedrate profile, it is necessary to check whether the feedrate profile meets the requirements of a complete smooth S-curve AD profile. According to formula (5), when the required condition is met, the AD process is a complete smooth process; otherwise, it is an incomplete smooth AD process.

$$L>kT_1(T_1+T_2)(2T_1+T_2+T_3)(4T_1+2T_2+T_3)$$
(5)

For the complete smooth AD process, the speed can reach the set speed Vmax, the acceleration can reach the set acceleration Amax, and the jerk can reach the set jerk Jmax. The AD process is shown in Fig. 1. The run time Ti of each stage can be determined by formulas (1)–(4), and the whole AD process is completely determined.

3 Incomplete smooth S-curve AD feedrate planning

For the curves that do not meet the complete smooth S-curve AD conditions, the curve length should be accurately calculated before feedrate planning.

The NURBS curve length from point to point is expressed as:

$$S = \int_{u_1}^{u_2} {\left\| {C^{\prime}(u)} \right\|} = \int_{u_1}^{u_2} {\sqrt {{{[x^{\prime}(u)]}^2} + {{[y^{\prime}(u)]}^2} + {{[z^{\prime}(u)]}^2}} } du = \int_{u_1}^{u_2} {f(u)du}$$

At present, there is no feasible analytical solution to calculate the length of NURBS curve. However, using Simpson’s rule with an adaptive bisection technique, the NURBS curve length can be calculated numerically within a specific tolerance [7].

Suppose \(h = \frac{{{u_2} - {u_1}}}{l}, {u_k} = {u_1} + kh,k = 0,1, \cdots ,2m\)  

We can deduce:

$$S = \frac{h}{3}({f({u_1}}) + 4\sum\limits_{k = 0}^{m - 1} {f({u_{2k + 1}}) + 2\sum\limits_{k = 1}^{m - 1} {f({u_{2k}}) + f({u_2}))} }$$

In the paper, for the curves that do not meet the complete smooth S-curve AD conditions, they are divided into three situations for discussion.

  1. 1.

    The curve does not include constant speed motion stage 8, which the acceleration reaches the set acceleration, but the feedrate doesn’t reach the set feedrate, and the constant speed motion time T8 = 0. L should satisfy the conditions of formula (6):

    $$\left\{ \begin{aligned} &L < k{T_1}({T_1} + {T_2})(2{T_1} + {T_2} + {T_3})(4{T_1} + 2{T_2} + {T_3})\\& L \geq 2k{T_1}({T_1} + {T_2}){(2{T_1} + {T_2})^2} \end{aligned} \right.$$
    (6)

    The AD process is shown in Fig. 2:

    Fig. 2
    figure 2

    The first case of incomplete smooth S-curve AD feedrate planning

    In this situation:

    $${T_1} = \frac{{{J_{\max }}}}{k}$$
    $${T_2} = \frac{{{A_{\max }}}}{{k{T_1}}} - {T_1}$$
    $${T_3} = \frac{{ - 3(2{T_1} + {T_2}) + \sqrt {{{(2{T_1} + {T_2})}^2} + \frac{4L}{{k{T_1}({T_1} + {T_2})}}} }}{2}$$

    The maximum feedrate is:

    $${F_{\max }} = \frac{{{A_{\max }}( - 2{T_1} - {T_2} + \sqrt {{{(2{T_1} + {T_2})}^2} + \frac{4L}{{{A_{\max }}}}} }}{2}$$
  2. 2.

    The curve does not include constant speed motion stage 8 and constant AD motion stages 4 and 12; the jerk can reach the set Jmax, but the acceleration cannot reach the set acceleration, and the feedrate cannot reach the set feedrate; constant speed motion time T8 = 0; constant AD motion time T4 and T12 are equal to 0. L should satisfy the conditions of formula (7):

    $$\left\{ \begin{aligned}& L < 2k{T_1}({T_1} + {T_2}){(2{T_1} + {T_2})^2} \\& L \geq 8k{T_1}^4 \end{aligned} \right.$$
    (7)

    The AD process is shown in Fig. 3:

    Fig. 3
    figure 3

    The second case of incomplete smooth S-curve AD feedrate planning

    In this situation:

    $${T_1} = \frac{{{J_{\max }}}}{k}$$
    $${T_2} = \frac{{ - 5{T_1} - \sqrt[3]{{y_1}} - \sqrt[3]{{y_2}}}}{3}$$
    (8)

    In formula (8):

    $${y_1}{ = - 3}{\text{.5}}{{\text{T}}_{1}}^{3}{\text{ - }}\frac{{{27}L}}{{{\text{4k}}{{\text{T}}_{1}}}} + 1.5\sqrt {\frac{{6{T_1}^2L}}{k} + \frac{{81{L^2}}}{{4{k^2}{T_1}^2}}}$$
    $${y_2}{ = - 3}{\text{.5}}{{\text{T}}_{1}}^{3}{\text{ - }}\frac{{{27}L}}{{{\text{4k}}{{\text{T}}_{1}}}} - 1.5\sqrt {\frac{{6{T_1}^2L}}{k} + \frac{{81{L^2}}}{{4{k^2}{T_1}^2}}}$$

    The maximum acceleration

    $${A_{\max }} = k{T_1}({T_1} + {T_2}) = k{T_1}( - \frac{2}{3}{T_1} - \frac{{\sqrt[3]{{y_1}}}}{3} - \frac{{\sqrt[3]{{y_2}}}}{3}$$

    The maximum feedrate

    $$\begin{aligned}& {F_{\max }} = k{T_1}({T_1} + {T_2})(2{T_1} + {T_2}) \\& { = }k{T_1}( - \frac{2}{3}{T_1} - \frac{{\sqrt[3]{{y_1}}}}{3} - \frac{{\sqrt[3]{{y_2}}}}{3})(\frac{1}{3}{T_1} - \frac{{\sqrt[3]{{y_1}}}}{3} - \frac{{\sqrt[3]{{y_2}}}}{3})\end{aligned}$$
  3. 3.

    The curve does not include constant speed motion stage 8, constant AD motion stages 4 and 12, and constant jerk motion stages 2, 6, 10, and 14; the jerk cannot reach the set jerk, the acceleration cannot reach the set acceleration, and the feedrate cannot reach the set feedrate; constant speed motion time T8 = 0, constant AD motion time T4 and T12 are equal to 0, and constant jerk motion time T2, T6, T10, and T14 are equal to 0. L should satisfy the conditions of formula (9):

    $$L < 8k{T_1}^4$$
    (9)

    The AD process is shown in Fig. 4:

    Fig. 4
    figure 4

    The third case of incomplete smooth S-curve AD feedrate planning

    In this situation:

    $${T_1} = \sqrt[4]{\frac{L}{8k}}$$

    The maximum jerk:

    $${J_{\max }} = k{T_1} = \sqrt[4]{{\frac{{L{k^3}}}{8}}}$$

    The maximum acceleration:

    $${A_{\max }} = k{T_1}^2 = k\sqrt{\frac{L}{8k}} = \sqrt{\frac{Lk}{8}}$$

    The maximum feedrate:

    $${F_{\max }} = 2k{T_1}^3 = \sqrt[4]{{\frac{{{L^3}k}}{32}}}$$

    Compared with the previous research of relevant scholars [8, 9], the incomplete smooth AD curves are divided into three cases for analysis, which is a new AD control algorithm. According to the interpolation curve length, interpolation period and related parameters, the running time Ti of each stage is calculated, and then the whole AD process is completely determined.

4 Calculations and simulations of three incomplete smooth S-curve AD curves

In order to compare the advantages and disadvantages of S-curve and incomplete smooth S-curve and evaluate the effectiveness of the incomplete smooth AD control algorithm proposed in the paper, three typical profile curves on the butterfly-shaped curve (corresponding to three types of incomplete smooth S-curve AD control algorithm in Sect. 3, respectively) are used in calculations and simulations; the butterfly-shaped curve is shown in Fig. 5, using MATLAB software to simulate and compare the S-curve AD control algorithm with the incomplete smooth S-curve AD control algorithm and verify the effectiveness of the algorithm proposed in the paper.

Fig. 5
figure 5

The butterfly-shaped curve

The simulation parameters are set as follows: interpolation period T = 1 ms; the feedrate F = 3.2 m/s; the allowable maximum acceleration Amax = 8 m/s2; the allowable maximum jerk Jmax = 40 m/s3; the derivative of jerk S = 400 m/s4; the length of the first curve L1 is 2 mm, the length of the second curve L2 is 1 mm, and the length of the third curve L3 is 0.3 mm.

4.1 L 1 curve AD control algorithm comparison and motion simulation

If the L1 curve adopts S-curve AD control algorithm, the acceleration can reach the set acceleration, and the feedrate can reach the set feedrate.

In this situation, variable AD time:

$${T_1} = {T_3} = {T_5} = {T_7} = \frac{{{A_{\max }}}}{{{J_{\max }}}} = \frac{8}{40} = 0.2$$

  

Constant AD time:

$${T_2} = {T_6} = \frac{{{V_{\max }}}}{{{A_{\max }}}} - {T_1} = \frac{3.2}{8} - 0.2 = 0.2$$

Constant feedrate time:

$$\begin{aligned} &{T_3}{ = }\frac{{L - (2J{T_1}^3 + 3J{T_1}^2{T_2} + J{T_1}{T_2}^2)}}{V\max } \\& = \frac{{2 - (2 \times 40 \times 0.2{^3}{ + }3 \times 40 \times {{(0.2)}^3} + 40 \times {{(0.2)}^3})}}{3.2} = 0.025 \end{aligned}$$

If L1 curve adopts incomplete smooth S-curve AD control algorithm, the acceleration reaches the set acceleration, but the feedrate can’t reach the set feedrate; constant feedrate time T8 = 0.

In this situation, variable jerk time:

$${T_1} = \frac{{{J_{\max }}}}{k} = \frac{40}{{400}} = 0.1$$

Constant jerk time:

$${T_2} = \frac{{{A_{\max }}}}{{k{T_1}}} - {T_1} = \frac{8}{40} - 0.1 = 0.1$$

Constant AD time:

$$\begin{aligned} &{T_3} = \frac{{ - 3(2{T_1} + {T_2}) + \sqrt {{{(2{T_1} + {T_2})}^2} + \frac{4L}{{k{T_1}({T_1} + {T_2})}}} }}{2} \\& = \frac{{ - 3 \times 0.3{ + }\sqrt {{{0.3}^2}{ + }\frac{8}{40 \times 0.2}} }}{2}{ = }0.072 \end{aligned}$$

The feedrate, acceleration, and jerk curves of the two AD control algorithms are shown in Figs. 6, 7 and 8, respectively.

Fig. 6
figure 6

The feedrate curves of the two AD control algorithms

Fig. 7
figure 7

The acceleration curves of the two AD control algorithms

Fig. 8
figure 8

The jerk curves of the two AD control algorithms

4.2 L 2 curve AD control algorithm comparison and motion simulation

If the L2 curve adopts S-curve AD control algorithm, the acceleration can reach the set acceleration, and the feedrate can’t reach the set feedrate; constant feedrate time T4 = 0.

In this situation, variable AD time:

$${T_1} = {T_3} = {T_5} = {T_7} = \frac{{{A_{\max }}}}{{{J_{\max }}}} = \frac{8}{40} = 0.2$$

Constant AD time T2 can be obtained from the formula of S-curve AD control algorithm [10]:

$$\begin{aligned} &{T_2} = \frac{{{ - 3}J{T_1}^{2}{\text{ + }}\sqrt {{{(3J{T_1}^2)}^2} + 4J{T_1}L2 - 2J{T_1}^3)} }}{{2J{T_1}}} \hfill \\& { = }\frac{{{ - 4}{\text{.8 + }}\sqrt {{{4.8}^2} + 32(1 - 0.64)} }}{16} = 0.067 \end{aligned}$$

If L2 curve adopts incomplete smooth S-curve AD control algorithm, the jerk can reach the set jerk, but the acceleration can’t reach the set acceleration, and the feedrate can’t reach the set feedrate, constant feedrate time T4 = 0; constant AD time T3 = 0.

In this situation, variable jerk time:

$${T_1} = \frac{{{J_{\max }}}}{k} = \frac{40}{{400}} = 0.1$$

T2 can be obtained from Eq. (8).

$${\mathrm T_2}=0.071$$

The feedrate, acceleration, and jerk curves of the two AD control algorithms are shown in Figs. 9, 10 and 11, respectively.

Fig. 9
figure 9

The feedrate curves of the two AD control algorithms

Fig. 10
figure 10

The acceleration curves of the two AD control algorithms

Fig. 11
figure 11

The jerk curves of the two AD control algorithms

4.3 L 3 curve AD control algorithm comparison and motion simulation

If the L3 curve adopts S-curve AD control algorithm, the acceleration can’t reach the set acceleration, and the feedrate can’t reach the set feedrate, constant feedrate time T4 = 0, constant AD time T2 = 0, and variable AD time T1 can be obtained from the formula of S-curve AD control algorithm [10]:

$${T_1} = \sqrt[3]{\frac{L}{2J}} = \sqrt[3]{{\frac{0.3}{{80}}}} = 0.155$$

 

If L3 curve adopts incomplete smooth S-curve AD control algorithm, the jerk can’t reach the set jerk, the acceleration can’t reach the set acceleration, and the feedrate can’t reach the set feedrate, constant feedrate time T4 = 0, constant AD time T3 = 0, and constant jerk time T2 = 0.

In this situation, variable jerk time:

$${T_1} = \sqrt[4]{L/8k} = \sqrt[4]{0.3/3200} = 0.098$$

The feedrate, acceleration, and jerk curves of the two AD control algorithms are shown in Figs. 1213 and 14, respectively.

Fig. 12
figure 12

The feedrate curves of the two AD control algorithms

Fig. 13
figure 13

The acceleration curves of the two AD control algorithms

Fig. 14
figure 14

The jerk curves of the two AD control algorithms

4.4 Discussion

From Figs. 614, it can be seen that the jerk J is no longer a step change, but changes linearly after adopting incomplete smooth S-curve AD control algorithm. Motion simulation time of S-curve AD control algorithm and incomplete smooth S-curve AD control algorithm are shown in Table 1; at the same time, the motion simulation time is also compared with the short block algorithm [6], and the comparison result is added in Table 1. It can be seen from Table 1: L1 motion simulation time adopting incomplete smooth S-curve algorithm or short block algorithm is basically the same, longer than S-curve algorithm, because incomplete smooth S-curve algorithm and short block algorithm are more complicated, but the time increase is limited. L2 curve short block algorithm degenerates to S-curve algorithm, and the Jmax is smaller than ordinary S-curve algorithm, so its motion simulation time is longer than S-curve algorithm, and it is shorter than incomplete smooth S-curve algorithm, but in this case, the jerk curve of short block algorithm is an abrupt curve, not a continuous curve. Because L3 curve lacks the corresponding algorithm in the short block algorithm, the paper compares with the trigonometric function algorithm in the literature [11]. Although the trigonometric function algorithm can avoid the instantaneous jump of jerk curve at the target points, the calculation of trigonometric function is applied in the simulation process, and it is a time-consuming process, so the motion simulation time is longer than incomplete smooth S-curve algorithm proposed in the paper, which is a major concern in real-time interpolation; at the same time, the motion simulation time of incomplete smooth S-curve algorithm is longer than S-curve algorithm because the calculation is more complex. As described in Table 1, the feasibility of an AD control algorithm relies on its ability to reach a reasonable compromise among motion smoothness and computational complexity, which can be mutually contradictory. By comprehensive comparison, for the given set of limiting conditions, using incomplete smooth S-curve AD control algorithm, with the loss of not much time, we can avoid step change of the jerk J, thereby can improve the surface quality of the machined part. We should comprehensively consider the influence of motion smoothness and computational complexity when we choose the appropriate AD control algorithm.

Table 1 Simulation time comparison of several AD control algorithms(in ms as the unit)

5 CNC machining experiment and machining surface quality analysis

An example of machining the integral impeller with incomplete smooth S-curve and S-curve AD algorithms is presented. The integral impeller is machined on a five-axis machining center with the self-developed control system. The three-dimensional model of integral impeller in Pro/E is shown in Fig. 15. The machining process of the impeller is shown in Fig. 16.

Fig. 15
figure 15

Three-dimensional model of integral impeller

Fig. 16
figure 16

Machining process of the impeller

The impeller machined by S-curve AD control algorithm is shown in Fig. 17, and the impeller machined by the incomplete smooth S-curve AD control algorithm is shown in Fig. 18. The impeller blades machined by the incomplete smooth S-curve AD control algorithm have a smoother surface and better surface quality.

Fig. 17
figure 17

Impeller with S-curve method

Fig. 18
figure 18

Impeller with smooth S-curve method

In order to measure the surface roughness of the main blade of integral impeller, and the arithmetical mean deviation Ra measurement experiments were carried out on TRIMOS TR-SCAN micro-topography measuring instrument. Twenty points on the middle generatrix between the top line and the root line of the main blade are measured, as shown in Fig. 19. After a series of measurement experiments, the roughness Ra of S-curve AD algorithm and incomplete smooth S-curve AD algorithm are shown in Table 2. When measuring the surface roughness, we measured the roughness value three times, and the measured value Ra in Table 2 is the average value of the three measurements. In order to express the roughness Ra more intuitively, the data in Table 2 is generated into Fig. 20. In Fig. 20, the blue line represents the measured roughness Ra of S-curve AD algorithm, and the green line represents the measured roughness Ra of incomplete smooth S-curve AD algorithm; it can be seen from Fig. 20 that incomplete smooth S-curve AD algorithm can obviously reduce the surface roughness Ra.

Table 2 Roughness Ra comparison of 20 measured points (in um as the unit)
Fig. 19
figure 19

Location diagram of 20 measured points

Fig. 20
figure 20

Roughness Ra comparison of 20 measured points

6 Conclusion

In recent studies on toolpath smoothing and feedrate scheduling schemes, there are still some requirements that cannot be satisfied simultaneously, which are likely to cause shock and vibration of the CNC machine tool during high-speed machining. In view of this, an incomplete smooth S-curve AD control algorithm for curves that can’t meet complete smooth AD conditions is proposed, and its classification and calculation formulas are derived. Compared with previous methods, the algorithm proposed has the following advantages:

  1. 1.

    The toolpath generated has G3 continuity, G3 toolpath can produce smoother motion than G2 toolpath generated by the S-curve AD algorithm. G3 toolpath guarantees the continuity of the jerk, which has a positive effect on reducing vibrations.

  2. 2.

    Its computational complexity is reasonable, which is more complex than S-curve AD algorithm; however, compared with the conventional trigonometric function algorithm, its computational complexity is lower owing to the fact that the algorithm does not need to apply trigonometric function calculation.

  3. 3.

    The algorithm has the ability to strike a controllable balance among motion smoothness and computing complexity for a given set of limiting conditions; thus, a well machining quality and efficiency can be obtained.

The butterfly-shaped curve is taken as an example for calculation and simulation, and simulation results show the good performance compared with the other two methods. The main blade of integral impeller is taken as an example to be machined on the machining center with embedded control system. To evaluate the surface quality of the machined blade, the surface roughness is measured, and the results show that the proposed method has lower surface roughness than S-curve AD algorithm, which confirms that the proposed algorithm can machine higher quality surface than S-curve AD algorithm. Meanwhile, the proposed algorithm is suitable not only for high speed and high precision CNC machine tools, but also can be extended to wide variety of other manufacturing equipment such as precision measurement devices and industrial robots.