Swarm robotics: a review from the swarm engineering perspective <s> Results <s> The aggregate motion of a flock of birds, a herd of land animals, or a school of fish is a beautiful and familiar part of the natural world. But this type of complex motion is rarely seen in computer animation. This paper explores an approach based on simulation as an alternative to scripting the paths of each bird individually. The simulated flock is an elaboration of a particle systems, with the simulated birds being the particles. The aggregate motion of the simulated flock is created by a distributed behavioral model much like that at work in a natural flock; the birds choose their own course. Each simulated bird is implemented as an independent actor that navigates according to its local perception of the dynamic environment, the laws of simulated physics that rule its motion, and a set of behaviors programmed into it by the "animator." The aggregate motion of the simulated flock is the result of the dense interaction of the relatively simple behaviors of the individual simulated birds. <s> BIB001 </s> Swarm robotics: a review from the swarm engineering perspective <s> Results <s> Potential function approaches to robot navigation provide an elegant paradigm for expressing multiple constraints and goals in mobile robot navigation problems. As an example, a simple reactive navigation strategy can be generated by combining repulsion from obstacles with attraction to a goal. Advantages of this approach can also be extended to multirobot teams. In this paper we present a new class of potential functions for multiple robots that enables homogeneous large-scale robot teams to arrange themselves in geometric formations while navigating to a goal location through an obstacle field. The approach is inspired by the way molecules "snap" into place as they form crystals; the robots are drawn to particular "attachment sites" positioned with respect to other robots. We refer to these potential functions as "social potentials" because they are constructed with respect to other agents. Initial results, generated in simulation, illustrate the viability of the approach. <s> BIB002 </s> Swarm robotics: a review from the swarm engineering perspective <s> Results <s> Abstract Teams with up to 12 real robots were given the mission to maintain the energy stocked in their nest by collecting food-items. To achieve this mission efficiently, we implemented a simple and decentralised task allocation mechanism based on individual activation-thresholds, i.e. the energy level of the nest under which a given robot decides to go collect food-items. The experiments show that such a mechanism — already studied among social insects — results in an efficient dynamical task allocation even under the noisy conditions prevailing in real experiments. Experiments with different team sizes were carried out to investigate the effect of team size on performance and risk of mission failure. <s> BIB003 </s> Swarm robotics: a review from the swarm engineering perspective <s> Results <s> In this paper we present three scalable, fully distributed, threshold-based algorithms for allocating autonomous embodied workers to a given task whose demand evolves dynamically over time. Individuals estimate the availability of work based solely on local perceptions. The differences among the algorithms lie in the threshold distribution among teammates (homogeneous or heterogeneous team), in the mechanism used for establishing threshold values (fixed, parameter-based or variable, rule-based), and in the sharing (public) or not sharing (private) of demand estimations through local peer-to-peer communication. We tested the algorithms" efficiency and robustness in a collective manipulation case study concerned with the clustering of initially scattered small objects. The aggregation experiment has been studied at two different experimental levels using a microscopic model and embodied simulations. Results show that teams using a number of active workers dynamically controlled by one of the allocation algorithms achieve similar or better performances in aggregation than those characterized by a constant team size while using on average a considerably reduced number of agents over the whole aggregation process. While differences in efficiency among the algorithms are small, differences in robustness are much more apparent. Threshold variability and peer-to-peer communication appear to be two key mechanisms for improving worker allocation robustness against environmental perturbations. <s> BIB004 </s> Swarm robotics: a review from the swarm engineering perspective <s> Results <s> We present a set of experiments in which simulated robots are evolved for the ability to aggregate and move together toward a light target. By developing and using quantitative indexes that capture the structural properties of the emerged formations, we show that evolved individuals display interesting behavioral patterns in which groups of robots act as a single unit. Moreover, evolved groups of robots with identical controllers display primitive forms of situated specialization and play different behavioral functions within the group according to the circumstances. Overall, the results presented in the article demonstrate that evolutionary techniques, by exploiting the self-organizing behavioral properties that emerge from the interactions between the robots and between the robots and the environment, are a powerful method for synthesizing collective behavior. <s> BIB005 </s> Swarm robotics: a review from the swarm engineering perspective <s> Results <s> This article presents a simple adaptation mechanism to automatically adjust the ratio of foragers to resters (division of labor) in a swarm of foraging robots and hence maximize the net energy income to the swarm. Three adaptation rules are introduced based on local sensing and communications. Individual robots use internal cues (successful food retrieval), environmental cues (collisions with team-mates while searching for food) and social cues (team-mate success in food retrieval) to dynamically vary the time spent foraging or resting. Simulation results show that the swarm demonstrates successful adaptive emergent division of labor and robustness to environmental change (in food source density), and we observe that robots need to cooperate more when food is scarce. Furthermore, the adaptation mechanism is able to guide the swarm towards energy optimization despite the limited sensing and communication abilities of the individual robots and the simple social interaction rules. The swarm also exhibits the capacity to collectively perceive environmental changes; a capacity that can only be observed at a group level and cannot be deduced from individual robots. <s> BIB006 </s> Swarm robotics: a review from the swarm engineering perspective <s> Results <s> In this paper, we study self-organized flocking in a swarm of mobile robots. We present Kobot, a mobile robot platform developed specifically for swarm robotic studies. We describe its infrared-based short range sensing system, capable of measuring the distance from obstacles and detecting kin robots, and a novel sensing system called the virtual heading system (VHS) which uses a digital compass and a wireless communication module for sensing the relative headings of neighboring robots. <s> BIB007 </s> Swarm robotics: a review from the swarm engineering perspective <s> Results <s> We investigate the emergence of specialized groups in a swarm of robots, using a simplified version of the stick-pulling problem [5], where the basic task requires the collaboration of two robots in asymmetric roles. We expand our analytical model [4] and identify conditions for optimal performance for a swarm with any number of species. We then implement a distributed adaptation algorithm based on autonomous performance evaluation and parameter adjustment of individual agents. While this algorithm reliably reaches optimal performance, it leads to unbounded parameter distributions. Results are improved by the introduction of a direct parameter exchange mechanism between selected high- and low-performing agents. The emerging parameter distributions are bounded and fluctuate between tight unimodal and bimodal profiles. Both the unbounded optimal and the bounded bimodal distributions represent partitions of the swarm into two specialized groups. <s> BIB008 </s> Swarm robotics: a review from the swarm engineering perspective <s> Results <s> Task partitioning is the decomposition of a task into two or more sub-tasks that can be tackled separately. Task partitioning can be observed in many species of social insects, as it is often an advantageous way of organizing the work of a group of individuals. Potential advantages of task partitioning are, among others: reduction of interference between workers, exploitation of individuals’ skills and specializations, energy efficiency, and higher parallelism. Even though swarms of robots can benefit from task partitioning in the same way as social insects do, only few works in swarm robotics are dedicated to this subject. In this paper, we study the case in which a swarm of robots has to tackle a task that can be partitioned into a sequence of two sub-tasks. We propose a method that allows the individual robots in the swarm to decide whether to partition the given task or not. The method is self-organized, relies on the experience of each individual, and does not require explicit communication between robots. We evaluate the method in simulation experiments, using foraging as testbed. We study cases in which task partitioning is preferable and cases in which it is not. We show that the proposed method leads to good performance of the swarm in both cases, by employing task partitioning only when it is advantageous. We also show that the swarm is able to react to changes in the environmental conditions by adapting the behavior on-line. Scalability experiments show that the proposed method performs well across all the tested group sizes. <s> BIB009 </s> Swarm robotics: a review from the swarm engineering perspective <s> Results <s> This paper studies self-organized flocking in a swarm of mobile robots. We present Kobot, a mobile robot platform developed specifically for swarm robotic studies, briefly describing its sensing and communication abilities. In particular, we describe a scalable method that allows the robots to sense the orientations of their neighbors using a digital compass and wireless communication. Then we propose a behavior for a swarm of robots that creates self-organized flocking by using heading alignment and proximal control. The flocking behavior is observed to operate in three phases: alignment, advance, and avoidance. We evaluate four variants of this behavior by setting its parameters to extreme values and analyze the performance of flocking using a number of metrics, such as order and entropy. Our results show that, the flocking behavior obtained under appropriate parameter values, is quite robust and generates successful self-organized flocking in constraint environments. <s> BIB010
The first work on coordinated motion was published by BIB001 in the domain of computer graphics. Reynolds developed a flock of virtual birds in which the individuals are able to sense the velocity and the range of the neighbors. The individuals follow three simple rules: collision avoidance, velocity matching and flock centering (see Fig. 10(a) ). Collision avoidance keeps the individuals from colliding one with the other. Velocity matching ensures that each individual matches the speed of its neighbors and flocking centering forces each individual to stay close to its neighbors. BIB002 proposed a coordinated motion behavior based on social potentials. Each robot knows the position and orientation of the robots in its sensing range Fig. 10 Examples of the coordinated motion behavior and thus it is able to compute the target position to reach. The authors created a coordinated motion behavior that is able to avoid obstacles and form different patterns, such as lines, diamonds and squares. BIB005 used artificial evolution to tune the parameters of a neural network in order to perform coordinated motion. The authors were able to obtain three coordinated motion behaviors. These behaviors differ by how each robot moves with respect to the others. In the first behavior, the robots keep a constant speed. In the second one, only one robot moves, while the rest of the swarm tries to remain close to it. In the last behavior, the robots rotate around the center of the swarm. BIB007 developed a virtual heading sensor which allows each robot to sense the heading direction of the other robots. With this information and knowing the distance of the neighbors (by means of an infrared sensor), the swarm was able to obtain coherent coordinated motion and obstacle avoidance in absence of a common goal direction (see Fig. 10(b) ). The developed behavior is one of the first true implementation of BIB001 flocking behavior with real robots. The authors evaluated the performance of their behavior by using different metrics and validated it with the use of several robots. Çelikkanat andŞahin (2010), extending the work of BIB007 , showed that it is possible to insert some "informed" robots in the swarm in order to direct the movement of other "non-informed" robots. The informed robots are the only ones in the group with knowledge of the goal direction. Increasing the number of informed robots or decreasing the individual tendency to follow other robots increase the accuracy of motion of the group with respect to the desired goal direction. These works have been extended by who developed alternative communication strategies in which some robots explicitly communicate their headings.  first introduced the idea of coordinated motion without the need for all robots to perceive the orientation of their neighbors. Their work has been extended by BIB010 , thus we present in detail only this most recent work. BIB010 proposed a coordinated motion behavior that, differently from other works, does not require an explicit alignment rule: the robots in the swarm use only attraction and repulsion rules. The key difference is in the novel way in which the robots translate the vector computed using the attraction and repulsion rules into wheel actuation. In fact, in all previous works, the robots changed their angular speed according to the direction of this vector while keeping their forward velocity fixed. In this work instead, the robots change also their forward speed, according to the magnitude of the computed vector. Additionally, the authors showed that the swarm is able to navigate both with and without the presence of informed robots, that is, robots that know the desired direction to follow.  In one of the first works on task allocation, BIB003 developed a very simple, threshold based mechanism. Robots have to collect prey that are then converted into energy in the nest. While foraging, the robots consume energy. To replenish this energy, the robots can draw it from a common reservoir. Each robot decides to leave and collect prey or to stay in the nest according to a probability. This probability depends on whether the nest energy is above or below a given threshold. Since this threshold is not homogeneous in the swarm, the number of robots allocated to foraging or to resting is a function of the energy level of the nest. BIB004 studied task allocation in a foraging task similar to the one studied by BIB003 . However, in this case the probability to select the foraging task or the resting task depends on individual observations of the environment and of other robots. Thus, the probability is a function of the success or failure of the last foraging trial, of the frequency with which other robots are encountered when foraging or of the perceived density of prey. A mathematical model of a similar task allocation behavior has been developed by BIB006 (see Fig. 13(a) ).  studied the problem of how to allocate robots on a construction site so that the number of assembling operations to do is shared equally. Each robot computes optimal equal-mass partitions, that is, partitions with the same number of operations, by sharing information with its neighbors. The developed behavior is robust to changes in the environment and scalable with the number of robots.  developed a task allocation behavior in a swarm of robots performing foraging using a bucket-brigade approach. In this work, the experiment arena is divided in three areas, the first one is the nest, the second one is an exchange area and the third one is where the prey are. In the exchange area, the robots have the possibility to wait for other robots in order to exchange the prey in a bucket-brigade fashion. Through different thresholds on the waiting time, the robots autonomously change their role between those who bring the prey from the source to the exchange area and those who bring the prey from the exchange area to the nest. BIB008 studied task allocation using robots performing stick pulling. Robots must remove sticks scattered in the environment. To remove a stick, two robots must cooperate performing two parts of the task: one holds a stick from the top and the other from the bottom. Once a robot finds a stick, it holds its top and waits for another robot to complete the second part of the task. If after a certain waiting time no one helped, the robot leaves the stick and searches for another one. This waiting time is changed dynamically according to how well a robot performed in the past. Although the results were not conclusive, the authors observed that, over time, the robots develop a preference for one of the two parts of the tasks, specializing in robots holding the top part of a stick and robots holding the bottom part. BIB009 considered a situation in which robots can choose between carrying a prey directly from the source to the nest and storing it in a dedicated two-sided structure called TAM ) (see Fig. 13(b) ). Stored prey can be collected by robots waiting on the other side of the structure and carried to the nest. The authors develop a mechanism that allows the robots to choose whether to use the structure on the basis of the cost involved.