## Abstract

The area-based three-dimensional optical inspection of workpiece geometries is the basis for quality control, maintenance tasks, and many other typical applications in mechanical engineering and automation such as adaptive manufacturing. In the context of a cyber–physical approach for semi-autonomous post-processing of additively manufactured parts, this method provides the basis for an iterative manufacturing approach. Commercially available systems for optical inspections often rely on camera-based methods, which are, however, susceptible to reflections. This article describes an approach for developing an optical scanstation that uses blue laser line scanners in combination with a Cartesian three-axis motion system and a turntable. The focus of the work is on the development of a method for the fast extrinsic calibration of the entire scanstation.

## 1 Introduction

### 1.1 Motivation.

The efficient use of technical, economic, and natural resources requires an appropriate linkage between material design [1], load-appropriate material systems, and component design [2] as well as optimized production technologies [3]. The adequate compliance with the resulting requirements, in turn, allows to push or overcome technological boundaries [4]. This approach enables new types of products [5] being competitive in an environment of low volume and high variability [6]. In this context, additive manufacturing is often presented as a pioneering technology due to the associated design freedom [7], possibilities for multimaterial use [8], and the often claimed complexity for free mantra [9]. Nevertheless, Jared et al. [10] state that complexity is never truly arbitrary while Mukherjee and DebRoy [11] draw the critical conclusion that after 25 years of intensive research only a few materials can be reliably processed and the market share of 3D printing in the manufacturing economy is currently negligible. A key reason for this is the complex post-processing of the oversized near-net-shape parts by costly finishing operations [12], which are mainly carried out manually. Finishing, in turn, is performed to, for example, create functional surfaces, to compensate for thermo-mechanically induced deformation [13], and to achieve the required surface properties.

Consequently, Seidel et al. [14] introduced a cyber-physical approach toward semi-autonomous post-processing of additively manufactured (AM) parts reliant on as-built geometry acquisition and current state based, adaptive path planning. The prerequisite for this approach is to capture the shape of the workpiece to be machined as accurately and robustly as possible.

The present paper significantly deepens the applied geometry acquisition methodology of this approach. As a result of the geometric and material variations as well as the structural complexity of the AM components, the following demands have to be met by the optical measuring system ensuring that it operates in a reliable manner in the industrial environment:

robustness to varying ambient lighting conditions and low susceptibility to interfering light,

wide range of detectable surface textures (dull to metallic glossy) without the need of matting spray, and

high variability in the arrangement of the optical sensors for comprehensive acquisition of highly complex workpiece geometries.

### 1.2 State of the Art in Part Geometry Measurement.

A significant number of 3D shape measurement techniques have been proposed in the last few decades. Chen et al. [15] provide a detailed overview of many different methods. Figure 1 depicts one possible classification of 3D measurement methods.

The first distinction that can be made between these methods is surface-contact and noncontact. The surface-contact measurement system, such as mechanical probe-based coordinate measuring machine (CMM), has been used in the industry for many years and can measure geometric shape with high accuracy (usually more accurate than current noncontact systems). However, CMM is relatively slow and only measures a limited number of points in an object’s surface. To make matters worse, the component has to be reclamped on a coordinate measuring machine for the measurement. In contrast, the optical methods have the ability to provide a high-speed 3D inspection of objects in a noncontact manner. These methods include time-of-flight, stereo vision, photogrammetry, laser range scanning, and structured light methods.

Among these, the structured light method is one of the most widely used 3D shape measurement techniques owing to the advantages of full-field inspection, high resolution, and accuracy that it offers [16]. However, these methods have difficulties when dealing with nondiffuse (non-Lambertian) surfaces, because the optical signal cannot be properly retrieved. Therefore, it is usually very difficult for any optical method to accurately measure shiny objects or objects with a large variation in reflectivity across the surface. One method to solve this problem is to spray a thin layer of powder onto the workpiece to make its surface diffuse prior to measurement by the structured light method. This additional step is time-consuming and affects the final accuracy by the layer thickness and the degree of homogeneity [17]. State-of-the-art methods for 3D shiny surfaces measurement using structured light are typically referred to as high-dynamic range (HDR) techniques. The drawback of this approach is that it is time-consuming due to the large number of images needed.

A simple and accurate 3D measurement technique uses laser and stereo cameras for the inspection of reflective surface objects in ambient light conditions. Profile sensors project a laser line onto the object to be detected and create a precise, linearized height profile through an internal camera located at the triangulation angle. The method works robustly in ambient lighting conditions because the laser light ensures that the energy input on the surface of the measurement object is always high enough to capture the optical signal, even with varying surface conditions. For this method, red (650 nm) or blue (405 nm) laser light can be used.

Blue-light laser is proven to be more accurate compared to red-light laser for the 3D shape measurement of highly specular surfaces in identical conditions. The projected beam of red-light laser diffuses and merges with the reflection caused by ambient light. On the other hand, the blue-light laser does not penetrate the surface. It provides a sharp narrow beam when projected onto a highly specular surface. Therefore, we can accurately detect the laser light even in the presence of reflection [18].

Based on the descriptions given earlier, it can be stated that there is no measuring system in the state of the art that fulfills all the requirements listed in Sec. 1.1. This results in the motivation for the new development of a corresponding measuring system.

### 1.3 Approach and Goal of the Work.

The present work addresses points 1 and 2 of Sec. 1.1 by attempting to record the surface of the workpiece using blue-light laser line scanners.

In order to take into account the geometric variety of the workpieces mentioned at the beginning, three scanners are used in a variable and staggered arrangement. The variable arrangement of the scanners enables the measurement setup to be quickly adapted to changing workpiece geometries. The scanners are traversed over the measurement object by a linear motion unit. Because the measurement data of a laser line scanner are two-dimensional, the individual profile lines must be fused into a consistent overall point cloud by means of a mathematical model of the system in order to obtain the desired virtual three-dimensional representation of the workpiece.

Therefore, the focus of the present work is on the development of a fast extrinsic calibration routine for the whole system (scanner arrangement and motion unit). If an accurate calibration can be accomplished via this routine, the need for an external survey of the scanstation (e.g., with a laser tracker) would become obsolete and the advantages of using the three scanners would be fully exploited.

The paper is organized as follows. Section 2 presents an example application scenario for the optical acquisition of the workpiece geometry, presents the setup of the scanstation, and explains the sequence of the measurement routine. Section 3 describes the mathematical model used to fuse the individual two-dimensional scanner data into a three-dimensional consistent global point cloud. The approach for the identification of the unknown model parameters is explained. Section 4 sets out how a simulation model of the measurement routine is used to generate synthetic measurement data and improve the numerical conditioning of the identification problem. Section 5 presents the results of the calibration routine and the achievable accuracy of the scanstation. Section 6 summarizes the work and gives an outlook on further activities.

## 2 Description of the Technical System

### 2.1 Application Scenario.

For the automated post-processing of additively manufactured components, an industrial robot serves as the main element for both the handling of the parts and their post-processing. Figure 2 depicts the arrangement for all necessary modules of such an approach.

The process chain starts with the additively manufactured components on a base plate, which are first cleaned in a depowdering system. From there, the robot transfers the base plate to a heat treatment station, where residual stresses are reduced. Subsequently, the robot passes the plate on to a band saw, where the components are separated from the base. The robot then transfers one component to the scanstation, where it is fixed in a clamping device. The scanstation acquires the part geometry for the initial state. Depending on the complexity of the machining task, an extension of the robot control by a computerized numerical control is necessary. Also, an integration into a computer-aided design/computer aided manufacturing-computer numerical control (CAD/CAM-CNC) process chain might be required, as it is common for conventional machine tool-based milling operations. The robot exchanges the gripper for a milling spindle and executes the calculated milling path. After manufacturing the new state of the workpiece the geometry is scanned again. This procedure is repeated until the final geometry is reached. This iterative machining strategy accounts for the lower rigidity and positioning accuracy of the robot, when compared to conventional tool machines, by reducing the cutting forces.

### 2.2 Description of the Scanstation’s Hardware Configuration.

Figure 3 contrasts the scan head design with its scanner arrangement and an exemplary workpiece with typical geometric complexity in order to illustrate the requirements for the scanstation and the realization of the technical solution approach. The exemplary workpiece is a medical implant called the hip shaft. It exhibits the support structure typical of additive manufacturing. The surface of the workpiece is dull after printing. By post-processing functional surfaces, individual areas become shiny. The workpiece also has areas that could not be captured if it were only scanned from above (undercuts).

The master scanner *M* and slave scanner *S1* capture two opposite sides of a workpiece, while the perpendicular arrangement of slave scanner *S2* detects the front side in the feed direction. The distance and the angle of the master and slave scanner *S1* as well as the angle of slave scanner *S2* can be adjusted to different workpieces by means of guide rails and quick clamps. If the workpiece is rotated by a turntable, this design allows the geometry of the workpiece to be captured in the best possible way.

Figure 4 depicts the sensor platform and its hardware components. The sensor head is positioned above the workpiece by a three-axis linear motion unit. The motion unit is equipped with one stepper motor for each axis. The indicated Cartesian coordinate frame illustrates the directions of motion and the axis designation. The main direction of motion during the measurement is the *y*-direction. Each axis is equipped with a contactless high-speed linear magnetic path measuring system, which also provides an external encoder signal. One readhead is attached to each axis of the three-axis linear motion unit and is guided by the spindle carriage along the axis over the magnetic tape. Every incremental step triggers a measurement of the master scanner. The tape is equipped with a reference mark that enables a very fine homing routine of the three-axis linear system. During the measurement run, the corresponding encoder value and thus the position along the feed direction is acquired and stored for each scanned profile line.

The workpiece is clamped in an electric vice. A turntable with grooved plate for mounting the electric vice enables rotating the workpiece to allow it to be captured from all directions. The master scanner is triggered by the external encoder signal and activates the measurement of the two slave scanners. Table 1 lists the component’s manufacturers and the type descriptions of the test rig.

Component | Manufacturer | Type |
---|---|---|

Scanner | Wenglor | MLWL132 |

Three-axis linear system | STEPCRAFT | D.840 Construction Kit |

Magnetic encoder system | Renishaw | LM13IC1D0DA |

Electric vice | ROEMHELD | MC-P 125 EF |

Turntable | VARIOMATIC | Effendi |

Component | Manufacturer | Type |
---|---|---|

Scanner | Wenglor | MLWL132 |

Three-axis linear system | STEPCRAFT | D.840 Construction Kit |

Magnetic encoder system | Renishaw | LM13IC1D0DA |

Electric vice | ROEMHELD | MC-P 125 EF |

Turntable | VARIOMATIC | Effendi |

### 2.3 Specification of the Hardware Communication and the Measurement Procedure.

A central robot master controller directly controls the turntable, whereas a separate measurement control operates the three-axis linear motion unit, the electric vice, the scanners, and the magnetic encoder system. Figure 5 presents a flowchart to illustrate the general setup and the communication structure of the scanstation.

The robot control communicates with the scan control via the *OPC-UA* communication protocol [19]. It transmits the configuration data for the measurement to be executed (start position, turntable angle, measurement path length) and issues the signal to start the measurement routine. The motion unit then positions the scan head in the start position. Via a *pyads* interface [20], it subsequently calls a python program that configures the scanners and handles measurement data processing and storage during the measurement run. The configuration of the scanners includes:

the name of the file, the scan data are stored in,

the measurement frequency

*f*_{m},the exposure time, and

the resolution of profile lines.

After the configuration, the scanners are initialized by

resetting the picture and the encoder counters,

setting the trigger source, the trigger encoder step, the trigger delay, and

defining input and output channel configurations.

The trigger delay prevents the measurement of one scanner from interfering with the measurement of another one by setting a delay between the measurement of the master scanner and the triggering of the slave scanners. If there was no trigger delay, the three scanners would measure at the same time and the laser light from one scanner would be detected by the sensor of the other, thus distorting the measurement. The trigger delay also means that the encoder signal from the external path measuring system cannot be used directly to determine the position of the two slave scanners, since the scan head continues to move during the delay. The trigger delay corresponds to the exposure time plus 50 *μ*s for scanner *S1* and twice this for scanner *S2*. At a typical *y*-axis travel speed of 10 mm s^{−1}, the distance covered during the trigger delay corresponds to about 0.5 *μ*m and can be neglected in relation to the other-dimensional inaccuracies of the system.

When the initialization and configuration of the scanners are complete, the python program reports this back to the measurement control and the motion unit traverses the scan head over the workpiece while the recorded scan data are processed and stored by the python program. The measurement routine can comprise several measurement runs in order to capture the workpiece from different perspectives. In this case, the motion unit moves the scan head back to the starting position after a measurement run is finished. The central robot controller then moves the turntable to the next position before executing the next measurement run. The encoder values of the three axes of the Cartesian system and the turntable are time-stamped before they are stored in the encoder file. The measurement data of the three scanners are given in two-dimensional representation as *X* and *Z* coordinates in the scanner coordinate system. Together with the respective intensity value of a scan point, they are provided with the same time stamp as the encoder values and stored in a scan data file.

## 3 Modeling of the Structural Loop

### 3.1 Structural Loop.

A mathematical model is needed to transform the scan lines into a three-dimensional representation of the workpiece. If the positions and orientations of all scanstation components are known for each scan line, a three-dimensional point cloud of the workpiece can be generated from the whole set of two-dimensional scan lines. Figure 6 depicts the measurement data of the ROI as shown in Fig. 3(b) in the local scanner coordinate frames (Fig. 6(a)) and illustrates how these data are merged to a coherent global point cloud by applying the recorded position data of the linear motion unit and the turntable (Fig. 6(b)). The shares of the individual scanners are color coded.

When the motion unit is moved quickly, the dynamic behavior of the linear axes must be considered and the dynamic parameters identified, as demonstrated, for example, in Ref. [21]. By preventing axis motion phases of rapid acceleration or deceleration vibrations of the structure that negatively influence the measurement accuracy can be avoided. Thus, it is reasonable to assume a purely kinematic behavior of the motion unit.

To represent the spatial configuration of the individual components, a structural loop, as described in Ref. [22], is established by means of homogeneous transformation matrices, as is also common in robotics [23,24]. Figure 7 shows the coordinate frames of the scanstation required for the definition of the loop. In addition, all transformations between each two components are displayed. The position vector of a scan point from scanner 2 is also shown as an illustration. By performing a transition along the structural loop, this data point can be represented in the workpiece coordinate frame. The central frame of reference of the loop is *M*. All transformations are based on this frame. The origin of *T* and *V* are coincident. *V* is rotated about the *Z*-axis with respect to *T* and thus realizes the rotation of the turntable. Table 2 lists the coordinate frames constituting the structural loop and their labels.

Component | Label |
---|---|

Machine coordinate frame | M |

Scan head | H |

Master scanner | S1 |

Slave scanner 1 | S2 |

Slave scanner 2 | S3 |

Turntable | T |

Electric vice | V |

Workpiece | W |

Component | Label |
---|---|

Machine coordinate frame | M |

Scan head | H |

Master scanner | S1 |

Slave scanner 1 | S2 |

Slave scanner 2 | S3 |

Turntable | T |

Electric vice | V |

Workpiece | W |

*j*relative to coordinate frame

*i*can be denoted by the 4 × 4 homogeneous transformation matrix $TiTj$. It is constituted by the 3 × 3 rotation matrix $R$ and the 3 × 1 translation vector $t$

*x*,

*y*, and

*z*are the three-axis linear motion unit’s axis positions and $\phi $ is the turntable angle. By applying Eqs. (5)–(7) every scan line can be transferred from the respective scanner frame to the workpiece frame using the associated encoder values

Frame *S3* acts as a reference point for scanners one and two because this maintains the option to utilize specific methods for extrinsic calibration as presented in Ref. [25].

### 3.2 Orientation Representation.

*Euler vectors*. Before the whole structural loop is set up to transfer the point cloud data from the scanner frame to the workpiece frame, the rotation vector $\rho $ is converted into a rotation matrix and combined with the displacement vectors to a homogeneous transformation matrix. Compared to the widely used

*Euler angles*, this rotation representation has the advantage of not being affected by the

*gimbal lock*. Moreover, it proves advantageous in the parameter estimation that the final orientation of a frame is not dependent on the order of variation of the rotation vector’s components as in the case of

*Euler angles*. When compared to quaternions and other rotation formalisms, they are also very intuitive. The 3D rotation is defined by a rotation of $\psi =\Vert \rho \Vert $ about the unit vector $u=\rho /\Vert \rho \Vert $. The

*Euler vector*is converted to a rotation matrix as shown in Eq. (8). A good overview of orientation representations is provided in Ref. [26], a special treatment of the

*Euler vector*can be found in Ref. [27]

### 3.3 Error Motions of a Linear Axis.

*Euler vector*notation, defining the

*y*-axis as the axis of reference and applying the squareness error modeling to the structural loop, the following results for the transformation matrix $TMTH$:

### 3.4 Parameter Estimation by Adjustment Calculation.

To find the transformation parameters of the structural loop an adjustment calculation is performed. In a mathematical sense, this corresponds to the computation of an overdetermined, nonlinear system of equations. In general, the task is to determine a number of unknown parameters from a number of observed (measured) values which have a functional relationship to each other. If more observations are available than required for the determination of the unknowns, there is normally no unique solution and the unknown parameters are estimated according to functional and stochastic models. In this work, the approach as described in Luhmann is employed [29, Chap. 2]. Estimated start values for the transformation parameters as needed for the identification process can be acquired from CAD data and by surveying the scanstation. To adjust the unknown parameters the least-squares method is applied using the Levenberg–Marquardt algorithm.

To identify the relative pose of all components of the scanstation and thus calculate the structural loop defined in Eqs. (5)–(7), in general, six parameters have to be determined per transformation matrix, three for the position and three for the orientation. Since the position of $TMTH$ is dictated by the encoder values of the three-axis linear motion unit and $TTTV$ is only used to represent the turntable angular position—the origins of *T* and *V* are coincident—the number of unknown parameters is reduced from 42 to 33.

### 3.5 Objective Function.

To execute the adjustment calculation the vector of *reduced observations**l* is required. It specifies the difference between observed and calculated data and serves as the objective function. If an accurate calibration target object of known geometry is optically captured by the scanstation, the vector of reduced observations can be minimized by adjusting the transformation parameters of the structural loop. Therefore, the scan data are transformed from the scanner frames *S1*, *S2*, and *S3* into the workpiece frame *W* and by introducing an appropriate distance measure, *l* is calculated. Two different distance measures are applied to calculate the objective function. They are based on the *iterative closest point* (ICP) algorithms [30]. The algorithms iterate over two steps. First, it is necessary to find the correspondence set $K{(p,q)}$ from the target point cloud $P$ (calibration target), and a source point cloud $Q$ (scan data) transformed with the current transformation matrix $T$. This transformation matrix is obtained by applying Eqs. (5)–(7). The target point cloud is provided by uniformly sampling an standard triangle language (STL) model of the calibration target object. The two different distance measures are defined below.

#### 3.5.1 ICP Point-to-Plane Error Metric.

#### 3.5.2 Modified Point-to-Plane Error Metric.

To eliminate the effect of resolution when sampling the workpiece mesh, a modified variant is used alongside the ICP point-to-plane error metric, in which the point-to-plane distance from the source point cloud to the facets of the target mesh is calculated. The correspondence theorem is determined by considering the facets centroids of the workpiece mesh as the target point cloud.

It has proven advantageous to first correct the rough start values from CAD data and the survey of the scanstation using the conventional *ICP* point-to-plane metric, since this metric copes well with inaccurate start values. Subsequently, the transformation parameters are optimized with the modified point-to-plane metric, which needs good start values but is independent from the surface sampling resolution.

### 3.6 Implementation of Mathematical Model in Python

#### 3.6.1 Point Cloud Post-Processing.

As described in Sec. 2.3, by invoking a program script in the python programming language, both the configuration of the three laser line scanners and the data processing and storage during a measurement run are carried out. In addition, a python module for the subsequent post-processing and parameter estimation of the point cloud data was developed. To structure the module and to bundle the point cloud data properties and methods, python’s object-oriented programming capability is used. Figure 8 depicts the object structure that was created in python.

There are two main classes.

**scanmodule**classHolds the methods used for post-processing and visualization of the point cloud data. In addition, it implements the structural loop and the objective function for the parameter estimation.

**measurement**classComprises three subclasses.

**scandata**subclassHolds a raw and a post-processed representation of the scanner and encoder data as depicted in Fig. 5.**parameter**subclassThis is a*lmfit*parameter object (see Table 3) that is passed to all methods that are applying the structural loop.**target**subclassThis is an object that holds an STL model and a sampled point cloud copy of the target object that is used for the calibration procedure.

For every measurement, the respective scan data and encoder data are loaded and a measurement object is instantiated.

For the implementation in python, a variety of very useful open source libraries were used. Table 3 shows an overview of them.

#### 3.6.2 Filter Methods.

For post-processing of the scan data, a number of filtering methods were implemented to support parameter estimation and more generally to assist in the analysis and visualization of the measurement data. Figure 9 shows all the filters. The following filter methods were implemented:

**Point filter**(Fig. 9(a))Index filter. Use only every

*n*th point of a scan line. The first and the last point of a scan line are always kept. All the points of one scan line are identified by the same time stamp.**Line filter**(Fig. 9(b))Index filter. Use only every

*n*th line of every scanner. This allows the resolution in the feed direction to be adjusted.**Coordinate filter**(Fig. 9(c))Geometric filter. Use only points within limits for

*X*,*Y*, and*Z*.**Outlier filter**(Fig. 9(d))Geometric filter. Use only points that have more than

*n*_{b}points within a given sphere of a given radius. This filter is applied based on the average distance of each point to its nearest neighbor.**Intensity filter**(Fig. 9(e))Scanner-related filter. Use only points that have a minimum/maximum intensity (signal strength).

**Angle filter**(Fig. 9(f))Scanner-related filter. Use only points that have a minimum angle of incidence of the laser line.

## 4 Simulation of Measurement Process

### 4.1 Verification of Functional Model.

A simulation model of the scanstation was developed to verify the functional model, the parameter estimation setup and to conduct preliminary tests in the absence of disturbances like error motions and measurement errors in order to gain insights for appropriate calibration measurements. To this end, the structural loop is set up and the intersection slice of the *X*–*Z*-plane of the scanner frames with an STL model of the calibration target object are calculated and discretely sampled in the workpiece frame to generate synthetic measurement data.

### 4.2 Identifiability of Parameters and Numerical Condition.

To successfully perform the adjustment calculation of the transformation parameters, it is essential to thoroughly investigate the underlying functional model and, in particular, the interaction of its parameters. It is highly recommended to build a stochastical model next to the functional model, thus dependencies between adjusted parameters can be investigated in order to assess the quality of an adjustment result. The covariance matrix is the only component containing information about the accuracy of the functional model in the adjustment process. It, therefore, makes up the stochastic model. Next to the standard deviation of the unknown parameters also the correlations between single parameters can be derived from it. Higher correlation coefficients indicate linear dependencies between parameters. Possible reasons for this are overparameterization of the functional model, physical correlation within the measuring device, or a weak geometric configuration. They should be avoided particularly because of the inversion of the normal equation matrix. The adjustment solution can then become numerically unstable [29]. It has to be ensured that the measurement sets used for the adjustment calculation are adequate to identify the chosen set of parameters.

*μ*

_{i}signal that there are parameters that are poorly identifiable and should be eliminated. By small singular values, the heuristic is suggested that the condition number of a well-conditioned design matrix should be less than 100 [37]

If the condition number is above 100, the columns of $V$ are examined. Its elements are in one-to-one correspondence with the elements of the vector of unknown parameters. If there is an element that is much larger than the rest, the corresponding parameter is a candidate for elimination.

The condition number of the design matrix after parameter elimination for the modified error metric is shown in Fig. 10.

From left to right, the complete parameter set is reduced by the transformation parameters indicated along the *x*-axis. This results in a lower condition number of the design matrix and thus in a more robust adjustment calculation. As can be seen, eliminating the first four parameters has only little effect, but after eliminating the fifth the condition number is drastically dropping to about 300. Three more parameters need to be eliminated to reduce the condition number to below 100. But simulation experiments showed, that with a condition number of about 300 a robust parameter estimation is possible—as is proven by a low standard deviation of the adjusted parameters—and results in a better fit than with three parameters less.

A heat map is used to visualize the Pearson correlation matrix in Fig. 11. This symmetric matrix is representing correlation coefficients between variables. Each cell in the heat map represents the correlation coefficient between two parameters of the structural loop. On the left-hand side, the initial situation before the data-driven parameter elimination is depicted and on the right-hand side, the result afterward is illustrated.

It is evident that the correlations between the parameters have been significantly reduced by the parameter elimination, thus also decreasing the linear dependencies between the parameters. It is thereby ensured that the adjustment calculation does not become numerically unstable. For this reason, only the reduced set of parameters is identified in the following. The redundant parameters are fixed.

## 5 Results

### 5.1 Calibration Accuracy.

Accuracy is the degree of agreement of the measured dimension with its true magnitude. It can also be defined as the maximum amount by which the result differs from the true value. The true value may be defined as the mean of the infinite number of measured values when the average deviation due to the various contributing factors tends to zero. However, in practice, positive and negative deviations from the true value are not equal and will not cancel each other [38].

*f*

_{m}. It cannot be set directly but is calculated as follows:

*v*denotes the traverse speed in the feed direction of the

*y*-axis,

*k*

_{inc}is the increment factor of the magnetic encoder system and

*k*

_{trig}is the trigger encoder step that causes a measurement to be executed every

*k*

_{trig}-th encoder signal.

*k*

_{inc}indicates the distances along traverse direction at which an encoder signal is generated. By rearranging the equation according to

*k*

_{trig}, the trigger encoder step can be calculated, which realizes the desired measuring frequency for given traversing speed and increment factor. For

*v*= 10 mm s

^{−1},

*f*

_{m}= 10 Hz, and

*k*

_{inc}= 0.002 mm/inc it is specified as follows:

When determining the achievable accuracy of the scanstation, the measurement frequency must be high enough to ensure sufficient resolution.

The extrinsic calibration of the scanstation is accomplished by executing an adjustment calculation for the transformation parameters of the structural loop. The results from the numerical conditioning studies of the adjustment calculation in Sec. 4 are considered. The data set to provide the vector of observations is gathered by executing nine single measurement runs.

Table 4 lists the reduced parameter set that was found in Sec. 4.2. This parameter set is adjusted during the extrinsic calibration routine. The fixed parameters keep their estimated initial values.

$TS3TS1$ | $TS3TS2$ | $THTS3$ | $TMTT$ | $TVTW$ | $TMTH$ | |
---|---|---|---|---|---|---|

ρ_{x} | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |

ρ_{y} | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |

ρ_{z} | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |

t_{x} | ✓ | ✓ | ✗ | ✓ | ✓ | c |

t_{y} | ✓ | ✓ | ✗ | ✓ | ✓ | c |

t_{z} | ✓ | ✓ | ✗ | ✓ | ✗ | c |

$TS3TS1$ | $TS3TS2$ | $THTS3$ | $TMTT$ | $TVTW$ | $TMTH$ | |
---|---|---|---|---|---|---|

ρ_{x} | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |

ρ_{y} | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |

ρ_{z} | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |

t_{x} | ✓ | ✓ | ✗ | ✓ | ✓ | c |

t_{y} | ✓ | ✓ | ✗ | ✓ | ✓ | c |

t_{z} | ✓ | ✓ | ✗ | ✓ | ✗ | c |

The target shown in Fig. 12 is used for extrinsic calibration. It is made of the commonly used modeling material *Ureol* and has favorable optical properties because its surface exhibits low light reflection. Its numerous inclined planes prevent multiple solutions from arising during the adjustment calculation and its outer contour covers the measuring range of the scanstation in the area of the clamping device very well. It was manufactured on a high-precision tool machine to ensure that the deviation from the CAD part is negligible for the present case.

The estimated initial values of the transformation parameters for the adjustment calculation are obtained from CAD data and a survey of the test rig. A comparison of the original situation before the parameter identification for the estimated initial values and the result of the extrinsic calibration is presented in the following.

Table 5 lists the descriptive statistics for both the estimated and the adjusted parameters. This reveals that the average distance of each measured point to the nominal surface of the calibration target could be reduced from 1.403 mm before calibration to 0.054 mm after calibration, the maximum distance from 5.959 mm to 0.289 mm, and the standard deviation of the distances from 1.075 mm to 0.041 mm.

(a) Estimated parameters | (b) Adjusted parameters | ||||
---|---|---|---|---|---|

Parameter | Value | Unit | Parameter | Value | Unit |

count | 6596 | 1 | count | 6596 | 1 |

mean | 1.403 | mm | mean | 0.054 | mm |

std | 1.075 | mm | std | 0.041 | mm |

min | 0.000 | mm | min | 0.000 | mm |

25% | 0.541 | mm | 25% | 0.022 | mm |

50% | 1.207 | mm | 50% | 0.046 | mm |

75% | 2.078 | mm | 75% | 0.078 | mm |

max | 5.959 | mm | max | 0.289 | mm |

(a) Estimated parameters | (b) Adjusted parameters | ||||
---|---|---|---|---|---|

Parameter | Value | Unit | Parameter | Value | Unit |

count | 6596 | 1 | count | 6596 | 1 |

mean | 1.403 | mm | mean | 0.054 | mm |

std | 1.075 | mm | std | 0.041 | mm |

min | 0.000 | mm | min | 0.000 | mm |

25% | 0.541 | mm | 25% | 0.022 | mm |

50% | 1.207 | mm | 50% | 0.046 | mm |

75% | 2.078 | mm | 75% | 0.078 | mm |

max | 5.959 | mm | max | 0.289 | mm |

Figure 13 illustrates the point clouds and the calibration target before and after calibration. The point-to-plane distance of every single point in the source point cloud to the nearest facet of the calibration target is decreased during the calibration routine.

Table 6 opposes the estimated transformation parameters obtained from CAD data and a survey of the test rig and the adjusted transformation parameters after the extrinsic calibration.

Element | $TS3TS1$ | $TS3TS2$ | $THTS3$ | $TMTT$ | $TVTW$ | $TMTH$ |
---|---|---|---|---|---|---|

ρ_{x} in $deg$ | −36/ − 34.517 | −37/ − 35.333 | −147/ − 144.603 | 0/ − 0.093 | 0/0.090 | 0/ − 0.096 |

ρ_{y} in $deg$ | 30/33.993 | −35/ − 35.341 | 0/ − 0.361 | 0/0.075 | 0/ − 1.215 | 0/0.327 |

ρ_{z} in $deg$ | −10/ − 11.033 | 10/11.582 | 0/0.199 | 0/ − 1.081 | 0/ − 1.090 | 0/ − 0.017 |

t_{x} in mm | −140/ − 138.838 | 130/127.153 | −10/ − 10 | 297/296.892 | 10/14.754 | Controlled |

t_{y} in mm | −125/ − 125.473 | −120/ − 122.155 | 15/15 | 404/399.322 | 0/2.391 | Controlled |

t_{z} in mm | 30/32.057 | 36/36.388 | −160/ − 160 | −438/ − 440.241 | 190/190 | Controlled |

Element | $TS3TS1$ | $TS3TS2$ | $THTS3$ | $TMTT$ | $TVTW$ | $TMTH$ |
---|---|---|---|---|---|---|

ρ_{x} in $deg$ | −36/ − 34.517 | −37/ − 35.333 | −147/ − 144.603 | 0/ − 0.093 | 0/0.090 | 0/ − 0.096 |

ρ_{y} in $deg$ | 30/33.993 | −35/ − 35.341 | 0/ − 0.361 | 0/0.075 | 0/ − 1.215 | 0/0.327 |

ρ_{z} in $deg$ | −10/ − 11.033 | 10/11.582 | 0/0.199 | 0/ − 1.081 | 0/ − 1.090 | 0/ − 0.017 |

t_{x} in mm | −140/ − 138.838 | 130/127.153 | −10/ − 10 | 297/296.892 | 10/14.754 | Controlled |

t_{y} in mm | −125/ − 125.473 | −120/ − 122.155 | 15/15 | 404/399.322 | 0/2.391 | Controlled |

t_{z} in mm | 30/32.057 | 36/36.388 | −160/ − 160 | −438/ − 440.241 | 190/190 | Controlled |

### 5.2 Calibration Repeatability.

Repeatability is the ability of the measuring instrument to repeat the same results during the act of measurements. The results in the last section reflect the accuracy obtainable with the extrinsic calibration procedure. That is the adjusted transformation parameters optimally fit the measured data into the calibration target. In this section, the repeatability of the calibration is investigated. The question is answered how much the results vary when the same object is measured under the same conditions within a short period of time.

To this end, the calibration target was scanned ten times as described in Sec. 5.3. The extrinsic calibration was performed using the data from the first measurement of the target. Table 7 lists descriptive statistics for the number of data points captured, the mean distance, the standard deviation, and the maximum distance.

Measure | Mean | Std | Min | Max |
---|---|---|---|---|

count (1) | 489 981 | 2623 | 485 802 | 493 404 |

mean (mm) | 0.062 | 0.006 | 0.053 | 0.071 |

max (mm) | 0.357 | 0.026 | 0.315 | 0.388 |

Measure | Mean | Std | Min | Max |
---|---|---|---|---|

count (1) | 489 981 | 2623 | 485 802 | 493 404 |

mean (mm) | 0.062 | 0.006 | 0.053 | 0.071 |

max (mm) | 0.357 | 0.026 | 0.315 | 0.388 |

It can be seen that the number of data points captured varies only slightly (1%). One of the reasons for this is the automatic filtering according to intensity, which means that sometimes slightly more, sometimes slightly fewer points are filtered out when ambient light conditions vary. The variation of the mean and the maximum values is caused by random errors. Unlike systematic errors, this type of error is by nature not accessible to correction. Minimizing random error is a major goal of machine development [22].

### 5.3 Procedure for Determination of the Accuracy of Coordinate Measuring Machines.

To determine the achievable absolute accuracy of the scanstation, the following accuracy measures are determined as specified in DIN EN ISO 10360-8 [39]:

**Probing size error All**$PSize.Sph.All%:Tr:ODS$Diameter deviation in the measurement of a sphere standard when a sphere is fitted using the least-squares method in all measuring points within cone angle

*θ*_{Cone}.**Probing dispersion value**$PForm.Sph.D95%:Tr:ODS$Indicated sphere form measurement error when 95% of the measuring points are taken into consideration.

*Probing dispersion value*$PForm.Sph.D95%:Tr:ODS$ and *probing size error All*$PSize.Sph.All%:Tr:ODS$ characteristics introduced for the first time in DIN EN ISO 10360-8 are used for additional characterization of line measuring and area measuring distance sensors. In the context of the standard, it is also permissible to use standard filters that can be switched off.

The *probing size error All* is determined on a sphere and assesses the diameter deviation of the fitted sphere from the calibrated diameter of the sphere used. All of the measured points are used to determine the fitted sphere. This minimizes most of the effects of noise. If only a few outliers are present in comparison with the total number of measuring points, their effect on the result is greatly reduced as well [40].

The *probing dispersion value* is also determined on a sphere and evaluates the radial deviation of the individual measuring points from a fitted sphere by determining the radial distance between two enveloping spheres. Outliers that occur due to the use of an optical sensor (e.g., due to contaminating particles or surface defects) shall be intentionally excluded from the evaluation. For this reason, 5% of all recorded measuring points are discarded. Appropriately, these are the measuring points farthest from the fitted sphere. Iterative methods for determining the 5% of the measuring points that yield the lowest probing dispersion value are permitted, but in most cases result only in slightly smaller probing dispersion values. A measuring sphere with a diameter of 34 ± 0.002 mm is used as the measuring standard.

Also, it is suggested that when determining the probing characteristics of line measuring or area measuring sensors, the measuring area should cover at least 66% of the sensor area, because this will guarantee that all deviations of the sensor area will be captured (for line measuring sensors, the length of the measuring line and the movement carried out by the coordinate measuring machine shall be taken into consideration). In the application at hand, the sensor area is not the entire surface that can be reached by the scan head, but only the area of the clamping device, since this is the only place where the target can be clamped.

### 5.4 Measurement Accuracy.

Figure 14 illustrates the two accuracy measures and lists the results. Figure 14(a) shows the sphere fitted into the point cloud with its center (black coordinate frame) and Fig. 14(b) depicts two sphere hulls enclosing 95% of all scan points. The red points in Fig. 14(b) are the 5% of scan points that were eliminated because they have the strongest influence on the sphere hull distance.

### 5.5 Discussion.

Now that the level of accuracy achievable with the scanstation has been determined with the aid of a measuring sphere, it can be used to capture the geometry of real additively manufactured components such as the hip shaft from Sec. 2 (see also Fig. 6).

Potential for improving accuracy is believed to be in the following aspects:

**Axis errors**At present, only the position-independent squareness error is taken into account in the description of the kinematic model. If the position-dependent angular error and linear positioning error motions could also be identified in the scope of the extrinsic calibration routine, the accuracy of the scanstation could be further increased.

**Mounting of the linear motion unit**Currently, the motion unit is fixed to the turntable frame by means of plastic parts. It is suspected that these parts are susceptible to temperature fluctuations, so they should be replaced with metal components.

**Scan head frame**The attachment of the cooperating laser scanners to the scan head frame must be made more rigid. The current attachment is too susceptible to vibrations.

**Calibration target**When performing the adjustment calculation in the context of the extrinsic calibration of the scanstation, the distance of all measured points to the target geometry is minimized. It is assumed that the target geometry in the form of the CAD data corresponds to the actual geometry of the physical calibration target. The extent to which this assumption is valid must be investigated in future work. For this purpose, the physical calibration target will be measured with a measuring system whose accuracy exceeds that of the machine tool on which the calibration target was manufactured.

## 6 Conclusion

The objective of the project was to develop an optical scanstation to enable semi-autonomous post-processing of additively manufactured parts. The scanstation was required to be robust with respect to fluctuating ambient light conditions and external light interference. On the one hand, it needed to be able to capture parts with a wide range of surface textures and optical properties. On the other hand, even complex parts with difficult features, such as undercuts, needed to be detected as completely as possible. These goals were achieved within the scope of the present work. The developed routine for the extrinsic calibration of the scanstation enables an automated and fast initial and recalibration of the entire system, including the motion unit. This allows the arrangement of the cooperating laser line scanners to be flexibly adapted to new part geometries without the need for time-consuming surveying of the system. The degree of accuracy that can be achieved is a good starting point for further work. The accuracy is sufficient, for example, to detect and remove support structures. For finish machining such as functional surfaces, however, a higher accuracy is required.

## Acknowledgment

The presented work was funded internally by the Fraunhofer-Gesellschaft e.V. as part of the Fraunhofer Lighthouse Project “futureAM—Next Generation Additive Manufacturing” and the funding for initiation of the Fraunhofer Research Center for Cognitive Production Systems CPS by the Saxon Ministry for Science and Art.

## Conflict of Interest

There are no conflicts of interest.

## References

*Robot Calibration*