Professional Documents
Culture Documents
Local Map-Based Exploration
Local Map-Based Exploration
Local Map-Based Exploration
This paper describes a local map-based exploration strategy. Segmented frontiers and relative transformations constitute a tree
structure. This frontier tree structure, which manages multiple local maps, effectively overcomes the limitations of conventional
exploration methods, which maintain only a single global map. Although this method uses only local maps and adjacent node
information, mapping completion and efficiency can be improved greatly by merging and updating the frontier nodes. In addition, a
modified breadth-first search (BFS) algorithm is used to determine the next exploration target. BFS exploration is appropriate for
large environments because it induces a loop-closing event from the root node, which is necessary to recover the estimation accuracy
when the uncertainty of the robot’s pose has become large. The proposed local map-based BFS exploration can construct an accurate
map, even in large environments.
Manuscript received: December 3, 2014 / Revised: May 25, 2015 / Accepted: June 30, 2015
1. Introduction the grid map, which is updated using the current robot position, so the
resulting grid map is affected by the localization accuracy. However,
Exploration is the process of determining a target position to move the uncertainty of the robot’s position increases with the distance the
to next to achieve efficient mapping. A number of approaches to this robot travels before loop-closing occurs, which means that the robot
process have been reported, and they can be categorized according to returns to a previously explored area.11 If the grid map is updated with
the method by which the environment is represented. The environment respect to the uncertain position, the quality of the resulting map will
can be represented as structured geometric features,1,2 using a graph,3-6 not be sufficient to obtain accurate frontier information. This problem
or using occupancy grids.7,8 Among these approaches, the frontier-based is crucial for mapping large, complex environments. Although the
method using a grid map has become a popular basis for exploration. algorithms developed to date12-14 consider the expected uncertainty of
Frontiers are defined as regions on the boundary between empty the estimated position of each frontier candidate during exploration,
(i.e., explored) and unknown (i.e., unexplored) areas.8-10 In frontier-based they do not include a strategy for managing the previously constructed
exploration, when frontiers are detected on the grid map, the robot goes part of the grid map before loop-closing.
to the most valuable frontier region. By moving toward frontiers on the To cope with a large, complex environment or a long travel distance,
grid map, the robot can gain new information about the environment local map-based mapping approaches have been developed.15-18 In local
more efficiently and, consequently, reduce the size of the unmapped map-based approaches, each local map has its own reference frame,
areas. and relative transformations between local maps construct a global
Frontier-based exploration generally constructs and maintains (i.e., topological graph. These local map-based methods focused on accurate,
updates) a single global grid map, which is used to detect new frontier consistent mapping, but did not consider the next target decision to
regions. The local sensor data obtained at a frontier contributes to achieve autonomous mapping.
updating the global grid map, which corresponds to the position of the During exploration, the robot should be able to inspect the mapping
robot and its surroundings in the global reference frame. state and select the subsequent target position autonomously. The
The efficiency of exploration depends on the frontier information in mapping state refers to the coverage of the entire environment. However,
+ ⎧ edge+i, j |actual relative transformation, ⎫ from the actual travel path after the robot has arrived at the node, and
Edge = ⎨ ⎬
⎩ 1 ≤ i ≤ N, 1 ≤ j ≤ N ⎭ Pi,j is the corresponding covariance.
+ + + In the frontier tree structure, all child nodes have one parent node.
edgei, j = {distancei, j, tri, j, Pi, j }
Since we can compute the relative transformation between sibling
N : the number of nodes
nodes when new child nodes are detected on the grid map, the edge DB
n : the number of cild nodes
M : the number of maps contains not only the edges between parent and child nodes, but also
m : the number of nodes which share the mapid the edges between child nodes, i.e., between sibling nodes. Using this
− − − − T graph-like property, the robot can go directly to the sibling node
tri, j = [xi, j, yi, j,θ i, j ]
without going through the parent node.
+ + + + T
tri, j = [xi, j, yi, j,θ i, j ]
3.2 Updating the frontier tree structure by loop-closing
After exploring the child or sibling nodes, the robot can return to the
merge local maps of adjacent nodes with the current local map to parent node to reduce the uncertainty of edge information. This is
prevent known areas in the adjacent local maps from being detected as called “induced” loop-closing in the proposed exploration strategy. The
frontiers again in the current local map. The local maps of the previous robot can also revisit the same node by chance during exploration. Such
and parent nodes are transformed with respect to the current node. At “accidental” loop-closing results from using only local information
this time, we use the rigid transformation of the grid map.22 Grid cells when the robot determines the exploration state of the node, whether it
that are revealed to be frontiers in both the current and merged maps is known or not. We use the scan-matching algorithm to detect loop-
are assigned as frontiers. closing events: whether the current node is close to the previously
Table 1 lists the components of the frontier tree database (DB). The visited node and how close the current node is to the revisited node.
frontier tree contains three DBs: the node, local map, and edge DBs. Scan-matching refers to the problem of calculating the relative
The node DB stores information on each node, including the translation and rotation between a current point cloud and a reference
identifications (IDs) of parent node and child nodes, the ID of point cloud in such a way that maximal overlap occurs.24 The
corresponding local map, exploration state (flagexplored), and two- performance of most scan-matching algorithms is sensitive to rotational
dimensional (2D) point cloud map (Pid).The point cloud map is a set of displacement. That is, if two point clouds were obtained at locations
laser data points, extracted when the robot visits the node for the first close to each other, but the heading directions of the robot were
time, and can be used to compute the loop-closing observation if the different, matching might fail to detect loop-closing and compute the
robot revisits the node. The map DB contains information about the correct relative transformation. If detecting loop-closing is failed at the
local grid map (Gid).When the robot visits the current node for the first previously visited position, that is, the robot does not realize that the
time, the local map, constructed with respect to the current node, has current position is in the already explored node, multiple nodes can be
one node ID and the position of the current node, (0, 0, 0), on this local created at the similar positions. Because the exploration continues until
map. If loop-closing occurs, multiple local maps will be merged. all registered node turns out to be explored, these unnecessary nodes
Therefore, after loop-closing, the map information has several node decrease the exploration efficiency. Moreover, in most cases, although
IDs, and the positions of the loop nodes on the merged map. If the the robot comes back to the similar position, its heading direction is
exploration process has been completed, all frontier nodes share one mostly different from the previous heading direction and there is a large
grid map for the entire environment. The edge DB contains the geometric rotational displacement between the current point cloud and the
relations and connectivity between frontier nodes: the relative previous point cloud of the revisited node.
transformation, (xi,j, yi,j, θi,j), and the shortest distance, distancei,j. The To prevent the failure to detect loop-closing, we compute the
predicted edge information, Edge−, is obtained when new nodes are direction histogram of the 2D point cloud.25 The slope of a line fitted
detected at the parent node and added to the node DB. The shortest to each point and its two neighboring points is accumulated in the
travel distance between the current node and the predicted position of histogram. The histogram is normalized so that its sum is unity. Fig. 3
−
the child node, distancei, j , is computed by the A* algorithm23 and the shows an example of a point cloud map in the node DB, and its
current local grid map. The actual edge information, Edge+, is calculated direction histogram. The direction histogram can represent the
2076 / SEPTEMBER 2015 INTERNATIONAL JOURNAL OF PRECISION ENGINEERING AND MANUFACTURING Vol. 16, No. 10
While conventional frontier-based approaches find the next target Fig. 6 (a) The simulated environment and starting position (blue dots),
by calculating the costs of the detected frontier cells on the single (b) The resulting node positions for the 9th starting position. The
global grid map, the proposed method uses the frontier tree structure numbers show the node IDs; the red line shows the edge between
and applies the BFS algorithm. Since edge information includes the parent and child nodes; the green dotted line shows the edge between
distance as well as the relationship between adjacent nodes, the frontier sibling nodes; and blue nodes are inactive nodes.
tree structure is useful for finding the frontier node nearest to the
current node.
In BFS exploration, the robot moves along the edge between nodes, be completed for the entire environment using the proposed local map-
and unvisited sibling nodes take higher priority over child nodes. If all based approach and (ii) that BFS exploration can determine the next
sibling nodes are explored, the robot will return to the parent node to target in a large environment more efficiently than depth-first search
close the loop consisting of the current node, sibling nodes, and parent (DFS) exploration, which we proposed previously.16 All simulations
node. Since loop-closing is induced from the root node, local maps can were carried out using MATLAB. The robot had a 360° laser scanner,
be merged sequentially from the beginning of the exploration process and the maximum range that was simulated using a ray-tracing algorithm
and it is appropriate for large environments. to obtain a local grid map was identical in all simulations.
Fig. 5 shows the BFS exploration algorithm. The robot first Table 2 lists the simulation results for different starting positions in
determines whether there are unvisited sibling nodes. If all siblings the environment in Fig. 6(a). The travel distance is the sum of the
have been explored, the loop-closing state of each adjacent node is distance that the robot moved along the A* path between the current
considered (see lines 3 to 10). The loop-closing state of the node is node and the next target node on the local grid map until the mapping
decided according to the map merging state of the node and its child is completed, and the unit is a grid cell. The number of nodes is the
nodes: if the node and its child nodes share the same local map, the total number of registered nodes in the frontier tree. Active nodes are
loop at that node is closed completely. The fact that loop-closing has the nodes that the robot actually visited, and this is the same as the
not been completed at a node means that there are not enough links to number of local maps used to construct the resulting map of the entire
make a loop between the node and its child nodes. Therefore, the robot environment. In all simulations, the robot continued the exploration
explores to obtain edge information, which might be a portion of a process until there were no remaining unexplored frontiers. Eventually,
loop. in each simulation, the entire environment was mapped. Since the robot
explores the shortest unvisited child node rather than the parent node
for loop-closing in DFS exploration, it is appropriate for mapping in
5. Results simple environments like corridors. However, because updating edge
information and merging local maps with loop-closing are delayed until
5.1 Simulation results the robot reaches the end of a branch, DFS exploration is inefficient in
We simulated our exploration system to verify that (i) mapping can a large environment, such as halls. As shown in Table 2, the travel
2078 / SEPTEMBER 2015 INTERNATIONAL JOURNAL OF PRECISION ENGINEERING AND MANUFACTURING Vol. 16, No. 10
Fig. 7 (a) The floor plan of the environment: the robot explored the red
lined area, (b) The experimental setup: we used ActiveMedia P3-DX
robot platform with two laser scanners (Hokuyo: URG-08LX) and the
quad-core laptop computer Fig. 8 Example of scan-matching using the direction histogram (a).
Scani is the current point cloud, Scanj is the reference point cloud, Scanij
is the transformed point cloud of Scanj with respect to the reference
distance of BFS exploration is shorter than that of DFS exploration. frame of Scani by the resulting relative transformation of the ICP
Moreover, the number of nodes for DFS exploration is much higher without the direction histogram. (b) The magenta dots are transformed
than that for BFS exploration. This is because multiple nodes were point cloud of Scanj using the initial rotation, 138°, estimate computed
registered in a similar area in the case of DFS exploration. Fig. 6(a) is by the direction histogram. The cyan dots show the final matching
the resulting position of nodes and edges in the case of the 9th starting result: the transformed point cloud of Scanj with the resulting relative
position. The nodes were well-distributed for the entire environment. transformation of the ICP with the direction histogram
6. Conclusions
ACKNOWLEDGEMENT
Without the direction histogram, scan-matching failed (yellow dots in 2. Deng, X., Kameda, T., and Papadimitriou, C., “How to Learn an
Fig. 8(a)). However, using the direction histogram, a reliable rotation Unknown Environment. I: The Rectilinear Case,” Journal of the
estimate was obtained (magenta dots in Fig. 8(b)) and two point cloud ACM (JACM), Vol. 45, No. 2, pp. 215-245, 1998.
maps were successfully matched together (cyan dots in Fig. 8(b)).
3. Dudek, G., Jenkin, M., Milios, E., and Wilkes, D., “Robotic
Fig. 9 shows the experimental result for the hall environment. The
Exploration as Graph Construction,” IEEE Transactions on Robotics
robot explored the 24 m × 22 m area and the robot’s position was
and Automation, Vol. 7, No. 6, pp. 859-865, 1991.
estimated using the Delayed-state Extended Kalman Filter SLAM,29
while moving between nodes. In the BFS exploration, the robot merged 4. Panaite, P. and Pelc, A., “Exploring Unknown Undirected Graphs,”
the local maps incrementally from the root node, 0. At each node, Proc. of the 9th Annual ACM-SIAM Symposium on Discrete
adjacent nodes are inspected to determine whether they are known on Algorithms, pp. 316-322, 1998.
the merged map, so that BFS exploration can avoid registering multiple
5. Marinakis, D. and Dudek, G., “Pure Topological Mapping in Mobile
new nodes at nearby locations and several nearby nodes are eliminated
Robotics,” IEEE Transactions on Robotics, Vol. 26, No. 6, pp. 1051-
from the exploring target list for efficiency. Frontier nodes were
2080 / SEPTEMBER 2015 INTERNATIONAL JOURNAL OF PRECISION ENGINEERING AND MANUFACTURING Vol. 16, No. 10
1064, 2010. 20. Valencia, R., Morta, M., Andrade-Cetto, J., and Porta, J. M.,
“Planning Reliable Paths with Pose Slam,” IEEE Transactions on
6. Cabrera-Mora, F. and Jizhong, X., “A Flooding Algorithm for
Robotics, Vol. 29, No. 4, pp. 1050-1059, 2013.
Multirobot Exploration,” IEEE Transactions on Systems, Man, and
Cybernetics, Part B: Cybernetics, Vol. 42, No. 3, pp. 850-863, 2012. 21. Ryu, H. and Chung, W. K., “Local Map-based Exploration for
Mobile Robots,” Intelligent Service Robotics, Vol. 6, No. 4, pp. 199-
7. Moravec, H. P. and Elfes, A., “High Resolution Maps from Wide
209, 2013.
Angle Sonar,” Proc. of IEEE International Conference on Robotics
and Automation, Vol. 2, pp. 116-121, 1985. 22. Carpin, S., “Fast and Accurate Map Merging for Multi-Robot
Systems,” Autonomous Robots, Vol. 25, No. 3, pp. 305-316, 2008.
8. Yamauchi, B., “A Frontier-based Approach for Autonomous
Exploration,” Proc. of IEEE International Symposium on 23. Lester, P., “A* Pathfinding for Beginners,” http://www.gamedev.net/
Computational Intelligence in Robotics and Automation, pp. 146- page/resources/_/technical/artificial-intelligence/a-pathfinding-for-
151, 1997. beginners-r2003 (Accessed 14 JUL 2015)
9. Keidar, M. and Kaminka, G. A., “Efficient Frontier Detection for 24. Lu, F. and Milios, E., “Robot Pose Estimation in Unknown
Robot Exploration,” The International Journal of Robotics Research, Environments by Matching 2D Range Scans,” Journal of Intelligent
Vol. 33, No. 2, pp. 215-236, 2014. and Robotic Systems, Vol. 18, No. 3, pp. 249-275, 1997.
10. Al khawaldah, M., and Nuchter, A., “Enhanced Frontier-based 25. Ryu, H. and Chung, W. K., “Efficient Scan Matching Method using
Exploration For Indoor Environment with Multiple Robots,” Direction Distribution,” Electronics Letters, Vol. 51, No. 9, pp. 686-
Advanced Robotics, ahead-of-print, pp. 1-13, 2015. 688, 2015.
11. Choi, K.-S. and Lee, S.-G., “Enhanced Slam for a Mobile Robot 26. Besl, P. J. and McKay, N. D., “A Method for Registration of 3-D
using Extended Kalman Filter and Neural Networks,” Int. J. Precis. Shapes,” IEEE Transactions on Pattern Analysis and Machine
Eng. Manuf., Vol. 11, No. 2, pp. 255-264, 2010. Intelligence, Vol. 14, No. 2, pp. 239-256, 1992.
12. Makarenko, A., Williams, S. B., Bourgault, F., and Durrant-Whyte, 27. Martinez, J. L., Gonzalez, J., Morales, J., Mandow, A., and Garcia-
H. F., “An Experiment in Integrated Exploration,” Proc. of IEEE/ Cerezo, A. J., “Mobile Robot Motion Estimation by 2D Scan
RSJ International Conference on Intelligent Robots and Systems, Matching with Genetic and Iterative Closest Point Algorithms,”
Vol. 1, pp. 534-539, 2002. Journal of Field Robotics, Vol. 23, No. 1, pp. 21-34, 2006.
13. Stachniss, C., Grisetti, G., and Burgard, W., “Information Gain-based 28. Yaakov, B.-S., Li, X., and Thiagalingam, K., “Estimation with
Exploration using Rao-Blackwellized Particle Filters,” Proc. of Applications to Tracking and Navigation,” New York: Johh Wiley
Robotics: Science and Systems, Vol. 2, pp. 65-72, 2005. and Sons, pp. 404-407, 2001.
14. Sim, R. and Roy, N., “Global A-Optimal Robot Exploration in 29. Cole, D. M. and Newman, P. M., “Using Laser Range Data for 3D
SLAM,” Proc. of IEEE International Conference on Robotics and Slam in Outdoor Environments,” Proc. of IEEE International
Automation, pp. 661-666, 2005. Conference on Robotics and Automation, pp. 1556-1563, 2006.
16. Estrada, C., Neira, J., and Tardos, J. D., “Hierarchical SLAM: Real-
Time Accurate Mapping of Large Environments,” IEEE Transactions
on Robotics, Vol. 21, No. 4, pp. 588-596, 2005.
17. Ahn, S. H., Choi, J., Doh, N. L., and Chung, W. K., “A Practical
Approach for EKF-SLAM in an Indoor Environment: Fusing
Ultrasonic Sensors and Stereo Camera,” Autonomous Robots, Vol.
24, No. 3, pp. 315-335, 2008.