Among all the existing active exploration works, Yamauchi et al’s frontier-based method is a representative one , where robot creates an occupancy grid map of the surrounding unknown environment through a SLAM algorithm and performs frontier detection in the grid map to find the rest of explorable areas. Frontier detection refers to finding the boundary between an unknown area and a known region that is not occupied by obstacles in a map.
The efficiency of frontier detection depends on the type of the selected SLAM algorithm. In general, either a filtering-based or a graph-based SLAM method can be exploited for mapping in an active exploration framework. When using a filtering-based SLAM method, e.g., the Hector SLAM  and GMapping  based on Rao-Blackwellized particle filters (RBPF) , one can optimize the pose of the latest frame without changing those of the previous ones. Thus, the frontier detection step only needs to detect the frontiers induced by the latest frame, achieving a fast incremental frontier detection. In contrast, when using a graph-based SLAM method in active exploration, e.g., the Cartographer , each optimization step changes the poses of many (if not all) frames. Thus, one needs to re-detect all frontiers in many geometrically co-aligned frames, instead of only the ones in the latest frame.
Although frontier detection in a filtering-based SLAM active exploration is usually faster than that in a graph-based SLAM active exploration, a graph-based SLAM is generally more accurate than a filtering-based SLAM. Two recent articles   evaluate three representative methods (the Hector SLAM , GMapping , and Cartographer ) in terms of mapping and trajectory accuracy, and conclude that the Cartographer method is better than the other two for 2D laser SLAM. In addition, according to , the scan-to-scan matching in the key-frame based graph-SLAM methods can quickly accumulate error, while the scan-to-map matching in Cartographer can reduce error accumulation. Therefore, we choose Cartographer as our base SLAM module for more accurate mapping, although our method is applicable to a key-frame based (such as Pose SLAM  and its variants) graph-SLAM active exploration.
Recently, a couple of active exploration methods were proposed   by exploiting graph-SLAM for mapping. These methods iterates between mapping and frontier detection with evolving graph-optimization, and one needs to detect all frontiers in the updated global map. As map becomes larger, the time spent on frontier detection increases, making it hard to apply the existing frontier detection methods to large scenes. More recently, a dense frontier detection (DFD) method  was proposed, where the local frontiers of each submap are detected and reserved. After the global map is updated by co-aligning each submap, the reserved frontiers are evaluated whether they are still frontiers in global map. However, the DFD method is still costly because all reserved frontiers should be evaluated.
In our work, instead of evaluating all submaps, we only select those submaps whose pose change is larger than a certain threhold after graph-optimization. By our method, the computation cost of frontier detection is only up to 60.7 of the DFD method in small scenes and 40.03 in large scenes. In addition, some articles discuss whether the detected frontiers can be reached or not  . Frontiers can often be detected but cannot be reached due to narrow passage. Using these frontiers, robots could plan some invalid paths that can never be traversed, making active exploration very inefficient or even fail. Therefore, we analyze the reachability of local frontiers to ensure that the detected frontier must be reachable by robot. To make exploration efficient, clustering method is often used to reduce the number of frontiers. However, few articles notice that the commonly used clustering methods may undermine reachability of frontiers. Thus, we improve the clustering of frontiers to ensure that the obtained clusters of frontier are reachable.
The main contributions of this paper are as follows. 1. We propose an integrated active exploration method for 2D graph SLAM based on Cartographer. 2. We improve the state-of-the-art frontier detection algorithm in the graph-SLAM induced map. Our method reduces the cost up to 60.7 of the state-of-the-art method, with an error rate up to no more than 1‰ in our small dataset. In a public large dataset, our method reduces the cost up to 40.3 of the state-of-the-art method, with an error rate up to no more than 3‰. 3. We analyze and improve reachability of frontiers, and obtain reachable navigation points by proposing a clustering method to obtain the clusters of dense frontiers as navigation points, thus avoiding the potentially invalid path planning due to the unreachable navigation points.
Ii Related works
Yamauchi et al. proposed their seminal active exploration work based on frontier detection and tracing , where the grid map is divided into free, unknown, and occupied regions according to confidence, and the entire map is searched to find all frontiers.
Keidar proposed the Wavefront Frontier Detection (WFD) and Fast Frontier Detector (FFD) algorithms in . The WFD runs two Breadth First Searches (BFS) on the map. One searches outward from the robot’s location, until it encounters the first unknown space. The other starts from this unknown space, searching for continuous frontier. The WFD limits search space from whole map to free space. However, as the exploration area grows, one cannot expect the WFD to perform as fast as small scenes. The FFD only processes new laser readings in real time. It added frontier by processing adjacent scan points of the laser. The FFD can perform real-time detection by processing raw laser data, rather than the free space of the map. However, the FFD directly processes sensor data, so it cannot perform frontier detection on processed sensor information (such as expanding obstacles in the map or fusing multiple laser data).
The Expanding-Wavefront Frontier Detection (EWFD)  combines the ideas of the WFD and FFD, which searches new unoccupied areas instead of searching all free spaces like the WFD. Another kind of detection methods are called the Rapidly-exploring Random Trees (RRT) . The RRT detects sparse frontier points by randomly sampling and expanding in known space, such as .
Some articles focus on generating safe, reachable frontier points.  extracts safe and reachable areas in the map through Voronoi diagrams.  proposed Safe and Reachable Frontier Detection (SRFD) method to incrementally manage the obstacle inflation. It handles the change of the safe and reachable area caused by the addition and deletion of obstacles by processing the locally updated map data incrementally.  proposed a variant of SRFD called Safe and Reachable Frontier Detection Generator (SRFDG). Different from the previous work, it first generate new coarse frontier points by processing the new laser data, then combine the previous frontier points and the global topology map to refine those new coarse frontier points, improving the efficiency of generating safe and reachable frontier points.
Occupancy labeling: Our labeling of grid map is the same as Yamauchi . The -th row and -th column of the grid, , is labeled according to its occupancy probability
. The prior probability of each grid is set to 0.5.
Frontier: the set of all free grids adjacent to at least one unknown grid.
Submap: a small occupancy grid map composed of several consecutive laser scans (see Fig.2(a)). The poses of laser scans and frontier points contained in each submap are stored in a local coordinate system relative to the submap.
Global map: a fused occupancy grid map constructed by joining all submaps according to the relative pose obtained from the graph optimization (see Fig.2(c)). Since the relative pose between submaps changes after each optimization, the global map needs to be regenerated after each optimization.
Local frontier: the set of frontier points belonging to each submap (see Fig.2(a)).
Global frontier: the set of all frontier points of the global map (see Fig.2(c)).
Stabbing query: an operation used to evaluate whether a local frontier is a global one (Fig.2(b)). A local frontier points are considered as a global one if and only if it belongs to frontier or unknown state in all geometrically co-aligned submaps.
Cartographer is an open-sourced graph SLAM algorithm developed by Google. It builds submaps and optimizes the pose of all scans and submaps following Sparse Pose Adjustment (SPA) . It is supposed that the cumulative error in each submap is sufficiently small. Once the submap is constructed, graph optimization only optimizes the relative poses between the submaps and does not change the relative poses of the laser scans inside submaps. In our work, we set the map resolution to cm and each submap holds 70 laser scans.
Iii-C Dense Frontier Detection
The DFD  implements a real-time dense frontier detection algorithm embedded in graph SLAM based on the fact that the relative poses of laser scans in each submap remain unchanged. It detects dense frontiers in each submap once it is generated. These local frontiers are not affected by graph optimization. Then after each graph optimization, it performs stabbing query on the local frontiers of all submaps. To speed up the query, the stabbing query only checks the submaps whose bounding boxes intersect with each other.
Iv Our Methods
Iv-a Reachability of Frontiers
Previous works detect safe and reachable frontiers on a global map or global topology map. However, we only need to detect frontiers of the submaps. By Cartographer, cumulative error in each submap is negligible, and reachable frontiers detected in each submap are mostly still reachable after fusing submaps. Therefore, different from the DFD method, we first dilate the submap and then use the WFD to detect its frontier. The purpose is not only to detect local frontier, but to detect local reachable frontier, as shown in Fig.3. The inflation operation on the submap ensures that the robot can reach the detected frontier. The expansion radius should exceed that of the robot platform to ensure that the detected frontiers are reachable. For safety, we set an additional safety distance to avoid collision. In our work, because our robot platform has a radius of and we always expect the robot to keep a distance of away from obstacles, we set the inflation radius to grids (cm).
Iv-B Frontier Detection
The DFD method re-transforms and re-tests local frontiers of all submaps. In contrast, we perform frontier detection on those submaps with significant deviations caused by optimization. As shown in Algorithm 1, and represent the poses of the submaps before and after optimization, respectively. and represent the global frontiers before and after optimization, respectively. We use the subscript to represent the i-th submap and save the bounding-box of each submap in . In line 3, for any submap , () finds all submaps that intersect with according to the saved bounding-box. We perform the BFS starting from the latest inserted submap, , and search all submaps which intersect with . If the pose changes of these selected submaps exceed a threshold, we push these submaps into the BFS queue and stabbing-query queue (line 1-9). The poses of submaps and indicate their three parameters and (line 4), respectively. DeviationExceedsThreshold() is when
where , set to 8m, refers to our lidar’s detection range. Then we execute stabbing query on the submaps, , whose pose change exceeds the threshold and the ones that intersect with (line 10-13). For the submaps that do not exceed the threshold, we use the previously detected frontier instead (line 14-16). The frontier’s position we store are relative to the submap. Therefore, the coordinates of the previously detected frontier can be calculated directly from optimization-corrected submaps without introducing errors. Empirically, the threshold is set to cm (one pixel).
We notice that the BFS method only considers pose change caused by single-round optimization and ignores accumulative pose change induced by multiple-round optimization. Thus, to deal with this issue, we directly record the accumulative pose changes of all submaps after optimization each round and execute frontier detection algorithm on the submaps whose accumulative change exceed the threshold and the ones that intersect with (line 1-11), as shown in Algorithm 2. is used to store the accumulative pose change of all submaps. In line 2, and represent the plus and minus operation of the three parameters and , respectively.
After stabbing query, we reset the accumulative pose change of submaps to (line 10).
When the optimization process induces negligible pose change of submaps, frontier detection is usually triggered only in a small range. On the contrary, if the optimization process arouses significantly change in the pose of submaps (such as during a loop closure), frontier detection usually spans a large range of the map. Compared with the frontier detection of all submaps proposed by the DFD method, our method adaptively selects the span according to pose deviation of submaps, which makes frontier detection more efficient and flexible than the DFD method, as shown in Fig.4.
It should be emphasized that our method of adaptively selecting the span of frontier detection is not only applicable to Cartographer, but also to all key-frames based SLAM, such as active Pose SLAM . To do that, we only need to replace the local frontier detection for the submaps with that for the key-frame scans.
Iv-C Clustering Dense Frontiers into Navigation Points
The detected frontiers are mostly continuous and dense, and they are usually redundant for either path-planning or navigation purposes. Therefore, a clustering operation on the detected dense frontiers is applied to sparsify the frontiers. This can reduce the computational burden of sorting the priority of frontiers. Robot can choose some representative clustered points and set them as targets for exploration. Thus, we call these representative clustered points navigation points.
Generally, it is not robust to use random sampling or equi-distance selection of frontiers to generate navigation points, because this can miss small frontier segments. Most active exploration methods use basic clustering algorithms. For example,  uses the Mean-shift algorithm  and 
uses the K-Means method. However, previous works barely noticed that the exiting clustering methods may result in un-reachable frontiers. To deal with this issue, we make two improvements to clustering.
First, we notice that connectivity of frontier points is not taken into account by the existing frontier clustering methods. Disconnected frontiers make clusters difficult to reach, as shown in Fig.6(a). Fig.5(a) shows the dense frontier of the simulated map. We try the Mean-shift method to cluster the dense frontier of the simulated map (see Fig.5(b)). The frontier points of the same color represent that they are in the same cluster. It can be seen that some clusters contain disconnected frontiers. Mean-shift incorrectly clusters them into one and sets the location of clusters inside obstacle.
Due to the large number of frontiers, it is costly to check the connectivity of these points. Since our goal is to robustly disperse the dense frontier points instead of only clustering them. Thus, we check the connectivity of frontier points within each cluster generated by Mean-shift. We set both the unknown and known areas connected and only the occupied region can cause disconnection (see Fig.5(c)). If all the frontier points are connected, they can be clustered into one point. If there are multiple connected areas, each connected area is clustered into a point. As shown in Fig.5(c), the dense frontiers are correctly clustered and sparsified in terms of connectivity. The clusters obtained in this way not only conform to human intuition, but also facilitate robots to generate the exploration path.
Second, instead of setting the navigation point as the center of each cluster (see Fig.5(b) and Fig.6(b)), we set the frontier point closest to the robot in the connected area as the navigation point of each cluster of connected frontiers, as shown in Fig.5(c) and Fig.6(c). In this way, the navigation points are ensured to be safe and reachable.
After getting the navigation points, we sort them according to the distance from the robot and the proportion of the unknown area caround the point, which is the same as . We assign the navigation points with the highest priority to the robot. The robot drives to the target through the move-base module of ROS. Once the robot reaches the target or if the path planning from the robot to the target fails, the navigation point is updated in the sorted order.
V Experimental Results
V-a Mobile Robot Platform
Our experiment platform is an E2-robot, as shown in Fig.7. The robot is driven differentially by rear wheels and front wheels are auxiliary. It is equipped with a Hokuyo laser scanner (m range and field of view), an IMU sensor, and an on-board computer with an Intel i7 processor and 32GB RAM running ROS.
V-B Frontier Detection Results
As shown in Fig.8
, we show some moments of our robot’s active exploration process. Our robot is not disturbed by cluttered obstacles (tables, chairs or other office items), and can explore real office scenes robustly and autonomously. Based on our method, the span of frontier detection (red part) is always, except when a large closed loop is found, smaller than that of the DFD method (all exploration areas).
We record all data required for robot active exploration in our office scene as a rosbag. Then we test the DFD, the BFS and the Direct methods using our rosbag and the Deutsches Museum dataset, as shown in Fig.9(a)(e). The DFD program code we use is open sourced on GitHub by its author and we use the same parameters in all three methods. First, we compare the performance of the three methods in frontier detection. Fig.9(b)(f) show the numbers of all local frontier points detected by the three methods, respectively. It can be seen that there is a slight difference between them. Although the input data is exactly the same, due to the randomness of the algorithms, e.g., the Levenberg–Marquardt algorithm, the submaps created by Cartographer cannot guarantee complete consistency. But the difference between them is small enough. It does not affect the validity of our experiments.
Fig.9(c)(g) show the number of points that need stabbing query and (d)(h) show the time required for each optimization of the three methods. It can be seen that the calculation and the time required for the BFS and the Direct methods are significantly smaller than those of the DFD method. The Direct method is slightly slower than the BFS method. This is because it records the accumulative shifts, which may query more local frontier points than the BFS method. We reviewed all local frontier points to verify the accuracy of our method, as shown in Fig.10(a)(d).
We quantitatively compare the accuracy and performance of the three methods for the two scenes. In the office scene, the accuracy of the Direct and the BFS methods are higher than . The precision is more than 99.83 and the recall is more than . The performance is improved by .
where represents the number of optimization rounds. The and the represent the number of points that should be updated during each optimization by the two methods, respectively. Thus, we calculated the ratio of the area between the DFD and the Direct curves to the area between the DFD and the coordinate axis in Fig.9(c). Compared with the Direct method, the performance of the BFS method is of the Direct method. However, in some iterations, the BFS method generates a small amount of additional errors. We consider the performance of these two methods to be similar in small scenes.
In the museum scene, the accuracy of the Direct method is more than , and the precision being more than and the recall being more than . The performance of the Direct method is improved by . As the scene grows, the performance of the Direct method can be significantly improved, but introducing of a very small amount of errors. The performance of the BFS method is of the Direct method. Compared with the Direct method, the BFS method has only a small improvement in performance, but it brings a lot of error detection. Therefore, we do not recommend using the BFS method in large scenarios. I
We also discuss the effects of different threshold values, as shown in Fig.10(b,c,e,f). We set the thresholds to cm and cm, respectively. It can be seen that, with the increase of the threshold value, there is only a small improvement in performance, but a large error is introduced accordingly. This is especially noticeable in the large museum scene.
In this paper, we present an integrated active exploration method for 2D graph SLAM based on efficient frontier detection and robust reachability analysis.
Compared with the state-of-the-art frontier detection method in the graph-SLAM, our method uses the feedback information of the graph optimization process to improve the performance of frontier detection.
Through reachability analysis of the frontiers and their clusters, we assign a more robust explorable target to the robot, so that active exploration can be applied to real complex scenes with various obstacles.
-  (2002) Mean shift: a robust approach toward feature space analysis. IEEE Transactions on Pattern Analysis & Machine Intelligence (5), pp. 603–619. Cited by: §IV-C.
Rao-blackwellised particle filtering for dynamic bayesian networks. In
Proceedings of the Sixteenth conference on Uncertainty in artificial intelligence, pp. 176–183. Cited by: §I.
-  (2018) Comparison of various slam systems for mobile robot in an indoor environment. In 2018 International Conference on Intelligent Systems (IS), pp. 400–407. Cited by: §I.
-  (2007) Improved techniques for grid mapping with rao-blackwellized particle filters. IEEE transactions on Robotics 23 (1), pp. 34. Cited by: §I, §I.
-  (2016) Real-time loop closure in 2d lidar slam. In 2016 IEEE International Conference on Robotics and Automation (ICRA), pp. 1271–1278. Cited by: §I, §I, §III-B.
-  (2009) Information-based compact pose slam. IEEE Transactions on Robotics 26 (1), pp. 78–93. Cited by: §I.
-  (2012) Robot exploration with fast frontier detection: theory and experiments. In Proceedings of the 11th International Conference on Autonomous Agents and Multiagent Systems-Volume 1, pp. 113–120. Cited by: §II.
A flexible and scalable slam system with full 3d motion estimation. In 2011 IEEE International Symposium on Safety, Security, and Rescue Robotics, pp. 155–160. Cited by: §I, §I.
-  (2010) Efficient sparse pose adjustment for 2d mapping. In 2010 IEEE/RSJ International Conference on Intelligent Robots and Systems, pp. 22–29. Cited by: §III-B.
-  (1998) Rapidly-exploring random trees: a new tool for path planning. Cited by: §II.
-  (2016) Dynamic algorithm for safe and reachable frontier point generation for robot exploration. In 2016 IEEE International Conference on Mechatronics and Automation, pp. 2088–2093. Cited by: §I, §II.
-  (2011) Histogram based frontier exploration. In 2011 IEEE/RSJ International Conference on Intelligent Robots and Systems, pp. 1128–1133. Cited by: §II.
-  (2019-10) Efficient dense frontier detection for 2-d graph slam based on occupancy grid submaps. IEEE Robotics and Automation Letters 4 (4), pp. 3569–3576. External Links: Cited by: §I, §III-C.
-  (2011) A new global optimization strategy for coordinated multi-robot exploration: development and comparative evaluation. Robotics and Autonomous Systems 59 (9), pp. 635–653. Cited by: §IV-C.
-  (2014) Expanding wavefront frontier detection: an approach for efficiently detecting frontier cells. In Australasian Conference on Robotics and Automation, ACRA, Cited by: §II.
-  (2015) Incremental algorithms for safe and reachable frontier detection for robot exploration. Robotics and Autonomous Systems 72, pp. 189–206. Cited by: §I, §II.
-  (2006) Speeding-up multi-robot exploration by considering semantic place information. In Proceedings 2006 IEEE International Conference on Robotics and Automation, 2006. ICRA 2006., pp. 1692–1697. Cited by: §II.
-  (2017) Autonomous robotic exploration based on multiple rapidly-exploring randomized trees. In 2017 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), pp. 1396–1402. Cited by: §II, §II, §IV-C, §IV-C.
-  (2018) Active pose slam. In Mapping, Planning and Exploration with Pose SLAM, pp. 89–108. Cited by: §I, §IV-B.
-  (2015) Active pose slam with rrt. In 2015 IEEE International Conference on Robotics and Automation (ICRA), pp. 2167–2173. Cited by: §I.
-  (2007) The visibility–voronoi complex and its applications. Computational Geometry 36 (1), pp. 66–87. Cited by: §II.
-  (2018) Map comparison of lidar-based 2d slam algorithms using precise ground truth. In 2018 15th International Conference on Control, Automation, Robotics and Vision (ICARCV), pp. 1979–1983. Cited by: §I.
-  (1997) A frontier-based approach for autonomous exploration.. In cira, Vol. 97, pp. 146. Cited by: §I, §II, §III-A.