An Introduction to Swarm Robotics

Swarm robotics is a �eld 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 eﬃcient way than a single robot, giving robustness and �exibility 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 diﬀerent research works and experimental results, together with a discussion of the future swarm robotics in real world applications completes this work.


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: e 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.is paper summarises the research performed during the last years in this �eld of multi-robotic systems.e 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.e 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.

Social Insect Motivation and Inspiration
e collective behaviours of social insects, such as the honeybee'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.ere exists no leader that guides all the other individuals in order to accomplish their goals.e 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.is interaction between the individuals is based on the concept of locality, where there is no knowledge about the overall situation.e 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.is 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.ese interactions are propagated throughout the colony and therefore the colony can solve tasks that could not be solved by a sole individual.ese collective behaviours are de�ned 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; �exibility, 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.

Main Characteristics
In order to understand what swarm robotics is, a de�nition taken from Sahin [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.
is de�nition 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) e robots of the swarm must be autonomous robots, able to sense and actuate in a real environment.
(ii) e number of robots in the swarm must be large or at least the control rules allow it.(iii) Robots must be homogeneous.ere can exist different types of robots in the swarm, but these groups must not be too many.(iv) e 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.

Swarm Robotics and Multi-Robotic Systems
In this section, we classify and characterise swarm robotics using the most known taxonomies and classi�cations in the multi-robotic systems' literature.�udek et al. de�ne a taxonomy [8] in which different axes are used to characterise multirobotic architectures using their properties.e taxonomy axes are summarised in (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. de�ne 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 identi�es 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.is 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.

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.

Robotic Platforms.
Several robotic platforms used in swarm-robotic experiments in different laboratories are summarised in Table 2. ese platforms are the following.
In Table 2, the column Relative Positioning System indicates if the robots possess the ability to determine the relative positions of their nearby robots.is 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].ere are also robots that use a camera to detect and estimate the position of nearby robots that are equipped with markers [23][24][25].
5.2.Simulators.ere exist many mobile robotic simulators available which can be used for multi-robotic experiments, and more concretely for swarm-robotic experiments.ey 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.e 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.
Microso Robotics Studio [29] is a simulator developed by Microso Corporation.It allows multi-robotic simulation.It requires a Windows platform to run.
SwarmBot3D [17] is a simulator for multi-robotics but designed speci�cally for the S-Bot robot of the SwarmBot project.

Experimental Basic Behaviours and Tasks in Swarm Robotics
A collection of the most representative experimental works in Swarm Robotics is depicted in this section.e 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.ey 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.is 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.e sensory inputs are the proximity sensors and the microphones.e 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.[32] use an algorithm based on a probabilistic �nite state machine for aggregation.ey 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.ey 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.

Dispersion.
e 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.e 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 �eld algorithm for the deployment of robots, in which robots are repelled by obstacles and other robots.e approach is distributed and does not require centralised localisation, leading to a scalable solution.e 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 �eld 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.ey use a more elaborated algorithm that takes into account a graph of the neighbouring robots and the received signal intensities.ey reach successful results in more complicated environments than the proposed in [36].e 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.e network connection of the swarm is maintained, creating a route to the initial positions where chargers were placed.e 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.
e 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.ey show based on experimental results and using up to 30 Alice robots that coverage performance is improved with increasing number of robots.

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 swarmrobotic approach, the explained examples will have just local information.
In [42], a swarm of particles form a lattice with both an internal and external de�ned 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.e 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 de�ned 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.e algorithm is completely distributed, and just local information is used.

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 classi�ed into two types: formations and �ocking.In the former, robots must maintain predetermined positions and orientations among them.On the other hand, in �ocking, robots' relative positions are not strictly enforced.
ere exist many architectures for collective movement but only those allowing scalability with increasing number of robots are of interest here.In [47][48][49], the Physicomimetics Framework (PF), which allows to create a self-organised formation by using control laws inspired by physics, is presented and analysed.e controller is fully decentralised; each robot perceives the relative positions of its neighbours and reacts to attractive or repulsive forces, forming triangular lattices.e 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.e 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 �ocking.It is based on the heading alignment of the robots and the inter-robot distance control.e algorithm is tested in simulation with up to 1000 robots and with a small group of real robots.6.5.Task Allocation.e 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.e �rst 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.e 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.e 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.e authors propose and test with real robots a distributed algorithm based on a state machine that solves the main problem by selfassigning 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.e 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.ey use feedback controls motivated by function minimisation theory.ey explore two situations: one with global communications, in which robots are able to �nd the global maximum source; and a second one restricted to local communication, where local maxima are found.Experiments are run in simulation.

Collective Transport of Objects.
Swarm robotics is very promising in solving the problem object transportation.e 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.[60] solve the problem of transporting different objects by groups of S-Bot robots that self-assemble to cooperate.e algorithms were synthesised using an evolutionary algorithm.e 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.

Groß and Dorigo
In [61], authors discuss and propose the collective transport of objects by collecting them and storing them for later transport.e 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.

Collective Mapping. e 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 600 m 2 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 con�dence in their localisation estimated position.Using this information, localisation estimates of other robots and sensor measurements they build a collective map.

Towards Real World Applications
In the �rst sections of this paper many interesting and promising properties of swarm robotics have been enlightened.Nevertheless, currently there exist no real commercial applications.e reasons for it are varied.Sahin and Win�eld [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.e 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.ese models might be necessary for creating safety real world applications.
Win�eld 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.ey 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.
e 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.is is the objective of I-swarm project [67] which aimed at building a swarm of micro robots.e 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.e 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.e 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.
e number of possible applications is really promising, but still the technology must �rstly be developed both in the algorithmic and modelling part, and also in the miniaturisation technologies.

Summary
An overview of swarm robotics has been given for a better understanding of this �eld of multi-robot research.e �rst sections have made an introduction to the topic, showing its main properties and characteristics and placing the �eld in relation to more general multi-robotic systems.e 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.

T 2 :
Summary of the main robotic platforms used in swarm experiments.Name Size (mm) (diam.)or (  )