1 Introduction

To improve machine tool volumetric accuracy, it is important to measure and compensate for geometric errors caused by structural elements, which in turn cause kinematic errors, and for directly measured stiffness, gravity, and thermal errors [1]. Geometric errors can be divided into position-independent geometric errors (PIGEs) and position-dependent geometric errors (PDGEs) under no-load or quasi-static conditions [2]. The volumetric errors of three-axis machine tools are modeled using 23 geometric errors, including 6 PDGEs for each linear axis, 3 PIGEs between the linear axes, and 2 parallelism errors of the spindle axis [3, 4].

Both direct and indirect methods can be used to measure geometric errors [5, 6]. The direct methods involve single-axis control during measurement, while the indirect methods involve the control of more than one axis. Laser interferometry is widely used to measure the PDGEs of linear axes [7] by determining measurement points to compensate for the geometric errors [8] and using invariant approaches to replace the Abbe and Bryan principles [9]. A double ball-bar (DBB) can also be applied to identify kinematic errors using circular tests [10] and geometric errors by developing a reconfigurable mechanism model [11]. Additionally, PIGEs are identified by diagonal displacement tests using a laser interferometer [12] and a DBB with an extension fixture [13]. In summary [14], the PDGEs and PIGEs of machine tools are measurable in various ways and can be compensated via computerized numerical control to improve volumetric accuracy. However, only a few methods are available for identification of parallelism errors in a spindle axis. A mandrel method identifies parallelism errors by sequentially measuring deviations of the test mandrel in the X- and Y-directions, using a dial gauge with a moving Z-axis as depicted in G12 of ISO 10791-1:2015 [15]. However, the identified errors are affected by Z-axis PDGEs, and it is difficult to apply the method to the full travel of the Z-axis in machines with a vertical spindle, due to collisions between the mandrel and workpiece table [16]. A linear displacement sensor is used to measure a test sphere at different positions in 10.1.4.4 of ISO 230-1:2012 [3], and a DBB method featuring circular tests that employ tools of different lengths [17, 18] has been used to identify parallelism errors by enlarging the differences between tool lengths; however, such measurements are also affected by Z-axis PDGEs. In the case of five-axis machine tools, squareness errors, interchangeable with parallelism errors, are used to describe the spindle axis relative to a rotary axis; squareness errors can be identified using PIGEs of other axes with DBB measurements by simultaneous control of the linear and rotary axes [1, 19]. Thus, identified squareness errors are affected by the PDGEs of linear and rotary axes. The limitations arise because parallelism errors are representative angular deviations of the spindle axis relative to the Z-axis. Thus, it is essential to define the reference straight line of the Z-axis prior to parallelism error identification. However, the need to establish the reference line increases the cost of the test; a simpler and cheaper method is required.

In general, geometric errors are calculated as the sum of sensitivity coefficients multiplied by measured data [20]. Various factors contribute to the uncertainties of measured data [21]; the uncertainties of measured geometric errors are estimated by error budgeting [22]. On the contrary, the sensitivity coefficients are affected mainly by the measuring paths [23]. Thus, the root-sum-squared (RSS) values of sensitivity coefficients are used to determine measurement conditions under the assumption that the uncertainties of measured data are equal.

Here, we identified inherent parallelism errors of the machine tool spindle axis relative to the end-point reference straight line of the Z-axis (the line of ISO 230-1) using a dual difference method. This requires only two pairs of sequential circular tests, using a DBB with extension bars; thus, the method is simple and cost-effective. Section 2 introduces the dual difference method, including the measuring paths and the algorithm that identifies the parallelism errors. In Sect. 3, these errors are experimentally identified by the dual difference method, with analysis of the RSSs of the sensitivity coefficients. The identified errors are also validated by evaluating the positional deviations and concentricity of two holes machined using tools of different lengths, without and with error compensation. Section 4 provides the conclusion and summarizes the principal findings.

2 Dual Difference Method

2.1 Geometric Errors and Error Synthesis Model

The kinematic structure of the machine tool with a vertical spindle used in this study is shown in Fig. 1a, together with the reference coordinate system, as well as the linear axes and the spindle axis at the initial position of the spindle tip. Geometrically, spindle axis parallelism errors are representative angular deviations relative to the reference straight line of the Z-axis in the YZ and ZX planes, as shown in Fig. 1b. Three methods are commonly used to define the reference straight line for the Z-axis: the minimum zone, least-squares, and end-point methods [3]. We used the end-point method to identify inherent parallelism errors.

Fig. 1
figure 1

Experimental machine tool and end-point reference straight line of the Z-axis. a Kinematic structure of the machine tool. b Parallelism error in the YZ and ZX planes

Volumetric errors \({{\varvec{\uptau}}}_{W}^{t}\), as functions of the nominal coordinates (x, y, z), and geometric errors are derived using the homogeneous transformation matrix method [24] of Eq. (1). Here, (0, 0, ti) and (0, 0, hi) refer to the nominal position of a ball at the tool nose in coordinate system {S} and the nominal position of a ball on the workpiece table in coordinate system {X}, respectively, during DBB measurements. The set-up errors (wxi, wyi, wzi), which are caused by geometric errors and thus do not change during measurements, are used to describe the actual position of the ball on the workpiece table in the coordinate system {X}. It is not necessary to model the position of a ball at the tool nose using set-up errors, because it assumed that the ball is positioned on the spindle axis using adjustment fixtures [25].

(Workpiece branch).

\({{\varvec{\uptau}}}_{R}^{Y} = \left[ {\begin{array}{*{20}c} 1 & { - \varepsilon_{zy} } & {\varepsilon_{yy} } & {\delta_{xy} } \\ {\varepsilon_{zy} } & 1 & { - \varepsilon_{xy} } & { - y + \delta_{yy} } \\ { - \varepsilon_{yy} } & {\varepsilon_{xy} } & 1 & {\delta_{zy} } \\ 0 & 0 & 0 & 1 \\ \end{array} } \right]\),

\({{\varvec{\uptau}}}_{Y}^{X} = \left[ {\begin{array}{*{20}c} 1 & { - s_{zx} - \varepsilon_{zx} } & {\varepsilon_{yx} } & { - x + \delta_{xx} } \\ {s_{zx} + \varepsilon_{zx} } & 1 & { - \varepsilon_{xx} } & { - xs_{zx} + \delta_{yx} } \\ { - \varepsilon_{yx} } & {\varepsilon_{xx} } & 1 & {\delta_{zx} } \\ 0 & 0 & 0 & 1 \\ \end{array} } \right]\),

\({{\varvec{\uptau}}}_{X}^{W} = \left[ {\begin{array}{*{20}c} 1 & 0 & 0 & {w_{xi} } \\ 0 & 1 & 0 & {w_{yi} } \\ 0 & 0 & 1 & {h_{i} + w_{zi} } \\ 0 & 0 & 0 & 1 \\ \end{array} } \right]\),

(Tool branch).

\({{\varvec{\uptau}}}_{R}^{Z} = \left[ {\begin{array}{*{20}c} 1 & { - \varepsilon_{zz} } & {s_{yz} + \varepsilon_{yz} } & {zs_{yz} + \delta_{xz} } \\ {\varepsilon_{zz} } & 1 & { - s_{xz} - \varepsilon_{xz} } & { - zs_{xz} + \delta_{yz} } \\ { - s_{yz} - \varepsilon_{yz} } & {s_{xz} + \varepsilon_{xz} } & 1 & {z + \delta_{zz} } \\ 0 & 0 & 0 & 1 \\ \end{array} } \right]\),

\({{\varvec{\uptau}}}_{Z}^{S} = \left[ {\begin{array}{*{20}c} 1 & 0 & {p_{ys} } & 0 \\ 0 & 1 & { - p_{xs} } & 0 \\ { - p_{ys} } & {p_{xs} } & 1 & 0 \\ 0 & 0 & 0 & 1 \\ \end{array} } \right]\),

\({{\varvec{\uptau}}}_{S}^{t} = \left[ {\begin{array}{*{20}c} 0 \\ 0 \\ {t_{i} } \\ 1 \\ \end{array} } \right]\),

$$\begin{gathered} {{\varvec{\uptau}}}_{W}^{t} = \left( {{{\varvec{\uptau}}}_{R}^{Y} {{\varvec{\uptau}}}_{Y}^{X} {{\varvec{\uptau}}}_{X}^{W} } \right)^{ - 1} {{\varvec{\uptau}}}_{R}^{Z} {{\varvec{\uptau}}}_{Z}^{S} {{\varvec{\uptau}}}_{S}^{t} \hfill \\ = \left[ {\begin{array}{*{20}c} {x + y\left( {\varepsilon_{zx} + \varepsilon_{zy} + s_{zx} } \right) + z\left( { - \varepsilon_{yx} - \varepsilon_{yy} + s_{yz} } \right) - \delta_{xx} - \delta_{xy} + \delta_{xz} + t_{i} \left( { - \varepsilon_{yx} - \varepsilon_{yy} + \varepsilon_{yz} + s_{yz} + p_{ys} } \right) - w_{xi} } \\ { - x\varepsilon_{zx} + y + z\left( {\varepsilon_{xx} + \varepsilon_{xy} - s_{xz} } \right) - \delta_{yx} - \delta_{yy} + \delta_{yz} + t_{i} \left( {\varepsilon_{xx} + \varepsilon_{xy} - \varepsilon_{xz} - s_{xz} - p_{xs} } \right) - w_{yi} } \\ {x\varepsilon_{yx} - y\left( {\varepsilon_{xx} + \varepsilon_{xy} } \right) + z - h_{i} + t_{i} - \delta_{zx} - \delta_{zy} + \delta_{zz} - w_{zi} } \\ 1 \\ \end{array} } \right] \hfill \\ \end{gathered}$$
(1)

2.2 Measuring Paths and Identification Algorithm

The dual difference method features two pairs of circular tests; the results identify spindle axis parallelism errors relative to the end-point reference straight line of the Z-axis (Fig. 2). The first and third circular tests (Fig. 2a, c) are performed at the first point (z = 0) of the Z-axis, and the second and fourth tests (Fig. 2b, d) are performed at the last point (z = zmin = l2). The tool length ti and workpiece height hi are summarized in Table 1. Note that the offset l2 is equal to zmin; the DBB measurements are thus performed at the first and last points of the Z-axis when establishing the end-point reference straight line. Note that the set-up ball on the workpiece table is shared by each pair; this cancels set-up errors by the difference. Thus, the set-up errors of a ball on the workpiece table are the same within each pair; (wx1, wy1, wz1) = (wx2, wy2, wz2), (wx3, wy3, wz3) = (wx4, wy4, wz4).

Fig. 2
figure 2

Circular test paths of the dual difference method for identification of parallelism errors. a 1st path. b 2nd path. c 3rd path. d 4th path

Table 1 Signed tool length ti and workpiece height hi of measuring paths

The linearized relationships between the radial deviations ΔRij, and the geometric and set-up errors are shown in Eq. (2), which uses Eq. (1):

$$\begin{gathered} \Delta R_{ij} = \left\{ {\delta_{xx} + \delta_{xy} - \delta_{xz} + t_{i} \left( { - \varepsilon_{yz} - p_{ys} } \right) + h_{i} \left( {\varepsilon_{yx} + \varepsilon_{yy} - s_{yz} } \right) + w_{xi} } \right\}\cos \theta_{j} \hfill \\ \quad \quad \;\; + \left\{ {\delta_{yx} + \delta_{yy} - \delta_{yz} + t_{i} \left( {\varepsilon_{xz} + p_{xs} } \right) + h_{i} \left( { - \varepsilon_{xx} - \varepsilon_{xy} + s_{xz} } \right) + w_{yi} } \right\}\sin \theta_{j} + \frac{R}{2}\left( {\varepsilon_{zy} + s_{zx} } \right)\sin 2\theta_{j} \hfill \\ \end{gathered}$$
(2)

Equation (2) reveals that the radial deviations (ΔRij values) of a circular test are affected by geometric and set-up errors with sensitivity coefficients of cosθj, sinθj, and sin2θj, respectively. The mandrel method [15] measures radial deviations at θj = 0 and π/2 when R = 0. Thus, it is difficult to identify inherent parallelism errors using a circular test and/or a mandrel method, because both approaches require pre-measures of the geometric errors of the linear axes, as well as pre-measures of the set-up errors. Importantly, the effects of set-up errors on identified parallelism errors can be eliminated by comparing measured deviations at different Z-axis positions [16] and by sharing the circular test set-up among different tool lengths [17]. Nevertheless, these approaches are affected by Z-axis PDGEs and thus do not reliably identify inherent parallelism errors.

When identifying inherent parallelism errors using the dual difference method, all PDGEs at the first point of the Z-axis are assumed to be zero; the straightness errors δxz, δyz are also zero at the last point, given the definition of the end-point reference straight line of the Z-axis. The differences within pairs are affected by the angular errors εxz and εyz at the last point of the Z-axis, and the parallelism errors pxs and pys [Eq. (3)]. Note that the set-up errors (wxi, wyi, wzi) do not affect the differences because these errors are cancelled when the pairs are set-up (i = 1 and 2, i = 3 and 4). Finally, as shown in Eq. (4), the parallelism errors are derived using the dual difference, i.e., the difference of the differences of Eq. (3), and then identified analytically when the circular tests use full circles (\(\sum\nolimits_{j = 1}^{{n_{i} }} {\sin \theta_{j} }\) = \(\sum\nolimits_{j = 1}^{{n_{i} }} {\cos \theta_{j} }\) = 0) with equal numbers of samples (n1 = n2 = n3 = n4).

$$\begin{gathered} \left( { - l_{1} \left. {\varepsilon_{yz} } \right|_{{z = z_{\min } }} + l_{2} p_{ys} } \right)\cos \theta_{j} + \left( {l_{1} \left. {\varepsilon_{xz} } \right|_{{z = z_{\min } }} - l_{2} p_{xs} } \right)\sin \theta_{j} = \Delta R_{2j} - \Delta R_{1j} \hfill \\ \left\{ { - \left( {l_{1} + l_{3} } \right)\left. {\varepsilon_{yz} } \right|_{{z = z_{\min } }} + l_{2} p_{ys} } \right\}\cos \theta_{j} + \left\{ {\left( {l_{1} + l_{3} } \right)\left. {\varepsilon_{xz} } \right|_{{z = z_{\min } }} - l_{2} p_{xs} } \right\}\sin \theta_{j} = \Delta R_{4j} - \Delta R_{3j} \hfill \\ \end{gathered}$$
(3)
$$\left[ {\begin{array}{*{20}c} {p_{xs} } \\ {p_{ys} } \\ \end{array} } \right] = \frac{2}{{n_{i} }}\left[ {\begin{array}{*{20}c} { - \sum\nolimits_{j = 1}^{{n_{i} }} {\sin \theta_{j} \left\{ {\frac{{l_{1} + l_{3} }}{{l_{2} l_{3} }}\left( {\Delta R_{2j} - \Delta R_{1j} } \right) - \frac{{l_{1} }}{{l_{2} l_{3} }}\left( {\Delta R_{4j} - \Delta R_{3j} } \right)} \right\}} } \\ {\sum\nolimits_{j = 1}^{{n_{i} }} {\cos \theta_{j} \left\{ {\frac{{l_{1} + l_{3} }}{{l_{2} l_{3} }}\left( {\Delta R_{2j} - \Delta R_{1j} } \right) - \frac{{l_{1} }}{{l_{2} l_{3} }}\left( {\Delta R_{4j} - \Delta R_{3j} } \right)} \right\}} } \\ \end{array} } \right]$$
(4)

It is essential to explore the effects of measurement conditions on the measurement uncertainties of the parallelism errors identified in Eq. (4). Thus, the measurement uncertainties U(pxs) and U(pys) of the parallelism errors in Eq. (4) are derived in Eq. (5), under the assumption that the measurement uncertainties U(ΔRij) are equal. Here, the RSS values of the sensitivity coefficient consist of offset li (i = 1, 2, 3) and sampling number ni. It is necessary to identify the measurement conditions that maximally reduce the RSSs of the sensitivity coefficients associated with the reduced measurement uncertainties U(pxs) and U(pys), even if the measurement uncertainties U(ΔRij) do not change. The effects of offset li on the RSSs of the sensitivity coefficients are investigated in Sect. 3.

$$\begin{gathered} \left[ {\begin{array}{*{20}c} {U\left( {p_{xs} } \right)} \\ {U\left( {p_{ys} } \right)} \\ \end{array} } \right] = {\text{RSS values of sensitivity coeff}}{.} \times \left[ {\begin{array}{*{20}c} {U\left( {\Delta R_{ij} } \right)} \\ {U\left( {\Delta R_{ij} } \right)} \\ \end{array} } \right] \hfill \\ \quad \quad \quad \quad = \frac{{2\sqrt {\left( {2l_{1}^{2} + 2l_{1} l_{3} + l_{3}^{2} } \right)} }}{{l_{2} l_{3} \sqrt {n_{i} } }} \times \left[ {\begin{array}{*{20}c} {U\left( {\Delta R_{ij} } \right)} \\ {U\left( {\Delta R_{ij} } \right)} \\ \end{array} } \right] \hfill \\ \end{gathered}$$
(5)

3 Experimental

3.1 Parallelism Error Identification

The method in Sect. 2 was applied to the machine tool (SPT-T30; Komatec Co. Ltd, Republic of Korea). A DBB (QC20-W; Renishaw Co. Ltd., UK) was used to identify parallelism errors. The distance between the spindle tip and the workpiece table of the machine tool was 500 mm; the travel range of the Z-axis was [− 300, 0] mm. Thus, the mandrel method cannot be applied to this machine tool to identify parallelism errors to the full travel of the Z-axis, due to collisions. It is essential to determine the offset li with respect to the distance between the spindle tip and workpiece table, and to define the minimum installable height of a ball on the workpiece table; this is about 70 mm when using the “centre pivot assembly” supplied by the DBB manufacturer. This restricts the offset term l1 + l2 + l3 to − 430 mm. Here, offset l2 is − 300 mm (the minimum travel value of the Z-axis); the effects of offsets l1, l3 on the RSSs of the sensitivity coefficients are shown in Fig. 3. The RSSs are small for large l1 and small l3; l1 and l3 were thus set to − 30 and − 100 mm, respectively.

Fig. 3
figure 3

Root-sum-squared (RSS) values according to offsets l1 and l3

To identify parallelism errors using the dual difference method, two pairs of sequential circular tests are performed using a DBB with nominal length R = 100 mm, and nominal offsets l1 =  − 30 mm, l2 =  − 300 mm and l3 =  − 100 mm, as determined above (Fig. 4). The deviations in the offsets during the experiments were not affected by the identified errors, because the deviations cause positional aberration in the Z direction of the ball at the tool nose, and do not affect the radial deviations in the XY plane significantly. Thus, it is not required to measure the tool lengths or offsets during experiments. The overshoot angle is 180° for the DBB measurements; the radial deviations ΔRij are acquired using DBB software (ver. 5.09.05.03) with ni = 1,504 samples.

Fig. 4
figure 4

Experimental set-up for application of the dual difference method. a For 1st path. b For 2nd path. c For 3rd path. d For 4th path

It requires approximately 20 min to complete the circular test measurements with different tool lengths and set-ups. Thus, the proposed dual difference method is easier and cheaper than the existing methods that require a test mandrel, a dial gauge, and pre-measurements of linear axis geometric errors, for example. The measured ΔRij show large peak-to-valley (PV) values (Fig. 5a) attributable to parallelism errors, geometric errors of the linear axes, and set-up errors. The parallelism errors are obviously significant because the deviation increases with longer tool lengths (i = 1 and 3). The calculated differences within each pair indicate large PVs (Fig. 5b); however, the trends are similar, because the PDGEs of the X and Y axes, as well as the set-up errors, are canceled by the differences. Using the algorithm of Eq. (4), the parallelism errors pxs, pys were 202.4 and − 74.8 μrad, respectively. The measurements were repeated with compensation for these parallelism errors, both to check the errors and investigate the effects of compensation on the measuring paths. The radial deviations improved significantly after compensation, but they were still affected by the geometric errors of the linear axes and the set-up errors (Fig. 5c). The calculated differences in radial deviations within each pair are shown in Fig. 5d; these reflect only the effects of parallelism errors and Z-axis PDGEs. The PVs improved significantly after compensation for the parallelism errors which were identified successfully by our method.

Fig. 5
figure 5

Measured radial deviations and differences used for identification of parallelism errors. a Without compensation. b Differences without compensation. c With compensation. d Differences with compensation

3.2 Verification of the Identified Parallelism Errors

It is essential to check the validity of identified parallelism errors to improve machining accuracy. Thus, we sequentially machined the concentric holes and holel using a short and long tool, respectively (Fig. 6a, b), because parallelism errors affect tools of different lengths differently, in turn influencing hole positional deviations and concentricity. The experimental conditions are summarized in Table 2.

Fig. 6
figure 6

Machining tests on concentric holes and concentricity measurements. a Holes was drilled using a short tool. b Holel drilled using a long tool. c Measurements of machined holes derived using a CMM. d Measured centers of holes and holel, with concentricity improvement after compensation

Table 2 Experimental conditions for parallelism error verification

The holes were machined without and with tool-center-point compensation for the identified parallelism errors of three samples. The machined holes were measured using a coordinate measuring machine (Fig. 6c). Without compensation, large positional deviations and poor concentricity were evident, attributable largely to parallelism errors (Fig. 6d). The average positional deviations of holel relative to the center of holes were (− 5.8, − 30.7) and (− 1.4, − 15.9) μm without and with compensation, respectively. In terms of concentricity, the distances between the centers of holes and holel were 31.2 and 15.9 μm, respectively. Note that both positional deviations and concentricity improved considerably, although they remain affected by the Z-axis PDGEs. Our method was effective.

4 Conclusions

We derived the inherent spindle axis parallelism errors of machine tools. Our dual difference method features two pairs of circular tests using a DBB; we optimized the test using the RSS values of the sensitivity coefficients. These accurately identify errors imparted by the kinematic structure of experimental machine tools. Identification and compensation of parallelism errors using the dual difference method will improve the volumetric accuracies of machine tools. Our principal findings are as follows.

  1. (1)

    The linearized relationships among radial deviations, geometric errors, and set-up errors yield critical information when identifying inherent parallelism errors. Such errors affect the radial deviations coupled with other errors. Parallelism errors can be identified by pre-measuring the other errors and incorporating them into the relationships. However, it is difficult to quantify set-up errors attributable to (largely unknown) geometric errors. Therefore, it is essential to use differences between circular tests to cancel the effects of set-up errors on parallelism errors.

  2. (2)

    A dual difference method appropriately identifies inherent spindle axis parallelism errors (unaffected by geometric errors of linear axes or by set-up errors), based on DBB measurements. Within each pair, circular tests using different tool lengths were performed at the first and last points of the Z-axis, using a shared set-up that canceled the X- and Y-axis PDGEs and set-up errors. Data from the two pairs showed inherent parallelism errors relative to the end-point reference straight line of the Z-axis, by canceling the Z-axis PDGEs using the difference of the differences (the dual difference).

  3. (3)

    Three offsets are required when performing the two pairs of circular tests that identify parallelism errors using a dual difference method. The distance between the spindle tip and workpiece table of a machine tool affects the DBB offsets. One offset should equal the minimum Z-axis value of the end-point reference straight line; the other offsets are determined by minimizing the RSSs of the sensitivity coefficients, reducing measurement uncertainties even if the contributors thereto are imperfect.

  4. (4)

    The dual difference method is not only limited to use of a DBB but also the use of a linear displacement sensor and test spheres (not a sphere in ISO 230–1:2012), or a dial gauge and test mandrels (not a mandrel in ISO 10791–1:2015). However, use of a DBB is advantageous because of the simple measuring processes, using commercial products supporting automated data acquisition, averaging effects and improved measurement uncertainties by large sampling numbers at each circular test.

The dual difference method is not limited to three-axis machine tools; it is also applicable to five-axis machine tools featuring two workpiece rotary axes, two spindle head rotary axes, and a swivel head and/or a rotary table. In the last two cases, squareness errors (not parallelism errors) are used to describe the spindle axis relative to the rotary axis head. Squareness errors can be identified using a dual difference method because the method considers the spindle axis relative to the Z-axis.