Local Map-Based Exploration

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 8

INTERNATIONAL JOURNAL OF PRECISION ENGINEERING AND MANUFACTURING Vol. 16, No. 10, pp.

2073-2080 SEPTEMBER 2015 / 2073


DOI: 10.1007/s12541-015-0269-9 ISSN 2234-7593 (Print) / ISSN 2005-4602 (Online)

Local Map-based Exploration using a Breadth-First


Search Algorithm for Mobile Robots

Hyejeong Ryu1,2,# and Wan Kyun Chung2


1 School of Information Science, Japan Advanced Institute of Science and Technology, 1-1 Asahidai, Nomi, Ishikawa, 923-1211, Japan
2 Department of Mechanical Engineering, Pohang University of Science and Technology, 77, Cheongam-ro, Nam-gu, Pohang-si, Gyeongsangbuk-do, 790-784, South Korea
# Corresponding Author / E-mail: roohj@postech.ac.kr, TEL: +82-54-279-2842, FAX: +82-54-279-8459

KEYWORDS: Exploration, Localization, Mapping, Mobile robot, Scan-matching

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,

© KSPE and Springer 2015


2074 / SEPTEMBER 2015 INTERNATIONAL JOURNAL OF PRECISION ENGINEERING AND MANUFACTURING Vol. 16, No. 10

Fig. 1 Difficulty of detecting frontiers using only local maps: one


frontier area in the second local map (the region in the yellow box) is
not a real frontier, but an explored area in the global map

it is difficult to determine whether mapping has been completed using


only local information, and this makes it problematic to discriminate
among proper target candidates for exploration (Fig. 1). Therefore, to
apply the local map-based approach to exploration, a method to register
local maps that considers the mapping coverage and frontier detection Fig. 2 An overview of local map-based exploration
is needed.
For accurate, efficient exploration, we propose a local map-based
exploration strategy that is an integrated approach and combines current local grid map and to add new frontier nodes to the frontier tree.
frontier-based exploration and a graph search algorithm. Multiple local The second step is performed if loop-closing occurs, which means
maps at frontier positions are created and the relative transformations that the current node is one that the robot has already visited. Since the
between local maps construct the tree structure for the entire loop-closing constraints, which depend on the loop sequence, can lead
environment. Because the conventional graph exploration methods did to accurate edge information between loop nodes, the local maps that
not deal with how to abstract the graph structure by interpreting sensor are assigned to the loop nodes can be merged using corrected edge
data,3-6 it is hard to directly apply them to the real world environment. information.
In pose-graph approaches, graph is not constructed based on frontier The next target node to explore is decided by using the frontier tree
positions but the trajectory of the robot.19,20 and BFS algorithm. In general, the BFS algorithm is used to search for
In this paper, using the frontier tree structure and a modified breadth- the shortest path on a predetermined, unchanged graph or tree. In
first search (BFS) algorithm, the next exploration target is decided. The exploration, however, the tree structure of the environment is initially
proposed frontier tree structure is suitable for updating or merging local unknown and it is expanded until no further frontier nodes are found.
grid maps according to the pose uncertainty, and the modified BFS We modified the BFS algorithm to deal with this situation. In BFS
algorithm can decide whether to expand information about the exploration, the next target node might be an unvisited node that was
environment or to improve the pose accuracy. registered to the frontier tree, but has not yet been visited, and this
This paper is organized as follows. Section II presents an overview decision expands the map and tree. Alternatively, the robot could select
of the local map-based exploration algorithm. Section III describes the a known node to improve the accuracy of the pose and map by loop-
procedure used to construct and update the frontier tree structure. The closing. When all nodes have been explored completely, i.e., there are
method used to decide the next exploration target is presented in Section no frontier nodes to visit in the tree, the process of exploration is
IV. Finally, the experimental results and conclusion are presented in complete.
Sections V and VI, respectively.

3. Frontier Tree Structure


2. Algorithm Overview
3.1 Constructing the frontier tree structure
Fig. 2 presents an overview of the local map-based exploration In the proposed method, the robot moves between the nodes of the
procedure. The algorithm consists of three steps: constructing the frontier tree during exploration. Therefore, the number of registered
frontier tree using the local map; updating the frontier tree by loop- frontier nodes affects the efficiency of exploration. Since registering
closing; and deciding the next target node. every frontier cell on the grid map is computationally inefficient, we
If the current node is a new location that the robot has never visited group nearby frontier cells using the polar histogram and register one
before, the first step is carried out to extract frontier regions on the representative node for each group.21 Before this segmentation, we
INTERNATIONAL JOURNAL OF PRECISION ENGINEERING AND MANUFACTURING Vol. 16, No. 10 SEPTEMBER 2015 / 2075

Table 1 Frontier tree database


Node = {nodeid | 1 ≤ id ≤ N}
nodeid = id, idmap, idparent, flag exp lored, Pid, {idchild1, …, idchildn }
Map = {mapid | 1 ≤ id ≤ N}
⎧ id, gid, {idnode1, …, idnodem}, ⎫
mapid = ⎨ ⎬
⎩ {poseid, node1, …, poseid, nodem } ⎭

− ⎧ edge−i, j |predicted relative transformation, ⎫


Edge = ⎨ ⎬
⎩ 1 ≤ i ≤ N, 1 ≤ j ≤ N ⎭
Fig. 3 (a) An example of scan points (b) The direction histogram for (a)
− − −
edgei, j = {distancei, j, tri, j }

+ ⎧ 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

geometric structural tendency of the point cloud.


Each time the robot arrives at a new node, that is, the predicted
frontier position, the current point cloud map is compared with the
point cloud map of each node in the node DB to detect accidental loop-
closing. The computational cost increases with the increasing number
of former point clouds until the exploration procedure is completed,
and most scan matching algorithms use the iteration method to minimize
the mean square distance between the current and reference point
clouds. To enhance the computational efficiency of the loop-detection
step, we can select matching candidates which are geometrically similar
with the current point cloud and have the high probabilities of loop-
closing using the direction histogram.
To determine whether the current point cloud map is similar to the Fig. 4 The loop constraint for accidental loop-closing
point cloud map of each node, that is, to calculate the similarity between
two direction histograms, we apply the Bhattacharyya distance, which
can compute the relative closeness of two distributions. For two direction paper, the robot recognizes that loop-closing is possible, and updates
histograms, Hi = [hi(1o), …, hi(180o)] and Hj = [hj(1o), …, hj(180o)], the the frontier tree according to the loop constraint. When there are
Bhattacharyya distance is as follows multiple loop-closing candidates that satisfy this criterion, the node
which has the highest matching ratio is selected as the revisiting node.
180°
DB ( Hi , Hj ) = – ln ∑ hi ( k )hj ( k ) (1) When the robot revisits a node to induce loop-closing from the child
k=1°
node to the parent node, without the above candidate selecting process,
To make the proposed scan-matching algorithm invariant to the we just calculate the direction histograms of the current point cloud and
heading direction, we calculate the distance between Hi and Hj+δθ, that of the revisited parent node in the node DB, and predict the initial
shifted histogram of Hj by an angle δθ, and determine the similarity, rotational displacement by comparing the two histograms to deal with
SimD, as follows the case in which that heading directions are quite different.
For both induced and accidental loop-closing, we can compute an
–1
SimD ( Hi, Hj) = [ min DB ( Hi, Hj +δθ ) ] , δθ = 1°, …, 180° (2) accurate relative transformation using the direction histogram, although
δθ
there might be a large rotational displacement between the current and
Empirically, the Bhattacharyya distance between the histograms of registered point clouds in the node DB.
two point cloud maps that were taken from nearby locations is less than Fig. 4 shows the loop constraint corresponding to accidental loop-
0.12. Therefore, if the similarity between the direction histogram of the closing: the robot does not realize that the current node i' is close to
current point cloud and the direction histogram of each node exceeds previously visited node i until it arrives at node i'. Using actual edge
0.12-1, the node is selected as a loop-closing candidate. We can also information, the loop constraint can be generated between loop nodes
predict the initial rotational displacement as the shifted angle where the as follows
similarity value is determined.
+ + +
To calculate the relative transformation between the current point h (tr ) = tri, s ⊕ … ⊕ trs , k ⊕ trk, i′ ⊕ zi, i′ = 0 (4)
1 n
cloud and the point cloud of each loop-closing candidate node, we use
the iterative closest point (ICP) algorithm26,27 and the predicted initial where zi,i' is the loop-closing observation obtained by the scan-matching
rotational displacement using the direction histogram. At this time, the algorithm and the direction histogram. The edge between loop nodes
matching ratio is defined as follows can be updated by using the loop constraint and iterated extended
Kalman filter (IEKF).28 At this time, the covariance of zi,i' is set to be
Cor ( i, j) = Ci, j /min ( Ni, Nj ) (3) the zero matrix. If the edge is updated once, its covariance becomes the
zero matrix and it acts on later loop-closing as a constraint.
where Ci,j is the number of corresponding point sets, and Ni and Nj are After updating the edge information, the corresponding local maps
the number of points in point cloud maps i and j, respectively. The are merged. After every map-merging process with loop-closing, we
matching ratio means how much area is overlapped in two point cloud inspect whether the child nodes of the loop nodes are known on the
maps, that is, how close two positions where point cloud maps obtained merged map using the sum of the entropy within a window W around
to each other. If the matching ratio is small and there is not an adequate the child node cell as follows
number of correspondences, loop-closing rarely occurs and the resulting
relative transformation is not robust. H= ∑ [– Pi, j (O )log Pi, j (O ) – Pi, j (E) log Pi, j (E )] (5)
i, j ∈W
The enough matching ratio is related with the maximum detection
range of the laser scanner. In this research, the maximum range was 8 where Pi,j(O) is the occupancy probability and Pi,j(E) is the empty
m, and empirically loop-closing was robustly detected with the low probability of grid cell (i, j). If the child node cell is empty and the sum
mean square distance when the matching ratio was larger than 0.85. of the entropy around the child node cell is lower than a certain limit,
Therefore, if the matching ratio exceeds a certain value, 0.85 in this the child node is considered as the known area.
INTERNATIONAL JOURNAL OF PRECISION ENGINEERING AND MANUFACTURING Vol. 16, No. 10 SEPTEMBER 2015 / 2077

Fig. 5 The BFS exploration algorithm

4. Deciding the Next Target: BFS Exploration

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

Table 2 Simulation results


Starting position 1 2 3 4 5
Method BFS DFS BFS DFS BFS DFS BFS DFS BFS DFS
Travel distance 2400 3575 3019 4685 2954 4362 2352 2624 2904 3207
# of movements 50 91 65 117 63 111 52 67 63 82
# of nodes 30 76 30 123 36 120 29 105 30 80
# of active nodes 22 46 24 63 26 66 21 55 23 46
# of accidental loop-closing 0 4 0 6 0 5 0 2 0 2
Starting position 6 7 8 9 10
Method BFS DFS BFS DFS BFS DFS BFS DFS BFS DFS
Travel distance 3088 3201 3059 4340 2988 4541 2443 3501 2690 3840
# of movements 70 81 67 111 66 116 54 88 64 98
# of nodes 31 66 33 99 35 107 31 143 31 83
# of active nodes 24 41 26 56 26 62 23 71 23 51
# of accidental loop-closing 0 5 0 5 0 5 0 6 0 6

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

5.2 Experimental results


We conducted the experiment in the real world environment. The position and the registered position of the frontier node, we used the
robot used two laser scanners to obtain the point cloud map. The direction histogram described in Section 3.2. Fig. 8 shows a scan-
experimental setup is shown in Fig. 7(b). To detect loop-closing events matching example in which the rotational displacement is large
and calculate an accurate relative transformation between the current between the current point cloud i and the reference point cloud j.
INTERNATIONAL JOURNAL OF PRECISION ENGINEERING AND MANUFACTURING Vol. 16, No. 10 SEPTEMBER 2015 / 2079

distributed over the entire environment and an accurate, complete map


was constructed by merging local maps of frontier nodes. Fig. 9(d)
shows the number of local maps in the map DB for each decision step.
Because of the induced loop-closing of BFS exploration, the number of
local maps was small during the exploration process. The final number
of local maps was one, which means that the proposed algorithm can
efficiently manage the frontier tree structure and local maps.

6. Conclusions

We described local map-based exploration for autonomous mapping


in large environments. The proposed method can construct and manage
a frontier tree structure using only local information, and decide the
next target autonomously using the BFS algorithm. Since the tree
structure efficiently defines the segmented frontier nodes extracted on
the local map, the robot can expand its knowledge about the
environment by moving along an edge. In addition, BFS exploration
induces loop-closing, so that the local information assigned to each
frontier node is updated accurately according to the loop constraint.
The performance of BFS exploration was compared to that of DFS
exploration using simulations. We verified that BFS exploration was
more efficient than DFS exploration in terms of the total distance
travelled and the number of nodes. The experiment was also conducted
in a real-world environment. As a result, an accurate, complete map of
the entire environment was obtained by constructing the frontier tree
and deciding the next target according to BFS exploration.

ACKNOWLEDGEMENT

This work was supported in part by the Engineering Research Center


(no. 2011-0030075) and the Industrial Source Technology Development
Programs (no. 10043928).

Fig. 9 Experimental results in a hall environment: (a) the positions of REFERENCES


the nodes; (b) the frontier tree structure; (c) the exploration path, the
red arrow indicates the movement for induced loop-closing to the 1. Blum, A., Raghavan, P., and Schieber, B., “Navigating in Unfamiliar
parent node; and (d) the number of local maps for each decision step Geometric Terrain,” SIAM Journal on Computing, Vol. 26, No. 1,
pp. 110-137, 1997.

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.

15. Pinies, P. and Tardos, J. D., “Large-Scale SLAM Building


Conditionally Independent Local Maps: Application to Monocular
Vision,” IEEE Transactions on Robotics, Vol. 24, No. 5, pp. 1094-
1106, 2008.

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.

18. Blanco, J.-L., Fernandez-Madrigal, J.-A., and Gonzalez, J., “A New


Approach for Large-Scale Localization and Mapping: Hybrid Metric-
Topological SLAM,” Proc. of IEEE International Conference on
Robotics and Automation, pp. 2061-2067, 2007.

19. Vallve, J. and Andrade-Cetto, J., “Potential Information Fields for


Mobile Robot Exploration,” Robotics and Autonomous Systems,
Vol. 69, pp. 68-79, 2015.

You might also like