1 Introduction

Machine tool errors are errors in the position of the tool relative to the workpiece [1, 2], which are mainly caused by quasi-static error and dynamic error [1, 3].

Quasi-static error refers to the error when the machine tool does not move (spindle does not rotate or the worktable does not move) or the speed of motion is low, including geometric error and thermal error. Geometric error originates from manufacturing and assembling errors of parts. In addition, the deformation of structures caused by gravity causes the change of geometric error [4]. Thermal error is generated on account of the thermal expansion and distortion caused by the change of structure element and environment temperature [5]. There are some very nice reviews on the research progress of geometric error and thermal error in different periods. Sartori and Zhang [6] classified the methods for geometric measurement in direct and self-calibration methods, depending on the calibrated or uncalibrated standards. Ramesh et al. [7] summarized the sources and compensation methods of geometric error. Schwenke et al. [8] reviewed the direct measurement methods of geometric error and its compensation strategies. Ibaraki and Knapp [9] summarized the indirect measurement methods for internal error sources of three- and five-axis machine tools. Ramesh et al. [10] and Li et al. [5] reviewed the thermal error and its compensation methods of machine tool and spindle, respectively. Uriarte et al. [11] summarized measurement and compensation methods for geometric error and thermal error of large machine tools.

Dynamic errors have not been clearly defined so far and are generally considered to be related to feed motion [12]. The goal of dynamic error control is to achieve high trajectory accuracy. Schmitz et al. [13] carried out a case study, in which the grid plate encoder was employed to measure the trajectory errors of a circle–diamond–square tool path. They found out that the feed rate had effect on the trajectory errors. When the feed rate was increased from 150 to 8000 mm/min, the trajectory error of the circle–diamond–square tool path was increased from 6 to 11 μm, as shown in Fig. 1. Not only the feed rates, but also the acceleration/jerk [14] and the tool path curvature [15] have the effects on the dynamic errors, as well as the trajectory errors.

Fig. 1
figure 1

a, b Trajectory errors of the circle–diamond–square tool path measured by the grid plate encoder at two feed rates [13]

At high-speed machining of sculptured surface parts, the dynamic error is often greater than the quasi-static error, becoming the crucial factor to affect the machining error. After summarizing the development of machine tool feed drive from the transmission system, structural dynamic models, the control of rigid and flexible feed drives, etc., Altintas et al. [16] pointed out that there have been more than 105 rpm of spindles, which requires feed drives traveling over 5 × 104 mm/min with an acceleration of 10 g. Achieving the high dynamic accuracy is an ongoing hot topic and research challenge.

Although many research works related to the dynamic error have been published internationally, the complete and systematic summary on the dynamic error is still lacking. Some related reviews mainly summarized the research progress in each period around the individual axis tracking error control and the multi-axial tracking error coordinated control. Koren and Lo [17] summarized the feedback controller, feed forward controller, and cross-coupling controller early used in contour machining. Then, Koren [18] reviewed the servo control for individual axis, interpolators for coordinating the motion of several axes, and adaptive control for adjusting the cutting variables in real-time. Ramesh et al. [19] summarized the tracking error control systems and contour error control systems. Huo and Poo [1] summarized the control methods of trajectory tracking error, including individual axis tracking error control and multi-axis coordinated control. In multi-axis coordinated control, the cross-coupling controller and the methods of gain matching were mainly reviewed. Tang and Landers [20] summarized the research works of contour tracking control, including individual axis tracking control and multi-axis cross-coupling controller. In particular, the cross-coupling controller and its various improved methods were reviewed extensively. Jia et al. [15] carried out an extensive summary to the present state of the art of contour error control method research, including the contour error-oriented interpolation algorithm, individual axis tracking controllers, cross-coupling controllers, etc.

The above reviews revolve around the tracking error, involving the content of dynamic error partly, but the definition of dynamic error is still vague and the research framework is not clear. In this review, the definition of dynamic error is firstly given on the basis of summarizing the research of dynamic error in an all-round way. Secondly, based on the mechanical and control structure of the servo feed system, the dynamic error is divided into two components: the dynamic error inside the servo loop (component 1) and the dynamic error outside the servo loop (component 2). Then the causes of the two components of dynamic error are analyzed. Finally, the control methods of dynamic error are reviewed. In conclusion, the problems existing in the research of the dynamic error are analyzed and the future research directions are suggested. The contents of the existing reviews focused on the research progress of the tracking error in different periods are covered as component 1. Beyond that, the research progresses on component 2 of the dynamic error are summarized. The contribution of this review is that the dynamic error of machine tool is clearly defined, and the research framework on the dynamic error is systematically presented.

It is noted that just the dynamic error related to feed motion is included. Although the disturbance, such as the harmonic force/torque of the motor [21,22,23], the cutting forces [24,25,26], the friction force [27,28,29,30,31], the pitch error of transmission [14], the transmission clearance [14, 32, 33], transmission harmonic component [34], etc., affect the dynamic error, the dynamic error caused by high feed rate, acceleration and jerk is often prominent in high-speed and high-precision machining. Therefore, the dynamic error caused by disturbance is not included.

2 Definition, components, and causes of dynamic error

2.1 Definition of dynamic error

Zhao et al. [34] systematically induced the classification of CNC machine tool errors, and then gave the definition of dynamic error, which is the deviation of the actual displacement of axis relative to the reference displacement, as shown in Fig. 2.

Fig. 2
figure 2

Classification of CNC Machine tool errors induced by Zhao [34]

The mechanical and control structure of the Y axis of a five-axis machine tool is as shown in the upper half of Fig. 3 a. This axis is driven by a rotating motor and a ball screw. An encoder and a linear scale are used for closed loop control in velocity loop and position loop, respectively. The servo feed system of the Y axis has the longest mechanical series, including the mechanical transmission of the Y axis and the cascaded mechanical series of the Z, A, and C axes. The upper half of Fig. 3 b and c shows the mechanical and control structure of a ball screw feed system with semiclosed loop and the mechanical and control structure of a linear motor feed system.

Fig. 3
figure 3figure 3figure 3

ac The definition, styles, and causes of dynamic error

It can be seen from the upper half of Fig. 3 that the actual displacement of axis is the actual displacement at the effector end of axis (e.g., the cutter or worktable). Thus, according to the definition put forward by Zhao [34], the dynamic error is the deviation of the actual displacement at the effector end of axis relative to the reference (setpoints) displacement in the feed motion.

2.2 Components and causes of dynamic error

It can be seen from the upper half of Fig. 3 that the deviation between the effector end displacement and the reference (setpoints) displacement can be divided into two components: the dynamic error inside the servo loop (component 1) and the dynamic error outside the servo loop (component 2).

2.2.1 Component 1: dynamic error inside the servo loop (tracking error)

Component 1 is the dynamic error inside the servo loop, which is usually called tracking error. For closed loop-controlled servo feed system, the tracking error is the deviation between the linear scale detecting displacement and the reference displacement, as shown in Fig. 3 a and c; for the semiclosed loop-controlled servo feed system, the tracking error is the deviation between the motor encoder detecting displacement and the reference displacement, as shown in Fig. 3 b.

The feed rate of setpoints at high-speed machining sculptured surface is usually not constant. The variable feed rate causes the tracking error to change along with it. Therefore, the tracking error is called as the dynamic error in some researches.

Slamani et al. [35] referred to the tracking error as servo error or servo dynamic error. Their research showed that the higher the feed rate is, the larger the servo dynamic error is. The servo dynamic error accounted for 80% of the volume error at a feed rate of 10 m/min. Soon afterward, Slamani et al. [36] established the prediction model of servo dynamic error, which took the difference between output and input of the second-order system closed loop transfer function as the servo dynamic error. Chiu and Yao [27] referred to dynamic error as dynamic positioning error and stated that the dynamic position error was caused by the lack of bandwidth in the servo feed system. Zhao et al. [34] divided the tracking error into two states: steady state and transient state. The steady-state error is the position tracking error caused by time lag which is caused by acceleration and deceleration process and servo control. The transient error is the deviation between the reference displacement and the actual displacement caused by the adjustment and vibration excited by the sudden change of the setpoints. Zhong et al. [37] stated that the dynamic error is sensitive to tool trajectory and feed rate.

To sum up, the servo errors, servo dynamic errors, and dynamic positioning errors mentioned above are the deviation between the linear scale/encoder detecting displacement and the reference displacement. They are essentially the tracking errors which therefore belong to component 1 of dynamic error.

Component 1 of dynamic error originates from the phase lag of the servo system, but more importantly originates from the contradiction between the high setpoint bandwidth and the low servo bandwidth. When the setpoint bandwidth is larger than the servo bandwidth, the useful frequency component in setpoints which exceeds the servo bandwidth cannot be realized. The increase of the feed rate, acceleration, and jerk lead to the increase of the setpoint bandwidth, hence result in the increase of the tracking error. Servo bandwidth is related to mechanical dynamic characteristics. The mechanical modes both inside the servo loop and outside the servo loop may be the factors that limit the increase of servo bandwidth, as shown in lower half of Fig. 3.

2.2.2 Component 2: dynamic error outside the servo loop

Component 2 is the dynamic error outside the servo loop. For closed loop-controlled servo feed system, it is the deviation between the effector end displacement and the linear scale detecting displacement, as shown in Fig. 3 a and c; for the semiclosed loop-controlled servo feed system, it is the deviation between the effector end displacement and the motor encoder detecting displacement, as shown in Fig. 3 b.

In high-speed machining, the setpoints not only have high feed rate, but also have high acceleration. For example, for a given circular/corner path, when the path velocity is doubled, the required acceleration is increased by four times [38].

High acceleration causes high inertia force and, consequently, leads to the elastic deformation of mechanical series [39]. The jerk is the change rate of the acceleration which is regarded as the dynamic excitation [40], exciting the vibration of mechanical series. When the high acceleration and jerk act on the mechanical series outside the servo loop, it produces the deviation between the effector end and the closed loop/semiclosed loop detection point. This part of the error cannot be detected and controlled directly by the servo loop because the mechanical series is outside the servo loop. According to the difference of control type and mechanical structure, this kind of deviation can be classified into two cases: ball screw feed system with semiclosed loop control, as shown in Fig. 3 b and ball screw feed system and linear motor feed system with closed loop control, as shown in Fig. 3 a and c.

  1. 1.

    Ball screw feed system with semiclosed loop control

When the high acceleration and jerk of setpoints is input to the servo feed system, the mechanical transmission yields inertial force and inertial force excitation. For the ball screw servo feed system, the table is linked with the servo motor by the screw. Due to the finite stiffness, on the one hand, the screw produces torsion [41,42,43,44] and elongation/compression [45] elastic deformations [46] under the action of inertia force, resulting in the difference between the motor and the worktable (this difference is also known as lost motion [43, 44] or loss of momentum [47]). On the other hand, under the action of inertial force excitation, the screw produces vibration. Therefore, the dynamic error includes elastic deformation and vibration.

In semiclosed loop control, the servo system uses the signal of the encoder attached to the motor as the feedback signal, which can only control the error at the motor, but cannot correct the error at the worktable’s position caused by the elastic deformation of the screw [42].

In closed loop control, the servo system uses the signal of linear scale as the feedback signal, which can significantly reduce the elastic deformation of the screw [45, 46]. However, the vibration caused by inertial force excitation still exists. This kind of vibration is an important factor to limit the improvement of the servo bandwidth, which affects component 1 of dynamic error.

To sum up, for the ball screw feed system with semiclosed loop control, this component of dynamic error includes elastic deformation and vibration of mechanical transmission which originates from the acceleration and jerk of setpoints, respectively.

  1. 2.

    Ball screw feed system and linear motor feed system with closed loop control

For the multi-axis machine tool with series structure, because of the limitation of the structure, the feedback elements in some axes, such as linear scales, cannot be installed close to the end of effector, even if the closed loop control is adopted, which results in many mechanical series outside the servo loop. Whether it is the ball screw feed system shown by Fig. 3 a or the linear motor feed system shown by Fig. 3 c, the feedback position is far from the effector end.

Under the action of the acceleration of setpoints, the mechanical series outside the servo loop produces the inertial force which has usually an offset from the driving force (the driving force and the inertial force are not on the same line). The offset further produces the moment of inertial force [48] which causes the elastic deformation of the mechanical series [38, 49,50,51], as shown in Fig. 4. The amplitude of the elastic deformation is linearly correlated with the acceleration and offset distance [53].

Fig. 4
figure 4

Elastic deformation of mechanical series outside the servo loop caused by inertial force [52]

Under the action of jerk of setpoints, the eigenmodes of mechanical series outside the servo loop can be excited [51], which lead to the vibration of mechanical series outside the servo loop [38, 49, 50]. In order to eliminate the vibration, it is necessary to limit the jerk [11, 54].

The elastic deformation and vibration of the mechanical series outside the servo loop cannot be controlled by the closed loop [11, 54,55,56,57]. It can lead to surface quality defects in high-speed milling of corners, sharp edges, and S-shaped curves, which are typical technological features with significant elastic deformation and vibration. Large and heavy machine tools usually produce a larger elastic deformation and vibration at a given acceleration. Columnar and portal machine tools are more likely to produce elastic deformation and vibration than C-shape and box-in-box machine tools [52].

The elastic deformation and vibration of the mechanical series outside the servo loop, directly relating to the inertial force and inertial force excitation [58], are widely regarded as the dynamic error. However, the definition of the dynamic error is different according to different concerns. Bringmann and Maglie [51] defined the dynamic error as dynamic path error, which is the relative dynamic displacement between the tool and workpiece at the tool tip point. By using the R-test method, they measured the error of the dynamic trajectory in three translational degrees of freedom, in which one was the feed direction and the other two were perpendicular to the feed direction. ISO 230-8 defined the dynamic displacement at the tool tip as inertial cross-talk [59]. Andolfatto et al. [60] defined the additional error as the dynamic geometric error, which is produced in high feed rate, as shown in Fig. 5. This error is from the elastic deformation of the mechanical series with the action of inertial force during the acceleration process. They also found that the dynamic geometric error is related to the feed rate, and also positively correlated with the feed acceleration. In addition, the dynamic geometric error is obvious at the sharp corner. Kono et al. [61] defined the error between the tool tip and control detector position as dynamic mechanical error. They pointed out that the error is mainly caused by the dynamic response of the mechanical system.

Fig. 5
figure 5

Servo error, quasi-static error, and dynamic error defined by Andolfatto et al. [60]

To sum up, the dynamic geometric error, the dynamic trajectory error, and the dynamic mechanical error mentioned above are essentially the elastic deformation and vibration of mechanical series outside the servo loop. Therefore, these errors belong to component 2 of dynamic error which originates from the acceleration and jerk of setpoints, including the elastic deformation and vibration of mechanical series outside the servo loop. The acceleration produces the inertial force and, hence, causes the elastic deformation, while jerk as an excitation arouses the vibration.

The dynamic error consists of inside servo loop dynamic error and outside servo loop dynamic error. In Section 2, the concepts mentioned in the literature (as shown in Table 1) such as the servo dynamic error, dynamic position error, dynamic geometric error, dynamic trajectory error, etc. are essentially one component of dynamic error.

Table 1 Literatures about the definition, components, and causes of dynamic error

The dynamic error is the deviation between the actual displacement of the axis and the reference displacement and is the superposition of the dynamic errors in component 1 and component 2. The component dominating of dynamic error is related to many factors, including mechanical structure, control system, setpoints, tool path, etc. But in general, the dominating component depends on the servo feed system itself and its input (setpoints) [62]. Consequently, this review induces the components and the causes of dynamic error from the two dimensions: the servo feed system itself and its input, as shown in the lower half of Fig. 3.

The requirement of CNC machine tools is to coordinate the movement of the axes to trace a predetermined trajectory of the tool relative to the workpiece accurately [63]. If the dynamic error of all the individual axes can be minimized to a very small value, the trajectory accuracy can be realized. Therefore, Sections 3 and 4 will summarize the research works of minimizing dynamic error from the aspects of the servo feed system itself and input, respectively. However, the dynamic error of individual axis is often difficult to be completely eliminated. In this case, the trajectory accuracy can only be ensured by coordinating the dynamic error of all the individual axes. Therefore, in Section 5, some research works on coordinated control will be summarized.

3 Minimizing the dynamic error from the aspects of the servo feed system itself

3.1 Improvement of the phase– and amplitude–frequency characteristics for minimizing the dynamic error inside the servo loop (component 1)

3.1.1 Improvement of phase–frequency characteristic by reducing phase lag

The phase lag causes the time delay between the actual displacement and the reference displacement. The representative solving method for the phase lag is the zero phase error tracking controller (ZPETC) proposed by Tomizuka [64], as shown in Fig. 6. ZPETC takes the inverse of the servo feed system model as the feed forward transfer function on the basis of elimination for the unstable poles, making the phase difference in the steady state to be 0 in the frequency domain and the static (frequency is 0) gain to be 1. Funahashi and Yamada [65] improved the phenomenon of ZPETC gain decreasing with the increase of frequency by means of feed forward gain filter compensator. ZPETC can only be used in a low-frequency range, but cannot implement effective control in a high-frequency range (e.g., circular follow process) [66].

Fig. 6
figure 6

Zero phase error tracking controller (ZPETC) developed by Tomizuka [64]

ZPETC depends on the accuracy of the system model [66]. The variation of the system parameters and disturbance can result in the failure of the controller. To enhance antiparameter variation and antidisturbance ability, ZPETC needs to combine with friction, reverse gap and trajectory error compensation [67], disturbance observer [68], and robust controller [69].

3.1.2 Improvement of amplitude–frequency characteristic by increasing bandwidth

With the development of high-speed machining, the feed rate has been increasing. The high feed rate leads to the high-frequency setpoint bandwidth exceeding the servo bandwidth, which is the main factor causing the tracking error [70]. Therefore, control methods to increase servo bandwidth have been attracting much attention.

The servo bandwidth of ball screw servo feed systems can only reach 30 Hz [16] to 50 Hz [62]. When the feed rate reaches 40 m/min and the acceleration reaches 2 g, the servo bandwidth must reach 100 Hz for effective control of the tracking error in the machining of aeronautical structural parts [70].

For the ball screw servo feed system, the axial and torsional vibration modes of the screw limit the servo bandwidth. Chen and Tlusty [71] compensated the two torsional vibration modes by zero pole cancelation. They increased the servo bandwidth to 100 Hz. Erkorkmaz and Kamalzadeh used adaptive sliding mode controller to suppress the first-order axial vibration mode [72] and the notch filters to suppress the first- and second-order torsional vibration modes [73], which increased the servo bandwidth to above 200 Hz, as shown in Fig. 7.

Fig. 7
figure 7

Sliding mode and notch filter controller proposed by Erkorkmaz and Kamalzadeh [72]

In addition to using filters to increase servo bandwidth, researchers have been exploring advanced control strategies. Altintas et al. [74] developed an adaptive sliding mode controller to increase the servo bandwidth of the ball screw servo feed system to above 60 Hz. Then Okwudire and Altintas [75] proposed adaptive disturbance discrete-time sliding mode controller to increase servo bandwidth above 200 Hz. Pritschow and Croon [76] placed low stiffness bearings and large dampers in servo feed systems to increase the servo bandwidth by six times. Verl and Frey [77] proposed a semi-active damping control method using a friction-based actuator to selectively suppress vibrations, which increased the bandwidth of the position loop by 100%. Moreover, the jerk was doubled under the same tracking error (Fig. 8).

Fig. 8
figure 8

Control structure for the feed drive with semi-active damping proposed by Verl and Frey [77]

Sun et al. [78] proposed an additional table speed control loop based on the traditional P-PI cascade control structure to increase the bandwidth of the position loop, as shown in Fig. 9. Based on this control structure, the speed difference between the motor and the table was used as the mechanical vibration to the speed controller to increase the position loop bandwidth by 80% [79]. Since then, they [80] further improved this method by setting the speed loop as a small gain proportional control and setting the position loop as PD control, as well as adding the disturbance observer, which increased the bandwidth of the position loop by 200% and decrease the tracking error by 70%.

Fig. 9
figure 9

P-PI control structure with an additional table speed loop developed by Sun et al. [78]

Sencer and Dumanli [81] proposed an optimal controller using the load side feedback signal. With their controller, the bandwidth was increased to more than 300 Hz at a feed rate of 48 m/min and acceleration of 2.5 g, and the tracking error was reduced to 40 μm without feed forward compensation. Liu et al. [82] analyzed the reason of bandwidth limitation from the point of view of noncollocated control. They stated that the position feedback point and driving point of the motor were noncollocated under closed loop control. The noncollocated control caused the nonphase vibration and instability and, hence, resulted in the limitation of the bandwidth. They used the peak filter control to adjust the nonphase vibration to the in-phase vibration, as shown in Fig. 10. As a result, the gain of the speed control loop was increased, and the negative effect of noncollocated control on the position control loop was eliminated. Dumanli and Sencer [83] presented an optimal noncollocated pole placement control technique for flexible ball screw drives, in which a kinematic state observer was developed that fused accelerometer and encoder measurements together to enable noncollocated control on ball screw drives.

Fig. 10
figure 10

An intelligent noncollocated control strategy for ball screw feed drives with dynamic variations proposed by Liu et al. [82]

In order to suppress the vibration, additional active damping needs to be added in the closed loop. Fanuc proposed a vibration damping control function which could suppress the vibration by inputting the difference value of encoder and linear scale to the torque command [84]. Heidenhain developed an active vibration damping option which could reduce the low-frequency vibration from the mechanical transmission as well as the whole machine [85].

Increasing the bandwidth of the servo system can reduce the tracking error, but may result in a larger sensitivity to higher-frequency disturbances. In order to balance tradeoffs between low-frequency tracking properties and high-frequency disturbance sensitivity, van Loon et al. [86] proposed a bandwidth-on-demand variable gain control strategy, as shown in Fig. 11, which is able to adjust controller gain online to achieve bandwidth adjustment according to the variation of feed rate.

Fig. 11
figure 11

The bandwidth-on-demand variable gain control strategy proposed by van Loon et al. [86]

3.2 Control methods for dynamic error outside the control loop (component 2)

3.2.1 The compensation of screw elastic deformation of ball screw servo feed system with semiclosed loop control

Component 2 of dynamic error of a ball screw feed system with semiclosed control is as shown in Fig. 3 b.

In order to reduce the elastic deformation of the ball screw under the semiclosed loop control, Lim et al. [41] proposed a torsional displacement compensation method including an algorithm of torsional displacement feedback and an estimation method of torsional displacement. Kamalzadeh et al. [45] established the relationship between elastic deformation and inertia force for estimating the elastic deformation. The estimated elastic deformation was compensated by offsetting the setpoints. Huang et al. [46] derived the expressions of inertial force, viscous forces, and elastic deformation in the feed motion. On this basis, they developed an interpolation algorithm which could generate the modified setpoints to compensate the elastic deformation, as shown in Fig. 12.

Fig. 12
figure 12

The elastic deformation compensation interpolation (EDCI) module proposed by Huang et al. [46]

3.2.2 The control of dynamic error outside the servo loop of the servo feed system with closed loop control

For a ball screw feed system and a linear motor feed system with closed loop control, component 2 of dynamic error is as shown in Fig. 3 a and c.

The control for component 2 of dynamic error should be carried out on the basis of online estimation or offline measurement. The model-based control, actual position estimation of effector end through external sensors, and measurement are the main methods employed in the current research.

In terms of model-based control, Wang et al. [87] established a dynamic model of three-axis gantry machine tool considering inertial force and analyzed the effect of coupling force on tool tip point deviation during acceleration and deceleration. Parenti et al. [52] decomposed the dynamic error at high acceleration feed into static component proportional to instantaneous acceleration and dynamic component coming from the vibration excited by jerk. On this basis, a model-based compensation scheme was proposed, as shown in Fig. 13. Matsubara et al. [88] proposed a model reference feedward controller.

Fig. 13
figure 13

Model-based compensation scheme proposed by Parenti et al. [52]

In terms of actual position estimation of effector end through external sensors, Zatarain et al. [57] employed an acceleration sensor installed near the tool to predict the position of tool center point. They used the predicted position as the position feedback instead of the position read by the linear scale. Denkena et al. [89] integrated Kalman filter into the cascaded control of the servo feed system based on the mechanical rigid body model, as shown in Fig. 14. Receiving the tool vibration data measured by laser vibrometer and linear scale data, the Kalman filter could predict the position and velocity at tool tip point and sent it as feedback signals.

Fig. 14
figure 14

Integration of the Kalman filter in the cascaded control proposed by Denkena et al. [89]

In terms of measurement, Weikert [90] put forward the R-test measuring device, which was used to measure the error of the five-axis machine tool. Based on this measuring device, as shown in Fig. 15, the measurement and evaluation method of dynamic 3D trajectory error of the five-axis machine tool at the tool tip point was investigated by Bringmann and Maglie [51]. Thoma et al. [55] also used the R-test to measure the pitching errors caused by inertial force. They classified the pitching error into inertial cross-talk and inertial in-talk. The inertial in-talk is the position deviation along the feed direction, while the inertial cross-talk is the straightness deviation along the direction perpendicular to the feed direction. Steinlin et al. [91] compensated cross-talk error offline based on the actual measurement data. Keck et al. [92] proposed an active control system including a model-based compensation system for dynamic errors to increase acceleration. An optical sensor permitting the direct measurement of the actual tool center point position was used for system identification of the required dynamic model.

Fig. 15
figure 15

The measurement of the accuracy of dynamic trajectory using the R-test [51]

4 Minimizing the dynamic error from the aspects of the servo feed system input (setpoints)

The setpoints, as the inputs of the servo feed drive system, are generated by interpolation of the CNC system. The setpoint interpolation is a process in which the geometric tool path is transformed into the temporal motion setpoints of machine tool axes under the multiconstraints of geometric precision, kinematic constraints of axes, smoothness motion profile, etc. Firstly, the setpoints must meet the requirements of tool path geometric accuracy [93]. Secondly, the setpoints should make full use of the kinematic constraints of machine tool axes to increase the machining efficiency [94]. Finally, the setpoint profile (feed rate/accelerate/jerk profile) should be smooth, so that it is easy to achieve high tracking accuracy and free of vibration [95].

Among the many constraints in the interpolation process, the smoothness of setpoints is the main factor that affects the dynamic error. The smoothness of setpoints requires the smoothness of the feed rate, acceleration, and jerk profile. If the feed rate profile is not smooth, the setpoint bandwidth increases, and the servo system is not able to follow the useful frequency component of the setpoints beyond the servo bandwidth, resulting in the tracking error. If the acceleration and jerk profiles are not smooth, the setpoints contain more frequency components, which can easily excite the vibration of mechanical structure.

Many factors, such as the programmed feed rate, limitation of acceleration and jerk, and the curvature of the tool path and so on, affect the dynamic error through the smoothness of the feed rate, acceleration, and jerk profile. Generally, the smoothness of setpoints is related to the CAM and CNC. In the CAM, the generated tool path itself should be smooth. In the CNC, the generated feed rate profile should be smooth.

4.1 Tool path smoothing

Some CAM systems can generate NC codes in parametric curve formats which are C2 continuous. Directly interpolating these parameter curves, CNC systems can generate smooth setpoints [96, 97]. Interpolation algorithms on parametric curves, such as quintic spline [98], polynomial curve [99], hermit curve, B-spline curve [100], Bezier curve [101], Akima curve [102], NURBS-based parametric curves [103], etc., have been widely investigated, in which NURBS-based parametric curves are paid more attention [104, 105]. The interpolation for parametric curves is essentially an optimization problem, and it is extremely difficult to get the time-optimal solution. In order to solve this problem, Zhong et al. [106] developed a real-time interpolator for parametric curves, in which the look-ahead length was dynamically adjusted to minimize the computation load. Moreover, the interpolator took into consideration of constraints from machine dynamics and contour error while maintaining the feed rate as high as possible.

At present, most CAM systems cannot output parametric curve tool paths, but can only output polygonal tool paths composed of consecutive line segments. Polygonal tool paths are only continuous in position, but its tangent and curvature are discontinuous. In the corners of consecutive line segments, smooth setpoints cannot be interpolated. The motion must stop at the corner shallowly; otherwise, the driver will violate the maximum acceleration and jerk limitation.

The methods of generating smooth motion without stopping along the polygonal tool path are global smoothing [107] and local corner smoothing [108] of the tool path by parametric curves.

Global smoothing employs parametric curves to approximate the discrete reference points in tool paths, which can be carried out in the workpiece coordinate system or in the machine tool coordinate system [108, 109].

Local smoothing employs transition parameter curves to blend the corners in consecutive line segments locally, as shown in Fig. 16. The basic arcs, quadratic curves, quintic curves [110,111,112], cubic B-splines [113], PH curves [108, 114], etc. are selected as transition parameter curves, in which cubic B-splines have the lowest degree to achieve G2 continuity. The transition curves overlap with each other when the two adjacent lines are not long enough. In order to avoid this problem, Tajima and Sencer [115] developed a method of interpolating the velocity and acceleration of the axis near the corner directly.

Fig. 16
figure 16

Smoothing sharp corner with quintic B-spline [110]

The smoothness of the five-axis tool path is more complex than that of the two-/three-axis tool path, which requires not only the smoothing of the tool tip path, but also the tool orientation path. Beudaert et al. [116] used the dual spline approach to smooth the five-axis tool path. One spline was used to smooth the tool tip path and the other one was used to smooth the tool orientation path. Tulsyan and Altintas [110] adopted the quintic and heptic micro splines, respectively, to smooth the tool tip path and the tool orientation path. Shi et al. [108] used a pair of quintic PH curves to round the corners of the tool tip path and the tool orientation path. Tajima and Sencer [117] proposed an online interpolation of five-axis machining tool path in workpiece coordinates. TCP motion was interpolated and locally blended in Cartesian coordinates by finite impulse response filtering of axial velocity components, and tool orientation was blended directly in spherical coordinates.

4.2 Setpoint profile smoothing

Setpoint profile smoothing is usually called as feed rate planning or feed rate interpolation, which is a key task of the CNC system to generate a setpoint for each axis. Feed rate planning is a multiconstraints problem which needs to take into account restrictions of geometric errors, kinematic parameters, smoothness of setpoint profiles, etc. [118].

Firstly, the feed rate planning needs to consider the geometric error which is influenced by both the feed rate and the curvature of the tool path. Under the same tool path curvature, the larger the feed rate is, the greater the geometric error is. Therefore, for the tool path with sharp curvature change, the feed rate should be adjusted with the curvature change in order to improve the machining efficiency under the premise of satisfying the geometric error [119].

The traditional constant increment interpolators [100], updating the parameter u uniformly with a constant increment, can cause significant feed rate fluctuation. The constant feed rate interpolators, using Taylor’s series to calculate the parameter u, can keep the constant feed rate [120]. However, this method causes very large chord errors on the break points with just C0 continuity and on the critical points with high curvature [121]. The adaptive feed rate interpolators can adaptively adjust the feed rate according to the relation among feed rate, geometric error, and curvature [122, 123]. Jia et al. [124] defined a large curvature region with the allowable feed rate less than the programmed value as the feed rate-sensitive region. Different constant feed rates were assigned in different sensitive regions to further improve the smoothness of feed rate profile.

Secondly, the feed rate planning should avoid the feed rate, acceleration, and jerk of setpoints beyond the kinematic constraints of each axis [125, 126]. In addition, the kinematical ability of the machine tool can be making the best use to improve the machining efficiency by the look-ahead scheme [109, 127, 128]. In the consecutive line segment interpolation, the look-ahead scheme realizes the maximum feed rate under the restriction of the machine tool kinematic parameters through the pre-read several blocks of NC codes [129]. It can not only overcome the frequent start/stop motions, but also improve the machining efficiency. Furthermore, the look-ahead scheme can detect the position and adjust the feed rate at the sharp corner in the consecutive line segment interpolation, as well as the parametric curve interpolation [107, 130].

Finally, the feed rate planning should make the setpoint profiles as smooth as possible. The acceleration-limited trapezoidal-shape feed rate planning can just generate the continuous feed rate profile [131]. The jerk-limited S-shape feed rate planning can generate the continuous feed rate and acceleration profiles [98, 113, 121, 129, 132], while the jerk continuous (such as trigonometric) feed rate planning can realize the continuous feed rate, acceleration, and even jerk profiles [133]. Altintas et al. [16] compared the spectrum of acceleration profile generated by trapezoidal feed rate planning (velocity continuity), trapezoidal acceleration feed rate planning (acceleration continuity), and cubic acceleration feed rate planning (jerk continuity), as shown in Fig. 17. The last one has the least amount of acceleration amplitude at high frequencies.

Fig. 17
figure 17

Comparison of setpoints under three acceleration/deceleration strategies [16]

In high-speed machining, cut feed rates greater than 60 m/min and accelerations higher than 2 g have been used. In such high feed rates and accelerations, even a small discontinuity in curvature or in tangency can result in jerk spikes and, consequently, in machine vibrations [134]. Therefore, eliminating the vibrations excited by jerk has been paid intensifying attention in the past few years. Shahzadeh et al. [134] proposed a path smoothing method using biclothoid fillets. The fillet fitting was not limited to line to line transitions. It can be fitted between two arcs or a line and arc as well. Tajima et al. [135] used a chain of FIR filters to generate the acceleration and jerk continuous feed rate. Sencer and Tajima [136] presented a feed rate planning technique, which had the capability to avoid excitation of inertial vibrations. In their method, the time-stamped acceleration profile of the feed profile was defined as a ninth-order polynomial. The polynomial coefficients were solved through an optimization procedure where the objective function penalized total frequency energy in a desired frequency band. As a result, generated reference acceleration commands did not contain any excitation near the vibration modes. Tajima and Sencer [115] proposed a real-time interpolation algorithm to generate continuous rapid feed motion along short segmented linear tool paths by smoothing local and adjacent corners that were within close vicinity to generate a global jerk-limited high-speed motion trajectory. Sencer et al. [137] presented a technique to generate reference trajectories with optimal frequency spectra to avoid machine tool vibrations during linear point-to-point and spline interpolation. In their method, reference acceleration profiles were generated so that their spectral energy was attenuated around vibration mode(s) of the machine.

The approaches of feed rate planning are generally divided into two categories. The first approach uses modeled process constraints in order to constrain velocities, accelerations, and jerks during a preprocessing operation. The second approach employs measured process parameters for limiting axis accelerations and velocities by adjusting the overall feed rate in real-time. Mansour and Seethaler [138] developed an algorithm that allowed combining the measured and modeled process constraints.

4.3 Setpoint filtering and shaping

In order to further eliminate the high-frequency components in the setpoints after tool path and feed rate smoothing, prefiltering and shaping techniques can be used to remove the frequency component which can excite the mechanical modes.

Weck and Ye [95] set a low-pass filter before ZPETC to filter out the high-frequency components, so that the control performance of ZPETC for corner tracking was improved. Liu et al. [130] used the notch filtering to eliminate the mechanical natural frequency component contained in the setpoints in NURBS parameter curve interpolation, as shown in Fig. 18.

Fig. 18
figure 18

NURBS parameter curve interpolation method with notch filter proposed by Liu et al. [130]

Singer and Seering [139] and Dietmair and Verl [140] investigated input shaping methods for avoiding the structural vibration. Altintas and Khoshdarregi [141] shaped the setpoints to avoid the excitation of the targeted structural frequencies. Jones and Ulsoy [142] designed the feedforward filter to shape the setpoints and reduced the peak-to-peak vibration magnitude by 50%. Okwudire et al. [143] developed a trajectory optimization method minimizing tracking errors in CNC machines that had unwanted vibration modes. The setpoints were parameterized using B-splines whose basis functions were filtered using a model of the machine’s dynamics.

To sum up, for reducing the dynamic error, algorithms of tool path smoothing, setpoint profile smoothing, and setpoint filtering and shaping are used by CNC systems. Not only can these algorithms contribute to reduce tracking error (style 1 of dynamic error), but also they play an important role of suppressing the elastic deformation and vibration (styles 1 and 2 of dynamic error). The advanced CNC systems, such as FANUC 30i [144], SIEMENS 840D [145], and HEIDENHAIN iTNC530 [146], have been equipped with these functions.

Setpoint smoothing mentioned above is the technology of reducing the dynamic error through decreasing or limiting the feed rate, acceleration, and jerk, but sacrifices the machining efficiency [52, 147]. In order to further reduce the dynamic error with the same machining efficiency, the contour error [124, 148, 149] induced by the constraints of servo lag and the machine natural frequencies [130] have been taken into account in the interpolation.

5 Coordinating the dynamic errors

Trajectory error control is the basic task of multi-axis machine tools. When the dynamic errors of each axis are very small, the trajectory errors are considered to be very small. However, for the reasons listed in Sections 3 and 4, the dynamic errors of each axis or one axis cannot be effectively reduced to a small extent in some situations. At this point, coordinating dynamic error of individual axis is the choice for controlling the trajectory error.

5.1 Cross-coupling controller

Cross-coupling controller (CCC), developed by Koren [63], was first used to control the trajectory error of the two-axis linear trajectory.

CCC consists of two parts. One part is trajectory error estimation. The trajectory error is solved according to the geometric relation between tracking error and trajectory error [63, 150, 151]. The estimation method of trajectory error for a linear trajectory is relatively simple. The trajectory error is expressed as a function of tracking error and the slope of the linear trajectory. Figure 19 shows the trajectory error of the linear trajectory caused by tracking errors of two axes.

Fig. 19
figure 19

Trajectory error of the linear trajectory caused by tracking errors of two axes [63]

The trajectory error estimation methods for free form curves are relatively complex, which can be generally divided into two categories: local geometric approximations and iterative searches. The major problem of trajectory error estimation is that the approximation precision degrades in sharp corner regions [66, 152]. For example, the trajectory error estimation method of iterative searches suffers from the sudden change of trajectory error vector directions in regions of large curvature, which will lead to “lost corners” and cause sudden changes of acceleration in trajectory control. To combat this, Yang et al. [153] developed a computationally efficient nonparametric trajectory error estimation method for trajectory control. It first localized the large curvature regions and then modified the trajectory error vectors to sweep smoothly through the corner.

The other part of CCC is the control law of eliminating the trajectory error. The control law can be PID control, optimal control [154], adaptive control [155], fuzzy logic control [156], and robust control [157]. The structure of the CCC is shown in Fig. 20.

Fig. 20
figure 20

Cross-coupling controller (CCC) [150]

The CCC locates in the position loop. In order to ensure the control effect, the bandwidth of the CCC should be smaller than that of the position loop [158]. The frequency of trajectory error is generally very low, which can meet this requirement. Therefore, CCC can achieve good results in reducing trajectory error.

Due to the two rotary axes, the trajectory error estimation of the five-axis machine tool is more complicated. It was not until 2002 that Lo [159] reported five-axis CCC. His controller consisted of a real-time transformation between the machine tool coordinate and the workpiece coordinate. The tracking errors were firstly transformed to the workpiece coordinate for the estimation of trajectory error and the solving of control law. And then the control law was transformed to machine tool coordinate by inverse Jacobian matrix kinematics transformation, as shown in Fig. 21. The trajectory error estimation of the tool tip was obtained by the tangential projection along the tool path, and the trajectory error estimation of the tool orientation was calculated by the tracking errors of the two rotation axes.

Fig. 21
figure 21

The five-axis cross-coupling controller proposed by Lo [159]

Altintas and Sencer [160] established a method to estimate the trajectory error of a five-axis tool tip and a tool orientation trajectory error and realized the real-time compensation of the trajectory error by the sliding mode controller. Yang et al. established a kinematics model for five-axis machine tools with various structural types by using the spinor theory [161]. They improved the trajectory error estimation method [162], and then developed a trajectory error control method for five-axis machining based on model predictive control [163]. Li et al. [164] proposed a double sliding mode contour control method, which could meet the requirements of reducing the trajectory error and meanwhile suppressing the mechanical vibration. Dong et al. [165] presented a five-axis CCC based on the double NURBS parametric interpolation algorithm. In a general way, trajectory error is estimated as the distance from the actual point to the line between each interpolation points. It neglects the error between the reference curve and interpolation line segment. To eliminate the influence on the accuracy of trajectory error estimation, Li et al. [166] constructed the Ferguson curve to approximate the reference curve between the interpolation points.

The CCC is a feedback control system based on online estimation of trajectory error. The control signal needs to be generated by the previous error signal. It is essentially a passive control method that produces trajectory error first and then adjusts/compensates it. To achieve lead control of trajectory error, Wang et al. [167] presented a trajectory error dynamical model-based position loop feedforward control strategy, which is completely different from the existing CCC.

In addition, the CCC uses the tracking error to estimate the trajectory error. Therefore, it can just compensate the trajectory error originating from the dynamic error of component 1.

5.2 Servo dynamics matching

Matching the servo dynamics of each axis, put forward by Poo et al. [168], was first used to analyze the trajectory error of linear trajectory. Xi et al. [169] further investigated the matching method of two-axis servo gain in circular trajectory machining.

For the five-axis machine tools, some specific methods were designed to explore the matching methods. Smith [70] identified the difference of servo bandwidth of each axis of the five-axis machine tool. A delay was added in the high bandwidth axis, so that it could be synchronized with the low bandwidth axis. Lei et al. identified the dynamic difference between rotary and rotary axes [170] and linear and rotary axes [171] in a five-axis machine tool by means of a ballbar. Through adjusting the position loop gains, the mismatch of servo dynamics between rotary and rotary axes and linear and rotary axes was eliminated. Later, Lei et al. [172] developed a universal test method by means of a ballbar which could inspect dynamic errors of all linear and rotary axes in a five-axis machine tool equipped with any type of CNC systems. Lin and Wu [173] stated that the mismatch of the servo dynamics between the linear axis and the rotary axis in the five-axis machine tool was the main reason for the machining error of the ISO10791-6 test trajectory. Wang et al. [174] and Jiang et al. [175] analyzed the trajectory error of the S-shaped piece. They also stated that the servo parameters affected the trajectory error. Duong et al. [176] presented an offline gain adjustment approach to reduce trajectory error in five-axis machining.

5.3 Tool path planning considering the dynamics mismatch

Tool paths directly affect the feed rate, acceleration, and jerk profiles assigned to each axis. Therefore, it directly affects the dynamic error of individual axis.

The classical methods of tool path planning, including iso-parametric, iso-planar, iso-scallop methods, etc., mainly focus on geometry accuracy by restraining scallop heights. In some new tool path planning methods, the influences of the tool path on cutting width [177,178,179], material removal rate [180, 181], and tool deformation [182] are further considered. However, the performance of machine tools, such as dynamic error, has not been considered in tool path planning.

Recently, Lu et al. [183] established the mathematical relationship between cutting direction, dynamics mismatch of feed axes, and trajectory error of a three-axis machine tool, as shown in Fig. 22. According to the dynamics mismatch of a three-axis machine tool, the optimal cutting directions could be determined for minimizing trajectory error. They verified that it is feasible in theory that the tool paths could be generated along the optimal cutting directions for reducing the trajectory error caused by dynamics mismatch between feed axes.

Fig. 22
figure 22

The geometrical relationship between tracking errors, trajectory errors, and cutting directions established by Lu et al. [183]

6 Conclusions

High-speed machining requires not only high feed rate, but also high feed acceleration and jerk. In sculptured surface machining, tool paths with large curvature change (such as sharp corner) increase the severity of feed rate change and further raise the requirement of feed acceleration and jerk. Under these situations, the dynamic error of machine tools often exceeds the geometric/thermo error, becoming the main reason that affects the machining error. Heretofore, although there are already many researches focused on the dynamic error, a systematic summary has not yet found in the literature. Therefore, in this review, the definition, components, and causes of dynamic error are summarized, and the research works on reducing the dynamic error are reviewed. Subsequently, some conclusions are drawn as follows:

  1. 1.

    The dynamic error is the deviation of actual displacement of effector end of axis relative to reference displacement during feed motion. The dynamic error presents two components according to the servo feed system itself and its input (setpoints): component 1 is the dynamic error inside the servo loop, which is mainly caused by the contradiction between the high bandwidth of setpoints and the low servo bandwidth of the servo feed system; component 2 is the dynamic error outside the servo loop, which originates from the elastic deformation and vibration of mechanical series outside the servo loop caused by the acceleration and jerk of setpoints.

  2. 2.

    From the point of view of the servo feed system itself, the basic strategies to reduce the dynamic error of individual axis are as follows: decreasing the phase lag and increasing the bandwidth of the servo feed system to reduce the dynamic error inside the servo loop (component 1); estimating or measuring the dynamic error of mechanical series outside the servo loop to compensate for the elastic deformation and suppress the vibration (component 2).

  3. 3.

    From the point of view of the servo feed system input (setpoints), the basic algorithms to reduce the dynamic error of individual axis are mainly the tool path smoothing, setpoint profile smoothing, and setpoint filtering and shaping. With these algorithms, the setpoints are more easily followed by the servo feed system, so that the dynamic error inside the servo loop can be obviously reduced (component 1). Meanwhile, the high frequencies in the setpoints which cause the elastic deformation and vibration are removed out, so that the dynamic error outside the servo loop can be suppressed (component 2).

  4. 4.

    Under the situation that the dynamic error of individual axis cannot be sufficiently reduced, coordinating the dynamic error of each axis is the basic strategy for reducing the trajectory dynamic error. These strategies mainly include the CCC, servo dynamics matching of each axis, and the tool path planning with the consideration of dynamics mismatch.

The feed acceleration in high-speed machining will be increased from 2 to 10 g [16]. The increase of acceleration will inevitably lead to the increase of the setpoint bandwidth and the increase of the high-frequency component. Meanwhile, for the servo feed system of especially five-axis machine tools, the servo bandwidth and control ability on mechanical deformation and vibration are difficult to improve due to the flexible links and high-order modes of mechanical structures [184]. Therefore, resolving the contradiction between the setpoints and the servo feed system is a great challenge for dynamic error in high-speed machining. There are still many researches that need to be carried out in the future:

  1. 1.

    The feedforward control, filtering, and sliding mode control have greatly improved the performance of the servo feed system. For higher servo bandwidth, future research will be aimed at the intelligent control strategies, such as enhanced learning [185] and data-driven control [186].

  2. 2.

    Compared with the dynamic error inside the servo loop (component 1), the dynamic error outside the servo loop (component 2) has not been solved very well. Therefore, the control strategies on the dynamic error outside the servo loop should be further developed and integrated into dynamic error inside the servo loop-oriented control strategies.

  3. 3.

    Although the investigations focused on the servo feed system itself and its input have been intensively carried out, these two parts are generally isolated from each other. These two parts need to be considered as a whole, so that the servo feed system of each axis can adapt to the differences and changes of the setpoints, and the differences in the servo dynamics of each axis can be considered in the setpoints.