Swarmlab: A M Drone Swarm Simulator: Atlab

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

2020 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)

October 25-29, 2020, Las Vegas, NV, USA (Virtual)

SwarmLab: a M ATLAB Drone Swarm Simulator


Enrica Soria, Student Member, IEEE, Fabrizio Schiano, Member, IEEE,
2020 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS) | 978-1-7281-6212-6/20/$31.00 ©2020 IEEE | DOI: 10.1109/IROS45743.2020.9340854

and Dario Floreano, Senior Member, IEEE,

Abstract— Among the available solutions for drone swarm


simulations, we identified a lack of simulation frameworks
that allow easy algorithms prototyping, tuning, debugging and
performance analysis. Moreover, users who want to dive in
the research field of drone swarms often need to interface
with multiple programming languages. We present SwarmLab,
a software entirely written in M ATLAB, that aims at the
creation of standardized processes and metrics to quantify
the performance and robustness of swarm algorithms, and in
particular, it focuses on drones. We showcase the functionalities
of SwarmLab by comparing two decentralized algorithms from
the state of the art for the navigation of aerial swarms in clut-
tered environments, Olfati-Saber’s and Vasarhelyi’s. We analyze
the variability of the inter-agent distances and agents’ speeds
during flight. We also study some of the performance metrics
presented, i.e. order, inter- and extra-agent safety, union, and Fig. 1. 3D swarm visualizations in SwarmLab. In (a), 5 quadcopter
connectivity. While Olfati-Saber’s approach results in a faster drones coordinate in collective flight, while, in (b), a swarm of 15 drones
crossing of the obstacle field, Vasarhelyi’s approach allows simulated with point-mass dynamics executes a collision avoidance maneu-
the agents to fly smoother trajectories, without oscillations. ver around an obstacle. Both snapshots are captured at 10s of simulation.
We believe that SwarmLab is relevant for both the biological
and robotics research communities, and for education, since it However, the first step towards the deployment of such
allows fast algorithm development, the automatic collection of complex systems in real-world scenarios is simulation [9].
simulated data, the systematic analysis of swarming behaviors
with performance metrics inherited from the state of the art. The development of algorithms and applications for au-
tonomous aerial vehicles requires the availability of a suitable
Index Terms: Swarms, Agent-Based Systems, Simulation and simulation framework for rapid prototyping and simulation
Animation, Aerial Systems: Applications
in reproducible scenarios. This is desirable in all robotics
S UPPLEMENTARY M ATERIAL fields, but it is especially relevant for collective systems such
as drone swarms, where errors can propagate through the
Supplementary video: https://youtu.be/xMXA9OWSxe8. individuals and lead to catastrophic results [10]. Although
SwarmLab is available on Github: https://github.com/lis- multiple open-source frameworks exist for simulating aerial
epfl/swarmlab. robots [11]–[14], the majority are focused on the realism of a
single robot and cannot manage a large number of drones in
I. I NTRODUCTION real-time. On the other side, simulators that support multiple
Drone applications have exploded in the last decade and, robots do not implement the nonlinear robot’s dynamics or
recently, the availability of inexpensive hardware has awoken they require the interaction with several programming lan-
the interest for aerial swarms where several flying robots guages. Besides, there is no framework that provides ready-
collaborate to achieve a collective task [1], [2]. Benefits to-use control algorithms, debugging tools and performance
of multi-drone systems are envisioned for a wide range of analysis functionalities for aerial swarms. The potential user
missions including search and rescue [3], long-term moni- has to develop their own tools compatible with the chosen
toring [4], sensor data collection [5], indoor navigation [6], framework, which are not standard and prone to error.
environment exploration [7], and cooperative grasping and In this work we propose SwarmLab, a simulator for single
transportation [8]. In the entertainment industry, the latest drones and drone swarms. Its main goal is to propose an
challenge is the coordination of fleets of hundreds of drones alternative to existing robotic simulation solutions, that is
that light up the night sky with aerial shows, as Intel1 and explicitly centered on drone swarms (see Fig. 1). We used
Ehang2 have displayed. M ATLAB3 , a scripting programming platform that allows
us to implement and debug algorithms rapidly, use a large
The authors are with the Laboratory of Intelligent Systems (LIS), École database of built-in functionalities, and create plots and
Polytechnique Fédérale de Lausanne (EPFL), 1015 Lausanne, Switzerland. videos with minimum effort. SwarmLab allows both accurate
Corresponding author: enrica.soria@epfl.ch simulation of one drone, and efficient simulation of swarming
1 https://intel.com/content/www/us/en/technology-innovation/aerial-
technology-light-show.html
2 https://ehang.com/formation 3 https://mathworks.com/products/matlab.html

978-1-7281-6212-6/20/$31.00 ©2020 IEEE 8005

Authorized licensed use limited to: Cranfield University. Downloaded on May 04,2022 at 15:47:48 UTC from IEEE Xplore. Restrictions apply.
provides APIs for a large number of programming languages
and includes drone models [12] natively. The V-REP simu-
lator, now continued under the name of CoppeliaSim, offers
features for easier editing of robots and other models [13].
Development can be performed by means of the built-in
Lua interpreter or by using a C or Python API. More
oriented to swarm robotics, ARGoS represents a lightweight
alternative that offers a good tradeoff between scalability and
extensibility [19]. It allows the user to simulate a larger
number of robots and it provides the possibility to use
physics engines of different types, but it does not include
Fig. 2. Aerial swarms publications. Number of publications con- drone models natively. Robots can be programmed either
taining the words ‘aerial swarms‘ between the years 2000 and 2019. through Lua scripts or in C++. Specifically dedicated to
Source: http://apps.webofknowledge.com.
drones and cars, AirSim [14] is a more recent simulator built
behaviors with hundreds of agents. Concerning swarming, on Unreal Engine 4 and as Gazebo, it allows SITL integration
which is our focus, we provide support for fast instanti- of flight controllers such as PX4. In AirSim, multi-agent
ation of drone swarms, and the creation of environments simulations are easy to set up, and custom functionalities
with obstacles. We also include control algorithms from the can be coded thanks to C++ and Python APIs.
state of the art, extensive plotting and debugging tools, 3D All the simulators above are based on powerful 3D ren-
visualization functionalities, and performance analysis tools. dering engines, and they are mainly coded in C++. As a
These features make our software relevant for the booming consequence, they provide graphical realism. However, they
biological and robotics research communities in the field of often require familiarity with more than one programming
aerial swarms (see Fig. 2), and for education. language. Also, they necessitate the addition of custom
The rest of the paper is organized as follows. Sec- features for simulating an aerial swarm, which makes these
tion II discusses available alternatives for robotic and, more simulators unsuitable for quick tests. V-REP and WeBots
specifically, drone simulations, while highlighting the gap include drone models natively, but drone swarm control and
that we aim to fill with SwarmLab. Section III describes navigation algorithms must be designed, coded, and tuned
the architecture of the software and guides potential users by the user.
through its main functionalities. Finally, Section IV shows The simulators mentioned above are general-purpose
how SwarmLab can be used for a comparative analysis robotic simulators. Instead, specific to drone simulation, we
of swarm algorithms and analyzes the computational time find the work by Beard et al. [23]. They describe fixed-
required for different simulation configurations. wing drone systems with a waterfall architecture, where high-
level blocks steer the drone to a goal destination, and lower-
II. R ELATED W ORK level blocks simulate physics and sensors. Driven by educa-
Currently, many robotic simulators are available on the tional purposes, the authors released open-source templates
market. A subset of them allows drone swarm simulations, in M ATLAB and Simulink5 . However, this work does not
but still require a considerable amount of time and pro- include quadcopter dynamics and swarming functionalities.
gramming languages for the prototyping and testing of aerial However, it constitutes the foundation of SwarmLab.
swarms algorithms, with the inconveniences stated in Sec I. To the best of our knowledge, the only publicly available
A complete survey of the state of the art in robotic simulation simulators geared towards aerial swarms are robotsim6 [24]
is beyond the scope of this paper (see [15]–[17] for a more and the work of D’Urso et al. [25]. The first is a simulator
detailed overview and performance comparison). Instead, we written in C and, although it goes in the direction of Swarm-
aim to highlight the main features they offer and point out Lab, no drone dynamics are implemented and architectural
the needs that led to the development of SwarmLab. modularity is missing. The second is a software middleware
Among the most well-known open-source 3D simulators that coordinates available tools (Gazebo, ArduCopter7 and
for robots, we find Gazebo, WeBots, V-REP, ARGoS, and, ns-38 ) for the realistic simulation of the physics, graphics,
more recently, AirSim [11]–[14], [18], [19]. Gazebo [11], flight control stack, and communication of interconnected
[18] can simulate the physics and dynamics of any mechani- drones and computers. This software is thought as a bridge
cal structure modeled with joints, and it offers a large library towards a real-world implementation. However, its realism
of ready-to-use models, drones included. Gazebo also allows comes at the expense of its ease of use. Indeed, this simulator
integration with flight controller stacks for Software-In-The- does not have the advantage of being contained within a
Loop (SITL) drone simulation [20]. Alternatively, RotorS is single software such as M ATLAB. Moreover, none of the
an extension to Gazebo designed for multirotors that includes
4 https://www.unrealengine.com
example controllers, besides additional models and simulated 5 https://github.com/randybeard/mavsim template files
sensors [21], [22]. Users can code their functionalities in 6 https://github.com/csviragh/robotsim
C++ and interface through ROS. WeBots, recently released 7 https://ardupilot.org/copter/

open-source, uses the same physics engine of Gazebo, but 8 https://www.nsnam.org/

8006

Authorized licensed use limited to: Cranfield University. Downloaded on May 04,2022 at 15:47:48 UTC from IEEE Xplore. Restrictions apply.
simulators mentioned in this section provide functionalities east and down position coordinates in the inertial
for plotting, analysis, and performance assessment of the frame, the linear velocity measured along the x, y, z
collective motion, which represents a limitation that we axes of the body frame, three Euler angles describing
intend to overcome. the drone orientation, i.e. roll, pitch, and yaw, and the
angular velocities measured in the body frame,
III. S OFTWARE ARCHITECTURE
• path planning variables, including a list of waypoints,
SwarmLab is written in M ATLAB for several reasons. • graphic variables for the visualization of the drone and
Firstly, this is a scripting language that operates at a high the plotting of the state variables.
level of abstraction and therefore does not require extensive The methods provided by this class allow the creation of new
programming experience. Secondly, this framework provides instances, the computation of the kinematics and dynamics
several built-in toolboxes for design, control, analysis, and based on the physical parameters, and the control of the
visualization of the studied systems, that reduce even further drone thanks to one of the two autopilots tailored for either
the programming effort and make it widely popular among quadcopters or fixed-wing drones. Moreover, for the simula-
the scientific community for education and research appli- tion of a single-drone mission, high-level functionalities for
cations. Moreover, code generation features are available path navigation are provided, following the same structure
to automatically translate the code to C/C++ and reduce of [23].
the computational time or embed the algorithms on the
robots controllers. SwarmLab follows the Object Oriented B. Swarm
Programming (OOP) paradigm and its modular structure is The Swarm class contains the necessary properties and
made of the following main components: methods to instance, initialize and manage Swarm objects.
• parameter scripts for the single drone, swarm, and These objects are made of an ensemble of dynamic agents
environment definitions; of type Drone. Their fundamental properties are:
• the Drone and Swarm classes; • drones: a vector of Drone objects,
• graphical classes that allow run-time and offline 3D • nb agents: the number of agents included in the swarm,
visualization of the Drone/Swarm, their state variables • algorithm: the selected algorithm for swarm navigation.
and performance; The workflow of a swarm simulation is summarized in
• example scripts and a README file that guide the user
Fig. 3. The user can start a simulation either by running
through the main functionalities of the simulator. an example script or by interacting with a Graphical User
In this work, we call a swarm a set of N agents labeled Interface (GUI) that accounts for real-time changes of the
by i ∈ {1, . . . , N }. The position and velocity of the i-th swarm parameters. When the simulation starts, a number of
agent in the inertial frame are denoted by pi and vi ∈ R3 , Drone instances are created and added to the Swarm. Also,
respectively. To keep our notation concise we let dij = the user can decide to instance a swarm viewer to visualize
kpj − pi k represent the distance between two agents i and the evolution of the swarm state during the simulation
j, where k · k denotes the Euclidean norm. We model the time. The main simulation loop computes at every iteration
swarm with a directed sensing graph G = (V, E), where the the control commands for every drone of the swarm and
vertex set V = {1 . . . N } represents the agents, and the edge updates their states. Control commands for a given drone i
set E ⊆ V × V contains the pairs of agents (i, j) ∈ E for only depend on its neighbors Ni . Depending on the user’s
which agent i can sense agent j. We denote as Ni = {j ∈ choice, the Swarm class uses a different swarm algorithm
V| (i, j) ∈ E} ⊂ V the set of neighbors of an agent i in G. to compute commands for every drone. Alternatively, the
Another concept we borrow from algebraic graph theory is user can implement and test their own control algorithm as
the algebraic connectivity that can be measured through the a method of the Swarm class where the drones’ states are
so-called connectivity eigenvalue. This is the second smallest accessible, by following the available examples.
eigenvalue of the Laplacian matrix [26] associated with the
undirected graph G 0 obtained from G and it is usually denoted C. Swarm algorithms
by λ2 . The agents are drones, and we will mainly consider In SwarmLab, we implemented and adapted two represen-
quadcopters. Also, we consider a set of M obstacles labeled tative algorithms belonging to the category of decentralized
by m ∈ {1, . . . , M } that populate the environment. swarming. The reason for this choice is that a decentralized
approach can make the system easily scalable and robust
A. Drone
to the failures of a single individual. The first algorithm is
The Drone class represents the building block for simulat- authored by Olfati-Saber, who proposes a formal theoretical
ing a swarm. This class supports the definition of quadcopters framework for the design and analysis of swarm algorithms
or fixed-wing drones, based on the models in [27] and [23] based on potential fields and graph theory [28]. It is based
respectively. A Drone instance is defined by: on the construction of a collective potential that penalizes
• parameters related to the chosen platform (e.g., mass, the deviation of the agents from a lattice shape. In addition,
aerodynamic and control parameters), a consensus term makes the agents agree on their speed
• current state vector: (pn , pe , pd , u, v, w, φ, θ, ψ, p, q, r) ∈ and velocity direction. At the equilibrium, in the absence of
R12 . This vector is respectively composed by the north, obstacles, the agents occupy positions at a constant distance

8007

Authorized licensed use limited to: Cranfield University. Downloaded on May 04,2022 at 15:47:48 UTC from IEEE Xplore. Restrictions apply.
Fig. 3. SwarmLab simulation workflow. From the top left, in clockwise order: (1) in the GUI, the user sets the parameters related to the simulation,
drone typology, swarm algorithm and environment. Alternatively, parameters can be set in specific M ATLAB scripts. Then, he launches the simulation; (2)
the main simulation loop computes control commands for the drones, based on the information of the map and neighboring drones; (3) both real-time
and post-simulation plotting of the state variables help the user with the analysis and debugging of the swarming behavior. Moreover, at the end of the
simulation the user can inspect the swarm performance metrics.

(e.g., mapping, area coverage, search and rescue), we require


the swarm to fly in a specific direction. To this aim, we allow
the selection between the consensus on velocity in Olfati-
Saber’s algorithm, or the velocity alignment in Vasarhelyi’s
algorithm and a so-called migration term that penalizes
deviations from a given velocity.
In decentralized approaches, one agent’s movement is only
influenced by local information coming from its neighbors.
Neighbors selection can be operated according to different
metrics. Two widely adopted ones are the euclidean and
the topological distances [29], [30]. The euclidean distance
defines Ni as the set of agents j 6= i within a constant
radius of influence r from agent i. The cardinality of this set
Fig. 4. Neighbor selection. Illustration of different neighborhoods for depends on the density of the swarm. Instead, the topological
varying values of the euclidean (first row) and topological distance (second
row). The focal agent i, i.e. the agent taken into account, is highlighted in distance defines Ni as the number nn of nearest agents to i,
red, while its neighbors j ∈ Ni are in light red. On top, the shaded areas as illustrated in Fig. 4. In the latter case, the cardinality does
indicate the influence area of the focal agent. not depend on the density. In our software, both distances
are implemented, and they can be set before starting the
simulation.
from their neighbors and translate with constant velocity. The For the navigation in cluttered environments, we provide
second algorithm we implemented is an adaptation of the a map that generates cylindrical obstacles with parametric
recent Vasarhelyi’s algorithm, defined by the following rules: size and density (see Fig. 5). In both Olfati-Saber’s and
repulsion to avoid inter-agent collisions, velocity alignment Vasarhelyi’s algorithms, the obstacle avoidance behavior is
to steer the agents to an average direction, and self-propulsion modeled via virtual agents. These are additional agents to
to match a preferred speed value [24]. In addition, the which we assign a position and velocity that depend on the
algorithm includes friction forces that reduce oscillations obstacles configuration, and they act on drones as if they
and ease the implementation on real robots. Finally, both were normal agents.
algorithms propose an obstacle avoidance behavior to deal SwarmLab offers two modalities for swarm simulation:
with convex obstacles. In several engineering applications the high-fidelity mode simulates quadcopter drones, where

8008

Authorized licensed use limited to: Cranfield University. Downloaded on May 04,2022 at 15:47:48 UTC from IEEE Xplore. Restrictions apply.
performance during flight, we use five metrics adopted in
previous work [31]. These metrics were inspired by robotic
and biological studies of aerial swarms:
• the order metric, Φo : it captures the correlation of the
agents’ movements and gives an indication about how
ordered the flock is. We express it by
1 X vi · vj
Φo = .
N (N − 1) kvi kkvj k
i,j6=i
• The safety metrics, Φs,ag and Φs,obs : they respectively
measure the risk of collisions among the swarm agents
Fig. 5. Maps with varying obstacle density. Cylindrical obstacles are or between agents and obstacles. We denote with rag
distributed on the map to reproduce a forest-like environment. The obstacle
density increases from left to right. Thanks to the obstacle avoidance the collision radius of an agent. Instead, robs denotes
behavior, the swarm agents are able to avoid collisions with the environment. the obstacle radius. The number of inter-agent collisions
is nag = |{(i, j) s.t. j 6= i ∧ dij < 2rag }|, while the
realistic dynamics and control are implemented, while the number of collisions with obstacles is nobs = |{(i, m) ∧
second approximates the drone dynamics with the dynamics dim < rag +robs }|. Therefore, the inter-agent safety and
of a point mass, whose state is defined by inertial position the safety with obstacles can be expressed as
and velocity. This is meant to trade-off simulation fidelity nag nobs
Φs,ag = 1 − , Φs,obs = 1 − .
and computational efficiency (see Sec. V for more details). N (N − 1) N
• The union metric, Φu : it counts the number of indepen-
D. Graphical User Interfaces (GUIs) dent subgroups that originates during the simulation.
For introducing the user to the simulator functionalities We define nc as the number of connected components
we provide two GUIs: one for selecting the parameters of the undirected graph that corresponds to the flock
related to single drones simulations and one for aerial swarms topology, then it holds
simulations. The latter is split into sections that allow the user nc − 1
to select the drone dynamics, either quadcopter or point- Φu = 1 − .
N −1
mass, the main swarm parameters such as the number of • The connectivity metric, Φc : it is defined from the alge-
drones, the preferred value of the inter-agent distance, the braic connectivity of the sensing graph that underlines
speed and orientation of the swarm motion, and simulation the considered swarm configuration as
parameters such as the simulation time duration, the presence λ2
of debugging plots and the creation of a map with obstacles. Φc =
N
where λ2 is defined above. Notice that Φc 6= 0 only
E. Plotting tools
when Φu = 1. In this sense, the connectivity metric is
One of the most critical parts of programming is verifying complementary to the union metric.
the validity of the code and algorithms. To this aim, a
user needs tools to analyze the state of the system and IV. C OMPARISON OF SWARM ALGORITHMS AND
find the origin of potential faults. SwarmLab allows the COMPUTATIONAL TIME ANALYSIS
tracking of: (i) inter-agent distance and distance to obstacles, In this section, we present the results of the comparison of
in order to detect collisions, (ii) swarm speed, useful for two swarm algorithms enabled by SwarmLab. Moreover, we
instance to monitor slow-down effects in front of obstacles, present an analysis of the computational time of the simulator
(iii) acceleration, to observe its variability and, hence, the in different modes.
efficiency of the algorithm. State plotting is possible both To compare swarm algorithms, we present a use case
during the simulation, run-time, and at the end, offline. Run- where 25 agents fly in a cluttered environment. We select
time is useful for debugging, while offline is practical when point-mass dynamics, and we perform the neighbor selection
the user does not want to slow down the simulation with the with nn = 10 and r = 150. The agents’ initial positions are
addition of graphic features. Single-drone plotting can be randomly selected in a cubic volume, and the swarm is let
used simultaneously to observe the state of a specific drone navigate over 100s in the direction of increasing values of
in the swarm. the x position. Both swarm algorithms described in Sec. III-B
are tested and the graphical outputs are reported in Fig. 6. We
F. Performance analysis notice that Olfati-Saber’s algorithm prioritizes the tracking of
The presence of obstacles in the environment can threaten the speed reference value (see Fig. 6c), while Vasarhelyi’s
the ability of the agents to remain cohesive during their one allows the agent to slow down in front of obstacles to
mission and prevent them from flying smoothly in the migra- better match the reference inter-agent distance (see Fig. 6b).
tion direction. In these situations, the swarm may split into The minimum distance threshold in Fig. 6b is never crossed
multiple subgroups with no influence on one another, and with both algorithms, which means that no inter-agent col-
collisions may occur. To evaluate the collective navigation lisions occur. By examining the trajectories, in Fig. 6a and

8009

Authorized licensed use limited to: Cranfield University. Downloaded on May 04,2022 at 15:47:48 UTC from IEEE Xplore. Restrictions apply.
Fig. 6. Comparison of two swarm algorithms. Olfati-Saber’s plots are in red, while Vasarhelyi’s plots are in blue. The simulation time is 100s for
both algorithms. In (a) we observe the top view of the trajectories of 25 agents, flying in an obstacle field from lower to higher values of the x position. In
(b) and (c) inter-agent distances and speeds are compared, in terms of average, minimum, and maximum values. The reference values are in dashed lines,
while the collision threshold, the radius of influence r, and the maximum speed are in dashdotted lines. Two of the presented performance metrics are
compared in (d), the order (Φo ) and the connectivity (Φc ). Finally, (e) shows the zoom in of the trajectories of the agents around obstacles, from above.

Fig. 6e, we see that the obstacle avoidance behavior of the to the simulation time. Instead, a value equal to two indicates
second algorithm allows a smoother interaction of the agents that the computational time is twice the simulation time.
with obstacles and reduces their oscillations, while in the first The trend we notice is the same for both swarm algorithms
case, both in the trajectories and speed we observe prominent and both drone typologies. As expected, when modelling the
oscillations. Concerning the order Φo , better performance is drones as point-masses the real-time factor is significantly
obtained with Vasarhelyi’s algorithm (see Fig. 6d). Indeed, lower. For instance, when we consider a swarm of 64 agents
oscillations around obstacles prevent ordered flight in the the real-time factor is close to 0.5 for the Vasarhelyi’s
case of Olfati-Saber’s swarming. On the contrary, at the algorithm and 0.9 for the Olfati-Saber’s algorithm. Instead,
end of the simulation, Olfati-Saber’s swarm order is higher. when a full nonlinear quadcopter dynamics is used with the
Indeed, once that the agents quit the obstacle field, in the same amount of agents, the real-time factor increases up to
free space, their velocity converges to the migration one. 4.6 for the Vasarhelyi’s algorithm and 5.2 for the Olfati-
Contrarily, while the agents fly among obstacles, connectivity Saber’s one.
Φc is slightly better in Olfati-Saber’s case, and vice versa in
the free space. Being connectivity related to the speed of the V. C ONCLUSIONS AND FUTURE WORK
information flow among the agents, good values are preferred In this paper, we presented a versatile and scalable drone
in scenarios where information-sharing among the agents is swarm simulator entirely written in M ATLAB that integrates
crucial (e.g., cooperative localization). built-in functionalities for collective navigation, debugging
To evaluate the computational time, we run the two swarm of the algorithms, and performance analysis. We believe
algorithms with up to 1024 agents without any graphical that this framework can serve as a development tool and a
output. The simulation time is arbitrarily set to 20 seconds. comparative platform for the growing research community in
The hardware used is a DELL Precision Tower with a aerial swarms, and for education. With reduced coding effort,
3.6 GHz Intel Core i7-7700 processor and 16 GB 2400 the user can change parameters, edit their code, run and test it
MHz RAM. The results are reported in Fig. 7, where the in a single scripted programming language. Regarding future
computational time is expressed in terms of real-time factor. work, we will focus on the improvement of the computational
A real-time factor equal to one means that the computational time to allow faster simulation of large swarms. For this,
time required by the computer to run the simulation is equal we will consider automatic C/C++ code generation from

8010

Authorized licensed use limited to: Cranfield University. Downloaded on May 04,2022 at 15:47:48 UTC from IEEE Xplore. Restrictions apply.
[12] O. Michel, “Cyberbotics ltd. webotsTM : professional mobile robot sim-
ulation,” International Journal of Advanced Robotic Systems, vol. 1,
no. 1, 2004.
[13] E. Rohmer, S. P. N. Singh, and M. Freese, “V-REP: A versatile and
scalable robot simulation framework,” in 2013 IEEE/RSJ International
Conference on Intelligent Robots and Systems, 2013, pp. 1321–1326.
[14] S. Shah, D. Dey, C. Lovett, and A. Kapoor, “AirSim: High-Fidelity
Visual and Physical Simulation for Autonomous Vehicles,” in Field
and Service Robotics. Springer International Publishing, 2018, pp.
621–635.
[15] L. Pitonakova, M. Giuliani, A. Pipe, and A. Winfield, Feature and
Performance Comparison of the V-REP , Gazebo and ARGoS Robot
Simulators. Springer International Publishing, 2018.
[16] A. Staranowicz and G. L. Mariottini, “A survey and comparison of
commercial and open-source robotic simulator software,” in Proceed-
ings of the 4th International Conference on PErvasive Technologies
Related to Assistive Environments, 2011.
Fig. 7. Real-time factor for varying sizes of the swarm. The number of [17] M. S. P. de Melo, J. G. da Silva Neto, P. J. L. da Silva, J. M.
drones goes from 2 to 1024. Two swarm algorithms (Vasarhelyi’s and Olfati- X. N. Teixeira, and V. Teichrieb, “Analysis and comparison of robotics
Saber’s) and two dynamics (point-mass and quadcopter) are compared. 3d simulators,” in 2019 21st Symposium on Virtual and Augmented
Reality (SVR). IEEE, 2019, pp. 242–251.
[18] N. Koenig and A. Howard, “Design and use paradigms for gazebo, an
M ATLAB. Moreover, noise modeling and delays should be open-source multi-robot simulator,” in 2004 IEEE/RSJ International
considered to narrow the gap between simulation and reality. Conference on Intelligent Robots and Systems (IROS) (IEEE Cat.
Finally, another challenge for future works is the integration No.04CH37566), vol. 3. IEEE, 2004, pp. 2149–2154.
[19] C. Pinciroli, V. Trianni, R. O’Grady, G. Pini, A. Brutschy, M. Bram-
of automatic parameter tuning for the swarm algorithms as billa, N. Mathews, E. Ferrante, G. Di Caro, F. Ducatelle, M. Birattari,
done in [24]. This will allow to optimize the swarming L. M. Gambardella, and M. Dorigo, “ARGoS: A modular, parallel,
behavior for a given environment or task with respect to multi-engine simulator for multi-robot systems,” Swarm Intelligence,
vol. 6, no. 4, pp. 271–295, 2012.
the implemented performance metrics. [20] L. Meier, D. Honegger, and M. Pollefeys, “PX4: A node-based
ACKNOWLEDGMENTS multithreaded open source robotics framework for deeply embedded
platforms,” in 2015 IEEE International Conference on Robotics and
We thank Andrea Giordano, Victor Delafontaine, Fabian Automation (ICRA). IEEE, 2015, pp. 6235–6240.
Schilling, and Anthony De Bortoli for their valuable con- [21] F. Furrer, M. Burri, M. Achtelik, and R. Siegwart, Robot Operating
System (ROS): The Complete Reference (Volume 1). Cham: Springer
tribution. This work was supported by the Swiss National International Publishing, 2016, ch. RotorS—A Modular Gazebo MAV
Science Foundation with grant number 200020 188457 and Simulator Framework, pp. 595–625.
the European project RoboCom++. [22] C. McCord, J. P. Queralta, T. N. Gia, and T. Westerlund, “Distributed
progressive formation control for multi-agent systems: 2d and 3d
R EFERENCES deployment of uavs in ros/gazebo with rotors,” in 2019 European
Conference on Mobile Robots (ECMR). IEEE, 2019.
[1] D. Floreano and R. J. Wood, “Science, technology and the future of [23] R. W. Beard and T. W. McLain, Small Unmanned Aircraft: Theory
small autonomous drones,” Nature, vol. 521, no. 7553, pp. 460–466. and Practice. Princeton University Press, oCLC: ocn724663112.
[2] F. Schilling, J. Lecoeur, F. Schiano, and D. Floreano, “Learning [24] G. Vásárhelyi, C. Virágh, G. Somorjai, T. Nepusz, A. E. Eiben, and
vision-based flight in drone swarms by imitation,” IEEE Robotics and T. Vicsek, “Optimized flocking of autonomous drones in confined
Automation Letters, vol. 4, no. 4, pp. 4523–4530, 2019. environments,” Science Robotics, vol. 3, no. 20, 2018.
[3] M. Bernard, K. Kondak, I. Maza, and A. Ollero, “Autonomous [25] F. D’Urso, C. Santoro, and F. F. Santoro, “An integrated framework
transportation and deployment with aerial robots for search and rescue for the realistic simulation of multi-UAV applications,” vol. 74, pp.
missions,” vol. 28, no. 6, pp. 914–931, 2011. 196–209.
[4] J. Zhang, J. Hu, J. Lian, Z. Fan, X. Ouyang, and W. Ye, “Seeing the [26] M. Fiedler, “Laplacian of graphs and algebraic connectivity,” Banach
forest from drones: Testing the potential of lightweight drones as a Center Publications, vol. 25, no. 1, pp. 57–70, 1989.
tool for long-term forest monitoring,” vol. 198, pp. 60–69, 2016. [27] S. Bouabdallah and R. Siegwart, “Full control of a quadrotor,” in 2007
[5] A. T. Erman, L. van Hoesel, P. Havinga, and J. Wu, “Enabling mobility IEEE/RSJ International Conference on Intelligent Robots and Systems.
in heterogeneous wireless sensor networks cooperating with uavs for Ieee, 2007, pp. 153–158.
mission-critical management,” vol. 15, no. 6, pp. 38–46, 2008. [28] R. Olfati-Saber, “Flocking for Multi-Agent Dynamic Systems: Algo-
[6] T. Stirling, J. Roberts, J.-C. Zufferey, and D. Floreano, “Indoor rithms and Theory,” IEEE Transactions on Automatic Control, vol. 51,
navigation with a swarm of flying robots,” in 2012 IEEE International no. 3, pp. 401–420, 2006.
Conference on Robotics and Automation. IEEE, 2012, pp. 4641–4647. [29] A. Strandburg-Peshkin, C. R. Twomey, N. W. F. Bode, A. B. Kao,
[7] K. N. McGuire, C. D. Wagter, K. Tuyls, H. J. Kappen, and G. C. Y. Katz, C. C. Ioannou, S. B. Rosenthal, C. J. Torney, H. S. Wu,
H. E. de Croon, “Minimal navigation solution for a swarm of tiny S. A. Levin, and I. D. Couzin, “Visual sensory networks and effective
flying robots to explore an unknown environment,” Science Robotics, information transfer in animal groups,” Current Biology, vol. 23,
vol. 4, no. 35, p. eaaw9710, 2019. no. 17, pp. R709–R711, 00144.
[8] D. Mellinger, M. Shomin, N. Michael, and V. Kumar, “Cooperative [30] M. Ballerini, N. Cabibbo, R. Candelier, A. Cavagna, E. Cisbani,
grasping and transport using multiple quadrotors,” in Distributed I. Giardina, V. Lecomte, A. Orlandi, G. Parisi, A. Procaccini, M. Viale,
autonomous robotic systems, 2013, pp. 545–558. and V. Zdravkovic, “Interaction ruling animal collective behavior
[9] P. S. Andrews, S. Stepney, and J. Timmis, “Simulation as a scientific depends on topological rather than metric distance: Evidence from
instrument,” in Proceedings of the 2012 workshop on complex systems a field study,” Proceedings of the National Academy of Sciences, vol.
modelling and simulation, Orleans, France, 2012. 105, no. 4, pp. 1232–1237, 2008.
[10] B. Huang, C. Yu, and B. D. O. Anderson, “Understanding Error Prop- [31] E. Soria, F. Schiano, and D. Floreano, “The influence of limited visual
agation in Multihop Sensor Network Localization,” vol. 60, no. 12, sensing on the Reynolds flocking algorithm,” IEEE Third International
pp. 5811–5819, 2013. Conference on Robotic Computing (IRC), 2019.
[11] J. Meyer, A. Sendobry, S. Kohlbrecher, U. Klingauf, and O. von
Stryk, “Comprehensive simulation of quadrotor uavs using ros and
gazebo,” in 3rd Int. Conf. on Simulation, Modeling and Programming
for Autonomous Robots (SIMPAR), 2012.

8011

Authorized licensed use limited to: Cranfield University. Downloaded on May 04,2022 at 15:47:48 UTC from IEEE Xplore. Restrictions apply.

You might also like