# Extrinsic Calibration of a Laser Galvanometric Setup and a Range Camera

^{1}

^{2}

^{*}

## Abstract

**:**

## 1. Introduction and Related Work

## 2. Algorithm and Methodology

#### 2.1. Schematic Overview of the General Setup and Problem

_{i}) and its direction (V

_{i}). The mapping of the galvanometer motor angles ($\theta $) to the line-coordinates of the corresponding ray can be provided by the manufacturer, or by methods like the ones proposed by Manakov et al. [5] or Cui et al. [6] (in this work, we use the work of Cui et al.). These laser rays are described in a coordinate system specific for the laser galvanometer. The laser spot (P

_{i}) is detected by a range sensor in the range sensor coordinate system. The goal in this work is to calculate the transformation between these two coordinate systems. Calculating this transformation is called the extrinsic calibration between the range sensor and laser galvanometer. This calibration is abbreviated to ‘3D calibration’ in this work.

_{i}). In our work, this laser spot is detected in [u,v]-coordinates and then converted to XYZ-coordinates in the range sensor coordinate system using the range sensor capabilities. For the methodology, it is not important how these XYZ-coordinates of the laser spot are obtained. How this is done in our experimental setup is explained in Section 3.

- O
_{i}, V_{i}(start point and direction) of the laser ray in the laser galvanometer coordinate system. - XYZ
_{i}-coordinate of the detected laser spot P_{i}of the corresponding ray in the range sensor coordinate system.

#### 2.2. Overview Methodology

#### 2.3. Non-Perspective-n-Point Problem Solution

_{i}) and direction (V

_{i})) are known in the laser galvanometer coordinate system. The laser spot positions (P

_{j}) on the object are known in the 3D coordinate system of the 3D range sensor. Due to the offset between the two mirrors in the mirror-system of the laser galvanometer, the outgoing rays do not intersect in one point (see Figure 3). Therefore, a standard solution of the Perspective-n-Point (PnP) problem, as commonly used in camera-calibration, cannot be used to calculate the coordinate transformation [20,21]. In this work, the Non-Perspective-n-Point (NPnP) problem solution of Fusiello et al. [22] is used to overcome this problem. This solution searches for the coordinate-transformation that minimizes the distance between the rays in the laser galvanometer-coordinate system and the points in the 3D range sensor coordinate system. This Non-Perspective-n-Point problem is a generalization of the traditional Perspective-n-Point problem where outgoing rays are not constrained to intersect in one specific point (the focal point of a camera).

_{i}) of Equation (1) is minimized. In this work, the procrustean solution of Fusiello et al. [22] is used. T and R are the translation and rotation matrix, respectively, from the 3D range sensor coordinate system to the laser galvanometer coordinate system. E is the cost-function (given in Equation (2)) that is minimized and δ

_{i}defines the distance of a 3D point P

_{i}along with a corresponding line (O

_{i}; V

_{i}). Note that in the original work of Fusiello et al. [22], a scaling parameter is calculated, but this is not needed in this work. We use the iterative solution presented by Fusiello et al. [22] to solve the nonlinear optimization problem. Fusiello et al. [22] showed that this solution systematically converges for arbitrary starting values δ

_{i}(while this is not the case for their direct solution). We used δ

_{i}= 1 as a starting value.

- The used a 3D sensor is able to detect the laser spot of the galvanometric system and can calculate the position of this spot in a 3D coordinate system. The detection used in this work is explained in Section 3 (Experimental Setup).

#### 2.4. Methodology of the 3D Extrinsic Calibration

#### 2.5. Validation Procedure

## 3. Experimental Setup

#### 3.1. Calibration Setup (Validation Setup)

- Polytec laser Doppler vibrometer PSV 300 (LDV) (laser galvanometric system)
- ○
- Intrinsic parameters obtained with the method of [16]
- ○
- The galvanometer mirror positions are controlled in Matlab with two analog outputs of a National Instruments USB 6343 card.

- Kinect One (Kinect for Xbox One Time-of-Flight and RGB camera) [19]
- ○
- Intrinsic parameters from factory calibration
- ○
- Controlled in Matlab with the Kin2 toolbox [19]

- Calibration plate (standard Melamine White Panel)
- ○
- Moved 10 times to get samples in the complete workspace (a standard calibration needs fewer positions)
- ○
- 2000 samples per position

#### 3.2. Setup for Comparing the Aiming of 2D Calibration and 3D Calibration

## 4. Experiments and Methodology

#### 4.1. Validating the Number of Samples

#### 4.2. Validating Sampling of the 3D Workspace

#### 4.3. Discussion and Recommendations

#### 4.4. Comparison with 2D Calibration

## 5. Conclusions

- The calibration should be performed with at least 100 laser spot samples.
- The calibration should use measurements from at least two different plane positions in the workspace.

## Author Contributions

## Funding

## Conflicts of Interest

## References

- PSV-500 Scanning Vibrometer. Available online: https://www.polytec.com/us/vibrometry/products/full-field-vibrometers/psv-500-scanning-vibrometer/ (accessed on 1 December 2017).
- Bessmeltsev, V.P.; Goloshevsky, N.V.; Smirnov, K.K. Specific features of controlling laser systems for micromachining of moving carriers. Optoelectron. Instrum. Data Process.
**2010**, 46, 79–86. [Google Scholar] [CrossRef] - Vanlanduit, S.; Guillaume, P.; Cauberghe, B.; Verboven, P. An automatic position calibration method for the scanning laser Doppler vibrometer. Meas. Sci. Technol.
**2003**, 14, 1469–1476. [Google Scholar] [CrossRef] - Martarelli, M.; Revel, G.M.; SantoliniI, C. Automated Modal Analysis By Scanning Laser Vibrometry: Problems and Uncertainties Associated With the Scanning System Calibration. Mech. Syst. Signal Process.
**2001**, 15, 581–601. [Google Scholar] [CrossRef] - Sels, S.; Ribbens, B.; Bogaerts, B.; Peeters, J.; Vanlanduit, S. 3D model assisted fully automated scanning laser Doppler vibrometer measurements. Opt. Lasers Eng.
**2017**, 99, 23–30. [Google Scholar] [CrossRef] - Tu, J.; Zhang, L. Effective Data-Driven Calibration for a Galvanometric Laser Scanning System Using Binocular Stereo Vision. Sensors
**2018**, 18, 197. [Google Scholar] [CrossRef] [PubMed] - Chan, T.O.; Lichti, D.D.; Belton, D. A rigorous cylinder-based self-calibration approach for terrestrial laser scanners. ISPRS J. Photogramm. Remote Sens.
**2015**, 99, 84–99. [Google Scholar] [CrossRef] - Atanacio-Jiménez, G.; González-Barbosa, J.J.; Hurtado-Ramos, J.B.; Ornelas-Rodríguez, F.J.; Jiménez-Hernández, H.; García-Ramirez, T.; González-Barbosa, R. LIDAR velodyne HDL-64E calibration using pattern planes. Int. J. Adv. Robot. Syst.
**2011**, 8, 70–82. [Google Scholar] [CrossRef] - Mirzaei, F.M.; Kottas, D.G.; Roumeliotis, S.I. 3D LIDAR-camera intrinsic and extrinsic calibration: Identifiability and analytical least-squares-based initialization. Int. J. Robot. Res.
**2012**, 31, 452–467. [Google Scholar] [CrossRef] - Vasconcelos, F.; Barreto, J.P.; Nunes, U. A Minimal Solution for the Extrinsic Calibration of a Camera and a Laser-Rangefinder. IEEE Trans. Pattern Anal. Mach. Intell.
**2012**, 34, 2097–2107. [Google Scholar] [CrossRef] [PubMed] - Alhamz, K.; Elmogy, M.; Barakat, S. 3D Object Recognition Based on Local and Global Features Using Point Cloud Library Khaled Alhamzi, Mohammed Elmogy, Sherif Barakat. Int. J. Adv. Comput. Technol.
**2015**, 7, 43–54. [Google Scholar] - Rusu, R.B.; Cousins, S. 3D is here: Point cloud library. IEEE Int. Conf. Robot. Autom.
**2011**, 1–4. [Google Scholar] [CrossRef] - Bergström, P.; Edlund, O. Robust registration of point sets using iteratively reweighted least squares. Comput. Optim. Appl.
**2014**, 58, 543–561. [Google Scholar] [CrossRef] - Grivon, D.; Vezzetti, E.; Violante, M.G. Development of an innovative low-cost MARG sensors alignment and distortion compensation methodology for 3D scanning applications. Robot. Auton. Syst.
**2013**, 61, 1710–1716. [Google Scholar] [CrossRef] - Pauwels, K.; Kragic, D. SimTrack: A Simulation-based Framework for Scalable Real-time Object Pose Detection and Tracking. In Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and System, Hamburg, Germany, 28 September–2 October 2015. [Google Scholar]
- Manakov, A.; Ivo, H.S. A mathematical model and calibration procedure for galvanometric laser scanning systems. In Proceedings of the Vision, Modeling, and Visualization Workshop 2011, Berlin, Germany, 4–6 October 2011; pp. 207–214. [Google Scholar] [CrossRef]
- Wissel, T.; Wagner, B.; Stuber, P.; Schweikard, A.; Ernst, F. Data-Driven Learning for Calibrating Galvanometric Laser Scanners. IEEE Sens. J.
**2015**, 15, 5709–5717. [Google Scholar] [CrossRef] - Cui, S.; Zhu, X.; Wang, W.; Xie, Y. Calibration of a laser galvanometric scanning system by adapting a camera model. Appl. Opt.
**2009**, 48, 2632–2637. [Google Scholar] [CrossRef] [PubMed] - Terven, J.R.; Córdova-Esparza, D.M. Kin2. A Kinect 2 toolbox for MATLAB. Sci. Comput. Program.
**2016**, 130, 97–106. [Google Scholar] [CrossRef] - Bouguet, J.Y. Camera Calibration Toolbox for Matlab. Available online: http://www.vision.caltech.edu/bouguetj/calib_doc/ (accessed on 3 May 2018).
- Zhang, Z. A Flexible New Technique for Camera Calibration. IEEE Trans. Pattern Anal. Mach. Intell.
**2000**, 22, 1330–1334. [Google Scholar] [CrossRef] - Fusiello, A.; Crosilla, F.; Malapelle, F. Procrustean point-line registration and the NPnP problem. In Proceedings of the 2015 International Conference on 3D Vision, Lyon, France, 19–22 October 2015; pp. 250–255. [Google Scholar] [CrossRef]
- Eberle, G.; Dold, C.; Wegener, K. Building a vector model representation of a two- axis laser scanhead using numerical analysis for simulation purposes. Int. J. Model. Identif. Control
**2013**, 20, 199–207. [Google Scholar] [CrossRef] - Bogaerts, B.; Penne, R.; Sels, S.; Ribbens, B.; Vanlanduit, S. A simple evaluation procedure for range camera measurement quality. In Advanced Concepts for Intelligent Vision Systems; Lecture Notes in Computer Science; Springer: Cham, Switzerland, 2016; pp. 286–296. [Google Scholar] [CrossRef]
- Fischler, M.A.; Bolles, R.C. Random Sample Consensus: A Paradigm for Model Fitting with. Commun. ACM
**1981**, 24, 381–395. [Google Scholar] [CrossRef] - Khoshelham, K.; Elberink, S.O. Accuracy and resolution of Kinect depth data for indoor mapping applications. Sensors
**2012**, 12, 1437–1454. [Google Scholar] [CrossRef] [PubMed] - Yang, L.; Zhang, L.; Dong, H.; Alelaiwi, A.; El Saddik, A. Evaluating and Improving the Depth Accuracy of Kinect for Windows v2. IEEE Sens. J.
**2015**, 15, 4275–4285. [Google Scholar] [CrossRef] - Weinstein, M.J.; Rao, A.V.; Weinstein, M.J.; Rao, A.V. Algorithm: ADiGator, a Toolbox for the Algorithmic Differentiation of Mathematical Functions in MATLAB Using Source Transformation via Operator Overloading. ACM Trans. Math. Softw.
**2017**, 44, 21. [Google Scholar] [CrossRef]

**Figure 3.**Representation of the non-Perspective-n-Point problem with a laser galvanometer. The laser rays (O

_{i}, V

_{i}) are described in the laser galvanometer coordinate system while laser dots (P

_{i}) are described in the range sensor coordinate system.

**Figure 4.**Example of calibration setup. The laser rays are described in the laser galvanometer coordinate system. The laser spots are detected and described in the 3D range camera coordinate system.

**Figure 6.**(

**a**) Experimental setup for calibrating the system (Polytec PSV 300, Kinect for Xbox One). (

**b**) The calibration plate is moved to different positions. (

**c**) Experimental setup for comparing the 3D calibration with a standard two-dimensional (2D) calibration. (

**d**) Kinect for Xbox One, the RGB camera is covered by a red semitransparent plastic for easier laser spot detection. (

**e**) Result of laser spot detection.

**Figure 7.**(

**a**) Visualization of the amplitude of the translation (T

_{mean}) and (

**b**) amplitude of the rotation angle (R

_{mean}) (axis-angle representation). Each test is repeated 50 times with n (random) sample points. The 68% confidence interval (2 times the standard deviation) is visualized with whiskers.

**Figure 8.**Boxplot of calibration. Each dataset is built from k calibration plates; the calibration is repeated 50 times with 100 random points. The bottom and top edges of the box indicate the 25th and 75th percentiles, respectively. The whiskers (dotted lines) extend to the most extreme data points (Translation or Rotation) that are not considered outliers. The outliers are plotted as a (red) plus symbol. (

**a**) Visualisation of translation (Tmean) and (

**b**) rotation angle (R

_{mean}) (axis-angle representation).

**Figure 9.**Example of the target and reached points on a cardboard barrel with the 3D method. Detected/reached points are defined by circles, target points by points. Some points were not detected.

**Figure 10.**Histograms containing the difference between the measured laser spot and the input laser spot. “False” values are laser spots that are not detected (out of search range). (

**a**,

**b**) Distance errors (pixel, mm) when the barrel was not moved after (2D) calibration. (

**c**,

**d**) Distance errors (pixel, mm) when the barrel was moved 1 m away from the original position.

**Figure 11.**Scatter plots with differences between the measured laser spots and the input laser spots in relation with the distance to the center calibration point. “False” values are laser spots that are not detected (out of search range). (

**a**) Distance errors (mm) when the barrel was not moved after 2D calibration. (

**b**) Distance errors (mm) when the barrel was moved 1 m away from the original position.

**Table 1.**RMS error metric and standard deviation of a single calibration (100 points) with a different number of calibration plates. Also, the mean condition number (closer to 1 is better) of the Hessian of the cost function is given.

Number of Calibration Plates | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | |
---|---|---|---|---|---|---|---|---|---|---|---|

RMS (mm) | 4.8 | 8.5 | 17.2 | 16.5 | 17.5 | 14.0 | 13.9 | 13.6 | 12.4 | 19.0 | |

STD (mm) | 3.2 | 7.5 | 16.0 | 15.4 | 16.4 | 12.9 | 12.8 | 12.5 | 11.3 | 18.0 | |

Condition number | Mean | 4.2 × 10^{3} | 198 | 188 | 245 | 281 | 290 | 239 | 192 | 206 | 182 |

© 2018 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).

## Share and Cite

**MDPI and ACS Style**

Sels, S.; Bogaerts, B.; Vanlanduit, S.; Penne, R.
Extrinsic Calibration of a Laser Galvanometric Setup and a Range Camera. *Sensors* **2018**, *18*, 1478.
https://doi.org/10.3390/s18051478

**AMA Style**

Sels S, Bogaerts B, Vanlanduit S, Penne R.
Extrinsic Calibration of a Laser Galvanometric Setup and a Range Camera. *Sensors*. 2018; 18(5):1478.
https://doi.org/10.3390/s18051478

**Chicago/Turabian Style**

Sels, Seppe, Boris Bogaerts, Steve Vanlanduit, and Rudi Penne.
2018. "Extrinsic Calibration of a Laser Galvanometric Setup and a Range Camera" *Sensors* 18, no. 5: 1478.
https://doi.org/10.3390/s18051478