Nothing Special   »   [go: up one dir, main page]

Academia.eduAcademia.edu

Title of “article ” submitted to Artificial Life: Distributed Coordination of Simulated Robots Based on Self-Organisation

2008

Distributed coordination of groups of individuals accomplishing a common task without leaders, with little communication, and on the basis of self-organising principles, is an important research issue within the study of collective behaviour of animals, humans and robots. The paper shows how distributed coordination allows a group of evolved physically-linked simulated robots (inspired by a robot under construction) to display a variety of highly coordinated basic behaviours such as collective motion, collective obstacle avoidance, and collective light approaching, and to integrate them in a coherent fashion. In this way the group is capable of searching and approaching a light target in an environment scattered with obstacles, furrows, and holes, where robots acting individually fail. The paper shows how the emerged coordination of the group relies upon robust self-organising principles (e.g. positive feedback) based on a novel sensor that allows the single robots to perceive the “...

Title of “article” submitted to Artificial Life: Distributed Coordination of Simulated Robots Based on Self-Organisation Authors, phone numbers and email addresses (Gianluca is the corresponding author): Gianluca Baldassarre. Phone: +39 06 86090227. E-mail: baldassarre@ip.rm.cnr.it Domenico Parisi. Phone: +39 06 86090376. E-mail: d.parisi@istc.cnr.it Stefano Nolfi. Phone: +39 06 86090231. E-mail: s.nolfi@istc.cnr.it Mail address (valid for all the authors): Institute of Cognitive Sciences and Technologies, National Research Council, Viale Marx 15, 00137 Rome, Italy Keywords Genetic algorithms, neural networks, collective robotics, traction sensor, conformism, positive feedback, integration of behaviours, physical constraints, scalability Abstract Distributed coordination of groups of individuals accomplishing a common task without leaders, with little communication, and on the basis of self-organising principles, is an important research issue within the study of collective behaviour of animals, humans and robots. The paper shows how distributed coordination allows a group of evolved physically-linked simulated robots (inspired by a robot under construction) to display a variety of highly coordinated basic behaviours such as collective motion, collective obstacle avoidance, and collective light approaching, and to integrate them in a coherent fashion. In this way the group is capable of searching and approaching a light target in an environment scattered with obstacles, furrows, and holes, where robots acting individually fail. The paper shows how the emerged coordination of the group relies upon robust self-organising principles (e.g. positive feedback) based on a novel sensor that allows the single robots to perceive the “average” group’s motion direction. The paper also presents a robust solution to a difficult coordination problem, that might also be encountered by some organisms, caused by the fact that the robots have to be capable of moving in any direction while being physically connected. Finally, the paper shows how the evolved distributed coordination mechanisms scale very well with respect to the number of robots, the way in which robots are assembled, the structure of the environment, and several other aspects. Distributed Coordination of Simulated Robots Based on Self-Organisation Gianluca Baldassarre Domenico Parisi Stefano Nolfi Institute of Cognitive Sciences and Technologies, National Research Council (ISTC-CNR), 15 Viale Marx, 00137 Rome, Italy baldassarre@ip.rm.cnr.it d.parisi@istc.cnr.it s.nolfi@istc.cnr.it Abstract Distributed coordination of groups of individuals accomplishing a common task without leaders, with little communication, and on the basis of self-organising principles, is an important research issue within the study of collective behaviour of animals, humans and robots. The paper shows how distributed coordination allows a group of evolved physically-linked simulated robots (inspired by a robot under construction) to display a variety of highly coordinated basic behaviours such as collective motion, collective obstacle avoidance, and collective light approaching, and to integrate them in a coherent fashion. In this way the group is capable of searching and approaching a light target in an environment scattered with obstacles, furrows, and holes, where robots acting individually fail. The paper shows how the emerged coordination of the group relies upon robust self-organising principles (e.g. positive feedback) based on a novel sensor that allows the single robots to perceive the “average” group’s motion direction. The paper also presents a robust solution to a difficult coordination problem, that might also be encountered by some organisms, caused by the fact that the robots have to be capable of moving in any direction while being physically connected. Finally, the paper shows how the evolved distributed coordination mechanisms scale very well with respect to the number of robots, the way in which robots are assembled, the structure of the environment, and several other aspects. 1. Introduction Consider the scenario shown in Figure 1 and Figure 8. A group of robots is placed in a maze with obstacles, furrows, and holes. The mission of the robots is to explore the maze and search for a light target. Some robots form a swarm-bot (i.e. a group of physically-linked robots with a particular topological structure) in order to pass over furrows and holes in which they would get stuck by moving alone. The challenges generated by this scenario are several: how can the assembled robots move in the same direction, avoid obstacles, and approach the light once it is in sight, without centralised coordination and on the basis of poor implicit communication? To face these challenges, the robots should be able to display coordinated behaviours (e.g. coordinated movement, coordinated obstacle avoidance, and coordinated light approaching) and to integrate these behavioural capabilities into a single coherent behaviour. This paper will show how these problems can be solved (a) by suitably designing the hardware of the robots, (b) by providing them with a special “traction sensor”, introduced for the first time in Baldassarre et al. [5], that allows the robots to detect the direction and intensity of the traction caused by the group, and (c) by developing the controllers of the robots through an evolutionary method that allows exploiting selforganising properties that might emerge from the fine-grained interactions among the robots and between the robots and the environment. Figure 1 about here. Collective robotics is a growing research area within the broader field of robotics [8, 14, 16, 19]. Part of this research area focuses on distributed coordination of groups of cooperating robots accomplishing common tasks [6, 13, 17 ,23]. Distributed coordination implies that the characteristics of the group’s behaviour, such as the basic behaviours through which the task is accomplished, the roles played by the dif- ferent robots, the synchronisation problems raised by their interactions, and so on, are not managed centrally by one or few “leaders” but are the result of self-organizing processes such as “positive feedback” (if each individual of a group follows a rule of the type “do what the majority does”, the individuals’ behaviours will tend to become homogeneous) or “consumption of building blocks” (e.g. if the number of individuals forming a group is limited, the process of convergence towards the same behaviour caused by a positive feedback mechanism will necessary slow down and then stop) [11, 24]. Distributed coordination is particularly interesting from an engineering point of view since, depending on the specific tasks to be accomplished, it might have some advantages compared to central coordination in terms of: (a) reduced communication needs, (b) resistance to failure of some robots, (c) simplicity of single robots in terms of sensors, actuators, and computational capabilities, (d) scalability to large numbers of individuals. A research area of robotics that is related to the work presented here focuses on the problem of controlling the different parts of a single robot, for example the legs of an insect-like robot. Several models that tackle this problem assume that the control system of robot (e.g. controlling the legs) is composed of several neural modules (each controlling a leg) that are only scarcely connected between them (e.g. [12]). In these models some aspects that characterize the overall behaviour of the robot are not managed centrally but emerge from the interaction of the different control modules. Notwithstanding this, in these cases the whole system is controlled by a single neural controller. Differently from this approach, in the experiments reported here the robots are controlled by independent neural controllers: this condition requires distributed coordination. Distributed coordination is also a central topic in the study of collective behaviour in animals. Bacteria use cell-to-cell communication to implement a self-organising mechanism named “quorum sensing”: with high population density there is enough signal to trigger a behaviour that is not performed at lower densities [15]. In social insects the interaction between simple behavioural rules followed by each individual might lead to rather complex collective behaviours such as chaining and formation of complex 3D structures [1], collective nest building [11], collective food retrieval [18]. These behaviours tend to rely upon self-organisation mechanisms [11]. Self-organization and behaviour coordination is also important in more complex animals such as non-human primates. For example baboons may use “move grunts” to coordinate the group’s transition from resting to moving [25]. Even humans, although endowed with sophisticated capacities such as language and planning to manage coordination, still heavily exploit distributed coordination. In these cases single individuals might even benefit from distributed coordination while being unaware of it (e.g. consider the coordination of people’s actions through market prices [27]). Research studies such as those presented in this paper should produce insights on the general mechanisms of distributed coordination that might underlie all these types of behaviours in different realms. Figure 2 about here. As mentioned above, in our research evolutionary techniques are used to evolve the behaviours of the robots in simulation. Unfortunately, the time required to run evolutionary experiments can be prohibitively long, especially when detailed simulations of robots and environments are used as it has been done here. To overcome this problem evolving robots were selected for their ability to solve critical aspects of the problem and then the final task was solved on the basis of the fact that they were able to generalize their abilities to new circumstances. This practical necessity, however, allowed shedding some light on what might be an important general property of nature, that is, searching for simple and robust “building blocks” that can be easily re-arranged to generate new and more complex behaviours. The paper also presents a robust solution to tackle a difficult coordination problem generated by the hardware structure of the robots simulated, composed of a mobile chassis and a turret that cannot freely rotate over the chassis and that at the same time should allow the robot to move in any direction while being physically linked to other robots. This problem might affect a large number of possible architec- tures of robots that should be capable of moving while being physically linked between them, and might also furnish interesting hints on some strategies of movement of some animals that, for biological reasons, cannot have freely-rotating degrees of freedom between different parts of their bodies (e.g. consider some ants collectively transporting a food item). Section 2 presents the experimental setup. Section 3 illustrates the results in terms of overall behaviour and shows how it generalises to several different conditions. Section 4 and 5 respectively analyse the functioning of the basic behaviours and their integration. Section 6 describes how the physical constraint on the turning capability of individual robots has been dealt with. Section 7 describes how the evolved behaviours scale to large numbers of robots. Finally, section 8 draws conclusions. 2. Experimental setup The scenario described in the introduction includes some of the problems that are being faced within a research project funded by the European Union (called “Swarm-bots”) which is developing swarm-bots, that is groups composed of fully autonomous robots able to physically connect and disconnect to form a single robotic system. These systems can assume different physical shapes and move in order to solve problems that cannot be solved by single robots. In this paper we focus on how a group of robots that are already assembled can produce coordinated movements. Other research carried out within the project is studying how robots can self-assemble and disassemble depending on the task to solve (e.g. [26]). Figure 3 about here. Each robot [21] has a cylindrical body with a diameter of 11.6 cm and consists of a mobile base (“chassis”) with two motors each controlling a track and a teethed wheel (Figure 2), and a main body (“turret”). A third motor allows the turret and the chassis to actively rotate with respect to each other. Given that several cables connect different parts of the turret and the chassis, the turret-chassis degree of freedom is limited in the range of ±180°. The problems due to this physical constraint and the way in which these problems has been solved will be discussed in section 6 (the experiment described in section 3-5 involve robots in which the joint between the turret and the chassis can freely rotate). The turret is provided with two grippers, one rigid and one flexible, that allow the robots to self-assemble and to grasp objects. The turret has a motor with which it can rotate with respect to the chassis. Each robot is provided with a number of different sensors [21], but only the traction sensor described below has been simulated and used in the experiments reported in this paper. Given that the robots of the project are still under production, a simulator software based on the SDK VortexTM toolkit, which allows programming realistic 3D simulations of dynamics and collision of rigid bodies, was designed and used for the experiments. Given the high computational costs of simulations, the evolutionary experiments were speeded up as follows: (a) only few relevant characteristics of the sensors, actuators and body of the robot were simulated; (b) the size of the robots, the gravitational acceleration coefficient, and the engines’ power were reduced, so as to have the possibility of increasing the simulation time step without having instabilities; (c) the controller of the robots was evolved in a simplified environment, see Figure 3, and then tested in the more complex environment shown in Figure 1 and Figure 8 (for a comparison of the behaviour of simulated and real robots, and for more details on the simulator, see [21]). The motor system of a robot was modelled by four wheels: two lateral motorised wheels that modelled the external wheels of the hardware robot and two spherical passive wheels placed at the front and at the rear of the robot that assured its stability. The four wheels were connected to the chassis, which underpinned the rotating turret modelled as a cylinder (Figure 3). The turret was endowed with a simplified gripper which was modelled by creating a physical joint between two robots when needed (Figure 3). The active and passive wheels had a radius of 1.15 and 0.575 cm, respectively. The turret had a radius of 2.9 cm and a height of 2.3 cm. Figure 4 about here. During evolution, spherical collision models were used for all the wheels and for the chassis, as they required less computational time, but equivalent results were obtained by testing evolved controllers with the collision models shown in Figure 3. The gravitational acceleration coefficient was set at 9.8 cm/s2. This low value, that caused a low friction of the wheels on the ground, was compensated for by setting the maximum torque of the motors at a low value, 70 dynes/cm. These decisions were made since the generation of low forces allows using longer integration time steps in the physical simulator without causing instabilities. Preliminary experiments that are currently being carried out with the prototype hardware robots show that those decisions do not preclude the possibility of successfully transferring the controllers evolved in simulation to the hardware robots [7]. The friction coefficient was set at 0.6 (Vortex simulates friction according to the Coulomb friction model). The desired speed of the wheels varied within ±5 rad/s. The desired speed applied to the turret-chassis motor was equal to the difference between the desired speed of the left and right wheel times 0.26. The effect of this was that when the chassis turned the turret turned in the opposite direction, so that its orientation did not change with respect to the environment. This greatly aided the robots to turn the chassis when connected to other robots. The state of the sensors and the motors, and the differential equations used by Vortex to simulate the bodies’ dynamics, were updated every 100 ms. Figure 5 about here. Each robot was provided with a “traction sensor”, placed at the turret-chassis junction (Figure 4). This sensor returned the direction (angle with respect to the chassis’ orientation) and intensity of the force of traction (henceforth called “traction”) that the turret exerted on the chassis. Traction was caused by the movements of both the connected robots and the robot’s own chassis. Notice that, by being assembled, the turrets of the robots physically integrated the forces produced by all robots. As a consequence, the traction direction measured the mismatch between the directions toward which the robot and the group were trying to move. The traction intensity measured the size of this mismatch. As it will be shown below, given that robots are physically connected the traction sensor informs robots on what the other robots are doing and thus implements a sort of implicit communication [11, 16]. Traction, seen as a vector, was affected by a 2D noise of ±5% of its maximum length. Each robot was also endowed with four light sensors, positioned on the perimeter of the turret, simulated by using a sampling procedure applied to a real sensor (see [20]). A noise of ±5% of the maximum intensity was added to the sensors. Shadows were simulated by computing the geometrical projections of obstacles (shadows are important for the success of the control strategies illustrated below since if the light target were visible from everywhere in the maze, e.g. if it were positioned in a position higher than the walls, the robots would run into these without being capable to perform obstacle avoidance). In order to provide information about the light gradient with respect to the orientation of the chassis (this greatly eased control since the wheels were connected to the chassis) four virtual light sensors were simulated. These virtual sensors were activated on the basis of the weighted average of the activation of the two closest light sensors, with weights proportional to the angular distance of them from the virtual sensor (Figure 5). Figure 6 about here. Each robot’s controller (Figure 6) consisted of a neural network with nine sensory neurons directly connected to two motor neurons. The first four sensory neurons encoded the intensity of the traction from four different preferential orientations with respect to the chassis (rear, left, front and right). Each sensory neuron had an activation proportional to the cosine of the angle between the sensor's preferential orientation and the traction direction when the angle was within ±90 degrees, and zero otherwise. This activation was scaled by the traction intensity. The next four sensory neurons encoded the four virtual light sensors. The last sensor was the bias unit that was always activated with 1. Figure 7 about here. The activation state of the two motor neurons was normalized within ±5 rad/s and was used to set the desired speed of the two corresponding wheels and of the turret-chassis motor. Notice that the chassis had two potentially equivalent fronts (this has been exploited by the solution of the turret-chassis constraint problem illustrated in section 6). The direction of the traction and the activation of the light sensors was computed with respect to the “first front”, that is the direction along which the robot moved when the two motors were fully activated with +5, in all the experiments reported in sections 2 to 5 (experiments reported in sections 6 and 7 used also the “second front”, that is the direction along which the robot moved when the two motors were fully activated with -5). Figure 8 about here. The connection weights of the neural controllers were evolved [22]. The initial population consisted of 100 randomly generated genotypes that encoded the connection weights of 100 corresponding neural con- trollers. Each connection weight was represented in the genotype by eight bits that were transformed into a number within ±10. Each genotype encoded the connection weights of four identical neural controllers that were used to control the four robots linked up to form the swarm-bot shown in Figure 3. The case of groups of robots with different neural controllers in which different robots might specialize by assuming different roles was not studied here. Although investigating this aspect would have been interesting, the fact that near-optimal performance was obtained without specialisation indicates that specialisation is not needed to solve the task discussed here (note that this circumstance is task dependent, see for example [3]). Each swarm-bot was tested in six “epochs”, each lasting 150 time steps lasting 100 ms each. The light source was present only in three of the six epochs. At the beginning of each epoch the orientation of the chassis of the four robots was randomly assigned and, when present, the light source was placed at a random selected position at a distance of 100 cm from the swarm-bot. The 20 best genotypes of each generation were allowed to reproduce by generating five copies each, with 3% of their bits replaced by a new randomly selected value. The evolutionary process lasted 100 generations. The evolution was replicated 20 times by starting with different initial random genotype populations. Figure 9 about here. To develop swarm-bots able to explore the environment and to approach the light target when it was in sight, the swarm-bots were selected for the ability to move as fast and as straight as possible when the light was off, and to move toward the light when the light was on. More specifically, the fitness of a swarm-bot was computed by summing the Euclidean distance between the centre of mass of the swarmbot at the beginning and at the end of the epoch in the three epochs in which the light was off, and the Euclidean distance travelled by the swarm-bot toward the light in the three epochs in which the light was on. To normalize the value of the fitness in [0.0, 1.0], the total fitness of one swarm-bot was computed by dividing the average distance travelled during one epoch by the maximum distance travelled by a single robot moving straight at maximum speed for 150 steps. Notice how the few and short epochs focussed only on the two critical aspects of the final task, namely coordinated motion and light approaching, since an evolution directly tackling the final task (see Figure 8) would have required a prohibitive amount of time. 3. The evolved behaviour Figure 7 shows how the fitness of the best swarm-bot and the average fitness of the population increase throughout the generations. By testing for 100 epochs the swarm-bots of the last generations of the 20 replications of the evolution, it was found that the performance of the best swarm-bot is 0.87 while the average performance is 0.78. This means that all evolved robots are able to coordinate so as to move straight when the light is off and to move toward the light when the light is on. Figure 10 about here. By testing evolved swarm-bots in new conditions (the controllers used are those evolved with groups of four robots forming a linear structure) it can be seen that they are able to generalize their coordinated motion and coordinated light approaching ability in rather different circumstances and also to display new interesting behaviours (cf. also [5]). By placing the evolved swarm-bots in the environment shown in Figure 1 and Figure 8, it can be seen that they are able to explore the environment avoiding walls and to display a coordinated light approaching behaviour as soon as the light is not shadowed by walls. Figure 8 shows how the neural controllers evolved in a team of four robots forming a linear structure are able to generalize their ability to swarmbots made up by a larger number of robots (eight robots instead of the four used during the evolutionary process) and having a different shape (a star shape instead of a linear shape). This graph and direct observation of behaviour indicate that the robots forming the swarm-bot, whose chassis initially have different orientations, quickly negotiate a common direction of motion and move along such direction by compensating further mismatches arising during the movement. Later on, when one or more of the robots forming the swarm-bot hit a wall, the swarm-bot changes direction by displaying a very effective and coordinated obstacle avoidance behaviour. After avoiding one wall, the swarm-bot keeps moving straight in the arena until it hits another obstacle. The combination of coordinated motion and collective obstacle avoidance behaviour allows the swarm-bot to explore the environment. When finally the swarm-bot sees the light, it reaches it following a straight path. Figure 9 shows how the same neural controllers (i.e. the controllers evolved with a group of four robots forming a linear structure through rigid links) are able to generalize their ability to swarm-bots having a circular shape and in which robots are connected through flexible links, that is links that have at their centre a hinge joint with a passive degree of freedom rotating around a vertical axis. Interestingly, swarmbots formed by robots connected through flexible links can modify their shape while moving. Indeed, as shown in Figure 9, the evolved neural controllers display an ability to dynamically adapt the shape of the swarm-bot to the local environmental configuration in order, for example, to pass through narrow passages. As explained in detail below, this result can be explained by considering that the robots that see the light move toward it and, by doing so, produce a traction in that direction that is perceived and followed by the other robots. The generalization ability with respect to the shape of the swarm-bot, can be explained by considering that the control system receives only sensory information with respect to the orientation of the chassis (this is the result of the careful design of the sensors, such as the traction sensor and the light virtual sensors). Figure 8 shows that single robots get stuck in furrows and holes while the swarm-bot succeeds to pass over them thanks to its larger size. Of course one might have built robots with larger sizes capable of passing over the furrows and holes individually. However, robots with a larger size might have had difficulties in passing through narrow passages, such as those shown in Figure 9. The general idea is that if the robots are capable of self-assembling on the basis of the task to solve and the properties of the environment, they can succeed in a number of different scenarios where single robots with a given size would fail [21]. It has been mentioned that, for efficiency reasons, the evolutionary process was focussed on some critical aspects of the final task, namely coordinated motion and light approaching. When the controllers obtained in different replications of the evolution are tested in the final task (see Figure 8 and Figure 9) they display different behaviours. For example, some swarm-bots are more stubborn than others in passing through narrow corridors, some explore the arena very efficiently by doing a sort of collective wall following, some sometimes get stuck in narrows passages when the light is in sight, some other rotate on the spot with some particular initial chassis’ orientations (i.e. they reach a stable local minimum in terms of the minimisation of the traction intensity: this dynamical rotating equilibrium is quite important for the performance of the swarm-bots, see section 8). Such a variety of behaviours offers the experimenter the possibility of choosing the controllers of those replications that better satisfy the requirements of the final task. In order to analyse more in detail how the evolved swarm-bots are able to display the described complex behaviours and to generalize their ability to different circumstances the next two sections will describe how different basic behaviours are produced and how they are integrated. 4. Analysis of the basic behaviours An analysis of how evolved swarm-bots perform coordinated motion when the light is off or in shadow is now presented. In this condition the robots (a) start to pull/push in different directions, (b) orient their chassis in the direction where the majority of the other robots are pulling/pushing, and (c) move straight along the direction that emerges from the initial negotiation by compensating successive mismatches that arise while moving. As shown in Figure 10, the absolute direction that emerges from the robots’ negotiation changes in different tests depending on the initial orientation of the robots, but the robots always converge toward a single direction. Figure 11 about here. By analysing how evolved robots react to traction with different angles and intensities (Figure 11) and by observing the behaviour of the corresponding swarm-bots, it is possible to describe the control’s functioning as follows: 1) When the traction comes from the front (about 180°, Figure 11, top histogram), the robot is oriented toward a direction that is close to the mean direction of the other robots. In this situation, when the intensity of the traction is low, the robot moves straight (when the intensity is above 0.25, see Figure 11, the robot tends to turn left; this condition, a product of an evolutionary drift, does not impair performance: in fact traction from front with a high intensity is rare since when the robots move in the same direction the intensity of the traction is low). 2) When the traction comes from the left or the right hand side (Figure 11, histograms on the left and the right respectively) there is a significant mismatch between the orientation of the robot and the mean orientation of the other robots. In this condition the robot turns toward the direction of traction, that is towards the mean direction of the other robots, by turning left when the traction comes from the left hand side and right otherwise. The speed of turning is proportional to the traction intensity. 3) When the traction comes from the rear (about 0°, Figure 11, bottom histogram) the robot goes straight at maximum speed independently of the traction intensity. This might be due to the fact that, since when the traction comes from the left or the right the robot has to respectively turn left or right, the 0° point (rear) represents the discontinuous separation between the two different turning behaviours. However, this behavioural trait also produces a “stubborn” tendency of the robots that might have a functional role for coordination (see below). Figure 12 about here. Summarising, the ability to display coordinated motion is the result of a conformist tendency, that is a tendency to follow the direction of the traction that provides an indication of the average direction of motion of the other robots (see previous points 1 and 2). As mentioned in the introduction, this ability is a specific instance of a general self-organising principle, named positive feedback, at the basis of which there is usually a conformist tendency (“conform your behaviour to that of the others”). This principle allows groups of individuals to converge on the same selection among multiple possible alternatives. The principle is important for distributed coordination since it allows groups, such as school of fish and flocks of birds, to behave as if their members were parts of a single organism or system without the need for a centralised decision maker [11, 24]. With this respect, the novelty of the results presented here is having shown that the same principle can work on the basis of the physical interactions between the robots, mediated by the their bodies and perceived through the traction sensors. Likely, coordinated motion is also a result of a stubborn tendency, that is a tendency to persevere in one direction of motion independently of the intensity of the traction. The stubborn tendency is due to the following factors: (a) turning toward the traction direction takes time (i.e. the mismatch cannot be compensated for instantaneously), (b) the tendency to go straight when the traction intensity is low, independ- ently of its direction, and (c) the tendency to go straight when the traction comes from the rear (i.e. from around 0°, see point 3 above). The stubborn tendency is likely to play an important role in the ability of the robots to keep the equilibrium state once a common direction of movement has emerged from the negotiation and to avoid never-ending negotiation phases in which robots keep changing orientation in order to eliminate small mismatches (in this case the swarm-bot would enter into a limit cycle dynamics). Figure 13 about here. Another effect of the stubborn tendency, with particular reference to the tendency to move straight when the traction come from the rear, is that evolved robots spontaneously display coordinated object pushing/pulling behaviours when linked to or around an external object. Figure 12 shows how robots connected around an object coordinate their motion toward a single direction and succeed to move the object notwithstanding the fact that the object’s friction with the ground produces a traction in the opposite direction of the group’s motion (of course the robots fail to coordinate if the object is heavy and generates a large traction intensity). Now a description of how evolved single robots and swarm-bots consisting of several assembled robots spontaneously display obstacle avoidance behaviour will be presented. When a single robot hits an obstacle, the collision produces a traction with a direction that points away from the obstacle. The robot follows this traction and so avoids the obstacle. When a swarm-bot consisting of several assembled robots hits an obstacle, only a single or few robots collide with it. However, the resistance of the obstacle will propagate through the turrets of these robots to the turrets of the other robots via the links. As a consequence, all the robots will start to turn away from the obstacle, eventually tending to select slightly different directions. Traction will immediately average between this tendencies and will guarantee a synchronous well coordinated turning of the whole swarm-bot. Indeed, direct observation of behaviour shows how the single robots perform a surprisingly highly synchronised turning when the swarm-bot hits an obstacle. Finally, how evolved swarm-bots display a collective light approaching behaviour is now explained. The fact that individual robots display such behaviour can be explained by analysing how evolved neural controllers react to light sources located at different angles and distances with respect to the robot. As shown in Figure 13, when the traction is null, evolved robots follow the light gradient by turning left or right when the light is respectively located at the left or at the right side of the robot’s chassis. Figure 14 about here. The ability to display a coordinated light approaching behaviour despite the fact that individual robots forming a swarm-bot have different sensory information (because of their different relative positions and because of shadows) can be explained by considering, once more, the ability to coordinate through the traction sensor and the effects of the motor behaviour of each individual robot on the other robots. Indeed, as soon as a single robot starts to perceive and follow a light gradient, it creates a traction force that is felt by the other robots which, as a consequence, will also move in the direction of the light. To confirm this, Figure 14 shows an experiment where a single robot provided with light sensors is able to drive a swarm-bot composed of up to twelve robots deprived of the signal from the light sensors towards a light target. Although performance decreases with the size of the swarm-bot, the experiment shows the power of traction in supporting coordination (notice that while this test with robots endowed with different sensors was directed to show the power of coordination based on traction, section 7 will systematically investigate how the whole set-up scales to larger swarm-bots composed of many robots endowed with the same sensors). 5. Integration of behaviours The ability to integrate the different behaviours described in the previous section into a single coherent behaviour results from the combination of three mechanisms. Figure 15 about here. As the reader might have already realised from the analyses presented above, one important mechanism is the ability to coordinate through the traction sensor and through the effects that arise from the fact that the robots are physically linked. In fact, as it has been shown, the ability to coordinate through the traction sensor and the fact that robots are physically assembled not only allow swarm-bots to display coordinated motion but also play a crucial role in their ability to display coordinated obstacle avoidance and coordinated light approaching behaviours. In fact, the tendency to coordinate through the traction sensors and links between the robots assures that the swarm-bot produces a coherent and coordinated behaviour even when the individual robots have different, incomplete or noisy perceptions. In other words, the ability to coordinate through traction constitutes an important behavioural building block also for the ability to display other more complex behaviours. The second mechanism, already mentioned above, consists in the fact that the control strategies responsible for the ability to display the different basic behaviours described in the previous section are independent of the particular shape of the swarm-bot. This is due to the fact that the direction of the traction returned by the traction sensor corresponds to the direction of the force that the turret exerts on the chassis independently of the particular turret’s orientation. This characteristic is important not only because it allows the swarm-bots to behave robustly independently of the number of robots that form them and the way in which they are assembled, but also because it allows the swarm-bots to behave robustly even when their shape changes dynamically adapting to the environment’s properties. A third important aspect consists in the fact that the ability to coordinate through the traction sensor and the ability to approach the light and to avoid obstacles integrate without interfering with each other. This can be seen by examining, for example, how the evolved robots react when the information coming from the traction and the light sensors are consistent or inconsistent. With this regards, Figure 15 shows how an evolved robot reacts to traction with different directions and intensities when it also perceives a light at a fixed distance of 100 cm coming from a fixed position. When the light comes from the left side (Figure 15, top graph) the robot turns mostly left by varying the speed of turning on the basis of the intensity of the traction. On the contrary, when the light comes from the right side (Figure 15, bottom graph) the robot turns mostly right by varying the speed of turning on the basis of the intensity of the traction. The combination of these two tendencies allows the robots to approach the light and to maintain the group’s coherence at the same time. Figure 15, however, only shows how the control mechanisms responsible for the two behaviours interact from a static point of view. The interaction from a dynamical perspective is more informative. One first important aspect to notice is that the three basic behaviours described above are different forms of taxis or anti-taxis (i.e. behaviours through which a robot should approach or avoid a stimulation source: notice how the surface graphs of Figure 11 and Figure 13 have similar shapes), and as a consequence in some conditions they can suitably integrate and sum up. A second important aspect is that the behaviour based on traction is a special type of taxis in that it is not related to a stimulus anchored to the environment, as the light pursuing behaviour, but it is related to the average motion direction of the group. This direction tends to change dynamically on the horizontal plane (due to the mechanisms described above) so as to eventually coincide with the direction of the light. When the two directions match completely, the tendency to move toward the average direction of the group and toward the light gradient tend to sum up and to amplify each other as shown in Figure 16. Referring to the single robot, the possibility of integrating the coordination behaviour based on traction with other behaviours eliminates the need to use behavioural selection mechanisms such as the “subsumption architectures” [10] in which only one control mechanism among many is activated at each time. The possibility of avoiding behaviour selection mechanisms, in turn, eliminates the need of evolving arbitration mechanisms able to select the right behaviour at the right time (e.g. coordinated motion or obstacle avoidance or light approaching). Moreover, it allows evolution to exploit the synergies that might emerge from the interplay between different basic behaviours. With these respects, the controller emerged during evolution has a functionality that has some similarities with that of the “motor-schema based architectures” [2]. These architectures generate the overall robots’ behaviour as a weighted summation of building-block behaviours (see [4] for some hand-coded controllers based on this intuition, and for a comparison of them with evolved controllers in tasks similar to those tackled in this paper). Figure 16 about here. It should be noted that the fact that the control mechanisms responsible for the three different basic behaviours cooperate and never interfere with each other is not only due to the characteristics of the basic behaviours themselves but also to the way in which sensory information is encoded in the sensors, to the morphology of the robots’ body, and to the interaction of these characteristics with the environment. For instance, the possibility of integrating obstacle avoidance and coordinated motion behaviours is due to the fact that robots collide with obstacles with the turret (since the turret is bigger than the chassis) and this generates a traction with a direction opposite with respect to the collision point. A second example refers to the obstacle avoidance and the light approaching behaviours. The fact that obstacles shadow the light has the effect that the anti-taxis behaviour related to obstacles never interferes with the taxis behaviour related to light. In conclusion, this means that the possibility of finding simple and robust solutions, from the point of view of the control system of the robots, crucially depends on the way in which sensory and motor information are encoded, on the structure of the robot’s body, and on the relation of these with the environment’s properties. 6. Solution of the problem caused by the constraint of the turret-chassis joint As previously mentioned, the chassis of the robots has a limited rotational degree of freedom with respect to the turret due to the control and energy cables that connect them. In particular, starting from the position aligned with the turret front, the chassis can rotate only 180°, either clockwise or anticlockwise with respect to the turret itself before encountering physical stops. This constraint makes the coordination problems significantly more difficult. For example, in order to coordinate with the other robots, an individual robot cannot simply turn toward the direction of the traction. In fact if the physical constraint is located between the robot current orientation and the traction direction, it should turn (up to 360°) in the opposite direction. The constraint thus introduces a severe difficulty in the type of sensory-motor mapping that should be produced by the neural controller. It should be noted that a similar problem might affect self-assembled natural organisms that produce collective coordinated movements (e.g. ants carrying a food item). In fact, due to the physiological continuity of biological bodies, organisms cannot freely rotate the body components used for locomotion with respect to the body components linked to the rest of the group or to a transported object. As a consequence, variations in the direction of movement of the group might force single individuals to suddenly change their motion behaviour. By exploiting the fact that robots have two potentially equivalent orientations, it was possible to find a very robust and effective solution to the problem. This solution allows the control strategies described in the previous section to continue to work even in the presence of the physical constraint. The solution is now explained in detail. The circular shape of the robots, the fact that the motorised wheels can turn in both directions, and the fact that sensors are homogeneously distributed on the perimeter of the robot imply that that the two fronts of the chassis are potentially equivalent both from the motor and the sensory point of view. Henceforth, the two orientations will be respectively referred to as “first front” and “second front”. The first and second front correspond to the direction of movement of the chassis when the motors are both fully activated respectively with +5 or –5 rad/s (in the figures shown in the paper the two fronts respectively correspond to the position of the dark grey and light grey passive wheels). In the remaining part of this section, first it is shown how the same controllers evolved in the experiments illustrated in the previous sections can be used to guide the robots’ chassis using either one of the fronts. Then it is shown how the inversion of the front used, triggered in particular conditions, allows robots with the constraint to display the same behavioural capabilities of the robots described in the previous sections. Figure 17 about here. In order to invert the front used by an evolved robot, one has to invert the encoding of the sensory and motor neurons. To invert the encoding of the sensory neurons one has to compute the activation of the sensory neurons encoding traction and the sensory neurons encoding the light with respect to the other front (so one has to exchange the activations of the left and right neurons, and of the front and rear neurons). To invert the direction of movement and turning, one should invert the sign of the motor commands (ranging from –5 to +5 rad/s) and the encoding of the motor neurons (i.e. the left motor neuron should control the right motor and the right motor neuron should control the left motor). By using the same controllers described in the previous section and by inverting the front according to the procedure just described, it was observed that: (a) when a front inversion takes place while robots are navigating in an open arena, all robots synchronously invert their front of motion so that the entire swarm-bot suddenly inverts its direction of motion; (b) when a front inversion takes place while robots are navigating towards a light target, they invert their direction of movement, turn 180° in the direction of the light target, and then continue to navigate toward it. The problems introduced by the constraint on the turret-chassis degree of freedom can be solved by switching each robot’s front from the current front to the other front each time the robot’s chassis reaches the constraint, either while turning anticlockwise or clockwise. The detailed functioning of a front inversion solution from the point of view of a single robot is illustrated by the scheme in Figure 17. The bold arrow indicates the direction of the traction. Assuming that the robot starts to move by using the first front, the controller first turns the chassis anticlockwise along the direction indicated by the dotted arrow “a”. Given that during this turning the chassis reaches the joint constraint, the front is changed. This causes the controller to turn the chassis clockwise along the dotted arrow “b”, hence moving away from the joint constraint. Figure 18 about here. Figure 18 (left) shows the behaviour of four robots assembled to form a square swarm-bot in an environment surrounded by walls (notice that the robots turrets have four different relative orientations). The turret-chassis degree of freedom is limited within ±180°. Robots are provided with the same evolved neural controllers described in the previous sections but the front is inverted every time the turret and-chassis joint reaches the constraint. In the test the swarm-bot is set at the centre of the environment. Initially all robots use the first front and have chassis with random orientations. The robots quickly converge to a common direction of movement. During this phase, at about cycle 50, one of the robots reaches its constraint and changes front (see point indicated with number 1 in Figure 18). Then the swarm-bot moves straight by avoiding two walls. During this phase the joint constraints are never reached and consequently no further change of fronts occurs. The second change of front occurs in one of the robots while the swarm-bot avoids the next wall (see point indicated with number 2 in Figure 18). During the next two wall avoidance behaviours some of the robots alternate between the two fronts before stabilizing on one of the two (see points indicated with number 3-4 and 5-6 in Figure 18). Summarising, the front inversions allow each robot to keep the turret-chassis joint within the ±180° constraint (Figure 18, top-right graph) and, at the same time, to contribute to the movement of the swarm-bot in any direction (Figure 18, bottom-right graph). 7. Scalability of the controllers This section describes the results of a set of tests run to evaluate how evolved neural controllers generalize their abilities to larger swarm-bots. More specifically, the section shows how the best controller evolved for the ability to control a swarm-bot of four robots with a linear shape described in section 3 behaves in swarm-bots with a square shape and composed of 4, 9, 16, 25 and 36 robots respectively (see Figure 19 for an example of a swarm-bot composed of 36 robots). More specifically, swarm-bots of different size, with and without the turret-chassis joint constraint, were tested with respect the ability to: (1) coordinate as quickly as possible; (2) move as fast as possible after the initial coordination; (3) avoid obstacles; (4) approach a light target. Figure 21 reports the performance of swarm-bots of different size, with and without the joint constraint, with respect to the four abilities mentioned above. Each histogram indicates the average distance travelled by the swarm-bots, normalised by the maximum distance that a swarm-bot could travel in the condi- tions set up to test the aforementioned four abilities (the conditions are described below). Each histogram bar is the average of up to 100 trials in which robots’ chassis had different initial random orientations. As mentioned in section 3, sometimes the swarm-bots fall into a dynamical equilibrium where they rotate on themselves instead of moving along a straight line. As shown in Figure 20 (coordinated motion test), this is less likely for swarm-bots with a larger size. To depurate the results reported in Figure 21 from this effect, the graphs of this figure show averages referring only to trials where the performance was above 0.3 (the swarm-bots usually do not achieve this performance threshold when they fall into the rotating dynamical equilibrium). Figure 19 about here. The top-left graph of Figure 21 shows the distance travelled by the swarm-bots in 150 cycles in an open arena. The distance travelled by the swarm-bots provides an indication of how quickly the robots start to move, and this in turn provides an indication of how quickly they negotiate a common direction of movement. As the graph shows, robots evolved for the ability to produce coordinated movement in a swarm-bot composed of four robots assembled to form a linear structure generalize their ability very well in swarm-bots with a larger size. However, the results also show that swarm-bots with larger size tend to take more time to coordinate. The top-right graph of Figure 21 shows the distance travelled by the swarm-bots between cycle 150 and cycle 300 in an open arena. Since during the first 150 cycles the swarm-bots coordinate and start to move in most of the trials, the distance travelled during the second 150 cycles provides an indication of how fast and how straight swarm-bots are able to move once the robots are coordinated. The results indicate that the swarm-bots are able to move close to maximum speed independently of their size. Figure 20 about here. The bottom-left graph of Figure 21 shows the distance travelled by swarm-bots between cycle 50 and 250 placed in the central part of an arena surrounded by walls (see Figure 18). Since after 50 cycles swarmbots are usually coordinated, and since during the following 200 cycles they tipically bump and avoid one or two walls, the distance travelled provides an indication of the ability of the swarm-bots to avoid obstacles. The results indicate how also this ability generalizes very well with respect to the size of the swarm-bots, even if a decrease of performance can be observed since the robots tend to take longer to negotiate a new direction of movement after avoiding the obstacles if they are more numerous (cf. the top-left graph of Figure 21). Finally, the bottom-right graph of Figure 21 shows the distance travelled by the swarm-bots toward a light during 150 cycles when placed in an open arena one meter away from the light target. The distance travelled in this conditions provides an indication of the ability of the robots to coordinate and to move toward the light. The results indicate that there is a good level of generalization but performance tends to decrease with the size of the swarm-bots. This decrease in performance can be explained by considering that the proportion of robots that perceive the light decreases with the increase of the size of the swarmbots due to shadows. This result confirms what was said in section 4: performance tends to decrease when only a small subset of the robots forming the swarm-bot can see the light target. A last important result shown in all graphs of Figure 21 is that robots provided with the ability to change their front generalize very well with respect to the presence of the turret-chassis joint constraint. In fact, as shown in all the graphs of the figure, the performance of swarm-bots with the constraint is only slightly lower than the performance of swarm-bots without the constraint in tasks in which the robots should coordinate. In the case of the task reported in the bottom-right graph of Figure 21, robots with the constraint sometimes even outperform those without (an explanation of this result has not been found yet). 8. Conclusions and future work The paper has described how an evolved group of physically linked robots can solve problems that could not be solved by single robots, on the basis of simple control mechanisms, a suitable integration of them, and robust coordination mechanisms. In particular, the analysis of the evolved robots indicates that the ability to coordinate through a novel “traction sensor”, that in turn allows exploiting the physical interaction between assembled robots, not only is at the basis of the ability of the robots to display coordinated motion but it also constitutes an important building block for the ability to display other more complex behavioural capabilities. Moreover, the evolved controller generalises and scales quite well with respect to the number of robots, the way in which robots are assembled, the structure of the environment, and several other aspects. Given the success of the controller based on the traction sensor, this sensor has been implemented in the hardware robots. Preliminary experiments with these robots are showing that the controllers evolved in simulation have a quite good performance in coordinated motion tests [7]. Figure 21 about here. The possibility of achieving these results can be ascribed to (a) the use of an evolutionary technique, and (b) a careful design of the robots’ hardware structure. The importance of the robots’ hardware structure can be explained by considering that the particular shape of the robots’ body, the type and positions of the sensors, and the way in which sensory information is encoded in the neural controllers might crucially affect the complexity of sensory-motor mapping that should be produced by the control systems of the robots and the possibility of integrating different behavioural abilities. These characteristics have been carefully designed and often re-designed on the basis of the results obtained by exploratory experiments performed in simulation. The importance of the latter point can be explained by considering that, as discussed elsewhere [6, 22], artificial evolution allows evolved robots to find solutions that exploit useful behavioural characteristics emerging from the interaction between the control systems of the robots, the structure of their bodies, and the external environment, including the social environment made up by other robots. While in the work presented in this paper these designing activities have been carried out mainly on the basis of trial-and-error and engineering intuition, an alternative sounder method would be allowing the evolutionary process to co-evolve both the controller and the relevant aspects of the hardware [9]. The paper also presented a novel robust solution to tackle a difficult coordination problem generated by the hardware structure of the robots used, composed of a mobile chassis and a turret linked to other robots. This solution is interesting from an engineering perspective and might also furnish hints on the control solutions adopted by animals engaged in transporting objects alone or in groups. This work has focussed on the coordination problems faced by some robots that are manually assembled by the experimenter before being tested. Future work should focus on the interesting issue of how robots might self-assemble on the basis of the challenges of tasks, for example to overcome furrows and obstacles of different sizes and transporting objects with different sizes and weights [26]. Acknowledgements This research has been supported by the “SWARM-BOTS” project funded by the Future and Emerging Technologies program (IST-FET) of the European Commission under grant IST-2000-31010. References 1. Anderson, C., Theraulaz, G., & Deneubourg, J.-L. (2002). Self-assemblages in insect societies. Insectes Sociaux, 49, 1-12. 2. Arkin, R. C. (1989). Motor schema based mobile robot navigation. International Journal of Robotics Research, 8, 92-112. 3. Balch, T. (1998). Behavioral Diversity in Learning Robot Teams. Ph.D. Thesis. Atlanta, GE: College of Computing, Georgia Institute of Technology. 4. Baldassarre, G., & Nolfi, S. (in preparation). Synergies between evolved and hand-coded control in collective robotics. 5. Baldassarre, G., Nolfi, S., & Parisi, D. (2003). Evolution of collective behaviour in a group of physically linked robots. In G. Raidl, A. Guillot, & J.-A. Meyer (Eds.), Applications of Evolutionary Computing - Proceedings of the Second European Workshop on Evolutionary Robotics (581-592). Berlin: Springer Verlag. 6. Baldassarre, G., Nolfi, S., & Parisi, D. (2003). Evolving mobile robots able to display collective behaviour. Artificial Life, 9, 255-267. 7. Baldassarre, G., Trianni, V., Dorigo, M., & Nolfi, S. (in preparation). Coordinated motion and generalisation in groups of physically linked robots. 8. Bonabeau, E., Dorigo, M., & Theraulaz, G. (1999). Swarm intelligence. Oxford: Oxford University Press. 9. Bongard, J. C., & Pfeifer, R. (2002). A method for Isolating morphological effects on evolved behaviour. In Hallam, B., Floreano, D. (Eds.), From Animals to Animats 7: Proceedings of the Seventh International Conference on the Simulation of Adaptive Behaviour (305-311). Cambridge, MA: The MIT Press. 10. Brooks, R. A. (1986). A robust layered control system for a mobile robot. Journal of Robotics and Automation, 2, 14-23. 11. Camazine, S., Deneubourg, J. L., Franks, N. R., Sneyd J., Theraulaz, G., & Bonabeau, E. (2001). Selforganization in biological systems. Princeton, NJ.: Princeton University Press. 12. Cruse, H., Kindermann, T., Schumm, M., Dean, J., & Schmitz, J. (1998). Walknet - A biologically inspired network to control six-legged walking. Neural Networks, 11, 1435-1447. 13. Dorigo, M., Trianni, V., Sahin, E., Grob, R., Labella, T. H., Baldassarre, G., Nolfi, S., Denebourg, JL, Floreano, D., & Gambardella, L. M. (in press). Evolving self-organizing behavior for a swarm-bot. Autonomous Robots. 14. Grabowski, R., Navarro-Serment, L. E., & Khosla, P. K. (2003). An army of small robots. Scientific American, November, 42-47. 15. Greenberg, P. E. (2003). Tiny teamwork. Nature, 242, 134. 16. Holland O., Melhuish C. (1999). Stimergy, self-organization, and sorting in collective robotics. Artificial Life, 5, 173-202. 17. Ijspeert, A. J., Martinoli, A., Billard, A., & Gambardella, L. M. (2001). Collaboration through the exploitation of local interactions in autonomous collective robotics: The stick pulling experiment. Autonomous Robots, 11, 149-171. 18. Kube, R. C., & Bonabeau, E. (1998). Cooperative transport by ants and robots. Robotics and autonomous systems, 30, 85-101. 19. Martinoli, A. (1999). Swarm intelligence in autonomous collective robotics: From tools to the analysis and synthesis of distributed control strategies. PhD Thesis. Lausanne: Computer Science Department, Ecole Polytechnique Fèdèrale de Lusanne. 20. Miglino, O., Lund, H. H., & Nolfi, S. (1995). Evolving mobile robots in simulated and real environments. Artificial Life, 4, 417-434. 21. Mondada, F., Pettinaro, G., Guignard, A., Kwee, I., Floreano, D., Denebourg, J-L, Nolfi, S., Gambardella, L. M., & Dorigo, M. (in press). Swarm-bot: A new distributed robotic concept. Autonomous Robots. 22. Nolfi, S., Floreano, D. (2001). Evolutionary Robotics. Cambridge, MA: The MIT Press. 23. Quinn, M., Smith, L., Mayley, G., & Husband, P. (2002). Evolving teamwork and role allocation with real robots. In R. K. Standish, M. A. Bedau, & H. A. Abbass (Eds.), Proceedings of the 8th International Conference on Artificial Life (302-311). Cambridge, MA: MIT Press. 24. Reynolds, C. W. (1987). Flocks, herds, and schools: A distributed behavioral model. Computer Graphics, 21, 25-34. 25. Seyfarth, R. M., & Cheney, D. L. (2003). Signallers and receivers in animal communication. Annual Review of Psychology, 54, 145-173. 26. Trianni, V., Tuci, E., & Dorigo, M. (in press). Evolving Functional Self-Assembling in a Swarm of Autonomous Robots. From Animals to Animats 8 - Proceedings of the 8th International Conference on the Simulation of Adaptive Behavior (405-414). Cambridge, MA: MIT Press. 27. Von Hayek, F. A. (1945). The use of knowledge. American Economic Review, 35, 519-530. Figure 1: A group of eight assembled robots searches a light target (white sphere at the left top of the picture) in a maze with obstacles, furrows, and holes. Notice how single robots, like the four robots indicated by arrows, get stuck in them. Figure 2: The hardware prototype of an individual robot. Figure 3: Four simulated robots connected to form a linear swarm-bot. Each robot is composed of a chassis (parallelepiped) to whom two motorised cylindrical wheels and two small passive spherical wheels are attached (the two passive wheels have different colours, dark and light grey, to allow distinguishing the two possible chassis’ fronts). The chassis underpins a cylindrical turret. The black segment between the turrets of two robots represent a physical link between them. The white line above each robot’s turret, that goes from the turret’s centre to a point on its perimeter, indicates the direction of traction and, with its size, the intensity of traction. The environment consists of a flat terrain and a light source (large white sphere at the top left corner of the picture). Figure 4: Traction force detected by the robot traction sensor. The parallelepiped represents the chassis. The turret has not been drawn for clarity. The large and small grey circles respectively represent the right motorised wheel and the front passive wheel. The thin arrow indicates the orientation of the chassis, the bold arrow indicates the vector of the traction force that the turret exerts on the chassis, the dotted arrow indicates the angle of the traction. Figure 5: The four empty squares represent the light sensors placed on the turret. The four empty circles represent the virtual light sensors located on the chassis. As an example of how the virtual sensors were activated, the dotted arrows depart from the sensors that were used to compute the activation of the virtual sensor pointed by the arrows themselves. motors Traction Light Bias Figure 6: The neural controller of each robot consisted of a two-layer neural network with nine sensory neurons directly connected to two motor neurons. 1 Fitness 0,8 0,6 0,4 0,2 0 0 20 40 60 80 100 Generations Figure 7: Fitness throughout 100 generations. Thin line: fitness of the best swarm-bot of each generation. Bold line: average fitness of the population. Each line indicates the average performance over 20 replications of evolution. Figure 8: The trajectory produced by a star-shaped swarm-bot in the environment shown in Figure 1 (214 cm wide). The shape of the swarm-bot is depicted in its final position near the light target represented by the white sphere. The black irregular lines indicate the trajectories followed by the eight robots forming the swarm-bot. While the eight single robots (indicated by short arrows) gets stuck in furrows, the swarm-bot passes over them, succeeds to free its robots that fall in the holes near the walls, and searches and finds the light target that was not visible from the starting position (centre of graph). As soon as the target is in sight, the swarm-bot reaches it by following a quite direct path (long arrow). Figure 9: A swarm-bot with a circular shape formed by robots connected through flexible links. The irregular lines, that indicate the trajectories of the single robots, provide an indirect indication of how the shape of the swarm-bot changes while it is moving. With respect to the environment shown in Figure 8, this environment has the same size, does not have furrows and holes, and contains narrow passages such as that formed by the two close cylindrical obstacles. Chassis' direction 360 270 180 90 0 0 50 100 150 Life cycles Figure 10: The orientation of the chassis of four robots assembled to form a linear structure placed in the simple environment shown in Figure 3 with the light turned off. The thick and thin lines represent data obtained in two independent tests in which the robots’ chassis are assigned initial different random orientations. Front left (135°) Front right (225°) Front (180°) 1 1 1 0,5 0,5 0,5 0 0 0 -0,5 -0,5 -0,5 -1 -1 0 0,25 0,5 0,75 -1 0 1 0,25 0,5 0,75 1 0 0,25 0,5 0,75 1 0,75 1 . Turn right Left (90°) 0,5 Go straight 0,25 1 0 0,5 -0,25 0 -0,5 1 Turn left 0,75 0,5 0,25 Intensity of 0 90 0 traction Left -1 0 0,25 0,5 0,75 1 1 0,5 0 -0,5 -1 0 0,25 0,5 0,75 1 Left motor unit activation - Rear left (45°) right motor unit activation Rear -0,5 -0,75 180 Front 270 Right Left motor unit activation right motor unit activation 1 0,75 Right (270°) 1 0,5 0 -0,5 -1 0 -1 360 0,25 0,5 Rear Angle of traction Rear right (315 °) Rear (0°) 1 1 0 ,5 0,5 0 0 -0 ,5 -0,5 -1 -1 0 0 ,2 5 0 ,5 0 ,7 5 1 0 0,25 0,5 0,75 1 In te n s tity o f tr a c tio n Figure 11: The central graph shows how a robot reacts to a traction with different angles and intensities. The vertical axis indicates the difference between the left and the right motor neurons that, in turn, indicates whether the robot goes straight, turns left or turns right, with different speed. The schematic little picture represents a chassis and should aid the “visualization” of the direction of traction with respect to the chassis itself: the white little wheel represents the rear of the chassis and corresponds to an angle of traction of 0°, measured anticlockwise. The histograms show the desired speed of the left and right wheel as indicated by the activation state of the left and right motor neurons (respectively light grey and dark grey columns of the histograms, measured on the y-axis) for a traction with different angles (see the title of each histogram) and intensities (histograms’ x-axis shows four different intensities of traction normal- ized in [0.0, 1.0]). Data of histograms were obtained with a typical evolved neural controller by manually setting the activation state of the sensory traction neurons and by measuring the corresponding activation state of the motor neurons (the activation state of the light sensors was always set to zero). Figure 12: Left: eight robots drag an object around which they are connected. Right: the irregular thin and bold lines indicate the trajectories left respectively by the robots and the object. The white and black circles represent the final position of respectively the robots and the object. Turn right 1 0,5 Go straight 0,25 0 -0,25 15 48,75 Turn left 82,5 116,25 Distance of 150 90 0 light Left Rear -0,5 -0,75 180 270 Front Right -1 360 Left motor unit activation right motor unit activation 0,75 Rear Angle of light Figure 13: This graph shows how a robot reacts to different orientations and distances with respect to the light. The vertical axis indicates the difference between the left and the right motor neurons that, in turn, indicates whether the robot goes straight, turns left or turns right with different speed. Data have been obtained for a typical evolved neural controller by placing a single robot at different orientations and distances with respect to the light and by recording the corresponding activation state of the motor neurons. The activation state of the traction sensors was always set to zero. 1 Performance 0,8 0,6 0,4 0,2 0 2 4 6 8 10 12 Size of the swarm-bot Figure 14: Performance of swarm-bots composed of two to twelve robots forming a linear structure in the simple environment shown in Figure 3 with the light always on. The performance is measured as the fraction of distance covered by the swarm-bots with respect to the space covered by a single robot moving at maximum speed for the same amount of time (150 cycles). Only one robot forming the swarm-bots is provided with the light sensors information (the light sensors of the other robots are always set to zero). Data have been obtained by using the usual neural controller evolved with four robots forming a linear swarm-bot. Columns and bars respectively indicate averages and standard errors over 60 epochs. 1 0,5 0,25 0 -0,25 -0,5 1 0,75 Go left 0,5 0,25 Intensity of 0 0 traction -0,75 90 Left Rear 180 Front 270 Right Left motor unit activation right motor unit activation 0,75 Go straight -1 360 Rear Angle of traction Go right 1 0,5 0,25 Go straight 0 -0,25 1 0,75 0,5 0,25 Intensity of 0 traction -0,5 -0,75 0 Rear 90 Left 180 Front 270 Right Left motor unit activation right motor unit activation 0,75 -1 360 Rear Angle of traction Figure 15: The pictures show how a robot reacts to traction with different direction and intensities when it also perceives a light at a distance of 100 cm coming from the left (90°) or from the right (270°) side (top and bottom pictures, respectively). The y-axis indicates the difference between the left and the right motor neuron that, in turn, indicates whether the robot goes straight or turns left or right with different speed. Go right 1 0,5 Go straight 0,25 0 -0,25 1 0,75 0,5 0,25 Intensity of 0 traction -0,5 -0,75 Go left 0 Rear 90 Left 180 Front 270 Right Left motor unit activation right motor unit activation 0,75 -1 360 Rear Angle of traction Figure 16: The graph shows the behaviour of a robot when it perceives a traction with different angles and intensities and a light with the same angle as the traction and a fixed distance of one metre. a b Figure 17: Schematic representation of the effect of a front inversion from the point of view of a robot that is turning toward the direction of traction. The circle and the bold open “V” within the circle indicate respectively the turret and its orientation. The empty rectangle, the two small grey rectangles, and the two semicircles indicate respectively the chassis, the active wheels, and the passive wheels. The bold arrow outside the turret indicates the traction direction. The small grey segment indicates the physical constraint on the turret that cannot be overcome by the chassis first front (grey passive wheel) while turning in either one of the two directions. The dotted arrows a and b indicate the direction in which the chassis would turn while respectively using the first and second front. C B 2 A 1 D F E 3 2 1 0 A B 200 C 400 D 600 Cycles 56 E 800 4 5 Absolute orientation of the chassis 34 Orientation angles Orientation angles Ralative orientation of the chassis 225 180 135 90 45 0 -45 -90 -135 -180 -225 6 F 1000 360 315 270 225 180 135 90 45 0 0 200 400 600 Cycles 800 1000 Figure 18: Top: A swarm-bot consisting of four robots with the turret-chassis degree freedom constrained, tested in an environment surrounded by walls. Bold and thin lines indicate the trajectories produced by the robots during phases in which respectively the first or the second front are used (this should illustrate how the robots use the two fronts). Left bottom: Orientations of the chassis with respect to the turret of the four robots during the behaviour displayed in the left part of the figure. Orientations are indicated with angles ranging in ±180° measured anticlockwise. Bold segments and letters indicate the phases during which the swarm-bot moves straight (cf. map at the top). Numbers indicate the cycles in which a robot reaches the constraint of the turret-chassis joint and inverts its front. In both graphs on the bottom, the orientations of the robot at the bottom left of the swarm-bot shown in the map at the top are highlighted by a bold line to allow the reader to follow the behaviour of a particular robot. Right bottom: Absolute orientations of the chassis of the four robots during the behaviour displayed in the map at the top. The angle is measured anticlockwise and 0° corresponds to the west on the map. Figure 19: A snapshot of a swarm-bot composed of 36 robots with the turret-chassis joint constraint that is moving after a coordination phase. Notice how the robots have their turrets oriented in four different directions (as shown by the arrows placed on the turrets) and how during the negotiation phase different robots have selected different fronts (indicated by the different orientations of the grey and white passive wheels). Percent of trials Rotating dynamical equilibrium 100 90 80 70 60 50 40 30 20 10 0 4 9 16 Number of robots 25 36 Without constraint With constraint Figure 20: Percent of times in 100 coordinated motion tests in which some swarm-bots having different sizes fall into the rotating dynamical equilibrium. Straight movement Distance travelled Distance travelled Coordination and movement 1 0,9 0,8 0,7 0,6 0,5 0,4 0,3 0,2 0,1 0 4 9 16 25 1 0,9 0,8 0,7 0,6 0,5 0,4 0,3 0,2 0,1 0 4 36 16 Distance travelled Number of robots 25 36 Without constraint With constraint Light approaching Distance travelled 9 16 Number of robots Obstacle avoidance 1 0,9 0,8 0,7 0,6 0,5 0,4 0,3 0,2 0,1 0 4 9 Without constraint With constraint Number of robots 25 36 Without constraint With constraint 1 0,9 0,8 0,7 0,6 0,5 0,4 0,3 0,2 0,1 0 4 9 16 Number of robots 25 36 Without constraint With constraint Figure 21: Performance with respect to the ability to: coordinate and move as quick as possible (top-left), move as fast and as straight as possible (top-right), avoid obstacles (bottom-left), and approach a light target (bottom-right). Histograms indicates the distance travelled by swarm-bots with different size, in four different conditions (see histograms’ titles and text). Dark and light grey histogram bars respectively indicate the performance of the robots without and with the turret-chassis joint constraint, and show the standard errors over the different trials (data refer to up to 100 trials per each condition since trials with performance below 0.3 were not consider).