Next Article in Journal
An Intelligent Predictive Algorithm for the Anti-Rollover Prevention of Heavy Vehicles for Off-Road Applications
Previous Article in Journal
Synergistic Motion Stability of a Scorpion-like Composite Robot
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Numerical Aspects of Multilateration for Volumetric Error Calculation

1
Faculty of Mechanical Engineering, Brno University of Technology, 616 69 Brno, Czech Republic
2
KOVOSVIT MAS Machine Tools, 391 02 Sezimovo Ústí, Czech Republic
*
Author to whom correspondence should be addressed.
Machines 2022, 10(10), 833; https://doi.org/10.3390/machines10100833
Submission received: 1 August 2022 / Revised: 9 September 2022 / Accepted: 15 September 2022 / Published: 21 September 2022
(This article belongs to the Section Machines Testing and Maintenance)

Abstract

:
We discuss two approaches to multilateration with a particular focus on numerical aspects for a given dataset. More precisely, we calculate the volumetric errors of the MCV 754 milling machine from the data measured by a LaserTRACER and provide criteria showing which numerical method is appropriate for the solution of the multilateration problem with respect to a given measurement dataset. In the first case, we consider two cost functions of the optimisation problem; in the second, we use the extremal principle method. We discuss the calculation accuracy depending on the matrix condition number. Our results are compared to the reference results produced by the Trac-Cal software, which is a standard used by most producers for error compensations.

1. Introduction

In this paper, we discuss the numerical aspects of methods for multilateration and the calculation of the volumetric errors of a machine tool (MT). More precisely, we compare two optimisation methods in several modifications regarding their accuracy and stability. We claim that some authors are using mathematical methods improperly, meaning that their method is sensitive to the input dataset and, therefore, unsuitable for statistical refinement, see [1,2]. In general, for multilateration problems, various numerical methods may be used, see [3] for an overview with the description of advantages and disadvantages. In our paper, we consider two particular methods and compare them. We compare the standard optimisation by the trust region method with two different cost functions and an extremal principle solution. Although the methods are known, we specify the better version with respect to the given dataset, more precisely with respect to the condition number of the appropriate system matrix. We stress that the choice of a correct numerical method is vital because the results of the multilateration problem are used for volumetric error calculation, determining the volumetric accuracy model and, consequently, the geometric error calculation [4]. We are aware that the proportion of quasi-static errors in three-axis machine tools is 60–70% of the total working accuracy. In [5,6], the authors have extended this estimate further in tests carried out on five-axis machining centres, where they claim that the proportion of quasi-static errors is even higher, up to 80%. Quasi-static errors are defined as errors in the relative position of the tool centre point and the workpiece, with the errors changing slowly over time. These errors are directly related to the structure of the machine tool itself and can be broken down into geometric, kinematic and thermal errors.
For the measurement itself, we use the LaserTRACER [7,8,9,10,11], but the data may be obtained by other tools such as the Ballbar-type apparatus [12], laser tracker [13,14] or laser interferometer [15,16,17]. We also describe the way of obtaining an appropriate kinematic chain because various versions for MTs are known, see, e.g., [16,18,19,20,21].
The paper is structured as follows. First, we present a verification of the MT kinematic chain in Section 2. Consequently, in Section 3.1, we consider two optimisation approaches to multilateration and volumetric error calculation. In the first approach, referred to as Case A, we compare two different cost functions for the trust region method and discuss their numerical properties. The second approach, Case B, uses a Lagrange multipliers optimisation method. Once all the methods are applied to the data measured by the LaserTRACER, they are verified and compared with the results obtained from the Trac-Cal software. This is a software tool widely used by producers of MTs and CMMs (coordinate measuring machines) for geometric error compensations and, thus, we consider it a good benchmark for comparisons. When appropriate numerical methods are applied, faster computation of geometric errors may be achieved and the uncertainty of the whole measuring system may drop. Therefore, the software for error compensations of CNC machine tools may be improved. The influence of such software compensations on the resulting shape accuracy is described in [22,23,24]. Finally, in Section 4, we give our recommendations for the methods studied.

2. Three-Axis Machine Verification

We use the demonstrator MCV 754 QUICK (Figure 1 left) for the measurement in order to validate and verify our results. The working space (WS) of the demonstrator is defined by travels of the individual axes with the rank of 754 × 500 × 550 mm, see Figure 1, right. The machine specifications are given in Table 1.
In Table 2, we provide the fundamental technical specification of the LaserTRACER measurement system. Note that measurement uncertainty is one of the crucial parameters that is affected by a bundle of factors, among others by the calculation of deviations.
Figure 2 shows the error vector map of the MCV working space. The maximal deviation within the measured area is 64 µm. The magnitude of the errors is tripled in order to visualise the error vector better. The multilateration-based calculation affects the resulting magnitude and direction of the error vectors. These are consequently imported to the CNC milling machine as error corrections.
Note that the Cartesian coordinate system X , Y , Z is assigned to the WS in the kinematic chain WXYZT (workpiece tool, W—workpiece, T—tool). In order to recall the notation for geometric errors used in the kinematic chain, we refer to Table 3 and Table 4. Each translational axis has six geometrical deviations. According to ISO 230-1 [25], the deviations of the X-axis are designated as EXX, EYX, EZX, EAX, EBX and ECX. Note also that the squareness deviations between two axes are mentioned, e.g., between X and Y—C0Y. This makes a total of 6 × 3 errors for the translational axes and three squareness errors of the appropriate axis pairs.
The measured data were obtained on the test demonstrator with the “tracking laser interferometer” (LaserTRACER), Figure 3.
If we denote X = x , y , z T a vector of nominal coordinates, X a = x a , y a , z a T a vector of actual coordinates and X p = x p , y p , z p T the probe offset coordinates, their relation may be expressed by the kinematic chain
x a y a z a = T x T y T z x p y p z p + L z + L y + L x ,
where T x , T y , T z are modified rotational matrices and L x , L y , L z are translational vectors in the form
T x = 1 ε z x ι ε y x ι ε z x ι 1 ε x x ι ε y x ι ε x x ι 1 , T y = 1 ε z y ι ε y y ι ε z y ι 1 ε x y ι ε y y ι ε x y ι 1 ,
T z = 1 ε z z ι ε y z ι ε z z ι 1 ε x z ι ε y z ι ε x z ι 1 ,
L x = x + δ x x ι δ y x ι δ z x ι , L y = δ x y ι S x y y y + δ y y ι δ z y ι , L z = δ x z ι S x z z δ y z ι S y z z z + δ z z ι ,
where we use the notation from Table 3 for the geometric errors and ι is an auxiliary variable such that ι 2 = 0 , also known as a dual number unit, see [26,27].
Therefore, the volumetric error Δ x , Δ y , Δ z T can be calculated from (1) as
Δ x = x a ( x + x p ) = δ x x + δ x y + δ x z + y ( ε z x S x y ) + z ( S x z + ε y x + ε y y ) + y p ( ε z x ε z y ε z z ) + z p ( ε y x + ε y y + ε y z ) ,
Δ y = y a ( y + y p ) = δ y x + δ y y + δ y z + z ( S y z ε x x ε x y ) + x p ( ε z x + ε z y + ε z z ) + z p ( ε x x ε x y ε x z ) ,
Δ z = z a ( z + z p ) = δ z x + δ z y + δ z z + y ε x x + x p ( ε y x ε y y ε y z ) + y p ( ε x x + ε x y + ε x z )
after neglecting the terms with ι 2 . Note that we chose the notation of [26,27] with dual number unit ι to neglect the terms with ι 2 algebraically, i.e., directly in the computation.
The correctness of this kinematic chain has been verified on the Trac-Cal data. Indeed, we substitute the rotational and translational errors from Trac-Cal to the kinematic chain (1) and calculate the volumetric errors. Consequently, we consider the error evolution in the directions of the axes (red data in Figure 4) and no evolution (green data in Figure 4). By error evolution, we understand that, for instance, if we move on the y-axis, the Δ x calculation is affected by the change in the y coordinates, i.e., to the kinematic chains (2)–(4) we, respectively, substitute zeros for x and z , and for y we substitute the position on the y axis, while in the case with no evolution we also set y = 0 . Thus, squareness and rotational errors only are added to Δ x . In this sense, when calculating Δ x on the x-axis, the remaining coordinates are 0 and, therefore, the terms containing y and z vanish in the kinematic chain (2)–(4). We compare these errors to the Trac-Cal volumetric errors (blue isolated points in Figure 4). We conclude that it is necessary to take into account the evolution of the error with respect to the shift in the direction of the axis. Otherwise, the deviation is unacceptable.

3. Numerical Methods for Multilateration

The general principle of multilateration lies in determining a point’s precise position from multiple distance measurements. As a measuring device, we use LaserTRACER (LT). Given the distances between the ideal (also referred to as nominal) positions and the LaserTRACER positions, we calculate the actual (inaccurate) positions of the tool. The accuracy of the location also depends on the number of LTs and their location [28]. We use four or six LTs. As the first step, we determine the exact positions of LTs and, consequently, we measure the actual positions.

3.1. LTs’ Positions Calculation

Now, we calculate the LaserTRACERs’ positions. Let us denote the nominal positions as X i = ( x i , y i , z i ) for i = 1 , , N , where N is the number of the measured points and L T ( k ) = ( x L T ( k ) , y L T ( k ) , z L T ( k ) ) with k = 1 , , N L T , the LaserTRACER positions, where N L T stands for the number of LTs. The relative distance between the LaserTRACER position L T ( k ) and the measured points X i can be expressed in two ways:
1.
In the form of the following system of non-linear equations
x 1 x L T ( k ) 2 + y 1 y L T ( k ) 2 + z 1 z L T ( k ) 2 = L k + P 1 ( k ) x 2 x L T ( k ) 2 + y 2 y L T ( k ) 2 + z 2 z L T ( k ) 2 = L k + P 2 ( k ) x N x L T ( k ) 2 + y N y L T ( k ) 2 + z N z L T ( k ) 2 = L k + P N ( k ) ,
where k = 1 , , N L T , L k is the residual error of the k-th LT and P i ( k ) is the measured distance between L T ( k ) and the nominal positions X i , i = 1 , , N .
2.
If particular non-linear equations of (5) are squared, we receive a system
x 1 x L T ( k ) 2 + y 1 y L T ( k ) 2 + z 1 z L T ( k ) 2 = L k + P 1 ( k ) 2 x 2 x L T ( k ) 2 + y 2 y L T ( k ) 2 + z 2 z L T ( k ) 2 = L k + P 2 ( k ) 2 x N x L T ( k ) 2 + y N y L T ( k ) 2 + z N z L T ( k ) 2 = L k + P N ( k ) 2 .
Consequently, the positions of a particular L T ( k ) are determined from system (5) or (6), respectively, by the least square minimisation. Yet, even this optimisation technique may be treated in various ways. In the sequel, we discuss the numerical properties and the optimisation methods applied to both systems (5) and (6).

3.1.1. Case A

In this case, we transform system (5) into a non-linear function of four unknowns
F k ( x L T ( k ) , y L T ( k ) , z L T ( k ) , L k ) = i = 1 N x i x L T ( k ) 2 + y i y L T ( k ) 2 + z i z L T ( k ) 2 L k + P i ( k )
and apply minimisation by the trust-region method with respect to particular positions L T ( k ) with k = 1 , , N L T and L k (in the sense of the least squares). Indeed, we are searching for
min x L T ( k ) , y L T ( k ) , z L T ( k ) , L k F k ( x L T ( k ) , y L T ( k ) , z L T ( k ) , L k ) 2 2 ,
where · 2 is a Euclidean norm. The positions calculated by this method are consequently compared with those acquired from the Trac-Cal software and the results are summarised in Table 5 and Table 6.
Clearly, the difference between the computed values and the reference values is negligible for this numerical model. To justify this conclusion, let us define that the difference is considered tolerable if it falls into the statistical deviation interval of the Trac-Cal data, which is 5% for our measurements. Therefore, our deviations are negligible.
If the same approach is used for the non-linear system (6), we apply the trust-region method, i.e., we are searching for a minimum (in the sense of the least square method)
min x L T ( k ) , y L T ( k ) , z L T ( k ) , L k F k ( x L T ( k ) , y L T ( k ) , z L T ( k ) , L k ) 2 2
of a non-linear function of four unknowns
F k ( x L T ( k ) , y L T ( k ) , z L T ( k ) , L k ) = i = 1 N x i x L T ( k ) 2 + y i y L T ( k ) 2 + z i z L T ( k ) 2 L k + P i ( k ) 2 .
The calculated positions of LTs are again compared with the reference data acquired from the Trac-Cal software and displayed in Table 7.
Even though the deviation may still be acceptable, clearly the results are worse than in the first case. Let us note that this may be partially caused even by the computer representation of decimal numbers. Indeed, for a large number, more digits after the decimal points may be neglected in the representation. Clearly, function (8) reaches higher values by definition. This effect may be avoided by a change in the data type but this may increase the computational time enormously.

3.1.2. Case B

In the second case, see e.g., ref. [1], the non-linear system (6) is rewritten into the following form
x 1 2 + y 1 2 + z 1 2 2 x 1 x L T ( k ) 2 y 1 y L T ( k ) 2 z 1 z L T ( k ) 2 L k P 1 ( k ) ( P 1 ( k ) ) 2 + C k = 0 x 2 2 + y 2 2 + z 2 2 2 x 2 x L T ( k ) 2 y 2 y L T ( k ) 2 z 2 z L T ( k ) 2 L k P 2 ( k ) ( P 2 ( k ) ) 2 + C k = 0 x N 2 + y N 2 + z N 2 2 x N x L T ( k ) 2 y N y L T ( k ) 2 z N z L T ( k ) 2 L k P N ( k ) ( P N ( k ) ) 2 + C k = 0 ,
where
C k = ( x L T ( k ) ) 2 + ( y L T ( k ) ) 2 + ( z L T ( k ) ) 2 ( L k ) 2 ,
and we are searching for a minimum (in the sense of the least squares) of a function
F k ( x L T ( k ) , y L T ( k ) , z L T ( k ) , L k , C k ) = i = 1 N x i 2 + y i 2 + z i 2 2 x i x L T ( k ) 2 y i y L T ( k ) 2 z i z L T ( k ) 2 L k P i ( k ) ( P i ( k ) ) 2 + C k 2 .
According to the extremal principle, the first-order partial derivative of the objective function should be equal to zero, while the second-order partial derivative should be greater than zero. The first-order partial derivatives are expressed as
F k x L T ( k ) = i = 1 N 4 x i x i 2 y i 2 z i 2 + ( P i ( k ) ) 2 + 2 x i x L T ( k ) + 2 y i y L T ( k ) + 2 z i z L T ( k ) + 2 L k P i ( k ) C k F k y L T ( k ) = i = 1 N 4 y i x i 2 y i 2 z i 2 + ( P i ( k ) ) 2 + 2 x i x L T ( k ) + 2 y i y L T ( k ) + 2 z i z L T ( k ) + 2 L k P i ( k ) C k F k z L T ( k ) = i = 1 N 4 z i x i 2 y i 2 z i 2 + ( P i ( k ) ) 2 + 2 x i x L T ( k ) + 2 y i y L T ( k ) + 2 z i z L T ( k ) + 2 L k P i ( k ) C k F k L k = i = 1 N 4 L k x i 2 y i 2 z i 2 + ( P i ( k ) ) 2 + 2 x i x L T ( k ) + 2 y i y L T ( k ) + 2 z i z L T ( k ) + 2 L k P i ( k ) C k F k C k = i = 1 N 2 x i 2 + y i 2 + z i 2 ( P i ( k ) ) 2 2 x i x L T ( k ) 2 y i y L T ( k ) 2 z i z L T ( k ) 2 L k P i ( k ) + C k
It is found that the second-order partial derivative is always positive, and thus the second condition is satisfied. For unknowns ( x L T ( k ) , y L T ( k ) , z L T ( k ) , L k , C k ) , k = 1 , . . . , N L T , the system of five equations (10) can be rewritten in the matrix form as
A · x L T ( k ) , y L T ( k ) , z L T ( k ) , L k , C k T = b ,
where the 5 × 5 matrix A is of the form
A = 2 i = 1 N x i 2 2 i = 1 N x i y i 2 i = 1 N x i z i 2 i = 1 N x i P i ( k ) i = 1 N x i 2 i = 1 N x i y i 2 i = 1 N y i 2 2 i = 1 N y i z i 2 i = 1 N y i P i ( k ) i = 1 N y i 2 i = 1 N x i z i 2 i = 1 N y i z i 2 i = 1 N z i 2 2 i = 1 N z i P i ( k ) i = 1 N z i 2 i = 1 N x i P i ( k ) 2 i = 1 N y i P i ( k ) 2 i = 1 N z i P i ( k ) 2 i = 1 N ( P i ( k ) ) 2 i = 1 N P i ( k ) i = 1 N x i i = 1 N y i i = 1 N z i i = 1 N P i ( k ) N 2
and the right-hand side vector b of dimension 5 is
b = i = 1 N x i x i 2 + y i 2 + z i 2 ( P i ( k ) ) 2 i = 1 N y i x i 2 + y i 2 + z i 2 ( P i ( k ) ) 2 i = 1 N z i x i 2 + y i 2 + z i 2 ( P i ( k ) ) 2 i = 1 N P i ( k ) x i 2 + y i 2 + z i 2 ( P i ( k ) ) 2 i = 1 N 1 2 x i 2 + y i 2 + z i 2 ( P i ( k ) ) 2 .
The system matrix A is always regular but if its condition number κ ( A ) is calculated, it is clear that A is ill-conditioned. For a system A x = b , the matrix A condition number reads how sensitive the system solution x is with respect to a small change of the input data, i.e., how much the solution x deviates when a small numerical change is made in the system matrix A or in the right-hand side vector b.
For a general square regular matrix A, the condition number κ ( A ) may be determined as
κ ( A ) = A · A 1 .
Consequently, if δ A , δ b denotes perturbations in matrix A and vector b, respectively, and if for any associated matrix norm it holds that
δ A < 1 A 1 ,
then [29], the solution x ˜ = x * + δ x to the system ( A + δ A ) ( x + δ x ) = b + δ b approximates the solution x * to the system A x = b with an error
δ x * x * κ ( A ) 1 κ ( A ) δ A A δ b b + δ A A .
Therefore, if the condition number κ ( A ) is greater than 1, then the relative error of the result may be κ ( A ) times greater than the sum of the relative errors of A and b. However, the calculation of the inverse matrix is too demanding and, therefore, we use the following assertion:
κ ( A ) = σ max ( A ) σ min ( A ) ,
where σ max ( A ) and σ min ( A ) are the greatest and the least singular values of A, respectively. To determine the singular values of A, we use the following theorem [30].
Theorem 1.
Let a i · denote the i-th row of matrix A n , n and a · j denote the j-th column of matrix A n , n . The lower bound for the largest singular value is
σ max ( A ) = max max 1 i n a i · 2 , max 1 j n a · j 2
and the upper bound for the smallest singular value is
σ min ( A ) = min min 1 i n a i · 2 , min 1 j n a · j 2 .
Because in the submatrix formed by the first four rows and columns of the matrix A there are numbers of order 10 7 in general, while in the last row and column of the matrix A there are numbers of order 10 4 , Theorem 1 reads that the lower estimate of the condition number κ ( A ) is at least 10 3 , which proves that the matrix A is ill-conditioned. Indeed, the actual value of the condition number is greater by several orders than the lower estimate. Generally, the condition number is considered satisfactory up to 100.
As mentioned before, a system of linear equations with an ill-conditioned system matrix is very difficult to solve numerically because it is very sensitive even to very small changes in the initial data. Given the way of measurement and the method of extracting additional data used for the solution of the given system of equations, it is clear that the positions of LT acquired by the solution of (11) are much worse than those calculated in the previous two cases. This is well recognizable in Table 8. Again, the calculated positions and their difference relative to the reference data from Trac-Cal are displayed.
These inaccurate values of the LTs’ positions may be improved as follows. Let us replace the function
h k i ( x L T ( k ) , y L T ( k ) , z L T ( k ) ) = ( x i x L T ( k ) ) 2 + ( y i y L T ( k ) ) 2 + ( z i z L T ( k ) ) 2 ( L k + P i ( k ) )
with its first-order Taylor polynomial in the neighbourhood of the LT positions denoted as
L T ( k ) = ( x L T ( k ) , y L T ( k ) , z L T ( k ) ) where k = 1 , , N L T .
We receive
h k i ( L T ( k ) ) = t i + a x i Δ x L T ( k ) + a y i Δ y L T ( k ) + a z i Δ z L T ( k ) ( L k + P i ( k ) ) 2 ,
where
t i = ( x i x L T ( k ) ) 2 + ( y i y L T ( k ) ) 2 + ( z i z L T ( k ) ) 2 ) , a x i = x L T ( k ) x i t i , a y i = y L T ( k ) y i t i , a z i = z L T ( k ) z i t i for i = 1 , , N .
Therefore, the least square minimisation is now applied to a function
H k = i = 1 N t i + a x i Δ x L T ( k ) + a y i Δ y L T ( k ) + a z i Δ z L T ( k ) ( L k + P i ( k ) ) 2 2
and, similarly to Case B, the following system of three equations (in the form of an augmented matrix for short) is obtained
A | b = i = 1 N a x i 2 i = 1 N a x i a y i i = 1 N a x i a z i i = 1 N a x i t i ( L k + P i ( k ) ) 2 i = 1 N a x i a y i i = 1 N a y i 2 i = 1 N a y i a z i i = 1 N a y i t i ( L k + P i ( k ) ) 2 i = 1 N a x i a z i i = 1 N a y i a z i i = 1 N a z i 2 i = 1 N a z i t i ( L k + P i ( k ) ) 2
for the vector of unknowns denoted as Δ x L T ( k ) , Δ y L T ( k ) , Δ z L T ( k ) T .
Once the evaluated error constants are added to the calculated LT positions from Table 8, we receive more accurate values but the accuracy of the first case method is not reached. Indeed, see the modified LTs’ positions in Table 9.

3.2. Volumetric Errors Calculation

Now, when the LTs’ positions are calculated, we can determine the actual positions of the points X a = x a , y a , z a T by the same algorithms as above for the LTs’ positions and the volumetric errors Δ x , Δ y , Δ z T may be evaluated as a difference between the nominal positions X = x , y , z T and the actual point positions X a = x a , y a , z a T .
First, we apply the same procedure as in Case A, i.e., we minimise a function of three variables
F ( x a i , y a i , z a i ) = k = 1 N L T x a i x L T ( k ) 2 + y a i y L T ( k ) 2 + z a i z L T ( k ) 2 L k + P i ( k ) 2 ,
which provided more accurate results for the LTs’ positions calculation. We omit the second less accurate method from Case A. Note that, as before, we used the trust-region least squares method for the minimisation and for i = 1 , , N we received all the actual positions of the respective points. A comparison of the calculated volumetric errors and the reference data from the Trac-Cal software for the x axis is depicted in Figure 5.
For the variant appropriate to Case B, we apply the least squares method to minimise the function
F ( x a i , y a i , z a i , C i ) = k = 1 N L T ( x L T ( k ) ) 2 + ( y L T ( k ) ) 2 + ( z L T ( k ) ) 2 2 x a i x L T ( k ) 2 y a i y L T ( k ) 2 z a i z L T ( k ) + C i ( L k + P i ( k ) ) 2 2 ,
where C i = x a i 2 + y a i 2 + z a i 2 . Again, analogously to Case B, we transform this minimisation problem into the solution of the following system of four equations
A · ( x a i , y a i , z a i , C i ) T = b ,
where the matrix A is now of the form
A = 2 k = 1 N L T ( x L T ( k ) ) 2 2 k = 1 N L T x L T ( k ) y L T ( k ) 2 k = 1 N L T x L T ( k ) z L T ( k ) k = 1 N L T x L T ( k ) 2 k = 1 N L T x L T ( k ) y L T ( k ) 2 k = 1 N L T ( y L T ( k ) ) 2 2 k = 1 N L T y L T ( k ) z L T ( k ) k = 1 N L T y L T ( k ) 2 k = 1 N L T x L T ( k ) z L T ( k ) 2 k = 1 N L T y L T ( k ) z L T ( k ) 2 k = 1 N L T ( z L T ( k ) ) 2 k = 1 N L T z L T ( k ) k = 1 N L T x L T ( k ) k = 1 N L T y L T ( k ) k = 1 N L T z L T ( k ) N L T 2
and the corresponding right-hand side vector b is
b = k = 1 N L T x L T ( k ) ( x L T ( k ) ) 2 + ( y L T ( k ) ) 2 + ( z L T ( k ) ) 2 ( L k + P i ( k ) ) 2 k = 1 N L T y L T ( k ) ( x L T ( k ) ) 2 + ( y L T ( k ) ) 2 + ( z L T ( k ) ) 2 ( L k + P i ( k ) ) 2 k = 1 N L T z L T ( k ) ( x L T ( k ) ) 2 + ( y L T ( k ) ) 2 + ( z L T ( k ) ) 2 ( L k + P i ( k ) ) 2 1 2 k = 1 N L T ( x L T ( k ) ) 2 + ( y L T ( k ) ) 2 + ( z L T ( k ) ) 2 ( L k + P i ( k ) ) 2 .
Even in this case, the system matrix is ill-conditioned and, thus, the solution depends on the accuracy of the input data. However, the input data were acquired by measuring, which is naturally inaccurate and, moreover, because the number of N L T = 4 or 6, there are fewer measured points than before. The number of the LaserTRACER (LT) positions is either four or six depending on the preliminary measurement strategy which may use the RRB model (reduced rigid body) with four positions or the FRM model (full rigid body) with six positions of LTs. All presented methods may be used for both models. The measurement methodology may be found in [31]. This leads to a very inaccurate volumetric error vector Δ x , Δ y , Δ z T . A comparison of the Case B-like approach with the Trac-Cal software data is depicted in Figure 6. Note that the Trac-Cal data are identical to Figure 5. We only changed the scaling of the axes. We stress that the acquired error vector is out of any reasonable bounds due to the deviation of up to 0.5 mm. We tested all methods on three different datasets for one particular type of the kinematic chain WXYZT. We provide one of the datasets for illustration.
Let us note that the condition number is not the only parameter affecting the stability and accuracy of the chosen method. For instance, even the position of LT and the location of the calculated point matter, see [32], where the authors discuss also the situation when any three of the LTs lie on a single line, i.e., they are not in a general position. In our case, the position of the LT is checked to avoid such singular positions.

4. Conclusions

We compared two numerical approaches denoted as Case A and Case B. In Case A, we constitute two systems of Equations (5) and (6), and the corresponding optimisation cost functions (7) and (8), respectively. We showed that, due to the form of the input data, version (5) with cost function (7) is more effective. The reason is in the approximation of the Hessian matrix inside the evaluation of the optimisation problem, where the high numbers in the input data lead to a badly controlled rounding error for cost function (8). The square root in cost function (7) lowers the input data and, thus, provides more accurate results. Consequently, we studied Case B, which in fact is an optimisation by the Lagrange multipliers method, but the resulting system matrix of the corresponding linear equations (11) is ill-conditioned and, thus, leads to inaccurate and non-stable outputs. We showed that the methods for multilateration and volumetric error calculation presented in e.g., refs. [1,2] are ill-conditioned and, thus, numerically sensitive to the input data. Therefore, this method is not suitable for statistical accuracy improvement such as the Monte Carlo method and, from the numerical point of view, it cannot be recommended for use. Therefore, for further data processing, we will use the numerical method from Case A. Our intention is to find a substantial improvement to this method itself.

Author Contributions

T.M. conducted the measurements. M.H. performed the data analysis and evaluated the results in Trac-Cal. J.Z. programmed the numerical methods. All authors contributed to the text and made revisions. All authors have read and agreed to the published version of the manuscript.

Funding

The authors would like to acknowledge funding support from the Czech Ministry of Education, Youth and Sports under the project CZ.02.1.01/0.0/0.0/16_026/0008404 “Manufacturing engineering and Precision Engineering” financed by the OP RDE (ERDF). The project is also co-financed by the European Union.

Data Availability Statement

ETALON Trac-Cal is patented and licensed software by HEXAGON and the measured data are available upon request to the corresponding author.

Conflicts of Interest

The authors declare no conflict of interest.

Abbreviations

The following abbreviations are used in this manuscript:
CMMCoordinate Measuring Machines
LTLaserTRACER
LSMLeast Square Method
MTMachine Tool
WSWorking Space

References

  1. Wang, J.; Guo, J.; Zhang, G.; Guo, B.; Wang, H. The technical method of geometric error measurement for multi-axis NC machine tool by laser tracker. Meas. Sci. Technol. 2012, 23, 045003. [Google Scholar] [CrossRef]
  2. Zha, J.; Wang, T.; Li, L.; Chen, Y. Volumetric error compensation of machine tool using laser tracer and machining verification. Int. J. Adv. Manuf. Technol. 2020, 108, 2467–2481. [Google Scholar] [CrossRef]
  3. Linares, J.M.; Goch, G.; Forbes, A.; Sprauel, J.M.; Clément, A.; Haertig, F.; Gao, M. Modelling and traceability for computationally-intensive precision engineering and metrology. CIRP Ann. 2018, 67, 815–838. [Google Scholar] [CrossRef]
  4. Eman, K.F.; Wu, B.T.; DeVries, M.F. A Generalized Geometric Error Model for Multi-Axis Machines. CIRP Ann. 1987, 36, 253–256. [Google Scholar] [CrossRef]
  5. Ramesh, R.; Mannan, M.A.; Poo, A.N. Error compensation in machine tools—A review: Part I: Geometric, cutting-force induced and fixture-dependent errors. Int. J. Mach. Tools Manuf. 2000, 40, 1235–1256. [Google Scholar] [CrossRef]
  6. Ibaraki, S.; Sawada, M.; Matsubara, A.; Matsushita, T. Machining tests to identify kinematic errors on five-axis machine tools. Precis. Eng. 2010, 34, 387–398. [Google Scholar] [CrossRef]
  7. Schwenke, H.; Schmitt, R.; Jatzkowski, P.; Warmann, C. On-the-fly calibration of linear and rotary axes of machine tools and CMMs using a tracking interferometer. CIRP Ann. 2009, 58, 477–480. [Google Scholar] [CrossRef]
  8. Brecher, C.; Flore, J.; Haag, S.; Wenzel, C. High precision, fast and flexible calibration of robots and large multi-axis machine tools. MM Sci. J. 2012, 6. Available online: https://publications.rwth-aachen.de/record/234133?ln=en (accessed on 31 July 2022).
  9. Schwenke, H.; Franke, M.; Hannaford, J.; Kunzmann, H. Error mapping of CMMs and machine tools by a single tracking interferometer. CIRP Ann. 2005, 54, 475–478. [Google Scholar] [CrossRef]
  10. Linares, J.-M.; Chaves-Jacob, J.; Schwenke, H.; Longstaff, A.; Fletcher, S.; Flore, J.; Uhlmann, E.; Wintering, J. Impact of measurement procedure when error mapping and compensating a small CNC machine using a multilateration laser interferometer. Precis. Eng. 2014, 38, 578–588. [Google Scholar] [CrossRef]
  11. Brecher, C.; Flore, J.; Haag, S.; Wenzel, C. Universal Approach for Machine Tool Testing Independent of Axis Configuration. In Proceedings of the 9th International Conference on Machine Tools, Automation, Technology and Robotics, Prague, Czech Republic, 12–14 September 2012; p. 5. [Google Scholar]
  12. Chen, J.; Lin, S.; He, B. Geometric error measurement and identification for rotary table of multi-axis machine tool using double ballbar. Int. J. Mach. Tools Manuf. 2014, 77, 47–55. [Google Scholar] [CrossRef]
  13. Aguado, S.; Samper, D.; Santolaria, J.; Aguilar, J.J. Machine Tool Rotary Axis Compensation Trough Volumetric Verification Using Laser Tracker. Procedia Eng. 2013, 63, 582–590. [Google Scholar] [CrossRef]
  14. Knobloch, J.; Holub, M.; Kolouch, M. Laser Tracker Measurement for Prediction of Workpiece Geometric Accuracy. Eng. Mech. 2014, 1, 296–300. [Google Scholar]
  15. Ibaraki, S.; Sato, G.; Takeuchi, K. ‘Open-loop’ tracking interferometer for machine tool volumetric error measurement—Two-dimensional case. Precis. Eng. 2014, 38, 666–672. [Google Scholar] [CrossRef]
  16. Jung, J.-H.; Choi, J.-P.; Lee, S.-J. Machining accuracy enhancement by compensating for volumetric errors of a machine tool and on-machine measurement. J. Mater. Process. Technol. 2006, 174, 56–66. [Google Scholar] [CrossRef]
  17. Raksiri, C.; Parnichkun, M. Geometric and force errors compensation in a 3-axis CNC milling machine. Int. J. Mach. Tools Manuf. 2004, 44, 1283–1291. [Google Scholar] [CrossRef]
  18. Tian, W.; Gao, W.; Chang, W.; Nie, Y. Error Modeling and Sensitivity a nalysis of a Five-Axis Machine Tool. Math. Probl. Eng. 2014, 2014, 745250. [Google Scholar] [CrossRef]
  19. Ibaraki, S.; Oyama, C.; Otsubo, H. Construction of an error map of rotary axes on a five-axis machining center by static R-test. Int. J. Mach. Tools Manuf. 2011, 51, 190–200. [Google Scholar] [CrossRef]
  20. Uddin, M.S.; Ibaraki, S.; Matsubara, A.; Matsushita, T. Prediction and compensation of machining geometric errors of five-axis machining centers with kinematic errors. Precis. Eng. 2009, 33, 194–201. [Google Scholar] [CrossRef]
  21. Tian, W.; Gao, W.; Zhang, D.; Huang, T. A general approach for error modeling of machine tools. Int. J. Mach. Tools Manuf. 2014, 79, 17–23. [Google Scholar] [CrossRef]
  22. Holub, M.; Jankovych, R.; Vetiska, J.; Sramek, J.; Blecha, P.; Smolik, J.; Heinrich, P. Experimental Study of the Volumetric Error Effect on the Resulting Working Accuracy—Roundness. Appl. Sci. 2020, 10, 6233. [Google Scholar] [CrossRef]
  23. Švéda, J.; Chládek, Š.; Hornych, T.; Kozlok, T.; Smolík, J. Increasing Machining Accuracy Based on CNC Machine Tool Correction Data by Using Ad Hoc Modification. Machines 2022, 10, 288. [Google Scholar] [CrossRef]
  24. Usop, Z.; Sarhan, A.A.D.; Mardi, N.A.; Wahab, M.N.A. Measuring of positioning, circularity and static errors of a CNC Vertical Machining Centre for validating the machining accuracy. Measurement 2015, 61, 39–50. [Google Scholar] [CrossRef]
  25. ISO 230-1:2014; Test Code for Machine Tools—Part 1: Geometric Accuracy of Machines Operating under No-Load or Quasi-Static Conditions. International Organisation for Standardization: Geneva, Switzerland, 2014.
  26. Holub, M.; Hrdina, J.; Vašík, P.; Vetiška, J. Three-axes error modeling based on second order dual numbers. J. Math. Ind. 2015, 5, 2. [Google Scholar] [CrossRef]
  27. Hrdina, J.; Vašík, P. Dual numbers approach in multiaxis machines error modeling. J. Appl. Math. 2014, 2014, 261759. [Google Scholar] [CrossRef]
  28. Takatsuji, T.; Goto, M.; Kirita, A.; Kurosawa, T.; Tanimura, Y. The relationship between the measurement error and the arrangement of laser trackers in laser trilateration. Meas. Sci. Technol. 2000, 11, 477–483. [Google Scholar] [CrossRef]
  29. Datta, B.N. Numerical Linear Algebra and Applications, 2nd ed.; SIAM: Philadelphia, PA, USA, 2010. [Google Scholar]
  30. Qi, L. Some simple estimates for singular values of a matrix. Linear Algebra Its Appl. 1984, 56, 105–119. [Google Scholar] [CrossRef]
  31. Holub, M.; Blecha, P.; Bradac, F.; Marek, T.; Zak, Z. Geometric errors compensation of CNC machine tool. MM Sci. J. 2016. [Google Scholar] [CrossRef]
  32. Norrdine, A. An Algebraic Solution to the Multilateration Problem. In Proceedings of the 2012 International Conference on Indoor Positioning and Indoor Navigation, Sydney, Australia, 13–15 November 2012. [Google Scholar]
Figure 1. Demonstrator MCV 754 QUICK.
Figure 1. Demonstrator MCV 754 QUICK.
Machines 10 00833 g001
Figure 2. Error vector map (TRAC−CAL), the axes’ units are mm.
Figure 2. Error vector map (TRAC−CAL), the axes’ units are mm.
Machines 10 00833 g002
Figure 3. Configurations of tracking the laser interferometer.
Figure 3. Configurations of tracking the laser interferometer.
Machines 10 00833 g003
Figure 4. Difference between the calculated volumetric errors without evolution (green) and those with evolution (red) compared with the Trac-Cal data (blue). Units: mm.
Figure 4. Difference between the calculated volumetric errors without evolution (green) and those with evolution (red) compared with the Trac-Cal data (blue). Units: mm.
Machines 10 00833 g004
Figure 5. Comparison of Δ x , Δ y , Δ z on the x axis, Trac-Cal results in blue, Case A in red. Units: mm.
Figure 5. Comparison of Δ x , Δ y , Δ z on the x axis, Trac-Cal results in blue, Case A in red. Units: mm.
Machines 10 00833 g005
Figure 6. Comparison of Δ x , Δ y , Δ z on the x axis, Trac-Cal results in blue, Case B in red (very inaccurate results of a method based on an ill-conditioned matrix). Units: mm.
Figure 6. Comparison of Δ x , Δ y , Δ z on the x axis, Trac-Cal results in blue, Case B in red (very inaccurate results of a method based on an ill-conditioned matrix). Units: mm.
Machines 10 00833 g006
Table 1. CNC machine tools technical parameters.
Table 1. CNC machine tools technical parameters.
Item
Travel of X axis/Measurement range of X axis754/750 mm
Travel of Y axis/Measurement range of Y axis500/500 mm
Travel of Z axis/Measurement range of Z axis550/550 mm
Bi-directional systematic positioning error of an axis ISO 230-2:20140.008 mm
Temperature sensors uncertainty, Pt100, class A0.25 °C
Table 2. LaserTRACER specifications.
Table 2. LaserTRACER specifications.
Item
Resolution0.001 µm
Measuring uncertainty ( k = 2 )(0.2 + 0.3 × L) µm
Measuring range200–18,000 mm
Table 3. Geometric errors for three-axis MT.
Table 3. Geometric errors for three-axis MT.
AxisAxis Error
(ISO/Paper Symbol)
X-axisEXX / δ x x EYX / δ y x EZX / δ z x EAX / ε x x EBX / ε y x ECX / ε z x
Y-axisEXY / δ x y EYY / δ y y EZY / δ z y EAY / ε x y EBY / ε y y ECY / ε z y
Z-axisEXZ / δ x z EYZ / δ y z EZZ / δ z z EAZ / ε x z EBZ / ε y z ECZ / ε z z
Table 4. Squareness errors for three-axis MT.
Table 4. Squareness errors for three-axis MT.
AxisSquareness Error
(ISO/Paper Symbol)
X-axisB0Z / S x y C0Y / S x z
Y-axisA0Z / S y z
Z-axis C0Y / S x z
Table 5. Calculated LT positions for Case A with function (7).
Table 5. Calculated LT positions for Case A with function (7).
Calculated Values (mm)Trac-Cal (mm)
L T ( 1 ) [−154.799406, 125.978808, −471.460113][−154.799400, 125.978800, −471.460100]
L T ( 2 ) [−143.324882, 328.559001, −471.386505][−143.324800, 328.559000, −471.386500]
L T ( 3 ) [862.105512, 291.242899, −340.459834][862.105400, 291.242700, −340.460000]
L T ( 4 ) [833.3820, 103.1588, −340.4466][833.382200, 103.158700, −340.446600]
L T ( 5 ) [891.307748, 152.634701, −507.868235][891.308200, 152.634600, −507.868500]
L T ( 6 ) [885.579601, 154.917244, −507.865002][885.581100, 154.917200, −507.865700]
Table 6. Difference values from Table 5.
Table 6. Difference values from Table 5.
Difference (mm)
L T ( 1 ) [0.000006, 0.000008, 0.000013]
L T ( 2 ) [0.000082, 0.000001, 0.000005]
L T ( 3 ) [0.000112, 0.000199, 0.000166]
L T ( 4 ) [0.000220, 0.000129, 0.000001]
L T ( 5 ) [0.000452, 0.000101, 0.000265]
L T ( 6 ) [0.001499, 0.000044, 0.000698]
Table 7. Calculated LT positions for Case A with function (8).
Table 7. Calculated LT positions for Case A with function (8).
Calculated Values (mm)Difference (mm)
L T ( 1 ) [−154.794962, 125.982784, −471.450112][0.004438, 0.003984, 0.009988]
L T ( 2 ) [−143.318839, 328.556174, −471.377919][0.005961, 0.002826, 0.008581]
L T ( 3 ) [862.109478, 291.237421, −340.474264][0.004078, 0.005279, 0.014264]
L T ( 4 ) [833.386275, 103.153101, −340.458882][0.004075, 0.005599, 0.012282]
L T ( 5 ) [891.340682, 152.629665, −507.882949][0.032482, 0.004935, 0.014449]
L T ( 6 ) [885.615803, 154.916576, −507.878724][0.034703, 0.000624, 0.013024]
Table 8. Calculated LT positions for Case B.
Table 8. Calculated LT positions for Case B.
Calculated Values (mm)Difference (mm)
L T ( 1 ) [−154.753693, 125.997296, −471.438187][0.044807, 0.024296, 0.022513]
L T ( 2 ) [−143.278061, 328.552377, −471.365799][0.047739, 0.010223, 0.022101]
L T ( 3 ) [862.058916, 291.229694, −340.470871][0.048984, 0.010006, 0.011871]
L T ( 4 ) [833.366114, 103.162447, −340.458043][0.016086, 0.003747, 0.011443]
L T ( 5 ) [891.284203, 152.643858, −507.849575][0.023997, 0.009258, 0.018925]
L T ( 6 ) [885.512940, 154.911389, −507.830969][0.068160, 0.005811, 0.034731]
Table 9. Modified calculated LT positions for Case B.
Table 9. Modified calculated LT positions for Case B.
Modified Calculated Values (mm)Difference (mm)
L T ( 1 ) [−154.773573, 125.991814, −471.436421][0.025827, 0.013014, 0.023679]
L T ( 2 ) [−143.296934, 328.549582, −471.366299][0.027866, 0.009418, 0.020201]
L T ( 3 ) [862.079871, 291.228920, −340.487847][0.025529, 0.013780, 0.027847]
L T ( 4 ) [833.376680, 103.158796, −340.472265][0.005520, 0.000096, 0.025665]
L T ( 5 ) [891.316507, 152.635376, −507.864140][0.008307, 0.000776, 0.004360]
L T ( 6 ) [885.547791, 154.901906, −507.846437][0.033309, 0.015294, 0.019263]
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Holub, M.; Zatočilová, J.; Marek, T.; Blecha, P.; Heinrich, P. Numerical Aspects of Multilateration for Volumetric Error Calculation. Machines 2022, 10, 833. https://doi.org/10.3390/machines10100833

AMA Style

Holub M, Zatočilová J, Marek T, Blecha P, Heinrich P. Numerical Aspects of Multilateration for Volumetric Error Calculation. Machines. 2022; 10(10):833. https://doi.org/10.3390/machines10100833

Chicago/Turabian Style

Holub, Michal, Jitka Zatočilová, Tomáš Marek, Petr Blecha, and Petr Heinrich. 2022. "Numerical Aspects of Multilateration for Volumetric Error Calculation" Machines 10, no. 10: 833. https://doi.org/10.3390/machines10100833

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop