Periodic Reporting for period 3 - DEMIURGE (Automatic Design of Robot Swarms)
Reporting period: 2019-10-01 to 2021-03-31
We produced a Manifesto of the automatic design of robot swarms. This work is the result of the reasoning and the discussion that took place within the context of the DEMIURGE project. In the Manifesto, we discuss the relevance of the automatic design of robot swarms and we highlight our perspective. We critically discuss the relevant literature, we elaborate on the open issues, we illustrate the most significant research questions, and we sketch our vision on the development of the field.
Information theoretic and complexity measures are receiving increasing interest from research communities in robotics. We conducted a preliminary study on the applicability of complexity measures to robot swarm dynamics: we compared and analyzed many measures. These measures were able to capture relevant features of robot swarm dynamics and to identify typical patterns in swarm behavior. We wrote a perspective paper on how complexity measures could play a role in the automatic design of robot swarms.
We have extended the existing ARGoS simulator for simulating the e-puck robot in the configuration adopted in the project and for cross-compiling control software for this platform. We have re-implemented under a common framework some preexisting method for the automatic design of robot swarms. We made the software we produced publicly available.
We have studied the possibility of using behavior trees as a control architecture in the automatic design of control software for robot swarms. We have devised a novel automatic design method, Maple, that successfully assembles pre-defined behavioral modules into a behavior tree.
We have studied the possibility of generating automatically control software for a swarm of robots that are able to communicate by exchanging a one-bit message, whose semantic is a priori undefined. We have devised a novel automatic design method, Gianduja, in which
the semantics of the message is automatically defined on a per-mission basis by the design process.
We have studied the automatic selection and tuning of exploration schemes to be used in the context of distributed collective mapping.
We have studied the possibility of using simulated annealing and other local search algorithms in the context of the automatic design of robot swarms. We compared a number of optimization algorithms and studied their ability to generate control software in the form of finite-state machines and behavior trees for different missions.
We developed a robot swarm that automatically conceives solution strategies online. Specifically, this swarm autonomously sequences and performs actions whose correct order of execution is unknown at design time. As sequencing is a (simple) form of planning, our swarm is the first system in which the ability to plan emerges at the collective level from the interaction of reactive individuals.
We demonstrated and analyzed an original method for the concurrent automatic design of the hardware and the control software of a robot swarm. The study is performed in simulation only: the hardware modules that are selected, assembled and fine-tuned are realistic and possibly realizable but, for the moment they are only simulated.
The reality gap—the discrepancy between reality and simulation—is a critical issue in the automatic off-line design of control software for robot swarms. We have studied and illustrated the nature of the reality gap in the automatic off-line design of control software for robot swarms. We did so via a set of simulation-only experiments that allowed us to gain new insight and contribute to the formal definition of the issue.
To investigate the application of automatic design to more complex tasks (e.g. multi-robot construction), we have designed a specialized robot and construction material. We have also created models of these components in ARGoS. Initially, we intended to create new e-puck modules for these experiments, however, limitations in the platform required us to design dedicated hardware.
We designed a control algorithm that allows a subset of the swarm to arise, through a self-organized process, as a control entity over the rest of the system. This will allow us to move towards the automatic design of a self-aware robot swarm able to assess its own performance and re-design itself at run-time to adapt to the possible changes in the environment.
We participated in the development of the irace package for R. We proposed the addition of conditional parameters that allows ruling out unfeasible configurations. We implemented a local search approach that uses iterative improvement to generate control software in the form of finite-state machines and behavior trees. We assessed the approach over several missions: it shows promising results, possibly outperforming I/F-Race.
We created a Python wrapper for the ARGoS simulator, and we maintain a plugin that allows to embed the e-puck robot within ARGoS. We have re-implemented two frameworks for automatic off-line design – AutoMoDe and NEAT – to comply with the latest version ARGoS. These frameworks have been publicly shared as open-source packages.
The project has also a concrete goal: build the DEMIURGE, an artificial system that is able to design robot swarms automatically. The pursuit of this concrete goal anchors the project to the real needs in the field of swarm robotics; it gives a clear meaning to the various research activities and contributes to their coordination and smooth interoperation; and it allows a validation of the results. Eventually, the DEMIURGE will illustrate the practical relevance of the project.