Abstract
Collective movement of mobile robots is the problem of how to control a group of robots making them move as a group, in a cohesive way, towards a common direction. Collective movement serves not only to move a group of robots from one point to another, but to perform more complex tasks such as using the group of robots as a moving sensor array, collective mapping and searching tasks. In this article, a survey of collective movement of mobile robots is done, including a classification and characterization of its different types, a review of the most important architectures and a list of its promising applications.
1. Introduction
Collective movement can be understood as the phenomenon in which a set of individuals moves together as a group in a cohesive way. It can be observed in nature: in fish schools, flocks of birds, and herds of wildebeests (Gueron et al., 1996; Heppner, 1997; Viscido et al., 2005). Collective movement in artificial systems has been designed for several purposes by different communities. Video game and film industries simulate crowds of people and groups of animals moving together in order to show realistic animations. Collective movement of mobile robots has been studied in the past two decades by many robotic researchers, adopting different approaches. It is the problem of how to control a group of robots making them move as a group, towards a common direction.
The first work in artificial flocking was a computer graphic animation of a group of birds by Reynolds (1987). With just three simple local rules, the artificial birds were able to move as a cohesive group: Collision Avoidance, avoiding collisions with other flock-mates; Velocity Matching, matching velocity with nearby flock-mates; Flock Centering, trying to stay close to neighboring flock-mates.
Collective movement architectures of mobile robots should ideally possess the following desirable characteristics:
Scalability with an increasing number of robots;
Robustness to changes in the size of the group and single robot failures;
Ability to create different external shapes and modify them dynamically;
Obstacle avoidance at group level;
Ability to split in smaller groups, and rejoin small group to form larger ones.
Use local rules based on local information and communication, in order to facilitate scalability.
In this article, a review on different of collective movement in mobile robots is done. Section 2 describes and explains different sets of classifications of collective movement for a better understanding. In Section 3, the different basic functions that a group of mobile robots moving together might perform are defined. Section 4 performs a review on different collective movement architectures, grouping them according to their similarities. In addition, potential applications of collective movement of mobile robots are enumerated in Section 5. Lastly, a summary of the article is given in Section 6.
2. Classifications
Collective movement problems are classified into two categories according to the positions that the robots must occupy: formation control and flocking. The formation control or robot formations problem consists in how to coordinate a group of robots making them maintain a determined position while moving in the environment. Sometimes just the relative positions between robots are determined, in other occasions also a desired outline must be fulfilled. On the other hand, flocking is the problem of moving a group of robots when the shape and relative positions between the robots are not important. In a flocking problem the external shape could also be controlled but it is not often done.
Flocking of robots is interesting because it allows big groups of robots to move using decentralized control and local sensing. But, in some applications, formations can be an advantage compared to flocking, when fixed positions are necessary. Robots might have different roles depending on their positions in the formation, e.g., those in the boundary area of the formation may be in charge of mapping and deciding the movement direction while the rest could be in charge of sensing other environment variables such as sound, temperature or odor. Since robots may have different capabilities, they should remain at different positions within the formation. In addition, keeping fixed positions makes it easier to maintain a map of the positions of the robots relative to themselves, and to use this structure for cooperative sensing.
Some formation architectures or algorithms create lattices given by the positions of their robots. The robots form a regular pattern made of squares, rectangles or triangles. Lattices formed by triangles are also called hexagonal, because six triangles form an hexagon. Usually these formations are created using potential fields between nearby robots. Some lattice algorithms are not so strict with the positions of the robots, and just try to maintain a desired inter-robot distance which forms a triangular lattice, but give a priority to the movement. The group moves while trying to maintain an inter-robot distance, so they can be considered as flocking and not strictly as a formation. For instance, in the case of the architecture proposed by Navarro & Matía (2011), robots start moving as a group even if the positions of the robots are not satisfactory. During the initial moments of this movement robots reallocate to the desired positions, so it can be considered a kind of lattice-flocking, even if most of the time the desired positions are respected. On the other hand, in lattice formations as in the case described by Navarro et al. (2009), robots first place in the appropriate positions and then start moving. The disadvantage is that the movement is not smooth since from time to time some robots stop their movement to place themselves in the right positions.
In Fig. 1, a sketch of each of the three types of collective movement types, flocking, formations and lattices (formation or flocking), are depicted.

Sketches showing different types of collective movements: (a) wing formation, (b) lattice (flocking or formation) and (c) flocking.
Robot formations are classified by Balch & Arkin (1998) into the following three groups, which we comment and analyze here:
Unit-center-referenced. A center is calculated independently by each robot by averaging the positions of all robots, and then each robot determines its own position relative to this center. This kind of formation is not scalable since it implies that each robot must know the position of every other robot in the formation, which it is not practical at all.
Leader-referenced. Each robot maintains a position with respect to a leader robot. The leader does not follow any robot, and is in charge of path planning. As the previous case, scalability is a problem since all the robots must know the position of the leader.
Neighbor-referenced. Each robot maintains a position in reference to another robot. In this way, chains or tree structures are formed where one robot follows another one. Depending on the distance and angles to neighbors different structures arise: diamond, wedge, column, etc. If one robot is followed by more than one robot, branches can be created and more complex structures arise. The internal structure and the external shape cannot be differentiated in these cases. Scalability in this case might be also difficult, since the position error can propagate cumulatively from one robot to others.
According to Balch & Arkin (1998), in the Neighbor-referenced model each robot determines its position in reference to another robot, but there are many architectures and algorithms in which robots calculate their positions depending on the positions of several neighbors. We can classify these architectures in a group named Multi-Neighbor-referenced type, as a special case of the Neighbor-referenced type. These Multi-Neighbor-referenced algorithms can create formations of lattice type, but also could create more complex structures.
Different architectures differ on the attracting functions and the way to chose neighbors. If these algorithms are based on local control and sensing they can scale with increasing number of robots, since robots determine their positions based on more than one robot so the error does not propagate so fast. In principle, the global shape of the formation is not pre-specified and is determined solely by local interactions, unless another controller is introduced to modify it.
According to the type of controllers to allow collective movement they can be distributed or centralized. Centralized controllers do not ensure scalability. The same can be said about communications and sensing.
Most of the examples in the literature imply movement in two dimensions, but there are also algorithms and frameworks for three dimensional collective movement, which allow the control of unmanned aerial vehicles or autonomous underwater vehicles.
3. Functions of Robots Moving Collectively
In order to better understand the potential possibilities of collective movement of mobile robots, and to be able to compare and understand the different architectures reviewed in Section 4, some basic functions, which can be performed by a group of robots moving together, are explained here helped by the use of sketches that show the positions of robots with time.
3.1 Aggregation
Aggregation is the process in which robots spread in the environment group together. It is not a function of collective movement, but a previous step necessary for collective movement. In Fig. 2, an aggregation process over time is depicted. The last step represents alignment of the robots for later movement.

Sketch showing the aggregation mechanism of a group of robot and a later alignment of the individuals.
3.2 Moving to a Desired Place
Moving from one place to another is a basic function that a group of robots might perform, the path followed can be decided or planned by the group of robots or by one of them, or can be previously provided by a user. In Fig. 3, the collective movement from one point to another following a pre-defined path is shown.

Sketch of a group of robots following a path together. 3.3 Obstacle Avoidance
Robots must avoid collisions individually for safety reasons, but it is also convenient for a group of robots to be able to avoid obstacles at group level. This allows them to maintain the group cohesive, avoiding undesired splits. In Fig. 4, the obstacle avoidance at group level function is depicted in different time steps.

Sketch showing how a group of robots performs the obstacle avoidance function.
3.4 Splitting in Smaller Groups
For a group of robots moving together it can be useful or necessary to divide or split into two or more groups. This can allow them to overpass a large obstacle so that one group leaves the obstacle on its left and the other group leaves it on its right, as is shown in the sketch presented in Fig. 5. The decision on when and how to split might depend on the number of robots, the desired task that the group must perform or on the environment. For instance, a group of robots can split in subgroups for a more efficient performance in searching tasks.

Sketch where a group of robots splits into sub-group to overpass an obstacle.
3.5 Rejoining Groups
Two or more groups of robots moving separately can rejoin eventually and become a larger group that can behave as a single one. This can be useful if the task that robots perform requires more members, or for instance if the group of robots must be tele-operated to a desired place by only one human. Fig. 6 shows how two groups rejoin in a bigger one, and how they must agree on their headings just after they rejoin.

Sketch showing how two groups rejoin to become a unique group.
3.6 Modifying the Inter-robot Distance
In the case of groups organized as lattices or as a flock which tries to maintain a desired inter-robot distance, this inter-robot distance can be modified. This decision can be taken by an external operator, by one of the robots or collectively by all or many members of the group. A typical case can be the one in which robots want to pass through a narrow corridor without changing their topology, so they just reduce their inter-robot distance. A sketch of this process can be seen in Fig. 7. Another reason for changing the inter-robot distance can be to cover a larger area by increasing it.

Sketch where a group of robots modifies its inter-robot distance in order to pass through a corridor.
3.7 External Shape Modification
The group of robots, no matter if it is a flock or a formation, forms an external shape which can be modified. This is a difficult task in large groups of robots since much information (positions of all external robots, for instance) must be known. These shape transformations can be useful for different reasons such as better navigation, or optimal positioning of the robots to measure certain variables. In Fig. 8, two transformations of the external shape of a group of robots are shown.

Sketch showing two external shape modifications: into a circle and into a rectangle.
4. Review of Architectures
In this section a review of the most relevant architectures and frameworks for collective movement of robots is given. They are organized in three main groups according their structure: formations, lattice based formations and flocking. Their controllers, properties and fundamentals are explained briefly.
4.1 Formations
Different formation architectures are explained in this subsection. They are group according to the previously explained classification by Balch & Arkin (1998) including the new defined Multi-Neighbor-referenced type.
4.1.1 Unit-center referenced
In (Balch & Arkin, 1998), an algorithm for formations of robots is proposed and tested in simulation (up to four robots) and with real robots (up to two robots). The robot positions are calculated using in some experiments a unit-center referenced approach while in others a leader referenced one is used. Motor-schemas are used for avoiding obstacles and robots and for maintaining in formation, but not many details are given. They exchange their positions, obtained by GPS, via radio. Simulations considered no positioning error and no latency in communications. Robots were able to maintain different formations (diamond, wedge, column and line), while avoiding obstacles. But the number of robots used is quite small.
Barfoot et al. (2002) propose and test a formation controller for collective movement based on path planning of the trajectories of the individuals. Paths are calculated off-board and control signals are sent directly to the robots. Thus, the controller is centralized knowing at every moment the position of every robot. The positions of the robots depend on the kind of movement that the group is performing. Experiments are performed using six real robots.
Bhatt et al. (2004) also present a method for formation control based on path planning. They take explicitly into account the nonholonomic constraints of the differentially-driven robots used. Only simple case studies are tested.
4.1.2 Leader referenced
One of the first works on collective movement coming from the robotics community is studied by Parker (1993), where a simulated group of four robots tries to maintain a linear formation the presence of one leader. Different levels of local and global information are studied in order to detect the limitations of local information. No many details about the controllers is given.
Lee & Chong (2009) describe and test a new decentralized formation algorithm based on a common coordinate system given by the position of a leader robot. It allows to create a wide variety of formations: circles, lattices, wings, columns, regular polygons, diamonds. The algorithm is tested both in simulation (12 robots) and in reality (four robots).
4.1.3 Neighbor referenced
Fredslund & Mataric (2002) propose and test an algorithm similar to the work of Balch & Arkin (1998) but making it scalable since robots just need to know the relative position of one nearby robot and communicate with it. Also diamond, wedge, column and line formations are created. Identification numbers are used, but robots are not enforced to occupy fixed positions.
In (Kostelnik et al., 2002), another algorithm also using local rules, this time based on a layered architecture, is proposed and tested in simulation. The formation using a leader-follower chained structure has the capability of creating wing, diamond and linear formations. Experiments are performed only in simulation with up to seven robots. Naffin & Sukhatme (2004) present a leader-follower approach for creating formations (diamond, wedge, column and line). The novelty is that robots are able to optimize the formation by changing their role positions within the formation. It has the capability to rejoin subgroups by negotiation. Experiments are carried out using four real robots. Hsu & Liu (2005) propose a similar leader-follower architecture and analyze its results performance and capabilities in more detail. It has the capability of creating several teams. Four services: join, remove, split, and merge requests, are defined to perform multi-team control. Experiments are performed only in simulation.
Desai et al. (2001) propose and test a formation control strategy which allows changes in the shape of the formation. There is a leader robot and the control of the rest of the robots is based on a leader follower approach, where the leader is followed by one or more robots, and these robots are followed by others. Depending on the leader-follower graph used different shapes arise. Changes of shape are performed by adding and deleting edges of the graph. The algorithm is tested in simulation using up to six robots.
Ögren (2004) proposes a set of controllers for formations of robots where robots join or exit the formation depending on the quality of the movement. If the velocity of the formation is low or the error in position is high they leave the formation. If the velocity is high and robots are in a good position in the formation they join it. The method is tested only in simulation, with only one example.
In (Kwok et al., 2007), Particle Swarm Optimization is used to optimize a leader-follower formation control algorithm. Experiments are tested only in simulation with few robots.
Some researchers use fuzzy controllers for solving the collective movement problem, adopting different solutions. Two different fuzzy controllers for a leader-follower algorithm are presented by Bazoula et al. (2008); Sisto & Gu (2006). Both of them are only tested in simulation.
4.1.4 Multi-Neighbor referenced
Balch & Hybinette (2000) expanded and improved the work by Balch & Arkin (1998), also using motor schemas (here named social potentials), positioning robots with respect to more than one neighboring robot through artificial attachment points. This allows them to create also lattice formations. Only local information is used by the robots. Results are obtained only with simulation, with up to 32 robots.
Chang & Fu (2008) present a control hierarchical framework for collective movement in formation based on a Lyapunov approach. The framework is tested in simulation using only three robots.
In (Lawton et al., 2003), three different control strategies for the movement in formation of a set of robots are presented and tested. Robots need top know the neighbors' positions, and in some cases also the velocity. Experiments are carried out using three real robots.
In (Pereira & Hsu, 2008), a controller for the formation of robots modeled as Euler-Lagrange systems is presented and tested only in simulation. They use binary adaptive control and artificial potential functions. Robots need to know the velocities of nearby robots, which makes the controller difficult to implement on real robots.
In (Das et al., 2002), an architecture allowing change of the formation shape is presented. Shape modification is performed by changing the control graph. The controller is distributed among the robots and according to the authors it is scalable with the number of robots. Tests are performed using three real robots provided by omnidirectional cameras as sensors, but helped by off-board computation on an external computer.
In (Olfati-Saber & Murray, 2002b), a graph based theoretical framework that formally defines the formations of robots is presented. It allows to formulate stability problems of formations, and to represent formally the split and rejoin functions of a group of robots. Part of this graph formalization is used by Olfati-Saber & Murray (2002a) in order to control a formation of robots using a distributed approach and potential functions. Results are presented from only two simulated examples.
4.2 Lattice Based Formations
Lattice based formations are described here. Given the nature of this type of formations they all correspond to the Multi-Neighbor-referenced type.
In (Spears et al., 2004), the Physicomimetics Framework (PF), which allows to create a self-organized lattice based formation by using control laws inspired by physics, is presented and analyzed. The controller is fully decentralized; each robot perceives the relative positions of its neighbors and reacts to attractive or repulsive forces, forming triangular lattices. The algorithm is scalable, working for dozens of robots. The bulk of the work in PF has been done in simulation, and robots are considered to be holonomic. It is explained that PF is used with nonholonomic robots, but movement is performed by making a rotational movement followed by a translation within a large time window. Such an approach would not be practical for most real-world formations, where the reaction time is a critical system attribute.
Lee & Chong (2008a) propose a distributed algorithm for collective movement based on lattices. Its convergence is proved using Lyapunov's theorem. It is tested in simulations with up to 100 robots. In (Lee & Chong, 2008b), a similar algorithm is proposed allowing the split of groups to overpass obstacles. Its performance is tested only in simulation.
Antonelli et al. (2008) present a solution for lattice based control of group of robots. It is based on a new approach for the coordination of multiple robots, named Null-Space-based Behavioral control (Antonelli et al., 2010). It is distributed, scalable and tested both in simulation and with real robots.
In (Kalantar & Zimmer, 2007), the movement of a swarm of robots is controlled by determining the shape that the group must occupy and where it should move towards. The shapes are described with reduced-dimensional representation techniques. The boundary robots general theory of curve evolution to form shapes, and the internal robots form a uniform distribution using attraction-repulsion forces. Results are obtained simulating underwater vehicles.
4.3 Flocking
A set of the most relevant flocking algorithms are presented in this subsection. As in the lattice based formations most of the architectures belong to the Multi-Neighbor-referenced type.
In (Hayes & Dormiani-Tabatabaei, 2002), a distributed algorithm for flocking of robots is presented. A simulator is used in order to optimize the controllers using reinforcement learning techniques, improving the performance of the algorithm. Validation of the algorithm is complemented using 10 real robots provided with emulated estimation of neighboring robots' positions.
In (Chaimowicz & Kumar, 2004), a method for splitting a group of robots and rejoining two groups of robots is explained. Each group of robots is leaded by an aerial blimp that tracks the robots. If two groups of robots have the same destination and one of the blimps is able to track both groups it will get in charge of both and rejoin the groups. If one group has to split into two sub-groups, the aerial blimp will lead one of them and ask a second blimp to track the other sub-group. As can be seen the high-level coordination is centralized in the aerial blimp and not distributed among the robots. This architecture does not belong to the Multi-Neighbor-referenced type, since robots are guided by a leader.
Turgut et al. (2008) 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. Robots are able to detect the relative position to other robots (but not to identify them) and are also provided with a compass and wireless communications.
Moshtagh et al. (2006) study the flocking of a group of agents based on the observation of neighboring robots in the absence of communications, allowing planar and three-dimensional movement. No communication is used and all information is obtained visually. Controllers are tested in simulation with up to four robots in the three-dimensional case.
4.3.1 Flocking Based on Consensus
Consensus problems are those in which a set of inter-communicated agents must agree on the value of a variable. Several collective movement algorithms make use of consensus on the velocities or headings of the robots in order to create the cohesive movement of the group.
In (Tanner, Jadbabaie & Pappas, 2003a), a flocking movement of a group of robots is created by using a distributed controller based on attractive-repulsive forces and agreement on the velocities among nearby robots. Consensus is obtained using an average function. The stability of the controllers under a fixed topology, i.e. when neighboring robots do not change, is proved and also qualitative results from a single simulation are presented. In (Tanner, Jadbabaie & Pappas, 2003b), the stability analysis is generalized to dynamic topology where connectivity among robots changes with time. More qualitative and quantitative results for experiments in simulation using similar controllers are shown by Tanner, Jadbabaie & george Pappas (2003).
Jadbabaie et al. (2003) study the collective movement of a group of robots when a consensus protocol is applied only to the headings. Different variations are studied including one where one of the robots does not change its heading an tries to impose it to the rest of the group. All the analysis is performed theoretically and no simulations or any type of experiments are carried out. Consensus on the heading is main necessary condition for flocking.
Olfati-Saber (2006) presents a set of distributed control algorithms for the collective movement of robots forming triangular lattices, based on velocity consensus among the robots. The controllers allow robots to move in open space, but also to avoid obstacles, split and rejoin. The main of the work is studied in two-dimensions but it is also extended to the three-dimensional case. In addition, the stability of the controllers is proved under certain conditions. Experiments in simulation with up to 150 robots are presented.
5. Applications
Most of the multi-robot applications can improve their performance by making use of collective movement. Some of this applications are enumerated here: \
Search and rescue operations, whose performance can be improved if robots organize in formations;
Search of odor (Hayes et al, 2002; Lochmatter et al, 2010) or sound (Pugh & Martinoli, 2007).
Control of arrays of satellites and unmanned aerial vehicles;
Distributed sensor arrays, in which it is very important to set the appropriate distances among them in order to have a better received signal;
Future applications of autonomous highway vehicles, allowing cars to move in a coordinated way;
Collective movement of objects;
Environmental monitoring;
Collective mapping (Howard, 2004).
6. Conclusions
In this article, a study of collective movement in robotic systems has been done. First, an introduction to the problem has been explained, followed by a set of classifications of the different types of movements. The basic functions that a group of mobile robots moving together might perform is also given, followed by a review of the most relevant architectures. In addition, potential applications of collective movement of mobile robots were listed.
Footnotes
7. Acknowledgments
This work is funded by the Spanish Ministry of Science and Technology (ARABOT: DPI 2010-21247-C02-01) and supervised by CACSA whose kindness we gratefully acknowledge.
