1 Introduction

The volumetric errors of machine tools are positional deviations between the nominal and actual positions of the tool in the workpiece coordinate system [1]; they are caused by geometric, thermally induced, and dynamic errors [2]. It is essential to measure geometric errors; together with thermally induced errors, they constitute 60–70% of all volumetric errors and are direct measurements of other errors [3]. The volumetric errors of three-axis machine tools are modeled using 23 geometric errors, including 6 position-dependent geometric errors (PDGEs) for each axis, 3 position-independent geometric errors (PIGEs) between linear axes, and 2 PIGEs of the spindle axis [4,5,6].

Geometric errors are measured using both direct and indirect methods [7, 8]. Each single axis is controlled when measuring its errors. More than one axis is controlled when inferring geometric errors from measured data. For linear axes, a laser interferometer is widely used to measure geometric errors either separately [9] or simultaneously [10]. For five-axis machine tools, geometric errors of the linear axes are measured by regulating the illumination direction of a laser interferometer through rotary axis control [11]. In addition, a hybrid method featuring a laser interferometer and double ball-bar (DBB) has been developed to measure squareness errors between linear axes over the entire motion of the axes [12]. Using a theory based on a global positioning system, multilateration methods have been developed to measure all geometric errors [13, 14]. DBB methods are also widely used to measure geometric errors via simple circular tests [15, 16]. The DBB test can be generalized by reference to the kinematic structure of the machine tool [17]. In the artefact methods, a straight edge and five capacitive sensors optimally measure geometric errors simultaneously [18]. A ball plate with a three-dimensional probe is used to directly measure volumetric errors; the geometric errors are then inferred via error modeling [19]. Geometric errors can also be measured using an uncalibrated master balls artefact enriched with a ball bar artefact [20]. For the spindle axis, a test mandrel and dial gauge are used to detect parallelism errors by measuring radial deviations in two directions [21]. In addition, DBB circular tests using tools of different lengths can reveal parallelism errors of the spindle axis [22].

However, these approaches require expensive devices, complex measuring processes, long measuring times, and skillful operators; it is expensive to measure all 23 geometric errors. It is thus reasonable to measure only the principal geometric errors when aiming to improve volumetric errors. Circular tests using a DBB are widely applied to measure the principal geometric errors [23]. However, circular tests require simultaneous control of two or more axes; thus, because the measurement results are affected by the dynamic errors of the axes, they do not accurately measure the principal geometric errors of the workspace. A method based on a virtual regular tetrahedron and DBB has been used to measure the principal geometric errors [24, 25]. However, the results are valid only within the volume of the tested regular tetrahedron. Therefore, we devised a method to periodically check the volumetric errors (and thus measure the principal geometric errors) in the workspace of a machine tool, to ensure machining accuracy.

Our method allows cost-effective interim checking of the volumetric and principal geometric errors of machine tools. Section 2 introduces the method, which uses a virtual polyhedron and DBB, and the algorithm for volumetric and geometric error analysis. We verified the method using a machine tool without and with compensation of the measured geometric errors, and also by performing the circular tests of ISO 230-4 (Sect. 3). The main findings and conclusions are summarized in Sect. 4.

2 Measurement of Volumetric and Geometric Errors

The principal geometric errors are linear scale errors for each linear axis, and squareness errors between linear axes, as shown in Fig. 1.

Fig. 1
figure 1

Principal geometric errors of three-axis machine tools

The virtual polyhedron consists of multiple regular tetrahedrons covering the workspace of the machine tool; there are m vertices and the nominal side length is L (Fig. 2). This ensures that the relationships between the coordinates of the vertices and side lengths are unique due to the regular tetrahedrons [26]. Thus, volumetric errors at the vertices can be quantified using the coordinates of the vertices calculated using the measured side lengths. In addition, the nominal side length of the polyhedron is given as L; thus, a DBB accurately measures the side length L + δLi,j as the tool is sequentially moved to neighboring vertices. For the experiments in Sect. 3, we used a virtual polyhedron with 24 vertices, 69 sides, and a nominal side length L = 150 mm. The measurement procedure is summarized in Fig. 3.

Fig. 2
figure 2

Virtual polyhedron on the machine tool worktable

Fig. 3
figure 3

Measurement procedures of the volumetric and principal geometric errors

We define a coordinate system {P} used to calculate the coordinates Pi,c (i = 1, …, m) of the vertices using the measured side lengths L + δLi,j. Thus, vertices Pi,c (i = 1, 2, 3) are used to define the origin, Y-axis, and YZ-plane, respectively, of the coordinate system {P}. The positional errors δPi,c (i = 1, 2, 3) are then given by Eq. (1):

$$ \begin{gathered} \delta P_{1,c} = \left( {0,0,0} \right), \hfill \\ \delta P_{2,c} = \left( {0,\delta y_{2} ,0} \right), \hfill \\ \delta P_{3,c} = \left( {0,\delta y_{3} ,\delta z_{3} } \right) \hfill \\ \end{gathered} $$
(1)

The relationships between the measured side lengths L + δLi,j and two neighboring vertices Pi,c, Pj,c are given by Eq. (2) and linearized using Eq. (3) under small value assumptions:

$$ \left\| {{\mathbf{P}}_{i,c} - {\mathbf{P}}_{j,c} } \right\|^{2} = \left( {L + \delta L_{i,j} } \right)^{2} $$
(2)
$$ \left( {x_{i} - x_{j} } \right)\left( {{\updelta }x_{i} - {\updelta }x_{j} } \right) + \left( {y_{i} - y_{j} } \right)\left( {{\updelta }y_{i} - {\updelta }y_{j} } \right) + \left( {z_{i} - z_{j} } \right)\left( {{\updelta }z_{i} - {\updelta }z_{j} } \right) = L \cdot {\updelta }L_{i,j} $$
(3)

The relationship between vertex coordinate Pi,c and measured side length L + δLi,j is unique because the virtual polyhedron consists of multiple regular polyhedrons (as mentioned above). However, several vertices are over-constrained, as shown in Fig. 2 (in blue). Thus, the virtual polyhedron used in Sect. 3 has 66 unknown components of positional errors δPi,c; however, the number of measured side lengths is 69 (attributable to the over-constraint). Therefore, the unknown components of the positional errors δPi,c are calculated using a least-squares method, and the general relationships between these components and the measured side lengths L + δLi,j are as given by Eq. (4).

$$ {\mathbf{Ax}} = {\mathbf{b}} $$
(4)

where,

$$ {\mathbf{A}} = \left[ {\left. {\begin{array}{*{20}c} {x_{{1,2}} } & { - x_{{1,2}} } & 0 & 0 & \cdots & 0 & 0 & 0 \\ {x_{{1,3}} } & 0 & { - x_{{1,3}} } & 0 & \cdots & 0 & 0 & 0 \\ \vdots & \vdots & \vdots & \vdots & \ddots & \vdots & \vdots & \vdots \\ 0 & {x_{{2,3}} } & { - x_{{2,3}} } & 0 & \cdots & 0 & 0 & 0 \\ 0 & {x_{{2,4}} } & 0 & { - x_{{2,4}} } & \cdots & 0 & 0 & 0 \\ \vdots & \vdots & \vdots & \vdots & \ddots & \vdots & \vdots & \vdots \\ 0 & 0 & 0 & 0 & \cdots & {x_{{22,23}} } & { - x_{{22,23}} } & 0 \\ 0 & 0 & 0 & 0 & \cdots & 0 & {x_{{23,24}} } & { - x_{{23,24}} } \\ \end{array} } \right|\left. {\begin{array}{*{20}c} {y_{{1,2}} } & { - y_{{1,2}} } & 0 & 0 & \cdots & 0 & 0 & 0 \\ {y_{{1,3}} } & 0 & { - y_{{1,3}} } & 0 & \cdots & 0 & 0 & 0 \\ \vdots & \vdots & \vdots & \vdots & \ddots & \vdots & \vdots & \vdots \\ 0 & {y_{{2,3}} } & { - y_{{2,3}} } & 0 & \cdots & 0 & 0 & 0 \\ 0 & {y_{{2,4}} } & 0 & { - y_{{2,4}} } & \cdots & 0 & 0 & 0 \\ \vdots & \vdots & \vdots & \vdots & \ddots & \vdots & \vdots & \vdots \\ 0 & 0 & 0 & 0 & \cdots & {y_{{22,23}} } & { - y_{{22,23}} } & 0 \\ 0 & 0 & 0 & 0 & \cdots & 0 & {y_{{23,24}} } & { - y_{{23,24}} } \\ \end{array} } \right|\begin{array}{*{20}c} {z_{{1,2}} } & { - z_{{1,2}} } & 0 & 0 & \cdots & 0 & 0 & 0 \\ {z_{{1,3}} } & 0 & { - z_{{1,3}} } & 0 & \cdots & 0 & 0 & 0 \\ \vdots & \vdots & \vdots & \vdots & \ddots & \vdots & \vdots & \vdots \\ 0 & {z_{{2,3}} } & { - z_{{2,3}} } & 0 & \cdots & 0 & 0 & {00} \\ 0 & {z_{{2,4}} } & 0 & { - z_{{2,4}} } & \cdots & 0 & 0 & 0 \\ \vdots & \vdots & \vdots & \vdots & \ddots & \vdots & \vdots & \vdots \\ 0 & 0 & 0 & 0 & \cdots & {z_{{22,23}} } & { - z_{{22,23}} } & 0 \\ 0 & 0 & 0 & 0 & \cdots & 0 & {z_{{23,24}} } & { - z_{{23,24}} } \\ \end{array} } \right], $$
$${\mathbf{x}} = \left[ {\begin{array}{*{20}c} {\delta x_{1} } & \cdots & {\delta x_{24} } & {\delta y_{1} } & \cdots & {\delta y_{24} } & {\delta z_{1} } & \cdots & {\delta z_{24} } \\ \end{array} } \right]^{T} ,$$
$${\mathbf{b}} = L \cdot \left[ {\begin{array}{*{20}c} {{\updelta }L_{1,2} } & \cdots & {{\updelta }L_{1,24} } & {{\updelta }L_{2,3} } & \cdots & {{\updelta }L_{2,24} } & \cdots & {{\updelta }L_{22,23} } & {{\updelta }L_{22,24} } & {{\updelta }L_{23,24} } \\ \end{array} } \right]^{T} ,$$
$$ k_{i,j} = k_{i} - k_{j} \quad \left( {k = x,y,z} \right) $$

Note that coordinate system {P}, established using only vertices Pi,c (i = 1, 2, 3) of the virtual polyhedron, is not the same as coordinate system {R} of the experimental machine tool. However, the origins of coordinate systems {P} and {R} are the same: P1,c = P1,a. Thus, vertices Pi,c (i = 1, 2, 4) are used to define the least-squares reference straight line of the Y-axis [4]. The YZ-plane for coordinate system {R} is the least-squares plane derived using vertices Pi,c with nominal coordinates zi,n = 0 (the red points with yellow centers in Fig. 2). Vertices Pi,a are calculated by transforming vertices Pi,c into the coordinate system {R}. Finally, the volumetric errors δPi,a are calculated as the actual coordinates Pi,a minus the nominal coordinates Pi,n. To derive the principal geometric errors from the calculated volumetric errors δPi,a, we constructed an error synthesis model for the experimental machine tool described in Sect. 3. This model is given by Eq. (5); it is based on the homogeneous transformation matrix method [27].

$$ {{\varvec{\uptau}}}_{W}^{t} = \left[ {\begin{array}{*{20}c} {x_{i,a} } & {y_{i,a} } & {z_{i,a} } & 1 \\ \end{array} } \right]^{T} = ({{\varvec{\uptau}}}_{R}^{Y} {{\varvec{\uptau}}}_{Y}^{X} {{\varvec{\uptau}}}_{X}^{W} )^{ - 1} {{\varvec{\uptau}}}_{R}^{Z} {{\varvec{\uptau}}}_{Z}^{t} $$
(5)

where,

$$ {{\varvec{\uptau}}}_{R}^{Y} = \left[ {\begin{array}{*{20}c} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & { - y_{i,n} + c_{y} {\kern 1pt} y_{i,n} } \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \\ \end{array} } \right], $$
$$ {{\varvec{\uptau}}}_{Y}^{X} = \left[ {\begin{array}{*{20}c} 1 & { - s_{zx} } & 0 & { - x_{i,n} + c_{x} {\kern 1pt} x_{i,n} } \\ {s_{zx} } & 1 & 0 & { - s_{zx} {\kern 1pt} x_{i,n} } \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \\ \end{array} } \right], $$
$$ {{\varvec{\uptau}}}_{X}^{W} = \left[ {\begin{array}{*{20}c} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \\ \end{array} } \right], $$
$$ {{\varvec{\uptau}}}_{R}^{Z} = \left[ {\begin{array}{*{20}c} 1 & 0 & {s_{yz} } & {s_{yz} {\kern 1pt} z_{i,n} } \\ 0 & 1 & { - s_{xz} } & { - s_{xz} {\kern 1pt} z_{i,n} } \\ { - s_{yz} } & {s_{xz} } & 1 & {z_{i,n} + c_{z} {\kern 1pt} z_{i,n} } \\ 0 & 0 & 0 & 1 \\ \end{array} } \right], $$
$$ {{\varvec{\uptau}}}_{Z}^{t} = \left[ {\begin{array}{*{20}c} 0 \\ 0 \\ 0 \\ 1 \\ \end{array} } \right] $$

Therefore, the relationships between the volumetric errors δPi,a and principal geometric errors are determined as shown in Eq. (6), and the errors are calculated by applying a least-squares method.

$$ \left[ {\begin{array}{*{20}c} {\delta x_{1,a} } \\ {\delta y_{1,a} } \\ {\delta z_{1,a} } \\ {\begin{array}{*{20}c} \vdots \\ {\delta x_{24,a} } \\ {\delta y_{24,a} } \\ {\delta z_{24,a} } \\ \end{array} } \\ \end{array} } \right] = \left[ {\begin{array}{*{20}c} { - x_{1,n} } & 0 & 0 & {y_{1,n} } & 0 & {z_{1,n} } \\ 0 & { - y_{1,n} } & 0 & 0 & { - z_{1,n} } & 0 \\ 0 & 0 & {z_{1,n} } & 0 & 0 & 0 \\ \vdots & \vdots & \vdots & \vdots & \vdots & \vdots \\ { - x_{24,n} } & 0 & 0 & {y_{24,n} } & 0 & {z_{24,n} } \\ 0 & { - y_{24,n} } & 0 & 0 & { - z_{24,n} } & 0 \\ 0 & 0 & {z_{24,n} } & 0 & 0 & 0 \\ \end{array} } \right]\left[ {\begin{array}{*{20}c} {c_{x} } \\ {c_{y} } \\ {c_{z} } \\ {s_{zx} } \\ {s_{xz} } \\ {s_{yz} } \\ \end{array} } \right] $$
(6)

3 Experimental

3.1 Interim Checks of Volumetric and Principal Geometric Errors

The method described in Sect. 2 was applied to a machine tool (SPT-T30; Komatec Co. Ltd., Republic of Korea) as shown in Fig. 4a, and the side lengths were sequentially measured using a DBB (QC20-W; Renishaw Co. Ltd., UK) as shown in Fig. 4b. It takes 40 min to measure all side lengths shown in Fig. 2.

Fig. 4
figure 4

Experimental machine tool and DBB set-up

As mentioned in Sect. 2, the virtual polyhedron has 24 vertices and 69 sides of nominal length L = 150 mm. The polyhedron length deviation δLi,j is large (maximum = 25.0 μm), attributable mainly to geometric errors (Fig. 5a).

Fig. 5
figure 5

Measured side lengths of the virtual polyhedron

By inserting the measured side length L + δLi,j into Eq. (4), the vertices Pi,a are calculated as shown in Fig. 6a. They also exhibit large positional deviations (volumetric errors) relative to the nominal vertices Pi,n. These must be improved by deriving and compensating for the principal geometric errors. The latter errors are derived by inserting the volumetric errors into Eq. (6) (Fig. 7).

Fig. 6
figure 6

Vertices calculated using the measured side lengths

Fig. 7
figure 7

Principal geometric errors measured without and with compensation

For verification, the virtual polyhedron was re-measured after compensating for the principal measured geometric errors. Here, G-code-based compensation was conducted by additional movement of the linear axes as volumetric errors in Eq. (5). Both the measured side lengths and volumetric errors improved (Figs. 5b and 6b, respectively), as did the principal geometric errors (Fig. 7). The maximum L2 norms of the volumetric errors were 57.6 and 32.8 μm without and with compensation of the principal geometric errors, respectively (Fig. 8), showing an improvement of approximately 43% for the volumetric error using the proposed method. Here, the maximum L2 norm is used as a criterion to evaluate volumetric error because it coincides with the worst-case scenario.

Fig. 8
figure 8

L2 norms of volumetric errors without and with compensation

Thus, the volumetric errors of the machine tool were improved significantly after compensating for the principal measured geometric errors. However, residual side length, volumetric and principal geometric errors remain; these may be attributable to other geometric errors. We aimed to improve volumetric errors by measuring and compensating for the principal geometric errors only, instead of all 23 geometric errors.

3.2 Verification Using Static Circular Tests

The principal measured geometric errors shown in Fig. 7 were additionally verified using the static circular tests of ISO 230-4 and the DBB employed above (Fig. 9). These tests check the effects of principal geometric errors only within defined test volumes. The circular paths in the XY, YZ, and ZX planes of the single set-ups established in Areas A–C to cover the workspace of the machine tool. The measuring ranges of the circular paths in the XY, YZ, and ZX planes are [0°, 360°], [− 20°, 200°], and [− 110°, 110°] respectively; the nominal path radius is 100 mm. The measured radial deviations of the circular paths are shown in Fig. 10. The maximum peak-to-valley (PV) values are 16.0 and 11.2 μm without and with compensation, respectively, proving the validity of the measured geometric errors by an improvement of 30% in the radial deviation. Note that the PV values are increased in Area A, but considerably decreased in Areas B and C, perhaps because the volumetric errors were regulated over the workpiece (by compensating for the principal geometric errors), thus improving the maximum volumetric error.

Fig. 9
figure 9

Static circular paths that cover the workspace of the machine tool

Fig. 10
figure 10

Measured radial deviations without and with compensation

4 Conclusion

We developed a method for interim checking and improvement of the volumetric errors of machine tools, with the aim of enhancing volumetric accuracy. We used the side lengths of a virtual polyhedron to derive the volumetric and principal geometric errors. Our cost-effective method can be used to rapidly improve volumetric errors for only the principal geometric errors. However, because it compensates only for the principal geometric errors, periodic interim checks are required. Our main findings are as follows.

First, three-dimensional volumetric errors are measurable using the one-dimensional side lengths of a virtual polyhedron consisting of multiple regular tetrahedrons. The volume of the virtual polyhedron is controlled by changing the nominal side length, and via attachment of additional regular tetrahedron over the workspace of a machine tool. Thus, the cost of volumetric error measurement is reduced; only a DBB is required.

Second, it is important to maintain volumetric accuracy by regularly checking for volumetric and principal geometric errors over the machine tool workspace. We measured and compensated for principal geometric errors using a virtual polyhedron containing the workspace volume. This does not yield local improvements. However, it is a practical method to maintain overall volumetric accuracy.

Third, the principal geometric errors can be measured by performing circular tests in the XY, YZ, and ZX planes. However, the measured errors are valid only within the volumes of the circular tests, and not over the workspace as a whole. This is true even if circular tests are performed at different positions within the workspace, because the test results are not interrelated. Thus, circular tests performed at different positions improve volumetric errors only indirectly, by compensating for the principal geometric errors.