Towards Optimal 3D Point Clouds

Towards Optimal 3D Point Clouds

Automation in 3D Mobile Laser Scanning

Motivated by the increasing need of rapid characterisation of environments in 3D, the authors have designed a robot system that automates the work of an operator of terrestrial laser scanners. The built system makes it possible to work without markers or targets, saving surveyors more than 75% of the time spent in the field. Another impulse for developing the platform was the demand for a remote inspection tool. The robot is capable of surveying remote sites or danger areas, such as plants, underground mines, tunnels, caves or channels. The availability of the robotic platform further enables the study of mobile laser scanning systems. Now, the system is ready to do the work. This article details firstly the mobile robot and secondly the software solution. The software consists of automatic, high-precision registration programmes for terrestrial scans, i.e. bundle adjustment, and extension to mobile mapping, which requires precise calibration and trajectory optimisation. The algorithms do not rely on features at any point.

The Intelligent Robot for Mapping Applications in 3D (Irma3D) is a robotic mobile laser scanning system for automating terrestrial laser scanning and miniaturising mobile mapping. Scientific issues like automatic registration and calibration in a mobile laser scanning scenario have been explored. Irma3D is a small, lightweight, battery-powered, three-wheeled vehicle (Figures 1 and 2).

With a width of 52cm and an overall length of 65cm it is small enough to pass through narrow doorways. The three-wheeled design allows for a high manoeuvrability such that it can rotate on the spot. These properties make Irma3D ideally suited for indoor environments. However, the high-powered electrical two-active-wheel differential drive with a top speed of about 2.2m/s combined with the passive castor also make it capable of operating in moderately challenging outdoor environments. The robot is controlled remotely, either via a WLAN connection or through a gamepad. Irma3D can also be used in a fully autonomous mode. Once activated, Irma3D will attempt to explore its surroundings within preset limits and create a 3D map of the environment.

Dual use

As a laser scanner platform, it can be used as a mobile laser scanner, i.e. to acquire range measurements while moving through the environment. Alternatively, the robot can remain still when a 3D point cloud is acquired. This type of static laser scanning is called ‘stop-and-go scanning’. It is possible to create 3D models of the environment as detailed for mobile laser scanning. However, since the laser scanner is not operating while the robot is moving, more time is required in this mode to create equally large point clouds. This dual use of Irma3D is made possible by the 3D terrestrial laser rangefinder that it is equipped with. Without a 3D scanner that is able to freely rotate, Irma3D could not acquire 3D range images of its environment.

The robot Irma3D is a combination of several sensors, a mobile platform and a portable laptop for processing data and controlling the robot itself. The chassis of the robot is a modified VolksBot RT3 which has two front wheels. Each is actuated by an individual 150W motor. The motors are powerful enough to move the robot at a total maximum velocity of 2.2m/s. The third wheel is at the back of the chassis. It is swivel-mounted and thus completely passive as it follows the directions of the front wheels. The platform is powered by four lead batteries, 12V 7.2Ah. The chassis has a variable laptop mount that can fit any reasonably sized laptop. Currently Irma3D operates on a Samsung Q45 Samsung 12.1” laptop with the Intel Core 2 Duo CPU T7250. The laptop mount has been situated such that the laptop will rest above the control elements of the chassis (Figure 2). The physical dimensions of the VolksBot RT3 platform are 58cm × 52cm × 32cm with a weight of about 22kg. Most of this weight is from the lead batteries, each contributing about 2.5kg. By equipping the robot with a laser scanner and a camera, the height and weight increase accordingly.

For navigation and obstacle avoidance, the robot is equipped with a SICK LMS100. This 2D laser scanner is mounted at the front of the chassis and is facing forward, acquiring 2D range scans at a rate of 50Hz. To support a human operator controlling the robot is remotely, two small webcams of type QuickCam Pro 9000 by Logitech are also attached to the front of the chassis. The motors of the VolksBot are equipped with encoders to measure wheel rotations. This information is used to provide pose estimates of the robot via odometry. The pose estimates are improved using data from the IMU xSens MTi that is also attached to the robotic platform. The IMU is susceptible to magnetic interference and must be positioned away from strong magnetic fields to reduce erroneous sensor readings. Since the motors as well as the laser scanners generate magnetic fields, the IMU is fixed to the rear and bottom of the chassis.

The central sensor of Irma3D is the RIEGL VZ-400 3D laser scanner. The scanner is mounted on top of the VolksBot chassis. Attached to the top of the scanner is a Canon 1000D DSLR camera. After a 3D scan has been acquired, the camera is used to acquire colour information for the point cloud. A similar process is done using the thermal camera optris imager PI, which is also mounted on top of the scanner to acquire information about the thermal properties of structures in the point cloud. The RIEGL VZ-400 is able to freely rotate around its vertical axis to acquire 3D scans even when the robot is not in motion. It also returns so-called calibrated relative reflectance values as a correction for the influence of the distance to the surface.

High-precision Registration of Terrestrial 3D Scans

The basis of the software development is the well-known iterative closest point (ICP) algorithm. Given two 3D point clouds and a rough initial pose estimate, e.g. by the robot’s odometry, ICP iteratively revises the pose estimation (translation and rotation with 6 degrees of freedom) of the second scan. To do so, the algorithm selects the closest points between the two raw scans and minimises an error function. Current research in the context of ICP algorithms is mainly focusing on fast variants of ICP algorithms.

Pairwise ICP improves the scan pose estimates, but registration errors mount up when adding more scans. Simultaneous Localistion And Mapping (SLAM) algorithms use loop closings to minimise the extent of such errors. The recently presented globally consistent scan matching algorithm, which is a bundle adjustment solution for 3D scans, extends the ICP algorithm. The input is n point clouds and its output is improved pose estimates for all scans. In an ICP-like fashion, the algorithm iteratively calculates the closest points between all scan pairs as specified in the SLAM graph. Using these point pairs, an improved pose based on least square error minimisation is calculated. Figure 3 shows a scene in Horn, Austria, where the scans have been registered with ICP and its globally consistent extension. Notably, this algorithm does not require any feature extraction.

Automatic Calibration for Mobile Mapping

To acquire high-quality range measurement data with a mobile laser scanning system, the position and orientation of every individual sensor must be known. Algorithmic calibration methods of these systems are currently being developed, i.e. algorithms to establish the parameters that best describe sensor displacements based on the sensor data itself. In this process, parameters roughly measured with external instruments are fine-tuned automatically.

The state of the art in mobile mapping is: (1) For all sensors, determine the position and orientation on the vehicle (calibration), (2) Data acquisition, (3) Extract the trajectory of the vehicle from the sensor data (Kalman-Filter, etc.) (4) ‘Unwind’ the laser measurements with the trajectory to create a
3D point cloud. Unwinding means to compute the 3D point cloud based on the scanner’s range measurement, the current rotation of the scanning mirror, the trajectory and the calibration information.

The automatic calibration method follows these four steps, but the ‘unwind’ step is treated as a function. An error measure has been designed whereby the quality of the resulting point cloud is determined based on the 3D points. The used entropy is calculated from closest point correspondences very similar to the previously mentioned registration methods. It is possible to optimise for the position and pose of every sensor, i.e. performing automatic bore sight alignment, and for timing inaccuracies. Aside from sensor misalignment, a second source of errors are timing-related issues. On a mobile platform, all subsystems need to be synchronised to a common time frame. This can be achieved with pure hardware via triggering or with mixes of hardware and software like pulse per second (PPS) or the network time protocol. As the robot Irma3D is not equipped with a GPS clock or any central trigger mechanism, every sensor uses its own timer and the synchronisation is improved by the calibration procedure.

Semi-rigid SLAM for Trajectory Optimisation

Besides calibration, an even more significant source of errors is the incorrect positioning of the vehicle. Solving this problem requires approaches other than classical, rigid SLAM algorithms. An area that may provide a solution is the area of non-rigid registration. This approach optimises the point cloud using full 6D poses and is not restricted to a single scanner rotation. Instead, scan quality is improved globally in all 6 degrees of freedom for the entire trajectory. In an ICP-like fashion, this semi-rigid SLAM solution computes the closest point pairs and includes a timing threshold to prevent matching of consecutive scan slices. This way, a rotating scanner is not necessary for the algorithm to improve scan quality. This can be demonstrated on state-of-the-art mobile laser scanners.

Figure 4 shows results on a mobile mapping dataset acquired by RIEGL Laser Measurement Systems GmbH. A constantly spinning RIEGL VZ-400 laser scanner was mounted on a car roof rack. The only input was GPS data and the scans from the spinning laser. The top part depicts an overview and the system set-up. The middle part presents the initial 3D point cloud by unwinding the scans using the GPS trajectory. The bottom part shows the optimised point cloud.

Future Plans

To complete the acquired 3D point clouds, the plan is to equip a small unmanned aerial with a laser scanner and add scan points from a bird’s-eye perspective. Furthermore, the interpretation of the acquired data, i.e. semantic scene perception and understanding, is of interest.  

Further Information

Several programs for processing terrestrial laser scans are available under GNU public license within the ‘3DTK – The 3D Toolkit’ project at sourceforge (

For a comparison between a state-of-the-art mobile mapping solution with an Optech scanner and the semi-rigid SLAM: For more videos and animations of the robot:

For further information about the scanners: and


Geomatics Newsletter

Value staying current with geomatics?

Stay on the map with our expertly curated newsletters.

We provide educational insights, industry updates, and inspiring stories to help you learn, grow, and reach your full potential in your field. Don't miss out - subscribe today and ensure you're always informed, educated, and inspired.

Choose your newsletter(s)