Efficient Large-Scale 3D Mobile Mapping and Surface Reconstruction of an Underground Mine Robert Zlot and Michael Bosse
Abstract Mapping large-scale underground environments, such as mines, tunnels, and caves is typically a time consuming and challenging endeavor. In April 2011, researchers at CSIRO were contracted to map the Northparkes Mine in New South Wales, Australia. The mine operators required a locally accurate 3D surface model in order to determine whether and how some pieces of large equipment could be moved through the decline. Existing techniques utilizing 3D terrestrial scanners mounted on tripods rely on accurate surveyed sensor positions and are relatively expensive, time consuming, and inefficient. Mobile mapping solutions have the potential to map a space more efficiently and completely; however, existing commercial systems are reliant on a GPS signal and navigation- or tactical-grade inertial systems. A 3D SLAM solution developed at CSIRO, consisting of a spinning 2D lidar and industrial-grade MEMS IMU was customized for this particular application. The system was designed to be mounted on a site vehicle which continuously acquires data at typical mine driving speeds without disrupting any mine operations. The deployed system mapped over 17 kilometers of mine tunnel in under two hours, resulting in a dense and accurate georeferenced 3D surface model that was promptly delivered to the mine operators.
1 Introduction In April 2011, researchers at CSIRO were contracted to map several kilometers of the decline and drive at the Northparkes copper and gold mine in New South Wales, Australia. The mine operators were interested in moving large equipment underground for future operations. In order to do so, a 3D model of the decline and drive was essential to determine the level of disassembly of the equipment required
Autonomous Systems Laboratory, CSIRO ICT Centre, Brisbane, Australia e-mail:
[email protected]
1
2
Robert Zlot and Michael Bosse
(a) The vehicle and sensor cart during setup.
(b) The vehicle and sensor cart inside the mine.
Fig. 1: The vehicle and sensing hardware used for data collection. The plastic sheeting over the sensor cart was used to protect the hardware from mist spray used for dust supression in some sections of the mine.
to manage the clearances in the tunnels. The primary requirement was that the model must be locally accurate: drift in the data acquisition trajectory could largely be tolerated, as the most critical aspects were the negotiation of curves and changes in grade. Our research team at CSIRO had an existing relationship with Northparkes Mine based on previous work in automating an underground load-haul-dump vehicle [5]. More recently, our group has been investigating 3D SLAM in challenging environments, and in particular had developed solutions for mobile mapping in GPS-denied areas. Of particular relevance to the proposed mine mapping application, we had been working on a SLAM solution capable of estimating the six degree of freedom pose of a spinning 2D lidar while the platform on which it is mounted is continuously moving [1]. In its simplest form, this solution requires no more than the raw 3D lidar returns as input; however, the use of readings from an inertial measurement unit (IMU) can aid the solution to provide increased robustness and accuracy. Variants of our system had been deployed for mapping suburban streets, industrial environments, forests, caves [8], indoor spaces, and a small section of an underground coal mine. Over the course of these experiments and deployments, our system has been improved considerably in a number of ways, some of which are detailed in this paper. Three-dimensional mapping can play a highly critical role in underground mine development and maintenance, including planning, monitoring, safety, and vehicle localization; however, to date the existing 3D mapping and localization solutions are inefficient, labor intensive, or have not been demonstrated to be reliable, robust, and scalable. The predominant practice for lidar mapping of underground voids (such as mines, tunnels, and caves) is the use of tripod-mounted terrestrial scanners coupled with traditional survey methods to accurately estimate the scanner location [7, 9, 14, 16]. Several solutions using a mobile platform have been proposed in the robotics literature, but thus far these have predominantly been time-consuming “stop-and-scan” solutions where the platform must stop every few meters to ac-
Efficient Large-Scale 3D Mapping and Surface Reconstruction of an Underground Mine
3
quire a scan [6, 10, 11, 15, 17]. These examples have further been confined to small test areas in their respective mines or test environments; none of the approaches have demonstrated applicability to large-scale deployments of more than a few hundred meters. One exception is a deployment in the San Jose silver mine in Mexico, where a small tracked robot with a terrestrial scanner covered 2.2 km of the mine using a stop-and-scan strategy; however, the data acquisition reportedly required three and a half days1 . In contrast, above-ground mapping has been revolutionized by mobile mapping systems in recent years [12]. Such systems typically consist of high-accuracy lidars and tactical-grade inertial navigation systems mounted on the rooftop of a street vehicle. While the point clouds produced by mobile street mapping systems can be highly accurate and of large-scale, these systems heavily rely on maintaining a GPS signal (and are considerably expensive). Mobile mapping technology that can reliably operate underground in the absence of GPS would be ideal for similarly transforming the underground mapping field. Our work realizes such a system, and here we demonstrate its application to a real-world large-scale underground mine mapping scenario, which required only about one hour of driving to generate a dense and accurate 3D surface model over a 17.1 km trajectory. The contribution of this work is a SLAM solution that is able to map an underground mine in the time it takes to drive through it (up to maximum mine traffic speeds). We were able to reliably and accurately localize within and map more than 17 kilometers of the Northparkes mine in under two hours, and effectively in realtime2 . The hardware used to acquire the data was particularly minimal, making all of the setup, measurement, and teardown activities possible within only a few hours. The purpose of this deployment was not merely to demonstrate our technology, but to produce a 3D surface model to a particular specification for use by the mine operators for planning future operations. Our results surpassed the specified requirements and have been successfully delivered to the end customer. The remainder of this paper is organized as follows. In Section 2 we first describe the hardware used, followed by the steps required to generate a dense, accurate, and georeferenced 3D surface model of the mine decline and drive in Section 3. At each stage, the resulting solution up to that point is illustrated and analyzed. Conclusions and lessons learned are discussed in Section 4.
2 Hardware and Procedure The sensing platform used for mapping Northparkes Mine is illustrated in Figure 1. The primary sensor utilized was a SICK LMS291 2D lidar on a rotating mount which spins the laser about the central scanning ray at one revolution every two seconds. As the LMS291 only measures in a single plane, the additional degree 1 “Robot Scans Silver Mine”, Photonics.com, 6 May 2008, accessed 1 June 2012. http://www.photonics.com/Article.aspx?AID=33755 2 While we were not running our SLAM solution while acquiring data in the mine, we can process the data at a rate that is considerably faster than real-time.
Robert Zlot and Michael Bosse
900
900
895
895
y [m]
y [m]
4
890
890
885
885
880
880
40
45
50
55 x [m]
60
(a) Spinning laser
65
70
40
45
50
55 x [m]
60
65
70
(b) Vertical lasers
Fig. 2: Point densities of data acquired by the spinning lidar and the two vertical lidars (over approximately eight seconds), viewed from overhead. (a) The spinning laser’s scan density is uneven due to the orientation of the spin axis (pitched 25◦ from the vertical). As the vehicle drives, the scan rate is effectively higher on the side of the vehicle where the laser spins with the direction of vehicle motion. (b) The data from the vertical lasers are more evenly sampled, with the density depending on the vehicle speed. The small longitudinal gap is due to the blind spot between the two lidar units. The sporadic radial gaps are due to scans dropped by the LMS driver (discussed further in Section 3.5).
of rotation extends the sensor’s field of view to cover a hemispherical region each second. In our previous publication [1], a 3D SLAM algorithm is introduced which is capable of estimating the sensor’s 6DoF motion while the platform on which it is mounted moves continuously through an environment. For this application, we have also fixed a MicroStrain 3DM-GX2 MEMS IMU on the back of the spinning laser mount (i.e., the IMU does not spin with the laser). The IMU is utilized as an aiding sensor in the SLAM solution, providing additional robustness in rotation and globally eliminating drift with respect to the gravity vector. The lidar spin axis was pitched with respect to the horizontal in order to obtain some coverage above and in front of the vehicle. This configuration increases the reobservation of surfaces when at driving speeds, which is beneficial to the SLAM algorithm. The spinning laser and IMU were mounted on a steel-frame cart, which was adapted from a recent experiment in which we were evaluating the SLAM solution in an underground coal mine. Given the short turnaround time expected for the Northparkes Mine deployment, we concluded that a simple solution would be to strap the existing cart to the bed in the rear of a site utility vehicle (pickup truck), thereby eliminating the need for developing a vehicle mount and minimizing the setup time prior to data collection. In addition to the sensors, the cart also included batteries and electronics, as well as a laptop which ran the sensor drivers and recorded data using the Robot Operating System (ROS) [13]. In addition to the spinning laser, two fixed LMS291 lidars were mounted on the cart back-to-back with their scanning planes oriented vertically, covering a 360 ◦ field of view in a vertical plane. As the vehicle drove, these sensors were trawled across the environment, covering the mine surface with a more uniform sampling
Efficient Large-Scale 3D Mapping and Surface Reconstruction of an Underground Mine
5
density than the spinning laser (Figure 2). The data from these sensors were used for generating mine surface models given the trajectory solution from the SLAM algorithm. The configuration of the vertical lidars is illustrated in Figure 1. A small gap between the lidar scanning planes produces a 160 mm blind spot in the scanned surface. While this gap could be filled in with data from the spinning laser, it was not considered critical for the application and so was left empty in the final 3D models. With the cart strapped into the bed of the site vehicle, a Northparkes employee drove the vehicle through the desired trajectory down into the mine, and returned back up to the start location just outside the entrance. The width and height of the mine tunnels vary between 5 and 6 m. The vehicle was driven according to site regulations and within the speed limit of 30 km/h (typically 20 to 30 km/h). When encountering other vehicles, the driver briefly stopped to allow them to pass in order to both avoid mapping these vehicles into the surface model and to eliminate shadows due to the associated occlusions. Any points measured from these vehicles could be easily removed by ignoring any measurements taken with the vertical lidars while stationary. The entire data acquisition process covered approximately 17.1 km of drive in one hour and fifty-three minutes (including 45 minutes of stops for tag boards, ventilation doors, and equipment checks). Importantly, the entire mapping process was completed without any negative impact on mine operations. A mine survey shown in Figures 3d and 4d, based on reduced-level data provided by the mine operators, illustrates the layout of most of the area that was covered and provides ground truth for some of our processing phases.
3 Data Processing The acquired data are processed through a series of steps to produce the final surface model. First, an open-loop incremental scan-matching algorithm generates an initial estimate of the platform trajectory based on the spinning laser and IMU data. The initial trajectory is then corrected and georeferenced in two offline global registration stages. Finally a 3D surface model is reconstructed based on the resulting trajectory and scan data from the vertically-oriented lidars.
3.1 Initial Trajectory: Open-Loop SLAM An initial 6DoF sensor trajectory estimate was computed using an incremental scanmatching 3D SLAM solution. The solution is based on work we previously published [1], with several improvements and enhancements incorporated that have been developed since initial publication. The algorithm at each timestep is presented with data from at least two sweeps (half-revolutions) of the spinning lidar (referred to as a segment), and computes a smooth trajectory that best explains the lidar data. The trajectory segment window is shifted at each timestep by an amount less than or
6
Robert Zlot and Michael Bosse
equal to the segment length. For this application, we use a trajectory segment length of 2.3 seconds, and shift it by 0.7 seconds at each timestep. Initially, at the start of processing a segment, the true trajectory followed over the full duration is unknown. However, a rough prior trajectory can be estimated using a constant velocity model for the previously unobserved portion of the trajectory. The predicted trajectory is based on an assumed translational velocity from the end of the previous segment, and the rotational velocity measured by the IMU. The prior trajectory estimate is generally considerably inaccurate, and the associated point cloud can still be severely distorted. The goal of processing the current trajectory segment is then to solve an optimization problem to estimate a correction to the prior trajectory. The optimization is modeled as a linear system composed of a set of constraints of four types: surface match constraints, smoothness constraints, gravity constraints, and initial condition constraints. The system state solved for is a discrete set of corrections to the prior trajectory segment regularly sampled at fixed intervals. The surface match constraints are derived from reobservations of surface patches in the lidar measurements. An initial lidar point cloud estimate is formed based on the prior trajectory estimate. Though this point cloud is distorted, locally (i.e., over short time intervals) it is approximately correct much of the time. Therefore, we can compute rough local surface patch estimates (called surfels, and consisting of a position and surface normal) for which we can search for matches from other parts of the trajectory segment. The surfels are generated by decomposing space into a grid of cube-shaped voxels at multiple resolutions (plus a second grid shifted by half of a cell in each dimension at each resolution), and fitting an ellipsoid to the lidar points that fall within each voxel. For this application, we use voxel resolutions of 0.5 m, 1 m, 2 m, and 4 m. By limiting the maximum time interval of the points within each voxel, we can ensure minimal data distortion and associate an approximate trajectory sample given the surfel’s mean measurement time. For a particular voxel, the surfel position is taken as the centroid of the ellipsoid, and the surface normal is computed from the eigendecomposition of the second order moment matrix. Matches between the surfels are found using a kd-tree based approximate k-nearest neighbor search, where each vector in the search space is a weighted concatenation of the position and surface normal of a surfel. Each match constrains the relative pose between their corresponding trajectory samples. The smoothness constraints ensure that the trajectory is physically realistic by modeling physical limitations on linear and rotational accelerations. The gravity constraints globally reduce rotational drift that would bring the ‘up’ direction out of alignment with gravity (as measured by the IMU accelerometers after compensating for the estimated motion of the vehicle). The initial condition constraints ensure continuity across multiple trajectory segment windows by fixing the start point of the current segment. The various constraints are of the form Ax = b, where x is the state vector consisting of the corrections to the initial trajectory segment estimate at the samples. The system is solved as an iteratively reweighed least squares problem in an M-estimator framework, where the match constraints are weighted according to a Cauchy distribution to mitigate the effect of outliers. The entire optimization process is repeated
Efficient Large-Scale 3D Mapping and Surface Reconstruction of an Underground Mine
7
until convergence or a maximum number of iterations is reached, where in each iteration the surfels are first transformed according to the previous (improved) solution, new matches and other constraints are computed, and the new linear system is solved. To reduce the accumulation of drift errors over trajectory segment windows, the algorithm also maintains a set of surfels from past views that are no longer in the active window, from which additional match constraints are generated. The corresponding match constraints only contain terms for correcting the current observations (i.e., the trajectory corresponding to the fixed surfels is not further corrected). Views are occasionally saved at fixed distance intervals along the trajectory. A small constant number of fixed views is buffered (two in this application) in order to avoid unbounded growth in computation. Key differences from the solution described in the original publication [1] include: the use of an IMU as an aiding sensor (and the accompanying reformulation of the smoothness constraints); the trajectory segment is no longer separated into two well-defined halves (matches can be taken from any two distinct times); the use of fixed views; as well as many efficiency improvements that allow the system to run in real-time. The trajectory generated from this phase of the processing sequence is illustrated in Figures 3a and 4a. The time required to generate this solution (on a desktop computer with a 3.2 GHz Intel Xeon CPU) is 70 minutes, which is approximately 62% of the total data acquisition time. As expected, since the solution uses an incremental scan-matching technique, the resulting open-loop trajectory is affected by drift; however, given the scale of the trajectory, the accumulated drift is reasonably small. Note that there are two instances at which there are short gaps in the data (indicated in the figures), which is responsible for some of the largest apparent offsets in the visualization of the trajectory. These gaps occurred when an ethernet cable in the logging computer became disconnected. In each instance, the disconnection was noticed reasonably quickly, the driver was requested to stop, and the data logging soon recommenced (after approximately 25 seconds in the longest case). The open-loop trajectory simply continues from the last known location when the gaps occur; therefore, large instantaneous errors appear at these locations in the figures. These splits in the trajectory are repaired in the subsequent processing steps. The open-loop trajectory produced at this stage is locally accurate and would be sufficient for the purposes of the application (determining clearance for transporting equipment). Nonetheless, we decided to further improve the result by globally registering the data using the techniques presented in the sections that follow.
3.2 Loop Closure Given the open-loop trajectory, we next perform a global optimization that registers the surfaces that have been observed in multiple passes through the environment. For this procedure, we are able to apply essentially the same algorithm that is used
8
Robert Zlot and Michael Bosse
(a) Open-loop
(c) Registered with mine survey
(b) Closed-loop
(d) Mine survey
Fig. 3: Overhead views of the trajectory resulting from each of the stages of data processing. (a) The initial open-loop trajectory resulting from the online incremental scan-matching algorithm, colored according to elapsed time. Locations where sensor data briefly dropped out (see Section 3.1) are indicated by black circles in the upper right. (b) The trajectory after applying the first-pass global registration algorithm. The trajectory is colored according to the local translational stresses applied to correct the open-loop trajectory. (c) The trajectory resulting from the mine survey registration step. Seventeen anchor points are indicated by ⊗ symbols. Illustrated are the mine survey surface elements colored by the positional correspondence errors to the matched lidar point cloud surfels. The thin grey trajectory segments are areas we mapped that were not covered in the available mine survey data. The thin grey segment just east of the origin is outside the mine entrance. (d) The mine survey colored by elevation. (b), (c), and (d) are georeferenced in UTM coordinates, but offset here by a constant value in order to make the axis labels legible.
for generating the open-loop solution; however, instead of solving for a short trajectory segment over a few-second time window, we input the entire (nearly twohour-long) trajectory. In the same manner as above, surface elements are generated from the lidar point cloud; match, smoothness, and gravity constraints are formed;
Efficient Large-Scale 3D Mapping and Surface Reconstruction of an Underground Mine
(a) Open-loop
(b) Closed-loop
(c) Registered with mine survey
(d) Mine survey
9
Fig. 4: Side views of the trajectories from Figure 3. All colors, symbols, and axes follow the same conventions as in the previous figure.
and the resulting linear system Ax = b is solved in an iterative fashion. In addition to the standard constraints, constraints are introduced which encourage the local modifications to the original (open-loop) trajectory to be small. The global optimization algorithm is effective only when the initial trajectory is reasonably locally accurate, and has difficulties when the error between reobservations from different passes is large (largely due to the use of nearest neighbor search to identify surface matches). In this type of environment, perceptual aliasing can occur where different sections of tunnel are relatively close together in the initial solution, which can pull together incorrect matches. This effect is particularly troublesome given the difference in elevation between the downward and upward traverses of the lower decline (left side of Figure 4a), resulting in incorrect loop closures. A simple solution to this problem is to use a small number of anchor points, which are rough locations manually extracted from the 2D mine survey (e.g., at particular intersections) and associated with the times that the trajectory passed near these locations. The trajectory is first rigidly transformed to minimize (in a least squares sense) the distance between the anchor points and the associated trajectory locations. Constraints encouraging the trajectory to pass within 7 m of the anchor points at the appropriate times are also incorporated into the first few iterations of the global optimization. The anchor point constraints are relaxed after several iterations due to the fact that the exact time the anchor points were passed through, and the proximity of the trajectory to the anchor points, is not known precisely. Therefore, the anchor points are primarily used to help move the initial solution into the algorithm’s catchment basin, avoiding local minima. The inclusion of the anchor points also roughly georeferences the trajectory. Figures 3b and 4b illustrate the closed-loop trajectory resulting from the global optimization process. Computing the closed-loop trajectory required approximately
10
Robert Zlot and Michael Bosse
45 seconds for generating the surfels, and 3.3 minutes to run the optimization. At this stage, it is clear to see the resemblance to the mine survey shown in Figures 3d and 4d. In Figures 3b and 4b, the trajectory is colored according to the magnitude of the local translational corrections applied to the initial trajectory in order to arrive at the registered solution. The RMS of the local translational corrections is 1.8 cm/s, while the RMS of the local rotational corrections (not pictured) is 0.027 ◦ /s. We observe that some of the anchor points deviate from the trajectory due to the relaxation of the associated constraints in the final iterations of the optimization. Relaxing these constraints allows the surface match constraints to converge more freely, and the deviations are tolerable at this stage since they can be corrected in the next stage of processing.
3.3 Registration with Mine Survey As a final step in correcting the trajectory, we register our 3D point cloud to the available mine survey data. By doing so, we can more accurately georeference the result, and correct some of the finer-scale drift not accounted for in previous steps. The mine survey data is a set of 17942 points, which were previously acquired by surveyors collecting 2D scans throughout the tunnels of the decline and drive at variable local densities ranging from tens of centimeters to a few meters apart. We first preprocess the mine survey to extrapolate artificial surface elements given the 2D scan points. As the mine survey points are given as the tunnel outline at floor level, we can generate a wall surfel and floor surfel for every neighboring point pair (resulting in 35612 mine survey surfels). The location of a surfel are taken to be the average position of the associated point pair, while the normals are constructed under the assumption that the walls are vertical and floor is aligned with the tunnel slope. Registration to the mine survey can be performed using the same global optimization algorithm described above, but now using the mine survey surfels as a fixed view (as described in Section 3.1). Figure 3c and 4c shows the results after registering the closed-loop point cloud with the mine survey. This stage of the solution required 4.9 minutes of computation. We evaluate the quality of the match according to the positional error between the surfel center and the center of the corresponding lidar surfel measured along the surface normal (visualized by the coloration in the figures). Based on 78945 such correspondences (we allow up to three matches per surfel), the error distribution is observed to be normally distributed with a mean of 3 cm and standard deviation of 26 cm. Based on a visual inspection of the results, the largest outliers are believed to be in places where the mine survey is inaccurate, likely due to inaccuracy or alterations to the mine since the original measurements were taken.
Efficient Large-Scale 3D Mapping and Surface Reconstruction of an Underground Mine
(a) Typical decline view
11
(b) Ventilation doors and pipe
Fig. 5: Two views of the reconstructed surface model of the Northparkes Mine. (a) A typical section of the decline. The gaps on the floor and ceiling are due to the blindspot between the two vertically-oriented lasers. Electrical cables are seen along the left side wall. (b) A section of the mine including open ventilation doors and ductwork. Some long surface triangles are seen along the door frame where the surface is essentially parallel to the scanning plane.
3.4 Surface Reconstruction Three dimensional surface reconstruction of the mine was achieved by meshing the data acquired from the vertical lidars. The poses of the vertical lasers with respect to the spinning laser were calibrated by minimizing the error between the point clouds they produced in a small, representative section of the dataset. To avoid scan data bunching up in areas where the vehicle stopped, we filter out any scans acquired while the vehicle was moving below 20 cm/s. In addition to having a more uniform point density (Figure 2), it is considerably more straightforward to triangulate the points from the vertical lasers according to the scan manifold order. The spinning lidar data was not used here for surface reconstruction due the fact that a similar manifold-based triangulation of these points results in a non-orientable surface (topologically a real projective plane for each revolution of the mount)3 . Some preprocessing was undertaken to filter out returns from water droplets and mist, which was present in some sections of the mine to suppress dust. For this purpose, a 2D (in the scan manifold) mean filter was used to replace range values that deviated from their local neighborhood by a significant amount with the median range. Representative views of the reconstructed surface are pictured in Figure 5. The models appear to accurately represent the environment, with the exception of some long triangles connecting objects at occlusion boundaries (e.g., cables appear connected to walls). While a simple threshold-based removal of long triangles performs somewhat adequately in removing these connections, a more complex algorithm is likely required to more elegantly clean these artifacts. The resolution of the recon-
3
We have developed more complex volume-based methods for surface reconstruction from spinning lidar data [8]; however, for this application we decided a simpler point-based solution would be more accurate.
12
Robert Zlot and Michael Bosse
structed surface depends on the vehicle speed and surface geometry, but is roughly at 10 cm resolution at top speeds.
3.5 Other Technical Considerations Many other technical issues required consideration in order to produce a successful outcome. Selected issues and lessons learned from this deployment are highlighted below. Beam Divergence. Time of flight laser range scanners return a scalar range value for each measurement, which is typically assumed to be measured along an infinitesimally narrow ray. In reality, lidar beams can have a substantial footprint diameter, and neglecting to model the conical beam shape may have significant ramifications. The long-range, high incidence angle measurements that are typical in tunnel-like environments result in underestimates in range returns if a naive ray beam model is used. At sharp incidence angles, the leading edge of the beam footprint reflects from the surface earlier than the beam center. This effect becomes more significant at longer distances, since the beam footprint diameter grows linearly with range. The overall effect is that long, straight walls appear to bow inwards. In our example, since we had the spinning lidar predominantly focused on the ceiling, this bowing resulted in a pitch bias that caused the trajectory and tunnel map to arc (due to symmetry, the biases from the side walls cancelled each other out). We therefore adjust surfel positions according to a conical model for the LMS291, which has a beam divergence angle of approximately 0.7◦ . Timing. When using multiple sensors, timing is of critical importance. Any noise, latencies, or errors in the timing, directly contributes to errors in the point locations. Care needs to be taken to correct, smooth, calibrate, and synchronize timestamps to ensure that they are clean and accurate. One unexpected challenge we encountered was in the quality of the vertical laser data timestamps. We used the LMS driver from the SICK Toolbox [4] for data acquisition4 , and later discovered that the driver consumed more CPU than expected resulting in many dropped frames. Compounding the issue is the fact that the driver did not record any internal timing information from the sensor. Assuming a known sampling rate and that the received scans arrive in order, we were able to correct many of the timing irregularities; however, due to USB buffering overflows, there is occasionally some ambiguity in precisely which frames were lost. There are therefore some residual timing irregularities in the scan sequence that could not be eliminated (e.g., see Figure 2b). On-Board Diagnostics. Another device we had anticipated utilizing for additional robustness is an on-board diagnostics (OBD-II) sensor, which is able to read the 4 At the time we were in the process of switching our middleware from DDX [3] to ROS [13], and had not yet extensively field tested all of the drivers. We have since moved to using a version of the LMS driver from DDX (modified with ROS wrappers), which is considerably less CPU intensive and contains the necessary scan metadata required for robust timing.
Efficient Large-Scale 3D Mapping and Surface Reconstruction of an Underground Mine
13
vehicle speed and engine RPM directly from the on-board computer. The availability of speed data could assist in developing a better motion prior than the constant velocity model, which would be especially useful in case of any tunnel segments in areas lacking in surface normals along the tunnel direction. Unfortunately, the only site vehicle available for the data acquisition was slightly too old to have a compatible OBD port.
4 Conclusions Accurately mapping an underground mine is a challenging problem, given the lack of GPS coverage and the scale of the environment. We presented an approach which enabled us to map a traverse of over 17 km in a copper and gold mine in under two hours, producing a 3D surface model required by the mine operators for planning an major equipment transport activity. To our knowledge, the scale and efficiency of our data collection method is orders of magnitude beyond what had been demonstrated previously in the context of 3D mapping of underground mines, and our solution offers the potential for a new methodology to be adopted for rapidly generating maps of underground spaces. We plan to provide more details on our approach and further quantitative analysis of our results in a more comprehensive forthcoming publication. A video further demonstrating our results is available at http://youtu.be/QQeJ1xd_sOU. One limitation of the approach as presented here is the reliance on survey data to globally register and georeference the data (though this type of data would be available at operating mines). An alternative strategy for global registration is to use place recognition to identify reobserved surfaces in the environment. We have had success applying a regional point descriptor-based technique [2] to coarsely register the point cloud prior to running the global registration algorithm (though some surveyed points are still required to georeference the results and remove the drift accumulated when traversing long tunnels). General applicability to other types of mines and tunnels has also not yet been established. In particular, the surfaces in underground coal mines are typically much smoother, making it more difficult to track longitudinal motion along long tunnels where there is a lack of surface normals in the tunnel direction. Additional aiding sensors may be required in such scenarios. While the core of the 3D SLAM algorithm used for this application was originally developed more a year prior to the deployment [1], it is through fielding our systems in real conditions and applications that motivates the development of truly reliable, robust, accurate, and efficient implementations. We have applied the spinning lidar SLAM system to map a variety of environments including streets, forests, caves, industrial facilities, building interiors, and mines. The challenging scenarios presented by each new application inspire key extensions and modifications to the system. Investigating the specifics of each problem helps to develop the approach into a more general and robust solution.
14
Robert Zlot and Michael Bosse
Acknowledgements The authors would like to acknowledge Northparkes Mine and the CSIRO Minerals Down Under Flagship for their support and assistance. We also thank Paul Flick for hardware support and So Jung Yun for generating the surface model imagery and animations.
References 1. M. Bosse and R. Zlot. Continuous 3D scan-matching with a spinning 2D laser. In IEEE International Conference on Robotics and Automation, 2009. 2. M. Bosse and R. Zlot. Place recognition using regional point descriptors for 3D mapping. In Field and Service Robotics, 2009. 3. P. Corke, P. Sikka, J. Roberts, and E. Duff. DDX: A distributed software architecture for robotic systems. In Australasian Conference on Robotics and Automation, 2004. 4. J. C. Derenick, T. H. Miller, J. R. Spletzer, A. Kushleyev, T. Foote, A. Stewart, and J. Bohren. The Sick LIDAR Matlab/C++ Toolbox: Software for rapidly interfacing/configuring Sick LIDARs. Technical Report LU-CSE-08-008, Lehigh University Department of Computer Science and Engineering, 2008. 5. E. Duff, J. Roberts, and P. Corke. Automation of an underground mining vehicle using reactive navigation and opportunistic localization. In Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems, 2003. 6. N. Fairfield and D. Wettergreen. Evidence grid-based methods for 3D map matching. In IEEE International Conference on Robotics and Automation, 2009. 7. S. Fekete, M. Diederichs, and M. Lato. Geotechnical and operational applications for 3dimensional laser scanning in drill and blast tunnels. Tunnelling and Underground Space Technology, 25:614–628, 2010. 8. C. Holenstein, R. Zlot, and M. Bosse. Watertight surface reconstruction of caves from 3D lidar data. In Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems, 2011. 9. F. Lemy, S. Yong, and T. Schulz. A case study of monitoring tunnel wall displacement using laser scanning technology. In International Association for Engineering Geology, 2006. 10. M. Magnusson, H. Andreasson, A. N¨uchter, and A. J. Lilienthal. Appearance-based loop detection from 3D laser data using the normal distributions transform. In IEEE International Conference on Robotics and Automation, 2009. 11. A. N¨uchter, H. Surmann, K. Lingemann, J. Hertzberg, and S. Thrun. 6D SLAM with an application in autonomous mine mapping. In IEEE International Conference on Robotics and Automation, 2004. 12. G. Petrie. Mobile mapping systems: An introduction to the technology. GeoInformatics, 13(1):32–43, January/February 2010. 13. M. Quigley, B. Gerkey, K. Conley, J. Faust, T. Foote, J. Leibs, E. Berger, R. Wheeler, and A. Ng. ROS: an open-source Robot Operating System. In Proceedings of the Open-Source Software Workshop at the IEEE International Conference on Robotics and Automation, 2009. 14. H. R¨uther, M. Chazan, R. Schroeder, R. Neeser, C. Held, S. Walker, A. Matmon, and L. Howritz. Laser scanning for conservataion and research of African cultural heritage sites: The case study of Wonderwerk Cave, South Afrika. Journal of Archaeological Science, 36:1847–1856, 2009. 15. D. Silver, D. Ferguson, A. Morris, and S. Thayer. Topological exploration of subterranean environments. Journal of Field Robotics, 23(6/7), June/July 2006. 16. R. van Gosliga, R. Lindenbergh, and N. Pfeifer. Deformation analysis of a bored tunnel by means of terrestrial laser scanning. Image Engineering and Vision Metrology, 36:167–172, 2006. 17. U. Wong, A. Morris, C. Lea, J. Lee, C. Whittaker, B. Garney, and W. Whittaker. Comparative evaluation of range sensing technologies for underground void modeling. In Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems, 2011.