|Swarm robotics is a young multidisciplinary research field at the
intersection of disciplines such as distributed systems, robotics,
artificial intelligence, and complex systems. Considerable research
effort has been dedicated to the study of algorithms targeted to
specific problems. Nonetheless, implementation and comparison remain difficult due to the lack of shared tools and benchmarks. Among the tools necessary to enable experimentation, the most fundamental is a simulator that offers an adequate level of accuracy and flexibility to suit the diverse needs of the swarm robotics
community. The very nature of swarm robotics, in which systems may comprise large numbers of robots, forces the design to provide
runtimes that increase gracefully with increasing swarm sizes.
In this thesis, I argue that none of the existing simulators offers
satisfactory levels of accuracy, flexibility, and efficiency, due to
fundamental limitations of their design. To overcome these
limitations, I present ARGoS---a general, multi-robot simulator that
currently benchmarks as the fastest in the literature.
In the design of ARGoS, I faced a number of unsolved issues. First, in existing simulators, accuracy is an intrinsic feature of the
design. For single-robot applications this choice is reasonable, but
for the large number of robots typically involved in a swarm, it
results in an unacceptable trade-off between accuracy and
efficiency. Second, the prospect of swarm robotics spans diverse
potential applications, such as space exploration, ocean restoration,
deep-underground mining, and construction of large structures. These applications differ in terms of physics (e.g., motion dynamics) and available communication means. The existing general-purpose simulators are not suitable to simulate such diverse environments accurately and efficiently.
To design ARGoS I introduced novel concepts. First, in ARGoS accuracy is framed as a property of the experimental setup, and is tunable to the requirements of the experiment. To achieve this, I designed the architecture of ARGoS to offer unprecedented levels of modularity. The user can provide customized versions of individual modules, thus assigning computational resources to the relevant aspects. This feature enhances efficiency, since the user can lower the computational cost of unnecessary aspects of a simulation.
To further decrease runtimes, the architecture of ARGoS exploits the computational resources of modern multi-core systems. In contrast to existing designs with comparable features, ARGoS allows the user to define both the granularity and the scheduling strategy of the parallel tasks, attaining unmatched levels of scalability and efficiency in resource usage.
A further unique feature of ARGoS is the possibility to partition the
simulated space in regions managed by dedicated physics engines
running in parallel. This feature, besides enhancing parallelism,
enables experiments in which multiple regions with different features are simulated. For instance, ARGoS can perform accurate and efficient simulations of scenarios in which amphibian robots act both underwater and on sandy shores.
ARGoS is listed among the major results of the Swarmanoid
project. It is currently
the official simulator of 4 European projects
(ASCENS, H2SWARM, E-SWARM, Swarmix) and is used by 15
universities worldwide. While the core architecture of ARGoS is
complete, extensions are continually added by a community of
contributors. In particular, ARGoS was the first robot simulator to be
integrated with the ns3 network simulator, yielding a software
able to simulate both the physics and the network aspects of a
swarm. Further extensions under development include support for
large-scale modular robots, construction of 3D structures with
deformable material, and integration with advanced statistical
analysis tools such as MultiVeStA.