Open Access Paper
24 May 2022 A self-adaptive loop matching algorithm based on GA for 2D lidar SLAM
Honghao Zhao, Wenxing Zhu
Author Affiliations +
Proceedings Volume 12260, International Conference on Computer Application and Information Security (ICCAIS 2021); 122600D (2022) https://doi.org/10.1117/12.2637843
Event: International Conference on Computer Application and Information Security (ICCAIS 2021), 2021, Wuhan, China
Abstract
Simultaneous localization and mapping (SLAM) based on 2D lidar is the vital technology for indoor mobile robot mapping and navigation, and graph optimization has become a common method to solve this problem in the recent years. In graph-based SLAM, loop detection is a key step to obtain global pose constraints, and the real-time performance of this process ensures that the back-end optimization of the current frame can be completed smoothly before the arrival of the data for the next moment. However, due to the limitation of mobile robot's computing resources, when the global map reaches a certain scale, the success rate of loop detection which has a positive impact on the mapping accuracy will decrease with the number of loop constraints is directly proportional to the number of all poses. Therefore, we propose a self-adaptive matching method based on genetic algorithm (GA) to calculate the loop closure constraints between the current scan and each local map, so as to speed up the loop detection process. The experimental result shows that our method is superior to the traditional graph-based SLAM solutions in large scale map construction.

1.

INTRODUCTION

Indoor robot is an important research direction in the field of artificial intelligence. Environment perception, decision making and motion control are the basic steps for robot to realize intelligent operation. Simultaneous localization and mapping (SLAM) is the behavior that autonomous mobile robots use sensors to obtain the range information of the surrounding environment in an unknown scene for constructing the environment map while localizing. SLAM algorithms based on 3D lidar1 and multi-sensor fusion2 are research hotspots in the past few years, but 2D lidar makes 2D SLAM a good choice for indoor mapping3 because of its low cost and simple implementation.

Most of the early 2D SLAM methods are built map by direct matching, for example, reference4. Iterative closest point (ICP) is one of the most widely used algorithm, which finds the best pose transformation to align the two adjacent laser point cloud data by iterative solution, and the sum of the pose transformation at each time is the motion path of the robot. However, these methods can not eliminate the errors caused by the completed local matching, and the cumulative error will cause a significant drift when building large-scale maps.

Filter-based SLAM is based on the Bayes’ law, and can be expressed by the prior and posteriori probabilities. The Gmapping algorithms based on extended Kalman filter (EKF) and particle filter5 are the main branches of this method. In this algorithm, the particle filter needs to maintain the system state of each particle at each moment, which will cause generous computing consumption with the growth of map scale until it is unbearable.

The graph-based SLAM corrects the pose estimation of the robot by using the observation of the sensor. In this method, the trajectory of the robot is represented by the pose graph and the global pose is optimized according to all the constraint relations in the graph. In the widely used graph-based SLAM algorithms, such as Karto, the global loop constraints are usually obtained by correlative scan matching (CSM). CSM6 is a probabilistically motivated matching algorithm, which uses exhaustive search to find the optimal pose transformation with the highest response value in the search space. It also uses multi-resolution searching strategy and look-up table to speed up the searching process. This matching method improves the robustness of loop construction, but in the case of limited computing resources, the high time complexity will limit the number of loop constraints, which is especially obvious in large-scale map construction.

Genetic Algorithm is a kind of heuristic which can find the optimal solution in the global search space by genetic iteration in a short time and is not easy to fall into the local minima. GA is used in combination with SLAM in reference7,

which speeds up the optimization process of scan matching and improves the overall efficiency of SLAM. In this paper, we first give an overview and theoretical analysis of the graph-based SLAM system, and propose a self-adaptive loop matching method based on genetic algorithm for the back-end loop detection process of SLAM, which takes into account both the efficiency and accuracy of the matching process. We use the open source map data set for comparative experiments to verify the optimization effect of our algorithm in map construction.

2.

GRAPH-BASED SLAM SYSTEM

Our SLAM method uses 2D LiDAR to obtain the distance information of the surrounding environment, and uses odometer to provide pose estimation in advance. The whole SLAM system is functionally composed of two parts, the front-end and the back-end.

2.1

Front end of SLAM

The task of the front end of the SLAM system is to find the optimal pose estimation δ = (δxyθ) of the current frame in the local map, which includes the translation component (δx,δy) and rotation component δθ, and insert the laser scanning data to the maintaining local map. Through the correlative scan matching (CSM), we can combine the predicted values obtained by odometer with the observed values obtained by lidar to get the pose estimation at the current moment.

Correlative scan matching. Correlative scan matching is a scan-to-map matching algorithm which solve the problem in a probabilistic way. The goal of CSM is to find the optimal pose 00181_psisdg12260_122600d_page_2_1.jpg of the current frame in the local map that maximizes the probability of observing the objects. A rectangular area centred on the location estimated by the odometer is used to represent the possible extent of the final location. When matching begins, this region was exhaustive searched in (x, y, θ) windows for obtaining the location δ with the highest response value. M(p) is the probability function of the grid point in the local map, and Tδ is the transformation matrix of pose δ. The optimal pose 00181_psisdg12260_122600d_page_2_9.jpg can be computed by:

00181_psisdg12260_122600d_page_2_2.jpg
00181_psisdg12260_122600d_page_2_3.jpg

CSM also presents a multi-resolution searching strategy and uses lookup table that project the laser data in advance for better real-time performance, and specific theoretical details can be referred to Olson’s paper.

2.2

Back end of SLAM

With the passage of time, the measurement error of odometer and the calculation error of scan matching will gradually accumulate, which greatly reduces the mapping accuracy of the system. We can eliminate these errors as much as possible through global pose graph optimization and loop closure detection. Pose graph optimization can be formulated as a nonlinear least squares problem:

00181_psisdg12260_122600d_page_2_4.jpg
00181_psisdg12260_122600d_page_2_5.jpg

where x is the estimated pose of robot, and 00181_psisdg12260_122600d_page_2_6.jpg is the optimized pose. Ωk is the information matrix. The goal of graph optimization is to minimize the sum of ei(x) which represents the error between observations zi and predictions fi(x), it can be computed by:

00181_psisdg12260_122600d_page_2_7.jpg
00181_psisdg12260_122600d_page_2_8.jpg

Sparse pose adjustment (SPA) is used to solve the nonlinear optimization problem, and we use loop closure detection to detect loops which will be regarded as the observation constraints in the graph optimization problem. Traditional graph-based SLAM methods use correlative scan matching method to detect and compute the optimal loop closure constraints, it leads to a high quality of matching results at the cost of computation time which will cause the decrease of loop detection efficiency that benefit the global mapping accuracy. In order to speed up the matching process, we propose a GA-based self-adaptive matching strategy for the optimal poses in the relevant local maps.

3.

GA-BASED SELF-ADAPTIVE LOOP CLOSURE DETECTION AND MATCHING

3.1

GA-based matching approach

By speeding up the loop closure matching process at the back-end, the frequency of loop detection will increase, which can improve the mapping accuracy with more loop constraints when the global map grows large. We achieve this by using the detection and matching method based on Genetic Algorithm.

Determining the searching window. For the scan matching problem, we can use W as the search window, we set the linear and angular search window offsets Wx = Wy =8 m and Wθ = 30°. The linear search resolution is rt, so we can choose the angular search resolution rθ as:

00181_psisdg12260_122600d_page_3_1.jpg

where dmax is the maximum range of scan points. We can get the integral number of steps covering given linear and angular search window sizes:

00181_psisdg12260_122600d_page_3_2.jpg

Chromosome coding. We first expand the linear search space in two dimensions to one dimension for representation, i.e., converting set 𝒩 = {–nx, …, nx} × {–ny, …, ny} into linear index 00181_psisdg12260_122600d_page_3_3.jpg of one dimension, the range of 00181_psisdg12260_122600d_page_3_4.jpg is 0~2wx ‧ 2wy. Assume the coordinate of search centre is ε0 (x0, y0), we can get the linear index of point ερ (xp, yp) as:

00181_psisdg12260_122600d_page_3_5.jpg

And we use 00181_psisdg12260_122600d_page_3_6.jpg to represent the max value of 00181_psisdg12260_122600d_page_3_7.jpg, which is 2nx ‧2ny. In terms of the angular search window, angular index 00181_psisdg12260_122600d_page_3_8.jpg is created to represent the rotation component and the max value 00181_psisdg12260_122600d_page_3_9.jpg.

In the coding step, it is necessary to ensure that the chromosome can represent all the x, у and θ in the feasible solution for global optimization. Let the length of the chromosome be l = l1+ l2, where the length of the left part is l1and the length of the right is l2. In order to ensure that the genetic algorithm can reach any position of the feasible solution, the l1 and l2 must satisfy:

00181_psisdg12260_122600d_page_3_10.jpg

Fitness function. Response value Rv for scan matching is taken as fitness function in the GA, goali is the probability value of scan point pi, and goalmax is the max response value with all the scan points hit surrounding objects.

00181_psisdg12260_122600d_page_3_11.jpg

Genetic operator. Genetic operators include mutation operator, selection operator and crossover operator. The conventional roulette strategy is used for selection operation, and the two-point crossover is employed for crossover operation. The mutation operation adopts the basic position mutation method. Considering the discontinuity of the matching process, the crossover rate should be reduced and the mutation rate should be expanded, which can prevent the genetic algorithm from falling into local iteration.

Chromosome decoding. After chromosomes (i, j) = (i1i2il1,j1j2jl2) was obtained by crossover, mutation, and selection, the corresponding linear and angular index needs to be calculated from equations below, this is the decoding process of chromosomes.

00181_psisdg12260_122600d_page_4_1.jpg

3.2

Self-adaptive matching strategy

In the process of loop detection, GA-based matching method can significantly improve the matching efficiency. However, when the geometric structure of the surrounding environment of the robot is relatively simple, it is difficult to find a sufficient number of loops, at this time the accuracy requirement of loop matching is more important than its speed requirement. Genetic algorithm, as a global heuristic approach, has a higher optimization speed than exhaustive search. But this method can’t guarantee the final result to be globally optimal as exhaustive search. In view of the above situation, we make a compromise between matching speed and matching accuracy, and propose an adaptive matching strategy based on the expected number of loops to meet the actual needs of robots in different scenes. The actual number of loops at the current time can only be known after all the loop detection and matching are completed, and impossibly be calculated in advance. For this reason, we define the loop closure factor Ψ to estimate the degree of difficulty in loops detection. The loop closure factor Ψκ at the current time can be calculated by the following equation:

00181_psisdg12260_122600d_page_4_2.jpg
00181_psisdg12260_122600d_page_4_3.jpg

where Ci is the number of loop constraints at each time before the current moment, and its average value represents the preliminary prediction of the loop number at the current time. The loop gain η indicates the degree of geometric loop of the surrounding environment, which is essentially the ratio of mileage scalar to distance vector. dj is the measurement of odometer at each time, t0 is the translation component of robot pose at the beginning moment, and 00181_psisdg12260_122600d_page_4_4.jpg is the translation component of the estimated pose obtained by the front-end at the current time. In order to achieve self-adaptive matching in different environments, we set thresholds Ψ1 and Ψ2, where Ψ1 < Ψ2. If Ψ ≤ Ψ1, the value of loopback detection is beneath expectation, so we could complete the matching through CSM to ensure the matching accuracy. When Ψ1 < Ψ < Ψ2, we adopt a compromise of using exhaustive search in the rough matching stage of CSM and GA-based search in the fine matching stage. If Ψ ≥ Ψ2, only GA based matching method is used to find the optimal solution in the search space.

4.

EXPERIMENTAL RESULTS

In this section, we use the benchmark measure toolkit provided by University of Freiburg to compare our method to other 2D lidar algorithms. The benchmark evaluates SLAM algorithms by comparing the relative displacements of estimated poses with the corresponding ground truth relations which is manually aligned by hand. We use the Radish data set which contains several typical indoor maps (shown in Figure 1) to conduce our comparative experiment, and our SLAM system is running on an Intel i5-3230M CPU with a single thread for backend processing.

Figure 1.

2D map of intel research lab with manually aligned ground truth relations.

00181_psisdg12260_122600d_page_4_5.jpg

Table 1 shows the simulation results of comparing our algorithm with the traditional graph-based Karto SLAM. The errors contained in the tables are divided into translational and rotational, which can comprehensively evaluate these algorithms. And the same test of the Radish data set which is displayed in Table 2 evaluates our algorithm with the Gmapping SLAM. Whether compared with traditional graph-based SLAM or Gmapping based on particle filter, it can be seen from the simulation results in the tables that the GA-based algorithm has a certain improvement in error elimination and mapping accuracy.

Table 1.

Dataset test of the GA-based graph SLAM and Karto.

 Absolute translational (m)Squared translational (m2)Absolute rotational (deg)Squared rotational (deg2)
Aces building GA-based0.238 ±0.5330.411 ±2.3200.336 ±0.8291.056 ±4.714
Karto0.408 ±1.3251.604 ±7.0090.440 ±0.6830.874 ±3.295
Intel Lab GA-based0.165 ±0.4700.306 ±1.9241.253 ±2.8668.632 ±25.707
Karto0.207 ±0.8230.702 ±3.2041.875 ±3.83016.170 ± 83.348
MIT Killian GA-based0.249 ±0.6080.507 ±2.6920.357 ±1.4331.734 ±4.635
Karto0.350 ±0.7520.608 ±3.1590.755 ±2.5147.548 ±22.900

Table 2.

Dataset test of the GA-based graph SLAM and Gmapping.

 Absolute translational (m)Squared translational (m2)Absolute rotational (deg)Squared rotational (deg2)
MIT CSAIL GA-based0.226 ± 0.4820.384 ±1.8150.522 ±2.0544.732 ±12.788
Gmapping0.443 ±0.8792.175 ±8.0331.216 ±3.72414.915 ±77.362
Freiburg building GA-based0.328 ±0.8590.930 ±3.5560.921 ±3.71411.408 ±33.224
Gmapping0.507 ±1.0743.404 ±14.5381.030 ±2.7158.799 ±17.036
Freiburg hospital GA-based0.575 ±0.8361.255 ±3.8801.457 ±2.60210.575 ±52.016
Gmapping0.873 ±2.8258.239 ±34.3722.609 ±5.33034.152 ± 142.274

5.

CONCLUSIONS

In this paper, we give a systematic overview and theoretical analysis of the current mainstream graph-based 2D SLAM scheme and elaborate the corresponding functions and implementation of the front end and the back end of the SLAM system. Aiming at speeding up the loop detection process of back end, we propose an GA-based self-adaptive loop matching algorithm which can enhance the construction efficiency of loop constraints in the scenario with a large number of loops, and finally improve the global mapping accuracy. The simulation result shows that our algorithm outperforms the traditional graph-based 2D SLAM in large scale indoor environment.

ACKNOWLEDGEMENTS

This work is funded in part by the National Natural Science Foundation of China (Grant No.61773243), Major Technology Innovation Projects of Shandong Province (Grant No. 2019TSLH0203) and the National Key Research and Development Program of China (Grant No. 2020YFB1600501).

REFERENCES

[1] 

Liang, S., Cao, Z. Q., Wang, C. P. and Yu, J. Z., “A novel 3D LiDAR SLAM based on directed geometry point and sparse frame,” IEEE Robotics and Automation Letters, 6 (2), 374 –381 https://doi.org/10.1109/LSP.2016. Google Scholar

[2] 

Im, G., Kim, M. and Park, J., “Parking line based SLAM approach using AVM/LiDAR sensor fusion for rapid and accurate loop closing and parking space detection,” Sensors, 19 (21), 4811 (2019). https://doi.org/10.3390/s19214811 Google Scholar

[3] 

Liang, J., Iv, Q., Zhang, Y., Lin, H. C. and Wei, H., “A kinectV2-based 2D indoor SLAM method,” Artificial Intelligence, Automation and Control Technologies, 1 –5 (2017). Google Scholar

[4] 

Lu, F. and Milios, E., “Robot pose estimation in unknown environments by matching 2D range scans Journal of Intelligent and Robotic Systems,” 18 (3), 249 –275 (1997). Google Scholar

[5] 

Aristeidis, G. T., Emmanouil, G. T. and Loukas, P., “Topological based scan matching—Odometry posterior sampling in RBPF under kinematic model failures,” Journal of Intelligent & Robotic Systems, 91 (3-4), 543 –568 (2018). https://doi.org/10.1007/s10846-017-0730-3 Google Scholar

[6] 

Olson, E. B., “Real-time correlative scan matching,” in IEEE International Conference on Robotics and Automation, 4387 –4393 (2009). Google Scholar

[7] 

Tang, M., Chen, Z., and Yin, F. L., “An improved adaptive unscented FastSLAM with genetic resampling,” International Journal of Control, Automation and Systems, 19 1677 –1690 (2021). https://doi.org/10.1007/s12555-019-0997-1 Google Scholar
© (2022) COPYRIGHT Society of Photo-Optical Instrumentation Engineers (SPIE). Downloading of the abstract is permitted for personal use only.
Honghao Zhao and Wenxing Zhu "A self-adaptive loop matching algorithm based on GA for 2D lidar SLAM", Proc. SPIE 12260, International Conference on Computer Application and Information Security (ICCAIS 2021), 122600D (24 May 2022); https://doi.org/10.1117/12.2637843
Advertisement
Advertisement
RIGHTS & PERMISSIONS
Get copyright permission  Get copyright permission on Copyright Marketplace
KEYWORDS
LIDAR

Genetic algorithms

Environmental sensing

Back to Top