1. Introduction
With the development of mobile mapping technology, fast and high accuracy mapping and precise 3D modelling have become possible. Mobile mapping systems have become popular in many areas, such as cartography, autonomous vehicles, and virtual and augmented reality environments.
The main challenge for mapping the environment with a mobile mapping system is calculating the position and orientation of the LIDAR. Simultaneous Localization and Mapping (SLAM) based approaches are sometimes used in the literature for this purpose. In some approaches, only point cloud data from LIDAR is sufficient to solve this problem, while in others, additional sensor data is needed. Algorithms using only LIDAR data are based on matching the point cloud common features in the t-time with the point cloud features extracted from the t − 1 time. Algorithms that solve this problem using LIDAR and IMU receive the rotation and acceleration data of LIDAR from the IMU and create a point cloud.
Currently, different SLAM algorithms such as LOAM, A-LOAM, ICP, BLAM, and HDL Graph SLAM are used for 3D localization and mapping [
1,
2,
3,
4]. Mossmann F. and Stiller C. [
5] used Velodyne HDL-64E LIDAR combined with the ICP algorithm for producing precise maps. Hong et al. [
6] proposed a novel method, namely VICP, which enhances the ICP algorithm by updating the velocity for avoiding an accumulated tracking error during motion. They have stated that VICP provides more accurate tracking, especially for faster motion than the original ICP algorithms. Segal et al. [
7] combined the ICP algorithm with the local planar structure of the scans and named the new method Generalized-ICP. They have shown that in a range of both simulated and real-world experiments, Generalized-ICP increased the map accuracy. Minguez et al. [
8] offered a metric-based matching algorithm to estimate the robot planar displacement by matching dense two-dimensional range scans. They have improved the classical ICP method in robustness, precision, convergence rate, and computation time. Nüchter et al. [
9] used six degrees of freedom, namely x, y, and z coordinates and the roll, pitch, and yaw angles for localization and mapping of robots. They have combined ICP scan matching with a loop detection model. Yang et al. [
10] developed a real-time LIDAR inertial odometry system (RTLIO) to generate high precision and high-frequency odometry system for the feedback control of UAVs in an indoor environment. They stated that RTLIO could outperform ALOAM and LOAM by exhibiting a shorter time delay and greater position accuracy. Montemerlo et al. [
11] presented a FastSLAM algorithm that recursively estimates the full posterior distribution over robot pose and landmark locations yet scales logarithmically with the number of landmarks in the map. Wang et al. [
12] designed a mobile LIDAR scanning system for extracting the canopy morphology and tree crown parameters. They have integrated LIDAR with IMU and GNSS sensors.
BLAM is based on the loop closure algorithm and uses ICP as the point cloud matching method [
3]. For the loop closure algorithm to work in BLAM, the starting and ending points must be within the specified tolerance limits.
The LOAM algorithm presented in [
1] used both low drift and low computational complexity without high accuracy ranging or inertial measurements. The main principle of LOAM is dividing the simultaneous localization and mapping problem into two algorithms. One algorithm performs odometry to estimate the velocity, while another performs fine matching and registration of point cloud in real-time. The authors have stated that motion estimation drift can be fixed by integrating the loop closure methods.
A-LOAM is an Advanced implementation of LOAM, which uses the Eigen and Ceres Solver framework to simplify code structure [
2].
The Graph-based SLAM approach reduces raw sensor data to a simplified prediction problem [
13]. The HDL Graph SLAM is an advanced implementation of 3D Graph SLAM with NDT scan matching-based odometry estimation and loop detection [
14]. With the loop closure algorithm, HDL Graph SLAM provides the distribution of accumulated errors depending on the distance. It also supports GPS and IMU sensor data and can perform floor plane detection in indoor mapping applications.
With the Interactive SLAM algorithm developed by Koide et al. [
15], it is possible to correct the drifts manually or automatically in the 3D maps. Corrections can be made using loop closure algorithms in the data collected with any SLAM-based mobile mapping system. In addition, plane-based map correction techniques can increase position accuracy by reducing noise in the maps.
In this study, the performances of LOAM, A-LOAM, and HDL Graph SLAM algorithms in mapping studies applied in indoor and outdoor environments were tested, and the effects of loop closure and plane detection methods on the accuracies of maps were examined. Similar studies have been carried out on this subject; for instance, Sobczak et al. [
16] studied the accuracy of the Google Cartographer SLAM algorithm using the Velodyne VLP-16 sensor. Arshad and Kim [
17] studied deep learning-based methods for loop closure detection for visual and LIDAR SLAM. These authors consequently stated that the learning-based methods are computationally expensive, and their performance is dependent on the dataset used for training the network.
3. Experiments
In this study, 3D maps were produced with LOAM, A-LOAM, and HDL Graph SLAM algorithms in different environments such as long corridors, staircases, and outdoor environments. The effects of loop closure and plane detection methods on the accuracies of maps were examined by applying the interactive SLAM algorithm to resulting point clouds. Measurements were made with the mobile mapping system given in
Figure 1, and the obtained data were processed with LOAM, A-LOAM, and HDL Graph SLAM algorithms. To determine the effects of loop closure and plane detection methods, an interactive SLAM algorithm was applied to the point clouds, and the results were examined. For determining the accuracy of different SLAM algorithms in different environments, distance controls were made on the 3D maps, and the accuracy of the methods was determined.
3.1. Experiments in Long Corridor
Measurements made in an environment consisting of a long corridor were processed with LOAM, A-LOAM, and HDL Graph SLAM algorithms, and the resulting maps are given in
Figure 2.
When the results of the LOAM algorithm given in
Figure 2a,b are examined, there are significant odometry drifts in some regions in the long corridor environment. The deformation in the rectangular area marked in red in
Figure 2a is caused by odometry drift. The red lines in
Figure 2b represent the horizontal plane. Deviations from the horizontal plane are caused by odometry drift. The results of the A-LOAM algorithm given in
Figure 2c–e are consistent with the LOAM algorithm, and no odometry drift is detected in the 3D point cloud. In the HDL Graph SLAM results given in
Figure 2f,g, a minor odometry drift is detected in the middle section of the long corridor.
3.2. Experiments in Staircase
In order to determine the performance of SLAM algorithms in narrow spaces such as stairs, tests were carried out in the staircase environment with three different algorithms, and the results are given in
Figure 3.
The results given in
Figure 3a,b show that the LOAM algorithm has a very high odometry drift in the staircase environment. This caused distortions in the 3D map. A minimal amount of odometry drift was detected for the staircase environment in the A-LOAM results given in
Figure 3c,d. No odometry drift was observed in the HDL Graph SLAM results given in
Figure 3e,f. Thus, the HDL Graph SLAM algorithm gives more accurate results than other algorithms in the staircase environment.
3.3. Experiments in Outdoor Environment
Within the scope of this study, the final tests were carried out in the outdoor environment, and the resulting maps of the LOAM, A-LOAM and HDL Graph SLAM algorithms are given in
Figure 4.
When the LOAM results given in
Figure 4a,b are examined, it can be seen that there are significant drifts in the odometry and Z axis in regions with dense trees. According to the A-LOAM results given in
Figure 4c,d, there is a curve in the long building walls due to the odometry drift. In the HDL Graph SLAM results given in
Figure 4e,f, deformation is observed on the long building wall because of the odometry drift.
When all the results are examined, it is seen that the LOAM algorithm achieves partially satisfactory results. However, with an insufficient processing capacity of the computer, the data loss occurs in point clouds, causing odometry drifts. Because the processing capacity of the computer used in this study was not high enough, and because of the optimization problems of the LOAM algorithm, the odometry drifts have occurred in all point clouds in this study. More accurate results are obtained with the A-LOAM and HDL Graph SLAM algorithms than with the LOAM.
3.4. Loop Closure and Plane Detection
In this section, loop closure and plane detection methods of the interactive SLAM algorithm are applied to the results of A-LOAM and HDL Graph SLAM, and the effects of these methods are investigated. Although loop closure and plane detection methods were applied to both A-LOAM and HDL Graph SLAM results in this study, only A-LOAM results are shown in the figures below. The accuracies of both algorithms are given in the Results and Conclusions section.
Figure 5a shows the section with odometry drift in the outdoor environment. The point cloud corrected by the manual loop closure method is given in
Figure 5b.
Figure 6 shows the top and side views of the point cloud with odometry drift in the indoor environment and the point clouds corrected by the automatic loop closure method.
In
Figure 6c, the drift occurring predominantly in the direction of the Z-axis can be seen.
Figure 6d shows that the drift in the Z direction is substantially eliminated with the automatic loop closure method, but there is a curve, especially in the middle section. It is believed that this error, which occurs mainly in the long corridor environment, can be eliminated by applying the plane detection method after the automatic loop closure method.
Figure 6e is a side view of the corrected point clouds, following the ground and plane detection.
When the results are examined, it is seen that the curvature of the ground after the automatic loop closure algorithm is corrected by plane detection. In addition, since the perpendicularity was defined between the floors and the corridor, irregularities on the walls were corrected.
Top and perspective views of the corrected final 3D maps of the indoor and outdoor environments are in
Figure 7.
4. Results and Conclusions
In this study, to determine the accuracies of the A-LOAM and HDL Graph SLAM algorithms, the distances obtained in the final 3D maps were compared with their actual values, and the results are given in
Table 1 and
Table 2 for indoor and outdoor environments respectively. Actual values refer to direct on-site measurement results.
In
Table 3, mean error and standard deviation values of the results are given, indicating that the accuracy of the A-LOAM results is two times more accurate than HDL Graph SLAM results.
This study aimed to test the performances of different SLAM algorithms in 3D mapping studies in indoor and outdoor environments. Test results show that the LOAM algorithm was less accurate than the A-LOAM and HDL Graph SLAM algorithms in both indoor and outdoor environments. However, the LOAM algorithm may give better results with more powerful computer hardware. The processing times of both the A-LOAM and HDL Graph SLAM algorithms are approximately equal, depending on the size and level of detail in the studied area. However, in order to obtain high accuracy results with the LOAM algorithm, it is recommended that the processor capacity of the computer used should be at least Intel i7 or equivalent.
In addition, loop closure and plane detection methods were applied to the 3D maps obtained with A-LOAM and HDL Graph SLAM algorithms. It has been determined that the odometry drift, which occurred especially on long lines and long corridor environments, can be largely eliminated by manual and automatic loop closure methods. Also, it has been determined that the plane detection method after the automatic loop closure method improves the results significantly, especially in indoor environments.
Additional sensors such as IMU and GNSS were not used in this study. The SLAM algorithms could provide more accurate results with additional sensors; therefore, further studies should be conducted to evaluate these possibilities. In addition, the Velodyne VLP-16 LIDAR sensor was used in the mobile mapping system in the study. By increasing the number of sensors to 2, more points related to the measured environment will be included in the SLAM algorithms, and the resulting 3D map will be more accurate.