We developed a language to specify requirements on a mission to be performed: control software can then be generated automatically. We also developed a method to specify requirements by examples and to automatically generate the desired control software.
We produced several modules and demonstrated that by combining them automatically into a modular architecture, a wide variety of collective behaviors can be produced. Among others, we produced modules for spatial organization; exploration; local communication/coordination using infrared signals, colored light, and virtual pheromone. Besides producing modules by hand, we have shown that they can be produced using artificial evolution. Concerning the architecture, we have illustrated the use of probabilistic finite-state machines and behavior trees. We studied the concurrent design of hardware and software under economic constraints and the emergence of communication semantics as a result of an automatic design process.
We implemented a local search approach that uses iterative improvement and simulated annealing to generate control software. We studied the possibility of using genetic programming and grammatical evolution to optimize behavior trees. We also studied further alternative optimization algorithms. In particular, we conceived a multi-objective optimization method to address missions expressed as compositions of tasks.
We developed a robot swarm that automatically conceives solution strategies online: it can autonomously sequence and perform actions whose correct order of execution is unknown at design time. As sequencing is a (simple) form of planning, this swarm is the first system in which the ability to plan emerges at the collective level from the interaction of reactive individuals. We designed a control algorithm that allows a subset of the robot swarm to arise, through a self-organized process, as a control entity over the rest of the swarm. This will allow us to move towards the automatic design of a self-aware robot swarm that will be able to assess its own performance. This will allow it to re-design itself at run-time to adapt to the possible changes in the environment.
We conducted studies on the applicability of complexity measures to robot swarm. These measures capture relevant features of the dynamics and to identify typical patterns in swarm behavior. We conjecture that these measures could be used to guide/constrain the design process and contribute to increasing the robustness to the reality gap. We studied the possibility to use off-policy evaluation and importance sampling to assess potential modifications to robot control software, eventually, guide the optimization process and make it more efficient.
We studied the nature of the reality gap and proposed methods to handle it and to measure its impact. We conducted a methodological study, with demonstrations and theoretical developments, on how to run experiments in the automatic design of robot swarms. We reconstructed the state of the art in the automatic design of robot swarms, and we performed an extensive empirical comparison of existing approaches. We developed tools to facilitate robot experiments. We implemented and shared as open-source packages several frameworks for the automatic design of robot swarms. Notably, we collected several reference models for the e-puck robot, and we developed implementations of the main approaches to the off-line automatic design. We started exploring the possibility of mapping unknown environments using a distributed swarm-based SLAM. To do so, we developed a new robotics platform, Mercator, which is based on the Sphero RVR. We created a ROS-ready operating system for the e-puck. We produced an integrated framework for AutoMoDe, an editor and visualization tool, and a platform-independent implementation. We developed an interactive arena for the e-pucks, and we created a hardware module for the e-puck to lay virtual pheromone. To investigate the application of automatic design to multi-robot construction, we designed a specialized robot and construction material. We also created models of these components in ARGoS.
Finally, we produced several papers in which we conceptually frame the automatic design of robot swarms, we discuss our vision, and we sketch perspectives.