Periodic Reporting for period 4 - DEMIURGE (Automatic Design of Robot Swarms)
Berichtszeitraum: 2021-04-01 bis 2022-09-30
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.
We have shown the flexibility of modular design by applying the approach to several different collective missions. We defined several modules that implement relevant low-level behaviors: exploration, attraction, repulsion, lattice formation, local communication, virtual pheromone laying and detection, phototaxis… We studied the possibility of automatically combining these modules in a probabilistic finite-state machine or in a behavior tree. We have studied various optimization algorithms that can drive the automatic design process.
We have shown that the same automatic design process, besides generating the control software, can also configure the hardware of the robot swarm. Specifically, we have shown that it can decide the size of the swarm and select among alternative hardware modules. We have integrated in the design process economic constraints—e.g. a cap on the cost of the hardware. This makes the process particularly realistic and close to the design problems that are encountered in practical applications.
We have demonstrated that an integrated design is possible that, starting from a mission specification expressed in a high-level textual language or via examples, automatically generates the control software of the robots.
Finally, we provided a novel conceptual framework to the problem of the automatic design of robot swarms, with a specific focus on off-line fully-automatic design.