Evolving collective control , cooperation and distributed cognition

Studies in collective robotics usually emphasise aspects like efficiency, robustness and flexibility of the system. These are all desirable features for a robotic system, which however do not come for free along with the distributed approach. Suitable design methodologies must be devised to obtain similar features in a collective robotic system, both for what concerns the robotic hardware and the control algorithms. In this chapter, we discuss the problem of synthesising distributed controllers for a group of robots by using evolutionary techniques. The synthesis of a controller for a collective robotic system is a difficult problem, due to the indirect relationship between the desired group behaviour and the individual control rules. This is particularly true for self-organising behaviours, in which the spatio-temporal pattern observed at the system level emerges from the numerous interactions among the individual robots. A possible solution to the problem of designing for self-organisation is given by automatic techniques, which can synthesise the robot controller basing on some system-level utility metric defined by the user. Among the various machine learning methodologies, Evolutionary Robotics (ER) represents a viable approach to the solution of the design problem [Nolfi and Floreano, 2000, Trianni et al., 2008]. By evaluating the robotic system as a whole (i.e., by testing the global behaviour that results from the individual rules encoded into the individual genotype), ER provides an automatic process for identifying the mechanisms that produce and support the collective behaviour, and for implementing those mechanisms into the individual controller rules that regulate the robot/environment interactions. To this aim, it is necessary to identify initial conditions that assure the evolvability of the system, i.e., the possibility to progressively synthesise better solutions [Wagner and Altenberg, 1996]. Evolvability depends on a number of factors related both to the task to be faced and to the evolutionary algorithm in use. In Section 2, we point to the most common factors and to the influence they may have on the evolvability of the system. However, due to the high level of mutual dependency among these factors, it is difficult to determine the outcome of a certain choice without reference to the whole picture. For this reason, we present in detail a simple approach, which proved particularly successful for the synthesis of self-organising behaviours. We also present in Section 3 some case studies that demonstrate the possibility to evolve robotic systems displaying coordination, self-organisation and collective decision making. Moreover, we show how ER can be a powerful tool for the study of adaptive behaviour, communication and cooperation [Harvey et al., 2005, Nolfi, 2005]. Various complexity levels can be added to the basic system described above in order to evolve cooperative, cognitive behaviours in a collective. For instance, the individual ability to integrate information over time makes it possible to obtain complex group behaviours that can rely on both the individual and