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:

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

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

  3. 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.

Fig. 1
Overview on optical 3D measurement methods
Fig. 1
Overview on optical 3D measurement methods
Close modal

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.

Fig. 2
Arrangement of modules needed for automated post-processing of additively manufactured components
Fig. 2
Arrangement of modules needed for automated post-processing of additively manufactured components
Close modal

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).

Fig. 3
Contrasting (a) the scan head and (b) the sample workpiece to justify the scanner arrangement. The scan head comprises a frame,  the master scanner,  slave scanner 1, and  slave scanner 2. A region of interest (ROI) marks the area of the workpiece to be captured. The lower half of the workpiece is used for clamping.
Fig. 3
Contrasting (a) the scan head and (b) the sample workpiece to justify the scanner arrangement. The scan head comprises a frame,  the master scanner,  slave scanner 1, and  slave scanner 2. A region of interest (ROI) marks the area of the workpiece to be captured. The lower half of the workpiece is used for clamping.
Close modal

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.

Fig. 4
Scanstation consisting of  scan head,  three-axis linear motion unit,  incremental magnetic encoder,  electric vice,  turntable, and  workpiece
Fig. 4
Scanstation consisting of  scan head,  three-axis linear motion unit,  incremental magnetic encoder,  electric vice,  turntable, and  workpiece
Close modal

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.

Table 1

Manufacturer and type description of hardware components

ComponentManufacturerType
ScannerWenglorMLWL132
Three-axis linear systemSTEPCRAFTD.840 Construction Kit
Magnetic encoder systemRenishawLM13IC1D0DA
Electric viceROEMHELDMC-P 125 EF
TurntableVARIOMATICEffendi
ComponentManufacturerType
ScannerWenglorMLWL132
Three-axis linear systemSTEPCRAFTD.840 Construction Kit
Magnetic encoder systemRenishawLM13IC1D0DA
Electric viceROEMHELDMC-P 125 EF
TurntableVARIOMATICEffendi

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.

Fig. 5
Flowchart representing the measurement routine sequence and the data flow
Fig. 5
Flowchart representing the measurement routine sequence and the data flow
Close modal

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 fm,

  • the exposure time, and

  • the resolution of profile lines.

After the configuration, the scanners are initialized by

  1. resetting the picture and the encoder counters,

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

  3. 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.

Fig. 6
Two-dimensional (a) local point clouds in scanner coordinate frames and three-dimensional merged coherent (b) global point cloud representing the ROI of the hip shaft of Fig. 3(b)
Fig. 6
Two-dimensional (a) local point clouds in scanner coordinate frames and three-dimensional merged coherent (b) global point cloud representing the ROI of the hip shaft of Fig. 3(b)
Close modal

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.

Fig. 7
Closed structural loop with local coordinate frames and scan point
Fig. 7
Closed structural loop with local coordinate frames and scan point
Close modal
Table 2

Coordinate frames introduced to structural loop

ComponentLabel
Machine coordinate frameM
Scan headH
Master scannerS1
Slave scanner 1S2
Slave scanner 2S3
TurntableT
Electric viceV
WorkpieceW
ComponentLabel
Machine coordinate frameM
Scan headH
Master scannerS1
Slave scanner 1S2
Slave scanner 2S3
TurntableT
Electric viceV
WorkpieceW
The position and orientation of the coordinate frame 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
T4×4=[R3×3t3×101×31]
(1)
Some elements of the structural loop are constant matrices, others are dependent on the positions of the three-axis linear motion unit and the turntable
TS3TS1=TS3TS2=THTS3=TMTT=TVTW=const.
(2)
TMTH=f(x,y,z)=[R=const.t(x,y,z)01]
(3)
TTTV=f(φ)=[R(φ)001]
(4)
where x, y, and z are the three-axis linear motion unit’s axis positions and φ 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
pWp=TVTW1TTTV1TMTT1TMTHTHTS3TS3TS1pS1p
(5)
pWp=TVTW1TTTV1TMTT1TMTHTHTS3TS3TS2pS2p
(6)
pWp=TVTW1TTTV1TMTT1TMTHTHTS3pS3p
(7)

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.

In the adjustment process, the orientation of each frame of the structural loop is represented in terms of 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 ρ 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 ψ=ρ about the unit vector u=ρ/ρ. 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]
R(ρ)=I3+sin(ρ)[ρρ]×+(1cos(ρ))[ρρ]×2withR,I3,[ρρ]×R3×3andρR3×1
(8)
Every transformation matrix can be composed by the following operation:
TiTj(t,ρ)=TiTj,trans(x,y,z)TiTj,rot(ρ1,ρ2,ρ3)
(9)
where Tj,trans and Tj,rot are pure translational and rotational transformation matrices, respectively and defined as follows:
Tj,trans(t)=[I3×3t3×101×31]andTj,rot(ρ)=[R(ρ)03×101×31]
(10)

3.3 Error Motions of a Linear Axis.

The mathematical modeling of the spatial configuration of the scanstation’s components described in Sec. 3.1 assumes an ideal kinematic behavior of both the three-axis linear motion unit and the turntable. In practice, however, motion systems are always subject to inaccuracies that cause the actual motion to deviate from the desired one. ISO-230-1 defines the error motions of a linear axis as unwanted linear and angular motions of a component commanded to move along a (nominal) straight-line trajectory [28]. In total, there are 21 axis-related error factors for a three-axis linear system, 18 of which are position-dependent. The latter can only be determined by extensive inspection of the motion system. However, three quantities, the squareness errors, are position independent and can be determined within the extrinsic calibration procedure while performing the adjustment calculation for the scanstation. ISO-230-1 defines the squareness error between two axes of linear motion as the difference between the inclination of the reference straight line of the trajectory of the functional point of a linear moving component with respect to its corresponding principal axis of linear motion and (in relation to) the inclination of the reference straight line of the trajectory of the functional. By using the 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:
TMTH=TMTxTxTzTzTHwhereTMTx=Ttrans(0,yEncoder,0)TxTz=Ttrans(xEncoder,0,0)Trot(0,0,ρz)TzTH=Ttrans(0,0,zEncoder)Trot(ρx,ρy,0).
(11)

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 observationsl 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.

For each point in the source point cloud, the closest point in the target point cloud is determined. Then, the distance to the tangent plane through the target point is calculated. Generally, each iteration is slower than the related ICP point-to-point variant, however, it often has significantly better convergence rates [30,31]. The objective function is defined in Eq. (12)
E(T)=(p,q)K((pTq)np)2
(12)
where np is the normal of point p.

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.

Fig. 8
Object structure of implementation in python
Fig. 8
Object structure of implementation in python
Close modal

There are two main classes.

  • scanmodule class

    Holds 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 class

    Comprises 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.

Table 3

python libraries used

NameFunctionLink
scipy/numpyNumerical computations and optimization[32]
pandasData analysis and handling[33]
open3dPoint cloud processing and visualization[34]
lmfitNonlinear least-squares minimization and curve-fitting[35]
NameFunctionLink
scipy/numpyNumerical computations and optimization[32]
pandasData analysis and handling[33]
open3dPoint cloud processing and visualization[34]
lmfitNonlinear least-squares minimization and curve-fitting[35]

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 nth 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 nth 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 nb 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.

Fig. 9
Filter methods for assistance in analysis and visualization of the measurement data: (a) point filter, (b) line filter, (c) coordinate filter, (d) outlier filter, (e) intensity filter, and (f) angle filter
Fig. 9
Filter methods for assistance in analysis and visualization of the measurement data: (a) point filter, (b) line filter, (c) coordinate filter, (d) outlier filter, (e) intensity filter, and (f) angle filter
Close modal

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 XZ-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.

Special attention must be paid to finding and eliminating redundant and thus unidentifiable parameters [36]. In this work, a data-driven parameter elimination as described in Siciliano and Khatib [23, Chap. 6.4] is applied. A singular value decomposition of the design matrix A (Eq. (13)) is performed to find out where the cause of an ill-conditioning lies
A=UΣVT
(13)
The design matrix is composed of the partial derivatives of the functional model φ with respect to the unknowns X evaluated for the estimated values of the parameters
A=(φ(X)X)0
(14)
Small singular values μ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]
κ(A)=μ1μr<100
(15)

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.

Fig. 10
Condition number of regressor matrix as a function of fixed model parameters
Fig. 10
Condition number of regressor matrix as a function of fixed model parameters
Close modal

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.

Fig. 11
Pearson correlation matrix for full (left) and reduced (right) parameter sets (for better clarity, the parameter names have been omitted)
Fig. 11
Pearson correlation matrix for full (left) and reduced (right) parameter sets (for better clarity, the parameter names have been omitted)
Close modal

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].

A decisive influence on the resolution of the global point cloud and thus on the accuracy of the geometry acquisition has the measuring frequency fm. It cannot be set directly but is calculated as follows:
fm=vkincktrig
(16)
where v denotes the traverse speed in the feed direction of the y-axis, kinc is the increment factor of the magnetic encoder system and ktrig is the trigger encoder step that causes a measurement to be executed every ktrig-th encoder signal. kinc indicates the distances along traverse direction at which an encoder signal is generated. By rearranging the equation according to ktrig, 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, fm = 10 Hz, and kinc = 0.002 mm/inc it is specified as follows:
ktrig=vkincfm=10mms10.002mm/inc10s1=500inc.
(17)

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.

Table 4

Varying (✓), fixed (✗), and controlled (c)—by the scan control—parameters for reduced minimal parameter set

TS3TS1TS3TS2THTS3TMTTTVTWTMTH
ρx
ρy
ρz
txc
tyc
tzc
TS3TS1TS3TS2THTS3TMTTTVTWTMTH
ρx
ρy
ρz
txc
tyc
tzc

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.

Fig. 12
Target geometry used for the extrinsic calibration as (a) surface model (STL) and (b) point cloud data
Fig. 12
Target geometry used for the extrinsic calibration as (a) surface model (STL) and (b) point cloud data
Close modal

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.

Table 5

Descriptive statistics for estimated and adjusted parameter sets

(a) Estimated parameters(b) Adjusted parameters
ParameterValueUnitParameterValueUnit
count65961count65961
mean1.403mmmean0.054mm
std1.075mmstd0.041mm
min0.000mmmin0.000mm
25%0.541mm25%0.022mm
50%1.207mm50%0.046mm
75%2.078mm75%0.078mm
max5.959mmmax0.289mm
(a) Estimated parameters(b) Adjusted parameters
ParameterValueUnitParameterValueUnit
count65961count65961
mean1.403mmmean0.054mm
std1.075mmstd0.041mm
min0.000mmmin0.000mm
25%0.541mm25%0.022mm
50%1.207mm50%0.046mm
75%2.078mm75%0.078mm
max5.959mmmax0.289mm

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.

Fig. 13
Point cloud (a) before and (b) after calibration
Fig. 13
Point cloud (a) before and (b) after calibration
Close modal

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.

Table 6

Estimated transformation parameters for structural loop derived from CAD data and a survey of the test rig opposed to adjusted transformation parameters after the extrinsic calibration

ElementTS3TS1TS3TS2THTS3TMTTTVTWTMTH
ρx in deg−36/ − 34.517−37/ − 35.333−147/ − 144.6030/ − 0.0930/0.0900/ − 0.096
ρy in deg30/33.993−35/ − 35.3410/ − 0.3610/0.0750/ − 1.2150/0.327
ρz in deg−10/ − 11.03310/11.5820/0.1990/ − 1.0810/ − 1.0900/ − 0.017
tx in mm−140/ − 138.838130/127.153−10/ − 10297/296.89210/14.754Controlled
ty in mm−125/ − 125.473−120/ − 122.15515/15404/399.3220/2.391Controlled
tz in mm30/32.05736/36.388−160/ − 160−438/ − 440.241190/190Controlled
ElementTS3TS1TS3TS2THTS3TMTTTVTWTMTH
ρx in deg−36/ − 34.517−37/ − 35.333−147/ − 144.6030/ − 0.0930/0.0900/ − 0.096
ρy in deg30/33.993−35/ − 35.3410/ − 0.3610/0.0750/ − 1.2150/0.327
ρz in deg−10/ − 11.03310/11.5820/0.1990/ − 1.0810/ − 1.0900/ − 0.017
tx in mm−140/ − 138.838130/127.153−10/ − 10297/296.89210/14.754Controlled
ty in mm−125/ − 125.473−120/ − 122.15515/15404/399.3220/2.391Controlled
tz in mm30/32.05736/36.388−160/ − 160−438/ − 440.241190/190Controlled

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.

Table 7

Descriptive statistics for calibration repeatability (sample size: 10)

MeasureMeanStdMinMax
count (1)489 9812623485 802493 404
mean (mm)0.0620.0060.0530.071
max (mm)0.3570.0260.3150.388
MeasureMeanStdMinMax
count (1)489 9812623485 802493 404
mean (mm)0.0620.0060.0530.071
max (mm)0.3570.0260.3150.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 AllPSize.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 valuePForm.Sph.D95%:Tr:ODS

    Indicated sphere form measurement error when 95% of the measuring points are taken into consideration.

Probing dispersion valuePForm.Sph.D95%:Tr:ODS and probing size error AllPSize.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.

Fig. 14
Visualization of the two measures of accuracy (a) probing size error All (PSize.Sph.All = 0.042 mm) and (b) probing dispersion value (PForm.Sph. = 0.248 mm)
Fig. 14
Visualization of the two measures of accuracy (a) probing size error All (PSize.Sph.All = 0.042 mm) and (b) probing dispersion value (PForm.Sph. = 0.248 mm)
Close modal

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

1.
Tasan
,
C. C.
,
2015
, “
An Overview of Dual-Phase Steels: Advances in Microstructure-Oriented Processing and Micromechanically Guided Design
,”
Annu. Rev. Mater. Res.
,
45
(
1
), pp.
391
431
.
2.
Meng
,
L.
,
Zhang
,
W.
,
Quan
,
D.
,
Shi
,
G.
,
Tang
,
L.
,
Hou
,
Y.
,
Breitkopf
,
P.
,
Zhu
,
J.
, and
Gao
,
T.
,
2020
, “
From Topology Optimization Design to Additive Manufacturing: Today’s Success and Tomorrow’s Roadmap
,”
Arch. Comput. Methods Eng.
,
27
(
3
), pp.
805
830
.
3.
Hauschild
,
M. Z.
,
Kara
,
S.
, and
Røpke
,
I.
,
2020
, “
Absolute Sustainability: Challenges to Life Cycle Engineering
,”
CIRP Ann.
,
69
(
2
), pp.
533
553
.
4.
Ghidini
,
T.
,
2018
, “
Materials for Space Exploration and Settlement
,”
Nat. Mater.
,
17
(
10
), pp.
846
850
.
5.
Herrmann
,
C.
,
Dewulf
,
W.
,
Hauschild
,
M.
,
Kaluza
,
A.
,
Kara
,
S.
, and
Skerlos
,
S.
,
2018
, “
Life Cycle Engineering of Lightweight Structures
,”
CIRP Ann.
,
67
(
2
), pp.
651
672
.
6.
Denkena
,
B.
,
Dittrich
,
M.-A.
, and
Jacob
,
S.
,
2019
, “
Methodology for Integrative Production Planning in Highly Dynamic Environments
,”
Prod. Eng.
,
13
(
3–4
), pp.
317
324
.
7.
Peng
,
T.
,
Zhu
,
Y.
,
Leu
,
M.
, and
Bourell
,
D.
,
2020
, “
Additive Manufacturing-Enabled Design, Manufacturing, and Lifecycle Performance
,”
Addit. Manuf.
,
36
, p.
101646
.
8.
Wits
,
W. W.
, and
Amsterdam
,
E.
,
2021
, “
Graded Structures by Multi-material Mixing in Laser Powder Bed Fusion
,”
CIRP Ann.
,
70
(
1
), pp.
159
162
.
9.
Leyens
,
C.
, and
Beyer
,
E.
,
2015
, “
Innovations in Laser Cladding and Direct Laser Metal Deposition
,”
Laser Surface Engineering
, Vol.
532
,
Elsevier
, pp.
181
192
.
10.
Jared
,
B. H.
,
Aguilo
,
M. A.
,
Beghini
,
L. L.
,
Boyce
,
B. L.
,
Clark
,
B. W.
,
Cook
,
A.
,
Kaehr
,
B. J.
, and
Robbins
,
J.
,
2017
, “
Additive Manufacturing: Toward Holistic Design
,”
Scr. Mater.
,
135
(
2
), pp.
141
147
.
11.
Mukherjee
,
T.
, and
DebRoy
,
T.
,
2019
, “
A Digital Twin for Rapid Qualification of 3D Printed Metallic Components
,”
Appl. Mater. Today
,
14
, pp.
59
65
.
12.
Kadir
,
A. Z. A.
,
Yusof
,
Y.
, and
Wahab
,
M. S.
,
2020
, “
Additive Manufacturing Cost Estimation Models—A Classification Review
,”
Int. J. Adv. Manuf. Technol.
,
107
(
9–10
), pp.
4033
4053
.
13.
Wu
,
Q.
,
Mukherjee
,
T.
,
De
,
A.
, and
DebRoy
,
T.
,
2020
, “
Residual Stresses in Wire-Arc Additive Manufacturing – Hierarchy of Influential Variables
,”
Addit. Manuf.
,
35
(
121
), p.
101355
.
14.
Seidel
,
A.
,
Gollee
,
C.
, and
Schnellhardt
,
T.
,
2021
, “
Cyber–Physical Approach Towards Semi-autonomous Post-processing of Additive Manufactured Parts and Components
,”
J. Laser. Appl.
,
33
(
1
), p.
012033
.
15.
Chen
,
F.
,
Brown
,
G. M.
, and
Song
,
M.
,
2000
, “
Overview of Three-Dimensional Shape Measurement Using Optical Methods
,”
Opt. Eng.
,
39
(
1
).
16.
Lin
,
H.
,
Gao
,
J.
,
Zhang
,
G.
,
Chen
,
X.
,
He
,
Y.
, and
Liu
,
Y.
,
2017
, “
Review and Comparison of High-Dynamic Range Three-Dimensional Shape Measurement Techniques
,”
J. Sens.
,
2017
, pp.
1
11
.
17.
Palousek
,
D.
,
Omasta
,
M.
,
Koutny
,
D.
,
Bednar
,
J.
,
Koutecky
,
T.
, and
Dokoupil
,
F.
,
2015
, “
Effect of Matte Coating on 3D Optical Measurement Accuracy
,”
Opt. Mater.
,
40
(
1–4
), pp.
1
9
.
18.
Dawda
,
A.
, and
Nguyen
,
M.
,
2021
, “Comparison of Red Versus Blue Laser Light for Accurate 3D Measurement of Highly Specular Surfaces in Ambient Lighting Conditions,”
Geometry and Vision
, M. Nguyen, W. Q. Yan, and H. Ho, eds.,
Communications in Computer and Information Science
, Vol.
1386
,
Springer International Publishing
,
Cham
, pp.
300
312
.
19.
OPC Foundation Harmonization WG
,
2020
,
OPC Unified Architecture: UA Modelling Best Practice
.
20.
Lehmann
,
Stefan
,
pyads documentation
.
21.
Semm
,
T.
,
Sellemond
,
M.
,
Rebelein
,
C.
, and
Zaeh
,
M. F.
,
2021
, “
Efficient Dynamic Parameter Identification Framework for Machine Tools
,”
ASME J. Manuf. Sci. Eng.
,
142
(
8
), p.
081003
.
22.
Riedel
,
M.
,
2020
,
Methodik zur Modellierung von photogrammetrischen Messungen zur Charakterisierung der Genauigkeit von Werkzeugmaschinen.
23.
Siciliano
,
B.
, and
Khatib
,
O.
,
2016
,
Springer Handbook of Robotics
,
Springer International Publishing
,
Cham
.
24.
Craig
,
J. J.
,
2005
,
Introduction to Robotics: Mechanics and Control.
,
Pearson Education International
,
London
.
25.
Choi
,
D.-G.
,
Bok
,
Y.
,
Kim
,
J.-S.
, and
Kweon
,
I. S.
,
2016
, “
Extrinsic Calibration of 2-D Lidars Using Two Orthogonal Planes
,”
IEEE Trans. Rob.
,
32
(
1
), pp.
83
98
.
26.
Hashim
,
H. A.
,
2019
, “
Special Orthogonal Group SO(3), Euler Angles, Angle-Axis, Rodriguez Vector and Unit-Quaternion: Overview, Mapping and Challenges
,”
arXiv
. https://arxiv.org/abs/1909.06669
27.
Tsiotras
,
P.
,
Junkins
,
J. L.
, and
Schaub
,
H.
,
1997
, “
Higher Order Cayley Transforms With Applications to Attitude Representations
,”
J. Guid. Control Dyn.
,
20
(
3
).
28.
ISO 230-1: Test Code for Machine Tools – Part 1: Geometric Accuracy of Machines Operating Under No-Load or Quasi-Static Conditions
.
29.
Luhmann
,
T.
,
2020
,
Close-Range Photogrammetry and 3D Imaging
,
De Gruyter
,
London
.
30.
Chen
,
Y.
, and
Medioni
,
G.
,
1991
, “
Object Modeling by Registration of Multiple Range Images
,”
Proceedings of the 1991 IEEE International Conference on Robotics and Automation
,
Sacramento, CA
,
Apr. 9–11
.
31.
Rusinkiewicz
,
S.
, and
Levoy
,
M.
,
2001
, “
Efficient Variants of the ICP Algorithm
,”
Proceedings Third International Conference on 3-D Digital Imaging and Modeling
,
Quebec City, Canada
,
May 28–June 1
.
32.
Virtanen
,
P.
,
2020
, “
SciPy 1.0: Fundamental Algorithms for Scientific Computing in Python
,”
Nat. Methods
,
17
(
3
), pp.
261
272
.
33.
McKinney
,
W.
,
2010
, “
Data Structures for Statistical Computing in Python
,”
Python in Science Conference
,
Austin, TX
,
June 28–30
.
34.
Zhou
,
Q.-Y.
,
Park
,
J.
, and
Koltun
,
V.
,
2018
, “
Open3D: A Modern Library for 3D Data Processing
,”
arXiv
.
35.
Newville
,
M.
,
Stensitzki
,
T.
,
Allen
,
D. B.
, and
Ingargiola
,
A.
,
2014
, “
LMFIT: Non-linear Least-Square Minimization and Curve-Fitting for Python
,”
OpenAIRE
.
36.
Norton
,
J. P.
,
1986
,
An Introduction to Identification
,
Academic Press
,
London
.
37.
Schröer
,
K.
,
2022
, “
Theory of Kinematic Modelling and Numerical Procedures for Robot Calibration
,”
Robot Calibration
, pp.
157
196
.
38.
Raghavendra
,
N. V.
, and
Krishnamurthy
,
L.
,
2013
,
Engineering Metrology and Measurements
,
Oxford University Press
,
New Delhi, India
.
39.
DIN EN ISO 10360-8: Geometrical Product Specifications (GPS) – Acceptance and Reverification Tests for Coordinate Measuring Systems (CMS) – Part 8: CMMs With Optical Distance Sensors (ISO 10360-8:2013)
.
40.
VDI/VDE 2617: Accuracy of Coordinate Measuring Machines – Characteristics and Their Testing Guideline for the Application of DIN EN ISO 10360-8 to Coordinate Measuring Machines With Optical Distance Sensors
.