Autonomous 16
Autonomous 16
Autonomous 16
DOI 10.1007/s10514-016-9577-x
Abstract Robotic swarms are decentralized systems formed Keywords Robotic swarms · Traffic control · Navigation ·
by a large number of robots. A common problem encoun- Distributed coordination
tered in a swarm is congestion, as a great number of robots
often must move towards the same region. This happens when
robots have a common target, for example during foraging or
waypoint navigation. We propose three algorithms to allevi- 1 Introduction
ate congestion: in the first, some robots stop moving towards
the target for a random number of iterations; in the second, Robotic swarms are systems formed by a large number of
we divide the scenario in two regions: one for the robots that relatively simple robots, placed in the same region and inter-
are moving towards the target, and another for the robots that acting to fulfill a common goal. The inspiration of robotic
are leaving the target; in the third, we combine the two pre- swarms arises from insect colonies behavior, such as ants
vious algorithms. We evaluate our algorithms in simulation, and bees. In these colonies, individuals interact using only
where we show that all of them effectively improve naviga- local communication and there is no central unit controlling
tion. Moreover, we perform an experimental analysis in the each and every individual. Even so, they are able to perform
real world with ten robots, and show that all our approaches complex global behavior and solve hard problems in the real
improve navigation with statistical significance. world.
In an environment where there are multiple robots, the
tendency for a robot to interfere with other robots execution
B Leandro Soriano Marcolino is greater (Lerman and Galstyan 2002). A common problem
sorianom@usc.edu in the navigation of swarms is congestion, which happens
Yuri Tavares dos Passos when a large number of robots must move towards the same
yuri.passos@ufrb.edu.br region simultaneously. For example, it is common that robots
Álvaro Antônio Fonseca de Souza have a common target, as in waypoint navigation (Marcolino
alvaro.souza@dcc.ufmg.br and Chaimowicz 2008). Even if they have distinct targets,
Andersoney dos Santos Rodrigues these might be located close to each other, in the same region.
andersoneyrodrigues@gmail.com Besides waypoint navigation, we can also see this kind
Luiz Chaimowicz of congestion when a swarm of robots is solving a foraging
chaimo@dcc.ufmg.br problem (Sahin et al. 2008; Sahin 2004) (i.e., when robots
1 Teamcore Laboratory, Computer Science Department,
must move to locations in the environment to collect items
University of Southern California, Los Angeles, CA, USA and transport them to a specific location). The foraging prob-
2 Centro de Ciências Exatas e Tecnológicas, Universidade
lem has many practical applications in the real world, such
Federal do Recôncavo da Bahia, Cruz das Almas, BA, Brazil as transportation of toxic material or debris from landslides.
3 VeRLab - Vision and Robotics Laboratory, Computer Science
The congestion problem could be solved by using a central
Department, Universidade Federal de Minas Gerais, processing unit to compute the best trajectory for each robot.
Belo Horizonte, MG, Brazil However, there is a drawback: the system becomes dependent
123
Auton Robot
on this central unit and the solution is not scalable to a large Sect. 6 presents our conclusions and possible directions for
number of robots. future work.
We can see many works in the robotics and in the multi-
agent systems literature dealing with traffic control in a
distributed fashion, but they focus mainly in scenarios where 2 Related work
agents navigate in delimited lanes and meet in the intersec-
tions of these lanes (Carlino et al. 2013; Ikemoto et al. 2004; We can find related works about traffic control not only in the
Ferrati and Pallottino 2013; Hoshino 2011). Here, however, robotics literature, but also in multi-agent systems, and even
we are dealing with a problem where robots may arrive from in the computer graphics literature. Besides, biological stud-
anywhere, and must go towards a specific target, not simply ies also show traffic control in animals and bacteria swarms.
pass through an intersection. In this section we discuss these in detail. We will begin by
There are also many collision avoidance algorithms discussing the works in robotics.
(Alonso-Mora et al. 2015; van den Berg et al. 2011; Franchi The problem of traffic control can be considered as a
et al. 2015; Krontiris and Bekris 2011), but avoiding colli- resource conflict problem. In Cao et al. (1997), it is denoted
sion does not necessarily lead to a better performance in the a “resource conflict” when a single and indivisible resource
common target problem, as the system can still become clut- is requested by various robots. In the context of this work,
tered and inefficient even with a good collision avoidance the resource in question is the common target, represented
algorithm. by a small region of space. A theoretical study of spatial con-
In this work we present three fully distributed algorithms flicts is presented in Savchenko and Frazzoli (2005), where
for congestion control of a swarm of robots that move towards a conflict is defined as an event generated when two robots
a common target. Our first algorithm, originally proposed in get closer than a velocity-dependent safety distance. In their
Marcolino and Chaimowicz (2009), uses a probabilistic finite work, they prove that the time needed to transfer each robot
state machine to coordinate robot navigation. Robots near the from its origin to its destination, chosen arbitrarily, takes
√
target stop moving towards their objective for a random num- ( L̄ n) time to complete, where n is the number of robots
ber of iterations, in order to help other robots reach the target. and L̄ is the average distance between origins and destina-
However, although this algorithm alleviates the congestion tions.
when robots are reaching the target, robots still have prob- The problem of organizing the traffic of a group of robots
lems to exit the target area. Therefore, we propose a novel has been studied since the 80s. In Grossman (1988), an
algorithm that divides the target area in two regions: one for algorithm for traffic control of automated guided vehicles
the robots to move towards the target, and another for the is presented, but his control is made in a centralized manner.
robots to exit the target area. If a robot is moving towards The works of Kato et al. (1992) and Caloud et al. (1990) treat
the target and finds itself in the wrong area, it will move this problem in a decentralized manner using traffic rules that
towards its appropriate region. Finally, in our third algorithm each robot obeys. However, they do not consider the specific
we combine the ideas from the two previous ones, effec- problem where every robot must go towards a common tar-
tively alleviating the congestion both for robots entering and get. In general, these works assume that the robots navigate
for robots exiting the target area. in delimited lanes (like streets or roads). These lanes meet
We evaluate our algorithms in simulation, where we show in intersections, where congestion may happen. The traffic
that we can improve the time of the executions in 76 %, control, normally, is executed only at these intersections.
clearly outperforming the baseline approach of using only Although traffic control has been studied for a long time,
collision avoidance. We also show that ORCA, a state of the problem of controlling the traffic of a swarm of robots that
the art collision avoidance mechanism (van den Berg et al. navigate towards a common goal has not been well studied.
2011), is unable to handle the common target problem, as In the works of Sahin (2004), Sahin et al. (2008), Barca and
it reaches an equilibrium where the robots circulate around Sekercioglu (2013), Brambilla et al. (2013), and Bayindir
the target and do not move towards it. Additionally, we ana- (2015), which present thorough reviews about swarm robot-
lyze our algorithms with real robots, and show that all our ics, this problem is not specifically discussed.
approaches improve the navigation with statistical signifi- Many works in robotics, however, study how to find effi-
cance for a group of ten real e-puck robots. cient paths for a group of robots. For example, Olmi et al.
This paper is organized as follows: in the next section we (2009) develop an algorithm to coordinate predefined paths
present relevant related work. In Sect. 3 we present our first for a group of robots in industrial environments, and a cen-
proposed algorithm, while in Sect. 4 we explain our second tral processing unit changes the path of each robot in case
algorithm, and how both algorithms can be combined into a there is a possible collision. In Guo and Parker (2002), a
single one. We show and discuss our results in Sect. 5, where distributed algorithm is designed for motion planning for
we study simulations and executions with real robots. Finally, multiple robots, but their simulation experiments involve at
123
Auton Robot
most three robots. The work of Peasgood et al. (2008) deals others while navigating. The navigation of different groups
with the trajectory collision problem for several robots, but is also studied by Santos and Chaimowicz (2011), where a
in a context where the targets of each robot is different. hierarchical approach is used in order to control each robotic
Their approach also needs a roadmap of the environment. group.
In Hoshino (2011), the congestion problem is dealt in a In Ducatelle et al. (2011a), self-organized cooperation
simplistic scenario: the robots navigate in lanes, and they between two different groups is studied, one formed by
are only allowed to move in one direction, without passing wheeled robots and the other by flying robots that can attach
other robots. Ferrati and Pallottino (2013) propose an algo- to the ceiling. Using only simulation, it is shown how this sys-
rithm for distributed traffic management of a group of mobile tem is able to find efficient paths in complex environments.
collaborative vehicles moving within a shared environment, Ducatelle et al. (2011b, 2014) show an algorithm where
however they did not treat the common target problem. Ike- the swarm members cooperate to dynamically find efficient
moto et al. (2004) show a completely distributed algorithm paths between two targets. However, they still face conges-
that, based on a spatial temporal pattern, coordinates the tion problems near the common targets when the number
movement of robots into intersections or junctions. Overall, of robots is large, decreasing performance. In a very recent
the works in robotics focus on the situations where robots work, Demir et al. (2015) study how to use Markov chains to
navigate in delimited lanes, or present only results in simula- control a swarm to a certain desired spatial distribution, but
tion environments, or do not show results for a large group of such approach does not apply for the common target problem
robots. studied in this paper.
Instead of dealing explicitly with traffic control, there are Some works, in the multi-agent systems field, use a man-
works that focus on finding more efficient approaches to col- ager agent to administrate the traffic at intersections where
lision avoidance than using local repulsion forces. In Krishna congestion may happen, as in Dresner and Stone (2005).
and Hexmoor (2004), an algorithm is proposed in which Other works are dealing with manager free scenarios; Car-
robots coordinate their velocities in order to avoid collisions. lino et al. (2013), for instance, propose the use of auctions to
The coordination may entail not only the robots directly manage traffic congestion for a large group of autonomous
involved in the probable collision, but the robots in the neigh- vehicles at intersections. However, these methods do not
borhood as well, which might have to change their velocities solve the problem discussed in this paper. In the common
to help the robots involved. The work presented in Kron- target case, robots may arrive from and depart to any direc-
tiris and Bekris (2011) deals with the collision resolution tion. Besides, this target can be located in any place of an
problem in a decentralized fashion, using an extension of the unstructured environment, not only in fixed locations such
obstacle prevention policy named Generalized Roundabout as intersections or junctions.
Policy (Pallottino et al. 2007). Franchi et al. (2015) study We also found related works in computer graphics, in the
the problem of encircling a moving target while guarantee- research of crowd simulations. For example, in Treuille et al.
ing collision avoidance between the robots. Other examples (2006), a mechanism is proposed to avoid congestion among
of works dealing with collision avoidance are Yasuaki and people during the simulations of a big crowd. The authors
Yoshiki (2001), Cai et al. (2007), van den Berg et al. (2008), propose an approach where agents plan early to avoid a con-
van den Berg et al. (2011) and Alonso-Mora et al. (2015). gestion, enabling smoother trajectories than using only local
However, as mentioned, collision avoidance algorithms may repulsion forces. The method, however, is not completely
not be sufficient for preventing congestion situations when a decentralized, making it hard to be implemented for a swarm
large number of robots converge to the same region. Hence, of robots. Besides, it focuses on the case where agents move
even with a good collision avoidance behavior, the system in opposite directions, not on the case where many robots try
may still become cluttered and inefficient. to reach the same target.
Traffic control is also an important issue in biology, when As we can see, although there are many works dealing
studying animal and bacteria swarms. For example, Bazazi with traffic control and collision avoidance, there are not
et al. (2012) show that tadpoles form vortexes when forag- so many works dealing directly with the proposed problem,
ing for food. Shapiro (1988) comments that the Myxococcus in which many robots converge to a common target in an
xanthus bacteria constructs spherical colonies containing unstructured environment, and must coordinate themselves
millions of individuals, surrounding a common target in order in a distributed, robust and fault-tolerant fashion. This prob-
to feed. Couzin and Franks (2002) study the behavior of army lem often happens in the navigation of swarms, for example,
ants, showing that they form massive three-lane structures when they are using waypoints or foraging. In particular, we
while transporting resources, minimizing traffic congestion. first noticed this problem during the experiments in Marcol-
Concerning robotic swarms, Santos et al. (2014) study ino and Chaimowicz (2008), and it is also mentioned as a
the case where subgroups of a swarm meet during naviga- problem during the navigation of swarms in Ducatelle et al.
tion, and each subgroup must remain segregated from the (2011b, 2014).
123
Auton Robot
123
Auton Robot
/* Control equations */
t
if state = normal or impatient then
bo
Ro
// Move towards target, while avoiding
collisions
u j = a · t j − b · i∈N j r(i, j);
end
x
area if state = waiting or locked then
// Try to remain stationary, while
y avoiding collisions
w −q
u j = −b1 · i∈N j r(i, j) + b2 · ||w jj −q jj ||
Target end
/* State changes */
Fig. 3 Sensing area (α-area) considered by a robot to change its state if state = normal then
if inside danger region and has neighbor in αw -area then
state := waiting;
We consider that a robot detects the presence of another end
(and avoid collisions) when the distance between them is if outside danger region and has neighbor i in αl -area then
if statei = waiting or locked then
lower than δ. Every time a robot, i, detects the presence of
state := locked;
another, j, it sends a message saying its target and its current end
state. In order to decrease the number of messages, each robot end
can send only one message at every iterations. Moreover, end
a robot will only send a message if it is inside the danger if state = waiting then
if mod(iteration,η) = 0 and rand() < ρ then // Changes
region or if it is in the locked state, which will be described
state after η iterations with
later. probability ρ
Finally, we introduce our algorithm, by describing the
behaviors of each state in the probabilistic finite state state := impatient;
end
machine. A formal description of the algorithm is shown
end
in Algorithm 1. It works as follows: a normal robot j moves if state = locked then
in the direction of the target while avoiding collisions. It can if inside danger region then
follow a simple potential field controller, such as: state := waiting;
else if there is no neighbor i in αl -area where statei =
waiting or locked then
uj = a · tj − b · r(i, j), (1) state := normal;
i∈N j end
if state = impatient then
if disttarget < then
where u j is the control input for robot j, a and b are positive
state := normal;
constants, t j is a function that drives the robot towards the target := next target; // This robot will not
target, N j is the set of robots in the neighborhood of j and be considered by the other robots
r(i, j) is a repulsive function that drives robot j away of anymore – except for collision
avoidance
its neighbor i. The proposed algorithm does not depend on
end
which specific functions t j and r(i, j) are used. end
When a normal robot j is in the danger region, and detects
Algorithm 1: PCC algorithm
another robot i, it will check if that robot is within its α-area
and if they have the same target. The constant α used in the
area verification will be called αw . If both conditions are
position due to the influence of other robots. Therefore, its
true, j will change its state to waiting. This situation can be
control equation can be given by:
seen in Fig. 4a. It is important to define an α-area, instead
of considering the full sensing range of the robot, in order wj − qj
to avoid that robots stop moving towards the target because u j = 0 · t j − b1 · r(i, j) + b2 · , (2)
||w j − q j ||
of other robots behind them, in a situation where they could i∈N j
easily reach the target with a low risk of congestion.
A waiting robot will try to remain stationary in the point where b1 > b2 are constants, q j is the current position of
where it changed its state while at the same time avoiding robot j and w j is the point where the robot j changed its
collisions. Collision avoidance must have a higher priority state to waiting. We kept the term 0 · t j just to emphasize
than staying at the same place where it changed state; we that the function driving the robot towards the target will be
only want to prevent that the robot changes too much its ignored.
123
Auton Robot
123
Auton Robot
able to locally sense if a neighbor is in its α-area. As this interval, all waiting robots will make exactly one attempt to
algorithm is an improvement on methods where robots must change state. This time interval will be called an iteration.
move towards a target, they would already have an estimate
of the direction and distance to the target in order to be able Proposition 1 Given a set of n waiting robots, the prob-
to converge to it. It is also necessary for the waiting robots ability that r robots go to the target at the same iteration
to try to stay around the same area where they stopped. This converges to zero as r gets higher.
can be achieved with a relative positioning system or even Proof The probability that the number of robots that will
approximate methods could be used. We only want to avoid change their state to impatient in a given iteration is higher
that the waiting robots are pushed towards different areas than r is given by 1 − Pr (X ≤ r ). The second term is the
of the scenario due to the other robots, but it is not strictly cumulative distribution function of the binomial, that tends
necessary that they stay in the same place. Therefore, the to 1 as r increases. Hence, this clearly tends to zero.
coordination algorithm does not impose additional require-
ments to the system besides the ability to locally sense and Therefore, we showed that the system is effective in pre-
communicate with neighbors. venting that many robots go to the target at the same time
The communication requirements of the algorithm can interval. Now we are going to show that all robots eventually
also be relaxed. We can implement this algorithm using only go to the target.
two kinds of messages: warning and stop messages. Mes-
sages of the type warning are sent by normal robots, to warn Proposition 2 Given a set of n waiting robots, the probabil-
other robots in the danger-region that they might have to ity that all robots remain in the waiting state converges to
change their state to waiting; while messages of the type zero as the number of iterations gets higher.
stop are sent by waiting and locked robots, to tell other Proof The probability that all robots will remain in the wait-
robots outside the danger region that they might have to ing state is given by Pr (X = 0). After m iterations, the
change their state to locked. This facilitates the implementa- probability that all robots will remain in the waiting state is
tion when using alternative ways of communication (such as given by Pr (X = 0)m , which clearly tends to zero as m gets
light) instead of network packets, as only a binary informa- higher since Pr (X = 0) < 1.
tion is necessary for the execution, instead of communicating
all the three possible states. It would still be necessary to find We did not consider locked robots in our analysis because
a way to let the robots know the target of their neighbors, or they will eventually move after waiting or locked robots in
the robots could assume that all robots have the same target their α-area move. We can model this situation as a directed
(this variant, however, was not tested in our implementation). graph, showing the dependencies between the robots. A robot
can depend on robots in front of it to move, but cannot depend
on robots behind it (given that αl < 90◦ ). Besides, all the
3.1 Analysis α-areas of the robots are directed towards the same target,
avoiding situations where an indirect cycle would be formed.
In this section we are going to analyze some aspects of the As we can see, there is no cycle in the dependency graph, thus
proposed algorithm. First, we are going to prove two impor- no deadlock situations will happen.
tant characteristics: (i) the system is effective in preventing It is also important to discuss some aspects concerning
that many robots go to the target at the same time interval; the selection of the parameters. One of the most important
(ii) all robots eventually go to the target. parameters in the definition of the system behavior is ρ, the
Before developing the proofs, we need to find an appro- probability that a robot will leave the waiting state. If it is low,
priate model for the system. The situation in which a waiting the system will be “conservative” and robots might remain
robot might change its state to impatient with a probability stationary longer than necessary. If it is high, the system
ρ > 0 or remain in the waiting state with a probability 1 − ρ will be “aggressive” and congestion situations might hap-
can be considered a Bernoulli trial. Therefore, the number pen. Between these two extremes, there is a value that will
of robots that will change their state to impatient in a set of minimize the time needed for task execution. This point can
n waiting robots can be modeled as a binomial distribution. be estimated by an experimental evaluation. As a general
Let X be a random variable that defines the number of robots guideline, if the designer expects a large number of robots
that change their state to impatient and Pr (X ) be the mass trying to reach a certain target, it is better to use a smaller
distribution function of the binomial distribution with n trials value of ρ. If the designer expects a small number of robots
and probability ρ. trying to reach a certain target, it is better to use a larger value
The robots are not necessarily synchronized, but the inter- of ρ.
val between attempts to change state is approximately equal As for the size of the free region, if it is small we might
for all robots. Hence, we will consider that, in a given time have a lot of waiting robots too near the target, which makes
123
Auton Robot
it more difficult for other robots to reach and leave the target
region. If it is large compared to the size of the danger region,
the area in which robots might change their state to waiting
l m
will be small and congestion might happen. A similar analysis
can be made for the size of the danger region. If it is large,
robots that are far away from the target will unnecessarily
cease their attempt to reach it. If it is small we will not have γ
enough waiting robots to decrease the congestion problem,
and they might stop too near the target, making the movement
of normal and impatient robots harder. Hence, it is necessary
to find a good compromise point. In Sect. 5 we perform an
experimental study on the impact of all these parameters. D
This algorithm focuses on avoiding congestion when
entering the target. However, we noticed that there is still
a problem when the robots have to exit the target and move
towards their next objective. The large number of robots sur-
rounding the danger region makes it hard for the robots to
Fig. 5 Division of the region around the target in entry (white) and exit
exit the area, and they end up causing a congestion inside (shaded) areas
the danger region. Therefore, we propose a new algorithm
where the robots leave open areas around the target to facil-
if disttarget < D then
itate the exit of their teammates from the target area. We are if disttarget > γ and not in entry region then // Tested
going to explain this algorithm in the next section. using Equation 3
t j := vector towards
(x W , yW ); // Equations 5, 6
u j = a · t j − b · i∈N j r(i, j); // Go towards
4 Entrance and exit regions entry region, while avoiding
collisions
4.1 Basic algorithm else
t j := vector towards target;
if in entry region and disttarget > γ and not reached
Our next algorithm can either work as a complement of the target then
previous one, or by itself, as a new approach. First, we are u j = a · t j − b · i∈N 1 r(i, j) − b2 · i∈N 2 r(i, j);
j j
going to explain the part that is independent of the PCC algo- // Forces pushing the robot away
rithm, and later, in the next section, how the PCC algorithm of the entry region are divided
can be extended. We will call our basic algorithm as Entrance by half. N 2j is the set of
and Exit Regions (EE). neighbors whose repulsive force
pushes the robot away of the
Our objective is to decrease the congestion not only among entry region, and N 1j is the rest
the robots arriving in the target, but also exiting from it. The of the neighbors.
main idea of the algorithm is to divide the area around the else
target in entry and exit regions. if reached target then
Hence, a circular area centered in the target is divided in u j = a · t j − b2 · i∈N j r(i, j); // Repulsive
four circular sectors: two defined by angle ω and two by angle forces are divided by half
β. We also define a circular area with radius γ around the else
u j = a · t j − b · i∈N j r(i, j); // Go
target, as shown in Fig. 5. Note in the figure that the circle is towards target, while avoiding
divided by two lines: l, and m, as we will refer to them later collisions
in the text. end
A formal description of the algorithm is shown in Algo- end
rithm 2. The algorithm affects the behavior of the robots when end
they are in the ring-shaped region defined by the inner radius else
t j := vector towards
target;
γ and outer radius D. The area of the sectors defined by angle u j = a · t j − b · i∈N j r(i, j); // Go towards
ω will be used as an entrance to the target region, so it will be target, while avoiding collisions
called entry region. The area of the sectors corresponding to end
angle β will be used as an exit of the target region, and will Algorithm 2: EE algorithm
be the exit region. We expect that the robots will be able to
enter and exit the target region without congestion by using
123
Auton Robot
x = xG
y = yG
Fig. 6 Nearest distance between a point in the exit region and the entry
region boundary
123
Auton Robot
123
Auton Robot
Table 1 Parameters used in the ORCA executions For instance, in one of our executions we found that in
Parameter Safe Unsafe the unsafe case, all robots were able to reach the target after
5742 iterations, with 12 collisions. In the safe case, all robots
Neighbor distance 3.9 2.4 were still not able to reach the target after 696,817 iterations,
Maximum neighbors 60 23 with no collisions. For comparison, using only local repulsion
Time horizon 2 2 forces all robots are able to reach the target with only 2472
Robot radius 1.8 1.8 iterations, and no collisions.
Maximum speed 2.5 2.5 In order to better understand ORCA’s behavior, we show
in Fig. 9 screenshots of one execution with 40 robots, in the
safe case (red robots are moving towards the target, while
erly avoid collisions, but the system reaches an equilibrium blue robots already reached the target). Figure 9a shows the
state where no robot is able to converge to the target. The initial position (the target is in the center of the scenario).
“unsafe” parametrization has many collisions, but all robots The robots move towards the target (Fig. 9b). We can see
are able to reach the target. We parametrized for 20 robots. that some robots form a circle around the target, while others
Note that although ORCA theoretically guarantees an exe- move towards the target, inside the circle. The robots inside
cution free of collisions, in practice we still have collisions the circle are able to eventually reach the target and move
in our executions, due to our parametrization. However, even towards their next goal (Fig. 9c, d). However, the other robots
with a parametrization that still has a few collisions (“safe”), maintain a circular motion around the target area, and no
the system was already not able to converge. robot moves towards the target anymore (Fig. 9e, f). Besides,
Fig. 9 Execution screenshots of the ORCA algorithm (video available region in the right hand side. d 16 min 26 s More robots are able to
at https://youtu.be/gDXrHgrb7q4). a 0 s Initial position. b 5 min 28 s leave the target region, and the center becomes less crowded. e 21 min
Some robots approach the target area, while others start forming a circle 56 s After the center is empty, the other robots still circulate around the
around the target. c 10 min 57 s The robots in the center of the circle target. f 27 min 25 s Robots keep circulating around the target instead
are able to reach the target eventually. We see one of them leaving the of converging to it
123
Auton Robot
I Influence radius 2m
— Communication radius 3m
γ Radius of danger region 3.5 m
σ Radius of free region 1.5 m
D Radius of region where EE is applied 10 m
ω Angle of entry region 120◦
αw Angle of α-area for waiting robot 115◦
αl Angle of α-area for locked robot 45◦
δ Radius of α-area 3m
Number of cycles before sending a 25
message
η Number of cycles for testing if a waiting 40
robot will change state
Fig. 10 ORCA reaches an equilibrium state in the common target prob-
lem
reaching the common target, the robots will move towards
a next target, that will be either to the left or to the right of
we found that even in the unsafe case, most of the executions
the common one. This decision is taken based on a uniform
were not successful with 40 robots, due to a high number of
probability, so we can expect that about half of the robots go
collisions between the robots.
to the left, and half to the right. The new targets are aligned
We explain briefly why ORCA does not work well in the
with the common one, but far away in the x axis. In Table
common target problem. In Fig. 10 we show a diagram with
2 we show all the parameters of the simulations. Besides,
6 robots, represented by the circles. The red (continuous)
we always use a normalized force towards the target, with
arrows show the robots desired velocities (towards the tar-
norm equal to 2.5. The repulsion forces are proportional to
get). We represent by the parabolic region the set of velocity
the relative distances, and multiplied by 0.5.
vectors that will be avoided by the robots in order to avoid
Before presenting our experimental analysis, we will show
collisions, according to the ORCA algorithm. Hence, the
execution screenshots of all algorithms, with 140 robots. We
resulting velocity vector will be perpendicular to the desired
first show, in Fig. 11, an execution without using any coordi-
velocity, for each robot. As this process continues at each
nation algorithm, only potential fields. Robots that are going
iteration, all robots will execute a circular motion around the
towards the target are shown in red, robots that reached the
target, instead of moving towards the target.
target in yellow and robots that completed the execution
As we can see, although ORCA is a state of the art collision
(i.e., are further than 10m from the target) in black. In the
avoidance algorithm, it is not suitable for the common target
beginning of the execution, the robots are initially located
problem. Hence, in our next experiments, we will compare
encircling the danger region, as shown in Fig. 11a. As we
our algorithms against executions using only local repulsion
can see from Fig. 11a–f, the robots surround the common
forces.
target but the execution is very inefficient, as they compete
We also tested using ORCA with our algorithms, in order
to reach the target and are repelled by their repulsive forces.
to avoid collisions while the robots run our coordination
Moreover, it is hard for robots that already arrived in the
methodologies (instead of using local repulsion forces to
target to exit the area.
avoid collisions in our algorithms). However, we found that
In Fig. 12, we present an execution of the PCC algo-
all robots are still not able to converge to the target. Hence,
rithm. Robots in normal, waiting, locked, and impatient states
we will use local repulsion forces to avoid collisions when
are represented by the colors red, green, cyan, and blue,
running our algorithms. For the interested readers, we show
respectively. Figure 12b shows when the first robots enter
in the ‘Appendix’ a screenshot of the PCC-EE algorithm with
the waiting state. Soon the robots behind them change to
ORCA.
locked, and also stop moving towards the target, while one
robot becomes impatient (Fig. 12c). In Fig. 12d, we can see
5.2 Simulations that some robots are able to reach the target, while more
robots change to impatient. However, it is hard for the robots
We considered scenarios where the robots are initially in to leave the area of the target; we can see in Fig. 12e that
random positions, but distant from the danger region. After many impatient robots end up accumulating in the danger
123
Auton Robot
Fig. 11 Execution screenshots without any coordination algorithm robot is able to exit. d 9 min 59 s After many iterations, robots can
(video available at https://youtu.be/4tE4aka24QE). a 0 s Beginning of finally exit. e 13 min 34 s Other robots still get stuck in the central area.
the execution. b 12 s Robots simultaneously try to reach the target, f 1 h 3 min 19 s Towards the end, robots are still competing for the
forming a circular shape. c 28 s Shape gets more compact, but still no center
region. Eventually the robots are able to reach the target, and around it. As we can see in Fig. 14d, e, they can easily exit
move to the next one (Fig. 12f). the area and soon we reach the situation in Fig. 14f, where
We now show screenshots of the EE algorithm (Fig. 13). there are only a few robots left.
As we can see, the robots quickly open the exit region (Fig. We now present our experimental analysis. We measure
13b), and the first robots are able to reach the target (Fig. the number of iterations needed for the last robot to go to the
13c). The robots can easily exit the area (Fig. 13d, e), and target and reach at least D meters away from it. All simula-
soon there are only a few robots left (Fig. 13f). tions were executed 40 times, and we calculated the mean and
Finally, Fig. 14 shows an execution of the PCC-EE algo- the confidence interval of the results, with p value equals to
rithm. As before, robots in normal, waiting, locked, and 0.01 (shown by the error bars in the graphs, unless otherwise
impatient states are represented by the colors red, green, noted).
cyan, and blue, respectively. In Fig. 14a, we have the begin- We performed an extensive experimental study of the
ning of the execution. Some iterations later, as we see in impact of some of the algorithms’ parameters, which we will
Fig. 14b, the entry and exit regions are starting to get formed, present later in this section. First, we present the performance
since robots move away of the east and west areas and con- of the proposed algorithms as the number of robots increase
centrate in the north and south areas. At the same time, we (measured in terms of number of iterations to exit the target
can notice that the robots in the danger region change to area, as mentioned). We used ρ = 0.035 in PCC, the best
the waiting state, and the ones outside the danger region to parameter found for 100 robots. For the PCC-EE algorithm,
locked. In Fig. 14c, we can see that the division in entry and we used ρ = 0.15, again the best found for 100 robots.
exit regions gets more pronounced, while some robots could We can see the results in Fig. 15. As can be observed, all
already reach the target and are now trying to exit the area algorithms are significantly better than an approach without
123
Auton Robot
Fig. 12 Execution screenshots of the PCC algorithm (video available More robots become impatient, while a few reach the target. e 5 min 57
at https://youtu.be/wutQn7laEOU). a 0 s Beginning of the execution. s Robots have difficulty to exit the target region, so the area still gets
b 5 s Some robots change to waiting. c 10 s Robots around danger cluttered. f 34 min 19 s Later execution, after most of the robots could
region change to locked, while one robot becomes impatient. d 36 s reach the target
coordination (labeled as “NoCoord”), after a certain num- 0.96635x 2 + 9.11628x + 503.93571 for the PCC algo-
ber of robots. For 140 robots, the PCC algorithm had an rithm, and y = 0.3337x 2 + 8.6183x − 19.3714 for the
improvement of about 40 %, while the EE and the PCC-EE PCC-EE algorithm. Both fittings have an adjusted coeffi-
could reach an improvement of about 76 %. We can also note cient of determination (adjusted R 2 ) of 0.9978 and 0.9995,
that both the approach without any coordination and the PCC respectively. For the PCC algorithm, the best linear model
algorithm tended to increase exponentially as the number of was y = 163.73x − 4134.54, while for the PCC-EE was
robots increase, while the EE (and the PCC-EE) increase in y = 62.013x − 1621.214. This time, the adjusted coeffi-
a more linear fashion. cient of determination (R 2 ) of the curves was 0.9501 and
As can be seen, the performance of the PCC-EE and the 0.9593, respectively. Even though the best model seems to
EE algorithm was very similar, but the PCC-EE seems to get be a quadratic, we can see that the quadratic term is quite
better than the EE as the number of robots increase. In fact, small. Therefore, these algorithms should scale well. As in
if we use the best ρ value found for 140 robots (ρ = 0.08, as the PCC-EE algorithm the robots can exchange messages
we will show later), the PCC-EE performs about 7 % better only inside the entry region, the number of messages was
than the EE algorithm, with statistical significance (p value much lower than in the PCC.
equals to 9.349 × 10−7 ). The EE algorithm does not require message exchange dur-
Figure 16 shows the number of messages sent during ing its execution. So, it is equivalent to the approach without
the execution of all algorithms. The number of messages any coordination in terms of the number of messages, but it is
of the PCC and the PCC-EE algorithm seems to increase almost as efficient as the PCC-EE, and much more efficient
in a quadratic way, as the number of robots increase. than the PCC. Therefore, the EE algorithm is highly efficient
The best quadratic model found for the curves was y = and scalable. In order to verify that the performance improve-
123
Auton Robot
Fig. 13 Execution screenshots of the EE algorithm (video available at target. d 1 min 25 s Robots can easily exit the target area. e 4 min 09 s
https://youtu.be/jte3NRS9pQg). a 0 s Beginning of the execution. b 13 Robots keep exiting easily. f 17 min 31 s Later execution, only a few
s Formation of entry and exit regions. c 35 s A few robots reach the robots are left
ment of the EE algorithm is caused mainly by a faster exit studied the case with 140 robots, in order to more clearly
of the robots in the target area, we calculated the mean and identify if the PCC-EE could overcome the EE algorithm (as
the standard deviation of the number of iterations each robot mentioned earlier). The result can be seen in Fig. 19. As we
takes to reach a distance D for one execution, after arriving can see, ρ has a lower influence in the algorithm’s perfor-
at the target. The result can be seen in Fig. 17, where this mance than in the PCC case. Even with ρ = 1, the robots
time the bars show the standard deviation of the results. As present a very good performance, and the presence of a local
can be observed, the robots in the EE algorithm could leave minimum is not as clear as in the last case. We can show,
faster the target region. however, that ρ = 0.15 for 100 robots is about 6 % better
The previous results were obtained after performing than ρ = 1 with p value equals to 0.0002235.
experiments to study the impact of the algorithms’ parame- We also studied the impact of the size of the danger region
ters. We present now our results involving ρ in the PCC and on the PCC and the PCC-EE algorithms, which are shown in
PCC-EE algorithm. This experimentation consists in mea- Fig. 20a and b, respectively. For the PCC algorithm, a radius
suring the number of iterations to complete execution for (γ ) of size 4 is 13, 4 and 10 % better than a radius of size 2, for
different ρ values. 80, 100 and 120 robots, respectively. Two of these results are
We can see the result for the PCC algorithm in Fig. 18. As statistically significant, with the following p values: 4.334 ×
expected, there is a local minimum in the graph, and either a 10−6 , 0.2399, 8.461 × 10−4 , respectively. For the PCC-EE,
bigger or a smaller ρ leads to a worse performance. the impact is less significant. A radius of size 4 is only 5, 8
We executed the same experiment to determine the opti- and 5 % better, for 80, 100 and 120 robots, respectively. The
mal value of ρ in the PCC-EE algorithm. This time, we also p values are, respectively: 0.03773, 2.76 × 10−5 , 0.008034.
123
Auton Robot
Fig. 14 Execution screenshots of the PCC-EE algorithm (video avail- more pronounced. d 2 min Robots easily exit the target area. e 11 min 3
able at https://youtu.be/V_cqJRFcwvo). a 0 s Beginning of the execu- s Robots keep exiting easily. f 15 min 35 s Later execution, only a few
tion. b 10 s Formation of entry and exit regions. c 30 s Exit region gets robots are left
Fig. 15 Execution time for the algorithms Fig. 16 Number of sent messages
123
Auton Robot
(a)
(b) (c)
Fig. 17 Time used by the robots to leave the target region. The bars
show the standard deviation
(a)
(d) (e)
Fig. 19 Execution time for the PCC-EE algorithm, varying ρ and num-
ber of robots. a From ρ = 0.05 to ρ = 1.0. b 80 Robots, from ρ = 0.10
to ρ = 0.30. c 100 Robots, from ρ = 0.10 to ρ = 0.30. d 120 Robots,
(b) from ρ = 0.10 to ρ = 0.30. e 140 Robots, from ρ = 0.06 to ρ = 0.30
are now moving towards their next waypoint (we do not put
a circle in the robots that are already in the next waypoint
or are very near it). We can see the initial configuration in
Fig. 21a. Figure 21b presents all robots going towards the
common target. Because this algorithm has no coordination,
they move towards the target using only repulsive forces to
avoid collision with their neighbors. Hence, the system soon
becomes cluttered, as we can see in Fig. 21c. Even after some
robots are able to reach the target, it is hard for them to exit
Fig. 18 Execution time for the PCC algorithm, varying ρ and number from the target region (Fig. 21d, e). Finally, Fig. 21f presents
of robots. a From ρ = 0.01 to ρ = 1.0. b From ρ = 0.01 to ρ = 0.06
the stage when most of the robots were able to reach the
target.
the positions obtained by the localization system. The para- Now we show in Fig. 22 some images of an execution of
meters used in the real experiments can be seen in Table 3. the PCC algorithm. Robots in the waiting mode are indicated
Besides, we always use a normalized force towards the target, by a green circle, and impatient robots by a blue star. We
with norm equal to 2.5. The repulsion forces are proportional can see the initial state in Fig. 22a. Figure 22b shows some
to the relative distances, and multiplied by 5. seconds later, when the first robots changed to the waiting
We start by showing some example executions, and then state. As more robots approach the danger region, we soon
we are going to analyze the performance after many samples. have two more robots waiting, while others move towards
Figure 21 shows some images of the execution of the algo- the target, as we see in Fig. 22c. In Figure 22d, we see robots
rithm using only local repulsion forces. We show by a dashed in the impatient state moving towards the target, while others
yellow circle the robots that were able to reach the target, and that already reached the target try to move away towards their
123
Auton Robot
(a)
(b)
I Influence radius 30 cm
— Communication radius 30 cm
shows the initial state, while Fig. 23b shows four robots in the
γ Radius of danger region 40 cm
exit region moving towards the entry region. With the area
σ Radius of free region 10 cm
around the target more free, the robots that reach the target
D Radius of region where EE is applied 70 cm
can easily move towards their next objective, as we show in
ω Angle of entry region 90◦ Fig. 23c–e. Finally, the state where most of the robots could
αw Angle of α-area for waiting robot 115◦ complete the execution is shown in Fig. 23f.
αl Angle of α-area for locked robot 45◦ Finally, the execution of the PCC-EE algorithm can be
δ Radius of α-area 30 cm seen in Fig. 24. Again, the initial configuration is shown in
Number of cycles before sending a 2 Fig. 24a. Figure 24b shows some seconds later, when five
message
robots go towards the entry region, while at the same time
η Number of cycles for testing if a waiting 4 two robots already in the entry region change to the waiting
robot will change state
state. More robots change to waiting, while only two are
left in the exit region, as we see in Fig. 24c. With the exit
region free, we can see a robot easily going towards its next
next objective. One of them is finally able to exit the region, objective, in Fig. 24d, while impatient robots approach the
as we see in Fig. 22e. Meanwhile, others still try to exit the target. In Fig. 24e, we can see more robots easily exiting
target area while impatient robots move towards the target. the area, while other robots wait nearby. Finally, Fig. 24f
Finally, Fig. 22f illustrates a later stage when most of the illustrates a later stage, after almost all robots completed the
robots already reached the target. execution.
The execution with the EE algorithm can be seen in Fig. We also executed an experimental analysis of all algo-
23. We show by a dashed red square the robots in the exit rithms with real robots. We repeated 10 times the execution
region that are moving towards the entry region. Figure 23a of each algorithm, using the same parameters as in the pre-
123
Auton Robot
Fig. 22 Experiment with e-pucks using the PCC algorithm (video Fig. 23 Experiment with e-pucks using the EE algorithm (video avail-
available at https://youtu.be/Rabf5Jrbd1A). In the video, robots with able at https://youtu.be/XWgF4a4SdVs). a 0 s Initial position. b 47 s
all the leds on are in the waiting or locked state. a 0 s Initial position. Robots move towards the entry region. c 1 min 12 s Two robots are able
b 26 s Some robots change to waiting. c 31 s More robots change to to reach the target, and move towards their next objective. d 3 min 0
waiting, while others approach the target. d 1 min 29 s Two robots are 2s More robots reach the target, and can easily use the exit region. e
able to reach the target, while more get nearby. e 2 min It is hard for the 4 min 57 s Almost all robots are already in the next objective or mov-
robots to exit the area of the target, but one approaches its next objec- ing towards it. f 5 min 16 s Later stage, when most robots completed
tive. f 6 min 33 s Later stage, when most robots could reach the target execution
vious example executions. However, for the PCC and the the difference between the algorithms is still not statistically
PCC-EE algorithms, we run executions with ρ = 0.06 and significant.
with ρ = 0.8 (we choose ρ = 0.8 since it seemed to give Therefore, in the real executions the PCC algorithm seems
the best result in our preliminary experiments). The result to have the best performance, even though in our simulations
is shown in Fig. 25, where the bars indicate the confidence the PCC-EE and the EE algorithms performed significantly
intervals with p value 0.01. As we can see, all algorithms had better. One possible explanation is that the focus of the EE
a better performance than only using local repulsion forces, algorithm is in avoiding congestion when the robots are exit-
especially when ρ = 0.8. We can show that the PCC, PCC- ing the target region, but this problem does not affect the
EE and EE algorithms are 22, 14 and 17 % better than using execution much if the number of robots is not large. Notice,
only local repulsion forces, respectively, with p values equal for example, that as shown in Fig. 17, the robots using the
to 0.001198, 0.02873, 0.008517. PCC and the EE algorithms needed a very similar number
Concerning a comparison between the proposed algo- of iterations to leave the target area for an execution with 20
rithms, we find that EE is statistically significantly better than robots, and the difference between the algorithms increased
the PCC and the PCC-EE algorithms with ρ = 0.06 (p values as the number of robots increased. Hence, as our real exper-
equal to 0.007761 and 0.02472, respectively); however the imentation was with 10 robots, we still could not observe an
difference between the EE and the PCC-EE with ρ = 0.8 improvement of the EE over the PCC algorithm (and, conse-
is not statistically significant (p value equal to 0.5709). It quently, also of PCC-EE over PCC).
seems that the PCC with ρ = 0.8, however, is better than the Nevertheless, the performance of the EE and the PCC
EE, but the p value is 0.1622. Hence, with a p value <0.1 algorithms are very similar, but the EE has the advantage of
123
Auton Robot
6 Conclusion
Fig. 24 Experiment with e-pucks using the PCC-EE algorithm (video In this paper, we presented three algorithms to alleviate con-
available at https://youtu.be/jyjC3bffkdQ). In the video, robots with all gestion of a swarm of robots when they move towards a
the leds on are in the waiting or locked state. a 0 s Initial position. b common target. Our first algorithm, PCC, uses probabilistic
21 s Robots move towards the entry region, while others wait near the
target. c 36 s More robots change to waiting, while two are still left in finite state machines; our second, EE, divides the area around
the exit region. d 1 min 23 s One robot reaches the target, and can easily the target in entry and exit regions; and our third approach,
exit. e 4 min 46 s More robots go towards their next objective. f 6 min PCC-EE, is a combination of the two previous algorithms.
17 s Almost all robots completed execution We presented experiments in simulation and with real robots.
Our simulations show that all algorithms present a signifi-
cant improvement compared to an execution using only local
repulsion forces. The EE and the PCC-EE algorithm had the
best performance, with the PCC-EE being only slightly bet-
ter than the EE. The EE algorithm, however, does not require
the robots to exchange messages, and is much easier to con-
figure, as it is not necessary to set up the variable that defines
how long the robots are expected to wait (ρ). In the other
algorithms, we had to determine a good value for this para-
meter by performing many executions. We could also show
Fig. 25 Results in the real world executions that in the EE algorithm the robots can exit the target area in
a much more efficient way, and that seems to be the reason
for its excellent performance.
not needing communication between the robots nor needing We also performed many real world executions, with a
to find a good parametrization for ρ. team of 10 e-puck robots. Based on that we could show that
We also studied the total number of messages sent by all proposed algorithms are better than using only local repul-
all robots during the PCC and PCC-EE executions. We can sion forces with statistical significance in the real world.
see the results in Fig. 26 (where, again, the bars show the PCC seems to have the best performance, which could be
confidence interval with p value 0.01). For the executions explained by the number of real robots not being very large
with ρ = 0.06, both algorithms used a similar amount of in comparison with our experiments in simulation. EE, how-
messages, and the result is not statistically significant. How- ever, had a very similar performance (the difference between
ever, for ρ = 0.8, PCC uses about 25 % less messages than the algorithms was not even statistically significant), without
123
Auton Robot
the need of control messages nor the need to parametrize ρ, ever, to model cluttered systems. An alternative could be to
as mentioned. have a dynamically changing ρ or let the robots learn the best
Additionally, we studied the performance of ORCA, a value during the execution.
state of the art collision avoidance mechanism. We showed Another important research direction would be to study
that ORCA is not able to handle the common target problem, what would be the theoretically optimal amount of time that
as the robots circulate around the target instead of moving the robots should spend to reach the target, in order to study
towards it. Hence, we show that local repulsion forces is, how far our current algorithms are from this theoretically
indeed, a reasonable baseline for comparison with our algo- optimal solution.
rithms. As we move towards more and more executions with a
As the EE algorithm assumes that we can divide the envi- great number of robots in the real world, and as society finds
ronment in two global regions, entry and exit, some readers more applications for swarm robotics, the impact of conges-
may wonder about the performance of other approaches that tion problems will increase. Hence, it is necessary to find
use the global coordinated frame, such as forming an attrac- now efficient ways to alleviate it in order to effectively have
tion vortex around the target, or forcing the robots to move to a swarm of robots acting in the real world in an useful way.
one side of the target region and form a lane. After performing
initial experiments, however, we found that such approaches Acknowledgments This work was partially supported by CAPES,
CNPq, and FAPEMIG.
force the robots to move more in the environment than the
algorithms presented, and have a worse performance than
using only local repulsion forces.
Additionally, the need of a global coordinated frame could Appendix: PCC-EE with ORCA
be relaxed in the EE algorithm. Some environmental marks
could be used to help the robots determine when they are in In Fig. 27 we show screenshots of the PCC-EE algorithm
the exit region, or the robots in the exit region could move using ORCA to avoid collisions (instead of using local repul-
towards the entry region in a more relaxed fashion, instead sion forces). Figure 27a shows the initial position of the
of moving towards a specific point. In case environmental robots. Robots in the exit region move towards the entry
marks are not feasible, the robots would only need to know region, while the robots in the entry region follow the PCC
their global angle in relation to the target (e.g., using a com- algorithm (Fig. 27b). We notice in Fig. 27c that some robots
pass); the full global position is not necessary. If this is still are able to reach the target, but others form an arc in the entry
unfeasible for a given application, then a designer should region. All robots that were not in the arc are able to reach
select the PCC algorithm (which in fact had the best perfor- the target. However, the robots in the arc stay in equilibrium,
mance in the real world executions). and are not able to leave anymore (Fig. 27d, e, f).
There are many possibilities for future works dealing This situation is similar to the one discussed in the main
with the problem of congestion for a swarm of robots. It paper: as all velocity vectors point towards the target, the
would be nice to develop a model for the common target resulting velocity vector of all robots in the arc points towards
problem, in order to analytically find the optimal values for the perpendicular of the preferred velocity vector (towards
the algorithms’ parameters, instead of performing extensive the target). This time, however, the robots in the borderline
experimentation. For instance, for the PCC and PCC-EE of the entry region are not able to leave the area, as they
algorithm, determining ρ is important for a good execution, immediately return to the entry region due to the PCC-EE
and we had to run many simulations to study the impact of algorithm. Hence, instead of circulating around the target
different values of this parameter. It is still a challenge, how- area, the robots stay locked in arcs around the target area.
123
Auton Robot
Fig. 27 Execution screenshots of the PCC-EE algorithm, using ORCA region, surrounding the target. d 13 min 30 s The robots that were not
to avoid collisions (video available at https://youtu.be/ch0v2jje56E). a in the arcs around the target are able to reach the target. e 18 min 0 s
0 s Beginning of the execution. b 4 min 30 s Robots move towards the The robots in the arcs still do not converge towards the target. f 22 min
entry region, following the PCC algorithm inside it. c 9 min 0 s Some 31 s After many iterations, the robots still do not go towards the target,
robots are able to reach the target, but others form an arc in the entry locked in the arcs in the entry region
References Cao, Y. U., Fukunaga, A. S., & Kahng, A. B. (1997). Cooperative mobile
robotics: Antecedents and directions. Autonomous Robots, 4, 226–
Alonso-Mora, J., Naegeli, T., Siegwart, R., & Beardsley, P. (2015). 234.
Collision avoidance for aerial vehicles in multi-agent scenarios. Carlino, D., Boyles, S. D.,& Stone, P. (2013). Auction-based
Autonomous Robots, 39, 101–121. autonomous intersection management. In Proceedings of the 16th
Barca, J. C., & Sekercioglu, Y. A. (2013). Swarm robotics reviewed. International IEEE Conference on Intelligent Transportation Sys-
Robotica, 31, 345–359. tems (pp. 529–534.). ITSC.
Bayindir, L. (2015). A review of swarm robotics tasks. Neurocomputing Cianci, C. M., Raemy, X., Pugh, J., & Martinoli, A. (2007). Communi-
(in press). cation in a swarm of miniature robots: The e-Puck as an educational
Bazazi, S., Pfennig, K. S., Handegard, N. O., & Couzin, I. D. (2012). tool for swarm robotics. In Proceedings of Simulation of Adaptive
Vortex formation and foraging in polyphenic spadefoot toad tad- Behavior (SAB-2006), Swarm Robotics Workshop, Lecture Notes
poles. Behavioral Ecology and Sociobiology, 66(6), 879–889. in Computer Science (LNCS), vol. 4433 (pp. 103–115).
Brambilla, M., Ferrante, E., Birattari, M., & Dorigo, M. (2013). Swarm Correll, N., & Martinoli, A. (2006). Towards optimal control of self-
robotics: A review from the swarm engineering perspective. Swarm organized robotic inspection systems. In Proceedings of the 8th
Intelligence, 7(1), 1–41. International IFAC Symposium on Robot Control.
Cai, C., Yang, C., Zhu, Q., & Liang, Y. (2007). Collision avoid- Couzin, I. D., & Franks, N. R. (2002). Self-organized lane formation
ance in multi-robot systems. In Proceedings of the 2007 IEEE and optimized traffic flow in army ants. Proceedings of the Royal
International Conference on Mechatronics and Automation (pp. Society of London B, 270, 139–146.
2795–2800). Harbin, China. Demir, N., Eren, U., & Açikmeşe, B. (2015). Decentralized probabilistic
Caloud, P., Choi, W., Latombe, J. C., Le Pape, C., & Yim, M. (1990). density control of autonomous swarms with safety constraints.
Indoor automation with many mobile robots. In Proceedings of the Autonomous Robots (in press—Published online).
IEEE International Workshop on Intelligent Robots and Systems Dresner, K., & Stone, P. (2005). Multiagent traffic management: an
(pp. 67–72). IROS. improved intersection control mechanism. In Proceedings of the
123
Auton Robot
fourth international joint conference on autonomous agents and Proceedings of the 2008 IEEE International Conference on Robot-
multiagent systems (pp. 471–477). AAMAS, New York, NY, USA: ics and Automation, ICRA (pp. 1904–1909).
ACM. Marcolino, L. S., & Chaimowicz, L. (2009). Traffic control for a
Ducatelle, F., Di Cari, G., Förster, A., Bonani, M., Dorigo, M., Magne- swarm of robots: Avoiding target congestion. In Proceedings of
nat, M., et al. (2014). Cooperative navigation in robotic swarms. the IEEE/RSJ International Conference on Intelligent Robots and
Swarm Intelligence, 8(1), 1–33. Systems, IROS (pp. 1955–1961).
Ducatelle, F., Di Caro, G. A., Pinciroli, C., & Gambardella, L. M. Martinoli, A., Easton, K., & Agassounon, W. (2004). Modeling swarm
(2011a). Self-organized cooperation between robotic swarms. robotic systems: A case study in collaborative distributed manip-
Swarm Intelligence, 5(2), 73–96. ulation. The International Journal of Robotics Research, 23(4–5),
Ducatelle, F., Di Caro, G. A., Pinciroli, C., Mondada, F., & Gam- 415–436.
bardella, L. (2011b). Communication assisted navigation in robotic Olmi, R., Secchi, C., & Fantuzzi, C. (2009). A coordination technique
swarms: Self-organization and cooperation. In Proceedings of the for automatic guided vehicles in an industrial environment. In
24th IEEE/RSJ International Conference on Intelligent Robots and Proceedings of the 9th IFAC International Symposium on Robot
Systems, IROS (pp. 4981–4988). San Francisco, USA, September Control, SYROCO (pp. 359–364).
25–30. Pallottino, L., Scordio, V. G., Bicchi, A., & Frazzoli, E. (2007). Decen-
Ferrati, M., & Pallottino, L. (2013). A time expanded network based tralized cooperative policy for conflict resolution in multivehicle
algorithm for safe and efficient distributed multi-agent coordi- systems. IEEE Transactions on Robotics, 23(6), 1170–1183.
nation. In Proceedings of the IEEE 52nd Annual Conference on Peasgood, M., Clark, C., & McPhee, J. (2008). A complete and scalable
Decision and Control, CDC (pp. 2805–2810). strategy for coordinating multiple robots within roadmaps. IEEE
Franchi, A., Stegagno, P., & Oriolo, G. (2015). Decentralized multi- Transactions on Robotics, 24(2), 283–292.
robot encirclement of a 3D target with guaranteed collision Sahin, E. (2004). Swarm robotics: From sources of inspiration to
avoidance. Autonomous Robots (in press—Published online). domains of application. In SAB 2014 International Workshop on
Garcia, R. F., & Chaimowicz, L. (2009). Uma infra-estrutura para Swarm Robotics—Revised Selected Papers, Lecture Notes in Com-
experimentação com enxames de robôs. In Proceedings of the puter Science, vol. 3342 (pp. 10–20). Springer.
IX Simpósio Brasileiro de Automação Inteligente, SBAI (In Por- Sahin, E., Girgin, S., Bayindir, L., & Turgut, A. E. (2008). Swarm
tuguese). robotics. In Swarm Intelligence, Natural Computing Series (pp.
Gerkey, B. P., Vaughan, R. T., & Howard, A. (2003). The Player/Stage 87–100). Springer.
project: Tools for multi-robot and distributed sensor systems. In Santos, V. G., Campos, M. F. M., Chaimowicz, L. (2014). On segregative
Proceedings of the 11th International Conference on Advanced behaviors using flocking and velocity obstacles. In M. Ani Hsieh
Robotics, ICAR (pp. 317–323). & G. Chirikjian (Eds.), Distributed Autonomous Robotic Systems:
Grossman, D. (1988). Traffic control of multiple robot vehicles. IEEE The 11th International Symposium (pp. 121–133). Berlin, Heidel-
Journal of Robotics and Automation, 4(5), 491–497. berg: Springer.
Guo, Y., & Parker, L. E. (2002). A distributed and optimal motion plan- Santos, V. G., & Chaimowicz, L. (2011). Hierarchical congestion
ning approach for multiple mobile robots. In Proceedings of IEEE control for robotic swarms. In Proceedings of the IEEE/RJS Inter-
International Conference on Robotics and Automation, ICRA (pp. national Conference on Intelligent Robots and Systems, IROS (pp.
2612–2619). 4372–4377).
Hoshino, S. (2011). Multi-robot coordination methodology in con- Savchenko, M., & Frazzoli, E. (2005). On the time complexity of
gested systems with bottlenecks. In Proceedings of the IEEE/RSJ conflict-free vehicle routing. In Proceedings of the American Con-
International Conference on Intelligent Robots and Systems, IROS. trol Conference, 5, 3536–3541.
(pp. 2810–2816). IEEE. Shapiro, J. A. (1988). Bacteria as multicellular organisms. Scientific
Ikemoto, Y., Hasegawa, Y., Fukuda, T., & Matsuda, K. (2004). Zip- American (pp.82–89). Nature America.
ping, weaving: Control of vehicle group behavior in non-signalized Siegwart, R., & Nourbakhsh, I. R. (2004). Introduction to Autonomous
intersection. In Proceedings of the IEEE International Confer- Mobile Robots. Scituate, MA: Bradford Company.
ence on Robotics and Automation, ICRA (pp. 4387–4391). New Treuille, A., Cooper, S., & Popović, Z. (2006). Continuum crowds. In
Orleans, USA. Proceedings of the 33rd International Conference and Exhibition
Kato, S., Nishiyama, S., & Takeno, J. (1992). Coordinating mobile on Computer Graphics and Interactive Techniques (pp. 1160–
robots by applying traffic rules. In Proceedings of the lEEE/RSJ 1168). SIGGRAPH. ACM: New York, NY, USA.
International Conference on Intelligent Robots and Systems, IROS, van den Berg, J., Guy, S. J., Lin, M., & Manocha, D. (2011). Recipro-
1535–1541. cal n-body collision avoidance. In C. Pradalier., R. Siegwart & G.
Krishna, K. M., & Hexmoor, H. (2004). Reactive collision avoidance of Hirzinger (Eds.), Robotics Research: The 14th International Sym-
multiple moving agents by cooperation and conflict propagation. posium ISRR, Springer Tracts in Advanced Robotics, vol. 70 (pp.
In Proceedings of the IEEE International Conference on Robotics 3–19). Springer-Verlag.
and Automation, ICRA (pp. 2141–2146). van den Berg, J., Guy, S. J., Snape, J., Lin, M. C., & Manocha, D. (2015).
Krontiris, A., & Bekris, K. E. (2011). Using minimal communication to RVO2 library: Reciprocal collision avoidance for real-time multi-
improve decentralized conflict resolution for non-holonomic vehi- agent simulation. http://gamma.cs.unc.edu/RVO2/publications/.
cles. In Proceedings of the IEEE/RSJ International Conference on van den Berg, J., Lin, M. C.,& Manocha, D. (2008). Reciprocal velocity
Intelligent Robots and Systems, IROS (pp. 3235–3240). IEEE. obstacles for real-time multi-agent navigation. In Proceedings of
Lerman, K., & Galstyan, A. (2002). Mathematical model of foraging in the 2008 IEEE International Conference on Robotics and Automa-
a group of robots: Effect of interference. Autonomous Robots, 13, tion, ICRA (pp. 1928–1935).
127–141. Vidal, E., Thollard, F., de la Higuera, C., Casacuberta, F., & Carrasco,
Luca, A. D., & Oriolo, G. (1994). Local incremental planning for R. C. (2005). Probabilistic finite-state machines—Part I. IEEE
nonholonomic mobile robots. In Proceedings of the IEEE Inter- Transactions on Pattern Analysis and Machine Intelligence, 27(7),
national Conference on Robotics and Automation, ICRA (pp. 1013–1025.
104–110). Yasuaki, A., & Yoshiki, M. (2001). Collision avoidance method for
Marcolino, L. S., & Chaimowicz, L. (2008) . No robot left behind: multiple autonomous mobile agents by implicit cooperation. In
Coordination to overcome local minima in swarm navigation. In
123
Auton Robot
123