Analysis of a novel tool path generation method for corrective machining in ultra-precision diamond turning based on point clouds

The increasing demand for machining non-rota-tional optical surfaces requires capable and ﬂexible cutting tool path generation methods for ultra-precision diamond turning. Furthermore, the recent interest in on-machine metrology and corrective machining require efﬁcient as well as accurate algorithms capable to handle point cloud based surface data. In the present work, a new computation method for the tool path generation is proposed that focuses on three-axes corrective machining. Therefore, it is based on the principle of deﬁning the surface to be machined by a point cloud of certain density, since surface measurement data is usually available as point cloud. Numeric approximation techniques are used to compute the surface normal vectors and calculate the resulting positions of the cutting tool path preserving a uniform radial axis motion for face turning. Investigations are performed in order to quantify the error between the calculated tool path and the exact analytical solution. The error dependencies are analyzed regarding the local surface slope and numerical parameters. Error values below 1nm are achieved. In addition, form deviation results prove the method’s capability for corrective diamond turn machining.


Introduction
Diamond turning and ultra-precision machining technologies today in general offer the capabilities to machine surfaces with form deviations from the nominal surface in the range of 100 nm and roughness values below 5 nm. Besides the use of ultra-precision machine tools, whose structure and components offer high level movements in terms of both precision and accuracy, cutting tools made of single crystal diamonds are employed to achieve the mentioned surface quality. Hence, ultra-precision machining is often referred to as diamond machining [1].
The popularity of three-axis diamond turning increased in machining of non-rotational symmetric geometries including complex aspheres, lens arrays and freeforms in general. Freeform optics enable new possibilities for designers of optical systems for example in terms of a reduced number of optical elements and an increased optical performance [2]. This leads to a growing demand for precision freeform surfaces and thus forces diamond machining technologies to comply with this request. Corrective machining in combination with on-machine surface metrology is a promising approach for increasing diamond turning capabilities and is of rising interest [3]. In view of these developments effective tool path generation is of high importance, especially for corrective machining. Within the tool path generation the tool geometry, consisting of the nose radius and the rake angle, as well as the machining parameters like feed rates and NC point resolution need to be taken into consideration. Figure 1 shows the generalized steps of machining an optical surface and the accuracy losses throughout the process. Regarding the tool path generation, the aim is to minimize its related accuracy loss in order to decrease the overall accuracy loss along all processing steps. For different surface definition methods or surface data available as measured point cloud in case of corrective machining additional format transformations, e.g. fitting operations, may be necessary.
For the common use case of machining surfaces for optical applications by face turning, the tool path topography mainly follows a spiral. Regarding the tool nose radius compensation, Gong et al. [4] distinguish and discuss two different ways of projecting the spiral tool path onto the surface to be machined. The first is called oscillating-X method, since it can cause oscillating movements in X-direction having the potential to negatively affect the machining process due to high dynamic movements. The second leads to a constant feed in the radial direction and is named as steady-X method. Since constant or slowly changing feed rates prevent the process from any high dynamic movements, the steady-X method is generally preferred, but also more complex in terms of the tool-surface contact points calculation based on a predefined spiral tool path. Several publications discuss the issues in this context and present diverse approaches for the tool path generation for freeform machining. Gong et al. [4] give a comprehensive review of tool path generation techniques in ultra-precision diamond turning. Besides, Brinksmeier et al. [5] focus on tool path generation strategies for freeform surfaces.
To describe freeforms a widely used method is using non-uniform rational B-splines (NURBS), as desribed in [6,7]. NURBS offer a framework to represent freeforms in a standardized way and to get an analytical description between given sampling points. However, Gong et al. [4] point out that there is no obvious correspondence between the parameter of the NURBS and the coordinate parameters and that analytic parameter conversion is often impossible. Moreover, also stated in [8], the NURBS approximation may not reach the desired accuracy. To overcome the problem it is possible to sample the surface and use a function fitting to obtain an analytical formula, see Scheiding et al. [9]. This process may suffer from accuracy and time consumption, especially in case of sampling noise or uneven point distribution, see [10] and references therein. In [4] it is noted that a similar algorithm is used in NANOCAM 2.0, but which may lead to accuracy losses.
To overcome the drawback of accuracy losses when approximating an analytic surface description by NURBS, Gong et al. [8] present a tool path generation method using symbolic computation for the calculation of the surface normals. However, the finding of the tool-surface contact point still requires numerical computation, since this usually can not be done analytically for a given spiral path [8].
Besides, there are machining applications which are forced to handle the surface to be machined defined by (non-uniform or uniform) point clouds. An example is machining related to reverse engineering, where surface information typically consists of coordinate points gained by 3D scanning (as stated in [11,12]). The same applies for corrective machining of surfaces, where the actual measured surface form is mainly available as point cloud as well. In this context, Xiao et al. [13] present an algorithm providing direct tool path generation for the repair machining of aero-engine blades based on a measured point cloud. The approach avoids surface fitting operations and the usage of CAM software. Hence, it is concluded to be more efficient than traditional methods. The accuracy is stated to be mainly influenced by the point cloud quality. As mentioned before, corrective machining is also becoming more popular in ultra-precision diamond turning and is strongly encouraged by the recent interest in on-machine surface metrology [3]. Although the use of a point cloud for the tool path generation is not further analyzed in [5], it is listed in the given overview as a possible strategy for ultra-precision machining. By comparing these two application cases the clear demand for a tool path generation method combining efficiency in processing point clouds and suitable accuracy for diamond turning can be derived.  Fig. 1 Processing steps of diamond machining a surface and the related accuracy loss divided into two parts. Part one: Tool path accuracy loss arising out of the calculation of the NC points. Part two: Machining accuracy loss represented by the difference between the programmed path and the finally executed path of the axes.
Therefore, this work presents a novel simplified method that uses a point cloud and numerical computations to calculate the tool path for 3D diamond turning. It follows the explained and preferred steady-X method to maintain a uniform feed rate in radial direction, is capable to handle various tool rake angles and offers the option to compensate the point cloud by measured form errors in case of corrective machining. Since this strategy implies a certain accuracy loss due to no gapless analytical surface description and the employment of numeric computation methods, a comprehensive accuracy loss analysis is presented as well. The analysis and the method in general follow the aim of calculating tool path points of highest accuracy. This is required for any tool path point in diamond machining, regardless of the point density with which a tool path is programmed. Beyond, exemplary form error results prove the usability for freeform corrective machining in combination with the use of on-machine metrology.

Tool path generation
The configuration of the ultra-precision diamond turning machine used for this work is depicted in top view in Figure 2. In contrast to the more usual configuration, the spindle is mounted on the Z-axis slide. The two horizontal linear axes are structurally separated and carry either the diamond tool or the workpiece spindle (dependent on the individual machine tool type), which operated as a controlled C-axis enables three-axes machining. Shown is also the stationary cartesian machine tool coordinate system, in which the X-axis corresponds to the radial linear axis of the machine tool. It serves as the coordinate system used throughout the present work. A movement in Z-direction can be performed either by the Z-axis, what is referred to as slow slide servo machining, or by a fast tool servo. It is worth noticing that the tool path generation method presented in this work is not affected by the method of Z-direction movement.
The machining kinematics in face turning and the typical cutting tool geometry of a circular arc with certain radius cause the contact point between the workpiece surface and the tool to move along the tool nose arc when machining curved geometries. This behavior requires to compensate the nominal spiral tool path in function of the tool nose radius and the surface normal vector at each tool path point. For that, the ability to calculate the surface normal vector at each point of the surface to be machined is crucial. Figure 3 illustrates the correlation between a surface profile f and the associated tool path.
When calculating the surface normals by analytical methods, additional precomputation for each specific surface equation is necessary. This is avoided by representing the nominal surface by a point cloud as described in Section 1. The point cloud represents a flexible basis for the overall tool path generation and can be generated out of any nominal surface description by an initial preprocessing step. Two further steps complete the path generation, namely the calculation of the tool center surface and of the tool path points.

Calculation of surface normals
By machining a general freeform surface using a circular radius cutting tool the tool's radius center point has to move on a surface, where all points have distance to the surface to be machined equal to the tool nose radius. Hence, the first step of the tool path generation is the calculation of the normal vectors of the surface to be machined. Therefore, the surface is considered as a point cloud (PCL) P consisting of Fig. 2 Axes configuration of the used three-axis diamond turning machine consisting of two horizontal linear axes (X-and Z-axis) and one horizontal rotational axis (C-axis) with stationary right handed cartesian machine tool coordinate system. The configuration corresponds to a typical one used in diamond turning. points w i with the coordinates x i , y i and z i according to the definition given by Equation (1).
As already mentioned, the point cloud can be derived by an initial preprocessing step out of any surface description method spending manageable effort. Its properties and the associated effects are discussed in Section 3 subsequently.
For the common case of an analytical surface description z = f (x, y), the surface normal vectors n(x, y) can be derived using the known analytical formulas. Although this description method is common for example for aspherical surfaces, it cannot be used for arbitrary freeform surfaces or for the correction of surfaces with measured points, which are usually available as point cloud. Using a PCL as surface description method overcomes this drawback and represents the basis for a generalized surface normal calculation. Therefore, in a first step, the method described by Hoppe et al. [14] is utilized, where the normal vector to a point is computed using a plane fitted to its neighbors. It may be noticed, that this computation of the normal vectors for a point cloud is already implemented in some commercial software, e.g. in the Computer Vision System Toolbox of MATLAB or open3D for Python. Since the computation of the normals plays a crucial role in the computation of the trajectory, in particular for big tool radii, also a modified version of [14] and additionally the method from [15] are considered. The latter is based on a weighted average of the normals to the neighboring triangles obtained by a Delaunay triangulation. However, as it will become clear in Section 3, using an equally distributed point cloud leads to almost optimal accuracy 1 , for a suitable point density.
In this way, for the PCL P a set of normal vectors N P , one for each point w i , is obtained according to Equation (2). (2)

Calculation of tool center surface
Once the normal vector of each surface point is calculated, the surface on which the tool center point moves can be computed. The most common cutting tools used in diamond turning, especially for machining freeforms, have a circular cutting edge defined by the nose radius r T and the geometrical center point coordinates c T = (x T , y T , z T ) in the machine tool coordinate system. The tool modelling assumes an ideally sharp cutting edge, which together with the tool center point defines the rake face plane E T with the corresponding normal vector n T according to the definition given by Equation (3). For the general situation, the tool rake face is not always parallel to the XZ-plane but tilted by the tool's rake angle.
For a given point w i ∈ P, i.e. a point on the surface to be machined, the corresponding tool center point is computed by projecting the surface normal vector n i onto the plane E T , accordingly scaling its length and adding the resulting vector n i to the surface point. The according mathematical procedure is described in the following and corresponds to the depiction in Figure 4.
The surface normal vector component in direction of n T is subtracted from n i and scaled according to Equations (4). Finally, the surface (or the PCL) P T on which the tool center point moves is computed by extending the surface points w i along the obtained vectors according the definition given in Equation (5).

Calculation of the trajectory
Usually the basis tool trajectory in face turning of optics is supposed to be an Archimedean spiral defined in the XY-plane. Equation (6) defines the spiral T 2D in the cartesian machine tool coordinate system in function of the time t using the cylindrical coordinates consisting of the C-axis angle φ and the radial coordinate r. The radial coordinate r corresponds to the distance to the spindle axis C.
Once P T is determined, the 2D trajectory is projected onto it along the Z-direction. By interpolating the Z-values within P T the tool path points are generated. The position of the trajectory points in the XY-plane remains unchanged during this operation. As a byproduct, using the mapping v i → w i the cutter contact points are obtained.
By choosing the type of interpolation it is possible to improve the accuracy, see e.g. Theorem 4.4.20 in [16], where estimations of the interpolation error depending on the differentiability of the surface, the degree of the interpolation polynomial and the size of the mesh are given. Since for every point the neighbour points were already determined in order to compute the normals (see Section 2.1), it is further possible to interpolate only locally to improve the memory management during the computations.

Analysis of accuracy loss
In this section, the different error sources that affect the tool path accuracy loss as defined in Figure 1 are analyzed for various surfaces. In a first study, only the calculation of the normal vectors for a point cloud, see section 2.1, is considered and the results are compared with the exact normal vectors. The influence of the definition of the point cloud P, the number of nearest neighbors n n and the used methods are discussed. In a second study, the interpolation error when interpolating the Z-values of the tool path points onto the tool center surface P T is analyzed and the trajectories resulting from a point cloud and from the corresponding analytical calculation are compared.

Accuracy of the normals calculation
First, a freeform surface defined by the Equation (7) is considered.
The study investigates the accuracy of the surface normals calculation and is conducted using b = 3. It is assumed that the unit of the coordinates is mm. The normal vectors are calculated for points (x i , y i ) lying within a circle of radius 10 mm, for a number of points n ∈ {1e6, 4e6} and different numbers of neighbor points n n between 3 and 20, for both a cartesian mesh and quasi random points from the Halton sequence. The first grid distribution is motivated by the fact that some measuring devices, e.g. a Fizeau interferometer, return values on a cartesian mesh, while the second distribution because of its low discrepancy, i.e. the points are evenly distributed.
Then, motivated by on-machine metrology two additional methods are considered, both relying on surface data from a spiral distribution, as if it were generated by a spiral scanning measurement. Taking an exemplary but usual configuration, the spiral points have a maximal arc distance of 8.7 µm or 10 • angular distance, while the distance between every C-axis turn is set to be 8.7 µm, resulting approximatively 4e6 points lying within a circle of radius 10 mm. Once the data is interpolated on a cartesian grid and the new grid points are used to compute the normal vectors. In the second case the method from [15] is directly applied to the spiral points to obtain the normal vectors. In this case the number of neighbors is determined automatically using a Delaunay triangulation and each normal vector is computed using a weighted average of the normals to the faces surrounding the point.
To calculate the error of the used methods for computing the surface normals, the angle e ang i between the estimated normal vector n i and the analytical formula n(x i , y i ) is calculated according to (8).
The resulting mean values of the error angles for n ∈ {1e6, 4e6} in function of the number of neighbor points n n are shown in Figure 6. The main observation is that in the case of a cartesian mesh the mean error has local minima at n n = 5, 9 and 13, which show an improved error behavior in comparison to all other configurations. Accordingly, these numbers of n n correspond to the best stencils to approximate the partial derivatives of the function describing the surface. In the way the search for the neighbor points is defined, the actual point is considered as its own neighbor, meaning that the real numbers of neighbors for the above mentioned amounts are 4, 8 and 12. The principle of choosing n n neighbor points within the regular grid is depicted in Figure 5. As one may expect, by increasing the distance of the neighboring points, the accuracy of the proposed method may decrease. Compared to the cartesian grid, the quasi random mesh (Halton set) does not show these local minima.
In case of the interpolated spiral data, the local minima are observed again, with the difference that the best approximation is for n n = 13 points. This level off accuracy is reached also by the method from [15] applied directly to the spiral points, as shown in Figure 6.
In this first attempt to study the approximation of normal vectors it is noted that the choice of the grid points play an essential role in the determination of the normal vectors. First, as one may expect, the best results are obtained on a cartesian mesh with suitable value n n . Second, in the case of the spiral it turned out during the computations that the spiral points should be chosen to be well distributed, namely the arc length between the points should be approximatively equal to the distance of the spiral turns. A deepened study on approximation properties of the different methods depending on the point cloud properties (points distribution, noise) might be subject of further research.

Accuracy of the tool path points
Since not only the angle error resulting out of the surface normals calculation contributes to the tool path accuracy loss, also the contribution of the interpolation of the tool trajectory points needs to be taken into account. Therefore, this section considers the error sum due to the interplay of approximation of the normal vectors and the interpolation in order to quantify the tool path accuracy loss according to Figure 1. The trajectory for this investigation is an archimedean spiral with a maximal radius R out = 10 mm where the spiral points have a maximal arc distance of 1 mm or 1 • angular distance, while the distance between every C-axis turn is set to be 10 µm. The cutting tool is supposed to have a nose radius of 1 mm and a rake angle of 0 • . The XY-coordinates of the point cloud lie on a regular cartesian grid. To compute the surface normals 5 neighbor points according to Figure 5 are used.
For this studies three surfaces are considered. The first is defined by Equation (9). The second is defined by z 1 according to Equation (7).
The first surface z 0 has zero curvature and the tool center trajectory is computable by analytic methods and therefore considered to be known. Since it is a plane, the surface normals calculation does not lead to any inaccuracies, allowing to quantify the error contribution due to interpolation only for several angles α. This case needs particular attention, because since the surface z 0 is tilted by α it can not be machined in the center region without further attention. Therefore, the center region of r < 0.5 mm is not considered by this investigation. The second is a general freeform surface, but since the exact solution for the tool trajectory points using the steady-X method can not be determined by using only analytic mathematics, it is proceeded in the following way: It is supposed that the tool center point moves on the surface according to Equation (7) and a point cloud P T is computed using Equation (7). Then the point cloud P, defining the surface to be machined, is computed using the tool center surface (given by P T ). In this way the tool center surface P T is analytically defined by the surface equation (7). Using the points P, the point cloud P T can then be calculated according to the presented procedure. To evaluate the error the tool trajectory points interpolated within P T are compared to the exact values computed using Equation (7).
To quantify the error of the trajectory, first the spiral points (x ℓ , y ℓ ), ℓ = 1, . . . , N are computed, then the interpolation of the points in P T is used to obtain the values of the Z-axis Z ℓ . These are then compared with the exact values z ℓ = z(x ℓ , y ℓ ), where z is the surface to be machined and chosen according to the Equations (10) and (11).
By computing the two quantities the differences in Z-direction between the trajectory computed by the proposed method and the exact trajectory are obtained. In Figure 7 and 8 the local errors e i are plotted in function of the coordinate in C-direction over one rotation for different inclination angles α and two different radial positions r. A sinusoidal behavior of the error with the amplitude gradually increasing with the tool moving closer to the rotation center can be observed. This is supposed to be related to the decreasing wavelength of the sinusoidal changes of the Z-values when machining the inclined planar surface towards the center. The global error values depending on the  Table 1 Comparison of the error values for the surface z 0 (inclined planar surface) using a regular grid with 4e6 surface points and linear interpolation. Due to a singularity, which appear near the center as a consequence of the constant surface slope, the error has not been considered for r < 0.5 mm.
inclination angle are given in Table 1, where, as expected, increasing error values for a more inclined planar surface are observed. The given maximal values e max are throughout < 4 nm and except the maximal value of 3.9 nm even < 1 nm. However, it should be noted that with an increasing inclination angle also other difficulties when machining the surface, for example a sufficient tool clearance angle, arise.

Error [nm]
Error over one C-axis rotation at r = 0.5 mm =2°= 5°= 10°F ig. 8 Using 4e6 surface points for a surface size of R out = 10 mm: Error between analytical and computed trajectory using the proposed method in the case of a planar surface z 0 with inclination α of 2 • , 5 • , and 10 • evaluated for a single spiral loop at the radii 2 mm (a) and 0.5 mm (b). Again the dependence of the error on the slope and on the radius can be observed.
To study the approximation properties for the surface z 1 it is proceeded as already explained at the beginning of this section. Starting from the definition that z 1,tool represents the tool center surface, the surface to be machined is computed by using analytical formulas to calculate the surface normals. Based on that, the tool center surface can be computed once more using the numerical method presented in the Sections 2.1 and 2.2. This way, two point clouds for the tool center surface are derived, one by using exact mathematics and the other by using the presented numerical method. In addition, it should be noted that the analyzed error values may be greater than usual due to the repeated computation of the normal vectors. The results are summarized in Table 2 for different values for the amplitude b. As can be seen, the error values e max grow linearly as a function of the used number of surface points, which can be justified with the application of linear interpolation. Because of high slope angles and a certain variation of the Z-values depending on the amplitude b, a higher number of surface points is needed to achieve a reasonable small maximal error value along the trajectory. The surface with an amplitude of 3 mm (b = 3) is viewed rather as an example to prove the accuracy of the proposed method, since the maximal surface slope angle exceeds the typical available cutting tool clearance angles. Even for the surface with an amplitude of 1 mm (b = 1) the maximal error value can be reduced to about 1 nm by using a number of surface points of 16e6. All of the previous calculations are performed using linear interpolation. However, it is possible to achieve greater accuracy by increasing the interpolation order. To illustrate the changes in the error values due to a higher interpolation order, the computation and analysis for the surface z 1 with b = 3 are performed additionally applying cubic interpolation. The results given in Table 3 show a significant improvement by means of greatly reduced error values to almost 20 % compared to the values given in Table 2 using linear interpolation. It can be emphasized that even for the chosen case of b = 3 the result of e max is of sub-nanometer range for 16e6 surface points.  Table 3 Comparison of the error values for the surface z 1 with b = 3 for several numbers of surface points in the case of cubic interpolation.
In Section 3.1 it is observed how much the method used to determine the normals affects the angle error defined by Equation (8). To quantify their influence on the final trajec-tory the surface z 1 with b = 3 is considered with normal vectors obtained with different computation methods. To better show the effect of the normals cubic interpolation is used. As it can be seen in Table 4, the trajectory resulting from the quasi random point cloud (Halton set) is at least two orders of magnitude less accurate than that computed with the cartesian grid, while with the grid interpolated from a spiral distribution a similar maximal error is obtained. In the latter case the mean error is increased remarkably, but remains below 1 nm. Grid Table 4 Comparison of the error values for the surface z 1 with b = 3. The influence of the computation of the normal vectors is investigated in the case of cubic interpolation with 4e6 surface points.

Analysis of machine tool interpolation
According to Figure 1 the accuracy loss between the surface definition and the machined surface can be divided into two parts. The first is caused throughout the tool path generation and the second consists of the deviation resulting out of the interpolation the machine tool controller applies on the programmed points as well as of the following error occurring in the position control loop of the axes drives. Whereas the first is already analyzed and quantified in the previous sections the second part is not addressed so far. This is because the presented work primarily focuses on the accuracy of NC point generation. The execution of these points is assumed to be individually influenced by the used machining setup and the chosen process parameters like cutting speed and feed rates. However, in order to assess the feasibility to neglect part one, i.e. the tool path accuracy loss compared to the exact calculation as analyzed in Section 3, the sum of the two mentioned parts is considered.
For the investigation Z-axis positions following a sine function with the C-axis positions as arguments are programmed to the machine tool and executed. Subsequently, the resulting path interpolated by the control is analyzed. A nearly sinusoidal movement in Z-direction in function of the C-axis angle corresponds to machining an inclined planar surface (see geometry z 0 according to Equation (9)). However, for the present study the small differences to a real sine due to the radial feed rate in case of a spiral machining path and the tool nose radius compensation are neglected. The tested sine wave has a period of 4 s and an amplitude of 15 tan(5 • ) mm corresponding to a planar surface with an inclination of 5 • at a radius of 15 mm. A diamond turning machine of the type LT-Ultra MTC 650 having a POWER PMAC control is employed.
To investigate the effect caused by the numeric inaccuracies elaborated in Section 3.2, the Z-values of the programmed sine are overlaid with a Gaussian noise and the resulting axes movements are recorded by reading out the position signal of the machine tool's scales. As interpolation mode the spline mode of the POWER PMAC control is chosen, which interpolates programmed points by generating non-rational B-splines and is popular for executing curved paths represented by a multitude of points. It has the advantage of smooth axes movements, but the interpolated path does not exactly go through the programmed points. Hence, the interpolated sine wave commanded to the axes drives shows a slightly smaller amplitude compared to the initially programmed points. Figure 9 depicts one sine period consisting of points generated by the machine tool control based on programmed points without an overlaid noise and its deviations to a least squares sine fit. To exclude the effect of the reduced amplitude as far as possible the fitted sine function is supposed to represent the nominal movement for the analysis. This assumption is confirmed by the maximum deviation of just about 2e-4 nm shown in Figure 9.
The standard deviation σ n of the overlaid Gaussian noises are based on the values given in the Tables 2 and 3 and chosen to be 3.5 nm and 5 nm. Their effect is determined by the difference of the resulting movement path and the nominal sine function. Figure 10 shows the resulting movement errors over one sine period, whose standard deviations lie within a range of about 1 nm and are 5.81 nm (no overlayed noise; Fig. 10a), 6.48 nm (σ n = 3.5 nm; Fig. 10b) and 6.75 nm (σ n = 5 nm; Fig. 10c).
Considering these results, it can be observed that the overlaid Gaussian noises barely affect the movement of the machine tool's Z-axis, since the standard deviations of the movement errors increase only by about 1 nm compared to no overlaid noise. Due to the fact that the computation accuracy of the presented method can be increased even to values of e max = e mean = σ < 1 nm (see Tables 2 and 3), the movement error and therefore also the tool path accuracy loss according to Figure 1 resulting out of numeric inaccuracies can be assumed to be negligible.

Corrective machining results
The direct advantage of the proposed method comes to bear in corrective machining using point cloud based measurement data. Since the tool path generation is also point cloud based, no surface fitting operation needs to be applied to the measured data and it can be easily compared to the nominal Commanded Z-value Deviation to fitted sine function Fig. 9 Commanded sine wave (interpolated points by the machine tool control) and deviation compared to a fitted sine function using the least squares method. surface definition by calculating the difference in Z-direction. Prior to this, a 2D robust Gaussian regression filter is applied to remove noise and outliers.
To test this functionality a tilted flat, whose Z-values follow the function z F = x tan 5°, is machined on a diameter of 20 mm in oxygen-free copper using a spiral tool path towards the center (X = 0). One corrective pass is carried out based on an on-machine surface form measurement using an interferometric distance probe. Figure 11 shows the form error results of the first (Fig. 11a; without correction) and second ( Fig. 11b; with correction) machining pass. The peak-to-valley form error has been reduced from 1.20 µm to 0.47 µm, which corresponds to a reduction of 61%. An analysis of the initial form error (Fig. 11a) results in a cut-ting tool offset in X-direction superimposed by a temperature deflection in Z-direction being the main reasons for the pattern of the form error. The correction of the characteristic step at the center (at X = 0; shown in the sectional view of Fig. 11a) caused by the tool offset is impeccable. However, there seems to be a residual impact of a temperature deflection, which has not been part of the systematic errors influencing both machining passes in the same way. Besides, the surface's roughness after the corrective pass of Sa = 3.0 nm (according to ISO 25178 and applying a Gaussian filter with cut-off wavelength of 80 µm) is of typical order of magnitude for diamond turning.
Carried out investigations indicate that the outlet temperature of the cooling mist nozzle causes the temperature deflections during the machining passes by cooling down the workpiece when streaming against it during machining. Figure 12 depicts the recorded data explaining this. The dashed line part shows the temperature measured 20 mm in front of the mist nozzle while the mist is turned off, whereas the solid line part while the mist is turned on like it is during machining. A more detailed process analysis and an explanation of the employed on-machine metrology setup including its calibration and an uncertainty analysis will be focused on in a subsequent publication.

Conclusions and outlook
A new method for the computation of the cutting tool path in ultra-precision diamond turning, especially for three-dimensional freeform and corrective machining using form measurement data, is presented and analyzed. It allows the handling of surfaces defined by equations and by point clouds without using symbolic computation methods. Instead, numeric tools are used for the computation of the surface normal vectors as well as the surface on which the center point of the cutting tool's nose radius moves. Together with interpolation techniques, the generation of a spiral tool path in case of the steady-X method ensuring a uniform axis motion in X-direction is provided. By a comprehensive analysis the errors occurring throughout the computation steps are compared to the exact solutions for various geometries with diverse curvatures. Under realistic assumptions regarding the curvature of the surface to be machined and reasonable refinement of the applied numeric methods the results show errors < 1 nm. Combined with an investigation of the effect of non-exact tool path points on the behavior of an exemplary diamond turning machine this allows to neglect the accuracy loss compared to the exact tool path. Besides providing a tool path of sufficient accuracy, the method offers to update the point cloud representing the surface to be machined by surface form measurement data. Presented form error results of corrective machining a flat, which is tilted by 5°with regard to the XY-plane, showing a reduction of the peak-to-valley form error of 61% verify the ability of the proposed method for this application.
The results show the subtle interplay of grid, normal vectors and interpolation in the accuracy of the computed trajectory. While the role of interpolation is well known, addi-