Abstract
Autonomous exploration is a key step toward real robotic autonomy. Among various approaches for autonomous exploration, frontier-based methods are most commonly used. One efficient method of frontier detection exploits the idea of the rapidly-exploring random tree and uses tree edges to search for frontiers. However, this method usually needs to consume a lot of memory resources and searches for frontiers slowly in the environments where random trees are not easy to grow (unfavorable environments). In this article, a sampling-based multi-tree fusion algorithm for frontier detection is proposed. Firstly, the random tree’s growing and storage rules are changed so that the disadvantage of its slow growing under unfavorable environments is overcome. Secondly, a block structure is proposed to judge whether tree nodes in a block play a decisive role in frontier detection, so that a large number of redundant tree nodes can be deleted. Finally, two random trees with different growing rules are fused to speed up frontier detection. Experimental results in both simulated and real environments demonstrate that our algorithm for frontier detection consumes fewer memory resources and shows better performances in unfavorable environments.
Introduction
With the continuous development of robotic technologies, robots, especially autonomous mobile robots, have been integrated into more and more fields of human society, which puts forward higher requirements for robotic autonomy. Autonomous exploration is a key step toward real robotic autonomy. It could map the environment independently and autonomously, which provides the basis for further operations of robots. Autonomous exploration is a key ability for many robots, such as inspection robot,
1
rescue robot,
2
survey robot,
3
and planet exploration robot.
4
Among various approaches for exploration, frontier-based methods
5
are most commonly used. Frontier means the boundary between the unknown area and the free area in the current map. By continuously navigating to frontiers, the robot can obtain more unknown environmental information with its onboard sensors. However, most frontier detection methods process the entire map data.
6
When the environment to be explored is large, the efficiency of those methods will reduce significantly. Those methods would also become inefficient in 3-D environments. To solve this problem, some researchers proposed exploration methods based on the rapidly-exploring random tree (RRT).
7
The RRT refers to sampling randomly in a certain area and forming tree edges and nodes through sampled points and their nearest valid tree nodes. By doing this repeatedly, it can form an integrated structure which is similar to a tree. At present, there are two ways of exploration based on the RRT. Using the modified RRT to generate paths for exploration,
8,9
so that robots can complete the task of mapping an environment through moving along these paths. However, due to the randomness of the tree’s growing process, it will cause robots to explore the same area many times and lose the advantage of maximizing the information gain through finding frontiers. Using the modified RRT to search for frontiers.
10
The idea is that if a tree edge falls on both the unknown area and the free area at the same time, the unknown point adjacent to the free area on this edge is a frontier point. However, as exploration proceeds, more and more tree nodes and edges need to be stored. A large number of tree nodes and edges and the tree’s unrestrained growing will increase the memory burden and reduce the efficiency and practicability of the algorithm. In addition, due to the tree’s slow growing in unfavorable environments which often exist in reality (such as floors containing many rooms and long corridors), the robot may not find frontiers for a long time.
In this article, a sampling-based multi-tree fusion algorithm (SMF) for frontier detection is proposed which also uses the idea of the RRT. 7 Firstly, we only maintain tree nodes but abandon tree edges after using them for detecting frontiers. At the same time, we allow the tree to grow across obstacles, which overcomes the disadvantage of its slow growing in unfavorable environments. Secondly, we propose a block structure to judge whether tree nodes in a block play a decisive role in frontier detection, so as to delete a large number of redundant tree nodes generated during exploration. This reduces memory consumption greatly. Finally, we fuse a global exploration tree (global tree) which keeps growing throughout exploration with a local exploration tree (local tree) which regrows every time it finds a frontier point. On one hand, we can make the global tree detect frontiers faster because useful local tree nodes are fused into the global tree. On the other hand, the global tree ensures that frontiers in the map can all be found. 10 The experiments show that our SMF consumes fewer memory resources and shows better performances in unfavorable environments. Figure 1 shows the contrast between the proposed SMF and the algorithm proposed by Umari and Mukhopadhyay 10 (hereafter called rapidly-exploring frontier detector (RFD)).

The upper part is a diagram of frontier detection using SMF. The red and purple points respectively represent global tree nodes and local tree nodes. The blue squares represent blocks. If there is a yellow point at the center of a block, it means the redundant global tree nodes in this block have been deleted. The green and red edges respectively represent global tree edges and local tree edges used to detect frontiers. The green points represent currently found frontier points. The lower part is a diagram of frontier detection using RFD. The blue and purple tree structure respectively represent the global tree and the local tree. SMF: sampling-based multi-tree fusion.
In summary, the main contributions of this article are: A novel frontier detection method based on the RRT is proposed, which can work well in unfavorable environments where classical random trees are not easy to grow. A block structure is proposed to identify the area where important tree nodes are located and to delete other redundant tree nodes, which can reduce memory consumption greatly. A global exploration tree (global tree) and a local exploration tree (local tree) are fused to speed up frontier detection. A lot of comparative experiments are carried out in both simulated and real environments to verify the effectiveness of our algorithm.
The rest of this article is organized as follows. In the second section, we discuss related works. The third section describes the proposed SMF. We validate performances of our SMF in both simulated and real environments in the fourth section and fifth section concludes the article.
Related works
Exploration means finding targets or paths so that robots can perceive unknown environmental information and map the whole environment in the constraint of time, path cost, energy consumption, and so on. Connolly 11 proposed the Next Best View (NBV) problem in 1985. The location where the most unknown scene information can be gained by a sensor was chosen as the NBV. González-Baños and Latombe 12 introduced the safe region concept to select the next robot position in order to maximize the expected information gain under the constraint that the local model at this new position must have a minimal overlap with the current global map. Vasquez-Gomez et al. 13 came up with more complex and sophisticated solutions of the NBV problem in 2014 by considering all the constraints of a reconstruction process.
Yamauchi 5 first proposed the concept of the frontier in 1997, which can be seen as an adaptation of NBV. 14 The frontier means the boundary between the unknown area and the free area in the current map. Edge detection in image processing was used to search for frontiers and the center of a frontier which was nearest to the robot would be regarded as the next navigation target. After that, many frontier-based exploration approaches have been used in single robot exploration 15 –17 and multi-robot cooperative exploration. 18 –22 However, edge detection used to search for frontiers will become inefficient when the map it processes is large. Keidar and Kaminka 6 proposed two methods to alleviate this problem: wavefront frontier detector (WFD) and fast frontier detector (FFD). WFD only detects frontiers in the known area of the map, thus avoiding processing the whole map. However, as exploration goes on, the known area that needs to be processed will become larger and larger. FFD processes sensor data every time it is obtained to search for frontiers. However, only when the robot obtains unknown environmental information, can new frontiers be extracted effectively from sensor data. Thus, it carries out many unnecessary calculations.
Frontier-based exploration approaches have also been used for 3-D environments. 14,23 –25 Adler et al. 23 created a dense watertight 3-D model of the real-world environment and the gaps which had remained throughout the mapping process were chosen as navigation targets. However, this method must establish a dense 3-D environmental model, which would occupy much resources. Heng et al. 24 used a stereo camera to establish a 3-D octomap of the environment and extracted frontiers from a 2-D slice of the 3-D octomap. But this method can only find frontiers of the fixed height in the 3-D octomap. Cieslewski et al. 14 extracted frontiers by finding free voxel grids neighboring unknown voxel grids in the 3-D octomap of the environment and the goal frontier was selected in a way that minimizes the change in velocity necessary to reach it. But this method need to process the whole 3-D octomap, which is computationally expensive especially when the 3-D octomap is large.
In contrast to the above frontier-based approaches, another way of exploration is to generate some candidate viewpoints or movement paths and then use the evaluation function to select the best one for perception. Sampling-based information gathering approaches are proposed based on this idea. Among them, methods based on the RRT 7 are popular. RRT is biased toward unexplored areas and can quickly cover a large subset of the configuration space, which makes it real-time capable even in 3-D environments. 26 Oriolo et al. 8 proposed the sensor-based random tree (SRT) exploration method based on RRT in 2004, which generated motion paths randomly in the safe area around the robot until the robot finally explored all areas. However, this method would generate a lot of unnecessary robot movements, which would cause the revisiting problem. Thus, methods aiming at improving the efficiency of SRT are proposed. 27 –29 Then, in 2017, Kim et al. 30 proposed a multi-robot cooperative exploration strategy based on SRT. Bircher et al. 9 used RRT to generate the most informative robot motion paths. They grew a certain number of tree branches and selected the first edge of the tree branch with the most unknown environmental information as the robot motion path. By doing this repeatedly, the robot can finally explore the whole environment. Due to the good performance of RRT in 3-D environments, the authors applied this method to the autonomous exploration in 3-D environments by using a quad-rotor unmanned aerial vehicle. Then, methods which also learn from the growing mode of RRT to generate robot motion paths are proposed. 31 –33 However, due to the randomness of RRT’s growing process, these methods lose the advantage of maximizing the information gain through finding frontiers.
Some researchers 34 –37 try to combine frontier-based methods with sampling-based methods to achieve better performances. Meng et al. 37 sampled viewpoints around frontiers and used a Fixed Start Open Travelling Salesman Problem (FSOTSP) solver to generate the optimal path passing through these viewpoints. Senarathne and Wang 36 extracted surface frontiers from the 3-D map and then sampled viewpoints around these surface frontiers. These methods can reduce the randomness of sampling by firstly extracting frontiers and then sampling around them. However, they all need an efficient algorithm for frontier detection especially in 3-D environments. In 2017, Umari and Mukhopadhyay 10 proposed the idea of detecting frontiers by using RRT. However, this method would occupy a lot of memory resources and the frontier detecting speed would be slow in unfavorable environments.
The algorithm for frontier detection proposed in this article is also based on the idea of RRT, but we fully realize the difference between functions of RRT used in searching for frontiers and in generating feasible robot motion paths. Thus we change the growing and storage rules of RRT. We do not save tree edges after using them for detecting frontiers. At the same time, when newly grown nodes and edges fall in the known area, even if they cross obstacles, we still regard these tree nodes as valid and retain them. Because the growing process of modified RRT does not need to avoid obstacles, frontier detection is sped up in unfavorable environments.
Sampling-based multi-tree fusion algorithm
Frontier detection using the modified RRT
As exploration goes on, more and more environmental information is obtained through on-board sensors and the environmental map Map would be constantly updated. The map model used in this article is the occupancy grid map. Map can be divided into the known area
In path planning, the growing process of the classical RRT begins with a starting point (root node)

The diagram of the growing process of the classical RRT in path planning. RRT: rapidly-exploring random tree.
In autonomous exploration, the idea of using RRT to search for frontiers is that if the tree edge falls on

The diagram of the frontier detecting process using the classical RRT. RRT: rapidly-exploring random tree.
However, we realize that the RRT in autonomous exploration is not used to generate feasible robot motion paths, it is only used to search for frontiers. Therefore, we change the tree’s growing and storage rules, as shown in Figure 4. We abandon all tree edges after using them to detect frontiers but only preserve tree nodes. In addition, because the search tree’s growing doesn’t need to avoid obstacles,

The diagram of the frontier detecting process using our modified RRT. RRT: rapidly-exploring random tree.
Block structure
Although we speed up the growing process of the RRT by changing the tree’s growing and storage rules, the number of tree nodes to be stored is still not effectively controlled. As time goes on, it will increase unbounded and the tree’s growing will become slower and slower. Thus, exploration cannot be done well especially in large-scale and 3-D environments.
We can find that the frontier detecting process using the RRT is similar to the propagation of water waves. This is because the random tree grows from the initial root node

Only blue external tree nodes are needed to search for frontiers and yellow internal tree nodes become redundant.
In order to identify external and internal tree nodes and delete redundant internal tree nodes, we propose a block structure which divides the map into square blocks of the same size, as shown in Figure 6. Valid tree nodes will fall in these blocks. If a block contains sufficient number (

Blocks are categorized into two categories:
As mentioned above, we delete the tree nodes in

When the number of tree nodes in
In this article, we divide the map area into
Multi-tree fusion
In RFD algorithm,
10
the global tree and the local tree are growing independently. The global tree keeps growing throughout the whole exploration. The local tree removes all its tree nodes and edges every time it finds a frontier point and then regrows from the current robot position. As we mentioned before, when the tree grows

The diagram of fusing purple local tree nodes in
Implementation details
Global tree algorithm
The global tree algorithm proposed in this article is shown in algorithm 1. The global tree keeps growing throughout the whole exploration and searches for frontiers using the modified RRT. At the same time, the block structure is used to delete redundant global tree nodes and local tree nodes are fused into the global tree to speed up the useful outgrowing of the global tree for frontier detection.
Global exploration tree.
In the global tree algorithm, we first need to initialize blocks’ flags and attribute values using the function
Local tree algorithm
The local tree algorithm proposed in this article is shown in algorithm 3. After finding a frontier or growing long enough, the local tree deletes all tree nodes for reset and starts to grow again from the current robot position. The local tree searches for frontiers using the modified RRT but does not obey the same block rules as the global tree does. The meaning of
Local exploration tree.
Analysis of parameter value
In the global tree, there are five important parameters: η,
Experiments and results
In order to verify performances of our SMF algorithm for frontier detection, we compare it with the frontier detection algorithm based on the classical RRT (RFD). 10 Our experiment video can be found at https://youtu.be/ck-srMisCis. For fair comparison with RFD, we use the same filter module, task allocation module, path planning module, and simultaneous localization and mapping (SLAM) module as used by RFD. 10 The proposed frontier detection algorithm itself is used as the frontier detection module. The frontier detection module is used to find frontier points in the map, the filter module is used to unify the adjacent frontier points into a central frontier point, the task allocation module is used to determine which frontier point should be assigned to the robot as the navigation target, the path planning module is used to find the feasible motion path to the designated navigation target, and the SLAM module is used to locate the robot and map the environment simultaneously during exploration. The above five modules constitute the whole robot exploration system, as shown in Figure 9, and each module can be modified individually to achieve better exploration performances. 10 For specific details, please refer to their paper 10

The diagram of the whole robot exploration system.
Experiments in simulation environments
In this article, gazebo is used to simulate robot exploration of unknown environments. Two simulation environments are built. The first simulation environment is about 300 m2, as shown in Figure 10. Figures 11 and 12 respectively represent the occupancy grid map model of Figure 10 using proposed SMF and RFD. The second simulation environment is about 240 m2, as shown in Figure 13. Figures 14 and 15 respectively represent the occupancy grid map model of Figure 13 using proposed SMF and RFD. The radius of the robot is 0.175 m. The maximum linear velocity of robot is 0.3 m/s. The maximum linear acceleration of robot is 0.05 m/s2. The laser’s scanning angle is 240° and its maximum detection range is 60 m. In Figures 11 and 14, the red points represent global tree nodes and the purple points represent local tree nodes. If there is a yellow point at the center of a block, it means that this block is

The first simulation environment.

The occupancy grid map model of the first simulation environment after exploration using proposed SMF. SMF: sampling-based multi-tree fusion.

The occupancy grid map model of the first simulation environment after exploration using RFD.

The second simulation environment.

The occupancy grid map model of the second simulation environment after exploration using proposed SMF. SMF: sampling-based multi-tree fusion.

The occupancy grid map model of the second simulation environment after exploration using RFD.
In simulation experiments, the global tree’s step length η in both our SMF and RFD is set to 1, 2, 4, 6, 10 m. Meanwhile,

The time contrast histogram of SMF and RFD in the first simulation environment. SMF: sampling-based multi-tree fusion.

The time contrast histogram of SMF and RFD in the second simulation environment. SMF: sampling-based multi-tree fusion.

The line chart of the number of tree nodes generated by SMF and RFD in the first simulation environment. SMF: sampling-based multi-tree fusion.

The line chart of the number of tree nodes generated by SMF and RFD in the second simulation environment. SMF: sampling-based multi-tree fusion.
Experiments in the real environment
In this article, a real environment was built with an area of about 170 m2, as shown in Figure 20. Figures 21 and 22 respectively represent the occupancy grid map model of Figure 20 using proposed SMF and RFD. The Turtlebot 2 is used as the mobile platform. The radius of the robot is about 0.25 m. The maximum linear velocity of robot is set to 0.65 m/s. The maximum linear acceleration of robot is set to 0.06 m/s2. A Lenovo 80Q4 laptop is used to process data and a Hokuyo UTM-30LX is used to perceive environmental information. The laser’s scanning angle is set to 180° and its maximum detection range is 30 m. In Figure 21, the red points represent global tree nodes and the purple points represent local tree nodes. In Figure 22, the blue tree structure represents the global tree and the purple tree structure represents the local tree.

The real environment.

The occupancy grid map model of the real environment after exploration using proposed SMF. SMF: sampling-based multi-tree fusion.

The occupancy grid map model of the real environment after exploration using RFD.
In real experiments, the global tree’s step length η in both our SMF and RFD is set to 1, 2, 3, 4 m. Meanwhile,

The time contrast histogram of SMF and RFD in the real environment. SMF: sampling-based multi-tree fusion.

The line chart of the number of tree nodes generated by SMF and RFD in the real environment. SMF: sampling-based multi-tree fusion.
Results analysis
As we can see from Figures 14, 19, and 24, the number of tree nodes needed to be stored in SMF converges to the range of formula (3), while the number of tree nodes needed to be stored in RFD increases linearly with time. Under the selected parameters, the number of tree nodes in SMF converges to less than 200 while it can reach more than 10,000 in RFD in the first simulation environment. The number of tree nodes in SMF converges to less than 150 while it can reach more than 12,000 in RFD in the second simulation environment. The number of tree nodes in SMF converges to less than 200 points while it can reach more than 1500 points in RFD in the real environment. Therefore, compared with RFD, our SMF greatly reduces the number of tree nodes needed to be stored during exploration, thus reducing memory consumption. As we can see from Figures 13, 18, and 23, our SMF spent about the same amount of time for exploration as RFD did in the first simulation environment and the real environment. But in the second simulation environment, the time our SMF spent in exploration was reduced to about half the time RFD spent. This is because that the classical RRT grows slowly in the second simulation environment (unfavorable environment), which causes long-time failure to find frontiers in the map. By contrast, we change the random tree’s growing and storage rules to overcome the disadvantage of its slow growing under unfavorable environments. In a word, our SMF greatly reduces memory consumption without affecting its performance. In unfavorable environments, our SMF can show a better performance than RFD does and only consumes little memory resources at the same time.
Conclusion
In this article, an SMF algorithm for frontier detection is proposed. Firstly, we allow the RRT to grow across obstacles in known area to overcome its slow growing in unfavorable environments. Secondly, we put forward a block structure and classify blocks into two categorizes (
In the future, we will focus on expanding our algorithm from 2-D environments to 3-D environments and improving task allocation module and path planning module to obtain better exploration performances.
Footnotes
Declaration of conflicting interests
The author(s) declared no potential conflicts of interest with respect to the research, authorship, and/or publication of this article.
Funding
The author(s) disclosed receipt of the following financial support for the research, authorship, and/or publication of this article: This work was supported by the National Natural Science Foundation of China (grant no. 61573091), the Fundamental Research Funds for the Central Universities (grant no. N182608003, N172608005), the Natural Science Foundation of Liaoning Province (grant no. 20180520006), and the State Key Laboratory of Robotics, China (grant no. 2018-O08).
