IEEE Robotics & Automation Magazine - September 2019 - 82

determine the primitive a to be executed from the current
vertex. Termination may happen because the robot reaches
the desired local target v or the global target G but also if the
global temporal deadline expires. In this case, the robot
returns a failure.
Because the robot starts
with an empty map, it initially randomly moves
The topological frontier
around until it has K vertices in the graph. In all of
algorithm sorts all nodes
our experiments de by the number of outgoing scribed in the following,
K is fixed to three. Finally, in algorithm 3, we
unexplored edges, and
show how the overall
exploration task is solved.
it randomly selects one
After creating the initial
map M, the robot enters
among those with the
a loop that continues
until either the global
highest number of
temporal deadline T
expires or the robot sucoutgoing edges.
ceeds in reaching G. At
every iteration, the function ExplorationNext returns the vertex v toward which to
move and a temporal deadline t d, i.e., how much time the
robot should spend to reach v. To determine these two quantities, ExplorationNext uses the current map, as well as the
variable time, indicating how much time passed since the task
started. As time grows, more stringent temporal deadlines t d
will be returned. The robot then attempts to navigate to the
assigned vertex v and, once there, randomly picks an outgoing
edge and follows it until the IDS indicates that a new vertex
has been reached.
Exploration Algorithms
We now discuss five different strategies that can be used to
guide the robot through its exploration task. Each of these
approaches represents a different way to select the vertex v
returned by the function ExplorationNext used in algorithm 3. At the end of the section, we also discuss how we set
the temporal deadline t d .
Algorithm 2: Navigation algorithm
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.

82

*

Algorithm NavigateToVertex ^v, t d h
CMDP ! BuildCMDP ^ M, v, t d, Pf h
r * ! Solve ^CMDP h
while time 1 T
v c ! current vertex
if v c = G then
return Global Success
if v c = v then
return Local Success
a ! r * ^v c h
execute a
return Failure

IEEE ROBOTICS & AUTOMATION MAGAZINE

*

SEPTEMBER 2019

Random Strategy Exploration
The random exploration strategy is our baseline approach. It
returns a random vertex among all vertices with one or more
outgoing unvisited edges, i.e., edges toward v z . If there is
more than one vertex with unvisited edges, a uniform probability distribution is used to make a choice. It is easy to prove
that this strategy will eventually explore the entire environment, but it is likely to be inefficient.
Topological Frontier
Topological frontier is the analog of the well-known frontierbased exploration algorithm. In frontier-based exploration,
frontiers are defined as the regions on the boundary between
explored and unexplored space, and the robot then moves to
a frontier to expand the explored space. In our topological
domain, the boundary between known and unknown parts of
the environment is identified by unexplored edges. Accordingly, the topological frontier algorithm sorts all nodes by the
number of outgoing unexplored edges, and it randomly
selects one among those with the highest number of outgoing
edges. In this latter case, a uniform distribution among all of
the candidates is used.
Topological Frontier With
Normalized Distances
In the topological case, the cost to move to a vertex in the
graph is set to the number of edges in the path connecting
the current vertex to a target location. To consider distances in the topological frontier algorithm, we choose a
closer vertex when one or more equivalent ones are present. To combine heterogeneous quantities (the number of
outgoing unexplored edges and distances), we use a linear
combination of normalized quantities (see, e.g., [19]) to
assign a value to each vertex in the map. We then select
the vertex maximizing this metric. To be specific, let
V 1 V be the set of vertices with one or more outgoing
unexplored edges. For each vertex v ! V, we compute
the following quantity:
S^v h = c

deg ^ v h
d^v h
- ^1 - ch
,
maxdeg ^vlh
max d ^vlh
vl ! V

vl ! V

Algorithm 3: Global exploration algorithm
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.

Algorithm ExplorationTask ^T, Gh
M ! InitializeGraph ()
while time 1 T do
v, t d ! ExplorationNext ^ M, time h
flag ! NavigateToVertex^v, t d h
if flag = Local Success then
Pick random edge of type ^v, v zh out of v
Follow edge e of type ^v, v zh and find new node vl
CreateNewNode ^v l , edges h
else
return flag
return Failure



IEEE Robotics & Automation Magazine - September 2019

Table of Contents for the Digital Edition of IEEE Robotics & Automation Magazine - September 2019

Contents
IEEE Robotics & Automation Magazine - September 2019 - Cover1
IEEE Robotics & Automation Magazine - September 2019 - Cover2
IEEE Robotics & Automation Magazine - September 2019 - Contents
IEEE Robotics & Automation Magazine - September 2019 - 2
IEEE Robotics & Automation Magazine - September 2019 - 3
IEEE Robotics & Automation Magazine - September 2019 - 4
IEEE Robotics & Automation Magazine - September 2019 - 5
IEEE Robotics & Automation Magazine - September 2019 - 6
IEEE Robotics & Automation Magazine - September 2019 - 7
IEEE Robotics & Automation Magazine - September 2019 - 8
IEEE Robotics & Automation Magazine - September 2019 - 9
IEEE Robotics & Automation Magazine - September 2019 - 10
IEEE Robotics & Automation Magazine - September 2019 - 11
IEEE Robotics & Automation Magazine - September 2019 - 12
IEEE Robotics & Automation Magazine - September 2019 - 13
IEEE Robotics & Automation Magazine - September 2019 - 14
IEEE Robotics & Automation Magazine - September 2019 - 15
IEEE Robotics & Automation Magazine - September 2019 - 16
IEEE Robotics & Automation Magazine - September 2019 - 17
IEEE Robotics & Automation Magazine - September 2019 - 18
IEEE Robotics & Automation Magazine - September 2019 - 19
IEEE Robotics & Automation Magazine - September 2019 - 20
IEEE Robotics & Automation Magazine - September 2019 - 21
IEEE Robotics & Automation Magazine - September 2019 - 22
IEEE Robotics & Automation Magazine - September 2019 - 23
IEEE Robotics & Automation Magazine - September 2019 - 24
IEEE Robotics & Automation Magazine - September 2019 - 25
IEEE Robotics & Automation Magazine - September 2019 - 26
IEEE Robotics & Automation Magazine - September 2019 - 27
IEEE Robotics & Automation Magazine - September 2019 - 28
IEEE Robotics & Automation Magazine - September 2019 - 29
IEEE Robotics & Automation Magazine - September 2019 - 30
IEEE Robotics & Automation Magazine - September 2019 - 31
IEEE Robotics & Automation Magazine - September 2019 - 32
IEEE Robotics & Automation Magazine - September 2019 - 33
IEEE Robotics & Automation Magazine - September 2019 - 34
IEEE Robotics & Automation Magazine - September 2019 - 35
IEEE Robotics & Automation Magazine - September 2019 - 36
IEEE Robotics & Automation Magazine - September 2019 - 37
IEEE Robotics & Automation Magazine - September 2019 - 38
IEEE Robotics & Automation Magazine - September 2019 - 39
IEEE Robotics & Automation Magazine - September 2019 - 40
IEEE Robotics & Automation Magazine - September 2019 - 41
IEEE Robotics & Automation Magazine - September 2019 - 42
IEEE Robotics & Automation Magazine - September 2019 - 43
IEEE Robotics & Automation Magazine - September 2019 - 44
IEEE Robotics & Automation Magazine - September 2019 - 45
IEEE Robotics & Automation Magazine - September 2019 - 46
IEEE Robotics & Automation Magazine - September 2019 - 47
IEEE Robotics & Automation Magazine - September 2019 - 48
IEEE Robotics & Automation Magazine - September 2019 - 49
IEEE Robotics & Automation Magazine - September 2019 - 50
IEEE Robotics & Automation Magazine - September 2019 - 51
IEEE Robotics & Automation Magazine - September 2019 - 52
IEEE Robotics & Automation Magazine - September 2019 - 53
IEEE Robotics & Automation Magazine - September 2019 - 54
IEEE Robotics & Automation Magazine - September 2019 - 55
IEEE Robotics & Automation Magazine - September 2019 - 56
IEEE Robotics & Automation Magazine - September 2019 - 57
IEEE Robotics & Automation Magazine - September 2019 - 58
IEEE Robotics & Automation Magazine - September 2019 - 59
IEEE Robotics & Automation Magazine - September 2019 - 60
IEEE Robotics & Automation Magazine - September 2019 - 61
IEEE Robotics & Automation Magazine - September 2019 - 62
IEEE Robotics & Automation Magazine - September 2019 - 63
IEEE Robotics & Automation Magazine - September 2019 - 64
IEEE Robotics & Automation Magazine - September 2019 - 65
IEEE Robotics & Automation Magazine - September 2019 - 66
IEEE Robotics & Automation Magazine - September 2019 - 67
IEEE Robotics & Automation Magazine - September 2019 - 68
IEEE Robotics & Automation Magazine - September 2019 - 69
IEEE Robotics & Automation Magazine - September 2019 - 70
IEEE Robotics & Automation Magazine - September 2019 - 71
IEEE Robotics & Automation Magazine - September 2019 - 72
IEEE Robotics & Automation Magazine - September 2019 - 73
IEEE Robotics & Automation Magazine - September 2019 - 74
IEEE Robotics & Automation Magazine - September 2019 - 75
IEEE Robotics & Automation Magazine - September 2019 - 76
IEEE Robotics & Automation Magazine - September 2019 - 77
IEEE Robotics & Automation Magazine - September 2019 - 78
IEEE Robotics & Automation Magazine - September 2019 - 79
IEEE Robotics & Automation Magazine - September 2019 - 80
IEEE Robotics & Automation Magazine - September 2019 - 81
IEEE Robotics & Automation Magazine - September 2019 - 82
IEEE Robotics & Automation Magazine - September 2019 - 83
IEEE Robotics & Automation Magazine - September 2019 - 84
IEEE Robotics & Automation Magazine - September 2019 - 85
IEEE Robotics & Automation Magazine - September 2019 - 86
IEEE Robotics & Automation Magazine - September 2019 - 87
IEEE Robotics & Automation Magazine - September 2019 - 88
IEEE Robotics & Automation Magazine - September 2019 - 89
IEEE Robotics & Automation Magazine - September 2019 - 90
IEEE Robotics & Automation Magazine - September 2019 - 91
IEEE Robotics & Automation Magazine - September 2019 - 92
IEEE Robotics & Automation Magazine - September 2019 - 93
IEEE Robotics & Automation Magazine - September 2019 - 94
IEEE Robotics & Automation Magazine - September 2019 - 95
IEEE Robotics & Automation Magazine - September 2019 - 96
IEEE Robotics & Automation Magazine - September 2019 - 97
IEEE Robotics & Automation Magazine - September 2019 - 98
IEEE Robotics & Automation Magazine - September 2019 - 99
IEEE Robotics & Automation Magazine - September 2019 - 100
IEEE Robotics & Automation Magazine - September 2019 - 101
IEEE Robotics & Automation Magazine - September 2019 - 102
IEEE Robotics & Automation Magazine - September 2019 - 103
IEEE Robotics & Automation Magazine - September 2019 - 104
IEEE Robotics & Automation Magazine - September 2019 - 105
IEEE Robotics & Automation Magazine - September 2019 - 106
IEEE Robotics & Automation Magazine - September 2019 - 107
IEEE Robotics & Automation Magazine - September 2019 - 108
IEEE Robotics & Automation Magazine - September 2019 - 109
IEEE Robotics & Automation Magazine - September 2019 - 110
IEEE Robotics & Automation Magazine - September 2019 - 111
IEEE Robotics & Automation Magazine - September 2019 - 112
IEEE Robotics & Automation Magazine - September 2019 - Cover3
IEEE Robotics & Automation Magazine - September 2019 - Cover4
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2023
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2023
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2023
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2023
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2022
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2022
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2022
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2022
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2021
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2021
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2021
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2021
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2020
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2020
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2020
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2020
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2019
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2019
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2019
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2019
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2018
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2018
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2018
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2018
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2017
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2017
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2017
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2017
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2016
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2016
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2016
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2016
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2015
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2015
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2015
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2015
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2014
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2014
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2014
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2014
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2013
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2013
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2013
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2013
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2012
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2012
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2012
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2012
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2011
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2011
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2011
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2011
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2010
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2010
https://www.nxtbookmedia.com