Swarm robotics is a field of multi-robotics in which large number of robots are coordinated in a distributed and decentralised way. It is based on the use of local rules, and simple robots compared to the complexity of the task to achieve, and inspired by social insects. Large number of simple robots can perform complex tasks in a more efficient way than a single robot, giving robustness and flexibility to the group. In this article, an overview of swarm robotics is given, describing its main properties and characteristics and comparing it to general multi-robotic systems. A review of different research works and experimental results, together with a discussion of the future swarm robotics in real world applications completes this work.

1. Introduction

Swarm robotics is the study of how to coordinate large groups of relatively simple robots through the use of local rules. It takes its inspiration from societies of insects that can perform tasks that are beyond the capabilities of the individuals. Beni [1] describes this kind of robots’ coordination as follows:

The group of robots is not just a group. It has some special characteristics, which are found in swarms of insects, that is, decentralised control, lack of synchronisation, simple and (quasi) identical members.

This paper summarises the research performed during the last years in this field of multi-robotic systems. The aim is to give a glimpse of swarm robotics and its applications. In Section 2, the motivation and inspiration of swarm robotics taken from social insects is explained. Section 3 continues addressing the main characteristics of swarm robotics. The relationship of swarm robotics with multi-robotic systems in general is stated in Section 4. Different robotic platforms and simulators suitable for swarm-robotic experimentation are described in Section 5. Section 6 surveys the different results in solving tasks and performing basic behaviours using a swarm-robotic approach. Present and future real applications are depicted in Section 7. Lastly, in Section 8 the main ideas of this survey are summarised.

2. Social Insect Motivation and Inspiration

The collective behaviours of social insects, such as the honey-bee’s dance, the wasp’s nest-building, the construction of the termite mound, or the trail following of ants, were considered for a long time strange and mysterious aspects of biology. Researchers have demonstrated in recent decades that individuals do not need any representation or sophisticated knowledge to produce such complex behaviours [2]. In social insects, the individuals are not informed about the global status of the colony. There exists no leader that guides all the other individuals in order to accomplish their goals. The knowledge of the swarm is distributed throughout all the agents, where an individual is not able to accomplish its task without the rest of the swarm.

Social insects are able to exchange information, and for instance, communicate the location of a food source, a favourable foraging zone or the presence of danger to their mates. This interaction between the individuals is based on the concept of locality, where there is no knowledge about the overall situation. The implicit communication through changes made in the environment is called stigmergy [3, 4]. Insects modify their behaviours because of the previous changes made by their mates in the environment. This can be seen in the nest construction of termites, where the changes in the behaviours of the workers are determined by the structure of the nest [5].

Organisation emerges from the interactions between the individuals and between individuals and the environment. These interactions are propagated throughout the colony and therefore the colony can solve tasks that could not be solved by a sole individual. These collective behaviours are defined as self-organising behaviours. Self-organisation theories, borrowed from physics and chemistry domains, can be used to explain how social insects exhibit complex collective behaviour that emerges from interactions of individuals behaving simply [5]. Self-organisation relies on the combination of the following four basic rules: positive feedback, negative feedback, randomness, and multiple interactions [5].

Şahin [7] lists some properties seen in social insects as desirable in multi-robotic systems: robustness, the robot swarm must be able to work even if some of the individuals fail, or there are disturbances in the environment; flexibility, the swarm must be able to create different solutions for different tasks, and be able to change each robot role depending on the needs of the moment; scalability, the robot swarm should be able to work in different group sizes, from few individuals to thousands of them.

3. Main Characteristics

In order to understand what swarm robotics is, a definition taken from ahin [7] is given:

Swarm robotics is the study of how large number of relatively simple physically embodied agents can be designed such that a desired collective behaviour emerges from the local interactions among agents and between the agents and the environment.

This definition is complemented with a set of criteria in order to have a better understanding and be able to differentiate it from other multi-robot types of systems [7].(i)The robots of the swarm must be autonomous robots, able to sense and actuate in a real environment.(ii)The number of robots in the swarm must be large or at least the control rules allow it.(iii)Robots must be homogeneous. There can exist different types of robots in the swarm, but these groups must not be too many.(iv)The robots must be incapable or inefficient respect to the main task they have to solve, this is, they need to collaborate in order to succeed or to improve the performance.(v)Robots have only local communication and sensing capabilities. It ensures the coordination is distributed, so scalability becomes one of the properties of the system.

4. Swarm Robotics and Multi-Robotic Systems

In this section, we classify and characterise swarm robotics using the most known taxonomies and classifications in the multi-robotic systems’ literature. Dudek et al. define a taxonomy [8] in which different axes are used to characterise multi-robotic architectures using their properties. The taxonomy axes are summarised in Table 1, directly extracted from the author. Using this classification, properties are assigned to each one of the axes, for a generic swarm-robotic architecture, although these properties would depend on the concrete architecture. Collective Size is SIZE-INF, that is, number of robots , in opposition to SIZE-LIM, where the number of robots is small compared to the size of the task or environment. This expresses the scalability aimed in swarm-robotic systems. Communication Range is COM-NEAR, robots can only communicate with robots which are close enough. Communication Topology for a swarm system would be generally TOP-GRAPH, robots are linked in a general graph. Communication Bandwidth is BAND-MOTION, communication costs are of the same magnitude as the cost of moving the robot between locations. Collective Reconfigurability is generally ARR-COMM, this is, coordinated rearrangement with members that communicate; but it could also be ARR-DYN, dynamic arrangement, positions can change arbitrarily. Process Ability is PROC-TME, where computational model is a turing machine equivalent. Lastly, Collective Composition is CMP-HOM, meaning that robots are homogeneous.

Iocchi et al. present a taxonomy [6] structured in different levels. The first level is Cooperation, which includes a situation in which several robots perform a common task. Second level is Knowledge, which distinguishes whether robots know of the existence of other robots (Aware) or not (Unaware). Third level is Coordination, to differentiate the degree in which robots take into account the actions executed by other robots. According to the authors of the taxonomy this can be: Strongly Coordinated, Weakly Coordinated, or Not Coordinated. The last level is Organisation, which distinguishes between Centralised systems, where there exists a robot that is in charge of organising other robots’ work, and Distributed systems, where robots are autonomous in their decisions, that is, there are no leaders. According to this taxonomy, swarm-robotic systems are: Cooperative, Aware, Strongly Coordinated (they could also be Weakly Coordinated), and Distributed. A schematic of the taxonomy is shown in Figure 1, where for each level the corresponding type of system is marked in dark grey for a swarm-robotic system.

Cao et al. define a not so complete taxonomy [9]. It differentiates among centralised and decentralised architectures. Decentralised can be distributed, if all robots are equal with respect to control; or hierarchical if there exists a local centralisation. It also identifies between homogeneous and heterogeneous individuals. Using this taxonomy swarm systems are: decentralised, distributed, and homogeneous.

Some of the characteristics of multi-robotic systems can be extrapolated to swarm-robotic systems. We borrow here from Ronald Arkin [10] a list of advantages and disadvantages of multi-robotic systems compared to single-robot systems. Advantages of multi-robotic approaches are the following.(i)Improved performance: if tasks can be decomposable then by using parallelism, groups can make tasks to be performed more efficiently.(ii)Task enablement: groups of robots can do certain tasks that are impossible for a single robot.(iii)Distributed sensing: the range of sensing of a group of robots is wider than the range of a single robot.(iv)Distributed action: a group a robots can actuate in different places at the same time.(v)Fault tolerance: under certain conditions, the failure of a single robot within a group does not imply that the given task cannot be accomplished, thanks to the redundancy of the system.

Drawbacks are the following.(i)Interference: robots in a group can interfere between them, due to collisions, occlusions, and so forth.(ii)Uncertainty concerning other robots’ intentions: coordination requires to know what other robots are doing. If this is not clear robots can compete instead of cooperate.(iii)Overall system cost: the fact of using more than one robot can make the economical cost bigger. This is ideally not the case of swarm-robotic systems, which intend to use many cheap and simple robots which total cost is under the cost of a more complex single robot carrying out the same task.

5. Experimental Platforms in Swarm Robotics

In this section, the different experimental platforms used in the most relevant swarm-robotic experiments found in literature are described, including robotic platforms and simulators.

5.1. Robotic Platforms

Several robotic platforms used in swarm-robotic experiments in different laboratories are summarised in Table 2. These platforms are the following.(i)Khepera robot [11], for research and educational purposes, developed by École Polytechnique Fédérale de Lausanne (EPFL, Switzerland), widely used in the past, nowadays has fallen in disuse;(ii)Khepera III robot (http://www.k-team.com/) [12], designed by K-Team together with EPFL;(iii)e-puck robot (http://www.e-puck.org/) [13], designed at EPFL for educational purposes; (iv)The miniature Alice robot [14] also developed at EPFL; (v)Jasmine robot (http://www.swarmrobot.org/) [15], developed under the I-swarm project; (vi)I-Swarm robot (http://www.i-swarm.org/) [16], very small, also developed by the I-swarm project; (vii)S-Bot (http://www.swarm-bots.org/) [17], very versatile, with many actuators, developed in the Swarm-bots project; (viii)Kobot (http://www.kovan.ceng.metu.edu.tr/) [18], designed by Middle East Technical University (Turkey);(ix)SwarmBot (http://www.irobot.com/) [19], designed by i-Robot company for research.

In Table 2, the column Relative Positioning System indicates if the robots possess the ability to determine the relative positions of their nearby robots. This sensor is quite useful and necessary in many swarm-robotic tasks. Some of them are based on the emission of an infrared signal by a robot and the estimate of the distance by its neighbours depending on the strength of the received signal [12, 20]. Others work by emitting an ultrasound pulse at the same time than a radio signal, and estimating the distance taking into account the time difference in the reception of both signals [21, 22]. There are also robots that use a camera to detect and estimate the position of nearby robots that are equipped with markers [2325].

5.2. Simulators

There exist many mobile robotic simulators available which can be used for multi-robotic experiments, and more concretely for swarm-robotic experiments. They differ not only in their technical aspects but also in the license and cost. We summarise them, along with comments on their use on swarm-robotic applications in the following paragraphs.

Player/Stage/Gazebo (http://playerstage.sourceforge.net/) [26] is an open source simulator with multi-robotic capabilities and a wide set of available robots and sensors ready to use. The use for swarm-robotic experiments is analysed for 2D simulations [27] with very good results. Runtime scales approximately linearly with population sizes up to at least 100,000 simple robots. It works on real time for 1000 robots running a simple program. It is a good solution for swarm robotic experiments.

Webots (http://www.cyberbotics.com/) [28] is a realistic, commercial mobile simulator that allows multi-robot simulation, with already built models of real robots. It is 3D, simulating physics and collisions. According to our experience, its performance when working with more than 100 robots decreases very fast, making the simulations with a large number of robots difficult.

Microsoft Robotics Studio [29] is a simulator developed by Microsoft Corporation. It allows multi-robotic simulation. It requires a Windows platform to run.

SwarmBot3D [17] is a simulator for multi-robotics but designed specifically for the S-Bot robot of the SwarmBot project.

6. Experimental Basic Behaviours and Tasks in Swarm Robotics

A collection of the most representative experimental works in Swarm Robotics is depicted in this section. The different experimental results are organised grouping them depending on the tasks or behaviours carried out by the swarms. Some of the behaviours, such as aggregation and collective movement, are quite basic and constitute a previous level for more complex tasks. They are presented in increasing order of complexity.

6.1. Aggregation

In order to perform other tasks, such as collective movement, self-assembly and pattern formation, or to exchange information, robots must initially gather. This aggregation problem has been studied from a swarm-robotic approach by several researchers.

Trianni et al. [30] perform experiments using an evolutionary algorithm on simulated S-Bot robots. The sensory inputs are the proximity sensors and the microphones. The actuators are the motors and the speakers. One of the evolved solutions is scalable. Bahçeci and Şahin [31] also use evolutionary algorithms and simulated S-bot robots, leading to scalable results, although their work is rather focused on evolutionary algorithms than on aggregation.

Soysal and ahin [32] use an algorithm based on a probabilistic finite state machine for aggregation. They develop a macroscopic model of it and compares it with simulation results. Dimarogonas and Kyriakopoulos [33] propose a distributed aggregation algorithm based on potential functions consisting on: a repulsive force for obstacle avoidance and a attractive force for aggregation. They analyse mathematically its convergence and carry out simulated experiments with nine robots. Lastly, Garnier et al. [34] implement a biological model based on cockroach aggregation on Alice robots.

6.2. Dispersion

The aim of dispersion is to distribute the robots in space to cover it as much area as possible, usually without losing the connectivity between them. The swarm can work, when dispersed, as a distributed sensor, but also as a means for exploration.

Dispersion has been studied by different researchers both using real robots and in simulation. Howard et al. [35] present a potential field algorithm for the deployment of robots, in which robots are repelled by obstacles and other robots. The approach is distributed and does not require centralised localisation, leading to a scalable solution. The work is conducted only in simulation.

In [36], the authors propose and test in simulation a distributed algorithm for dispersion based on the read wireless intensity signals and a potential field approach. According to them, and although robots do not have information about the bearing to neighbouring robots, the algorithm successfully disperses the robots. Ludwig and Gini [37] and Damer et al. [38] also only use the wireless intensity for dispersion of a swarm of robots. They use a more elaborated algorithm that takes into account a graph of the neighbouring robots and the received signal intensities. They reach successful results in more complicated environments than the proposed in [36]. The fact that just wireless signal intensities are needed in these algorithms makes them quite attractive since they can be used with very simple robots not provided with relative positioning systems.

McLurkin and Smith [39] show the performance of a set of distributed algorithms for the dispersion of a large group of robots, where only inter-robot communications and sensing of other robots’ positions is used. The network connection of the swarm is maintained, creating a route to the initial positions where chargers were placed. The dispersion allows robots to explore large indoor environments. Experiments were run with up to 108 real SwamBots, showing the algorithm’s scalability.

In [40], a distributed algorithm for dispersing a set of robots in the environment at the same time that robots aggregate in areas of interest is presented and tested. Experiments done with 16 real SwarmBot robots show the success of the algorithm.

The coverage problem is related to dispersion. Robots need to disperse and detect the borders of the environment. Correll et al. [41] present a set of distributed and scalable algorithms for covering the boundaries of elements placed in a regular pattern. They show based on experimental results and using up to 30 Alice robots that coverage performance is improved with increasing number of robots.

6.3. Pattern Formation

Pattern formation is the problem of creating a global shape by changing the positions of the individual robots. Since we are here interested in a swarm-robotic approach, the explained examples will have just local information.

In [42], a swarm of particles form a lattice with both an internal and external defined shape. All the rules that make the particles/robots to aggregate in the desired formation are local, but a global external shape emerges, without having any global information. The algorithm uses virtual springs between neighbouring particles, taking into account how many neighbours they have.

Martinson and Payton [43] describe an algorithm that using a common reference orientation for the robots and local control laws acting in orthogonal axes creates square lattices.

Chaimowicz et al. [44] show an algorithm for placing robots in different shapes and patterns defined by implicit functions. Robots use a distributed approach based on local information to place themselves in the desired contour. Algorithms are tested both in simulation and with real robots.

In [45], a framework to assemble a swarm of robots given a morphology is shown. Using the robots’ capability of attaching they demonstrate how S-bot robots self-assemble forming global morphologies. The algorithm is completely distributed, and just local information is used.

6.4. Collective Movement

Collective movement is the problem of how to coordinate a group of robots and move them together as a group in a cohesive way [46]. It can also serve as a basic behaviour for more complicate tasks. It can be classified into two types: formations and flocking. In the former, robots must maintain predetermined positions and orientations among them. On the other hand, in flocking, robots’ relative positions are not strictly enforced.

There exist many architectures for collective movement but only those allowing scalability with increasing number of robots are of interest here. In [4749], the Physicomimetics Framework (PF), which allows to create a self-organised formation by using control laws inspired by physics, is presented and analysed. The controller is fully decentralised; each robot perceives the relative positions of its neighbours and reacts to attractive or repulsive forces, forming triangular lattices. The algorithm is scalable, working for dozens of robots.

Lee and Nak [50] propose a distributed algorithm for collective movement based on lattices. Its convergence is proved using Lyapunov’s theorem. In [51], a decentralised algorithm for the collective movement based on lattice formations is proposed. The stability of the algorithm in a particular case of study is proved. Obstacle avoidance is implemented by partitioning the plane into Voronoi regions.

Turgut et al. [52] propose and study a scalable and distributed algorithm for robot flocking. It is based on the heading alignment of the robots and the inter-robot distance control. The algorithm is tested in simulation with up to 1000 robots and with a small group of real robots.

6.5. Task Allocation

The problem of labour division is not a task as the previous ones, but a problem that can arise in multi-robotic systems and particularly in swarm robotics.

Jones and Matarić [53] present a distributed and scalable algorithm for labour division in swarms of robots. Each robot maintains a history of the activities performed by other robots based on observation, and independently performs a division of labour using this history. It then can modify its own behaviour to accommodate to this division.

In [54], authors propose two different methods for task allocation in a robotic swarm. Tasks are previously announced by certain robots and a number of them must attend to them simultaneously. The first algorithm is based on a gossip communication scheme, and it has better performance than the other, but due to limited robustness to packet loss it might be less scalable. The second is simple and reactive, based on interaction through light signals.

McLurkin and Yamins [55] describe four different algorithms for task allocation and test them using 25 SwarmBot real robots. The four of them result successful and scalable, although needing of different communication requirements.

In [56], a group of robots must solve a complex foraging task that is divided in a collection of subtasks. The authors propose and test with real robots a distributed algorithm based on a state machine that solves the main problem by self-assigning each robot a desired task.

6.6. Source Search

Swarm robotics can be very useful in search tasks, especially those in which the spatial pattern of the source can be complex as in the case of sound or odour. The odour localisation problem is studied in [57], where robots look for the odour source using a distributed algorithm. Experiments are conducted both in simulation and with real robots.

In [58], authors describe and test a distributed algorithm for localising stationary, time-invariant sources. They use feedback controls motivated by function minimisation theory. They explore two situations: one with global communications, in which robots are able to find the global maximum source; and a second one restricted to local communication, where local maxima are found. Experiments are run in simulation.

6.7. Collective Transport of Objects

Swarm robotics is very promising in solving the problem object transportation. The use of many robots can represent an advantage because of cooperation handling one object. In addition, the possible parallelism dealing with different objects by several robots at the same time might improve the performance.

Kube and Bonabeau [59] take as inspiration the ant collective transport of preys, where individuals wait for other mates if the transported object is too heavy. In their experiments, performed with real robots, a group of 6 robots is able to collectively push an object towards a destination in a purely distributed way.

Groß and Dorigo [60] solve the problem of transporting different objects by groups of S-Bot robots that self-assemble to cooperate. The algorithms were synthesised using an evolutionary algorithm. The experimental results in simulation show that the algorithm scales with heavier objects by using larger groups of robots (up to 16). But the performance does not scale with the group size, since the mass transported per robot decreases with the number of robots.

In [61], authors discuss and propose the collective transport of objects by collecting them and storing them for later transport. The robots of the swarm would have two different tasks: collecting the objects and placing them in a cart; and collectively move the cart carrying objects.

6.8. Collective Mapping

The problem of collective mapping has not yet been widely studied by the swarm-robotic community. In [62], a set of algorithms for the exploration and mapping of big indoor areas using large amounts of robots is described. In their experiments, they use up to 80 robots spread in a area. Nevertheless, the mapping is carried out by two groups of two robots that eventually exchange and merge their maps, so it cannot be considered swarm mapping.

Rothermich et al. [63] propose and test (in simulation and with real robots) a method for distributed mapping using a swarm of robots. Each robot can assume two roles: moving or landmark that are exchanged for the movement of the swarm. In addition, robots have a certain confidence in their localisation estimated position. Using this information, localisation estimates of other robots and sensor measurements they build a collective map.

7. Towards Real World Applications

In the first sections of this paper many interesting and promising properties of swarm robotics have been enlightened. Nevertheless, currently there exist no real commercial applications. The reasons for it are varied. ahin and Winfield [64] enumerate three of them as follows.

Algorithm Design. Swarm robotics must design both the physical robots and the behaviours of the individual robots, so the global collective behaviour emerges from their interactions. At the moment, no general method exists to go from the individuals to the group behaviour.

Implementation and Test. The use of many real robots needs of good laboratory infrastructure to be able to perform experiments.

Analysis and Modeling. Swarm-robotic systems are usually stochastic, nonlinear, so building mathematical models for validation and optimisation is hard. These models might be necessary for creating safety real world applications.

Winfield et al. [65] discuss the concept of swarm engineering, studying the dependability of swarm-robotic systems through a case of study. According to them, some of the future work needed from a dependability point of view is the following.(i)Mathematical modelling of swarm-robotic systems.(ii)Work on safety analysis at robot and swarm level.(iii)Develop an approach to the design of emergence.(iv)Develop methodologies and practises for the testing of swarm systems.

Higgins et al. [66] address the main security challenges that swarm-robotic systems should face in a future. They state that due to the simplicity of swarm-robotic architectures they have to deal with the following problems.(i)Physical capture of the robots.(ii)Identity and authentication, robot must know if it is interacting with a robot from its swarm or from an intruder robot.(iii)Communication attacks, communications can be intercepted or disturbed by an attacker.

The possible real applications of swarm robotics will take special importance when robots get to be mass produced and the costs of building swarms of robots decrease. This is the objective of I-swarm project [67] which aimed at building a swarm of micro robots. The development of technologies such as MEMS (Micro-Electro-Mechanical Systems) will allow to create small and cheap robots.

Swarm robots can perform tasks in which the main goal is to cover a wide region. The robots can disperse and perform monitoring tasks, for example, in forests, lakes, and so forth. It can be really useful for detecting hazardous events, like a leakage of a chemical substance. The main advantage over a sensor network is that the swarm can move and focus on the problem and even act to prevent the consequences of that problem.

In this way swarms of robots can be really useful for dangerous tasks. For example, for mining detection and cleaning. It can be more useful than a unique specialised robot, mainly because of the robustness of the swarm: if one robot fails and the mine explodes, the rest of the swarm continues working. In the case of a single robot this is not possible.

The number of possible applications is really promising, but still the technology must firstly be developed both in the algorithmic and modelling part, and also in the miniaturisation technologies.

8. Summary

An overview of swarm robotics has been given for a better understanding of this field of multi-robot research. The first sections have made an introduction to the topic, showing its main properties and characteristics and placing the field in relation to more general multi-robotic systems. The main tasks and experimental results in swarm robotics and the platforms used have been then summarised. Lastly, the future promising applications together with the problems to overcome in order to reach them have been explained and analysed.