1 Introduction

Five-axis CNC (computer numerical control) machine tools play an important role in manufacturing of key parts such as blades and propellers in the fields of aerospace and ship industry [1,2,3]. The spline interpolator is an advanced function for modern five-axis machine tools due to its advantages in feed smoothing and precision enhancing when comparing with conventional linear interpolator [4,5,6]. Two main tasks in terms of the feedrate scheduling and the interpolation-point calculation should be fulfilled for the spline interpolator [7]. Although the three-axis interpolation-point calculation methods such as the Taylor’s expansion algorithm can be used for five-axis spline interpolation, the feedrate scheduling for five-axis spline toolpath is more difficult than that for three-axis toolpath, which is because of the complex motion mapping relationship between the five feed axes in joint space and the end cutter in Cartesian space, and the drive constraints of not only translational but also rotation axes [8, 9]. Once the feedrate is too large, the axial drive capability may be exceeded, thus inducing the machining vibration; otherwise, the machining efficiency will be sacrificed if the feedrate is too low. Reasonable scheduling of five-axis feedrate with axial drive constraints becomes a premise for high-performance five-axis spline interpolator.

Many scholars have dedicated themselves into the research of five-axis feedrate scheduling methods in recent decades. By considering axial velocity and acceleration constraints, Li et al. [9] proposed a variable-period feed interpolation algorithm for high-speed five-axis machining. However, the axial jerk limitation was not included in their method, which may induce machining vibration. Once the axial jerk constraint is added, the nonlinear relationship between the five axes and end cutter will increase the feedrate scheduling difficulty [10]. Beudaert et al. [11] approximated the maximum five-axis feedrates at crucial points under velocity, acceleration, and jerk constraints by ignoring the coupling items of these parameters, in order to avoid the nonlinear calculation during five-axis feedrate planning. Afterwards, Beudaert et al. [12] further presented a time-optimal feedrate scheduling method for five-axis NURBS and G1 path, where the permissible maximum and minimum moving distances in each equal time interval were first calculated according to axial velocity, acceleration, and jerk constraints, and the fastest velocity was used in the beginning until any of the constraints cannot be confined, followed by iterative determination of the deceleration point. Additionally, two other kinds of methods in terms of optimization and feedrate-spline adjustment algorithms appeared for scheduling time-optimal or near time-optimal feedrate profile. The optimization algorithm aims at solving maximum feedrate at each discretized point under the considered constraints. Fan et al. [13] reduced the feedrate nonlinear optimization problem under drive constraints into a linear programming program by using a linear function to approximate the nonlinear jerk constraint, and the near time-optimal solution was obtained. Liu et al. [14] took the square of the feedrate as the decision variable and converted the geometric and kinematic constraints to linear constraints so that the linear optimization was also used to schedule the feedrate. Erkorkmaz et al. [15] combined the linear programming based on the “pseudo-jerk” concept and their proposed windowing algorithm to schedule the feedrate under axial drive constraints with a high computation efficiency. Moreover, the feedrate-spline adjustment algorithm expresses the feedrate profile as a spline curve and adjusts the spline parameters to obtain a maximum feedrate under the considered constraints. Sencer et al. [16] took the B-spline to express the feedrate profile and scheduled the time-optimal feed motion by modulating the control points of the B-spline iteratively, thus maximizing the feed without violating the axial velocity, acceleration, and jerk limits. Sun et al. [17, 18] used a NURBS curve to define the feedrate profile and adjusted the spline control points based on the curve evolution algorithm; thus, the geometric and kinematic limited smooth feed profile was obtained. Liang et al. [19] expressed the feed profile in the form of B-spline, and it was adjusted from a zero-speed profile to a near time-optimal one through iteratively raising the control points. Recently, Huang et al. [20] planned the feedrates of linear and angular trajectories separately with piecewise polynomial profiles and then synchronized these two trajectories to make the feed overall continuous.

Above methods mainly take the motion efficiency as the objective of the feedrate scheduling, while the motion stability or machining quality is not considered. The scheduled feedrate profile will vary frequently once the given tool path is relative complex when using most of above time-optimal methods, which may induce the machining vibration due to the frequent variation of the material removal rate, thus decreasing the machining quality of the machine tools [7]. On account of the fact that constant feedrate is beneficial to the motion smoothness and machining quality [7], Ma et al. [21] divided the five-axis dual-NURBS toolpath into two categories of intervals in terms of the feedrate-sensitive and feedrate-non-sensitive regions and scheduled the five-axis feedrate with constant speed at feedrate-sensitive regions and smooth transition speed at non-sensitive regions, so that the stable motion can be obtained at all sensitive areas and most areas of the whole tool path. However, their method sacrificed the motion efficiency in a large degree because all of the regions where the axial drive constraints may be exceeded were scheduled as the low-feedrate “sensitive” intervals, and only the regions where the constraints must not be exceeded were categorized to high-feedrate “non-sensitive” intervals.

This paper further divides the five-axis spline toolpath into three categories of intervals in terms of the non-sensitive, the semi-sensitive, and the full-sensitive intervals and presents the interval partition based five-axis feedrate scheduling method, so as to increase the feed motion efficiency without losing the advantage of regional constant speed profile. When comparing with the time-optimal feedrate scheduling methods, the proposed approach schedules more smoothness and stable tool-tip feedrate because the constant speed, instead of the frequent time-varying speed, is planned at full-sensitive intervals. When comparing with the previously presented sensitive regional constant feedrate scheduling method, the proposed approach subdivides the sensitive interval into semi-sensitive and full-sensitive intervals and schedules constant speed at full-sensitive intervals and transition speed at semi-sensitive and non-sensitive intervals with different tangential kinematic parameters; thus, more efficient motion can be obtained. Contribution of this study makes further balance between feed motion smoothness and efficiency during five-axis spline interpolation.

The rest of this paper is organized as follows. Section 2 defines the non-sensitive, semi-sensitive, and full-sensitive intervals. Section 3 presents the detail feedrate scheduling procedure. Section 4 conducts the illustration tests and discussion, and finally, conclusions are summarized in Section 5.

2 Definition of different kinds of intervals

Thanks to the synchronous motion of three translational axes and two rotary axes, the tool pose of five-axis machine tools can be flexibly operated so that extremely complex sculptured surfaces can be machined. However, the nonlinear relationship between five physical axes and the end tool position makes the feedrate scheduling under axial drive constraints difficult. With the help of differential principle, the motion relationship between five physical axes and the tool tip can be expressed as follows:

$$ \left\{\begin{array}{c}\overset{\cdotp }{\mathbf{q}}={\mathbf{q}}_s\overset{\cdotp }{s}\\ {}\ddot{\mathbf{q}}={\mathbf{q}}_{ss}{\overset{\cdotp }{s}}^2+{\mathbf{q}}_s\overset{\cdots }{s}\\ {}\overset{\cdots }{\mathbf{q}}={\mathbf{q}}_{ss s}{\overset{\cdotp }{s}}^3+3{\mathbf{q}}_{ss}\ddot{s}\overset{\cdotp }{s}+{\mathbf{q}}_s\ddot{s}\end{array}\right. $$
(1)

Above, q ∈ 5 represents for the axial position vector; \( \dot{\mathbf{q}} \), \( \ddot{\mathbf{q}} \), and \( \overset{\cdots \dot \dot }{\mathbf{q}} \) are the first-order, second-order, and third-order derivatives of q with respect to time, i.e., the axial velocity, acceleration, and jerk vectors, respectively. In addition, s represents for the tool-tip motion distance; thus, \( \dot{s} \), \( \ddot{s} \), and \( \overset{\cdots }{s} \) are tool-tip feedrate, tangential acceleration, and tangential jerk, respectively; qs, qss, and qsss are the first-order, second-order, and third-order derivatives of q with respect to s, respectively.

Under the bound of axial velocity, acceleration, and jerk constraints denoted by \( {\dot{\mathbf{q}}}_{\mathrm{max}} \), \( {\ddot{\mathbf{q}}}_{\mathrm{max}} \), and \( {\overset{\cdots }{\mathbf{q}}}_{\mathrm{max}} \), respectively, the following conditions should be satisfied when scheduling the tool-tip feedrate \( \dot{s} \).

$$ \left\{\begin{array}{c}{\dot{\mathbf{q}}}_{\mathrm{max}}(i)\ge \left|{\mathbf{q}}_s(i)\dot{s}\right|\\ {}{\ddot{\mathbf{q}}}_{\mathrm{max}}(i)\ge \left|{\mathbf{q}}_{ss}(i){\dot{s}}^2+{\mathbf{q}}_s(i)\ddot{s}\right|\\ {}{\overset{\cdots }{\mathbf{q}}}_{\mathrm{max}}(i)\ge \left|{\mathbf{q}}_{ss s}(i){\dot{s}}^3+3{\mathbf{q}}_{ss}(i)\dot{s}\ddot{s}+{\mathbf{q}}_s(i)\overset{\cdots }{s}\right|\end{array}\right.,i\in \left\{1,2,\cdots, 5\right\} $$
(2)

Above, i ∈ {1, 2, ⋯, 5} represents the index of five axes. Note that each of the three conditions in Eq. (2) contains five independent inequalities, which means that there are totally 15 inequalities should be satisfied under the five-axis drive constraints. The purpose for five-axis feedrate scheduling is to solve reasonable values of \( \dot{s} \), \( \ddot{s} \), and \( \overset{\cdots }{s} \) under the confine of conditions in Eq. (2). However, one can hardly solve the permissible \( \dot{s} \), \( \ddot{s} \), and \( \overset{\cdots }{s} \) using Eq. (2) due to its nonlinear property. On account of this fact, Ma et al. [21] constructed the more conservative conditions using the maximum tool-tip feedrate vmax, maximum tangential acceleration at,max, and jerk jt,max:

$$ \left\{\begin{array}{c}{\dot{\mathbf{q}}}_{\mathrm{max}}(i)\ge \left|{\mathbf{q}}_s(i)\right|{v}_{\mathrm{max}}\\ {}{\ddot{\mathbf{q}}}_{\mathrm{max}}(i)\ge \left|{\mathbf{q}}_{ss}(i)\right|{v}_{\mathrm{max}}^2+{\mathbf{q}}_s(i){a}_{t,\max}\\ {}{\overset{\cdots }{\mathbf{q}}}_{\mathrm{max}}(i)\ge \left|{\mathbf{q}}_{ss s}(i)\right|{v}_{\mathrm{max}}^3+3\left|{\mathbf{q}}_{ss}(i)\right|{v}_{\mathrm{max}}{a}_{t,\max }+\left|{\mathbf{q}}_s(i)\right|{j}_{t,\max}\end{array}\right.,i\in \left\{1,2,\cdots, 5\right\} $$
(3)

and defined the regions where Eq. (3) cannot be satisfied as feedrate-sensitive intervals, and the regions where Eq. (3) can be satisfied as feedrate-non-sensitive intervals. Although this ensures that the axial drive limitations can be safely bounded, it is so conservative that the motion efficiency will be relatively low. In this paper, the sensitive intervals are further subdivided into semi-sensitive and full-sensitive intervals, so as to make the scheduled feedrate not too conservative without losing the advantages in high motion stability of the regional constant feedrate profile.

The detail definition of the non-sensitive (NS, for short), semi-sensitive (SS, for short), and full-sensitive (FS, for short) intervals are given below.

2.1 NS intervals

The intervals where Eq. (3) can be satisfied are defined as the NS intervals. It means that none of the axial drive constraints can be exceeded in this kind of intervals even though the maximum tool-tip feedrate, tangential acceleration, and tangential jerk are utilized. Therefore, in NS intervals, free acceleration/deceleration can be applied as long as the utilized tangential drive parameters are smaller than the set maximum ones.

2.2 FS intervals

The scheduled feedrate will be too conservative if all of the intervals where Eq. (3) is not satisfied are defined as the feedrate-sensitive intervals. Therefore, the regions where Eq. (3) is not satisfied are divided into two kinds of intervals: the SS and FS intervals. The FS intervals are defined as the sets of positions where one or more of the three inequations in the following Eq. (4) can be satisfied:

$$ \left\{\begin{array}{c}{\dot{\mathbf{q}}}_{\mathrm{max}}(i)<\left|{\mathbf{q}}_s(i)\right|{v}_{\mathrm{max}}\\ {}{\ddot{\mathbf{q}}}_{\mathrm{max}}(i)<\left|{\mathbf{q}}_{ss}(i)\right|{v}_{\mathrm{max}}^2\\ {}{\overset{\cdots }{\mathbf{q}}}_{\mathrm{max}}(i)<\left|{\mathbf{q}}_{ss s}(i)\right|{v}_{\mathrm{max}}^3\end{array}\right.,i\in \left\{1,2,\cdots, 5\right\} $$
(4)

It means that although the tangential acceleration and jerk are all zero, and the maximum feedrate cannot be reached in this kind of intervals under the bound of axial velocity, acceleration, and jerk constraints. Therefore, in FS intervals, the feedrate is scheduled as the maximum reachable constant speed. Thus, the safety and stable motion can be obtained.

2.3 SS intervals

The sets of positions which belong to neither the NS intervals nor the FS intervals are defined as the SS intervals in this paper. In detail, the positions in SS intervals satisfy the following Eq. (5):

$$ \left\{\begin{array}{c}\left|{\mathbf{q}}_s(i)\right|{v}_{\mathrm{max}}\le {\dot{\mathbf{q}}}_{\mathrm{max}}(i)\\ {}\left|{\mathbf{q}}_{ss}(i)\right|{v}_{\mathrm{max}}^2\le {\ddot{\mathbf{q}}}_{\mathrm{max}}(i)<\left|{\mathbf{q}}_{ss}(i)\right|{v}_{\mathrm{max}}^2+\left|{\mathbf{q}}_s(i)\right|{a}_{t,\max}\\ {}\left|{\mathbf{q}}_{ss s}(i)\right|{v}_{\mathrm{max}}^3\le {\overset{\cdots }{\mathbf{q}}}_{\mathrm{max}}(i)<\left|{\mathbf{q}}_{ss s}(i)\right|{v}_{\mathrm{max}}^3+3\left|{\mathbf{q}}_{ss}(i)\right|{v}_{\mathrm{max}}{a}_{t,\max }+\left|{\mathbf{q}}_s(i)\right|{j}_{t,\max}\end{array}\right.,i\in \left\{1,2,\cdots, 5\right\} $$
(5)

It means that although maximum feedrate can be used when tangential acceleration and jerk are all zero, free acceleration/deceleration cannot be fulfilled in this kind of intervals. Therefore, constant speed or variable speed with limited tangential acceleration and jerk is scheduled in SS intervals. With the help of the flexible scheduling method of the feedrate in SS intervals, the integral motion efficiency can be improved to a certain extent. The specific feedrate scheduling method based on above definition of intervals is presented in the following section.

3 Interval partition-based feedrate scheduling

Integral procedure of the interval partition-based feedrate scheduling method in this paper is introduced as follows. First, the five-axis spline toolpath is discretized with equal arc length. Then, the discretized points are scanned to partition the intervals and determine the interval properties at the same time. After that, the initial allowable feedrate, tangential acceleration, and jerk values corresponding to every interval are determined, followed by the bi-direction scanning of the intervals for updating of their allowable tangential feed parameters. Finally, the feedrate profile at each interval is scheduled according to the allowable feed parameters of current and adjacent intervals, so that the integral feedrate profile is obtained. In detail, the presented procedures are given below.

3.1 Scanning of the discretized points for interval partition

For a five-axis spline toolpath expressed by a tool-tip spline R(u) and a tool-orientation spline O(u), it is discretized with equal tool-tip spline arc length first. The parameters of the discretized points, denoted by ud,j are calculated by second-order Taylor’s expansion as:

$$ {u}_{d,j}={u}_{d,j-1}+\frac{1}{\left\Vert {\mathbf{R}}^{\prime}\left({u}_{d,j}\right)\right\Vert }{\delta}_s-\frac{{\mathbf{R}}^{\prime }{\left({u}_{d,j}\right)}^{\mathrm{T}}\cdotp {\mathbf{R}}^{{\prime\prime}}\left({u}_{d,j}\right)}{2{\left\Vert {\mathbf{R}}^{\prime}\left({u}_{d,j}\right)\right\Vert}^4}{\delta}_s^2 $$
(6)

where δs is the arc-length step.

Hence, the axial dynamics qs, qss, and qsss at jth point can be obtained:

$$ \left\{\begin{array}{c}{\mathbf{q}}_{s,j}=\frac{{\mathbf{q}}_{j+1}-{\mathbf{q}}_{j-1}}{2{\delta}_s}\\ {}{\mathbf{q}}_{ss,j}=\frac{{\mathbf{q}}_{s,j+1}-{\mathbf{q}}_{s,j-1}}{2{\delta}_s}\\ {}{\mathbf{q}}_{ss s,j}=\frac{{\mathbf{q}}_{ss,j+1}-{\mathbf{q}}_{ss,j-1}}{2{\delta}_s}\end{array}\right. $$
(7)

Above, the axial position qj can be calculated using inverse kinematics of the five-axis machine tools according to the jth discretized point tool tip R(ud,j) and tool orientation O(ud,j) as:

$$ {\mathbf{q}}_j= Inv\_ Trans\left(\mathbf{R}\left({u}_{d,j}\right),\mathbf{O}\left({u}_{d,j}\right)\right) $$
(8)

where Inv_Trans() stands for the inverse kinematic transformation function of the five-axis machine tools, and it varies with the change of machine tool configuration.

According to the conditions in Eqs. (3, 4, 5), which kind of interval the discretized point belongs to can thus be determined. Therefore, the toolpath can be divided into three kinds of intervals according to the definition of NS, SS, and FS intervals in Section 2. Denote the sets of the discretized-point indexes of NS, SS, and FS intervals as {[ns,NS, ne,NS]}, {[ns,SS, ne,SS]}, and {[ns,FS, ne,FS]}, respectively. As for the NS intervals, the axial drive constraints cannot be exceeded even though maximum tangential motion parameters are utilized; therefore, the maximum velocity vmax, the maximum tangential acceleration at,max, and the maximum tangential jerk jt,max are allowed in NS intervals. Hence, the allowable velocity, allowable tangential acceleration, and allowable tangential jerk of the NS interval are vmax, at,max, and jt,max, respectively. As for the FS intervals, the axial drive constraints will be exceeded even though the tangential acceleration and jerk are all zero; therefore, constant low feedrates are scheduled in this kind of intervals. Hence, the allowable tangential acceleration and jerk of the FS interval are all zero, and the allowable velocity of the FS interval which is denoted by vFS is derived according to Eq. (3) as

$$ {v}_{\mathrm{FS}}=\min \left(\min \left(\frac{{\dot{\mathbf{q}}}_{\mathrm{max}}(i)}{\left|{\mathbf{q}}_{s,j}(i)\right|}\right),\min \left(\sqrt{\frac{{\ddot{\mathbf{q}}}_{\mathrm{max}}(i)}{\left|{\mathbf{q}}_{ss,j}(i)\right|}}\right),\min \left(\sqrt[3]{\frac{{\overset{\cdots }{\mathbf{q}}}_{\mathrm{max}}(i)}{\left|{\mathbf{q}}_{ss s,j}(i)\right|}}\right)\right),j\in \left\{{n}_{s,\mathrm{FS}},\cdots, {n}_{e,\mathrm{FS}}\right\},i\in \left\{1,2,\cdots, 5\right\} $$
(9)

Above, the allowable tangential drive parameters of NS and FS intervals are determined. As for the SS interval, three different cases should be considered. Due to the fact that there are totally three kinds of intervals, the properties of the adjacent intervals in two sides of one single SS interval can be divided into three cases: (a) two NS intervals, (b) two FS intervals, and (c) one NS interval and one FS interval. The feed parameters in terms of velocity, acceleration, and jerk of the SS interval are discussed according to these three cases as follows.

  1. a)

    When the two adjacent intervals are all NS intervals, the constant maximum velocity vmax should be used in the SS interval, because the allowable velocities of the adjacent NS intervals are all vmax. Once the constant speed is scheduled, which means that the tangential acceleration and jerk are zero, vmax can be reached in SS interval according to Eq. (5). Therefore, in this case, the allowable velocity of the SS interval is vmax, and the allowable tangential acceleration and jerk are zero.

  2. b)

    When the two adjacent intervals are all FS intervals, the scheduling method of the allowable feed parameters is presented below. First, the maximum allowable velocity of the two adjacent FS intervals is found and denoted as vaj,max, and vaj,max must be smaller than vmax because it is the allowable velocity of FS interval. Then, the medial value of vaj,max and vmax is token as the allowable velocity of the SS interval, so that acceleration/deceleration can be executed, and the allowable tangential acceleration and jerk are derived as follows. According to Eq. (5), there exist \( \left|{\mathbf{q}}_{ss}(i)\right|{v}_{\mathrm{max}}^2\le {\ddot{\mathbf{q}}}_{\mathrm{max}}(i) \) and \( \left|{\mathbf{q}}_{sss}(i)\right|{v}_{\mathrm{max}}^3\le {\overset{\cdots }{\mathbf{q}}}_{\mathrm{max}}(i) \) in SS intervals. Since vaj,max<vmax, the allowable velocity of the SS interval val,SS=(vaj,max+vmax)/2 must be smaller than vmax; therefore, one has \( {\ddot{\mathbf{q}}}_{\mathrm{max}}(i)-\left|{\mathbf{q}}_{ss}(i)\right|{v}_{al,\mathrm{SS}}^2>0 \) and \( {\overset{\cdots }{\mathbf{q}}}_{\mathrm{max}}(i)-\left|{\mathbf{q}}_{sss}(i)\right|{v}_{al,\mathrm{SS}}^3>0 \). Define a velocity scaling factor kv and an acceleration scaling factor ka as

$$ \left\{\begin{array}{c}{k}_v=\frac{v_{al,\mathrm{SS}}}{v_{\mathrm{max}}}\\ {}{k}_a=\frac{a_{al,\mathrm{SS}}}{a_{t,\max }}\end{array}\right. $$
(10)

where aal,SS represents the allowable tangential acceleration of the SS interval. Afterwards, let the allowable tangential jerk jal,SS equal to

$$ {j}_{al,\mathrm{SS}}={k}_v\cdotp {k}_a\cdotp {j}_{t,\max } $$
(11)

Thus, the aal,SS and jal,SS can be calculated once ka is obtained. According to Eqs. (10,11) and the second and third inequations in Eq. (5), the scaling factor ka under axial acceleration and jerk constraints should meet the following inequations:

$$ \left\{\begin{array}{c}{\ddot{\mathbf{q}}}_{\mathrm{max}}(i)-\left|{\mathbf{q}}_{ss}(i)\right|{v}_{al,\mathrm{SS}}^2\ge {k}_a\left|{\mathbf{q}}_s(i)\right|{a}_{t,\max}\\ {}{\overset{\cdots }{\mathbf{q}}}_{\mathrm{max}}(i)-\left|{\mathbf{q}}_{ss s}(i)\right|{v}_{al,\mathrm{SS}}^3\ge 3{k}_v{k}_a\left|{\mathbf{q}}_{ss}(i)\right|{v}_{\mathrm{max}}{a}_{t,\max }+{k}_v{k}_a\left|{\mathbf{q}}_s(i)\right|{j}_{t,\max}\end{array}\right.,i\in \left\{1,2,\cdots, 5\right\} $$
(12)

Hence, the maximum scaling factor ka can be derived as

$$ {k}_a=\min \left(\frac{{\ddot{\mathbf{q}}}_{\mathrm{max}}(i)-\left|{\mathbf{q}}_{ss}(i)\right|{v}_{al,\mathrm{SS}}^2}{\left|{\mathbf{q}}_s(i)\right|{a}_{t,\max }},\frac{{\overset{\cdots }{\mathbf{q}}}_{\mathrm{max}}(i)-\left|{\mathbf{q}}_{ss s}(i)\right|{v}_{al,\mathrm{SS}}^3}{3{k}_v\left|{\mathbf{q}}_{ss}(i)\right|{v}_{\mathrm{max}}{a}_{t,\max }+{k}_v\left|{\mathbf{q}}_s(i)\right|{j}_{t,\max }}\right),i\in \left\{1,2,\cdots, 5\right\} $$
(13)

By doing this, the allowable tangential acceleration and jerk of the SS interval can be obtained as kaat,max and kvkajt,max, respectively.

  1. c)

    When two adjacent intervals of the SS interval are one NS interval and one FS interval, the allowable velocity of the SS interval is scheduled as val,SS=(vFS+vmax)/2, where vFS means the allowable velocity of the adjacent FS interval. Similarly, there exists val,SS<vmax. Therefore, acceleration/deceleration can be executed in this case, and the scheduling method of the allowable tangential acceleration and jerk is the same with that in case b.

After above procedures, the toolpath is divided into a number of intervals and the initial allowable feed parameters in terms of velocity, tangential acceleration, and jerk of each interval are determined. In different kinds of intervals, the scheduled allowable feed parameters are schematically illustrated in Fig. 1. Denote the total amount of the intervals as N, and the start and end indexes of ith interval as ns,i and ne,i, respectively. In the following texts, the allowable velocities of the FS intervals are updated under tangential drive constraints.

Fig. 1
figure 1

Scheduled allowable feed parameters in different kinds of intervals

3.2 Bi-direction scanning of FS intervals for updating allowable velocities under tangential drive constraints

The allowable velocities of FS intervals are scheduled above according to the axial drive constraints using Eq. (9). However, the total arc length of the intervals between two adjacent FS intervals may not be adequate for acceleration/deceleration from the former FS interval velocity to the latter one. Therefore, the FS intervals are scanned bi-directionally, so that their allowable velocities are updated according to the tangential drive constraints. The bi-direction scanning method has been used by many studies related to the feedrate scheduling [7, 22, 23], so this procedure is merely briefly introduced here for concise expression.

As shown in Fig. 2, first, the deceleration processes are backward scanned. Judge whether the total arc length of the intervals between two FS intervals is enough or not for deceleration from former allowable speed to the latter one with the constraints of allowable feed parameters in intermediate intervals using the “S-shape” feedrate profile. Decrease the former larger allowable velocity to a certain value which can exactly decelerate to the latter lower velocity, if the intermediate-interval arc length is not enough. After that, execute the acceleration-process forward scanning. Similarly, decrease the latter larger allowable velocity, if the total intermediate-interval arc length is inadequate for acceleration from the former to the latter allowable velocities of the FS intervals.

Fig. 2
figure 2

Schematic diagram of the bi-directional scanning for FS-interval velocity updating

It is also noted that once the initial or final interval happens to be the FS interval, the allowable acceleration and jerk are all zero, which impedes the initial starting or the final braking procedure. In this case, the allowable initial or final FS interval is reduced by half, so that the margin for acceleration and jerk can be made, and the idea for calculating the allowable tangential acceleration and jerk is the same with that in Subsection 3.1 for calculating the feed parameters of SS intervals. After above scanning, one can obtain the final interval allowable feed parameters. Denote the obtained allowable velocity, acceleration, and jerk in ith interval as val,i, aal,i, and jal,i, respectively, and they are utilized for further feedrate profile scheduling.

3.3 Scanning of all intervals for feedrate profile scheduling

After bi-directional scanning of the FS intervals, the allowable feedrates of all FS intervals are reasonable scheduled under the drive constraints. As for the NS and SS intervals, although their maximum allowable velocities are determined, the start velocity of each interval should be further scheduled for generating the integral continuous smooth feedrate profile. The scheduling method for start velocity of each interval is given below.

In FS intervals, the constant speed is scheduled; therefore, the start velocities of all FS intervals equal to their allowable velocities. As for NS and SS intervals, they are successively scanned for determination of their interval start velocities. As shown in Fig. 3, if the present interval is the next interval of a FS interval, the interval start velocity equals to the allowable velocity of its previous FS interval. Otherwise, the interval start velocity is scheduled as the minimum value of candidate interval start velocities. The candidate velocities include the allowable velocities of present and previous intervals, the forward full-speed acceleration ending velocity, and the backward full-speed deceleration starting velocity. After above scanning, the interval start velocity of each interval can be determined, and it is denoted as vs,i for ith interval.

Fig. 3
figure 3

Schematic diagram for determination of interval start velocities

According to the start velocities of all intervals, the feedrate profile inside each interval is scheduled as follows. Based on the relationship between the present interval start velocity vs,i, the subsequent interval start velocity vs,i+1, and the allowable velocity of present interval val,i, the scheduled feedrate profile can be classified into six different cases.

  1. a)

    If vs,i=vs,i+1=val,i, constant feedrate profile is scheduled in ith interval as shown in case a of Fig. 4, and the constant feedrate value equals to vs,i.

  2. b)

    If vs,i<val,i, vs,i+1<val,i, and the arc length of ith interval is long enough for fulfilling the acceleration from vs,i to val,i and the deceleration from val,i to vs,i+1, then the acceleration and deceleration processes are both scheduled inside ith interval as shown in case b of Fig. 4. The start point of the acceleration process is the beginning of ith interval, and the start point of the deceleration process is computed as the position who happens to be one deceleration distance away from the end point of ith interval.

  3. c)

    If vs,i<vs,i+1<val,i, and the arc length of ith interval is inadequate for fulfilling the acceleration from vs,i to val,i and the deceleration from val,i to vs,i+1, then the acceleration process is scheduled inside ith interval as shown in case c of Fig. 4. The start point of the acceleration process is the beginning of ith interval.

  4. d)

    If vs,i+1<vs,i<val,i, and the arc length of ith interval is inadequate for fulfilling the acceleration from vs,i to val,i and the deceleration from val,i to vs,i+1, then the deceleration process is scheduled inside ith interval as shown in case d of Fig. 4. The start point of the deceleration process is computed as the position who happens to be one deceleration distance away from the end point of ith interval.

  5. e)

    If vs,i<vs,i+1=val,i, schedule acceleration process inside ith interval as shown in case e of Fig. 4. The start point of the acceleration process is the beginning of ith interval.

  6. f)

    If vs,i+1<vs,i=val,i, schedule deceleration process inside ith interval as shown in case f of Fig. 4. Similarly, the start point of the deceleration process is computed as the position who happens to be one deceleration distance away from the end point of ith interval.

Fig. 4
figure 4

Schematic diagram for scheduling of the feedrate profile inside each interval

Note that in case c and case d, the scheduled feedrate is always lower than the maximum allowable velocity; therefore, larger tangential acceleration and jerk can be utilized according to Eq. (1). In these two cases, the velocity scaling factor kv is updated from kv=val,i/vmax to kv=max(vs,i, vs,i+1)/vmax which becomes smaller. Thus, the acceleration scaling factor ka is updated to a larger value by

$$ {k}_a=\min \left(\frac{\left|{\ddot{\mathbf{q}}}_{\mathrm{max}}(i)\right|-\left|{\mathbf{q}}_{ss}(i)\right|\max {\left({v}_{s,i},{v}_{s,i+1}\right)}^2}{\left|{\mathbf{q}}_s(i)\right|{a}_{t,\max }},\frac{\left|{\overset{\cdots }{\mathbf{q}}}_{\mathrm{max}}(i)\right|-\left|{\mathbf{q}}_{ss s}(i)\right|\max {\left({v}_{s,i},{v}_{s,i+1}\right)}^3}{3{k}_v\left|{\mathbf{q}}_{ss}(i)\right|{v}_{\mathrm{max}}{a}_{t,\max }+{k}_v\left|{\mathbf{q}}_s(i)\right|{j}_{t,\max }}\right),i\in \left\{1,2,\cdots, 5\right\} $$
(14)

The allowable tangential acceleration and jerk are thus updated as aal,i=kaat,max and jal,i=kvkajt,max, respectively. The updated tangential feed parameters are utilized for acceleration or deceleration in intervals of case c and Case d, so that motion efficiency can be further improved.

After above scheduling of the feedrate profile inside each interval, the acceleration/deceleration-start points can be counted. Denote the spline parameter corresponding to ith acceleration/deceleration-start point as ur,i, and the scheduled feedrate of this point as vr,i. Additionally, denote the allowable tangential acceleration and jerk between ur,i and ur,i+1 as ar,i and jr,i, respectively. The above procedures for calculating {ur,i}, {vr,i}, {ar,i}, and {jr,i} is performed as the pre-processing of the feedrate scheduling. The sets of {ur,i}, {vr,i}, {ar,i}, and {jr,i} are then utilized for following real-time generation of the integral feedrate profile. During integral feedrate profile generation, the interval [ur,i, ur,i+1] that the current interpolation-point parameter belongs to is first found. Then, the “S-shape” feedrate profile is used for calculation of the current feedrate value. In detail, denote the lasting time since entering into [ur,i, ur,i+1] as tr,i, and the current feedrate value v is computed as

$$ v=\left\{\begin{array}{c}v\left({t}_{r,i}\right),\kern0.5em {t}_{r,i}<{t}_1+{t}_2+{t}_3\\ {}{v}_{s,i+1},\kern0.8000001em {t}_{r,i}\ge {t}_1+{t}_2+{t}_3\end{array}\right. $$
(15)

Above, t1, t2, t3, and v(t) are obtained according to “S-shape” feedrate profile as

$$ \left\{\begin{array}{c}{t}_1={t}_3=\left\{\begin{array}{c}\frac{a_{r,i}}{j_{r,i}},\kern4.75em \left|{v}_{s,i+1}-{v}_{s,i}\right|>\frac{a_{r,i}^2}{j_{r,i}}\\ {}\sqrt{\frac{\left|{v}_{s,i+1}-{v}_{s,i}\right|}{j_{r,i}}},\kern1.75em \left|{v}_{s,i+1}-{v}_{s,i}\right|\le \frac{a_{r,i}^2}{j_{r,i}}\end{array}\right.\\ {}{t}_2=\left\{\begin{array}{c}\frac{\left|{v}_{s,i+1}-{v}_{s,i}\right|-{a}_{r,i}^2/{j}_{r,i}}{a_{r,i}},\kern0.5em \left|{v}_{s,i+1}-{v}_{s,i}\right|>\frac{a_{r,i}^2}{j_{r,i}}\\ {}0,\kern6.95em \left|{v}_{s,i+1}-{v}_{s,i}\right|\le \frac{a_{r,i}^2}{j_{r,i}}\end{array}\right.\\ {}\mathrm{v}(t)=\left\{\begin{array}{c}{v}_{s,i}\pm \frac{1}{2}{j}_{r,i}{t}^2,\kern0.5em 0\le t<{t}_1\\ {}{v}_1\pm {a}_{\mathrm{max}}\left(t-{t}_1\right),\kern0.5em {v}_1={v}_{s,i}\pm \frac{1}{2}{j}_{r,i}{t}_1^2,\kern0.45em {t}_1\le t<{t}_1+{t}_2\\ {}{v}_2\pm {j}_{r,i}{t}_1\left(t-{t}_1-{t}_2\right)\mp \frac{1}{2}{j}_{r,i}{\left(t-{t}_1-{t}_2\right)}^2,\kern0.5em {v}_2={v}_1\pm {j}_{r,i}{t}_1{t}_2,\kern0.5em {t}_1+{t}_2\le t\le {t}_1+{t}_2+{t}_3\kern0.1em \end{array}\right.\end{array}\right. $$
(16)

In Eq. (15), it is seen that the scheduled feedrate profile is consisted by S-shape acceleration/deceleration process and constant speed process; therefore, the continuity between variable and constant segments should be analyzed. Equation (15) illustrates the transfer between variable and constant speed segment occurs at the moment of tr,i=t1+t2+t3. According to Eq. (16), v(t) and its first and second order derivatives with respect to t when t1+t2<t<t1+t2+t3 are

$$ \left\{\begin{array}{c}v(t)={v}_{s,i}\pm \frac{1}{2}{j}_{r,i}{t}_1^2\pm {j}_{r,i}{t}_1{t}_2\pm {j}_{r,i}{t}_1\left(t-{t}_1-{t}_2\right)\mp \frac{1}{2}{j}_{r,i}{\left(t-{t}_1-{t}_2\right)}^2\\ {}\dot{v}(t)={j}_{r,i}{t}_1\mp {j}_{r,i}\left(t-{t}_1-{t}_2\right)\\ {}\ddot{v}(t)={j}_{r,i}\end{array}\right. $$
(17)

Substituting t=t1+t2+t3 and Eq. (16) to Eq. (17) yields

$$ \left\{\begin{array}{c}v\left({t}_1+{t}_2+{t}_3\right)={v}_{s,i+1}\\ {}\dot{v}\left({t}_1+{t}_2+{t}_3\right)=0\\ {}\ddot{v}\left({t}_1+{t}_2+{t}_3\right)={j}_{r,i}\end{array}\right. $$
(18)

According to Eq. (15), the velocity equals to vs,i+1 on constant speed segment, and the first- and second-order derivatives of the velocity equal to zero. Therefore, it is concluded that the C1 continuity, i.e., acceleration continuous and jerk bounded feedrate profile, between the variable and constant speed segment can be guaranteed. Therefore, the whole feedrate profile must be acceleration continuous and jerk bounded.

The integral procedure of the presented interval partition-based feedrate scheduling method is summarized as follows. First, the five-axis spline toolpath is discretized so that the NS, SS, and FS intervals, as well as their initial allowable feed parameters, are obtained. Then, the FS intervals are scanned bi-directionally for updating of their allowable velocities under tangential drive constraints. After that, the NS and SS intervals are scanned for determination of their interval start velocities which are utilized for counting the acceleration/deceleration-start points and their corresponding velocities, as well as the allowable tangential drive parameters of each variable speed interval. Finally, above information is adopted to generate smooth feedrate profile point by point.

As can be seen from the procedure of the presented method, iterative calculation of the whole feedrate profile is not required, which indicates a well computation efficiency. In addition, the scheduled tool-tip feedrate keeps constant in FS intervals and varies smoothly within NS and SS intervals, which can result in a stable feed motion.

4 Illustration tests

In this section, illustration tests are conducted to evaluate the performance of the presented feedrate scheduling method, including the verification tests and the comparison tests.

4.1 Verification tests

The configuration of the five-axis machine tool with double rotary tables shown in Fig. 5 is employed for testing the feasibility of the presented feedrate scheduling approach. The direct and inverse kinematic transfer functions of this kind of five-axis machine tools are given in Eqs. (19) and (20), respectively.

$$ \left\{\begin{array}{c}{O}_x=\sin \left({q}_a\right)\sin \left({q}_c\right)\\ {}{O}_y=\sin \left({q}_a\right)\cos \left({q}_c\right)\\ {}{O}_z=\cos \left({q}_a\right)\\ {}{R}_x=\cos \left({q}_c\right)x+\cos \left({q}_a\right)\sin \left({q}_c\right)\left({q}_y-{L}_{acy}\right)+\sin \left({q}_a\right)\sin \left({q}_c\right)\left({q}_z-{L}_{acz}\right)+\sin \left({q}_c\right){L}_{acy}\\ {}{R}_y=-\sin \left({q}_c\right)x+\cos \left({q}_a\right)\cos \left({q}_c\right)\left({q}_y-{L}_{acy}\right)+\sin \left({\theta}_a\right)\cos \left({\theta}_c\right)\left({q}_z-{L}_{acz}\right)+\cos \left({q}_c\right){L}_{acy}\\ {}{R}_z=-\sin \left({q}_a\right)\left(y-{L}_{acy}\right)+\cos \left({q}_a\right)\left({q}_z-{L}_{acz}\right)+{L}_{acz}\end{array}\right. $$
(19)
$$ \left\{\begin{array}{c}{q}_a=k\operatorname{arccos}\left({O}_z\right),\kern0.4em k=1,-1\\ {}{q}_c= k\pi +\arctan \left({O}_x/{O}_y\right),\kern0.3em k=0,\pm 1,\pm 2,\cdots \\ {}{q}_x=\cos \left({q}_c\right){R}_x-\sin \left({q}_c\right){R}_y\\ {}{q}_y=\cos \left({q}_a\right)\sin \left({q}_c\right){R}_x+\cos \left({q}_a\right)\cos \left({q}_c\right){R}_y-\sin \left({q}_a\right){R}_z+\left(1-\cos \left({q}_a\right)\right){L}_{acy}+\sin \left({q}_a\right){L}_{acz}\\ {}{q}_z=\sin \left({q}_a\right)\sin \left({q}_c\right){R}_x+\sin \left({q}_a\right)\cos \left({q}_c\right){R}_y+\cos \left({q}_a\right){R}_z-\sin \left({q}_a\right){L}_{acy}+\left(1-\cos \left({q}_a\right)\right){L}_{acz}\end{array}\right. $$
(20)

where q=[qx, qy, qz, qa, qc]T is the axial position vector; R=[Rx, Ry, Rz]T and O=[Ox, Oy, Oz]T is the tool-tip position and tool-orientation vector, respectively.

Fig. 5
figure 5

The double rotary-table five-axis machine-tool configuration

A five-axis spline toolpath expressed by dual-NURBS (Non-Uniform Rational B-Spline) shown in Fig. 6 is adopted as the testing objective, and its NURBS parameters are as follows:

  1. a)

    Order: 4

  2. b)

    Tool-tip spline control points: {(0,0,0), (7.5,− 7.5,-3), (15,0,0), (0,30,3), (15,45,7.5), (45,45,7.5), (60,30,3), (45,0,0), (52.5, − 7.5, − 3), (60,0,0)};

  3. c)

    Tool-orientation spline control points: {(0,0,3), (7.5, − 9,0), (15,0,3), (− 7.5,30,6), (15,49.5,10.5), (45,49.5,10.5), (67.5,30,6), (45,0,3), (52.5, − 9,0), (60,0,3)};

  4. d)

    Knots vector: [0,0,0,0,1/7,2/7,3/7,4/7,5/7,6/7,1,1,1,1];

  5. e)

    Weights: [1,0.5,2,1,2,2,1,2,0.5,1].

Fig. 6
figure 6

Geometry of the five-axis spline toolpath for verification tests

The axial drive constraints are set as \( {\dot{\mathbf{q}}}_{\mathrm{max}} \)=[60 mm/s, 60 mm/s, 60 mm/s, 1.0 rad/s, 2.5 rad/s]T, \( {\ddot{\mathbf{q}}}_{\mathrm{max}} \)=[500 mm/s2, 500 mm/s2, 500 mm/s2, 3 rad/s2, 4 rad/s2]T, and \( {\overset{\cdots }{\mathbf{q}}}_{\mathrm{max}} \)=[7000 mm/s3, 7000 mm/s3, 7000 mm/s3, 60 rad/s3, 80 rad/s3]T. The maximum tool-tip feedrate is set as vmax=25 mm/s, and the reference maximum tangential acceleration and jerk are set as at,max=\( \left({v}_{\mathrm{max}}/\max \left({\dot{\mathbf{q}}}_{\mathrm{max}}\right)\right)\cdotp \max \left({\ddot{\mathbf{q}}}_{\mathrm{max}}\right) \)= 208.3 mm/s2, and jt,max=\( \left({v}_{\mathrm{max}}/\max \left({\dot{\mathbf{q}}}_{\mathrm{max}}\right)\right)\cdotp \max \left({\overset{\cdots }{\mathbf{q}}}_{\mathrm{max}}\right) \)= 2916.7 mm/s3, respectively. The values of Lacy and Lacz are all set as zero. By using the presented interval partition method, the whole toolpath is divided into 13 intervals in total, including 3 NS intervals, 5 FS intervals, and 5 SS intervals. The scheduled interval distribution and the allowable feed parameters in each interval, as well as the scheduled feedrate profile, are simultaneously illustrated in Fig. 7. As can be seen, the scheduled tool-tip feedrate keeps constant at most areas and varies smoothly in transition areas, and this is benefit to the stable feed motion of the feed-drive system of five-axis machine tools, although the scheduled motion is not time optimal. The positions at each interpolation period of five physical axes are calculated according to the scheduled feedrate profile, and they are further utilized for the computation of the actual axial feed parameters in terms of the axial velocities, axial accelerations, and axial jerks. The computed parameters are shown in Fig. 8, where it can be seen that all of the axial kinematic parameters are strictly confined within the set axial drive constraints. Therefore, the effectiveness of the presented approach is verified.

Fig. 7
figure 7

Allowable feed parameters in each interval and scheduled feedrate of the testing toolpath

Fig. 8
figure 8

Axial kinematic parameters of the illustration testing toolpath. a Parameters of translational axes. b Parameters of rotary axes

4.2 Comparison tests

Since the presented approach in this paper is an improvement of the feedrate scheduling method with a constant speed at feedrate sensitive regions presented by Ma et al. in Ref. [21], the different performances of these two methods are compared in this section.

By using the same testing parameters, the scheduled feedrate profiles of the presented method in this paper and the method in Ref. [21] for the toolpath shown in Fig. 6 are compared in Fig. 9 and Fig. 10. It is seen that the FS and SS intervals scheduled by the proposed method are all scheduled as FS intervals by Ma’s method. With the help of SS intervals, feedrate can vary more flexibly, so that higher efficiency is obtained when using the proposed method. Meanwhile, there are also lots of regions of the scheduled feedrate by the presented method keep constant speed, which means that the motion stability is not sacrificed.

Fig. 9
figure 9

Comparison of feedrate profiles scheduled by different methods

Fig. 10
figure 10

Comparison of feedrate scheduled by different methods. a By Ma’s method [21]. b By the proposed method

In order to further test the feasibility and advantage of the proposed method, another comparison test is conducted. An S-shape toolpath shown in Fig. 11 is adopted as the testing objective, and its NURBS parameters are as follows:

  1. a)

    Order: 4;

  2. b)

    Tool-tip spline control points: {(0,0,0), (0,10,0), (0,20,0), (2,28,0), (10,29,0), (18,26,0), (22,15,0), (26,4,0), (34,1,0), (42,2,0),(44,10,0),(44,20,0),(44,30,0)};

  3. c)

    Tool-orientation spline control points: {(2,0,2), (6,10,2), (2,20,2), (4,26,2), (10,27,2), (16,24,2), (22,15,2), (28,6,2), (34,3,2), (40,4,2),(42,10,2),(38,20,2),(42,30,2)};

  4. d)

    Knots vector: [0,0,0,0,0,1/9,2/9,3/9,4/9,5/9,6/9,7/9,8/9,1,1,1,1,1];

  5. e)

    Weights: {1,0.5,0.5,0.5,0.8,0.5,1,0.5,0.8,0.5,0.5,0.5,1}.

Fig. 11
figure 11

The S-shape five-axis spline toolpath used for comparison tests

The maximum tool-tip feedrate vmax is altered as vmax=20 mm/s in this test, while the axial drive constraints are the same with those used in Section 4.1. The scheduled feedrate profile using two methods are compared in Figs. 12 and 13, and similarly, it is seen that the integral feedrate is relatively larger when using the proposed method without losing the motion stability advantage of regional constant feedrate profile. The axial feed parameters in terms of velocities, accelerations, and jerks of five axes are compared in Fig. 14. As can be seen, the axial feed parameters are all bounded within the corresponding constraints, which demonstrates the effectiveness of these two methods. Additionally, the axial feed parameters of the proposed method are larger than those of Ma’s method at some regions, which results in an increasing of the motion efficiency.

Fig. 12
figure 12

Comparison of feedrate profiles scheduled by different methods for the S-shape toolpath

Fig. 13
figure 13

Comparison of feedrate scheduled by different methods for the S-shape toolpath. a By Ma’s method [21]. b By the proposed method

Fig. 14
figure 14

Comparison of the axial kinematic parameters of different methods for the S-shape toolpath. a Axial kinematic parameters of Ma’s method [21]. b Axial kinematic parameters of the proposed method

4.3 Tests on toolpath with large tool-orientation variation

The toolpaths used in above two tests involve only mild variations of the tool orientation, which in many cases will be the dominant consideration. In order to test the feasibility of the proposed method for toolpath with major variations of the tool orientation, an additional wing-shape five-axis spline toolpath shown in Fig. 15a is used for a further test. The tool-orientation coordinate on a unit sphere is illustrated in Fig. 15b where it can be seen that the tool orientation goes through a large variation. The detail NURBS parameters of the toolpath are as follows:

  1. a)

    Order: 4;

  2. b)

    Tool-tip spline control points: {(0,0,0), (10,0,20), (30,0,50), (50,0,20), (60,0,0)};

  3. c)

    Tool-orientation spline control points: {(-20,0,0), (10,10,20), (30,-3,80), (50,10,20), (80,0,0)};

  4. d)

    Knots vector: [0,0,0,0,1/2,1,1,1,1];

  5. e)

    Weights: {1,1,2.5,1,1}.

Fig. 15
figure 15

The wing-shape toolpath with large tool-orientation variation. a Toolpath geometry. b Tool-orientation geometry

To test the universality of the method, drive constraints of the five axes are altered as \( {\dot{\mathbf{q}}}_{\mathrm{max}} \)=[100 mm/s, 100 mm/s, 100 mm/s, 2.0 rad/s, 2.0 rad/s]T, \( {\ddot{\mathbf{q}}}_{\mathrm{max}} \)=[600 mm/s2, 600 mm/s2, 600 mm/s2, 15 rad/s2, 15 rad/s2]T, and \( {\overset{\cdots }{\mathbf{q}}}_{\mathrm{max}} \)=[10000 mm/s3, 10000 mm/s3, 10000 mm/s3, 400 rad/s3, 400 rad/s3]T. The maximum tool-tip feedrate is set as vmax=40 mm/s. By using the presented interval partition method, the whole toolpath is divided into 13 intervals in total, including 4 NS intervals, 3 FS intervals, and 6 SS intervals. The scheduled feedrate on the toolpath is given in Fig. 16, and the obtained actual five-axial feed parameters are illustrated in Fig. 17. Obviously, the axial feed parameters are all confined within the corresponding limitations. This demonstrates that the presented feedrate scheduling method is also suitable for toolpath with large orientation variations.

Fig. 16
figure 16

Scheduled feedrate for the wing-shape five-axis toolpath

Fig. 17
figure 17

Axial kinematic parameters of the wing-shape testing toolpath. a Parameters of translational axes. b Parameters of rotary axes

5 Conclusions

This paper proposes an interval partition-based feedrate scheduling method with axial drive constraints for five-axis spline toolpaths. The five-axis toolpaths are divided into three kinds of intervals in terms of the NS intervals, the SS intervals, and the FS intervals, by comparison of the required and maximum axial drive parameters including axial velocity, acceleration, and jerk. The allowable feed parameters in each interval are scheduled with the purpose of balancing feed motion stability and efficiency of five-axis machine tools. The scheduled feedrate keeps constant at FS intervals and varies smoothly in NS and/or SS intervals according to the allowable feed parameters. Performance of the proposed feedrate scheduling method is evaluated in illustration tests. It is seen from the testing results that although the scheduled five-axis feedrate is not as time optimal as most exiting scheduling methods, the motion stability can be ensured because the tool-tip feedrate keeps constant at most areas. In addition, when comparing with existing regional-constant feedrate scheduling method, the proposed one increases the motion efficiency with the help of SS intervals. Contributions of this paper are promising for improvement of the property of five-axis CNC systems, since feedrate scheduling is one of the main tasks of five-axis spline interpolators.