Frontier Detection and Reachability Analysis for Efficient 2D Graph-SLAM Based Active Exploration

09/07/2020 ∙ by Zezhou Sun, et al. ∙ 1

We propose an integrated approach to active exploration by exploiting the Cartographer method as the base SLAM module for submap creation and performing efficient frontier detection in the geometrically co-aligned submaps induced by graph optimization. We also carry out analysis on the reachability of frontiers and their clusters to ensure that the detected frontier can be reached by robot. Our method is tested on a mobile robot in real indoor scene to demonstrate the effectiveness and efficiency of our approach.

READ FULL TEXT VIEW PDF
POST COMMENT

Comments

There are no comments yet.

Authors

page 1

page 3

page 5

page 6

page 7

This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.

I Introduction

Among all the existing active exploration works, Yamauchi et al’s frontier-based method is a representative one [23], 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 [8] and GMapping [4] based on Rao-Blackwellized particle filters (RBPF) [2], 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 [5], 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 [3] [22] evaluate three representative methods (the Hector SLAM [8], GMapping [4], and Cartographer [5]) 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 [5], 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 [6] and its variants) graph-SLAM active exploration.

Fig. 1: An office map created by a mobile robot using our method. The red part corresponds to the submaps where frontier detection runs and the blue points are the navigation points generated by our clustering method. The blue line is the exploration trajectory of the robot.

Recently, a couple of active exploration methods were proposed [20] [19] 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 [13] 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 [16] [11]. 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 [23], 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 [7]. 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) [15] 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) [10]. The RRT detects sparse frontier points by randomly sampling and expanding in known space, such as [18].

Some articles focus on generating safe, reachable frontier points. [21] extracts safe and reachable areas in the map through Voronoi diagrams. [16] 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. [11] 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.

In addition, some clustering methods evaluate frontier point groups to improve exploration performance, such as the probability-density-

[18], histogram- [12] and semantic-information-based [17] clustering methods.

Iii Prerequisites

Iii-a Definitions

Occupancy labeling: Our labeling of grid map is the same as Yamauchi [23]. 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.

(1)

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.

Fig. 2: (a) is a submap composed of several continuous laser scans. The red points are local frontiers detected by the WFD on the submap. (b) shows how to perform stabbing query. According to the poses of the two submaps in the world coordinate system, we can calculate the corresponding position in submap of each local frontier point in submap . If the local frontier point in submap is still a local frontier point or an unknown point in submap , we consider this frontier point to be a global frontier point (e.g., the global map is only composed of two submaps). Otherwise it indicates that this frontier point is occluded in submap . We do the same query operation for the local frontier points in submap . After we query all the local frontier points of the two submaps, we find out the global frontier of the global map, as shown in (c).

Iii-B Cartographer

Cartographer is an open-sourced graph SLAM algorithm developed by Google

[5]. It builds submaps and optimizes the pose of all scans and submaps following Sparse Pose Adjustment (SPA) [9]. 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 [13] 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).

Fig. 3: (a) and (b) are submaps created by Cartographer before and after inflation, respectively. The red points are the detected frontiers by the WFD method, and black color represents occupied regions. It can be seen that there are many unreachable frontier points (yellow points in (b)) in (a) when the submap is not inflated. Detecting and trying to reach these frontier points are meaningless and wasteful. After we dilate the obstacle (see (b)), the unreachable frontiers cannot be detected by the WFD because of connectivity.

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

(2)

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).

Input:
 submaps_current_pose:
 submaps_previous_pose:
 submaps_previous_frontier:
 global_submap_bounding_boxes
 BFS_queue latest submap
 stabbing_query_queue latest submap
Output:
 submaps_current_frontier
1 while BFS_queue is not empty do
2       N POP(BFS_queue)
3       foreach  global_submap_bounding_boxes.Intersect() do
4             if DeviationExceedsThreshold(,,) is True then
5                   stabbing_query_queue
6                   BFS_queue
7             end if
8            
9       end foreach
10      
11 end while
12foreach  stabbing_query_queue do
13       stabbing_query_queue global_submap_bounding_boxes.Intersect()
14       StabbingQuery()
15 end foreach
16foreach  stabbing_query_queue do
17      
18 end foreach
Algorithm 1 The BFS method

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.

(3)

After stabbing query, we reset the accumulative pose change of submaps to (line 10).

Input:
 submaps_current_pose
 submaps_previous_pose
 submaps_previous_frontier
 submaps_cumulative_deviation
 global_submap_bounding_boxes
 stabbing_query_queue empty
Output:
 submaps_current_frontier
1 foreach submap  do
2      
3       if DeviationExceedsThreshold(,) is True then
4             stabbing_query_queue
5       end if
6      
7 end foreach
8foreach  stabbing_query_queue do
9       stabbing_query_queue global_submap_bounding_boxes.Intersect()
10       StabbingQuery()
11      
12 end foreach
13foreach  stabbing_query_queue do
14      
15 end foreach
Algorithm 2 The Direct method

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.

Fig. 4: We demonstrate the span of frontier detection (shown in red) in the DFD, the BFS and the Direct methods, respectively. The white parts indicate the areas where frontiers keep unchanged from last round. (a) the detection span of the DFD method. After each round of optimization, all submaps are involved for frontier detection. (b) shows the detection span of the BFS method. The frontier detection starts from the latest submap until the pose change of all intersecting submaps is less than a threshold. It ignores the cumulative pose change. (c) shows the detection span of the Direct method. It runs frontier detection in the submaps whose accumulative shift are larger than one pixel and the submaps that intersect with . Compared with the BFS method, it can detect submaps whose accumulative shifts exceed the threshold induced by multiple-round optimization.

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 [19]. 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, [18] uses the Mean-shift algorithm [1] and [14]

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.

Fig. 5: (a) shows the dense frontier points on the simulated map. The white part represents free space, the black part representing obstacle, the gray part representing the unknown area, the green point being the robot, and the red part being the dense frontiers. (b) shows the clustering results by applying the Mean-shift on the simulated map. The same color represents the same cluster. The blue points represent clustering results. (c) shows the clustering results of our method on this map. It can be seen that the disconnected frontiers are clustered into different clusters, and the navigation points are ensured to be reachable.

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.

Fig. 6: (a) the existing clustering methods can easily group the disconnected frontiers into the same cluster, making the clustering center unreachable. (b) If the clustering centers are set as the navigation points, they cannot be reached or observed either. (c) We set the frontier point closest to the robot as the navigation point of each cluster of connected frontiers.

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 [18]. 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.

Fig. 7: The E2-robot platform used for experiments.

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).

(a) Explore near cluttered office items
(b) Explore the corridor
(c) Explore the meeting room
(d) Small loop closure detected
(e) Large loop closure detected
(f) Explore new areas after the loop closure
Fig. 8: (a-f) show the active exploration map of the robot at different moments in the office scene. The white arrow in each figure represents the current position and orientation of the robot. The image in the upper left corner shows how the office scene looks from the perspective of the current robot position. The blue points represent the generated navigation points. The red part shows the span of frontier detection required by our method at the moment, and the blue line shows the robot’s exploration trajectory.

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 .

(4)

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.

(a) Office scene
(b) Total local frontier points of all submaps in the office scene
(c) Points to be updated for each round of optimization in the office scene
(d) Time spent on each round of optimization in the office scene
(e) Deutsches Museum dataset
(f) Total frontier points of all submaps in the museum scene
(g) Points to be updated for each round of optimization in the museum scene
(h) Time spent on each round of optimization in the museum scene
Fig. 9: Performance comparison of the three methods in the office and museum scenes.
(a) Frontier accuracy in the office scene
(b) Points to be updated with different threshold in the office scene
(c) Accuracy of the Direct method with different threshold in the office scene
(d) Frontier accuracy in the museum scene
(e) Points to be updated with different threshold in the museum scene
(f) Accuracy of the Direct method with different threshold in the museum scene
Fig. 10: (a)(d) show the accuracy comparison of the three methods in the office and museum scenes. (b)(e) show the performance comparison of different threshold of the DFD method in the two scenes. (c)(f) show the accuracy comparison of different threshold of the DFD method in the two scenes.

Vi conclusion

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.

References

  • [1] D. Comaniciu and P. Meer (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.
  • [2] A. Doucet, N. De Freitas, K. Murphy, and S. Russell (2000)

    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.
  • [3] M. Filipenko and I. Afanasyev (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.
  • [4] G. Grisetti, C. Stachniss, W. Burgard, et al. (2007) Improved techniques for grid mapping with rao-blackwellized particle filters. IEEE transactions on Robotics 23 (1), pp. 34. Cited by: §I, §I.
  • [5] W. Hess, D. Kohler, H. Rapp, and D. Andor (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.
  • [6] V. Ila, J. M. Porta, and J. Andrade-Cetto (2009) Information-based compact pose slam. IEEE Transactions on Robotics 26 (1), pp. 78–93. Cited by: §I.
  • [7] M. Keidar and G. A. Kaminka (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.
  • [8] S. Kohlbrecher, O. Von Stryk, J. Meyer, and U. Klingauf (2011)

    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.
  • [9] K. Konolige, G. Grisetti, R. Kümmerle, W. Burgard, B. Limketkai, and R. Vincent (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.
  • [10] S. M. LaValle (1998) Rapidly-exploring random trees: a new tool for path planning. Cited by: §II.
  • [11] X. Li, H. Qiu, S. Jia, and Y. Gong (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.
  • [12] A. Mobarhani, S. Nazari, A. H. Tamjidi, and H. D. Taghirad (2011) Histogram based frontier exploration. In 2011 IEEE/RSJ International Conference on Intelligent Robots and Systems, pp. 1128–1133. Cited by: §II.
  • [13] J. Oršulić, D. Miklić, and Z. Kovačić (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: Document, ISSN 2377-3774 Cited by: §I, §III-C.
  • [14] D. Puig, M. A. García, and L. Wu (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.
  • [15] P. Quin, A. Alempijevic, G. Paul, and D. Liu (2014) Expanding wavefront frontier detection: an approach for efficiently detecting frontier cells. In Australasian Conference on Robotics and Automation, ACRA, Cited by: §II.
  • [16] P. Senarathne and D. Wang (2015) Incremental algorithms for safe and reachable frontier detection for robot exploration. Robotics and Autonomous Systems 72, pp. 189–206. Cited by: §I, §II.
  • [17] C. Stachniss, O. M. Mozos, and W. Burgard (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.
  • [18] H. Umari and S. Mukhopadhyay (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.
  • [19] R. Valencia and J. Andrade-Cetto (2018) Active pose slam. In Mapping, Planning and Exploration with Pose SLAM, pp. 89–108. Cited by: §I, §IV-B.
  • [20] J. Vallvé and J. Andrade-Cetto (2015) Active pose slam with rrt. In 2015 IEEE International Conference on Robotics and Automation (ICRA), pp. 2167–2173. Cited by: §I.
  • [21] R. Wein, J. P. Van den Berg, and D. Halperin (2007) The visibility–voronoi complex and its applications. Computational Geometry 36 (1), pp. 66–87. Cited by: §II.
  • [22] R. Yagfarov, M. Ivanou, and I. Afanasyev (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.
  • [23] B. Yamauchi (1997) A frontier-based approach for autonomous exploration.. In cira, Vol. 97, pp. 146. Cited by: §I, §II, §III-A.