Modeling and Calibration of a Novel One-Mirror Galvanometric Laser Scanner

A laser stripe sensor has limited application when a point cloud of geometric samples on the surface of the object needs to be collected, so a galvanometric laser scanner is designed by using a one-mirror galvanometer element as its mechanical device to drive the laser stripe to sweep along the object. A novel mathematical model is derived for the proposed galvanometer laser scanner without any position assumptions and then a model-driven calibration procedure is proposed. Compared with available model-driven approaches, the influence of machining and assembly errors is considered in the proposed model. Meanwhile, a plane-constraint-based approach is proposed to extract a large number of calibration points effectively and accurately to calibrate the galvanometric laser scanner. Repeatability and accuracy of the galvanometric laser scanner are evaluated on the automobile production line to verify the efficiency and accuracy of the proposed calibration method. Experimental results show that the proposed calibration approach yields similar measurement performance compared with a look-up table calibration method.


Introduction
In recent decades, the laser stripe sensor has been widely used and is becoming promising in many industrial applications, such as a seam tracking system [1], a weld quality inspecting system [2] and an inspection system of automobile assembly [3], because of its fast acquisition speed, very simple mechanical structure, low cost, and robustness. The main working principle of the laser stripe sensor is that a laser line projector projects a single laser stripe plane onto the object's surface, forming a light stripe. The light stripe is modulated by the depth of the object's surface and a camera records the 2D distorted image. The 3D characteristic information of the object's surface can be derived from the 2D distorted image after performing 3D reconstruction. However, a laser stripe sensor has limited application when a point cloud of geometric samples on the surface of the object is needed to be collected [4]. Taking an inspection system of automobile assembly, for example, the alignments of holes and parts are important, because imprecise positioning of screw holes on a body frame can twist the frame, loosen screws, produce vibration, and deteriorate other qualities. Consequently, the light stripe needs to sweep through the surface of the hole by using mechanical devices to extract its center.
The system with such a scanning capability is called a laser scanner.
Tremendous efforts have been devoted to the field of developing and calibrating many laser scanners with different mechanical devices and a wide range of methods have been developed. Li [5][6][7] designed a laser scanner via mounting the laser stripe sensor to the end-effect of a robot. The accuracy of the laser scanner is limited owing to the absolute accuracy of the robot. The laser stripe sensor can also be fixed at the end of the coordinate measuring machine to form a highly accurate laser scanner [8]; proposed mathematical model, a calibration procedure for the laser scanner is presented. To validate the efficiency and accuracy of the proposed method, contrast experiments are conducted in Section 4; and the paper ends with concluding remarks in Section 5.

System Working Principles
The galvanometric laser scanner is designed using a one-mirror galvanometer element as the mechanical device to collect a point cloud of geometric samples on the surface of the object as shown in Figure 1a. As shown in Figure 1b, the galvanometric laser scanner is mainly comprised of a CCD camera (Basler acA1300/30 µm) with a 16 mm lens, a laser line projector (wavelength of 730 nm, beam width ≤1 mm), and a one-mirror galvanometer element which was made by ourselves using a reflective mirror and a stepper motor. The size of the galvanometric laser scanner is 158 × 116 × 43 mm. Here, there are 23 stripe lines in the view of the sensor, and each pose of the stripe line is fixed in the CCS owing to the high repeatability of the stepper motor. Each rotational step of the galvanometer element is 0.1146 • , which is decided by both the speed of the galvanometer element and the frame rate of the camera. is presented. To validate the efficiency and accuracy of the proposed method, contrast experiments are conducted in Section 4; and the paper ends with concluding remarks in Section 5.

System Working Principles
The galvanometric laser scanner is designed using a one-mirror galvanometer element as the mechanical device to collect a point cloud of geometric samples on the surface of the object as shown in Figure 1a. As shown in Figure 1b, the galvanometric laser scanner is mainly comprised of a CCD camera (Basler acA1300/30 µ m) with a 16 mm lens, a laser line projector (wavelength of 730 nm, beam width ≤1 mm), and a one-mirror galvanometer element which was made by ourselves using a reflective mirror and a stepper motor. The size of the galvanometric laser scanner is 158 × 116 × 43 mm. Here, there are 23 stripe lines in the view of the sensor, and each pose of the stripe line is fixed in the CCS owing to the high repeatability of the stepper motor. Each rotational step of the galvanometer element is 0.1146°, which is decided by both the speed of the galvanometer element and the frame rate of the camera. The working principle is as follows: an incoming laser stripe plane, which is projected by a laser line projector, hits the reflective mirror and the light stripe formed by intersecting outgoing laser stripe plane and the object's surface is captured by the fixed camera. The 3D characteristic information of the object's surface can be derived from the 2D distorted structured light stripe images after 3D reconstruction. The camera is triggered to acquire pictures continuously when the stepper motor gives a hardware trigger signal. The hardware trigger signal is given when the stepper motor rotates across its zero position. The reflected laser stripe plane scans across the object's surface along with the rotation of the galvanometer element, and the 3D information of the object's whole surface can be reconstructed. The measurement result is obtained within one second along with the scanning, so it is very suitable for industrial applications, especially for on-line quality inspection. The measuring process is as shown in Figure 2. In Figure 2a, the edge points of the circle are extracted in the ROI when the laser line scans across the work piece. Figure 2b shows the 3D point cloud of the measured circle after 3D reconstruction. Compared with the Digital TriCam FlexiCam [26], manufactured by Perceptron, Inc., the laser scanner cannot only provide a 3D point cloud without robot motion, but can also be less sensitive to the measurement position and environmental conditions, such as lighting. The working principle is as follows: an incoming laser stripe plane, which is projected by a laser line projector, hits the reflective mirror and the light stripe formed by intersecting outgoing laser stripe plane and the object's surface is captured by the fixed camera. The 3D characteristic information of the object's surface can be derived from the 2D distorted structured light stripe images after 3D reconstruction. The camera is triggered to acquire pictures continuously when the stepper motor gives a hardware trigger signal. The hardware trigger signal is given when the stepper motor rotates across its zero position. The reflected laser stripe plane scans across the object's surface along with the rotation of the galvanometer element, and the 3D information of the object's whole surface can be reconstructed. The measurement result is obtained within one second along with the scanning, so it is very suitable for industrial applications, especially for on-line quality inspection. The measuring process is as shown in Figure 2. In Figure 2a, the edge points of the circle are extracted in the ROI when the laser line scans across the work piece. Figure 2b shows the 3D point cloud of the measured circle after 3D reconstruction. Compared with the Digital TriCam FlexiCam [26], manufactured by Perceptron, Inc., the laser scanner cannot only provide a 3D point cloud without robot motion, but can also be less sensitive to the measurement position and environmental conditions, such as lighting.

Laser Line ROI
Edge points

Modeling and Calibration of the Galvanometric Laser Scanner
The proposed galvanometric laser scanner is calibrated via calibrating the camera first and then estimating the equation of each laser stripe plane with respect to the camera coordinate system (CCS). The camera has been extensively studied in the past decades, and its modeling and calibration techniques are very mature [27][28][29]. The main obstacle is to determine the equation of the reflected laser stripe plane with respect to the CCS at a given rotational angle of the galvanometer element. A mathematic model between the reflected laser plane and the given rotational angle is derived mainly based on the screw theory, and the objective function is established to identify the unknown parameters via minimizing the sum of distances from calibration points (control points) on the laser stripe plane to estimated reflected laser planes. A large number of control points are extracted by employing a plane-constraint-based method.

Camera Calibration
Camera calibration is to estimate intrinsic parameters which reflect the optical characteristic of the camera, and extrinsic parameters that express the pose of the local world coordinate system relative to the camera coordinate system. Zhang [29] presents a flexible camera calibration algorithm in which a planar calibration target is observed by a camera from multiple points of view. Here, the camera is fixed and the 7 × 7 dot array calibration target is freely moved and the relative calibration target poses are unknown. After camera calibration, the pose of each calibration target with respect to the camera coordinate system is determined.

Computing Control Points via the Plane-Constraint-Based Method
Here, a plane-constraint-based approach is proposed to extract a large number of control points on the laser stripe plane to identify the system's unknown parameters by viewing a planar calibration target from multiple orientations. Compared with the invariance of cross-ratio [19,21] and the invariance of double cross-ratio [20,30], the plane-constraint-based calibration approach extracts the same number of control points as the invariance of double cross-ratio without error propagation.
Without loss of generality, the local world coordinate system (WCS) of each calibration target is defined as follow: its original point is located at the upper left corner of the planar calibration target, and its X axis is along one side of the target and its Y axis is along the other side, as shown in Figure 3. As a result, the Z coordinates of any points located on the planar target is 0.

Modeling and Calibration of the Galvanometric Laser Scanner
The proposed galvanometric laser scanner is calibrated via calibrating the camera first and then estimating the equation of each laser stripe plane with respect to the camera coordinate system (CCS). The camera has been extensively studied in the past decades, and its modeling and calibration techniques are very mature [27][28][29]. The main obstacle is to determine the equation of the reflected laser stripe plane with respect to the CCS at a given rotational angle of the galvanometer element. A mathematic model between the reflected laser plane and the given rotational angle is derived mainly based on the screw theory, and the objective function is established to identify the unknown parameters via minimizing the sum of distances from calibration points (control points) on the laser stripe plane to estimated reflected laser planes. A large number of control points are extracted by employing a plane-constraint-based method.

Camera Calibration
Camera calibration is to estimate intrinsic parameters which reflect the optical characteristic of the camera, and extrinsic parameters that express the pose of the local world coordinate system relative to the camera coordinate system. Zhang [29] presents a flexible camera calibration algorithm in which a planar calibration target is observed by a camera from multiple points of view. Here, the camera is fixed and the 7 × 7 dot array calibration target is freely moved and the relative calibration target poses are unknown. After camera calibration, the pose of each calibration target with respect to the camera coordinate system is determined.

Computing Control Points via the Plane-Constraint-Based Method
Here, a plane-constraint-based approach is proposed to extract a large number of control points on the laser stripe plane to identify the system's unknown parameters by viewing a planar calibration target from multiple orientations. Compared with the invariance of cross-ratio [19,21] and the invariance of double cross-ratio [20,30], the plane-constraint-based calibration approach extracts the same number of control points as the invariance of double cross-ratio without error propagation.
Without loss of generality, the local world coordinate system (WCS) of each calibration target is defined as follow: its original point is located at the upper left corner of the planar calibration target, and its X axis is along one side of the target and its Y axis is along the other side, as shown in Figure 3. As a result, the Z coordinates of any points located on the planar target is 0.
The camera model can be expanded as: where c i T C and C T w contain intrinsic and extrinsic parameters separately, so they are known after camera calibration. P i is the image plane coordinate of a control point which can be determined by center of mass algorithm [31] and P ω is the corresponding world coordinates of the control point. However, c i T C · C T w is a 3 × 4 transformation matrix with row rank r = 3, so there is no left inverse matrix of c i T C · C T w . As a result, the world control point P ω cannot be derived only from Equation (2). However, all the world control points are constrained on the surface of the planar target, so there is an additional equation (Z = 0) for all the world control points. Equations (1) and (2) are combined to form the plane-constraint-based method for extracting control points in the local WCS: where the transformation matrix T is a 4 × 4 invertible matrix, and the fourth row of the matrix T indicates that all of the world control points are constrained on the OXY plane of the local world coordinate system. The local world control points can be transformed into the global camera coordinate system via extrinsic parameters as shown in Figure 3. The planar calibration target can be placed in multiple poses, so the plane-constraint-based method easily extracts a large number of control points. It is should be noticed that the invariance of the cross-ratio method only extracts, at most, seven control points at each position of the 7 × 7 dot array calibration target, so it is inconvenient for a large number of control points to fit the laser stripe plane. Though the invariance of the double cross-ratio method theoretically extracts all control points on the calibration target, the accuracy of the control points is limited owing to error propagation using the invariance of the double cross-ratio twice. The camera model can be expanded as: 11 where and contain intrinsic and extrinsic parameters separately, so they are known after camera calibration. ̃ is the image plane coordinate of a control point which can be determined by center of mass algorithm [31] and ̃ is the corresponding world coordinates of the control point.
However, • is a 3 × 4 transformation matrix with row rank r = 3, so there is no left inverse matrix of • . As a result, the world control point ̃ cannot be derived only from Equation (2). However, all the world control points are constrained on the surface of the planar target, so there is an additional equation (Z = 0) for all the world control points. Equations (1) and (2) where the transformation matrix T is a 4 × 4 invertible matrix, and the fourth row of the matrix T indicates that all of the world control points are constrained on the OXY plane of the local world coordinate system. The local world control points can be transformed into the global camera coordinate system via extrinsic parameters as shown in Figure 3. The planar calibration target can be placed in multiple poses, so the plane-constraint-based method easily extracts a large number of control points. It is should be noticed that the invariance of the cross-ratio method only extracts, at most, seven control points at each position of the 7 × 7 dot array calibration target, so it is inconvenient for a large number of control points to fit the laser stripe plane. Though the invariance of the double cross-ratio method theoretically extracts all control points on the calibration target, the accuracy of the control points is limited owing to error propagation using the invariance of the double cross-ratio twice. Figure 3. The diagrammatic sketch of transforming the multiple local world coordinate systems into a global camera coordinate system.

Mathematical Model of the Galvanometric Laser Scanner
The laser line projector can be modeled as a plane equation and the reflective mirror also can be modeled as a plane equation. The rotational axis of the galvanometric is represented by a spatial line. What is more, all of the equations are expressed in the CCS.

Mathematical Model of Basic Elements
The plane ∏p equation of the laser line projector (incoming laser plane) is given below where a p , b p , c p , d p are the estimated plane parameters and n p = a p , b p , c p are the normal vector of the plane. The original plane ∏ 0 equation of the reflective mirror is: The rotational axis l of the galvanometer element is expressed using the directional vector ω and a point P on l.
It is should be noticed that there are 11 independent parameters to describe two planes and one spatial line, and no position assumptions are made during the mathematical model of the basic elements. Consequently, machining and assembly errors, which affect the position of basic elements, are considered in the mathematical model. Meanwhile, the position of the laser projector is fixed in the CCS, so the plane equation of the laser line projector is fixed, but unknown, and the equation of the reflective mirror changes along with the rotation of the galvanometer element.

Equation of the Rotated Reflective Mirror
Based on screw theory [32], the transformation matrix T of the rotational axis l can be easily expressed as follows, and the twist coordinates ξ for the rotational axis l is given below: where ω is the directional vector of l and P = P x , P y , P z is a point on l.
The operator, ∧ (wedge), forms a R 4 × 4 matrix (the twistξ ) out of a given vector ξ in R 6 : Then the transformation matrix T can be expressed via the exponential map from the twistξ: If the rotational angle θ of the galvanometer element is given, the transformation matrix T is determined. The equation of the rotated reflective mirror ∏ i at the given θ i can be easily expressed as follows: where n 0 = [a 0 , b 0 , c 0 , 0] T is the homogeneous coordinate of the original reflective mirror's normal vector in the CCS, and P 0 = P 0x , P 0y , P 0z , 1 T is the homogeneous coordinate of the point P 0 on the original plane ∏ 0 .

Equation of the Reflected Laser Plane
If the incoming laser plane ∏p and the rotated reflective plane ∏ i are determined, the equation of the reflected laser plane can be given below.
The normal vector n oi of the reflected laser plane is estimated as shown in Figure 4 and given below: where n p is the normal vector of the incoming laser (laser projector) plane, and n i is the normal vector of the rotated reflective plane ∏ i . The intersection point of the incoming laser plane and the rotated reflective plane ∏ i can be easily calculated, and then the equation of the reflected laser plane can be easily estimated using the normal vector and a point on the plane. The reflected laser plane at a given θ i is given below:

Equation of the Reflected Laser Plane
If the incoming laser plane ∏p and the rotated reflective plane ∏i are determined, the equation of the reflected laser plane can be given below.
The normal vector of the reflected laser plane is estimated as shown in Figure 4 and given below: where is the normal vector of the incoming laser (laser projector) plane, and is the normal vector of the rotated reflective plane ∏i.
The intersection point of the incoming laser plane and the rotated reflective plane ∏i can be easily calculated, and then the equation of the reflected laser plane can be easily estimated using the normal vector and a point on the plane. The reflected laser plane at a given is given below:

Estimation of the Galvanometric Laser Scanner's Parameters
There are, in total, 11 independent unknown parameters in the aforementioned model. These parameters can be estimated by minimizing the following objective function: where is the distance from the control point ( , , ) to the ith estimated reflected laser plane, and the point ( , , ) is the point on the ith real reflected laser plane. X are the 11 independent unknown parameters. A large number of control points are extracted via the planeconstraint-based method as described in Section 3.2.
The Levenberg-Marquardt algorithm [33] is employed to optimize aforementioned parameters.

Summary
To sum up, the procedure of the proposed calibration method is described in Figure 5 is as follows:

Estimation of the Galvanometric Laser Scanner's Parameters
There are, in total, 11 independent unknown parameters in the aforementioned model. These parameters can be estimated by minimizing the following objective function: where d ij is the distance from the control point P j x j , y j , z j to the ith estimated reflected laser plane, and the point P j x j , y j , z j is the point on the ith real reflected laser plane. X are the 11 independent unknown parameters. A large number of control points are extracted via the plane-constraint-based method as described in Section 3.2.
The Levenberg-Marquardt algorithm [33] is employed to optimize aforementioned parameters.

Summary
To sum up, the procedure of the proposed calibration method is described in Figure 5 is as follows: 1.
The planar calibration target is located at several different poses, and each pose of the planar calibration target is captured by the galvanometric laser scanner. The last two poses are captured twice in two cases, one with no laser stripe line projected onto the planar calibration target for camera calibration and the other with the laser stripe line for projector calibration.

2.
The captured images without the laser stripe line are used for camera calibration and both intrinsic parameters and extrinsic parameters are determined.

3.
Extracting all image coordinates of control points in two captured images.

4.
Correcting distortion for those image coordinates according to the lens distortion model.

5.
Calculating control points in the local world coordinate system based on plane-constraint method and transforming the local world coordinate of control points to the global camera coordinate system according the extrinsic parameters. 6.
Calibration of the galvanometric laser scanner is completed. 1. The planar calibration target is located at several different poses, and each pose of the planar calibration target is captured by the galvanometric laser scanner. The last two poses are captured twice in two cases, one with no laser stripe line projected onto the planar calibration target for camera calibration and the other with the laser stripe line for projector calibration. 2. The captured images without the laser stripe line are used for camera calibration and both intrinsic parameters and extrinsic parameters are determined. 3. Extracting all image coordinates of control points in two captured images. 4. Correcting distortion for those image coordinates according to the lens distortion model. 5. Calculating control points in the local world coordinate system based on plane-constraint method and transforming the local world coordinate of control points to the global camera coordinate system according the extrinsic parameters. 6. Estimating the 11 independent unknown parameters according to Equation (14). 7. Calibration of the galvanometric laser scanner is completed.

Experiments
Here, the galvanometric laser scanner is made to be used on the automobile production line. The proposed calibration method is used to calibrate the laser scanner and then repeatability and accuracy of the laser scanner is evaluated via measuring four standard workpieces (a standard sphere feature, a standard hole feature, a standard slot feature, and a standard square feature). The aforementioned features are very common in quality control of body-in-white. Meanwhile, there are 23 stripe lines in the view of the sensor, and each pose of the stripe line is fixed in CCS owing to high repeatability of the stepper motor, so a LUT method can be employed to calibrate the laser scanner. Contrast experiments are conducted to verify the efficiency and accuracy of the proposed calibration method.

System Calibration
The laser scanner is calibrated via minimizing the sum of distances from control points to the estimated reflected laser plane with the Levenberg-Marquardt algorithm. Initial values of unknown parameters can be determined by the structure of the laser scanner. As shown in Figure 1b ∏0 is (0, 0.853, 0.477, 87). The aforementioned parameters are

Experiments
Here, the galvanometric laser scanner is made to be used on the automobile production line. The proposed calibration method is used to calibrate the laser scanner and then repeatability and accuracy of the laser scanner is evaluated via measuring four standard workpieces (a standard sphere feature, a standard hole feature, a standard slot feature, and a standard square feature). The aforementioned features are very common in quality control of body-in-white. Meanwhile, there are 23 stripe lines in the view of the sensor, and each pose of the stripe line is fixed in CCS owing to high repeatability of the stepper motor, so a LUT method can be employed to calibrate the laser scanner. Contrast experiments are conducted to verify the efficiency and accuracy of the proposed calibration method.

System Calibration
The laser scanner is calibrated via minimizing the sum of distances from control points to the estimated reflected laser plane with the Levenberg-Marquardt algorithm. Initial values of unknown parameters can be determined by the structure of the laser scanner. As shown in Figure 1b (0, 0.853, 0.477, 87). The aforementioned parameters are good initial guesses for the Levenberg-Marquardt algorithm. The laser scanner is calibrated according to the calibration procedure described in Section 3.5.

Repeatability Evaluation
As shown in Figure 6, the designed galvanometric laser scanner is mounted at the end of the robot to construct a robot-based inspecting system. Coordinates of the spherical centers obtained by the laser scanner are used to calibrate the inspecting system. Here, the standard sphere is a bearing steel ball and is coated with matt material. Other three standard features are manufactured by a five-axis CNC machine (DMG HSC 75 linear, DMG MORI Inc., Bielefeld, Germany), and all standard features are inspected on a CMM (2 + (L/350) µm, Thome Präzision GmbH, Messel, Germany). The definitions of the dimensions of the features are shown in Figure 6b and Table 1 shows true values of the features' dimensions. In Figure 7a, the surface points of four features are extracted in the ROI and the corresponding 3D points cloud are obtained after calibrating the laser scanner. Figure 7b shows the 3D point cloud and the fitted sphere by a nonlinear least-squares sphere fitting algorithm (TLS A ) [34], the fitted circle by the geometric circle fitting algorithm [35], and the fitted square by the Hough transform [36]. Repeatability of the laser scanner is evaluated via measuring four features 10,000 times lasting from 10:00 a.m. to 8:00 p.m. with the inspecting system fixed at a certain pose. The influence of the environmental condition changes, such as lighting, on the repeatability of the laser scanner is studied during the long-time repeatability evaluation experiment. The coordinates of four features' centers with respect to CCS, and the dimension of them, are shown in Figure 8. As indicated in Figure 8, the standard deviation (std) of the laser scanner is less than 0.02 mm and the laser scanner is robust to environmental condition such as lighting. Edges of the square intersect the laser stripe planes at, approximately, a 45 • angle, which leads to edge effects in the extraction of the laser stripe center, because the center of mass algorithm is performed for each column of the image independently. Consequently, the laser scanner is less suitable for square features. good initial guesses for the Levenberg-Marquardt algorithm. The laser scanner is calibrated according to the calibration procedure described in Section 3.5.

Repeatability Evaluation
As shown in Figure 6, the designed galvanometric laser scanner is mounted at the end of the robot to construct a robot-based inspecting system. Coordinates of the spherical centers obtained by the laser scanner are used to calibrate the inspecting system. Here, the standard sphere is a bearing steel ball and is coated with matt material. Other three standard features are manufactured by a five-axis CNC machine (DMG HSC 75 linear, DMG MORI Inc., Bielefeld, Germany), and all standard features are inspected on a CMM (2 + (L/350) μm, Thome Präzision GmbH, Messel, Germany). The definitions of the dimensions of the features are shown in Figure 6b and Table 1 shows true values of the features' dimensions. In Figure 7a, the surface points of four features are extracted in the ROI and the corresponding 3D points cloud are obtained after calibrating the laser scanner. Figure 7b shows the 3D point cloud and the fitted sphere by a nonlinear least-squares sphere fitting algorithm (TLSA) [34], the fitted circle by the geometric circle fitting algorithm [35], and the fitted square by the Hough transform [36]. Repeatability of the laser scanner is evaluated via measuring four features 10,000 times lasting from 10:00 a.m. to 8:00 p.m. with the inspecting system fixed at a certain pose. The influence of the environmental condition changes, such as lighting, on the repeatability of the laser scanner is studied during the long-time repeatability evaluation experiment. The coordinates of four features' centers with respect to CCS, and the dimension of them, are shown in Figure 8. As indicated in Figure 8, the standard deviation (std) of the laser scanner is less than 0.02 mm and the laser scanner is robust to environmental condition such as lighting. Edges of the square intersect the laser stripe planes at, approximately, a 45° angle, which leads to edge effects in the extraction of the laser stripe center, because the center of mass algorithm is performed for each column of the image independently. Consequently, the laser scanner is less suitable for square features.

Accuracy Evaluation
Here, accuracy of the laser scanner is evaluated via measuring four features from six different poses. The proposed calibration method is compared with other three calibration methods, such as a one-step calibration method (Huynh [19]), a two-step calibration method (Zhou [21]) and other

Accuracy Evaluation
Here, accuracy of the laser scanner is evaluated via measuring four features from six different poses. The proposed calibration method is compared with other three calibration methods, such as a one-step calibration method (Huynh [19]), a two-step calibration method (Zhou [21]) and other

Accuracy Evaluation
Here, accuracy of the laser scanner is evaluated via measuring four features from six different poses. The proposed calibration method is compared with other three calibration methods, such as a one-step calibration method (Huynh [19]), a two-step calibration method (Zhou [21]) and other two-step calibration method (plane-constraint-based method). The aforementioned three calibration methods only deal with the vision sensor calibration problem with a fixed light stripe plane. However, there are 23 stripe lines in the view of the sensor, and each pose of the stripe line is fixed in the CCS owing to the high repeatability of the stepper motor. Inspired by LUT, three other calibration methods are repeated 23 times at each pose of the laser stripe plane to complete the calibration of the galvanometric laser scanner and Zhou's method stands for Zhou's method with LUT in later paragraph and so on. The LUT method consists of two parts: (1) storing calibration matrices for 23 pre-defined laser planes in a LUT; and (2) usage of the calibration matrix at a pre-defined rotational angle for 3D reconstruction. The LUT method is used as a reference for the proposed model-driven calibration method. Four calibration methods use the same calibration images to complete the calibration procedure and accuracy verification.
The root mean square error (RMSE) obtained by estimating the deviation between measurement dimensions and the true value among the proposed calibration method are given in Table 2. As indicated in Table 2 and in Figure 9, the RMSE of the one-step calibration method is much larger than other three two-step calibration methods. This is because the one-step method is based on the homography model [30,37] which neglects the lens distortion when the camera is modeled. The RMSE of the plane-constraint-based calibration method is smaller than that of Zhou's method, because there are only 14 control points to fit each laser stripe plane in the calibration process described in Section 3.5. As we known, the influence of noise contained in the control points will greatly affect the accuracy of the fitted plane when control points are limited in quantity [20]. The 7 × 7 dot array calibration target should be placed at many positions to extract a large of control points via Zhou's calibration method, and it is inconvenient to implement. The plane-constraint-based method theoretically extracts all control points on the calibration target by imposing a plane constraint (Z = 0) on them, so it is convenient to estimate the laser stripe plane effectively and accurately. The RMSE of the proposed calibration method (model-driven method) is slightly worse than that of the plane-constraint-based method (LUT method), because the model-driven method estimates the laser stripe planes via the system's mathematic model, while the LUT method fits each pre-defined laser stripe planes using control points directly. However, the advantages of the proposed method over the LUTs are listed as follows: (1) the LUT method is employed to calibrate only for the pre-defined set of laser stripe planes; (2) the laser scanner needs to be recalibrated only when the structure of the laser scanner changes for the proposed method, while the laser scanner needs to be recalibrated even when the rotational angle changes for the LUT methods. In summary, repeatability and accuracy of the proposed laser scanner is enough for quality inspecting of the automobile production line. In fact, accuracy of vision sensors is mainly related to the working distance. The proposed laser scanner works at a very close distance (100 mm) with very high accuracy. The rotational laser scanner's working distance is 110 mm with high accuracy (0.024 mm) [15]. The linear laser scanner's working distance is 175 mm and the accuracy is about 0.071 mm [14]. There are also laser scanners with long working distance. Chi [25] developed a laser line auto-scanning system for underwater 3D reconstruction at a long working distance (1000 mm) with lower accuracy (0.382 mm). A rotary scanning system is proposed to measure a board from 2000 mm away and the accuracy is about 10 mm [38].

Conclusions
In this work, a one-mirror galvanometric laser scanner is proposed to collect a point cloud of geometric samples on the surface of the object. Compared with available laser scanners, the proposed one has a relatively small size and its light load increases the life of the motor, so the proposed laser scanner has widespread application prospects in the industrial field. Meanwhile, a mathematical model of the galvanometric laser scanner is derived based mainly on screw theory, and then a calibration procedure is presented. Repeatability and accuracy of the proposed laser scanner are evaluated in the automobile production line and results show that the laser scanner and the calibration procedure are very effective in the industrial applications, especially in the vision inspection system. In addition, the idea of the screw theory-based calibration method can be used for reference when laser scanners with other forms of mechanical devices are calibrated.

Conclusions
In this work, a one-mirror galvanometric laser scanner is proposed to collect a point cloud of geometric samples on the surface of the object. Compared with available laser scanners, the proposed one has a relatively small size and its light load increases the life of the motor, so the proposed laser scanner has widespread application prospects in the industrial field. Meanwhile, a mathematical model of the galvanometric laser scanner is derived based mainly on screw theory, and then a calibration procedure is presented. Repeatability and accuracy of the proposed laser scanner are evaluated in the automobile production line and results show that the laser scanner and the calibration procedure are very effective in the industrial applications, especially in the vision inspection system. In addition, the idea of the screw theory-based calibration method can be used for reference when laser scanners with other forms of mechanical devices are calibrated.