Swarm robotics studies how to design a large group of robots that operate without relying on any external infrastructure and on any form of centralized control. In a robot swarm, the collective behavior of the robots results from local interactions between the robots and between the robots and the environment in which they act. The design of robot swarms is guided by swarm intelligence principles, which promote the realization of systems that are robust, scalable and flexible. Swarm robotics appears to be a promising approach when different activities must be performed concurrently, when high redundancy and the lack of a single point of failure are desired, and when it is technically unfeasible to setup an infrastructure to control the robots in a centralized way. Examples of tasks that could be profitably tackled using swarm robotics are demining, search and rescue, planetary or underwater exploration, and surveillance.
Characteristics of swarm robotics
A robot swarm is a large and highly redundant group of autonomous robots that act in a self-organized way and cooperate to accomplish a given task. Robotsâ€™ sensing and communication capabilities are local and robots do not have access to global information. The collective behavior of the robot swarm results from the interactions of each individual robot with its neighboring peers and with the environment.
Desirable properties of swarm robotics systems
The aforementioned characteristics of swarm robotics are deemed to promote the realization of systems that are robust, scalable and flexible.
A robot swarm is able to cope well with the failure of one or more of its individuals: the loss of individuals does not imply the failure of the whole swarm. Robustness to failures is promoted by the high redundancy of the system: the swarm does not rely on any centralized control entity, leaders, or any individual robot playing a predefined role.
A robot swarms is also able to cope well with changes in its group size: the introduction or removal of individuals does not result in a drastic change in the performance of the swarm. Scalability is promoted by local sensing and communication: provided that the introduction and removal does not dramatically change the density of the robots, each individual robot will keep interacting with approximately the same number of robots, those that are in its sensing and communication range.
Finally, robot swarms are flexible, that is, are able to cope well with a broad spectrum of different environment and tasks. Flexibility is promoted by relying only on local sensing and communication and behavioral mechanisms as, for example, task allocation.
Potential applications of swarm robotics
The properties of swarm robotics systems make them appealing in several potential fields of application.
The use of robots for tackling dangerous tasks is clearly appealing as it eliminates or reduces the risks for humans. The dangerous nature of these tasks implies a high risk of losing robots. Therefore, a solution that is robust to failure is necessary, making dangerous tasks an ideal field of application for robot swarms. Example of dangerous tasks that can be tackled using robot swarms are demining, search and rescue, and toxic cleaning.
Other potential applications for robot swarms are those in which it is difficult or even impossible to estimate in advance the resources needed to accomplish the task. For instance, estimating the resources needed to manage an oil leak can be very hard because it is often difficult to estimate the oil output and foreseen its development. In these cases, a solution is needed that can scale and easily adapt. A robot swarm could be a appealing solution: robots can be added or removed in time to provide the appropriate amount of resources and fit the requirements of the specific task. Example of tasks that might require an a priori unknown amount of resources are search and rescue, transportation of large objects, tracking, cleaning.
Another potential field of application for swarm robotics are tasks that have to be accomplished in large or unstructured environments, in which there is no available infrastructure that can be used to control the robots - e.g., no available communication network or global localization system. Robot swarms are well suited for such applications because they are able to act autonomously without the need of any infrastructure or any form of external coordination. Examples of tasks in unstructured and large environments are planetary or underwater exploration, surveillance, demining, cleaning, search and rescue.
Some applications take place in environments that might rapidly change over time. For instance, in a post earthquake situation, buildings might collapse changing the layout of the environment and creating new hazards. In these cases, it is necessary to adopt solutions that are flexible and can react fast to events. Robot swarms are flexible systems that can rapidly adapt to new operating conditions. Example of applications in environments that change over time are patrolling, disaster recovery, search and rescue, cleaning.
Scientific implications of swarm robotics
Beside being relevant to engineering applications, swarm robotics is also a valuable scientific tool. Indeed, several models of natural swarm intelligence systems have been refined and validated using robot swarms. For example, Garnier et al. (2005) validated the model of a collective decision-making behavior in cockroaches using robot swarms.
Swarm robotics has been used also to investigate, via controlled experiments, the conditions under which some complex social behaviors might result out of an evolutionary process. For example, robot swarms have been used to study the evolution of communication (Mitri et al., 2009) and collective decision making (Halloy et al., 2007).
Current research axis
In this section, we present the main research axis of the current research in swarm robotics. For a comprehensive review of the literature, see Brambilla et al. (2013).
The design of a robot swarm is a difficult endeavor: requirements are usually expressed at the collective level, but, eventually, the designer needs to define what the individual robots should do so that their interactions result in the desired collective behavior. Approaches to the design problem in swarm robotics can be divided in two categories: manual design and automatic design.
In manual design, the designer follows a trial-and-error process in which the behaviors of the individual robot are developed, tested and improved until the desired collective behavior is obtained. The software architecture that is most commonly adopted in swarm robotics is the probabilistic finite state machine. Probabilistic finite state machines have been used to obtain several collective behaviors, including aggregation (Soysal and Sahin, 2005), chain formation (Nouyan et al., 2009), and task allocation (Liu et al., 2007). Another common approach is based on virtual physics. In this approach, robots and environment interact through virtual forces. This approach is particularly suited for spatially organizing collective behaviors, such as pattern formation (Spears et al. 2004) and collective motion (Ferrante et al., 2012). Currently, the main limit of manual design is that it completely relies on the ingenuity and expertise of the human designer: designing a robot swarm is more of an art than a science. A systematic and general way to design robot swarms is still missing, even though some preliminary proposal has been made (Hamann and Worn, 2008; Berman et al., 2011; Brambilla et al., 2012).
In swarm robotics automatic design has been mostly performed using the evolutionary robotics approach (Nolfi and Floreano, 2004). Typically, individual robots are controlled by a neural network whose parameters are obtained via artificial evolution (Trianni and Nolfi, 2011). Evolutionary robotics has been used to develop several collective behaviors including aggregation (Trianni et al., 2003) and collective transport (GroÃŸ and Dorigo, 2008). One of the main limits of evolutionary robotics is that it is often difficult to define all the element of the evolutionary process that will produce control software that allows the robot swarm to effectively accomplish the given task.
TODO: remove. An alternative approach to automatically design robot swarms has been recently proposed. In this approach, probabilistic finite state machines are automatically assembled starting from pre-available modular components using an optimization algorithm (Francesca et al., 2014).
The analysis of a robot swarm usually relies on models. A model of a robot swarm can be realized in two ways: by modeling the behaviors of the individual robots, what it is called modeling the microscopic level; or by modeling the collective behavior of the swarm, what it is called modeling the macroscopic level.
Modeling the microscopic level allows one to represent in a detailed way the actions of all the individual robots composing the swarm. Unfortunately, microscopic modeling is problematic due to the very large number of robots involved. Often, microscopic modeling relies on computer-based simulations (Kramer and Scheutz, 2007; Pinciroli et al., 2012).
Macroscopic models avoid the complexity and scalability issues of having to model each individual robot, by considering only the collective behavior of the swarm. One of the most common macroscopic modeling approach is the use of rate or differential equations (Lerman et al. 2005). Rate equations describe the time evolution of the ratio of robots in a particular state, that is, of robots that are performing a specific action or are in a specific area of the environment. Another common approach is the use of Markov chains, which allow researchers to formally verify properties of a robot swarm (Dixon et al., 2011; Konur et al., 2012). Control theory has also been used to analyze whether a robot swarm eventually converges to a desired macroscopic state (Liu and Passino, 2004; Hsieh et al., 2008).
A hybrid way of modeling robot swarms is based on Fokker-Plank and Langevin equations (Hamann and Worn, 2008; Berman et al., 2011; Prorok et al., 2011). Using these equations, one can model both the behavior of the individual robot, in the form of a deterministic component of the model; and the collective level of the swarm, in the form of a stochastic component of the model.
A large part of the research effort in swarm robotics is directed towards the study of collective behaviors. Collective behaviors can be categorized into four main groups: spatially organizing behaviors, navigation behaviors, collective decision-making behaviors, and other behaviors.
Spatially-organizing behaviors focus on how to organize and distribute robots and objects in space. Examples of such behaviors are aggregation (Soysal and á¹¢ahin, 2005), pattern formation (Spears et al. 2004), chain formation (Nouyan et al. 2009), self-assembly (O'Grady et al., 2010), and object clustering and assembling (Werfel et al., 2011).
Navigation behaviors focus on how to coordinate the movements of a robot swarm. Examples of such behaviors are collective exploration (Ducatelle et al., 2011a), collective motion (Turgut et al., 2008), and collective transport (Baldassarre et al., 2006).
Collective decision-making focuses on how robots influence each other in making decisions. In particular, collective decision-making can be used to achieve consensus on a single alternative (Garnier et al., 2005) or allocation to different alternatives (Pini et al., 2009).
Other behaviors that do not fall in the previously mentioned categories are collective fault detection (Christensen et al. 2009), group size regulation (Pinciroli et al, 2013), and human-swarm interaction (Naghsh et al. 2008).
Despite its potential to promote robustness, scalability and flexibility, swarm robotics has yet to be adopted for solving real-world problems. This is possibly due to the hardware limitations of the currently available robots and to the lack of an engineering approach for swarm robotics. In particular, the main open issues are the lack of a general methodology for designing robot swarms, the lack of well defined metrics and testbed to assess their performance, and the lack of formal ways to verify and guarantee their properties.
G. Baldassarre, D. Parisi, and S. Nolfi. Distributed coordination of simulated robots based on self-organization. Artificial Life, 12(3):289â€“311, 2006.
S. Berman, Ã. M. HalÃ¡sz, M. A. Hsieh, and V. Kumar. Optimized stochastic policies for task allocation in swarms of robots. IEEE Transactions on Robotics, 25(4):927â€“937, 2009.
S. Berman, V. Kumar, and R. Nagpal. Design of control policies for spatially inhomogeneous robot swarms with application to commercial pollination. IEEE International Conference on Robotics and Automation (ICRA), pp 378â€“385. 2011.
M. Brambilla, C. Pinciroli, M. Birattari, and M. Dorigo. Property-driven design for swarm robotics. In Proceedings of the AAMAS 2012, pp 139â€“146, 2012.
M. Brambilla, E. Ferrante, M. Birattari, and M. Dorigo. Swarm robotics: a review from the swarm engineering perspective. Swarm Intelligence, 7(1):1â€“41, 2013.
A. L. Christensen, R. Oâ€™Grady, and M. Dorigo. From fireflies to fault-tolerant swarms of robots. IEEE Transactions on Evolutionary Computation, 13(4):754â€“766, 2009.
C. Dixon, A. Winfield, and M. Fisher. Towards temporal verification of emergent behaviours in swarm robotic systems. In Lecture notes in computer science: Vol. 6856. Towards autonomous robotic systems, pp. 336â€“347, 2011.
F. Ducatelle, G. A. Di Caro, C. Pinciroli, F. Mondada, and L. M. Gambardella. Communication assisted navigation in robotic swarms: self-organization and cooperation. In Proceedings of the IEEE/RSJ international conference on intelligent robots and systems (IROS 2011), pp. 4981â€“4988, 2011.
S. Garnier, C. Jost, R. Jeanson, J. Gautrais, M. Asadpour, G. Caprari, and G. Theraulaz. Aggregation behaviour as a source of collective decision in a group of cockroach-like robots. In Lecture notes in artificial intelligence: Vol. 3630. Advances in artificial life, pp. 169â€“178, 2005.
J. Halloy, G. Sempo, G. Caprari, C. Rivault, M. Asadpour, F. TÃ¢che, I. Said, V. Durier, S. Canonge, J.M. AmÃ©, C. Detrain, N. Correll, A. Martinoli, F. Mondada, R. Siegwart, J.-L. Deneubourg. Social integration of robots into groups of cockroaches to control self-organized choices. Science, 318(5853):1155â€“1158, 2007.
H. Hamann and H. WÃ¶rn. A framework of space-time continuous models for algorithm design in swarm robotics. Swarm Intelligence, 2(2â€“4):209â€“239, 2008.
M. A. Hsieh, Ã. HalÃ¡sz, S. Berman and V. Kumar. Biologically inspired redistribution of a swarm of robots among multiple sites. Swarm Intelligence, 2(2â€“4):121â€“141, 2008.
S. Konur, C. Dixon, and M. Fisher. Analysing robot swarm behaviour via probabilistic model checking. Robotics and Autonomous Systems, 60(2):199â€“213, 2012.
J. Kramer and M. Scheutz. Development environments for autonomous mobile robots: a survey. Autonomous Robots, 22(2), 101â€“132, 2007.
K. Lerman, A. Martinoli, and A. Galstyan. A review of probabilistic macroscopic models for swarm robotic systems. In Lecture Notes in Computer Science: Vol. 3342. Swarm robotics, pp 143â€“152, 2005.
Y. Liu and K. M. Passino. Stable social foraging swarms in a noisy environment. IEEE Transactions on Automatic Control, 49(1):30â€“44, 2004.
W. Liu, A. F. T. Winfield, J. Sa, J. Chen, and L. Dou. Towards energy optimization: emergent task allocation in a swarm of foraging robots. Adaptive Behavior, 15(3):289â€“305, 2007.
S. Mitri, D. Floreano, and L. Keller. The evolution of information suppression in communicating robots with conflicting interests. PNAS, 106(37):15786-15790, 2009;
A. Naghsh, J. Gancet, A. Tanoto, and C. Roast. Analysis and design of human-robot swarm interaction in firefighting. In Proceedings of the 17th IEEE international symposium on the robot and human interactive communication (Ro-man 2008), pp. 255â€“260, 2008.
S. Nolfi and D. Floreano. Evolutionary robotics: intelligent robots and autonomous agents. Cambridge: MIT Press, 2000.
S. Nouyan, R. GroÃŸ, M. Bonani, F. Mondada, and M. Dorigo. Teamwork in self-organized robot colonies. IEEE Transactions on Evolutionary Computation, 13(4):695â€“711, 2009.
R. Oâ€™Grady, R. GroÃŸ, A. L. Christensen, and M. Dorigo. Self-assembly strategies in a group of autonomous mobile robots. Autonomous Robots, 28(4):439â€“455, 2010.
C. Pinciroli, V. Trianni, R. O'Grady, G. Pini, A. Brutschy, M. Brambilla, N. Mathews, E. Ferrante, G. Di Caro, F. Ducatelle, M. Birattari, L. M. Gambardella and M. Dorigo. ARGoS: a Modular, Parallel, Multi-Engine Simulator for Multi-Robot Systems. Swarm Intelligence, 6(4):271-295, 2012.
C. Pinciroli, R. O'Grady, A. L. Christensen, M. Birattari and M. Dorigo. Parallel Formation of Differently Sized Groups in a Robotic Swarm. SICE Journal of the Society of Instrument and Control Engineers, 52(3):213-226, 2013.
G. Pini, A. Brutschy, M. Birattari, and M. Dorigo. Interference reduction through task partitioning in a robotic swarm. In IEEE international conference on neural networks: IEEE world congress on computational intelligence, 2009.
A. Prorok, N. Correll, and A. Martinoli. Multi-level spatial modeling for stochastic distributed robotic systems. The International Journal of Robotics Research, 30(5):574â€“589, 2011.
O. Soysal and E. Åžahin. Probabilistic aggregation strategies in swarm robotic systems. In Proceedings of the IEEE swarm intelligence symposium, pp. 325â€“332, 2005
W. M. Spears, D. F. Spears, J. C. Hamann, and R. Heil. Distributed, physics-based control of swarms of vehicles. Autonomous Robots, 17(2â€“3):137â€“162. 2004.
V. Trianni and S. Nolfi. Engineering the evolution of self-organizing behaviors in swarm robotics: A case study. Artificial Life, 17(3):183â€“202, 2011.
A. E. Turgut, H. Ã‡elikkanat, F. GÃ¶kÃ§e, and E. á¹¢ahin. Self-organized flocking in mobile robot swarms. Swarm Intelligence, 2(2â€“4): 97â€“120, 2008.
J. Werfel, K. Petersen, and R. Nagpal. Distributed multi-robot algorithms for the TERMES 3D collective construction system. In Proceedings of the IEEE/RSJ international conference on intelligent robots and systems (IROS), 2011.
- Swarm Intelligence: The main journal in the field.
- ANTS - International Conference on Swarm Intelligence: This series of conferences, held for the first time in 1998, is the oldest in the swarm intelligence field.
- IEEE Swarm Intelligence Symposia: Another series of conferences dedicated to swarm intelligence, started in 2013.
- Swarm-bots: 2001-2005
- Swarms: 2003-2007
- iSwarm project: 2005-2008
- Swarmanoid: 2006-2010
- Symbrion: 2008-2013