Geometric algebra methods in volumetric accuracy analysis

With the help of plane geometric algebra, we see volumetric errors as pure geometric objects. We use this identification to expand errors with respect to Abbe's principle into the whole working space with respect to some additional conditions. We show that geometric algebra helps us to understand errors in kinematics chains. We demonstrate our approach on a model example.


INTRODUCTION
There are two options to ensure high geometric accuracy.The time-consuming and more costly option is based on a mechanically adjusted machine, that is, without software compensation.This option is offered by machine manufacturers, especially for their special machines, which are supplied to industries with extremely high requirements for long-term dimensional stability.Another possible option is to use software compensations eliminating the basic sources of machine tool errors. 1 These sources include geometric errors, thermal errors, dynamic errors, and tool wear errors. 2 Quasi-static errors are defined as the errors of relative position of the tool center point (TCP) and workpiece; these errors change slowly over time due to wear, material aging, or foundation drifts.They are directly related to the structure of the machine tool itself and can be divided into geometric, kinematic, and thermal errors.The percentage of quasi-static errors in the resulting accuracy of a three-axis machine tool was already described in 2000 by Ramesh et al. 3 Here, the percentage was 60% to 70%.Subsequently, Ibaraki et al. expanded this hypothesis in his 2010 publication 4 up to 80% for five-axis machine tools.The increase in the proportion of quasi-static errors is caused by a kinematic pair of rotary axes of five-axis machines.
Indeed, software compensations are now an integral part of every CNC machine tool, and their importance is increasing along with the growing demands for more accurate and higher quality production. 5,6Thanks to the development of new technologies, especially a more powerful computing core, it is possible to use more and more production-oriented calculations in machine tools without slowing down their performance.It is by designing new methods or by combining existing methods in an appropriate way that their geometric accuracy can be increased by up to 60%, while maintaining their performance.
The volumetric accuracy of machine tools belongs among and will be one of the main properties of a machine tool.This is suggested due to the number of solved research activities of machine tool manufacturers themselves in this field and the deployment of new applications from the manufacturers of control systems focused on the geometric accuracy (volumetric accuracy).It can be further assumed that the development of Internet of Things (IoT), Big Data, Smart Factory, and Artificial Intelligence will further develop the area of geometric, working, and production accuracy of machine tools.
Advanced and highly progressive methods include the assessment of volumetric accuracy and its subsequent compensation.The purpose of these advanced compensations is to minimize TCP deviation at any point in the machine measured workspace.TCP volumetric deviation is defined as the sum of partial deviations in the individual axes. 7

GEOMETRIC ERRORS IN VOLUMETRIC ACCURACY
Geometric errors are one of the main sources of machine tool errors.The main contribution of publications is usually the introduction of new models of geometric errors according to the definitions of geometric errors of the described machine type.The advantages of an individual machine error modeling approach are the additional possibilities of TCP motion optimization, for example, for squareness, straightness, or length errors.The proposed model is related to the kinematic chain to be solved. 8olumetric accuracy is based on the relative error relation between the ideal and the real position along all of the axes in a given volume of workspace. 9,10A point position can be understood as a composition of individual movements, represented by a kinematic chain.For each possible movement, a possibility of some error of translation or rotation is assumed.In the case of the three-axis machine tool, we obtain translation and rotation matrices, respectively: , where the matrix T x is the translation along x axis, T  is the translation along  axis, T z is the translation along z axis, R x is the rotation around x axis by the angle , R  is the rotation around  axis by the angle , and R z is the rotation around z axis by the angle .The deviation of the angle is expected not to be large.An efficient method to deal with significantly small rotations is to approximate the rotation matrices: The errors of the three-axis machine tool shown in Figure 1 describe the translation and straightness errors with respect to axes x, , and z with the following notation:  A simplification, which will be described in the next chapters, leads to the set of so-called error matrices: where  kl in case k = l is a linear error along kth axis (position deviation in k-direction); further, it is a straightness error in the kth axis direction for moving along the lth axis,  kl is an angular error around the kth axis for moving along the lth axis, and  kl denotes squareness errors between corresponding axes.In the case of the three-axis machine tool, there are 21 parameters representing geometric errors.Each translation axis allows six geometrical deviations and a squareness error.Most machine tools are constructed with the structure where one axis of motion is built upon another.Then, the position of a point can be described as the composition of individual movements and written by using the kinematic chain as Remark 1.Note that generally, tool length is also included for mapping the movement of the tool of machine tool.The final kinematic chain is of the form where where L denotes the ideal tool length along z axis.
Volumetric verification consists in minimizing the difference between real points and nominal points.The differences between the nominal value and the actual position are due to the effect of combined machine errors.The real position of a point is obtained using a measuring device.The next step is the comparison of the measured set of points with the nominal value of the points p i from the initial design of the kinematic chain  (p i ).The error of the model is given and the volumetric error is computed.Based on this information, corrections are made in the model and again compared with the set X.The process is illustrated in Figure 2. The model is optimized until the model matches the values of set X within the chosen tolerance.
In the next step, it is necessary to describe all of the work space.Parametrization of error is often used to simplify the description and evaluation of the error.The main advantage is the incorporation of assumptions about the behavior of the error with respect to the axis and possibility of easier interpolation to the whole work space by a few parameters.In the case of linear motion along the individual axes, the errors are assumed to change linearly depending on the distance from the origin.If more directions are considered rather than the direction along only one axis, it is necessary to replace the pitch and yaw deviation according to the respective axis.The principle is illustrated in Figure 3.It is based on the idea of reducing errors of parallax by coaxial measurement.Thus, based on Abbe's principle, the parametrization of the error is given. 11f we neglect errors of higher orders (the terms resulting from the product of three or more errors) of the kinematic chain, then the volumetric error ve is given by the means of the square root of sums of each positioning error: where The problem of determining the volumetric error turns into the problem of solving the given system of equations with parameters.

NOTES ON ALGEBRA OF QUATERNIONS
Our idea is to realize volumetric precision analysis with the help of plane geometric algebra (PGA). 12Bivectors of PGA can be identified with the algebra of imaginary dual quaternions, 13 that is, quaternions with coefficients over dual numbers. 14,15Considering only bivectors without infinity, we can identify bivectors with quaternions.So we roughly recall some basic facts about quaternions and discuss the advantages and disadvantages of quaternions with respect to Euler matrices and PGA.We can see quaternions H as a natural extension of the complex numbers C. Quaternions are represented in the form where a, b, c, d ∈ R. The products of the basis elements i, , k are based on the multiplications rules i 2 =  2 = k 2 = −1 and i = −i = k.If z = a + bi + c + dk, then the quaternion Im(z) = bi + c + dk is called the imaginary part of z and the quaternion Re(z) = a is called the real part of z.To split a quaternion into a real and and imaginary part, we can see the quaternion z = a + bi + c + dk as the couple (a, v), where a ∈ R is a real number and v = (b, c, d) ∈ R 3 is a vector.Then, the formulas for addition and multiplication can be rewritten as where • stands for the dot product and × for the vector product.The conjugation of a quaternion z is the quaternion that is, (a, v) = (a, −v).The norm of a quaternion ||z|| can be expressed by the formula In the case z ≠ 0, the inverse element with respect to z can be defined as z −1 = z ||z|| 2 .Given a quaternion z, the exponential can be computed as so the polar decomposition of the quaternion can be written as where n is an imaginary unitary quaternion.Quaternions give a simple way to alternatively use Euler's rotation theorem.
The rotation of angle  around the axis n = (n x , n  , n z ) = n x i + n   + n z k, where ||n|| = 1 can be represented by the quaternion where the quaternion R acts on the vector q = (x, , z) = xi +  + zk using the sandwich product: where bar stands for quaternionic conjungation (8).
The algebra of quaternions leads to an efficient way of dealing with rotations of R 3 .For example, the rotation with respect to the x axis is represented by the Euler matrix ( 1 0 0 0 cos() − sin() 0 sin() cos() and can be represented by the unit quaternion R = cos(  2 ) + i sin(  2 ) by sandwich product (13).Now, we will remark differences between Euler matrices and quaternions and note some advantages of quaternions.
Remark 2. An approximation from the last chapter sends the Y -axis Euler matrix to an error matrix with respect to axis .This approximation does not belong to the Lie group SO(3) except for the case  = 0 because and formally speaking, it does not represent a rigid body motion at all, which is not usually a problem for small , but it can play a role.Remark 3. The facts from Remark 2 holds for quaternions too, but we can easily fix it by norm (11).The norm of the object R = 1 +  𝜃 2 is just the quaternionic norm, that is, . Moreover, the sandwich product norms quaternions naturally from the definition: This is because we defined the rotation using the sandwich product RqR −1 , that is, sandwich product based on inversion instead of sandwich product Rq R based on quaternionic conjugation.Moreover, an element R represents the rigid body motion by the unitary quaternion that is, rotation with respect to axis  and angle  = 1 2 arccos ) .
Remark 4. The Euler matrices act by multiplication and quaternions act by sandwich product (3) on R 3 , but the final transformation is the same because Lie algebras of unitary quaternions and special orthogonal matrices coincide.The approximated versions act differently.For example, taking the rotation about the  axis, for the approximated Euler matrix, we get Taking the corresponding transformation realized by sandwich product of the point q with the approximated quaternion R, we get ) , which again is not equivalent to the rotation represented by the approximated Euler matrix but now represents a proper rotation about the  axis.

VOLUMETRIC PRECISION IN PGA APPROACH
The 3D PGA (also known as the projective geometric algebra) 16,17 is the geometric algebra R 3,0,1 with the basis e 0 , e 1 , e 2 , e 3 , where e 2 i = 1 for i > 0 are orthonormal vectors and e 2 0 = 0 is the null vector.The embedding of an euclidean point P of coordinates (x, , z) is given by Equation ( 16) is the result of intersection of three planes in PGA.By e i , we mean the outer product e i ∧ e  , also called wedge.
The core idea of PGA is that we want to describe Euclidean motions as reflections in planes; by constructing the algebra in such a way that planes are represented by vectors, we achieve an efficient formalism: the plane p ∶ ax + b + cz + d = 0 is given by the vector As a line can be represented as the intersection of two planes in R 3 , we can do the same in PGA using the outer product.We say that two planes p 1 , p 2 meet in the line l: The coordinate axes x, y and z are then given as x = e 23 , y = e 31 , z = e 12 .
As the algebra of quaternions is a subalgebra of PGA, the representation of rotations will be similar.Rotation around an axis l E by the angle  is represented by rotor R PGA in PGA of the form Again, assuming  is sufficiently small, we can approximate Equation ( 18) by Thus, the Euler matrices and their approximations are represented in PGA by following ( cos() − sin() 0 sin() cos() 0 0 0 1 The rotation represented by (18) applied to any element X in PGA is applied using the sandwich product: which means the geometric product of the rotor R PGA , the element X and its inverse R PGA −1 .
Translation by the distance d in the direction of the real vector (a, b, c) of an object in PGA is represented by the translator defined as where l ∞ is the bivector of form l ∞ = ae 01 + be 02 + ce 03 .
We can now reformulate the kinematic chain T x E x T  E  T z E z using PGA.The translations T l in the direction of the coordinate axes are represented as To represent the rotations, the angular errors with respect to all axes are collected, and we receive the kinematic chain For small enough values of the angular errors, all but the linear terms vanish, so we receive the composed approximated rotor as which is a quaternionic element of the rotation part of the error matrix E x of expression (2).But geometrically, we can see this element again as a rotation with respect to the axis  = ( xx ,  x ,   ), so geometrically with the help of quaternions, the volumetric error E x can be interpreted more as a change in the axis of rotation rather than angles.Thus, the angular errors  ki for the axis i ∈ {x, , z} will be represented by the rotor R i .The linear errors  ki will be represented by the translator D i , i ∈ {x, , z}.For i = x, we have For the cases i =  and i = z, the squareness errors remain to be included: and Finally, we can identify the error matrices E i with respect to the axis i ∈ {x, , z} with an element in PGA composed from translations and rotations: where • is the scalar product and × is the vector product on R 3 .
Proof. ( Collecting the coefficients from Equation (22), we get that which describes E x in the form of (21).The same holds for i ∈ {, z}.
We will call (23) the moment error, (24) the axis error, and (25) the volume error.We consider these three geometric objects as a new set of errors which help us approximate our data into space with a more obvious geometric interpretation.
In Theorem 1, we have assumed the squareness error  i to be zero.In general, the theorem holds even for nonzero  i : where • is the scalar product and × is the vector product on R 3 .
Proof.The case of E x is shown in Theorem 1, as  x is the zero vector.We omit the calculations for  and z as they are similar to (22).We arrive to the new set of errors for the case i = :

FITTING IN THE WORKING SPACE
Based on Abbe's principle, we can use the relations for the errors defined by Table 1.To demonstrate our approach, we modify the extension of errors into the whole working space.The error E x then can be seen as a PGA element: or alternatively as a set describing new errors: ) .
Now, we can easily modify our extension with respect to some additional tasks.We will demonstrate this in the case of E x .For example, the volume error  x •  x is a cubic polynomial in x, and our task can be to change the extension to contain just a quadratic term, which can be useful for the purposes of volumetric precision.The extension is modified according to the task.
Theorem 3. Consider the parametrization of the error E x based on the set of parameters { 1 ,  2 ,  3 ,  4 } ⊂ R and formulas Substituting the parametrization (28) into the errors ( 23)-( 25), we get ) , Proof.Expanding Equation (26) using the new extension, the error is of the form In order to reduce the volume error to a cubic-order polynomial,  4 is taken as  4 ∶= − . The volume error thus changes to The set of geometric errors is then given by ) , where  = Magnitudes of the geometric errors for both extensions are shown in Figure 5.While the axis errors for the initial and the modified extension remain the same, the moment and volume errors differ-the volume error is smaller as according to the specification of the task.

CONCLUSION
We showed that error matrices (2) can be represented by two elements of PGA, (19) and (20).In this framework, we can see volumetric errors as pure geometric objects due to Theorems 1 and 2. In the last chapter, we modified Abbe's principle to show how to modify some geometric parts of E x with the help of Theorem 3. We demonstrated our approach on a specific example, with the results presented in Figures 4 and 5.

FIGURE 1
FIGURE 1 Volumetric errors in the space [Colour figure can be viewed at wileyonlinelibrary.com]

FIGURE 2
FIGURE 2 Scheme of volumetric precision analysis

FIGURE 3
FIGURE 3 Displacement approach to indicate deviation in x axis based on Abbe's principle 11 [Colour figure can be viewed at wileyonlinelibrary.com]

𝑓 2 1 2 2 𝑓 3 .FIGURE 4 FIGURE 5
FIGURE 4 Vector field plots of the moment errors for the above example [Colour figure can be viewed at wileyonlinelibrary.com] straightness deviation in  direction (z direction) of the x axis,  x ( z ) … straightness deviation in x direction (z direction) of the  axis,  xz ( z ) … straightness deviation in x direction ( direction) of the z axis.In case of rotation errors, the used symbols are  xx ( x ,  zx ) … possible rotation motion in x axis (roll around x axis, pitch around axis, and yaw around z axis),  x (  ,  z ) … possible rotation motion in  axis (pitch around x axis, roll around  axis, and yaw around z axis),  xz ( z ,  zz ) … possible rotation motion in z axis (pitch around x axis, yaw around  axis, and roll around z axis),