Calibration of a rotating multi-beam Lidar Naveed Muhammad and Simon Lacroix Abstract This paper presents a technique for the calibration of multi-beam laser scanners. The technique is based on an optimization process, which gives precise estimation of calibration parameters starting from a course calibration. Optimization process is based on the comparison of scan data with the ground truth environment. Detailed account of the optimization process and suitability analysis of optimization objective function is described, and results are provided to show the efficacy of calibration technique. I. INTRODUCTION Sensors are an essential part of any mobile robotic system and play an important role in its motion and actions it performs. A very basic requirement for a robot to autonomously move in an environment is to accurately observe its surroundings. Different types of sensors are used for this purpose including cameras and laser scanners. Classically laser scanners consisted of a single laser which (or another part of the sensor) moved in different ways in order to observe the environment in 3D. But recently multiple-laser scanning systems are becoming common. Multi-laser scanning systems are very interesting for applications in autonomous mobile robotic systems because they can provide 3D information about their environments in realtime and therefore can efficiently be used for tasks such as environment modeling, obstacle detection, and SLAM. One of these systems is the Velodyne HDL-E S. It consists of lasers located on a spinning head which spins at a rate of 5 to 15 Hz and provides 3D data about its surroundings at a rate of 1 million points per second. Another such system is Ibeo LUX which scans its surroundings in four parallel layers. The performance of these scanners depends on their calibration. If the sensor is precisely calibrated it can observe its surroundings more precisely and thus can provide more exploitable data. For instance precise 3D data from an environment can easily be processed to extract line or planar features, whereas extraction of these features can be difficult, unreliable or impossible if the sensor is badly calibrated. A lot of work has been done on the calibration of cameras, multi-camera system and omni-directional vision sensors but calibration techniques for multi-laser sensors have not been investigated to that extent. Considering laser scanning systems [1] provide an excellent technique for calibration of a laser scanner fitted on a mobile robot. In [] a procedure for calibrating additive and proportional distance correction factors for a multi-beam laser scanner is described. [3] state CNRS; LAAS; 7 Av. du Colonel Roche, F-3177 Toulouse, France and University of Toulouse; UPS, INSA, INP, ISAE; LAAS; F-3177 Toulouse, France. {naveed.muhammad,simon.lacroix}@laas.fr the calibration of distance correction parameters for a multilaser scanner by comparing distance readings from a Sick lidar. This paper provides a technique for the calibration of a rotating multi-beam lidar. Optimization technique is employed to estimate the calibration parameters more precisely. Starting from a coarse calibration, data acquired by the scanner is compared to the ground truth environment to estimate precise calibration parameters. The paper is organized as follows: section II describes the sensor geometry, calibration problem, and the optimization based calibration process. Section III presents the implementation of calibration procedure and results. Section IV concludes and mentions related future works. A. Geometric model II. PROBLEM ANALYSIS This section presents the geometric model of lidar sensor that we used. The lidar is a Velodyne HDL-E S [] with lasers in a spinning head. The lasers are grouped in two blocks, with 3 lasers located in the upper block and remaining 3 in the lower block on lidar s spinning head. Lasers in each block are further divided into two groups of 1 lasers each, with one group located towards right and one towards left on the lidar head. Each of the lasers is characterized by five parameters that are required to convert the distance value returned by the laser to 3D point coordinates. These parameters are: Rotational Correction Angle α: angle made by laser beam with y-z plane. Vertical Correction Angle θ: angle made by laser beam with x-y plane, as shown in fig. 1. Distance Correction Factor D corr : value to be added in the distance returned by corresponding laser. Vertical Offset V offset : distance measured orthogonal to the laser beam, representing the distance of laser beam from origin in a vertical sense. Segment OA in figure 1 represents V offset. Horizontal Offset H offset : horizontal counterpart of V offset. Segment OB in figure represents H offset. As the lidar head spins, its current rotational angle is represented as φ. Each laser has a different value of α so we can define another angle β such that β = φ - α. In this way β represents the orientation of laser beam relative to the current rotational angle of spinning lidar head. Distance value returned by a single laser (D ret ) can be converted to a 3D point P with Cartesian coordinates (P x, P y, P z ) T expressed in lidar frame, using above five
7 -.//,) $1$.,35 *$'!+, : 9 -.//,)$ 1$+(35!"#$%&'() 7$1$+(35 * ' ())&*+ ","-(&./ 7"$"#$%& 5 / $! ","1%./ $!"#$%& 71$.,35 ' ())&*+","1%./ 7!# $! ","-(&./ "*$'!+, Fig. 1. Lidar unit s side view $"#$%& parameters and the current rotational angle of lidar head, using following equations: D = D ret + D corr (1) D xy = D cos(θ) V offset sin(θ) () P x = D xy sin(β) H offset cos(β) (3) P y = D xy cos(β)+h offset sin(β) () Fig.. Lidar unit s top view P z = D sin(θ)+v offset cos(θ) (5) Among the five calibration parameters D corr, α and θ are the most important. This is because of the fact that errors induced by bad calibration of these parameters in the precision of 3D coordinates of acquired data changes with the distance of scanned object/surface, whereas the errors induced by imprecise calibration of V offset and H offset do not vary with variation in the distance of scanned object. Therefore in this paper we concentrate on the calibration of D corr, α and θ for 1 out of lasers but the same principle can be applied to the calibration of other two parameters and remaining lasers. B. Problems with inaccurate calibration Like any other sensor if a lidar is not calibrated well, the data acquired by the sensor is also inaccurate. Inaccuracies in the acquired data can complicate further processing of data, extraction of landmarks to be used for SLAM for instance. Furthermore this can also result in inaccurate digital terrain maps etc. Fig. 3 shows one example of inaccurate calibration of our multiple-beam lidar. The figure shows segmented view of a planar surface placed at 3m distance from the lidar. Fig. 3. A planar surface, seen from front Each horizontal line in the scan shows the data from a single laser. One can see that the data from all the lasers are not aligned to form a rectangular planar surface, instead the data from different lasers are horizontally misaligned. This misalignment seems to be repeated between every two consecutive lasers which come from right and left sided blocks on the lidar head. Fig. shows another effect of inaccurate calibration. Figure shows the top view of a corner in a room. Ideally, if the calibration parameters for all lasers were accurate and the sensor had lower noise, as seen from top the walls should have looked much thinner and corners much sharper. C. Principle of calibration 1) Principle: The principle lying behind the calibration process is the optimization performed to adjust lidar s calibration parameters so that the 3D data acquired by lidar matches the ground truth (environment).
Fig.. Top view of a corner in a room From the sensor geometry described in section II-A we already have the knowledge to convert raw lidar data into 3D point cloud. An environment can be designed and created to acquire lidar data, which will then be converted to 3D point cloud data. The choice of environment depends on the sensor to be calibrated. The environment must also allow the selection/definition of a cost function which can be used to quantitatively compare the acquired 3D point cloud data and the real environment. This cost function should provide lower costs for better matches between computed point cloud and the real environment and vice versa. Another important requirement for the cost function is that for successful optimization of calibration parameters, the cost function should be sensitive to each one of them. In other words, varying the value of each calibration parameter should result in variation in the cost value provided by our cost function. With these conditions satisfied, starting with the initial estimates of calibration parameters, an optimization process can be performed to get precise estimates of the calibration parameters for each laser. ) Calibration Environment: Keeping in view the above mentioned criteria for the selection of a suitable environment, a.m wide planar wall on a flat surface was used as the calibration environment. The wall was scanned by placing the lidar at multiple distances and orientations from the wall. First the wall was scanned by aligning x axis of lidar s fixed frame to the wall, and moving the lidar at various distances ranging from 1 to 1m, and then by aligning lidar s y axis to the wall and moving it at various distances ranging from to m. More details are provided in section III. D. Cost/Objective function for optimization 1) Criteria for choosing the cost function: A cost function is required to perform the desired optimization process for the estimation of calibration parameters. This cost function must allow the comparison of 3D data acquired by the sensor and the ground truth environment. As described in section II-C.1 this cost function should provide higher costs if there is more difference between the acquired 3D data and ground truth environment, and similarly should provide lower costs as the match between acquired 3D data and real environment improves. Another and very important requirement for this cost function is that it should be sensitive to each one of the parameters to be estimated/optimized. It means that the cost provided by this function must vary when the values of the parameters to be optimized are varied, and of course this increase or decrease in the cost should be in accordance with the first criteria for cost function i.e. the cost should be lower for better matches between the acquired 3D data and ground truth and vice versa. Our choice of the cost function is described below followed by suitability analysis of the function for desired optimization to be successful. ) Chosen cost function: As the basic structure in our experiment environment was a plane (a wall), the cost function chosen for optimization was the variance of 3D data in the sense of plane s thickness. Ideally a plane scanned from the front must have zero thickness so this seems to be an intuitive choice for the cost function. When the wall was scanned with the lidar s fixed frame s y axis aligned to the wall, the cost for the current scan is the average squared perpendicular distance of x coordinate(p x ) of each point P to mean x coordinate of all the points in current scan. Mathematically this can be represented by: C y = Σ(P x,i P x,mean ) /n () where C y represents the cost of a scan when the wall was aligned to y axis of lidar s fixed frame, and n is the total number of points in the current scan. Similarly C x i.e. cost of a given scan when the wall was aligned to x axis of lidar s fixed frame is given by: C x = Σ(P y,i P y,mean ) /n (7) 3) Suitability analysis: The suitability of the defined cost function depends on the criterion that cost function is sensitive to the variation in each of the parameters to be optimized. As the cost function depends on the variance of x and y coordinates of 3D data, the suitability of chosen cost function can be ensured by finding the partial derivatives of P x and P y with respect to each of the three calibration parameters to be optimized i.e. D corr, α and θ. Non-zero partial derivatives ensure that cost function is sensitive to the corresponding calibration parameter. Using equations 3 and, required partial derivatives with respect to D corr are given as: P x / D corr = cos θ sin β () P y / D corr = cos θ cos β (9) From P x / D corr it is clear that the conditions that make the partial derivative equal to zero are θ = 9 and β =. This makes intuitive sense as θ = 9 means that laser is physically pointing upwards and in such a situation it is
impossible to scan a plane (wall) which is parallel to the laser. Similarly 𝛽 = means that the laser is parallel to the plane being scanned and therefore the laser would not hit the plane as long as 𝛽 remains 9. In our case the values for 𝜃 for all lasers in the lidar are much smaller than 9. And as the lidar rotates the value of 𝛽 is constantly changing and therefore we are never necessarily taking the scan while fixing the value of 𝛽 =. Similarly, the conditions that make 𝑃𝑥 / 𝐷𝑐𝑜𝑟𝑟 equal to zero are 𝜃 = 9 and 𝛽 = 9. As with the previous case, the condition 𝛽 = 9 does not pose any problem because the lidar is constantly rotating as we acquire the data. Therefore our chosen cost function is suitable to be used for the estimation of 𝐷𝑐𝑜𝑟𝑟 using optimization. Required partial derivatives with respect to 𝜃 are given by: 𝑃𝑥 / 𝜃 = 𝐷 sin 𝛽 sin 𝜃 𝑉𝑜𝑓 𝑓 𝑠𝑒𝑡 sin 𝛽 cos 𝜃 (1) 𝑃𝑦 / 𝜃 = 𝐷 cos 𝛽 sin 𝜃 𝑉𝑜𝑓 𝑓 𝑠𝑒𝑡 cos 𝛽 cos 𝜃 (11) The conditions which make 𝑃𝑥 / 𝜃 and 𝑃𝑦 / 𝜃 equal to zero are 𝛽 = and 𝛽 = 9 respectively. As with the case for 𝐷𝑐 𝑜𝑟𝑟, for the constantly rotating lidar, these partial derivatives remain non-zero for the type of 3D datasets that we are using. Therefore our chosen cost function is suitable to be used for the estimation of 𝜃 using optimization. Similarly it can be shown that our cost function is also suitable for the optimization of the third calibration parameter 𝛼, but its analysis is not being presented here for brevity s sake. 1 1 1 Fig. 5. view - -1 1 Three scans with wall aligned to x-axis of lidar s fixed frame, top III. I MPLEMENTATION AND R ESULTS A. Implementation The optimization was implemented using Matlab function 𝑓 𝑚𝑖𝑛𝑐𝑜𝑛 [5]. The dataset used for optimization consisted of six scans of the wall. For three scans, the lidar s fixed frame s 𝑦 𝑎𝑥𝑖𝑠 was aligned to the wall and scans were taken at, and m from the wall. For the other three scans, lidar s 𝑥 𝑎𝑥𝑖𝑠 was aligned to the wall and scans were taken at 1, 1 and 1m from the wall. This distribution of data over a range of distances is very important. Sufficiently distributed data is necessary to ensure the estimation of calibration parameters to be independent of any bias on a specific distance. Fig. 5 shows the top view of three scans (at 1, 1 and 1m) of the wall superimposed in a single plot. Fig. shows other three scans (at, and m) of the wall superimposed in a single plot. B. Results Optimization was performed starting from the default calibration data provided by the manufacturer. One way to quantitatively judge improvement in the optimized calibration parameters is to compare the standard deviations in the depth of planar data (i.e. the standard deviations of 𝑥 𝑐𝑜𝑜𝑟𝑑𝑖𝑛𝑎𝑡𝑒𝑠 of data points for datasets when the wall was aligned to 𝑦 𝑎𝑥𝑖𝑠 of lidar s fixed frame and vice versa) for default and optimized calibration parameters. Table I shows improvements in standard deviations for depth of planar data used for optimization... -. 1-1 - Fig.. Three scans with wall aligned to y-axis of lidar s fixed frame It is important to validate the optimized calibration parameters for data which was not used in the optimization process. Table II shows the improvement in standard deviations for depth of planar data when the wall was scanned from the distances of 1 and 1m and these sets were not used in the optimization process. It is worth mentioning that average standard deviation for depth of planar data for a single laser was found to be.5m. This indicates the noise in the sensor and is the lower bound for any optimization process that is performed to improve the calibration parameters for the sensor. C. Effect of using insufficiently distributed data for optimization If the data used for optimization is not sufficiently distributed in terms of distance, the resulting estimation of calibration parameters can be highly biased on the distance at which the data used for optimization was taken. Table III
TABLE I STANDARD DEVIATIONS (IN METERS) IN DEPTH OF PLANAR DATA m.73.9 m.31.3 m.19.1 1m.19.11 1m.191.17 1m.9.15 TABLE II STANDARD DEVIATIONS (IN METERS) FOR DATA NOT USED IN OPTIMIZATION 1m.15.13 1m.39.175 fitting step in the calibration process which will remove the obligation of scanning the planar surface by keeping it aligned to x or y axis of lidar s fixed frame. We also aim to work on the calibration of sensor in robot s frame and possibly simultaneous calibration of multiple sensors together. REFERENCES [1] J. Underwood, A. Hill, and S. Scheding, Calibration of range sensor pose on mobile platforms, in IEEE/RSJInternational Conference on Intelligent Robots and Systems, SanDiego (CA), USA, Oct. 7. [] P. Stone et al., DARPA Urban Challenge Technical Report, Austin Robot Technology, 7. [3] J. Bohren et al., Little Ben, The Ben Franklin Racing Team s Entry in the 7 DARPA Urban Challenge, Journal of Field Robotics, vol 5,, pp 59-1. [] Velodyne Lidar Inc., HDL-E S User s Manual, Velodyne Lidar, Inc. 35 Digital Drive, Morgan Hill, CA 9537,. [5] The Mathworks, Matlab Optimization function: fmincon, http://www.mathworks.com, 9, Website as at 15/9/9. shows the change in standard deviations in depths of planar data when only the dataset taken by placing the lidar at 1m from the wall was used for the optimization process. It is worth noticing that here for data at 1m, we have reached the maximum possible improvement in the estimation of calibration parameters (standard deviation with recalibrated parameters approaching.5m). But the important point here is that standard deviations for data at and m actually become worse as a result of biased optimization process. A. Conclusion IV. CONCLUSION AND FUTURE WORKS Laser scanners are becoming more and more useful in the field of robotics. With recent innovations like the multi-beam lidars providing rich and fast 3D scans of the environment, these sensors have a great potential for being employed on mobile robots and changing the ways these robots sense and act in their environments. As for any other sensor, precise calibration is very important for these sensors to be useful. We have presented a technique for precise calibration of a rotating multi-beam lidar, and the principle can be extended to similar sensors. The paper has presented how optimization can be employed to perform precise calibration starting from a course set of calibration parameters. B. Future works In near future we aim to make this calibration process more generic. Currently we are working on adding a plane TABLE III BIASED ESTIMATION OF CALIBRATION PARAMETERS m.73.31 m.31.335 m.19.151 1m.19.51 1m.191.71 1m.9.93