Résumé : 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.