Atlas Exploration and Mapping With A Sparse Swarm of Networked IoT Robots
Atlas Exploration and Mapping With A Sparse Swarm of Networked IoT Robots
Abstract—Exploration and mapping is a fundamental capa- (e.g. hundreds of robots deployed on a medium-sized office
bility of a swarm of robots: robots enter an unknown area, floor). We therefore design Atlas, a systematic exploration and
explore it, and collectively build a map of it. This capability is mapping algorithm specifically designed for sparse swarms,
important regardless of whether the robots are crawling, flying,
or swimming. Existing exploration and mapping algorithms tend which creates complete maps even in the extreme case of a
to either be inefficient, or rely on having a dense swarm of single robot.
robots. This paper introduces Atlas, an exploration and mapping The contributions of this paper are threefold:
algorithm for sparse swarms of robots, which completes a full • We develop a simulator specifically for comparing ex-
exploration even in the extreme case of a single robot. We develop
an open-source simulator and show that Atlas outperforms the
ploration and mapping algorithms. This simulator is pub-
state-of-the-art in terms of exploration speed and completeness lished under an open-source license.
of the resulting map. • We design Atlas, an exploration and mapping algorithm
Index Terms—Swarm, Exploration, Mapping, IoT, Micro- for sparse swarms.
Robots. • We extract the performance of Atlas, as well as three
339
Authorized licensed use limited to: UNIVERSITY OF BRISTOL. Downloaded on August 30,2023 at 17:08:39 UTC from IEEE Xplore. Restrictions apply.
area. The goal of the algorithm is to map out that space,
i.e. find which of the 630 cells are obstacles, and which are not.
At the start of a simulation run, the exploration and mapping
algorithm knows nothing about the area. As the robots move
around in the area, they discover the position of the obstacles
by moving next to them, giving the algorithm a more and more
Fig. 1: We call a robot’s “1-neighborhood” the eight cells complete map. The simulation run ends when either the map
directly surrounding it. At each tick, the robot can move to any completes, or when the navigation algorithm does not trigger
of the cells in its 1-neighborhood. We call “2-neighborhood” any further robot movements. We call “completion ratio” the
the 16 cells directly surrounding the 1-neighborhood. portion of simulation runs that result in a complete map.
We want a collection of scenarios which trigger diverse
files and generates the graphs presented in this paper. To ensure behaviors of the navigation algorithm. The “empty” scenario
reproducibility, we follow rigorous software development best is the simplest one: an empty room. We use it as a reference.
practices. In particular, all the source code used in this paper is The “canonical” scenario is the one used extensively by Ra-
part of a release, and bundled together with the instructions to maithitima et al. [4]. Given that we implement Ramaithitima
reproduce the log files, and re-generate the graphs. All source and compare it against other algorithm, we wanted that com-
code is released under an open-source license1 . parison to be done in the same conditions as in [4]. Finally,
the “floorplan” scenario represents a more complete end-to-
A. Modeling
end use case, in which a swarm of robots is tasked to map out
In the simulator, we represent a 2D area as a discrete number a floor of an office building.
of cells. A cell is an atomic quantum of space: a single cell can
either hold a single robot, be entirely filled by an obstacle, or C. Running the Simulation
be entirely empty. As shown in Fig. 1, a robot can move to any We end up implementing 4 algorithms, and have 3 scenarios.
of the 8 cells in its 1-neighborhood. We call that movement To be able to compare the impact of the number of robots, we
a “step”. A robot is not constrained in the direction it moves run simulations for a number of robots ranging from 10 to
to. That is, it can move North, then immediate South. 100, in steps of 10. We call a simulation cycle the resulting
The simulator cuts time into discrete “ticks”. At each tick, 4×3×10=120 simulation runs. We repeat that cycle 145 times.
each robot can move by one step. Multiple (possible all) robots The full simulation time is approx. 24 h, which we split across
can move during the same tick. The navigation algorithm multiple computers to speed up the simulation campaign.
decides, at each tick, the movement of each of the robots. Because of the random nature of some algorithms, in each
It might choose to move a single robot, multiple, or all. of these cycles, the simulation does not execute in the same
We assume each robot is equipped with the necessary way. We end up collecting logs for 13033 simulation runs. All
sensors to detect the presence of an obstacle or another results are presented with a 95% confidence interval.
robot in its 1-neighborhood. These sensors allow the robot to
distinguish between obstacles and robots. The 1-neighborhood D. Simulation Outputs
of a robot therefore represents the robot’s sensing range. Each run generates a line in a log file. This line is a JSON
We further assume robots can communicate together, and string that contains the following metrics:
can communicate back to the starting point where a central • The “heatmap” showing how often robots have visited
controller is located, for centralized protocols. each of the cells. This is used to generate Fig. 6 (Sec-
tion VI-A).
B. Scenarios
• The “profile”, an array that indicates the number of cells
We define three scenarios to run simulations on. The term discovered at each tick. This is used to generate Fig. 4
“scenario” encompasses both the location of the obstacles (Section VI-B) and Fig. 5 (Section VI-C).
in the area being explored, and the location of the starting • The “mapping completion”, a boolean indicating whether
position. Fig. 2 shows the three scenarios, which we call the map is complete at the end of the exploration. This
“empty”, “canonical” and “floorplan”. is used to generate Fig. 3 (Section IV).
We made all three exploration areas the same size
(80×21 cells) to be able to directly compare the impact of the IV. L IMITS OF R AMAITHITIMA IN S PARSE S WARMS
position of obstacles on the performance of the exploration This section details preliminary simulation results for Ra-
and mapping algorithms. In all scenarios, all robots start from maithitima. It shows that Ramaithitima does not guarantee
the same position. full exploration in sparse swarms (a small number of robots),
A scenario goes as follows. All robots are initially at the therefore justifying the creation of the Atlas algorithm. Atlas
starting position which serves as a “door” into the exploration is presented in Section V and its performance are examined
1 As an online addition to this paper, all the source code used in this
in Section VI.
paper is published under a BSD open-source license at https://github.com/
The Ramaithitima algorithm is presented in [4], and sum-
openwsn-berkeley/Atlas marized in Section II. From an implementation point of view,
340
Authorized licensed use limited to: UNIVERSITY OF BRISTOL. Downloaded on August 30,2023 at 17:08:39 UTC from IEEE Xplore. Restrictions apply.
empty canonical floorplan
Fig. 2: The three simulated scenarios. All scenario areas are the same size (80×21 cells). The starting position is depicted as
a red cell on the right.
we implement it as a central controller. At each step of the of robots, it identifies the robot that is closest to any frontier
simulation, that central controller starts by identifying the cell, and moves it toward the frontier cell.
frontier robots. These are the robots which have at least one The overall behavior is that the frontier expands away from
unexplored cell in their 2-neighborhood. From that set, it the starting position, and the robots are controlled to “push”
identifies the closest robot to the start position, and moves the frontier further from the starting point. In the extreme case
it to a cell further from the start position. Rather than use of a single robot, that robot makes circular movements around
Euclidian distance, the controller uses the Dijkstra algorithm the starting point, one step further from it at each revolution.
to compute the distance between two cells in the area, i.e. the In scenarios where there are many obstacles, the swarm can
number of steps a robot would have to take to go from one be cut into subgroups as it navigates around obstacles. The
cell to the other if it took the shortest path. It repeats this full behavior of Atlas is implemented in 177 lines of code in
process and moves as many frontier robots as possible. It then the simulator.
moves the non-frontier robots so they fill in the voids left by VI. S IMULATION R ESULTS
the frontier robots moving. This results in the swarm moving This section presents simulation results and compares the
as a pack. performance of four navigation and mapping algorithms:
This approach works well when there is a large number of Ramaithitima, Atlas, and two random walk variants: pure
robots, as simulated in [4]. With less robots, the problem is that random walk and ballistic random walk. In pure random walk,
the frontier robots aren’t always side-by-side, so by moving each robot moves to a randomly chosen open cell in its 1-
each away from the starting point, it is possible to “forget” to neighborhood at each step. In ballistic random walk, each
explore an area. robot keeps moving in the same direction until it hits an
To quantify this problem, we plot in Fig. 3 the completion obstacle or another robot. It then picks another direction at
ratio of Ramaithitima for a number of robots between 10 random.
and 100. The more robots, the higher the completion ratio,
A. Heatmaps
which is expected. Fig. 3 also shows that, the more cluttered
the area, the lower the probability of creating a complete map. Fig. 6 allows us to qualitatively understand the behavior
Yet, even with 100 robots, the completion ratio stays below of the algorithms by plotting a heatmap of the number of
80%. Worse, regardless of the number or robots, there are times robots have visited each cell. With random walk, robots
always cases, even if rare, in which Ramaithitima does not tend to hover around the start position, making it a very
result in complete exploration. long process to explore the entire area. With ballistic, robots
All other algorithms evaluated in this paper (including Atlas, quickly move about the area, but because the robots are not
our proposal) have a completion ratio of 100% in all cases. coordinated, they tend to bounce around the same features
over and over. In the Ramaithitima case, we can clearly see
V. ATLAS that some areas are visited very often, others not; it is the latter
that causes Ramaithitima to sometimes “forget” to explore an
Atlas can be seen as an improvement of Ramaithitima to area. The robot swarm in Atlas progresses from right to left;
ensure mapping completion even in the extreme case of having a small number splits off to explore each of the rooms. Its
only a single robot. It uses systematic exploration. Robots are systematic nature makes the heatmap more homogeneous and
controlled by a central controller which maintains a partial symmetrical.
map throughout the exploration and sends robots to explore
yet unexplored zones within the area. The main difference B. Mapping Profiles
with Ramaithitima is that, instead of focusing on the frontier We call mapping profile the plot that shows the number of
robots, it focuses on the frontier cells. explored cells as a function of time. It is a good representation
The central controller of Atlas does the following at each to see the overall behavior of the algorithm. Fig. 4 shows the
step. It starts by identifying the frontier cells, i.e. open cells mapping profiles of the algorithms for the floorplan scenario.
which have an unexplored cell in their 1-neighborhood. From We clearly see that Random Walk explores rapidly at the
that set, it keeps only the cells which have the closest distance very beginning (<100 ticks), then takes a very long time to
to the starting point. As Ramaithitima, Atlas uses topological discover the last unexplored cells. Ballistic performs poorly
distance (i.e. number steps along the shortest path), not Eu- in cluttered areas, but performs well when no obstacles are
clidian distance. Once it has the set of frontier cells and the set present, despite being uncoordinated.
341
Authorized licensed use limited to: UNIVERSITY OF BRISTOL. Downloaded on August 30,2023 at 17:08:39 UTC from IEEE Xplore. Restrictions apply.
105
1.0 empty 2000 Ramaithitima
canonical RandomWalk
floorplan 1750 Ballistic
0.8
Atlas
Fig. 3: Completion ratio of Ra- Fig. 4: Mapping profiles of the algo- Fig. 5: Mapping speed for the floor-
maithitima: the portion of runs where rithms for the Floorplan scenario: the plan scenario: time until the area is
the robots map out the entire area. number of cells discovered over time. fully explored and mapped.
Random Walk Ballistic pattern preventing robots from quickly exploring the full area.
The complete set of results are presented in the research report
published as a companion to this paper [8]
VII. S UMMARY AND AVENUES FOR F UTURE W ORK
max. robots: 750 max. robots: 155
Ramaithitima Atlas
This paper surveys existing exploration and mapping algo-
rithms, and proposes a taxonomy. We present an open-source
simulator specifically designed for evaluating exploration and
mapping algorithms. We show that existing algorithms tend
to be either inefficient, or rely on dense swarms of robots.
max. robots: 126 max. robots: 34
We develop Atlas, an algorithm that also produces complete
Fig. 6: Heat maps of how often robots have been present on maps with sparse swarms. We show by simulation that Atlas
each cell, at the end of a simulation run. Results presented for outperforms the state-of-the-art in terms of mapping accuracy
a 100-robot swarm. The opacity of each cell is mapped to a and mapping speed.
different scale for each heat map. This research opens up several avenues for future work. Our
current simulator assumes an ideal network interconnecting the
Ramaithitima and Atlas are coordinated, with a central con- robots, yet real wireless networks suffer from limited range,
troller which ensures the exploration is done in a systematic limited capacity, and packet loss. Similarly, our simulator as-
way. Both exhibit a mostly constant exploration rate (a straight sumes perfect localization and ideal sensors. In a real system,
line in Fig. 4). The non-linearities of the Ramaithitima profile robots don’t always know exactly where they are, and are
are because of the different rooms being explored, creating equipped with sensors which might wrongly detect an obstacle.
“bursts” of explored cells. We also see that the 95% confidence R EFERENCES
interval widens for Ramaithitima at the end of the exploration,
[1] X. Huang, F. Arvin, C. West, S. Watson, and B. Lennox, “Exploration
as some explorations complete, others not. We can clearly see in Extreme Environments with Swarm Robotic System,” in International
the systematic nature of Atlas, which shows a linear mapping Conference on Mechatronics (ICM), 18-20 March 2019.
profile throughout the exploration. This is because Atlas is [2] M. Kegeleirs, D. Garzón Ramos, and M. Birattari, “Random Walk Ex-
ploration for Swarm Mapping,” in Towards Autonomous Robotic Systems
designed so robots always move toward non-explored areas. (TAROS), vol. 11650. Springer, 2019, pp. 211—-222.
[3] G. Li, D. Zhang, and Y. Shi, “An Unknown Environment Exploration
C. Mapping Speed Strategy for Swarm Robotics Based on Brain Storm Optimization Algo-
rithm,” in Congress on Evolutionary Computation (CEC). IEEE, 2019,
We call “mapping speed” the number of ticks from the pp. 1044–1051.
moment the first robot enters the area until the moment the [4] R. Ramaithitima, M. Whitzer, S. Bhattacharya, and V. Kumar, “Automated
area is fully mapped. Fig. 5 plots the mapping speed as Creation of Topological Maps in Unknown Environments Using a Swarm
of Resource-Constrained Robots,” IEEE Robotics and Automation Letters,
a function of the number of robots, for all algorithms for vol. 1, no. 2, pp. 746–753, 2016.
the floorplan scenario. For fair comparison, the speed (and [5] Z. Yan, L. Fabresse, J. Laval, and N. Bouraqadi, “Metrics for Performance
associated 95% confidence interval) are presented only for Benchmarking of Multi-robot Exploration,” in International Conference
on Intelligent Robots and Systems (IROS), 28 Sept - 2 Oct 2015.
cases where the mapping completes in all runs. No results [6] C. Pinciroli, V. Trianni, R. O’Grady, G. Pini, A. Brutschy, M. Brambilla,
appear for Ramaithitima as it often does not complete. N. Mathews, E. Ferrante, G. Di Caro, F. Ducatelle, M. Birattari, L. M.
In all cases, we see that the mapping is faster with more Gambardella, and M. Dorigo, “ARGoS: a Modular, Parallel, Multi-Engine
Simulator for Multi-Robot Systems,” Swarm Intelligence, vol. 6, no. 4,
robots, which is expected. We see that a coordinated algo- pp. 271–295, 2012.
rithm such as Atlas is significantly faster than uncoordinated [7] R. Vaughan, “Massively Multi-robot Simulation in Stage,” Swarm Intel-
algorithms (note the log scale on the y-axis). Interestingly, we ligence, vol. 2, pp. 189–208, 2008.
[8] R. Abu-Aisheh, F. Bronzino, M. Rifai, T. Watteyne, B. Kilberg, and
see that Ballistic performs very poorly when there are many K. Pister, “Exploration and Mapping using a Sparse Robot Swarm:
obstacles and few robots, and they tend to enter a repetitive Simulation Results,” Inria, Tech. Rep., 2020.
342
Authorized licensed use limited to: UNIVERSITY OF BRISTOL. Downloaded on August 30,2023 at 17:08:39 UTC from IEEE Xplore. Restrictions apply.