repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/tese%20douto… ·...
TRANSCRIPT
Acknowledgements
In an endeavour such as this one, usually one needs the support (at the various levels)
of several people. I am no exception, and would like to express my gratitude and deep
consideration for those who helped me to reach this moment.
First of all, I would like to thank Doctor Estela Bicho for providing me the opportunity
to work under her supervision, for the continuous availability and moral support.
Then, I also would like to thank all the people in the Dynamic Group, for the good
work environment and the availability to answer my questions. More specifically, Miguel
Vaz for the help with the Khepera robots, Nzoji Hipolito, Andre Moreira and Luıs Louro,
for the help with our own developed physical platforms.
To all the people in the Department of Industrial Electronics. Specially to Paulo
Mendes, Sergio Lopes and Gerardo Rocha for the constant support and help.
I am also indebted to the Fundacao para a Ciencia e Tecnologia for providing the
necessary funding, through project COOPDYN (POSI/SRI/38051/2001), and personal
grant SFRH/BD/3257/2000, that allowed this work to be undertaken.
Finally, to all my close family and friends. To my parents and sister for providing the
foundations that brought me to this point. And, specially, to my wife, Rosalina, and to
my daughter, Margarida, for the constant moral support and patience to accept all my
mood swings, that increased at the writing of this document.
iii
iv
Controlo de formacao usando a dinamica
de atractores
Ao longo desta tese, mostraremos como a dinamica de atractores pode ser utilizada
para controlar equipas de robos moveis autonomos tornando-os capazes de navegar, em
ambientes desconhecidos, de acordo com uma formacao geometrica pre–determinada. Al-
gumas das tarefas que sao desempenhadas de forma mais eficiente por uma equipa de robos
coordenados em formacao sao: transporte de objectos, captura de fugitivos, formacoes de
satelites e naves espaciais, exploracao e reconhecimento de territorios e diversas aplicacoes
no mundo submarino.
Sera usada uma estrategia lıder–seguidor, na qual a formacao desejada e dada atraves
de uma matriz, chamada de matriz de formacao, na qual os parametros em cada linha
definem a pose desejada do robo na formacao (isto e, o seu lıder, distancia desejada e
orientacao relativa para o lıder). Esta posicao desejada de um seguidor relativamente a
um lıder, pode ser, alternativamente, em coluna (atras do lıder), em linha (perpendicular
ao lıder), ou em oblıquo (de outra forma). Os valores dos parametros sao, entao, usados
para moldar os campos vectoriais dos sistemas dinamicos que geram os valores para as
variaveis de controlo (isto e, direccao de navegacao e velocidade de translacao). Estes
sistemas dinamicos sao sintonizados de forma a que as variaveis de controlo estejam sempre
muito perto de um dos atractores resultantes. A vantagem e que os sistemas sao mais
robustos contra perturbacoes porque o comportamento e gerado como uma serie temporal
de estados assimptoticamente estaveis.
A principal contribuicao desta tese reside no desenho de uma arquitectura de controlo
para uma equipa de robos que, usando a abordagem da dinamica dos atractores, exibe
implicitamente algumas caracterısticas importantes, tais como: a) a capacidade de esta-
bilizar a formacao desejada a partir de qualquer situacao inicial; b) a capacidade de evitar
obstaculos (sejam estaticos ou dinamicos); c) quebra de formacoes (que pode acontecer
devido a presenca de obstaculos); d) juncao de formacoes. Atraves da manipulacao da
matriz de formacao, tambem e possıvel alterar a formacao durante a execucao de uma
v
missao. Esta mudanca de formacao pode ser apenas uma mudanca na forma geometrica,
ou um incremento ou decremento no numero de robos, proporcionando desta forma maior
robustez a arquitectura em caso de falha de um robo. A flexibilidade da arquitectura est
presente, na medida em que enquanto a informacao sensorial se altera, o sistema tamb’em
altera as suas solucoes continuamente, mas tambem descontinuamente (estabilizando a
formacao contra quebra da formacao).
Para demonstrar as capacidades da arquitectura proposta, para alem de simulacoes
por computador, duas escalas de robos serao usados. Estes robos estao equipados com
sensores de baixo nıvel para detectar obstrucoes com objectos. A deteccao de colegas de
equipa e sua localizacao feita usando um sistema de visao omnidireccional (nos robos
maiores) ou atraves das comunicacoes recebidas via radio (robos menores).
Uma extensao para o espaco 3–D foi efectuada, sendo proposta uma arquitectura de
controlo para uma equipa de 3 dirigıveis, que tambem se simulou.
vi
Attractor dynamics approach to formationcontrol
In this thesis we show how attractor dynamics can be used to control teams of au-
tonomous mobile robots that should navigate according to a predefined geometric forma-
tion in unknown environments. Some of the tasks that are performed more efficiently by
using a team of robots acting in coordination in formation are: payload transportation,
capturing/enclosing invaders, satellite cluster formation, spacecraft formation, environ-
ment exploration or reconnaissance and several applications in the underwater world.
We use a leader–follower strategy, where the desired formation is given through a
matrix, called the formation matrix, in which the parameters in each line define the desired
pose of a robot in the formation (i.e. its leader, desired distance and relative orientation to
the leader). This desired pose of a follower regarding its leader, may either be in column
(behind the leader), in line (perpendicular to the leader) or oblique (otherwise). The
parameter values are then used to shape the vector fields of the dynamical systems that
generate values for the control variables (i.e. heading direction and path velocity). These
dynamical systems are tuned such that the control variables are always very close to one
of the resultant attractors. The advantage is that the systems are more robust against
perturbations because the behaviour is generated as a time series of asymptotically stable
states.
The main contribution of this thesis is the design of a control architecture for a team
of robots that, by using the attractor dynamics approach, exhibits implicitly some very
important features, such as: a) the ability to stabilize a desired formation from any initial
situation; b) obstacle (either static or dynamic) avoidance; c) formation split (that can
occur in the presence of obstacles); d) formation join. By manipulating the formation
matrix, it is also possible to switch formations at run time. This formation switch can
either be only a geometric pattern change or an increase, or decrease in the number of
robots, thus adding robustness to the architecture in the terms of robot failure. Flex-
ibility is achieved in that as the sensed world changes, the systems may change their
vii
planning solutions continuously but also discontinuously (tuning the formation vs split
the formation).
In order to demonstrate the validity of designed architecture, besides computer sim-
ulations, two scales of real robots were used. These robots were equipped with low level
sensors for obstacle detection. Team–mate detection and location is done either using an
omni directional vision system (larger robots) or communicated using a radio link (smaller
robots).
An extension to 3-D space is also made, by simulating the proposed architecture with
a team of three floating robots.
viii
Contents
Acknowledgements iii
Resumo v
Abstract vii
1 Introduction 1
1.1 Scope of this thesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2 Problem statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.3 Related work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.4 Brief sketch of the proposed solution . . . . . . . . . . . . . . . . . . . . . 14
1.5 Outline of the thesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2 Attractor dynamics 19
2.1 Basic principles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.2 Application to autonomous mobile robots . . . . . . . . . . . . . . . . . . . 22
2.2.1 Heading direction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.2.2 Path velocity control . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.3 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3 Test beds 31
3.1 Simulator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.2 Khepera robots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
3.3 Middle size robots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.4 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
ix
CONTENTS
4 Two–robot formations: leader – follower 43
4.1 Definitions and notation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
4.2 Robots in column . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
4.2.1 Heading direction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
4.2.2 Path velocity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
4.3 Robots in oblique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
4.3.1 Heading direction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
4.3.2 Path velocity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
4.4 Robots in line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
4.4.1 Heading direction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
4.4.2 Path velocity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
4.5 Behaviours integration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
4.6 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
4.6.1 Evaluating the formation performance . . . . . . . . . . . . . . . . 53
4.6.2 Formation stabilization . . . . . . . . . . . . . . . . . . . . . . . . . 56
4.6.3 Formation stabilization with obstacles . . . . . . . . . . . . . . . . 69
4.7 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
5 Formations with more than two robots 79
5.1 Formation matrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
5.2 Generation of the formation matrix . . . . . . . . . . . . . . . . . . . . . . 82
5.3 Formation robustness . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
5.4 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
5.4.1 Formation stabilization . . . . . . . . . . . . . . . . . . . . . . . . . 91
5.4.2 Static and dynamic obstacles . . . . . . . . . . . . . . . . . . . . . 98
5.4.3 Navigating in a cluttered environment – implicit split and join . . . 103
5.4.4 Formation switch . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
5.4.5 Removing robots from the formation . . . . . . . . . . . . . . . . . 112
5.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
x
CONTENTS
6 Extending the approach to 3D space 117
6.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
6.2 Building airship formations . . . . . . . . . . . . . . . . . . . . . . . . . . 118
6.2.1 Altitude control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
6.2.2 Formation matrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
6.3 Simulation results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
6.4 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
7 Discussion and conclusions 123
7.1 Future work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
A Airships 145
A.1 Airship kinematics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
A.2 Airship dynamics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
A.3 Environmental disturbances . . . . . . . . . . . . . . . . . . . . . . . . . . 148
B Parameters used in the experiments 151
xi
CONTENTS
xii
List of Figures
1.1 Formation examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.1 Fixed points of dynamical systems . . . . . . . . . . . . . . . . . . . . . . . 21
2.2 A robot performing obstacle avoidance and target acquisition . . . . . . . . 23
2.3 Contribution to the dynamics when an obstacle is sensed at ψs . . . . . . . 24
2.4 Contribution to the dynamics of the “move toward the target” task constraint 25
2.5 Resultant overall dynamics . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.6 Potential function of the heading direction dynamics . . . . . . . . . . . . 28
3.1 Screen capture of the simulator . . . . . . . . . . . . . . . . . . . . . . . . 32
3.2 The Khepera robots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
3.3 Evolution of our middle size robots . . . . . . . . . . . . . . . . . . . . . . 38
3.4 Comparison of the older and newer distance sensors . . . . . . . . . . . . . 39
3.5 The Gusmao robot. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
3.6 Information extracted from the vision system . . . . . . . . . . . . . . . . . 41
4.1 Example of notation used within this thesis. . . . . . . . . . . . . . . . . . 44
4.2 Two robots in column formation. . . . . . . . . . . . . . . . . . . . . . . . 45
4.3 Two robots in an oblique formation. . . . . . . . . . . . . . . . . . . . . . . 47
4.4 Comparison of the two forces acting on a follower . . . . . . . . . . . . . . 48
4.5 Superposition of the two forces acting on a follower . . . . . . . . . . . . . 49
4.6 Two robots in a line formation. . . . . . . . . . . . . . . . . . . . . . . . . 50
4.7 Activation of logical variables that regulate the path velocity . . . . . . . . 51
4.8 Formation error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
xiii
LIST OF FIGURES
4.9 Formation error between two robots . . . . . . . . . . . . . . . . . . . . . . 55
4.10 Simulation of two robots stabilizing a column formation: example 1 . . . . 57
4.11 Simulation of two robots stabilizing a column formation: example 2 . . . . 58
4.12 Simulation of two robots stabilizing a line formation: example 1 . . . . . . 60
4.13 Simulation of two robots stabilizing a line formation: example 2 . . . . . . 61
4.14 Simulation of two robots stabilizing an oblique formation: example 1 . . . 62
4.15 Simulation of two robots stabilizing an oblique formation: example 2 . . . 63
4.16 Two Kheperas stabilizing a column formation: example 1 . . . . . . . . . . 64
4.17 Snapshots of another example of column formation stabilization . . . . . . 65
4.18 Line to column formation switch by two Kheperas . . . . . . . . . . . . . . 66
4.19 Snapshots of the column formation stabilization experiment by Gusmao . . 67
4.20 Stabilization of a column formation by Gusmao . . . . . . . . . . . . . . . 68
4.21 Snapshots of the oblique formation stabilization experiment by Gusmao . . 70
4.22 Stabilization of an oblique formation by Gusmao . . . . . . . . . . . . . . . 71
4.23 Simulation of a column formation stabilization with obstacles . . . . . . . . 72
4.24 Simulation of a line formation stabilization with obstacles . . . . . . . . . . 73
4.25 Simulation of an oblique formation stabilization with obstacles . . . . . . . 74
4.26 Two Kheperas stabilize a column formation, with obstacles . . . . . . . . . 75
4.27 Video snapshots of the Khepera column formation stabilization . . . . . . . 76
4.28 Two Kheperas in an oblique formation with obstacles . . . . . . . . . . . . 77
4.29 A second example of two Kheperas in an oblique formation with obstacles . 78
5.1 Examples of possible formations with more than two robots . . . . . . . . 80
5.2 Hexagon formation as determined by Fhexagon (equation 5.2). . . . . . . . 82
5.3 Example of a shape matrix for an hexagon formation . . . . . . . . . . . . 84
5.4 Example results of robot allocations . . . . . . . . . . . . . . . . . . . . . . 87
5.5 Controller assignment for an hexagon formation . . . . . . . . . . . . . . . 88
5.6 Multi–robot teams stabilizing formations . . . . . . . . . . . . . . . . . . . 93
5.7 Other initial situations, but stabilizing the formation in figure 5.6(a). . . . 94
5.8 Six robots stabilizing the formation defined by Fhex1 . . . . . . . . . . . . 94
xiv
LIST OF FIGURES
5.9 Six robots stabilizing the formation defined by Fhex2 . . . . . . . . . . . . 95
5.10 Position error for each robot in the hexagon formation defined by Fhex1 . . 95
5.11 Position error for each robot in the hexagon formation defined by Fhex2. . 96
5.12 Stable fixed point evolution of robot R6, of the experiment of figure 5.8 . . 96
5.13 The team of three Kheperas switches from a line to a column formation. . 97
5.14 Formation error of the team of Khperas stabilizing a column formation. . . 98
5.15 A simulation of two teams in collision route . . . . . . . . . . . . . . . . . 99
5.16 Formation error of the two teams in collision route . . . . . . . . . . . . . 100
5.17 Stable fixed points for the two teams in collision route . . . . . . . . . . . . 100
5.18 Video snapshots of three Kheperas moving in line formation with obstacles 101
5.19 The path travelled by the Kheperas navigating in a line formation . . . . . 102
5.20 Formation error for the Khepera team . . . . . . . . . . . . . . . . . . . . . 102
5.21 Evolution of the stable fixed points of robot R3 . . . . . . . . . . . . . . . 103
5.22 A team of robots navigating in a cluttered environment . . . . . . . . . . . 104
5.23 Formation error of the team navigating in a cluttered environment . . . . . 105
5.24 Sequence of formation shape changes. . . . . . . . . . . . . . . . . . . . . 106
5.25 Simulation of a team in mission where several formation switches occur . . 107
5.26 Formation error of the experiment depicted in figure 5.25. . . . . . . . . . . 108
5.27 Snapshots of three Kheperas switching from a column to a triangle formation110
5.28 Path travelled by three Kheperas in the situation depicted by figure 5.27 . 111
5.29 Formation error analysis for the experiment in figure 5.27 . . . . . . . . . . 111
5.30 A representation of the formation defined by Fhex3 in equation 5.15 . . . . 112
5.31 Path travelled by a team that looses its leader . . . . . . . . . . . . . . . . 113
5.32 Formation error analysis for the simulation presented in figure 5.31 . . . . 113
5.33 A representation of the formation defined by Fpenta in equation 5.16. . . . 114
5.34 Path travelled by a team that looses the leader and switches formation . . 115
5.35 Formation error analysis for the simulation presented in 5.34 . . . . . . . . 115
6.1 Definition of a leader–follower pair of airships. . . . . . . . . . . . . . . . . 119
6.2 Team of three airships simulation where several formation switches occur. . 120
xv
LIST OF FIGURES
6.3 Airships navigating in a cluttered environment and maintaining formation 121
A.1 Reference frame of an airship . . . . . . . . . . . . . . . . . . . . . . . . . 146
A.2 Perturbations acting on the airships . . . . . . . . . . . . . . . . . . . . . . 149
xvi
Chapter 1
Introduction
From the early stages of our existence, individuals have learned from experience that
together they can achieve more, or better, than alone. Predators hunt in groups and
preys also try to stay in groups as a defensive maneuver [Watts and Mitani, 2002; Scott,
2005b,a]. Birds fly developing special configurations because of energy efficiency issues
[Gould and Heppner, 1974; Andersson and Wallander, 2004] (see figure 1.1(a)). Insect
organization relies heavily in the force of their collective behaviour [Anderson and Franks,
2001; Janson et al., 2005]. Humans also act together. Carrying objects, construction tasks,
search and exploration of large environments, capture of enemies, etc. are all tasks that
are more efficient if performed in coordination by a team, than by the same number of
agents performing individually.
After the advent of robotics in the 70s and 80s, researchers started to get interested in
problems of coordination–cooperation by teams of robots. The question was: if animals
and humans do better as a team in certain tasks, then robots should do also. If so,
then how to do it? Since then, there has been an increasing interest in the subject,
in part due to the availability of computing power and other technical advances, such
as vision and sensor systems (laser range finder, GPSs1, and others). Several problems
have been tackled and several solutions have been proposed. Some of these include the
coverage and exploration problem [Cortes et al., 2004; Burgard et al., 2005], that tries to
coordinate a team of robots such that they guarantee an entire area is covered; multi–
robot motion coordination that is collision free [Fujimori et al., 2000; Simeon et al., 2002];
task allocation for multi–robot teams [Beard et al., 2002; Gerkey and Mataric, 2004];
localization and mapping [Marco et al., 2003; Thomas and Ros, 2005; Howard et al.,
1GPS stands for Global Positioning System
1
1. Introduction
2006]; object transportation and manipulation [Miyata et al., 2002; Soares et al., 2007],
etc. (good reviews of aspect related to multi–robot systems include those by Cao et al.
[1997]; Arai et al. [2002]; Chen and Wang [2005]; Prencipe and Gervasi [2002]).
This thesis is about a particular instance of collective behaviour known as formations
(see figure 1.1 for examples). In the following sections we detail on what we propose to
achieve and provide a review of related work.
1.1 Scope of this thesis
From the several examples of collective behaviour, one that has drawn attention from
researchers is the one that refers to formation control. We say that a team of agents move
in formation when, at all times, they maintain constant the relative locations amongst
each other. An external observer, looking at a team moving in formation, would see
(almost) always the same pattern. Flocks, herds, schools and crowds [Sahin et al., 2002;
Jadbabaie et al., 2003; Bishop, 2003] are also aggregations of agents, as formations are, but
a fundamental difference distinguishes them: in the former, the inter–agent constraints
are more loose, in the sense that the agents are not required to maintain a specific relative
position to each other, but only to stay in the neighbourhood of each other. Typically,
instead of relative locations, there is a cohesion factor that tells how spread the flocks,
herds, schools or crowds is.
Figure 1.12 shows several examples of formations. Depending on the goal application,
the formations can either be rigid or flexible. In principle rigid formations require that
the shape (or geometry) of the formation be kept constant all the time, i.e. the robots
are not allowed to break the formation at any moment in time. In practice, the agents
are allowed to deviate from the desired locations, but only for small distances and short
periods of time. Opposite, a flexible formation allows the individual agents to break the
formation, at any time. As a consequence, a mechanism for formation stabilization, after
break, have to be provided to the team
In terms of goal applications, we can distinguish amongst five large groups of target
applications: team translation, transportation tasks, distributed mobile sensor networks,
distributed mobile communication networks and security applications. In these categories
2These photos were extracted from: b) http://www.richard-seaman.com/Aircraft/AirShows/
index.html; c) www.tfhrc.gov/pubrds/pr97-12/p32.htm; e) http://dst.jpl.nasa.gov/control/
index.htm; f) http://www.62infantry.com/Photos.shtml.
2
1.1. Scope of this thesis
(a) Bird flying in inverted V formation (b) Aircraft formation
(c) Car convoy (d) Sea ship formation
(e) Spacecraft formation
(f) Military reconnaissance forma-
tion
Figure 1.1: Several formation examples.
3
1. Introduction
formation is seen either as a primitive to an higher level behaviour, or as a goal by
itself. Because the specification of a formation, and the requirements in performance
are dependent on the application itself, a general framework suited to answer all the
requirements in every category is not existent (to the best of our knowledge). Next we
highlight the differences and the singularities in each target application we devise.
Team translation is the problem of moving a definite set of agents from point A to
point B, but doing so in a orderly way. As in all formations the agents are required to
maintain specific relative locations, but, usually, are allowed to leave the formation for
periods of time (to avoid obstacles, for instance). An aggregation with this purpose is
done, typically, for two reasons: i) ordered groups move faster than disordered ones; ii)
by exploring dragging and drafting effects in fluids when the team is in certain formation,
the overall energy consumption is decreased. Vehicle convoying (see figure 1.1(c)) is an
example of ordered team translation. This type of formation also appears in the literature
as platooning or automated highway systems [Kato et al., 2002; Bom et al., 2005; Lu et al.,
2006]. Also within this subcategory, Martinez-Garcia et al. [2005] showed an application
for crowd translation, where a team of mobile robots arranges in formation to conduct a
group of people in between locations. Aircraft can fly in formation because of overall (at
team level) energy efficiency [Nangia and Palmer, 2007; Blake, 2002], although usually
they do it for other reasons more related to defensive/offensive tactics. These advantages
can also be explored in other fluid mediums [Alexander, 2004].
The purpose of a transportation task is to move one larger object by a team of agents,
from one initial location to a target location. Although it might resemble a team transla-
tion problem, the key requirement, in this task is that the formation has to be preserved
all the time, that is the agents are not allowed to leave the formation. The consequence
is that obstacle avoidance, for instance, has to be performed at team level, instead of at
agent level (as occurs in the team translation problem). The coordination effort is, thus,
higher in this scenario. The transportation itself is usually done with the object being
supported directly by the agents [Arai and Ota, 1996; Soares and Bicho, 2002; Bicho et al.,
2003, 2004a; Soares et al., 2007] or by letting the object in the floor and pushing it [Wang
et al., 2005b; Sudsang et al., 2002] or by pulling it [Yamakita et al., 2003].
Another topic where formation control is important is to control distributed mobile
sensor networks. In this type of tasks, the formation pattern is defined taking in consid-
eration each agent sensor field of view, together with the required area to cover at each
time. Example applications are those of mine detection, both terrestrial [Cassinis, 2000;
4
1.2. Problem statement
Healey, 2001] as submarine [Edwards et al., 2004], and deep–space interferometry [Ren
and Beard, 2002; Gill and Runge, 2004]. In the literature also appears several frameworks
on this topic but with unspecified application [Spears et al., 2004; Zarzhitsky et al., 2005;
Miao et al., 2005]. Monitoring of environmental changes, both marine and aerial, follow-
ing the evolution of diffusion processes (and possibly control or confine them) is another
important subject that fits in this category, as well [Chen et al., 2005; Wang et al., 2005a;
Kalantar and Zimmer, 2006]
The deployment of agents in a territory, with the purpose of acting as communication
relays, can be seen as a task of formation control, if the agents have to restrict them-
selves to a prescribed pattern. Previously, we defined this category as distributed mobile
communication networks. This is the case of satellite constellations [Bauer et al., 1997;
Inalhan et al., 2000; Campbell and Schetter, 2000], and ad–hoc ground communication
systems [Nguyen et al., 2003; McMickell et al., 2003].
In the last category, the security applications, we include those that deal with offen-
sive/defensive behaviours, and are usually aimed at military scenarios. The work devel-
oped by Yamaguchi [1999, 2003] on capturing and enclosing invaders is a good example
of using a formation control primitive.
So far, we have seen several real world applications where a solution to the problem
of formation control is of the utmost importance. But the virtual world is also a source
of applications where formation control matters. Examples, are those applications that
imitate real applications such as simulators [Brock et al., 1992; Gelenbe et al., 2004] and
computer games [Dawson, 2002; Buro and Furtak, 2003].
In conclusion, we have shown that there are many tasks that can benefit from a team
of agents in formation.
In this thesis, we propose ourselves to develop a framework that is able to answer
the requirements of a problem of team translation in formation. As a platform target we
chose a team of autonomous mobile robots.
1.2 Problem statement
Consider a team of N robots. The team has an assigned team leader, to which we will
call lead robot. This assignment is done by some higher level entity. That same entity
supplies the lead robot with a target location, to which it must move to. A formation shape
for the team, with as many places as there are robots in the group, should also be supplied.
5
1. Introduction
Then, the robots should reach a decision, on which particular robot occupies a particular
place in the formation, taking in consideration the initial positions of each robot. During
this set–up period communication is allowed between team members. After, the lead robot
should move towards its target, while the rest of the robots, stabilize the desired formation
pattern, according to the assigned positions. In this step, communications should be
restricted to a minimum. It is also a requirement that the team should be able to avoid
obstacles (either static or dynamic) and to navigate in unstructured environments.
1.3 Related work
One can use several characteristics to distinguish among solutions to the problem of
formation control. One of them relates to the location of the controller(s). Are they
centralized (only one controller that generates trajectories or reference points to all team
members) or decentralized (each robot has its own controller)?
Among the centralized solutions, the virtual structures approach is amongst the most
often used. Lewis and Tan [1997] were one of the first to use it. In a simple way, the
desired formation matches the geometry of the virtual structure, and to each apex of it
corresponds one robot; then the virtual structure is successively moved in small steps and
the robots are actuated in such way to match the position of the apex to which they belong.
Beard et al. [1999] subsumed it with leader–following and behavioural approaches to a
multi-vehicle coordination problem. As example, it shows the application to the design
of a multiple spacecraft interferometer in deep space, using a virtual structure scheme.
This scheme is augmented by Young et al. [2001] by introducing formation feedback. This
work is further developed in Ren and Beard [2002] by applying these virtual structures
to maintain a constellation of space–crafts in a rigid formation, with the purpose of
performing deep space interferometry.
Another centralized strategy is presented by Yang et al. [2005]. They incorporate the
leader’s dynamics into the formation controller. Also centralized, where each robot sees
its trajectory explicitly planned by a central controller that generates way points, is the
work of Barfoot and Clark [2004]. They support flexible formations, in the sense that
when turning, the dimensions will appear altered, and obstacle avoidance is introduced
at the global planner level. Formation stabilization from random initial positions is not
addressed by their work. This work is further augmented by Ngo et al. [2005], where they
develop a path planning method for a reference point in the formation (residing in the
6
1.3. Related work
central controller). They use a modified A∗ search algorithm (A∗ is an optimal algorithm
that minimizes total path cost [Russel and Norvig, 1995]) together with a smoothing
technique to generate the trajectories.
Antonelli et al. [2006] presented a different approach to formation control called Null–
space–based behavioural control. They implement rigid formations using this behaviour–
based method, which is of the centralized type. A two stage control architecture is intro-
duced by Antonelli and Chiaverini [2006]. In it, each robot communicates with a central
controller, but not with other robots. Task functions are developed, that resemble be-
haviours, and depend on the task to implement (obstacle avoidance, target enclosure,
etc.). These task functions (inherited from Bishop [2003]) are then merged together, fol-
lowing a task–priority approach. All this is implemented at the centralized controller level.
Reference positions are then communicated to each robot in the team, that is responsible
to track them.
Hu et al. [2007] deals with optimal coordinated motion planning, for formations of
robots. From a set of feasible robot motions that guarantee the desired shape transition
(coordinated), they try to find the ones that minimize the sum of individual agent energy
functions.
Zelinski et al. [2003b] presents a centralized approach to the problem of determining
the trajectories of each robot in a team that should change its formation. The constraints
are the initial and final configuration of the formation and the time to complete the
formation switch. In Zelinski et al. [2003a] these trajectories are calculated off line, and
the results are stored in libraries for each vehicle. Then an hybrid system network is
developed that switches among the stored parameter trajectories and formation keeping
modes.
Not really centralized, but more distributed is the work of Chen et al. [2005] and Wang
et al. [2005a]. There, the robots have complete knowledge about the state of their leader,
by the use of communication and an overhead vision system, that mimics the GPS func-
tioning. Because of communication discrepancies, that induce erroneous “GPS” readings,
that cause the followers to lag behind, they can request the leader to stop for a moment
in order for them to catch up. Point–to–point control is performed by a PI controller.
In decentralized solutions we have mostly leader–follower approaches, behaviour–based
approaches and mixed solutions. Focusing on behaviour–based approaches, Balch and
Arkin [1998] presented such an approach where, using motor schemas, four formation
configurations (line, column, wedge and diamond) and three types of robot references
7
1. Introduction
(leader referenced, unit referenced and neighbour referenced) are introduced. Fredslund
and Mataric [2002] also use a behaviour–based approach. Each robot maintains the for-
mation by assuring that its friend sensor (a pan only video camera) sees the leader in the
desired direction, and using laser scanners to measure the distance. A different approach
is used by Hong et al. [2001]. They used fuzzy systems to control each robot speed,
and fuzzy–neuro systems to implement the obstacle avoidance behaviour. Differential flat
systems are utilized by Pledgie et al. [2002] to model the robots behaviour. [Kim, Lee,
and Lee, 2001] use Petri–nets to model three control subtasks: formation maintenance,
identification and formation generation. In Cao et al. [2003] the different behaviours are
combined together using adjustable control parameters, that are dependent on the envi-
ronment. They also have a leader change mechanism that is based on the formation error
calculated by the followers. When this error goes beyond a certain value, then that leader
requests the formation leadership. The current leader evaluates that request, and assigns
a new leader to the formation.
Two types of controllers for follower robots navigating in a multi-robot formation are
proposed by Desai et al. [2001]; Desai [2002]: distance–bearing, or l–φ, and distance to
two leaders, or l–l. Using the first, a follower tries to maintain fixed the distance and
bearing to a leader, while in the second a follower tries to maintain fixed the distance to
two leaders. Control laws for the followers are based on non-linear control theory, while
the geometry and type of relations between robots are based on graph theory. They also
define a transition matrix that governs the addition and deletion of edges to the control
graph (changes either the formation or the relations between the robots). An extension of
this work, for the case where a team of mobile manipulators performs cooperative grasping
and manipulation is presented by Sugar and Kumar [2002]. Fujii et al. [2003] also use an
l− φ control, but add to their framework a switching strategy, in which they turn off the
l − φ control and turn on a behaviour–based module, to enhance the results of changing
formations. They call it an hybrid control method. New l − l and l − φ controllers are
built by Takahashi et al. [2004]. They do it by taking into account robots capabilities in
terms of velocity and torque profiles.
A similar solution appears by Das et al. [2002]. Here, several control laws are de-
fined: leader–follower, leader–obstacle, for three robots, etc. These controllers are then
integrated in a coordination protocol, by switching among them to the proper one, given
the desired formation (formulated as a control graph) and the world. This approach is
improved in Pereira et al. [2003], by allowing the followers to constrain the motion of the
8
1.3. Related work
leaders and by introducing limited sensor and communication range. Vidal et al. [2003]
propose a solution based on omni directional vision. The formation is specified in the
image plane. Several controllers for obstacle avoidance and wall following, and leader
following control of the type separation–bearing (that allows to build robot formations)
are presented by Fierro et al. [2002]. Their software framework divides the multi–robot
mission into a set of modes or behaviours that can be executed either in parallel or se-
quentially. Modes can be more reactive lower–level behaviours, such as avoid an obstacle,
or higher level behaviours, more associated with control, like follow a leader, for instance.
Gustavi and Hu [2005] develop two control laws. One is called vertical tracking which is
an adaptation of the virtual vehicle approach presented by Eggerstedt et al. [2001]. Also,
they develop the horizontal tracking that enables line and oblique formations. Their con-
trol strategies incorporate the sensor constraints, in terms of limited range (both distance
and angle–for rotational sensors), thus giving priority to the actions tending to keep the
distance.
Other types of team organization includes those that deal with artificial potentials.
Leonard and Fiorelli [2001] define a different formation control approach, relying on virtual
leaders and artificial potentials. To each real robot and virtual leader corresponds an
artificial potential. Then, virtual leaders are placed amongst the real robots to define
the formation. This framework is extended in [Ogren, Fiorelli, and Leonard, 2002b] by
allowing formations to be translated, rotated, expanded and contracted.
Gazi [2005] integrates artificial potentials and sliding–mode control in their control
strategy to drive swarms of robots, which can also be used in formations. Balch and
Hybinette [2000] presents a new class of potential functions, called social potentials. Here
the formation is specified by choosing each robot attachment sites, that are the places
that attract other robots. Shi et al. [2005] uses also social potentials. They develop
a switching strategy, for the situation where the topology of the neighbouring relations
between agents change with time. Similar to these attachment sites (but not related to
artificial potentials) is the notion of local templates as presented in [Krishnanand and
Ghose, 2005]. They enable the robots to self–assemble into grid, line and wedge patterns.
Physicomimetics, or artificial physics, as an approach was presented by Spears et al.
[2004](strongly related to the potential field approach). Each agent is treated as a physi-
cal particle and is driven by virtual physics forces. This framework is suitable to perform
way points for actual robots. As obstacle avoidance is weakly implemented, lower level
controllers are necessary to guarantee a safe navigation. This framework is augmented
9
1. Introduction
by [Hettiarachchi and Spears, 2005] with the capability to avoid obstacles by incorporat-
ing another force law. Belta and Kumar [2002b] present a framework able to generate
trajectories for robots teams that, depending on a parameter, are either optimal for each
robot or for the team (thus preserving the formation shape) – it is called kinetic energy
shaping.
Sometimes, it is necessary that a team of robots divides itself into two. This can be
caused by the necessity of overtaking some obstacles, or go trough some narrow passages.
Thus the importance of the ability to split and join formations. Olfati-Saber and Murray
[2002b] addresses this problem by exploring the properties of rigid graphs. An explicit
split and join (and vice-versa) maneuver is proposed by Ogren [2004]. The principle is
that a vehicle should only travel in a formation (rigid one) if it is suitable for it (has a
common path segment with its leader in the formation, for instance) and there are no
obstacles to avoid.
A potential application for the formation of robots is that of the translation of large
groups of agents (crowds), from one location to the other in an orderly fashion (that
can be extended to robots, computer animation, simulation software,etc.). Li and Chou
[2003] present a solution to the previous problem that is centralized and based on the
randomized path planner. Belta and Kumar [2002a, 2004] propose an abstraction where
the configuration space of the robots is mapped into a lower dimensional group manifold.
It is specially suited to move large teams of robots from one place to the other. This
abstraction comes down to the definition of either a spanning rectangle or concentration
ellipsoid that aggregates all the robots in the team (and that the robots are actuated such
that they remain inside). Then the length of either rectangle or ellipsoid, is manipulated
in order to make the formation evolve in the environment. Tackling the same problem
are Ogren and Leonard [2003]. Here the principle is that the leader should follow a path
that guarantees that if the robots are inside an uncertainty region, then they will not
collide with the obstacles. For this purpose the leader uses a formation leader obstacle,
that is an occupancy grid augmented by obstacles at places where if the leader is then
any of its followers would collide. Only team translation is possible (no rotations – or
turns – are possible), and an occupancy grid of the leader’s surroundings is assumed to
be known. Arai and Ota [1993] presented a work in a following strategy. Although not
really formation control, because the shape of the group can not be controlled, it is similar
when dealing with problems of the kind team translation. For this purpose the approach
uses the method developed by Arai et al. [1989] called Virtual Impedance.
10
1.3. Related work
Formations as a primitive for construction tasks by two robots are presented by
Stroupe et al. [2005]. The strategy used is of the leader–follower kind, where the fol-
lower sets its velocity and torque to maintain the formation. The mapping of forces and
torques to actual formation scenario was experimentally determined. Similar, but focused
on carrying tasks, is the work by Pereira et al. [2002]. They use the concept of leader-
ship lending, where the leader lends, temporarily, the leadership to the follower, while
performing backwards maneuvers.
Vehicle platooning for automated highways is another very interesting task for multi-
robot formations. In this sense, the platoon can be viewed as column formations of
robots. Bom et al. [2005] presented a solution for this scenario. They rely on inter–
vehicle communication and real time GPS, as main information source. In terms of
control, they use non–linear techniques. Instead of strict leader–follower approach, they
also incorporate information about other robots (both behind and to the front) in order
to smooth the maneuvers. Team formation of two robots in a leader–follower arrangement
(convoying) is used as an example of model continuity by Hu and Zeigler [2004], i.e., the
ability to use the same model in design, simulation and real implementations. Renaud
et al. [2004] propose a solution to the follow–the–leader problem (that can be seen as a
column formation), where vision is used to estimate the distance and angle of the follower
to the leader. Odometry is also used to detect outliers generated by the vision system.
Formation stability, understood as a measure of how close each robot is to its desired
position, is an important characteristic. Tanner et al. [2004] developed a stability property
called ”‘Leader to Formation Stability”’, valid for leader-follower architectures. They
show how to calculate gains that tell how leader behaviour affects the interconnection
errors observed in the formation. They show how to use this framework as a tool to do
architecture performance/safety measuring by means of calculating error bounds on the
complete formation. Tabuada et al. [2005] studied the feasibility problem of multi-agent
formations, i.e. if, given the agents kinematics and formation constraints, determine if
there are trajectories for all agents that preserve the formation constraints. Feddema
et al. [2002] proposed methods that enable the verification of stability regions (parameter
ranges) of teams with large number of robots (they claim thousands of robots). Although
decentralized in the case of formation control, the control input of one robot depends on
the observed state of all other robots in the team.
The problem of, given a desired formation configuration, which robot to allocate to
which position in the formation is of growing interest and has also been studied and some
11
1. Introduction
solutions have been proposed. Michaud et al. [2002], for instance, used a cost function
dependent on the distance between the robots. All the robots run the same allocation
algorithm, as if they were team leaders. The one that reaches the smallest cost has its
allocation assigned to the formation. Fredslund and Mataric [2002] assigned robots to
places, following an algorithm based on the robots ID. Since all robots know the same
algorithm and have different IDs then they’ll assign themselves to different positions in
the formation. The work by Kostelnik et al. [2002] is, in general, similar to the previously
described. It adds social roles to the robots in the formation. These roles characterize the
location in the formation (either to the left or right of the leader). It also adds a chain
of communications (from followers to leaders) that ensures the leader with the complete
knowledge of the formation, and it enables it to give orders to its followers (to balance
the formation, for instance).
A different method is introduced by Brimble and Press [2003]. In their method each
robot negotiates with the others the allocation of a specific station (position within the
formation), searching to minimize one of two costs: either total distance or maximum
distance travelled. Two types of negotiation are also introduced: a pairwise one (only two
robots negotiate each time) and a recursive one (a robot ”‘consults”’ the others before
deciding). This problem is also tackled by Gold et al. [2000]. Each robot has information
about the nearest target positions in the formation and the nearest robots. The decision
is taken using two utility functions in a cost–benefit approach. A set of options, where the
benefit is higher than the cost, emerges from this approach (the satisficing set). Any of
these options can then be used. Lemay et al. [2004] also focus on the problem of assigning
robots to places within the formation. Each robot uses visual perception and inter–robot
communication to gather information that enables it to calculate a cost, in which it is
the conductor (lead robot) and assigns all the other robots to places. The robot with the
minimal cost, gets to be the conductor. At runtime, if a robot has difficulties in following
its leader, it can request a formation reassignment.
When all the robots are allocated to the formation, another problem arises (when using
a leader–follower strategy): which robot should a follower follow? Or, should it follow
more than one robot? Fierro and Das [2002] present an algorithm that given an assigned
leader and a desired formation geometry, it generates the leader–follower hierarchy of the
entire formation. Their algorithm tries to minimize the path between the leader and the
follower, and takes into account the sensor visibility of each robot. [Kaminka and Glick,
2006] also focus on this problem, from the sensor usage efficiency perspective.
12
1.3. Related work
Circle formations and line formations are a topic of Yun et al. [1997]. Defago and
Konagaya [2002] and Lee et al. [2004] present algorithms for a collection of mobile robots
to stabilize a circle formation. The assumptions are that the robots: have no memory,
do not distinguish from one another, do not have common reference frames and do not
communicate (only observe each other positions). Lee et al. [2004] also develop algorithms
for generating circle formations. Their application focus is on patterns for mobile wireless
sensor networks. Their algorithms also enable the generation of line and regular polygon
formations.
A different approach to formation definition is presented by Ge and Fua [2005]. The
concept of queues, instead of nodes, is introduced to build the formation. Examples of
queues can be the sides of a polygon, when dealing with polygon shaped formations. These
queues are user defined and can assume any form. Kalantar and Zimmer [2006] develop
a work on deformable formations, that resemble contours, i.e. instead of having a fixed
desired pattern, their shape adapts itself to certain characteristics of the environment.
Their purpose are underwater applications such as adaptation to plume boundaries and
isoclines of concentration fields, etc. In terms of control, to each robot a unique id
is assigned, and the formations are generated using simple geometrical considerations.
Simulation results are shown.
In terms of control paradigms, the range of choices in the literature is vast enough.
The model predictive control (MPC) is used by Gu and Yang [2005], in an l− φ strategy
to control a pair of robots. They assume the follower to have complete information
about the leader state. This approach has a high computation cost. Schneider and
Wildermuth [2003] used a potential field approach, where different forces, belonging to
other robots, the environment (obstacles) and the desired formation, are combined and
used to constraint the robot’s movement. Li et al. [2005] develops a leader–follower
formation control, where the agents kinematics is modelled using Cartesian coordinates
(as opposed to the usual polar coordinates). Zhang et al. [2003] uses theory of Jacobi
coordinates and the associated Lagrangian dynamics of system of robots modelled as
point masses. A control based on neural networks is presented by Li and Chen [2005].
They also use an adjacency graph to describe the relations between the robots (which are
the leaders of a given follower). Bendersky and Santos [2003] use reinforcement learning
to synthesize the behaviours responsible for keeping a distance and an angle to a leader.
Their approach is demonstrated in miniature robots that use their proximity sensors to
detect/establish the formation, thus no obstacle avoidance is possible. Cao et al. [2002]
13
1. Introduction
uses genetic algorithms to tune behaviour parameters, that are implemented by motor–
schemas. Gentili and Martinelli [2000] use a dynamic programming approach to solve the
formation control problem. Their solution is optimal for rigid formations of dimensionless
robots (points). This approach minimizes the sum of the distances travelled by each robot
in the formation. Lindhe and Johansson [2006] follows an approach similar to Cortes
et al. [2004]. Each agent computes its Voronoi region, using the relative distances to its
neighbours. After, it moves to the centre of that region. This approach is applicable to
hexagonal lattice formations, and induces trajectories that are collision free. Ren et al.
[2002] introduces an approach relying on the satisficing control paradigm based on the
control Lyapunov functions of Ogren et al. [2002a]. The formation is treated as a rigid
one, and they use the virtual structure approach.
1.4 Brief sketch of the proposed solution
Our solution, can be categorized as leader–follower in terms of strategy, and as decen-
tralized behaviour–based approach in terms of controller implementation.
More specifically, we will develop three specialized controllers, that enable one robot to
follow another robot while maintaining a desired relative position. These three controllers
are for: column formation, when the follower should follow the leader exactly behind it;
line formation, when the follower should move side–by–side (parallel) with the leader ;
oblique formation, otherwise, that is, when the follower moves diagonally to the leader.
Given a desired distance and angle, the follower should decide on which controller to use.
In terms of design of each controller, we will use the framework called attractor dy-
namics approach to behaviour generation. In this approach the two parameters, desired
distance and angle, are used to shape vector fields of the dynamical systems that gen-
erate values for the control variables of the robot. These dynamical systems are tuned
such that the control variables are always very close to one of the resultant attractors.
The advantage is that the systems are more robust against perturbations, because the
behaviour is generated as a time series of asymptotically stable states.
We will then develop a decentralized method of distribution of the robots to specific
places in the formation. This method is based on the evaluation of a cost function depen-
dent on the distance of each robot to a target location, i.e., it tries to minimize the path
travelled by each robot.
After, with the robots assigned to places, its time to decide on which leader to a
14
1.4. Brief sketch of the proposed solution
particular follower, and on the type of controller to use. This decision is taken by each
follower on its own. It chooses a leader among the robots that are in front of it in
the formation. This choice is made giving priority to column formations over oblique
formations and line formations (which are used only if not possible to use the first two).
All this information is aggregated in a formation matrix, and communicated to all the
team (only as a backup measure in case of leader failure, because each robot only needs
limited information). This formation matrix represents the chain of leaderships existent
in a team, where there is a team leader, called the lead robot. The lead robot is followed
by one or several robots. These followers are followed by other robots, and, thus, are also
leaders, and so on.
When the mission is initiated, the robots start by stabilizing the desired shape, that
is, each robot moves to its specific place in the formation. In the presence of obstructions,
the formation will break apart, with the purpose of avoiding the obstacles, and join after
overtaking these. This formation split–and–join is implicit to the control architecture and
does not need to be explicitly triggered. It is also valid for cluttered environments.
To increase formation robustness we also deal with robot failures. The specification of
the formation pattern is very dependent on the goals of the mission, and the knowledge of
the territory in which the robots are (although, we reinforce, no knowledge is necessary).
If, for instance, the team has to traverse a narrow canyon, and its existence is known,
there is no point in doing it in a line formation. To move one large team from one place to
another (what we call team translation), it might be best to adopt a platoon like forma-
tion (arranged in a grid configuration). For reconnaissance or exploration, platoons are
not the best choice. In this situation a line formation might be more reasonable. For of-
fensive/defensive applications echelons and inverted V’s are traditionally used in military
scenarios. Because of the exposed reasons, we will not deal here with the generation of a
formation shape, i.e., we will not treat the problem of: given a set of objectives to a team,
how to dispose them in a geometric configuration, such that those objectives are fulfilled?
We assume that the desired geometric configuration is given. Even so, robots can fail,
and if there is no mechanism to deal with those failures, the mission would terminate.
To overcome this problem we consider two possibilities: i) instead of just supplying one
formation shape, the higher level entity, can also supply contingency formations to be
used in case of robot failure; ii) just leave the position of the failing robot unoccupied,
update the chain of leadership, and continue the mission. The contingency formations
can be formations with specific shapes, or directives on how to proceed in case of robot
15
1. Introduction
failure. Examples, of these directives can be for instance, if the initial desired formation
is a polygon with N vertices, inscribed in a circumference of a given radius, with a robot
at each vertex, than in case of a failure of n robots, they should organize themselves into
a formation that is also a polygon, inscribed in the same circumference, but with N − nvertices. These contingency formations give rise to new formation matrices.
As a change in the formation matrix, can be seen as a formation switch, the possibility
of switching from one formation to another is also present at run time, by updating the
team formation matrix.
As a summary we will highlight the framework features in the following points:
• the ability to stabilize a desired formation from any initial situation,
• obstacle (either static or dynamic) avoidance,
• formation split (that can occur in the presence of obstacles),
• formation join,
• commanded formation switches,
• robustness to failures achieved through contingency formations.
1.5 Outline of the thesis
The rest of the thesis is structured as follows:
• In Chapter 2 we will present a brief introduction to the Attractor Dynamics Ap-
proach. This framework serves as basis for the proposed solution.
• In Chapter 3 we will introduce the test beds we will use to validate our work. More
specifically, we will describe a MATLAB simulator developed at our laboratory, and
two robotic platforms: one commercial – the Kheperas – and one engineered in our
laboratory – Gusmao.
• In Chapter 4 we will study control systems that generate leader–follower move-
ment, that is able to maintain constant the distance and relative orientation between
leader and follower. We will show results of simulations and real robot implemen-
tations.
16
1.5. Outline of the thesis
• In Chapter 5 we will use the control systems developed in the previous chapter,
together with introduced formation matrix, to develop formations with large num-
bers of robots. We will finish this chapter with the presentation of simulation and
Khepera results.
• In Chapter 6 we complete the framework with an extension to 3D. More specifically,
we will show that lighter–than-air vehicles (blimps) can be controlled, using the
attractor dynamics approach, such that they navigate according to a prescribed
formation.
• Finally, in Chapter 7 we will review the presented work and the most important
conclusions. We will finish with an outlook on future work.
17
1. Introduction
18
Chapter 2
Attractor dynamics
The attractor dynamics approach [Schoner and Dose, 1992; Schoner et al., 1995], is
introduced in this chapter. We condense a short overview of the approach, as presented
by Bicho [2000]. We start with a presentation of the underlying basic principles, and then
we evolve to an application scenario. In particular we will show how to control a real
autonomous mobile robot in an unstructured environment. Besides acting as an example,
this architecture will also be used in the formation control problem, as it is the lead robot
control architecture.
2.1 Basic principles
To design a solution based on the attractor dynamics approach we must follow two
basic steps. It starts with the choice of the designated behavioural variables. These
variables should describe the behaviours to be implemented by the system. The complete
state of the system is characterized by the current value of each behavioural variable. In
short, the requirements for a well chosen behavioural variable are that it should describe,
quantify and internally represent the state of the system with respect to the elementary
behaviour. An adequately chosen behaviour variable respects the following requirements:
a) At any time a behaviour must be associated with particular values of its correspond-
ing behavioural variables and task requirements must be expressed as values or set
of values of these variables;
b) The specified values for a behavioural variable, that express the task, must be
independent of its current value;
19
2. Attractor dynamics
c) It must be possible to specify the values by on–board sensors or by another be-
havioural model (for example a representation system);
d) The behavioural variables must enable the design of control systems that impose
their values on an effector system.
In the previous requirements we mentioned behaviours and tasks. A clarification of
our definition of both is in order. When we speak of behaviours we are thinking on the
ability to perform certain actions. The ability to walk, for instance, can be seen as a
behaviour. In order to produce real actions, we must endow the behaviours with some
goals, walk to the door, or walk randomly and avoid the furniture, or walk and follow that
person, etc. To these goals, that model (or constraint) the effective behaviour we will call
tasks.
In the second step, values to those variables have to be provided, i.e. the behaviour is
generated in time. A dynamical system, in the form of differential equations, is responsible
for providing values to the behavioural variables (for a review on dynamical systems, please
see e.g. the textbooks of Scheinerman [1996] and Perko [1991]). To these dynamical
systems we also call behavioural dynamics.
To better understand the concept, consider the example of an autonomous mobile
robot moving in the plane. To this behaviour (moving in the plane), the heading direction,
φ (0 ≤ φ ≤ 2π rad), with respect to an arbitrary but fixed world axis, and path velocity,
v, are appropriate behavioural variables. The behavioural dynamics of φ(t) and v(t), are
differential equations
φ = f(φ, parameters) (2.1)
v = g(v, parameters) (2.2)
where the functions f(φ, parameters) and g(v, parameters) define vector fields. As a
design principle, we are interested in the fixed points, or constant solutions, of dynamical
systems. In these points the vector field of the behavioural variable is null. This means
that the system, if caught in one of these points, does not evolve in time. The stability of
fixed points, for one dimensional dynamical systems, depends on the rate of change at the
fixed point. If it is negative, then the system is attracted to the fixed point, and we call it
an asymptotical stable fixed point, or attractor. If it is positive, the system moves away
from it, so it is an unstable fixed point, or repeller (see figure 2.1). The slope at the fixed
points also tells us about how fast the system is attracted (or repelled) to (or from) the
20
2.1. Basic principles
fixed point, as the slope represents the rate of change of the behavioural variable. The
steeper the slope, the faster the system relaxes to the attractor, or from the repeller.
φφ
dφdt
dφdt
00
00
Repeller Attractor
π/2π/2 ππ 3π/23π/2 2π2π
Figure 2.1: Fixed points of dynamical systems. Two phase–plots for the
behavioural variable φ are depicted. These express the rate of change dφdt
as a function of φ. The points where the rate of change is zero are called
fixed points. Left: If the slope at the fixed point is positive, then we call
it an unstable fixed point, or repeller, because neighbouring values tend
to move away from it. Right: If, on the other hand, the slope is negative,
then initial values of φ in the neighbourhood of the fixed point, tend to
come into the fixed point. In this situation we call it an asymptotical
stable fixed point, or attractor.
Task constraints define contributions to the vector fields. Each constraint may be
modelled either as a repulsive or as an attractive force-let, which are both characterized
by three parameters:
a) which value of the behavioural variable is specified?
b) how strongly attractive or repulsive the specified value is?
c) over which range of values of the behavioural variable a force-let acts?
Thus, in isolation, each force-let creates an attractor (asymptotically stable state) or
a repeller (unstable state) of the dynamics of the behavioural variable. An attractive
force-let serves to attract the system to a desired value of the behavioural variable (e.g.
the direction in which a target lies for the heading direction or a desired velocity value
for the path velocity). A repulsive force-let is used to avoid the values of the behavioural
variable that are undesired (for example, the directions in which obstacles lie are values
21
2. Attractor dynamics
that the heading direction must avoid). The resultant dynamical systems are non–linear
and have multiple stable states (attractors) that change in time. This implies that the
rate of change of the attractors must be low enough, to ensure that the system is able
to relax to them. This is ensured by design, by tuning the parameters such that the
movement of the attractors is limited and, as consequence, the behavioural variables are
very close to one attractor of the resultant dynamics most of the time.
The fact that only attractor solutions matter can be used to design the layout of
attractors and repellers using the qualitative theory of dynamical systems. Qualitative
changes in the behaviour are brought about through bifurcations in the vector fields.
Local bifurcation theory helps to design the dynamics such that these qualitative changes
are automatically made under the appropriate environmental conditions (e.g. sensory
information and shared information among the team of robots).
2.2 Application to autonomous mobile robots
Here we detail the application of the attractor dynamics approach to one autonomous
mobile robot, performing two tasks: obstacle avoidance and target acquisition, i.e. head
the movement direction toward the target direction [Bicho and Schoner, 1997; Bicho, 2000;
Bicho et al., 2000]. This demonstration serves two purposes: we show an application
example to mobile robots (an example with robotic arms can be found in Iossifidis and
Schoner [2004] and an example with floating robots – blimps – can be found in Bicho
et al. [2005]) and, also, the presented architecture will also be used later in the formation
control approach (it will be implemented in the robot that leads the team).
As presented in the previous section, the first step in designing a solution based on the
attractor dynamics approach is to choose suitable behavioural variables. For the presented
example these can be the heading direction of the robot, φ, and it’s path velocity, v. Let
us, first, focus on the heading direction.
2.2.1 Heading direction
Each of the tasks to implement imposes constraints on the heading direction. These
constraints are represented by the task variables ψobs, for the obstacle avoidance, and ψtar,
for target acquisition (see figure 2.2).
In terms of obstacle avoidance, directions in which the obstructions lie (either due
to static obstacles or due to the other robots), are undesired directions, so repulsive
22
2.2. Application to autonomous mobile robots
Robot
ObstacleTarget
φ
x
ψobs
ψtar
Figure 2.2: A robot performing two tasks: obstacle avoidance and target
acquisition. φ, the heading direction, is the behavioural variable. ψobs,
the direction at which the obstacles are seen, is a task variable. ψtar,
the direction at which the target is seen, is another task variable. These
two task variables will shape the resultant behavioural dynamics of φ.
“force-lets” are defined around each of these directions. These repulsive force-lets can be
straightforwardly erected by the distance sensors:
fobs,s(φ) = λobs,s(φ− ψs) exp[−(φ− ψs)2
2σ2s
] (2.3)
where ψs = ζs + φ is the direction in space into which an IR sensor, mounted at angle ζs
from the frontal direction, is pointing. The strength of repulsion, λobs,s, is a decreasing
function of sensed distance, ds, to the obstruction, as estimated from the IR output
with crude calibration. Figure 2.3 shows the shape of the vector–field correspondent to
equation 2.3.
The functional form
λobs,s = β1 exp [−ds/β2] (2.4)
depends on two parameters controlling overall strength (β1) and spatial rate of decay (β2).
The range
σs = arctan
[
tan(∆ζ
2) +
Rrobot
Rrobot + ds
]
(2.5)
is adjusted taking both sensor sector, ∆ζ , and the minimal passing distance of the robot
(at size Rrobot of the platform) into account. Sensor sector is the arc (in radians), of the
23
2. Attractor dynamicsPSfrag
φ
dφdt
Repeller at ψs
Range, σs
Slope, λobs,s
0
0 π/2 π 3π/2 2π
Figure 2.3: Contribution to the dynamics when an obstacle is sensed
at ψs. Every sensor that detects an obstacle, contributes with similar
force–let, but with varying slope and range, that are dependent, mainly,
on the distance to the obstacle.
robot surroundings, that a particular sensor covers. Typically, but not necessarily, is a
constant (i.e. all sensors have equal sensor sectors).
Note that the right hand side of equation 2.3 really only depends on the distance
measures, ds, obtained from the sensors, not actually on φ (to see this, replace φ− ψs by
−ζs, which is fixed).
The subscript s, used above, refers to sensor number s, where s = 1, 2, ...N , with N
as the total number of sensors.
This approach is tuned for a robot that detects obstacles with several low–level sensors
with limited range (typically infra–red sensors or sonars), in which each sensor contributes
with a singular force–let. With imaging systems, for instance, the range of repulsion could
be directly extracted from the size of the detected obstacle.
Orientation towards the target, which lies at direction ψtar (see figure 2.2), is brought
about by erecting an attractor at this direction with strength λtar. Because target ac-
quisition is desired from any starting orientation of the robot, the range over which this
contribution exhibits its attractive effect is the entire full circle, i.e. from 0 to 2π rad. As
a consequence, there is a repeller at the back, in the direction opposite to that toward the
target (see figure 2.4). A simple mathematical form can be:
ftar(φ) = −λtarsin(φ− ψtar) (2.6)
Finding the direction of the target can be done in several ways. It is possible to do
24
2.2. Application to autonomous mobile robots
φ
dφdt
Attractor at ψtar
Slope, −λtar
0
0 π/2 π 3π/2 2π
Figure 2.4: A contribution to the dynamics of heading direction ex-
pressing the task constraint “move toward the target” is a force with a
zero-crossing at the specified direction toward the target, ψtar. The neg-
ative slope at the zero-crossing makes this an attractor of the dynamics.
The target contribution is sinusoidal and extends over the entire range
of heading direction. This leads to a repeller in the direction π + ψtar
opposite to ψtar.
so by means of dead–reckoning and by sharing a common reference frame (as we will
do, later, with the Khepera robots). Another possibility emerges by using a sensor that
detects the actual direction to the target (we will use a vision system for this purpose,
with our middle size robots).
The target contribution and the contributions arising from the detected obstacles all
act at the same time. The heading direction dynamics is thus simply the sum over these:
φ =N∑
s=1
fobs,s(φ) + ftar(φ) + fstoch (2.7)
where fstoch is a stochastic force that ensures the escape from unstable fixed points, and
N is the number of obstruction sensors.
Instead of a simple sum, actual activation and deactivation of particular tasks are also
possible [Steinhage, 1997; Large et al., 1999; Althaus and Christensen, 2003]. This would
allow to introduce priority or hierarchy between different tasks. Although, in our problem
scenario such features are not necessary.
Since some of the force-lets have limited range, this superposition is a non-linear
dynamical system which may have multiple attractors and repellers (typically few). By
25
2. Attractor dynamics
design the system is tuned so that the heading direction is in a resulting attractor of this
dynamics (i.e. equation 2.7) most of the time (see figure 2.5).
2.2.2 Path velocity control
Up to this point we have only addressed the control of the robot’s heading direction.
For this robot to move it must have some path velocity, of course. As it moves, sensory
information changes and thus attractors (and repellers) shift. The same happens if ob-
stacles or the target move in the world. Since the heading direction must be in or near
an attractor at all times, for the design principle to work, we must limit the rate of such
shifts to permit the robot’s heading direction to track the attractor as it moves and thus
stay close to a stable state. One way this can be accomplished is by controlling the path
velocity, v. Additionally, velocity control must be constrained by sensed obstructions,
either due to static obstacles or due to the other robots that might come to close and thus
collisions with them must be avoided. This can be accomplished by means of a dynamic
system for the path velocity as proposed in [Bicho and Schoner, 1997; Bicho et al., 2000]:
v = γobsgobs(v) + γtargtar(v) (2.8)
where each contribution defines simply a linear dynamical system for the path velocity
(f = {obs, tar}):v = gf(v) = −αf(v − vd,f) (2.9)
that sets an attractor at the desired path velocity, vd,f , with a relaxation rate controlled
by αf (> 0). The desired path velocity, vd,f , is a function of whether or not obstacles are
sensed.
When the robot’s heading direction is inside the repulsion range created by sensed
obstructions then the obstacle avoidance term dominates (i.e. γobs = 1, γtar = 0) and in
this case the desired path value for the path velocity is:
vd,obs = dmin/T2c,obs (2.10)
which tries to stabilize a particular time to contact, T2c,obs, with the obstacle. dmin is
the minimum distance given by the distance sensors. Reversely, when no obstructions
are sensed or the robot’s heading direction is outside the repulsive effect of obstacle
contributions then the particular desired value for the velocity depends on the distance,
26
2.2. Application to autonomous mobile robots
φ
dφdt
0
0 π/2 π 3π/2 2π
Repeller due tosensor 1
Repeller due to sensor 2
Resultant repeller
(a) Obstacle avoidance dynamics
φ
dφdt
0
0 π/2 π 3π/2 2π
Attractor at ψtar
(b) Target acquisition dynamics
φ
dφdt
0
0 π/2 π 3π/2 2π
Resultant attractors ofthe overall dynamics
(c) Resultant heading dynamics
Figure 2.5: Resultant attractor (bottom panel) from the superposition
of the repulsive force–let (top panel) from obstacle constraints and at-
tractive force (middle panel) due to the target constraint. Parameters
must be tuned so that the system relaxes to one of the attractors.
27
2. Attractor dynamics
dtar, and on a time to contact with the target, T2c,tar in the following way:
vd,tar =
dtar/T2c,tar, if dtar < dmax
vmax, else(2.11)
The clip down to vmax (only if higher than vmax, i.e. vmax = dmax/T2c,tar) is to ensure
that this velocity does not grow indefinitely with the distance.
A function that indicates if obstacle contributions are present is the potential function
of the obstacle avoidance dynamics for the robot (see figure 2.6):
Uobs(φ) =N∑
s=1
λobs,sσ2s
(
exp
[
−(φ− ψs)2
2σ2s
]
− 1/√e
)
(2.12)
where ψs is the direction in which distance sensor s of the robot is pointing, λobs,s is the
magnitude of repulsion from this direction and σs is the angular range of repulsion (λobs,s
and σs have the functional forms of equations 2.4 and 2.5 respectively). Positive values of
this potential function indicate that the robot’s heading direction is in a repulsion zone of
sufficient strength. Conversely, negative values of the potential indicate that the heading
direction is outside the repulsion range or repulsion is very weak. Applying a sigmoidal
threshold function to the potential we get a function that ranges from −1/2 to 1/2:
αpot(φ) = arctan[c Uobs(φ)]/π (2.13)
φ
dφdt
0
π/2 π 3π/2 2π0
12
− 12
fobs
Uobsαpot
Figure 2.6: Potential function of the heading direction dynamics for
obstacle avoidance (Uobs). Positive values indicate robot headings that
fall in the repulsion range created by the obstacles.
28
2.3. Summary
Finally, we can write the following functions for the activation variables:
γobs = 1/2 + αpot (2.14)
γtar = 1/2− αpot (2.15)
At sufficiently sharp sigmoids (c sufficiently large) this leads to the required term in the
vector field of the robot’s heading direction dynamics.
In order to ensure the stability of the control system, when sensorial information or
the environment changes, i.e., that the system always relaxes to an attractor as they shift
and also to ensure that the obstacle avoidance behaviour has precedence over the target
acquisition behaviour, the following hierarchy of relaxation rates has to be observed (for
details see Bicho [2000]):
λtar ≪ αtar, λobs ≪ αobs, λtar ≪ λobs, (2.16)
2.3 Summary
In this chapter we have introduced the Attractor dynamics approach. Within this
framework, the time course of the control variables are obtained from (constant) solutions
of dynamical systems. The attractor solutions (asymptotically stable states) dominate
these solutions by design. The benefit is that overt behaviour of each robot is generated
as a time course of asymptotically stable states, that, therefore, contribute to the overall
stability of the complete control system and makes it robust against perturbations.
29
2. Attractor dynamics
30
Chapter 3
Test beds
Once the control architecture is established, the typical work flow starts with simulat-
ing the architecture with approximated parameters dependent on the real robot physical
characteristics (like dimensions, velocity rates, etc.). In simulation one tries to further
fine tune each parameter in the control architecture. If the model of the robot in the sim-
ulator is accurate enough, than the transfer to real platforms can be performed without
significant modifications in the parameters. Our experience is that almost no alteration
of the control parameters is necessary, from the simulation stage to implementation in
real robots.
In this chapter we will describe all the test beds we have used in order to validate our
theoretical work. First, we will present the simulation tool we have developed. Then we
will describe the real robots one have used. We start with the Khepera robots, and then
proceed with the platforms developed in–house.
3.1 Simulator
A software simulator was developed to evaluate the proposed approach performance.
It is based on an existent simulator [Bicho, 2000] that allowed for simulations with only
one robot.The added features allowed it to support more robots, define a formation and
track some errors.
The simulator was completely written in MATLAB. It is composed of a main file that
implements the environment, which, on its turn, calls the behaviour files correspondent to
each robot. The robotic platforms were modelled based on the used physical prototypes
(presented at sections 3.2 and 3.3), displaying the same drive system, in terms of kine-
31
3. Test beds
Figure 3.1: Screen capture of the simulator, that supports more than
one robot. In this case, the three robots are being simulated. It is
composed of two windows: the top window shows the internal dynamics
of the robot, while the bottom one allows for parameter input and also
shows a simulated overhead view.
32
3.2. Khepera robots
matics, and the same sensor arrangement and characteristics as the robot it is simulating.
Figure 3.1 presents a screen capture of the updated simulator. In the simulation the
robots are represented as triplets (xi, yi, φi) (i= 1,2...,n), consisting of the corresponding
two Cartesian coordinates and the heading direction. Cartesian coordinates are updated
by a dead-reckoning rule (xi = vicos(φi), yi = vjsin(φi)) while heading direction, φi,
and path velocity, vi, are obtained from the corresponding behavioural dynamics. All
dynamical equations are integrated with a forward Euler method with fixed time step,
and sensory information is computed once per each cycle. Distance sensors are simulated
through an algorithm reminiscent of ray-tracing. The target information is defined by a
goal position in space.
3.2 Khepera robots
One of the real platforms used was Khepera robots. Khepera are miniature sized
robots manufactured by the Swiss company K-Team1. They have released, up to now,
three generations of Khepera robots. Currently, we have three of the first generation (see
figure 3.2). Table 3.1 summarizes the robots main characteristics [K-Team, 1999c].
Each of the Kheperas is also equipped with the Radio Turret extension module [K-
Team, 1999b]. This turret enhances the robots capabilities with a wireless communication
feature. With it they are able to establish a robot–to–robot radio link, or a radio network
comprising all robots. Within the current framework, the radio communication was used
with two purposes: a) transfer the binary code from the development PC to the target
robot; b) when actually running the formation control software implementation, it allowed
the robots to communicate with each other. Photos of our Kheperas, equipped with the
radio transceivers, are presented in figure 3.2. In our framework, only one robot, the lead
robot (defined in chapter 5), broadcasts its location, heading and velocity. This restriction
was imposed in order to simplify the implemented solution.
As built–in software, the Kheperas come preloaded with a Basic Input–Output System
- BIOS [K-Team, 1999a]. Similar, in purposes, to a personal computer BIOS, it sits
between the hardware layer and the user application layer, acting as an interface between
the two. Thus, it enables easier access to the hardware features by means of an API2.
Regarding the sensors, we only use them as proximity sensors (they can also be used
1See K-Team homepage at http://www.k-team.com2API stands for Application Program Interface
33
3. Test beds
Processor Motorola 68331, 25MHz
Memory 256 Kbytes of RAM, plus 256 Kbytes Flash memory
Motion 2 DC brushed servo motors with incremental en-
coders (roughly 12 pulses per mm of robot motion)
Speed Max: 0.5 m/s, Min: 0.02 m/s
Sensors 8 Infra-red proximity and ambient light sensors with
range from 20mm to 60mm
I/O 3 Analog Inputs (0-4.3V, 8bit)
Communication Standard Serial Port, up to 38400bps
Extension bus Expansion modules can be added to the robot using
the K-Extension bus.
Size 70mm (Diameter), 30mm (Height)
Power Power adapter or Rechargeable NiCd batteries
(aproximately 30 min autonomy).
Table 3.1: Summary of characteristics of Khepera robots.
Figure 3.2: Photos of Khepera robots. On the left a Khepera is com-
pared against a e2 coin. On the right the three Kheperas, are performing
a triangle formation. In both photos, the robots are equipped with the
radio turret. It is the topmost stage that has an antenna attached.
34
3.2. Khepera robots
as ambient light sensors) to measure distance to neighbouring obstacles. Six of the eight
sensors are headed toward the front of the robot, while the remaining two are located
at the rear. In our applications, we only use those in the front (although nothing in
the framework restricts its use!). The real sensor measurement range was verified to be
between 20mm and 50mm, although the specifications state that the sensors can detect
obstacle up to 60mm. This imposes a limit in the robots path velocity, as we will see
in later chapters. Even though all sensors are equal, they do not respond exactly in the
same way, that is, when facing the same obstacle at the same distance they do not output
exactly the same voltage. Also, because these sensors estimate the distance based on the
amount of energy received, and this is highly dependent on the surface of the obstacle
(more specifically on the reflectivity of the surface), we decided to build the characteristic
curve of each sensor separately. This characteristic curve, is simply a curve that maps
the voltage generated by the sensor, into the distance at which the obstacle is positioned.
To produce such a curve, an obstacle is placed, successively, at different known positions
within the measurement range, and at each position the voltage output of the sensor is
recorded. With the Kheperas we used 5 mm distance step to produce the curves.
One of the problems facing the robotic community is ego–position estimation, either
absolute, or relative to a given entity. In the formation control task, the robots need
to estimate the distance that separates them from their team mates. Due to the lim-
ited sensing capabilities of these robots, and because we wanted all computation done
on–board, the only solution was to use dead–reckoning3. Dead-reckoning is an ancient
form of ego–position estimation, that relies on speed, heading direction and time elapsed
since last known position. Specifically we use one kind of dead–reckoning called odom-
etry [Borenstein et al., 1997], where these values are computed from wheel motion, as
opposed the the other kind of dead–reckoning, know as inertial navigation, where these
values are extracted from gyroscopes or accelerometers (data is integrated once, or twice
– in the accelerometer case – to compute position).
In particular to our approach, a global frame of reference is considered to all robots. At
each time step dt, each robots new coordinates xnew and ynew, in that frame of reference,
is updated in the following way,
xnew = x+ v cos (φ) dt
ynew = y + v sin (φ) dt (3.1)
3K-Team sells vision systems for their robots, but they are very expensive.
35
3. Test beds
where v and φ are the robot’s path velocity and heading direction, x and y are the previous
known coordinates. The advantage of this approach is its low computational needs and
sensorial requirements. The (great) disadvantage is the position error that accumulates
at each time step, thus increasing fast and causing large errors in relative low travelled
distances. In our application scenario, we have three robots sharing the same reference
frame, so we need to initialize each robot with its coordinates prior to experiment start.
This leads to another disadvantage of this approach that is the difficultly one has in
placing the robots at the desired coordinates with the desired heading direction. The two
prior disadvantages cause the existence of a location error, that is the distance between the
place where the robot actually is and the place where he thinks it is. In our experiences,
this error was less than 10% of the total traveled path (we only tried path distances up to
around 1 m), for one robot. When travelling in formation, we are interested in the distance
between two moving robots, each with increasing error as the travelled distance grows.
This leads to even higher errors of the estimated distance between two robots (that is
calculated with the communicated information, based odometry, and not on ground truth
coordinates). In our experiences we noticed that this error (distance between two robots)
increased to unacceptable values, when the total path travelled by the formation was near
1 m. At higher distances, the observed (true) behavior of the team was very different of
what the team thought it was doing. For this reason we limited the total path of the
experiments to less than 1 m.
As we said before, all the computation is done on–board. Only the application (soft-
ware) is done in a standard personal computer. The compilation is done in the computer
(using a cross-compiler), and then is transferred to the host robot using a serial connec-
tion. We could use the radio link to do this, but the baud–rate is very low. In fact, when
running the tests, usually all the robots are always connected with the serial cable. This
serves two purposes: a) It allows the upload of the compiled code before the experiment
and the download of the history log after the experiment; b) It also acts as a power ca-
ble (the batteries run out quickly and take long to recharge). The history log, referred
previously, generated with each experiment, is a file that contains all the data that the
robot either gathers through its sensors or generates by itself (actuator commands). It
allows to trace back the robot behaviour both for debugging purposes and experiment
documentation.
Performing all the computation on–board the Khepera is a real challenge. Specially
because the main processing unit (Motorola M68331) does not support mathematical
36
3.3. Middle size robots
functions other than the simple arithmetic ones [Motorola, 1996]. As our solution makes
extensive use of trigonometric functions and exponentials, a direct implementation im-
posed serious limitations in terms of observed performance due to high iteration times with
high variability (we want iteration times as stable and low as possible). One solution was
to base the implementation on look–up tables, instead of function implementation [Vaz,
2003]. In this way before an experiment starts, each robot spends a few seconds pre–
calculating values to “charge” into the look–up tables. These values are then used at
runtime, thus decreasing the iteration time and increasing the performance. The trade–
off is the memory requirements of such solution, because the look–up tables take a lot of
memory. Currently, with the framework proposed in this thesis, the Kheperas are at the
limit of their capacities in terms of memory space.
3.3 Middle size robots
The plans to build in–house robots were defined from the beginning. Mainly because
of two reasons: a) although the Kheperas allowed us to validate our framework in terms of
controller architecture, we were somehow limited in our implementations due to the very
limited resources of that platform; b) the other reason, was to collect know how about
the construction of such apparatus.
A task that, at first glance, seemed quite accessible and of rapid solution, revealed
itself, specially, time consuming and long lasting.
The first prototype, named Fagundes, was the first to be developed [Monteiro and
Bicho, 2001]. A photo of Fagundes is presented in figure 3.3. This robot is based on
the plans kindly made available by Pierre Mallet (Dynamical Robotics group responsible
engineer, at the CRNC–CNRS in Marseille, France) for the robot named Robodyn. The
main characteristics are summarized in table 3.2.
As operating system, Fagundes was running a version of MS-DOS. The development
was done initially in BASIC (because it was the only compiler possible to install on
the 8 MBytes of Flash memory), and later was converted to C. This first prototype,
although functional, was not very robust in terms of electrical reliability (wiring and power
management). Another source of problems were the distance sensors. These sensors were
made of a separate emitter with modulating electronics, coupled to a TV remote control
receiver, in a popular configuration [Doty and Iglesia, 1996] (see figure 3.4). The result was
sensors with different characteristics, that helped by poor wiring resulted in an unreliable
37
3. Test beds
Processor Intel 486, 133MHz
Memory 4 Mbytes of RAM, plus 8 Mbytes Flash memory
Motion 2 brushless DC servo motors, coupled to 66:1 plane-
tary gear head, plus a rear caster wheel. The motor
is controlled by a servo amplifier.
Sensors 9 Infra-red distance to obstacle sensors, with range
from 35cm to 90cm
I/O Data acquisition card with 16 digital I/O line and 16
single–ended analog channels
Communication 4 Serial Ports, 2 parallel ports and Ethernet
Extension bus PC-104 industrial expansion bus.
Size 30cm (Diameter), 30cm (Height)
Power Rechargeable NiMH batteries.
Table 3.2: Summary of characteristics of the Fagundes robot.
Figure 3.3: Evolution of our middle size robots. The left photo shows
Fagundes, which was the first developed robot by our team. On the
right appears a photo picturing our latest evolution named Gusmao.
38
3.3. Middle size robots
Figure 3.4: Comparison of the older (on the left) and newer (on the
right) distance sensors. The older ones, partially home–made, estimate
the distance based on the amount of energy reflected by the obstacle
(and picked up by the receiver). Changes in the reflectivity of the surface
induced erroneous readings at the same distance. The newer ones, com-
pletely off–the–shelf, instead of only one receiver, include a linear array
of receivers. The distance is estimated by which of the receiver catches
more energy, instead of the total amount of energy received (closer ob-
stacles favour one end of the linear array, while further obstacles favor
the other end).
platform.
As done with the Kheperas, these sensors also need proper calibration. The procedure
is the same as the executed with the Kheperas.
Also, as with Kheperas, this robot relied on odometry to estimate its own position in
space. Opposite to Kheperas, these motors were not calibrated, so it was necessary to
build each motor characteristic curve (a curve that maps applied voltage into resultant
rotation per minute). This is a very important step, as the accuracy of the dead–reckoning
depends highly on the accuracy of this characteristic. Another step in the reduction of the
dead-reckoning errors, was the calibration of the robots dimensions in terms of wheelbase
and wheel diameter. The errors caused by discrepancies in these values, together with
those inherent to the limitations of the electronics (at the level of sensor, or analog to
digital conversion, resolution and sampling rates) are called systematic errors [Borenstein
et al., 1996]. The other type of odometric errors are the non–systematic ones. These
category includes those induced by unevenness of the floor and wheel slippage. Boren-
stein developed a method to measure and correct systematic errors, to which he called
UMBmark [Borenstein and Feng, 1996]. We used a similar approach in order to better
adjust the values of wheel diameters and wheelbase.
A few evolutions later, and because we had the need for higher computation power to
39
3. Test beds
perform image processing, we arrived at the current evolution: Gusmao (see figures 3.3
and 3.5). Mechanically, Gusmao, is very similar to its older brothers. It shares the same
motors and motor controllers, and also has similar dimensions. The greatest differences,
relate to the computational base, that is now a Pentium III architecture, with 1 GHz
clock speed. In order to lower the total solution cost, instead of the PC-104 platform, a
change was made to a mini–itx motherboard with PCI bus. The DOS environment was
dropped in favour to a Linux operating system. In terms of sensors, to measure distances
to obstacles, we use now Sharp GP2D2 sensors, that are much more reliable than the
previously used. An omnidirectional vision system – AISVision4 by the Fraunhofer AIS,
Germany – is also present. It is composed of a firewire camera pointed to a convex mirror,
that allows to see the complete surroundings of the robot in which is mounted. A complete
re–wiring was also done, including all connection sockets. This provided an increase in
the electrical robustness of the platform.
Conic mirror(below the cardboard)
Video camera – together with
the conic mirror, they assemble
an omnidirectional vision system
LCD panel
2nd stage: main board,
PSU and interface electronics
1st stage: batteries
and motor controllers
9 infra–red distancesensors (10–80 cm range)
Figure 3.5: The Gusmao robot.
In terms of image processing, we are interested in extracting two pieces of information:
the distance between two robots and the relative orientation between them (see figure 3.6).
The target robot, is wrapped with a single colour card paper. As that colour was known
to the software, we used a simple algorithm based on blob–extraction. Measurement
precision was less than 10 deg (typically around 5%), regarding orientation, and less than
15% (tipically around 10%), regarding distances. The image capture was performed using
4see the homepage project at http://www.volksbot.de
40
3.3. Middle size robots
Figure 3.6: Information extracted from the vision system. The blue
robot, in the top–right corner of the photo, is the leader. The other
robot is the follower. The follower estimates the distance to the leader
using a vision system and by measuring the size of the blue blob in each
acquired frame.
the libdc1394 5 and libraw 6 libraries [Agarwal, 2005]. The image processing was done
by recurring to the Intel Integrated Performance Primives7 [Int, 2004], which are a set
of software libraries, optimized for the Intel architecture, with use in the multimedia
domains. Actually, these libraries were not our first choice. We started by coding all the
necessary functions to do colour space conversion, segmentation and visualization. The
problem was that, although slightly optimized they took too long to process, thus causing
high iteration times. When we switched to Intel IPP we decreased the conversion and
segmentation time approximately by half. The result was a typical iteration time of 53 ms
(with less than 2 ms variation), if we have all visualizations turned on (the acquired image
and the result after processing can be viewed, or not, in the robot display), or about 38 ms
if we switch off all the visualizations.
5It can be downloaded from http://sourceforge.net/projects/libdc13946It can be downloaded from http://www.linux1394.org/7It can be downloaded from http://www.intel.com/cd/software/products/asmo-na/eng/302910.
htm
41
3. Test beds
3.4 Summary
In this chapter we have presented the platforms that will be used to demonstrate the
features of the proposed solution. First we will use a tool developed in MATLAB to
perform simulations and conduct initial testing and parameter tuning.
Kheperas are the next step. Due to their electrical and mechanical robustness, one
can produce a solution and test it without bothering with failures or hardware problems.
Their small size also help when doing repetitive testing.
Nevertheless, the Kheperas have the great disadvantage, in our implementation, of
requiring the use of dead reckoning and a global reference frame. To overcome these
problems and to further demonstrate our solution, a larger robot was developed, that
comes equipped with a vision system that enables it to recognize other robots and measure
relative distances and orientations. Thus eliminating the need for dead reckoning.
42
Chapter 4
Two–robot formations: leader –
follower
In this chapter we will introduce controllers that guarantee the maintenance of desired
configurations between two robots, using the leader–follower strategy. We have devised
three different possible configurations: column, line and oblique. To each of these con-
figurations we will design a suitable controller, thus enabling formations with two robots
[Monteiro and Bicho, 2002]. We will also show our method of performance evaluation for
the formation [Monteiro and Bicho]. Several examples are also presented.
4.1 Definitions and notation
Before we proceed we will introduce the notation used in the remaining of this thesis
(figure 4.1 shows an example for clarity):
Robotj: leader robot;
Roboti: follower robot;
li: the actual distance of Roboti to its leader (li,d is the desired distance);
φj: heading direction of the leader;
φi: heading direction of the follower;
ψobs: direction at which an obstacle is sensed;
ψi: direction at which the follower sees the leader;
43
4. Two–robot formations: leader – follower
∆ψi,d: desired angular difference between the follower’s heading direction, φi, and the
direction at which it sees the leader, ψi;
ψi,d: desired follower heading, i.e., the heading that keeps the follower in formation.
Obstacle
Roboti(follower)
Robotj
(leader)
x
x
li
ψobs
∆ψobs
φj
∆ψi,d
ψi
ψi,d
φi
Figure 4.1: Example of notation used within this thesis.
All the angles are measured with respect to the robot external reference frame, which
is fixed, but can be arbitrarily chosen.
4.2 Robots in column
Roboti, called the follower, is said to drive in column formation with Robotj , the
leader, if it drives behind it at a desired distance. Figure 4.2 shows two robots in column
formation. In this pattern, the desired value for φi is ψi.
This type of formation is important in tasks involving convoying [Bom et al., 2005; Hu
and Zeigler, 2004]. Even if the robots are organized in other formation shapes, it might
be useful to switch to a column shape, prior to pass through a narrow corridor. Traffic
flow is also improved by making agents organize and travel in columns (AGV delivery in
a plant, or traffic in roads, for instance).
4.2.1 Heading direction
To be in column formation, the follower (Roboti) must drive behind its leader (Robotj),
i.e. it must steer to the direction where it sees the leader with respect to the external
reference frame. This means that the desired relative angle between the leader and the
44
4.2. Robots in column
x
x
li,d
Roboti(follower)
Robotj
(leader)
ψi = φi
φj
Figure 4.2: Two robots in column formation.
follower is zero (∆ψi,d = 0) and thus the desired value for the heading direction of Roboti is
ψi (ψi,d = ψi). A simplest dynamical system for Roboti’s heading direction that generates
navigation in column formation taking its leader as a reference point is
φi = fcol,i = −λcol sin (φi − ψi) (4.1)
which erects an attractor for φi directly at the direction at which the leader lies as seen
from the current position of the follower (i.e. ψi). λcol (> 0) is the strength of attraction
to the attractor and corresponds to the relaxation rate to that attractor (i.e. inverse of
the local relaxation time).
4.2.2 Path velocity
Besides heading direction, in order to ensure the formation stabilization and mainte-
nance, one must also adjust path velocity. In the case of column formation, path velocity
is dependent on the distance between the follower and the leader: the follower should have
a lower velocity than the leader if it is closer than desired, or a larger velocity otherwise.
This can be accomplished by setting the desired velocity, vi,d, equal to
vi,d =
vj − (li,d − li)/τt if li ≥ li,d
−vj − (li,d − li)/τt else(4.2)
where vj is the leader’s velocity, li is the actual, or measured, distance between the robots
and τt is a parameter that smooths the robot movement, by controlling its accelerations
and decelerations. The dynamical system that generates the time series for the robots
45
4. Two–robot formations: leader – follower
path velocity is a linear dynamical system, of the type
vi = g(vi) = −αi(vi − vi,d) (4.3)
that erects an attractor at the desired path velocity, vi,d. αi controls the relaxation rate
to that attractor.
In equation 4.2 we suppose that the leader’s velocity, vj, is known, either by being
communicated or by estimation. When neither are possible (the robots can lack the
required sensory capabilities, or be immersed in a environment with radio–silence) another
approach is necessary. This problem can be overcome simply by substituting vj by a
constant value, to which we’ll call cruise velocity (the velocity at which the leader travels
when not in the presence of obstacles). Since the remainder of the equation depends on
the contribution of the positional error of the robot (li− li,d), the velocity is automatically
adjusted.
4.3 Robots in oblique
We say that Roboti drives in oblique formation with respect to Robotj when during
its motion it maintains fixed (equal to a predefined angle ∆ψi,d) the difference between
its current heading direction, φi and the direction at which it sees Robotj , ψi. Figure 4.3
shows two robots in an oblique formation.
In terms of shape, it is similar the l−φ control of Desai et al. [2001] or the separation–
bearing controller of Fierro et al. [2001], as we also specify this type of formations, by
a distance, li,d, and an angle, ∆ψi,d. Nevertheless, there is one fundamental difference
between our approach, and those two, that is while they specify the formation under
the leader’s reference frame, and taking in consideration the leader’s heading, we do so
under the follower’s reference frame, without using the leader’s heading in our controller
specification. Even so, we will show results of stabilization of formations. The advantage
is that measuring or computing the leader’s heading (Das et al. [2002] does it using state
observers) is not necessary in our case.
This type of formation enables us to build formations like echelons, wedges or V–type
formations that are most useful in tactical or military operations [Balch and Arkin, 1998;
Edwards et al., 2004], or, when in 3D, also enables efficient energy expenditure at team
level [Seiler et al., 2002; Fowler and Andrea, 2002; Nangia and Palmer, 2007].
46
4.3. Robots in oblique
x
li,d
Roboti(follower)
Robotj
(leader)
ψi
φi
∆ψi,d
ψi,d
Figure 4.3: Two robots in an oblique formation.
4.3.1 Heading direction
A dynamical system for the heading direction of Roboti that generates “oblique” for-
mation taking Robotj as a reference point is
φi = foblique(φi)
= fapproach(φi) + fdivert(φi) (4.4)
where each term defines an attractive force (see figure 4.4)
fk(φi) = −λobliqueλk(li)sin(φi − ψk) (4.5)
with k = {approach, divert}, where the first contribution, fapproach, erects an attractor at
a direction
ψapproach = ψi + ∆ψi,d − sign (∆ψi,d) γ (4.6)
in which γ represents the separation between both attractors fapproach(φi) and fdivert(φi),
or the range of values that the desired heading can take (actually the separation is 2γ).
The sign() operator is to ensure that the approach contribution always points to the
leader and divert contribution always points away from the leader, independently on the
follower being to the right or left from the leader. Figure 4.4 depicts a diagram with both
contributions and corresponding heading directions.
The strength of this attractor (λobliqueλapproach(li) with λoblique fixed), increases with
distance, li, between the two robots:
λapproach(li) = 1/(1 + exp (−(li − li,d)/µ)). (4.7)
47
4. Two–robot formations: leader – follower
x
γγ
Roboti(follower)
Robotj(leader)ψdivert
ψapproach ψi
fapproachfdivert
Figure 4.4: Heading direction of the two forces acting on a follower,
when generating the oblique formation and the follower is to the left of
the leader.
where µ is a fine tuning parameter, with the units of distance. For the same value of
li − li,d, an increase in µ produces a decrease in λapproach. Nevertheless, this parameter
was adjusted per platform and, then, kept constant. It was used to fine tune the curvature
radius of the trajectories, when stabilizing formations.
The second contribution, fdivert, sets an attractor at a direction pointing away from
the leader,
ψdivert = ψi + ∆ψi,d + sign (∆ψi,d) γ (4.8)
with a strength (λobliqueλdivert(li)) that decreases with distance, li, between the robots,
λdivert(li) = 1− λapproach(li). (4.9)
Because these two attractive forces are overlapping only one attractor results from
their superposition. The direction at which the resulting attractor emerges depends on
the distance between the two robots. This is illustrated in figure 4.5. In that example
γ = π/4. In the left plot if the distance between the two robots is larger than the desired
one, then the attractive force erected at direction ψapproach is stronger than the attractive
set at direction ψdivert. Their superposition leads to an attractor at a direction still
pointing toward the direction of the leader robot. Conversely, when the distance between
the two robots is smaller than the desired distance (situation depicted in the middle plot),
the reverse holds, i.e. the attractive force set at direction ψapproach is now weaker than the
attractive force at direction ψdivert. The resulting oblique formation dynamics exhibits an
attractor at a direction pointing away from leader’s direction. In the right plot the robots
are now at the desired distance. The two attractive forces have the same strength which
leads to a resultant attractor at the direction ψi,d = ψi + ∆ψi,d, which is the desired one.
48
4.4. Robots in line
φiφiφi
dφ
dtdφ
dt
dφ
dt
ψi,dψi,dψi,d
Resultantattractor
Resultantattractor
Resultantattractor
fapproach(φi) fdivert(φi) fapproach(φi) + fdivert(φi)
Figure 4.5: The two vector field contributions to the “oblique” forma-
tion dynamics and their superposition for the three different physical
situations: robots further than desired (li > li,d), closer than desired
(li < li,d) and at the desired distance (li = li,d).
4.3.2 Path velocity
Path velocity is controlled exactly in the same way as for column formation.
4.4 Robots in line
Two robots are said to be in line formation if they drive side-by-side at a desired
distance. Figure 4.6 shows two robots in a line configuration. Robotj is the leader of
Roboti which must drive such that it sees its leader perpendicularly (i.e. ψi,d = ψi + π/2
if Roboti is to the left or ψi,d = ψi−π/2 if Roboti is to the right) and simultaneously keep
a desired distance, li,d, between them.
Line formations are useful in tasks that deal with efficient coverage of environments.
Typical examples are those of outdoors exploration or reconnaissance, sweeping [Sudsang,
2002] or mowing the lawn. Examples with those shapes are not often presented in publi-
cations, probably because of the implementation difficulties, specially in terms of velocity
control.
4.4.1 Heading direction
A behavioural dynamics for the heading direction of Roboti that generates line for-
mation taking Robotj as a reference point is given by the same dynamical systems as
49
4. Two–robot formations: leader – follower
x
xli,d
Roboti(follower)
Robotj
(leader)ψi
φj
φi
Figure 4.6: Two robots in a line formation.
for “oblique” formation. The difference is that ∆ψi,d = ±π/2 (depending on the desired
location of the leader being on the right or the left of the follower) in equations 4.6 and
4.8.
4.4.2 Path velocity
Path velocity control for line formation is the hardest to achieve. This is mainly
because it does not depend only on the distance to the leader and its velocity, but it also
depends on the heading direction of the leader and the direction at which it is seen by
the follower. To solve this problem we have devised a set of heuristic rules that give the
desired value for the robot’s velocity, vi,d,line, i.e. the attractor for the velocity dynamics
(equation 4.3) is given by [Soares and Bicho, 2002]
vi,d,line = DE1 · vj(1− |sin(ψi)|) +
+ DE2 · vj(1− |cos(ψi)|) +
+ AC1 · vj(1 +Kv |sin(ψi)|) +
+ AC2 · vj(1 +Kv |cos(ψi)|) (4.10)
where DE1, DE2, AC1 and AC2 are mutually exclusive activation variables that reflect
the relative attitude of the leader regarding the follower. They are activated by testing
φj and ψi in the way depicted by figure 4.7 and by using the following boolean functions.
DE1 = AψBφ +BψCφ + Aφ (Cψ +Dψ) (4.11)
DE2 = AψCφ +DψBφ +Dφ (Bψ + Cψ) (4.12)
AC1 = Aψ (Aφ +Dφ) + Cψ (Bφ + Cφ) (4.13)
AC2 = Bψ (Aφ +Bφ) +Dψ (Cφ +Dφ) (4.14)
50
4.5. Behaviours integration
When the situation requires that the follower’s velocity is increased over the leader’s
velocity, then AC1 or AC2 are activated. Essentially, this happens when the follower is
behind the leader. Otherwise, DE1 or DE2 are activated instead.
Aψ = 1Bψ = 1
Cψ = 1 Dψ = 1
Aφ = 1
Bφ = 1
Cφ = 1
Dφ = 12π rad2π rad
0 rad0 rad
Figure 4.7: Two trigonometric circles representing the activation of
logical variables. Left: results from testing the direction at which
the follower sees the leader ψi. If 0 ≤ ψi < π/2 then Aψ = 1
and Bψ = Cψ = Dψ = 0. If π/2 ≤ ψi < π then Bψ = 1 and
Aψ = Cψ = Dψ = 0, and so on. Right: results from testing the heading
direction of the follower (φi).
4.5 Behaviours integration
The behaviours described in the previous subsections are integrated together with
an obstacle avoidance behaviour into a single vector field, both at the level of heading
direction dynamics and path velocity dynamics.
We integrate the behaviors adding each contribution to the same vector field:
φi =∑
s
fobs,s,i(φi) + γline,ifline,i(φi) + γcol,ifcol,i(φi) (4.15)
+γoblique,ifoblique,i(φi) + fstoch
where γline,i, γcol,i and γoblique,i are mutually exclusive boolean variables that determines
which configuration is desired for the formation. fobs,s,i are repulsive ”force-lets”, for robot
Ri, defined around each direction in which obstructions (either due to static obstacles or
due to the other robots) are sensed. The vector field is augmented with a stochastic
contribution, fstoch, that guarantees escape from repellers, because due to a bifurcation in
the vector field, it may happen that the attractor in which the system was sited becomes
a repeller, and simultaneously, in simulation, models perturbations.
In terms of path velocity, a similar approach is followed. The velocity dynamics vector
51
4. Two–robot formations: leader – follower
field is given by
vi = γobs,igobs,i(vi) + γline,igline,i(vi) + (4.16)
γcol,igcol,i(vi) + γoblique,igoblique,i(vi)
where each contribution defines simply a linear dynamical system for the path velocity:
vi = gk(vi) = −αk(vi − vi,d,k) (4.17)
with k = {obs, line, col, oblique}, that sets an attractor at the desired path velocity, vi,d,f ,
with a relaxation rate controlled by αk (> 0).
The desired path velocity, vi,d,f , is a function of whether or not obstacles are sensed
and by the requirement to keep a desired distance to the follower robot.
When the followers’ heading direction is inside the repulsion range created by sensed
obstructions (see figure 2.6) then the obstacle avoidance term dominates (i.e. γobs,i = 1,
γline,i = 0, γcol,i = 0 and γoblique,i = 0 ) and in this case the desired path value for the path
velocity is:
vi,d,obs = dmin/T2c,obs (4.18)
which tries to stabilize a particular time to contact, T2c,obs, with the obstacle. dmin is
the minimum distance given by the distance sensors. Reversely, when no obstructions
are sensed or the robot’s heading direction is outside the repulsive effect of obstacle
contributions then the particular desired value for the velocity depends on the desired
configuration for the formation.
To detect whether the heading direction of the robot is inside the repulsion range,
or not, created by the obstacles, we use the potential function of the obstacle avoidance
dynamics, Uobs,i, as given by the equation 2.12 (see also Bicho [2000]; Bicho and Schoner
[1997])
4.6 Results
In this section we will present a selection of important results that highlight the main
characteristics of our approach. The results are presented into two separate subsections.
One contains results from computer simulations and the other contains real implementa-
tion results (with real robots).
We will focus our attention in the stabilization ability of the controllers. Namely,
when they start out of formation and should converge to the desired shape, or when they
52
4.6. Results
are “disturbed” from their locations due to obstacles they have to avoid. We will divide
results into subsections containing initial stabilizations and stabilizations after obstacles.
Before presenting the results, we will introduce the metric we have used to analyse
the formation performance, in terms of location error.
4.6.1 Evaluating the formation performance
To tell how good a formation is evolving, we need some measure to evaluate it. We
will call it formation error. Formation error tries to capture how well a given robot is
performing regarding the formation leader. It is a measure of position error, as used
by other authors [Balch and Arkin, 1998; Ge and Fua, 2005; Schneider et al., 2005],
evaluating the distance from each follower current location to its desired one, in the
correct formation, taking the leader location and its heading direction as reference frame.
This metric does not directly measure the performance of each controller. To do so, we
would have to analyse the error between each follower and its leader, i.e. each pair, either
using position error or a mixed distance–bearing error [Fierro et al., 2002]. The problem is
that this analysis does not reflect how the team is behaving as a formation, but how each
pair is performing. Figure 4.8 illustrates what can happen. Imagine a desired pattern
formation, as in figure 4.8(a), described by the distance, d2, and bearing, θ2, robot R2
should keep to R1, and the distance, d3, and bearing, θ3, robot R3 should keep to R1. In
the situation depicted in figure 4.8(b), both R2 and R3 are at the desired distances and
bearings to the lead robot. Still, the team is not in the desired formation. In figure 4.8(c)
we can see that the team in the darker locations is not with zero formation errors, besides
distance and bearing errors being zero. That is because the leader changed its heading,
thus changing the reference desired positions for the followers (now are the lighter ones).
If these are at the that locations then the desired formations is met.
In conclusion, we argue that formation performance is more dependent on the main-
tenance of the formation shape, rather than the individual controller performance (see
figure 4.8). So we will evaluate the distance from each robot to its desired location in the
formation (taking the lead robot as reference), instead of evaluating each leader–follower
pair. In this way, we have, ∆d,i as the error of Roboti to its desired location (or the
distance from the current location to the desired one), from now on called position error,
given by the following equation:
∆d,i =√
(xi − xl + li,dcos(φl −∆ψi,d))2 + (yi − yl + li,dsin(φl −∆ψi,d))2 (4.19)
53
4. Two–robot formations: leader – follower
where xl, yl, φl are the lead robot’s x and y coordinates and heading direction, respectively.
xi, yi, φi are the x and y coordinates and heading direction, respectively, of Roboti. ∆ψi,d
is the desired difference between the heading of Roboti and the direction at which it sees
the leader (it defines the formation shape). li,d is the desired distance between Roboti and
the leader.
When all robots have null ∆d,i, then a formation is achieved. As it is almost impossible
to meet such a scenario, then, we will consider a good formation if the average ∆d,i is
below a certain threshold (we will use 10% of the desired inter–robot distance).
R1
R2 R3
l2,d l3,d
∆ψ2,d ∆ψ3,d
(a) Desired formation
R1
R2
R3l2,d
l3,d
∆ψ2,d
∆ψ3,d
(b) Out of formation
R1
R2
R3∆d,2
∆d,3
(c) Leader’s heading effect in
the formation
Figure 4.8: Performance evaluation depends on the reference used to
measure the formation error.
Nevertheless, a measure of the performance of the controller is also important. Con-
troller error is characterized by two values: distance error and orientation error. These
errors are the difference between the actual and the desired distance and orientation,
respectively, at all times. They are described by the following equations:
distance error = li − li,d (4.20)
orientation error = φi − ψi,d (4.21)
where ψi,d = ψi + ∆ψi,d.
In equation 4.19 we presented a way to calculate the position error between two robots,
taking the leader as reference. The values of the robots coordinates are necessary in that
54
4.6. Results
equation. When using our Gusmao robot we do not have the position coordinates in the
same reference frame for both leader and follower, so we can not use it. We re–written that
equation to the situation where only the distances between the robots are known, which
is the case of the Gusmao robot. Figure 4.9(a) shows two robots exactly in formation (in
that case an oblique one). Figure 4.9(b) shows the same two robots, with the follower out
of formation. The formation error is, then, ∆d,i. Using the law of cosines we can write
this error as:
∆d,i =√
l2i + l2i,d − 2lili,d cos (∆ψl) (4.22)
where li and li,d are the actual and the desired distance between the follower and the
leader, and ∆ψl = ψl + ∆ψi,d − 3π/2. ψl is the direction at which the follower appears,
in the leader’s reference frame. Please note that this value is not necessary while running
the formation. We only use it to compute the formation error, which is done after the
experiment. In the case of the next experiments, we calculated ψl from the video data.
∆ψi,d
∆ψi,d
ψl
li,d
R1
R2
(a) In formation
∆ψi,d
∆ψi,d
ψl
∆ψl
∆d,i
li,d
li
R1
R2
(b) Out of formation
Figure 4.9: Formation error between two robots. The leader is the
darker one. This error is computed in the leader’s reference frame.
In the next sections we will present a selection of simulation and real robot experiments
with only two robots. There are two scenarios. Either the robots start out of formation
and have to stabilize the formation, or they start already in formation but there are
obstacles in the way of one of the robots, such that they have to loose, or break, the
formation.
We will present as results the same kind of data for all the experiments. To better
55
4. Two–robot formations: leader – follower
understand the results, a brief explanation is mandatory. As an example, we will use the
results depicted in figure 4.10, that belong an experiment where a column formation is
stabilized. In that figure we present three different informations:
• The travelled path as snapshots mimicking an overhead camera (in figure 4.10(a)).
The robots are represented by a circle (leader) and a triangle (follower). Above each
snapshot there is the time at which it was taken. On the t=0 sec snapshot, both
circle and triangle have appended a thin small line, that represents the direction at
which they are pointing. In the case of the Gusmao robot, we will substitute this
information by real video snapshots.
• To capture the formation error (in figure 4.10(b)), we use two metrics. The first is
the position error, as given by equation 4.19. The second is the controller error, that
is characterized by two values: the distance error, as given by equation 4.20, and
the orientation error, as given by equation 4.21. Both Position error, and Distance
error are measures of distance, so they are read on the left scale. On its turn,
Orientation error is read on the right scale. Notice that the position error cannot
be computed at runtime by the follower.
• The stability of the system in terms of heading direction, is represented by the
stable fixed point evolution of the heading dynamics (in figure 4.10(c)). If the
system parameters are properly tuned, then the heading direction will always track
one of the (moving) attractors.
4.6.2 Formation stabilization
The ability of a robot to acquire a formation with another one, in finite time and
distance, independently of the initial situation of both robots is of the most importance
[Olfati-Saber and Murray, 2002a]. This feature is implicit in our controller design, i.e.,
we don’t have a separate behaviour only with stabilization purposes. The behaviour
implementing formation control (dependent on the specific formation) also takes care of
stabilizing the follower to the desired formation with the leader.
Figures 4.10 and 4.11 show the stabilization of the same column formation (where the
desired distance is 150 cm), but with different initial situations. These were performed
with our MATLAB simulator.
In the first scenario (see figure 4.10), the follower is far from the leader, and heading
in a “wrong” direction. As the leader moves, so does the follower, turning in the direction
56
4.6. Results
0 s 6.2 s 12.5 s 16.7 s 25 s
x (m)x (m)x (m)x (m)x (m)
y(m
)
y(m
)
y(m
)
y(m
)
y(m
)
8
8
8
8
8
8
8
8
8
8
77777
6
6
6
6
6
6
6
6
6
6
55555
44444
33333
22222
(a) Travelled path
Time (s)
Ori
enta
tion
(degre
es)
Current headingAttractor
00 5
180
135
90
45
10 15 20 25
(b) Stable fixed point evolution of the follower
Dis
tance
(m)
Ori
enta
tion
(degre
es)
Time (s)
Position errorDistance errorOrientation error
0
0
0
0 55
180
135
90
45
-180
-135
-90
-45
1010 1515 2020 2525
4
3
2
1
-1
-2
-3
-4
(c) Formation error
Figure 4.10: Simulation of two robots stabilizing a column formation:
example 1. In the travelled path panel, the leader is denoted by a circle
and the follower by a triangle. The robots start in a random position.
The follower is ordered to stabilize a column formation, keeping a dis-
tance of 1.5 m from the leader, which, on its turn, heads towards an
imaginary target placed 10 m in front of it. Because of the different
initial headings, the follower takes a while to stabilize the formation.
In (b) note that, although the attractors are denoted by a circle, their
superposition (resulting from drawing consecutive time instants) leads
to the dark solid line.
57
4. Two–robot formations: leader – follower
0 s 5.5 s 11 s 16.5 s 22 s
x (m)x (m)x (m)x (m)x (m)
y(m
)
y(m
)
y(m
)
y(m
)
y(m
)
88888
77777
6
6
6
6
6
6
6
6
6
6
5
5
5
5
5
5
5
5
5
5
4
4
4
4
4
4
4
4
4
4
3
3
3
3
3
3
3
3
3
3
(a) Travelled path
Time (s)
Ori
enta
tion
(degre
es)
Current headingAttractor
00 5
270
225
180
135
90
45
10 15 20
(b) Stable fixed point evolution
Dis
tance
(m)
Ori
enta
tion
(degre
es)
Time (s)
Position errorDistance errorOrientation error
0
0
0
0 22 44 66 88 1010 1212 1414 1616 1818 2020
180
135
90
45
-180
-135
-90
-45
4
3
2
1
-1
-2
-3
-4
(c) Formation error
Figure 4.11: Simulation of two robots stabilizing a column formation:
example 2. Here the follower is in front of the leader, instead of being
behind. The follower starts moving backwards, but achieves a stable
formation rather quickly. The leader moves in front, but it encounters
the follower going in reverse and changes its trajectory.
of the leader and accelerating in order to catch up. In the stable fixed point evolution (in
figure 4.10(b)) we can see the turning effect. Since the column formation behaviour just
places one attractor in the direction at which the leader is seen, the appearing attractor is
that value. At start we observed that the follower is pointing in the 0 deg heading, while
the leader is in the bearing 150 deg. In about 4 sec the dynamical system governing the
58
4.6. Results
heading direction, tracks the attractor value and stabilizes. Since this time forward, it
remains stable because the actual heading tracks the attractor very closely. The controller
stabilizes near the 8–9 secs time. This means that both distance error and orientation
error are low. Still, the follower is not in formation, as can be seen from the plot of
the position error (figure 4.10(c) thick solid line). At the time we consider the controller
stabilized, the follower is still more than 100 cm far from its desired location. Why
does this happen? How can the position error be high, while the controller error is low?
The answer is: different heading directions of the leader and the follower. While the
position error takes the heading direction of the leader as a reference, the controller error
(orientation error) uses as reference the follower’s heading. This is the case in the figure.
Although the follower has the leader in front of him, at the desired distance (so, both
distance and orientation error are low) it is not behind the leader, thus the existence of a
formation error. This hapens due to the different heading directions: leader is pointing
approximately to 90 deg, while the follower is approximately in 135 deg.
In the second experiment (see figure 4.11) the robots are at the desired distance,
but the follower is in front of the leader (when it should be behind)(see figure 4.11(a)).
During the first 5.5 sec the follower is moving backwards (the snapshot does not capture
well this action). This is why the heading direction does not relax to the attractor of its
dynamical system, and seems to have a strange behaviour (see figure 4.11(b)). When the
follower starts moving forward, it is almost in the desired formation. Until the end of the
experiment it just maintains stable the relative position.
It is interesting to see, again, when the follower is moving backwards, that though the
orientation error begins to increase, and also the distance error, while the position error
always tends to zero.
A simple line formation stabilization, also in simulation, is shown in figure 4.12. Here
the follower starts side–by–side, but it is closer than it should, and is headed to the
leader’s direction (see figure 4.12(a)). Both formation and controller errors decrease
rather quickly (see figure 4.12(c)). In about 7–8 secs the follower achieves a formation
with the leader, while its heading relaxes in nearly 2–secs (see figure 4.12(c)).
Another example of a simulation of a line formation stabilization is shown in fig-
ure 4.13. There the follower is at the desired distance, but on the wrong side, i.e., it
is to the right of the leader, when the desired formation is with it on the left (see fig-
ure 4.13(a)). The follower moves in a trajectory around the leader in order to be in the
desired location. It reaches a stable formation in about 10 secs (see figure 4.13(c). The
59
4. Two–robot formations: leader – follower
0 s 8 s 16 s 24 s 32 s
x (m)x (m)x (m)x (m)x (m)
y(m
)
y(m
)
y(m
)
y(m
)
y(m
)
8
8
8
8
8
8
8
8
8
8
77777
6
6
6
6
6
6
6
6
6
6
55555
99999
1010101010
1111111111
(a) Travelled path
Time (s)
Ori
enta
tion
(degre
es)
Current headingAttractor 1Attractor 2
00 5
270
225
180
135
90
45
10 15 20 25 30
(b) Stable fixed point evolution
Dis
tance
(cm
)
Ori
enta
tion
(degre
es)
Time (s)
Position errorDistance errorOrientation error
0
0
0
0 55
180
135
90
45
-180
-135
-90
-45
1010 1515 2020 2525 3030
2
1
-1
-2
(c) Formation error
Figure 4.12: Simulation of two robots stabilizing a line formation: ex-
ample 1. The follower (denoted by a triangle) has to stabilize a line
formation, placing itself on the left side of the leader (denoted by a cir-
cle), at the distance of 1.5 m. The difficulty of this formation is quite
apparent here: although is possible to reduce the orientation error quite
fast, the error associated with the distance takes longer to decrease.
second attractor appearing near the 2 secs time (see figure 4.13(b)) is due to the leader
be in the way of the follower and in detection range. This causes the appearance of a
second repeller and its consequent attractor.
In terms of oblique formations we had mixed results. Using the same parameter tuning
of the dynamics (both heading direction and path velocity), the quality of the results was
dependent on the value of ∆ψi,d. For high values of ∆ψi,d, with the resulting formation
60
4.6. Results
0 s 8 s 16 s 24 s 32 s
x (m)x (m)x (m)x (m)x (m)
y(m
)
y(m
)
y(m
)
y(m
)
y(m
)8
8
8
8
8
8
8
8
8
8
77777
6
6
6
6
6
6
6
6
6
6
55555
99999
1010101010
1111111111
44444
(a) Travelled path
Time (s)
Ori
enta
tion
(degre
es)
Current headingAttractor
00 5
360
315
270
225
180
135
90
45
10 15 20 25 30
(b) Stable fixed point evolution
Dis
tance
(m)
Ori
enta
tion
(degre
es)
Time (s)
Position errorDistance errorOrientation error
0
0
0
0 55
180
135
90
45
-180
-135
-90
-45
1010 1515 2020 2525 3030
4
3
2
1
-1
-2
-3
-4
(c) Formation error
Figure 4.13: Simulation of two robots stabilizing a line formation: ex-
ample 2. The purpose of the follower is the same as in the experiment
presented in figure 4.12, but with different initial situation. Here the fol-
lower starts at the desired distance but on the right side of the leader.
approaching a line configuration, the results are somehow degraded, as it takes too long
to stabilize a formation.
Two simulations illustrate what happens. In the first (see figure 4.14) the desired
formation is an oblique one, with ∆ψi,d = 10 deg, i.e., near a column formation. This
experiment results are the expected. Heading dynamics relaxes to the attractor quick
enough, and except for some short spikes, attributed to random noise, it stays stable (see
figure 4.14(b)). In less than 10 secs the formation error decreases to very low values (see
figure 4.14(c)).
61
4. Two–robot formations: leader – followerPSfrag replacemen
0 s 8 s 16 s 24 s 32 s
x (m)x (m)x (m)x (m)x (m)
y(m
)
y(m
)
y(m
)
y(m
)
y(m
)
8
8
8
8
8
8
8
8
8
8
77777
6
6
6
6
6
6
6
6
6
6
55555
99999
1010101010
1111111111
44444
(a) Travelled path
Time (s)
Ori
enta
tion
(degre
es)
Current headingAttractor
00 5
180
135
90
45
10 15 20 25 30
(b) Stable fixed point evolution
Dis
tance
(m)
Ori
enta
tion
(degre
es)
Time (s)
Position errorDistance errorOrientation error
0
0
0
0 55
180
135
90
45
-180
-135
-90
-45
1010 1515 2020 2525 3030
2
1
-1
-2
(c) Formation error
Figure 4.14: Simulation of two robots stabilizing an oblique formation:
example 1. The follower is commanded to keep an oblique formation
with the leader, maintaining a distance and a relative bearing of 10 deg.
This particular formation, with such low ∆ψi,d approach a column for-
mation, displaying rather good results.
The opposite occurs with the second experiment (see figure 4.15). There, ∆ψi,d =
80 deg, thus approaching a line formation. By just looking at the travelled path snapshots,
everything seems to go fine (see figure 4.15(a)). The problems are with the heading
dynamics that cannot stabilize to its attractor, and by looking at the formation error
(see figure 4.15(c)) we notice also that the follower could not reach the desired formation
during the 32 secs the experiment took. What are the causes? In this particular situation,
velocity pays an important role. If the leader’s velocity is decreased, indirectly also does
62
4.6. Results
the follower’s velocity. As everything slows down, the heading direction can relax to the
attractor, thus helping stabilize the formation.
0 s 8 s 16 s 24 s 32 s
x (m)x (m)x (m)x (m)x (m)
y(m
)
y(m
)
y(m
)
y(m
)
y(m
) 8
8
8
8
8
8
8
8
8
8
77777
6
6
6
6
6
6
6
6
6
6
55555
99999
1010101010
1111111111
44444
(a) Travelled path
Time (s)
Ori
enta
tion
(degre
es)
Current headingAttractor
00 5
180
135
90
45
10 15 20 25 30
(b) Stable fixed point evolution
Dis
tance
(m)
Ori
enta
tion
(degre
es)
Time (s)
Position errorDistance errorOrientation error
0
0
0
0 55
180
135
90
45
-180
-135
-90
-45
1010 1515 2020 2525 3030
2
1
-1
-2
(c) Formation error
Figure 4.15: Simulation of two robots stabilizing an oblique formation:
example 2. The purpose of the follower is the same as in the experiment
of figure 4.14. The difference is that, now, the relative bearing should
be 80 deg. With this parameter this high, the formation is more close to
the line–type. The observed results are not very good. This is mainly
due to the velocity control. If we would decrease the velocity, then the
results would improve.
Now, we will show some of the previous reported experiments, but with real Khepera
robots. Figure 4.16 shows the stabilization of a column formation. The follower starts
near the leader, but headed in an opposite direction (see figure 4.16(a)). A near formation
63
4. Two–robot formations: leader – follower
situation is achieved in about 7 secs (see figure 4.16(c)). In the first 3 secs the follower is
moving backwards (not visible in figure). This happens because it is closer than desired
to the leader and is also serves to direct the robot in the right bearing.
0 s 5 s 10.1 s 15.1 s 20.1s
x (dm)x (dm)x (dm)x (dm)x (dm)
y(d
m)
y(d
m)
y(d
m)
y(d
m)
y(d
m)
77777
66666
55555
44444
33333
22222
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0 -2-2-2-2-2 -1-1-1-1-1
(a) Travelled path
0
0
Time (s)
Ori
enta
tion
(degre
es)
Current headingAttractor
180
135
90
45
-180
-135
-90
-45
2 4 6 8 10 12 14 16 18 20
(b) Stable fixed point evolution
Dis
tance
(dm
)
Ori
enta
tion
(degre
es)
Time (s)
Position errorDistance errorOrientation error
0
0
0
0 22 44 66 88 1212 1414 1616 1818 2020
180
135
90
45
-180
-135
-90
-45
1010
4
3
2
1
-1
-2
-3
-4
(c) Formation error
Figure 4.16: Two Kheperas stabilizing a column formation: example 1.
The leader is denoted by a circle and the follower by a triangle. They
start at “random” locations and the follower is commanded to maintain
a distance of 15 cm. Because it is pointing in an opposite direction of the
leader, it first moves backwards, to reverse its heading direction. The
leader moves towards a target located at 1 m in front of it.
The second example of a column formation (in figure 4.17, has the same exact desired
configuration, but the follower starts in a different location: in this case it is far way of
the desired location. As expected the robot takes longer than in the previous example to
64
4.6. Results
stabilise.
0 s 5.4 s 10.7 s 16.1 s 21.4 s
x (dm)x (dm)x (dm)x (dm)x (dm)
y(d
m)
y(d
m)
y(d
m)
y(d
m)
y(d
m)
99999
88888
77777
66666
55555
44444
33333
22222
11111
00
00
00
00
00 -3-3-3-3-3 -2-2-2-2-2 -1-1-1-1-1
Figure 4.17: Snapshots of another example of column formation stabi-
lization, by two Kheperas. In this example, the follower is very distant
from its leader, still it is able to stabilize the formation.
An example of line stabilization is depicted in figure 4.18. The corresponding follower’s
stable fixed point evolution appears in figure 4.18(b), while position and controller error
are shown in figure 4.18(c). The robots start with the follower behind the leader, so
this example can also be understood as a formation switch from a column formation to
a line formation. Controlling a very precise formation with low steady state error, after
stabilisation, is harder in the line formation than in the other formations types. In this
particular situation, heading relaxed quite fast, and stayed with the attractor, but the
attractor was almost not moving. We consider that a formation was achieved at the 6th
second. After 2 more seconds orientation error decreased to very low values (almost zero)
and continued low until the end of the experiment.
In the first experiment with the Gusmao robot (see figure 4.19), the desired configura-
tion is a column formation at 100 cm (li,d = 100 cm and ∆ψi,d = 0 deg). The robots start
side–by–side, in a line configuration. They are inside a square area with walls. The leader
moves in front while avoiding collisions with the walls. This translates into a semi–circular
path of the leader.
Figure 4.20(a) shows the formation error, as defined by equation 4.22. When the
follower starts, it quickly reduces the formation error. Near the 18th sec the estimated
error is between 10 cm and 20 cm. At this time the leader turns to avoid a wall, thus
causing an increase in the formation error. The follower takes about 15 secs to stabilize
the formation again. The second large spike in the formation error, is, again, caused by
an abrupt alteration in the leader’s heading when avoiding a wall. At the 70th sec, the
leader is stopped. The follower does not stop completely, but moves back and forward
in the vicinity of the desired distance. As soon as the leader is restarted the follower
65
4. Two–robot formations: leader – follower
0 s 4.6 s 9.2 s 13.7 s 18.3 s
x (dm)x (dm)x (dm)x (dm)x (dm)
y(d
m)
y(d
m)
y(d
m)
y(d
m)
y(d
m)
66666
55555
44444
33333
22222
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0 -2-2-2-2-2
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
(a) Travelled path
0
0
Time (s)
Ori
enta
tion
(degre
es)
Current headingAttractor
180
135
90
45
-180
-135
-90
-45
2 4 6 8 10 12 14 16 18
(b) Stable fixed point evolution
Dis
tance
(dm
)
Ori
enta
tion
(degre
es)
Time (s)
Position errorDistance errorOrientation error
0
0
0
0 22 44 66 88 1212 1414 1616 1818
180
135
90
45
-180
-135
-90
-45
1010
4
3
2
1
-1
-2
-3
-4
(c) Formation error
Figure 4.18: Two Kheperas start in a column configuration and stabilize
a line formation, with desired distance between robots of 15 cm.
66
4.6. Results
(a) t = 0 sec: they start in line (b) t = 20 sec
(c) t = 70 sec: the leader is stopped (d) t = 100 sec: the follower starts mov-
ing backwards
(e) t = 119 sec: the follower starts mov-
ing forward
(f) t = 140 sec: again in formation
Figure 4.19: Snapshots of the column formation stabilization experiment
(parameters are ∆ψi,d = 0deg and li,d = 100 cm). The blue robot is the
leader. Arrows indicating each robot’s heading direction were added to
the snapshots.
67
4. Two–robot formations: leader – follower
also restarts (remember that there is no explicit communication between the robots).
Near the 100th sec, the leader is caught in a corner, and turns back. To accommodate
the formation, the follower starts moving backwards. 20 secs later the follower can
start moving forward and, again, stabilizes the formation. In terms of dynamical system
stability, represented in figure 4.20(b), the system is well tuned, because heading direction
is able to track closely the moving attractor of the dynamics.
Time (sec)
Dis
tance
(dm
)
00
20
20
40
40
60
60
80
80
100
100
120
120
140
160
180
200
leader
was
stoped
leader
was
rest
art
ed
follower
start
ed
movin
gbackward
s
follower
start
ed
movin
gfo
rward
(a) Position error
Degre
es
Time (sec)
φi
Attractor180
135
90
45
-180
-135
-90
-45
0
0 20 40 60 80 100 120
(b) Stable fixed point evolution
Figure 4.20: Stabilization of a column formation by Gusmao robot, in
which it must keep a distance of 1 m from its leader. The environment
is obstacle free, except for the walls.
In the second experiment, the follower has to stabilize an oblique formation, at 45 de-
grees and 100 cm from the leader (see figure 4.21). They start out of formation and the
follower is initiated first. During the first 10 seconds of the experiment, the leader remains
stopped in the same place. During this time, the follower moves in order to stabilize the
68
4.6. Results
desired configuration. When the formation leader starts to move, the formation error
increases, because the follower takes some time to catch up with the leader. Near the
20th sec, the formation error already stopped to increase, but then, the leader was faced
with a wall and had to turn, thus breaking the formation, and increasing even further the
error. The same happens at the 50th and 90th sec (approximately). The control system
shows to be stable, as depicted in figure 4.22(b). The second attractor in the dynamics
appears when the follower also detects the walls.
4.6.3 Formation stabilization with obstacles
A rectangular obstacle is set in the follower’s trajectory. Simulations using a column
formation (see figure 4.23), line formation (see figure 4.24) and oblique formation are
presented (see figure 4.25). The follower is assigned to keep 140 cm distance between each
other. In all examples, the team departs already in formation, or very near a formation.
Regarding the column formation, the obstacle is also in front of the leader’s trajectory.
As expected, the leader detects the obstacle first (near the 5th sec), and, of course, has to
go around it. The follower also moves trying to preserve the formation. This movement
causes it to avoid the obstacle without even detecting it. Besides the time during which
the leader is contouring the obstacle, overall formation error is quite low. The larger
error occurs during the first leader turn to the right, just after obstacle detection. After
it stabilizes the formation rather fast. Stability of the dynamical field governing heading
direction is good, as observed in the figure 4.23(b).
In the line formation example (see figure 4.24) the obstacle only interferes in the
follower’s path. The moment of the obstacle detection be the follower, about 4 secs after
start, can be identified as an increase in the orientation error in figure 4.24(c), and as the
first bifurcation in figure 4.24(b). This bifurcation presents the possible directions the
follower could take. It turned right, thus coming closer to the leader (note an increase in
the distance error). As soon as the obstacle is overtaken, the follower restores its place
in the formation. In terms of controller stability, the heading direction is always near its
attractor. When this moves, it also relaxes rather fast, even when bifurcations happen.
As we did in the previous scenario, we also tested the Kheperas stabilizing formations
in the presence of obstructions. Figure 4.26 shows what happened in the case of a column
formation. Figure 4.27 shows the video snapshots correspondant to the time instants
plotted in figure 4.26(a). The obstacle is 30 cm ahead of the formation leader. After
6 secs, approximately, the leader detects the obtacle and decides to contour it by its left.
69
4. Two–robot formations: leader – follower
(a) t = 0 sec: they start near a column
formation
(b) t = 10 sec: the follower stabilizes the
oblique formation
(c) t = 27 sec: the leader turns to avoid
the wall, and breaks the formation
(d) t = 45 sec: the follower tries to catch
up with the leader, but does not have
enough space
(e) t = 77 sec: near stabilizing the for-
mation
(f) t = 107 sec: almost in formation, but
the leader is again near the walls
Figure 4.21: Snapshots of the oblique formation stabilization experiment
(parameters are ∆ψi,d = 45deg and li,d = 100 cm). The blue robot is
the leader. Arrows were added to each snapshot to indicate each robot’s
heading direction.
At this moment, the team, that was in formation since the beginning of the experiment,
looses formation for a while. while the leader is overtaking the obstacle, the follower has
some difficulties in maintaining a low formation error. At the 12th second the follower
also detects the obstacle. This causes the first bifurcation in the heading dynamics, as
seen in the plot of the fixed point evolution (in figure 4.26(b). The two attractor that
appear are two distinct heading direction possibilities that the follower can choose from,
70
4.6. Results
Time (sec)
Dis
tance
(cm
)
00
20
20
40
40
60
60
80
80
100
100
120
140
160
180
200
Leader detectsa wall and turns
Leader detectsa wall and turns
Leaderstarts
follower
start
ed
movin
gbackward
s
follower
started moving forward
(a) Position error
Degre
es
Time (s)
φi
Attractor 1
Attractor 2
180
135
90
45
-180
-135
-90
-45
0
0 20 40 60 80 100
(b) Stable fixed point evolution
Figure 4.22: Stabilization of an oblique formation by Gusmao robot, in
which it must keep a distance of 1 m from its leader, and a bearing of
45 deg. During the first 10 seconds the leader remains in the same spot.
in order to avoid the obstacle. The follower decided to go by the left as well. The time
during which the follower sees the obstacle can also be identified in the plot of the stable
fixed points. In this case it is about 2 secs (the time between bifurcations – the second
one happens when the obstacle is no longer detected). From this time on, the follower is
again only trying to do the formation stabilization.
In the same scenario, the team is, know, arranged in an oblique configuration, with
∆ψi,d = π/4, as shown in figure 4.28. The leader detects the obstacle around the 7th sec-
71
4. Two–robot formations: leader – followerPSfrag replacemen
0 s 9.2 s 18.4 s 27.6 s 36.8 s
x (m)x (m)x (m)x (m)x (m)
y(m
)
y(m
)
y(m
)
y(m
)
y(m
)
8
8
8
8
8
8
8
8
8
8
77777
6
6
6
6
6
6
6
6
6
6
55555
99999
1010101010
1111111111
44444
1212121212
(a) Travelled path
Time (s)
Ori
enta
tion
(degre
es)
Current headingAttractor
0
0
180
135
90
45
-180
-135
-90
5 10 15 20 25 30 35
-45
(b) Stable fixed point evolution
Dis
tance
(m)
Ori
enta
tion
(degre
es)
Time (s)
Position errorDistance errorOrientation error
0
0
0
0
180
135
90
45
-180
-135
-90
-45
55 1010 1515 2020 2525 3030 3535
4
3
2
1
-1
-2
-3
-4
(c) Formation error
Figure 4.23: Stabilizing a column formation with obstacles. The ob-
jective is a column formation with the follower at 1.5 m of the leader.
An obstruction is in the trajectory of both, but the leader encounters it
first. Then it contours the obstacle, taking the leader in its trail.
ond. As soon as it starts to overtake the obstacle, the follower also moves, trying to
preserve the shape of the formation. With this movement, the follower does not detect
the obstacle, since it goes around it by the influence of the leader.
Now, the obstacle is moved, such that is not in the leader’s way, but just interferes in
the follower’s path. The start formation is the same as in the previous example. After
3 secs upon start, the follower is faced with the obstacle (notice the bifurcation in the
72
4.6. Results
0 s 8.6 s 17.2 s 25.7 s 34.3 s
x (m)x (m)x (m)x (m)x (m)
y(m
)
y(m
)
y(m
)
y(m
)
y(m
)
8
8
8
8
8
8
8
8
8
8
77777
6
6
6
6
6
6
6
6
6
6
55555
99999
1010101010
1111111111
1212121212
(a) Travelled path
Time (s)
Ori
enta
tion
(degre
es)
Current headingAttractor 1Attractor 2
0
0
180
135
90
45
-180
-135
-90
5 10 15 20 25 30
-45
(b) Stable fixed point evolution
Dis
tance
(m)
Ori
enta
tion
(degre
es)
Time (s)
Position errorDistance errorOrientation error
0
0
0
0
180
135
90
45
-180
-135
-90
-45
55 1010 1515 2020 2525 3030
4
3
2
1
-1
-2
-3
-4
(c) Formation error
Figure 4.24: Stabilizing a line formation with obstacles. In this experi-
ment the obstruction is only sensed by the follower. When it appears in
front of the obstacle, the two possibilities of avoiding it, i.e., overcoming
it by the left or the right sides, are evident on the stable fixed point
evolution (panel (b)), and are denoted by the appearance of a second
attractor of the dynamics.
heading dynamics near that time, in figure 4.29(b)). Although the leader is to the right,
the follower decided to go around the obstacle’s left. This resulted in it being more distant
do the leader, thus causing an increase in the path velocity, that in its turn generated the
73
4. Two–robot formations: leader – follower
0 s 7.3 s 14.6 s 22 s 29.2 s
x (m)x (m)x (m)x (m)x (m)
y(m
)
y(m
)
y(m
)
y(m
)
y(m
)
8
8
8
8
8
8
8
8
8
8
77777
6
6
6
6
6
6
6
6
6
6
55555
99999
1010101010
1111111111
1212121212
(a) Travelled path
Time (s)
Ori
enta
tion
(degre
es)
Current headingAttractor 1Attractor 2
0
0
180
135
90
45
-180
-135
-90
5 10 15 20 25
-45
(b) Stable fixed point evolution
Dis
tance
(m)
Ori
enta
tion
(degre
es)
Time (s)
Position errorDistance errorOrientation error
0
0
0
0
180
135
90
45
-180
-135
-90
-45
55 1010 1515 2020 2525
4
3
2
1
-1
-2
-3
-4
(c) Formation error
Figure 4.25: Stabilizing an oblique formation with obstacles. Again, the
obstacle is only in the trajectory of the follower. As in the example of
figure 4.24, the two possibilities of contouring the obstacle also appear
in the stable fixed point evolution.
large curved path the follower took. The team finishes almost in formation. The observed
errors are due to the different heading directions of the follower and leader.
74
4.6. Results
21.90 s 5.5 s 11 s 16.5 s
x (m)x (m)x (m)x (m)x (m)
y(m
)
y(m
)
y(m
)
y(m
)
y(m
)77777
66666
55555
44444
33333
22222
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0 -2-2-2-2-2
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
(a) Travelled path
Time (s)
Ori
enta
tion
(degre
es)
Current headingAttractor
00
180
135
90
45
225
270
315
360
2 4 6 8 10 12 14 16 18 20
(b) Stable fixed point evolution
Dis
tance
(cm
)
Ori
enta
tion
(degre
es)
time (s)
Position errorDistance errorOrientation error
0
0
0
0
180
135
90
45
-180
-135
-90
-45
22 44 66 88 1010 1212 1414 1616 1818 2020
4
3
2
1
-1
-2
-3
-4
(c) Formation error
Figure 4.26: Two Kheperas stabilize a column formation, but encounter
obstacles. The robots start out already in a perfect formation. In
panel (c) we can see the time at which the leader detected the obstacle.
It is the first situation when the position error increased, due to the
leader change of heading direction, and so changing the desired location
of the follower (in the leader reference). It happens at t = 6 s.
75
4. Two–robot formations: leader – follower
Figure 4.27: Video snapshots of the experiment reported in figure 4.26.
The lighter circles are the Kheperas. The darker circle is the obstacle.
The target aimed by the leader is represented by a small cross. The
wires connecting each robot, are just pre–experiment set–up and post–
experiment data retrieval. It also acts as a power cord.
4.7 Summary
Three control architectures were presented: column, line and oblique. These architec-
tures are used to control a follower robot, that should maintain a specific pose regarding
its leader. We have shown results of two robots stabilizing the desired formation, both
in the absence and in the presence of obstacles. These results include simulated scenar-
ios and real scenarios where two types of robots (Kheperas and Gusmao) are utilized.
The performance observed in these experiments was very good, with a few exceptions.
In simulation for instance, we ran all the tests with the same parameter configuration
(relaxation rates and velocity profiles). Although in the majority of the tests the perfor-
mance was good, in the case of the oblique configuration, we had a degradation of the
results associated with an increase in the desired angle (formation approaching a line). In
spite not shown here, a decrease in the leader’s velocity, allowing the follower to relax to
its heading direction, would improve the results. The lesson is that the same parameter
configuration is not valid for all desired configurations.
76
4.7. Summary
0 s 5.6 s 11.2 s 16.7 s 22.3 s
x (dm)x (dm)x (dm)x (dm)x (dm)
y(d
m)
y(d
m)
y(d
m)
y(d
m)
y(d
m)
77777
66666
55555
44444
33333
22222
11111
0
0
0
0
0
0
0
0
0
0 -3-3-3-3-3 -2-2-2-2-2-1
-1-1
-1-1
-1-1
-1-1
-1
(a) Travelled path
Time (s)
Ori
enta
tion
(degre
es)
Current headingAttractor
0
0
180
135
90
45
-180
-135
-90
5 10 15 20
-45
(b) Stable fixed point evolution
Dis
tance
(dm
)
Ori
enta
tion
(degre
es)
Time (s)
Position errorDistance errorOrientation error
0
0
0
0
180
135
90
45
-180
-135
-90
-45
55 1010 1515 2020
4
3
2
1
-1
-2
-3
-4
(c) Formation error
Figure 4.28: Two Kheperas depart already in oblique formation. In the
leader’s path an obstruction appears, that makes it change its trajectory.
After some transitory, the follower is able to reduce the corresponding
position and controller errors, although it does in a slow way.
77
4. Two–robot formations: leader – follower
0 s 5.4 s 10.7 s 16.1 s 21.4 s
x (m)x (m)x (m)x (m)x (m)
y(m
)
y(m
)
y(m
)
y(m
)
y(m
)
77777
66666
55555
44444
33333
22222
11111
0
0
0
0
0
0
0
0
0
0 -3-3-3-3-3 -2-2-2-2-2-1
-1-1
-1-1
-1-1
-1-1
-1
(a) Travelled path
X
Time (s)
Ori
enta
tion
(degre
es)
Current headingAttractor 1Attractor 2
2 4 6 8 10 12 14 16 18 2000
180
135
90
45
225
270
315
360
(b) Stable fixed point evolution
0
0
0−180
−135
−90
−45
0
45
90
135
180
Dis
tance
(cm
)
Ori
enta
tion
(degre
es)
Time (s)
Position errorDistance errorOrientation error
22 44 66 88 1010 1212 1414 1616 1818 2020
4
3
2
1
-1
-2
-3
-4
(c) Formation error
Figure 4.29: In this last Khepera example, the robots also start in an
oblique formation, but this time the obstruction is in the follower’s path.
The possibility of overtaking the obstacle by the left, or by the right can
be seen in the stable fixed point evolution (panel (b)), by the appearance
of two attractors of the dynamics. The follower turned left, causing an
increase in the distance to the leader, that, on its turn, also causes an
increase of the follower’s path velocity, that results in the large turn,
that can be seen on the snapshots of the travelled path.
78
Chapter 5
Formations with more than two
robots
In the previous chapter we saw how to build controllers that allow a robot, the follower,
to maintain a prescribed pose, relative to another robot, the leader. We have defined three
possible elementary controllers: column, line and oblique. Here we show how to use these
controllers to build teams with more than two robots, that are able to navigate according
to a defined formation. We will introduce our means of formation representation, to which
we called formation matrix. A large collection of examples and results is also presented.
5.1 Formation matrix
Given a desired formation shape that a number of robots should adhere, it is necessary
to translate it into a suitable internal representation that captures the desired pattern.
In principle, to characterize a formation it is enough to state the number of places in it
(with each place corresponding to one robot), how they relate to each other in terms of
distance and orientation (since we follow a leader–follower strategy, it is necessary to state
which is (are) the leader(s) to each follower), and which is the lead robot, i.e. the robot
that “drags” the formation when it moves.
Figure 5.1 shows a series of possible formations, where the darker robot was chosen as
the lead robot. The lines between the robots, try to give an idea about the shape of the
formation. We notice in that figure that almost any given formation shape can be outlined
by a polygon. We can also identify intuitively some sort of dependence of a given robot to
the others (at least some of the others) around it. For instance, in the square formation,
79
5. Formations with more than two robots
the robot immediately behind the lead robot (in the bottom right vertex of the square),
in order to ensure that it is in the right place in the formation, can “choose” either to
follow the formation as a group (i.e. taking in consideration the complete team, in an
approach similar to the virtual structure strategy [Lewis and Tan, 1997; Ren and Beard,
2002]), or focus on one (or more) of the neighbours in the team, and try to keep fixed the
relative position regarding that neighbour, i.e. using a leader–follower approach [Balch
and Arkin, 1998; Fredslund and Mataric, 2002]. It could, for instance, engage in column
formation with the formation leader, or a line formation with the robot to its right or,
even, in an oblique formation with the robot in the top–right vertex.
r1
r2
r3
r4
r5
r6
(a) Square forma-
tion
r2
r3
r4
r5
r6
(b) Pentagon forma-
tion
r1
r2
r3
r4
r5
r6
(c) Hexagon forma-
tion
(d) Echelon for-
mation
r1
r2
r3
r4
r5
r6
(e) V-shape formation
r1
r2
r4
r4
r4
(f) Platoon formation
Figure 5.1: Examples of possible formations with more than two robots.
The lead robot is represented by the darker circle
In order to represent the information above, the complete team specification is de-
scribed by means of a formation matrix [Bicho and Monteiro, 2003; Monteiro et al., 2004]
80
5.1. Formation matrix
as follows (the problem of generating this matrix is subject of section 5.2)
F =
L1 ∆ψ1,d l1,d
L2 ∆ψ2,d l2,d
... ... ...
LN ∆ψN,d lN,d
(5.1)
This matrix codes the shape of the formation in the following way: Row i (= 1, 2, 3, ..., N)
defines the pose of robot Ri in the formation. It is a vector Fi =(
Li ∆ψi,d li,d)
, where
Li (Li 6= Ri) identifies the leader robot for robot Ri, ∆ψi,d is the desired relative angle
between robot Ri and its leader and li,d the desired distance to its leader.
When robot Ri is the lead robot the parameters for its dynamics are Li = 0, ∆ψi,d = 0
and li,d defines the distance at which it must stop from the target location.
For example, one formation matrix that determines the shape of a hexagon formation
is (see also figure 5.2):
Fhexagon =
0 0 150
1 π/3 150
1 −π/3 150
2 0 150
4 −π/2 150
1 0 150
. (5.2)
In Fhexagon (5.2), we assume that Robot R1 is the lead robot (i.e. moves toward the
target location), and that the desired distance between the robots is 150 cm. Robot R2
follows R1 on the left side and maintaining an oblique formation (L2 = 1, ∆ψ2,d = π/3,
l2,d = 150). Robot R3 follows R1 on the right side and maintaining an oblique formation
(L3 = 1, ∆ψ3,d = −π/3, l3,d = 150). Robot R4 follows robot R2 in a column formation
(L4 = 2, ∆ψ4,d = 0, l4,d = 150). Robot R5 follows robot R4 maintaining a line formation
on the right (L5 = 4, ∆ψ2,d = −π/2, l5,d = 150). Robot R6 follows R1 in column formation
(L6 = 1, ∆ψ6,d = 0, l6,d = 150). Figure 5.2 shows a representation of the referred hexagon
pattern.
It is important to note that there are many formation matrices that generate the same
geometric configuration for the formation. By proper manipulation of the F matrix, i.e.
by changing its values, one can drive formation switches and cope with robot failure.
81
5. Formations with more than two robots
R1
R2
R3
R4 R5
R6
π/3
150
π/2
150
−π/3
296
Figure 5.2: Hexagon formation as determined by Fhexagon (equa-
tion 5.2).
5.2 Generation of the formation matrix
The shape of the formation and the leader–follower hierarchy for the complete team
are both described by the formation matrix. When executing a mission all the robots
in the team must have knowledge of this matrix. This is mainly for backup reasons in
case of robot failure, because when actually running the mission, each robot just needs
to know about its leader.
The formation matrix is generated in three distinct situations: i) prior to mission
start, right after deploy; ii) by instruction of the lead robot, which as been ordered (by an
higher level entity) a formation shape switch; iii) or when one of the robots is found to
be missing.
In all situations, the generation of the formation matrix involves two steps: first the
allocation of robots to places in the formation and, after, the definition of leader–follower
pairs. To solve the first problem in a decentralized way, usually, there are two options:
either by direct robot negotiation [Brimble and Press, 2003; Lemay et al., 2004] or by robot
identification based assignment [Fredslund and Mataric, 2002]. The advantage of the first
option is that, depending on the negotiation effort and the allocation criteria, it can ensure
optimal assignments. It has the drawback of requiring explicit communication and also
with an increase in the number of agents the negotiation task can become overwhelming.
By allocating robots to places based on robot ID, one overcomes the problem of the
82
5.2. Generation of the formation matrix
negotiation effort, because it is a quasi silent operation (explicit communication is only
necessary to instruct the robots of the desired formation). The drawback is the rigidity of
the assignment that does not take into account the actual location of the robots. Given
some random initial configuration, assigning robots to places with this method can lead
to highly suboptimal trajectories.
Within this work, we will employ a method of allocation by negotiation, in an auction
like process. We assume that the lead robot is assigned a priori and is the only one aware
of the destination target. The lead robot is also the one with initial knowledge of the
desired formation, that is mapped into a shape matrix, S. This shape matrix can be
communicated by a higher level entity, or constructed by the lead robot given some task
constraints. It assumes the following form:
S =
0 0
l2 ψ2
... ...
lN ψN
(5.3)
where row j, with j = 2, 3, ...N , describes the place Pj in the formation. lj and ψj are
the distance and orientation of place Pj taking the lead robot as reference. Since each row
in the matrix relates to one place in the formation, thus it should have as many rows as
there are places to fill in the formation, i.e. N . Place P1 belongs to the lead robot and,
as such, l1 = 0 and ψ1 = 0. Another rule to build the shape matrix is that places with
lower IDs should be closer to the leader, in terms of vertical distance, than places with
higher IDs (where vertical distance is lj cosψj). We enforce this rule because it helps to
speed up the algorithm of controller assignment. Figure 5.2 shows an example of a shape
matrix together with its representation. An hexagon was chosen as example.
The place allocation algorithm is based on the distributed computation of a cost
function and subsequent negotiation with the team mates. Because each robot needs to
know the shape matrix, prior to executing the algorithm, the lead robot broadcasts it to
all the robots. After, each robot, Ri, computes the distance separating it from each place,
Pj, in the formation, according to the following equation:
Di,j =√
l2j + l2i,l − 2ljdi,j cos (ψj − φl + π/2) (5.4)
where lj and ψj are directly extracted from the row j of the shape matrix S, li,l is the
actual distance to the lead robot, and φl is the lead robot’s heading, in the follower’s
reference frame. If the lead robot’s heading is unknown to the follower, then it can use its
83
5. Formations with more than two robots
Shex =
0 0
l2 ψ2
l3 ψ3
l4 ψ4
l5 ψ5
l6 ψ6
P1
P2 P3
P4 P5
P6
ψ2 ψ3
ψ4 ψ5
l2 l3
l4l5
l6
Figure 5.3: Example of a shape matrix for an hexagon formation. The
place of index i is described by row i. The first place always belong to
the leader.
own heading direction instead. This is a reasonable assumption because, while executing a
mission, the robots move in the same direction with approximate headings. The problem
lies at mission start, right after deploy, when the robots can have completely random
heading directions.
At this moment we have a distributed matrix of distances between robots and places,
D, with each row located in different robots. Based on this matrix, our purpose is to
assign to each place the robot that it is closest to it. Here two alternatives are possible:
i) either all robots communicate their entry in matrix D to one robot that is responsible
for the assignment (the lead robot for instance); in this case only one robot executes the
allocation algorithm for all the robots and at the end it communicates results to the team;
ii) or the whole team engages in an auction biding for places in the formation.
Algorithm 5.1 shows the procedure for centralized assignment. This algorithm departs
from the complete D matrix and searches for the robot closest to each place. Lines 1 and 2
of the algorithm serve to remove place P1 and robot R1 of possible assignment (we remove
robots and places by increasing the corresponding cost to infinity), as these are already
allocated (are the place leader and the lead robot). Then, a cycle to the remaining places
is initiated. At each iteration, from the set of the not yet allocated robots and places,
we find which is the pair that is closest to one another (line 4). That pair, is the robot
identified by the row index corresponding to the minimum value in the D, while the place
84
5.2. Generation of the formation matrix
correspond to the column index of the same value. The selected robot is allocated to the
selected place (line 7), and the pair is removed from the list of unassigned robots and
places. The result is an allocation matrix, A, with as many lines as there are robots,
and with as many columns as there are places. If robot Ri is allocated to place Pj, then,
Ai,j = 1, while the other elements in the same row and column all equal 0. The allocation
process is terminated by the broadcast of A to all other robots in the team.
Algorithm 5.1 Allocation of robots to places in the formation – centralized1: Drow#1 ←∞2: Dcol#1 ←∞3: for k = 2 to N do
4: i, j ← index(min(D))
5: Drow#i ←∞6: Dcol#j ←∞7: Ai,j ← 1
8: end for
When, instead of a running the algorithm on a single robot, the choice is to have an
auction by all the team, each agent follows the procedure in algorithm 5.2. This algorithm
can be seen as a distributed implementation of the previous one. At each iteration, each
robot selects the place to which is closest, and broadcasts that information to the team
mates. The message is composed by the emitter robot ID, place ID and distance to that
place. At the same time it also listens to the other robots communicated information.
After all robots have informed the team mates, the robot with lower distance to place
assigns itself to that place, informs the team mates, as confirmation, and steps out of the
auction process. The remaining robots remove that place from their list (by assigning an
infinite distance to it), proceed the auction until there are no more places to assign.
For the same distance matrix, D, and shape matrix, S, the generated allocation is
always the same, and is independent of the used algorithm. If inter–robot communication
it to be minimized, then algorithm 5.1 should be used. Else, if agent autonomy is a
requirement, one should go for algorithm 5.2.
Figure 5.4 shows examples of the allocation results when using the previous algorithms
in an hexagon shape. The initial pose of each robot is set randomly. We ran the algorithm
twice: first by assuming that the leader’s heading is the same as the one of the robot
computing the cost, and secondly, by assuming that each robot is able to determine the
85
5. Formations with more than two robots
Algorithm 5.2 Allocation of robots to places in the formation – decentralized
1: j ← index(min(Di))
2: SEND (i,j,Di,j)
3: while not received all messages from all robots do
4: Di,j ←RECEIVE MESSAGE
5: end while
6: if min(D)=Di,j then
7: Ai,j ← 1
8: SEND (i,j,Di,j) {broadcast confirmation of self assignment}9: remove itself from negotiation
10: else
11: Dk,m=RECEIVE MESSAGE {receive confirmation of assignment by other robot}12: Ak,m ← 1 {update assignment table}13: end if
exact leader’s heading direction. As expected the results when the lead robot’s heading is
known are much better, as the overall number of trajectory crossings decreases, and the
overall distance to traverse also decreases, thus inducing faster stabilization times.
Depending on the particular robot capabilities it might also be possible to infer the
lead robot’s heading using some kind of observers monitoring the lead robot’s trajectory,
for instance). In this case, the results will be as good as the more accurate the information
about the lead robot’s heading. The problem lies at mission start, after deploy, when the
robots, probably, have no absolute knowledge about the lead robot’s pose, except the
distance and bearing to it. In this case any allocation is better than none, and we use
each robot’s heading as being the lead robot’s heading direction. More specifically, each
robot computes its entry to matrix D by using, possibly, different values for the lead robot
heading direction (i.e. robot R2 uses its own heading, φ2, while robot R3 also uses its own
heading, φ3, etc.).
After the process of allocating robots to places, it is now time for each robot to select
which will be its leader. At this moment, each robot possesses information about the
formation shape and also knows which robot is in each place. The procedure each robot
follows to select its leader, is based on choosing the leader from the set of eligible leaders.
The set of eligible leaders is the set of robots, to the front and sides of the follower, but
distant from it no more than daloc. This distance should be such to enable the set to
86
5.2. Generation of the formation matrix
!htpb
R1
R2
R3
R4
R5
R6
P2 P3
P4 P5
P6
(a) Example 1: unknown leader’s
heading
R1
R2
R3
R4
R5
R6
P2P3
P4
P5
P6
(b) Example 1: known leader’s
heading
R1
R2
R3
R4
R5
R6
P2 P3
P4 P5
P6
(c) Example 2: unknown
leader’s heading
R1
R2
R3
R4
R5
R6
P2 P3
P4 P5
P6
(d) Example 2: known
leader’s heading
R1
R2
R3
R4R5
R6
P2P3
P4P5
P6
(e) Example 3: unknown leader’s
heading
R1
R2
R3
R4R5
R6
P2P3
P4
P5
P6
(f) Example 3: known leader’s
heading
Figure 5.4: Examples of robot allocations. The desired shape is an
hexagon. Three initial (random) situations are presented. On the left
the cost, i.e. the distance from robot to each place is computed without
knowing the leader’s heading (assuming the leader’s heading as equal
to that robot). On the right, the result when the leader’s heading is
known.
87
5. Formations with more than two robots
contain at least one robot, and the larger it becomes it enables the followers to follow
robots that are several levels above them. We limited this value to enforce the followers
to choose a leader immediately at the above level. The selected leader is the one that
causes the follower to follow it in a column formation, or closest to it. Algorithm 5.3
implements the described procedure.
As example, we show in figure 5.5 the assignment result for a formation with an
hexagon shape. Independently of which robot is at each place, the assignment, in terms
of places, will always be the same.
P1
P2 P3
P4P5
P6
Figure 5.5: The result of the controller assignment, following the pro-
cedure described in algorithm 5.3, for an hexagon formation. In this
type of shape, the robots in places P2 and P3 are always assigned to
follow the robot in place P1 (the lead robot). The robots in places P4
and P5 are assigned to follow in column the robots in places P2 and P3,
respectively. Finally, the robot in place P6 follows the robot in place P4.
The outcome of both these algorithms – allocation of robots to places (either central-
ized or distributed) and leader’s choice – is a complete formation matrix as described in
section 5.1.
5.3 Formation robustness
To guarantee robustness against robot failure, every robot is required to emit an alive
signal (it can be a visual cue or a radio signal). Whenever a follower fails to receive its
leader signal, for a predetermined amount of time, it sends an alarm message to the team
88
5.3. Formation robustness
Algorithm 5.3 Algorithm for robot Ri to choose its leader.
1: j ←INDEX(Arow#i = 1)
2: if Ri at top level then
3: m← j − 1
4: k ←INDEX(Acol#m = 1)
5: dx← (Sj,1 sin(Sj,2)− Sm,1 sin(Sm,2))
6: dy ← (Sj,1 cos(Sj,2)− Sm,1 cos(Sm,2))
7: Fi,1 ← k
8: Fi,2 ← arctan dydx
9: Fi,3 ←√dx2 + dy2
10: else
11: m← j − 1
12: while m ≥ 1 do
13: dx← (Sj,1 sin(Sj,2)− Sm,1 sin(Sm,2))
14: dy ← (Sj,1 cos(Sj,2)− Sm,1 cos(Sm,2))
15: l ← 1
16: if (√dx2 + dy2 − daloc) < 0 then
17: k ←INDEX(Acol#m = 1)
18: leader setl,1 ← k
19: leader setl,2 ← arctan dydx
20: leader setl,3 ←√dx2 + dy2
21: end if
22: end while
23: k ←INDEX(min(leader setcol#2))
24: Fi,1 ← leader setk,1
25: Fi,2 ← leader setk,2
26: Fi,3 ← leader setk,3
27: end if
89
5. Formations with more than two robots
requiring a formation update. Since initially, the number of places in the formation equal
the number of robots in the team, the failure of one robot causes one of the places to
be unattended. Depending on the mission instructions, the lead robot has three options:
either continues the present shape, but with that place empty, or commands a formation
shape change, or aborts the mission.
In the first scenario, only the robots that were following the failed robot need to modify
their controller specification, by selecting another leader, i.e. they rerun algorithm 5.3
to update their entry in the formation matrix. The remaining robots are left out of this
process.
If the choice is to change the shape of the formation, then a complete new formation
matrix has to be generated. This choice requires that the lead robot is able to produce
a new formation shape, i.e., a new shape matrix. To produce this new shape matrix, the
lead robot has to be supplied with sufficient knowledge at mission start. This knowledge
comes in the form of contingency plans. These contingency plans can assume the form of
different shape matrices (the follower can be informed of three different shape matrices
S0, the original, S1, when one robot is missing, and S2 when two robots are missing, for
instance), or the form of directives on how to construct a new shape matrix. Examples of
directives can be, for instance: “distribute the places evenly along a circumference with
radius r”, or “produce a column where the distance between consecutive place is equal”,
or even “in case of failure of n robots, abort mission and return home”. Another good
example of formation directives, in our understanding, is the concept of queues as defined
by Ge and Fua [2005].
In the scope of this thesis we assumed that the lead robot always had a new formation
shape, when one robot failed. The exact specification of a shape given a directive, as
exposed above, was not treated in this thesis.
The failure of one robot is conveniently treated by the described method in the previous
paragraphs, unless the failing robot is the lead robot. In this case, a new lead robot has
to be assigned and a new formation matrix has to be generated. Since every place is
identified by an ID, and the place occupied by the lead robot, P1, always is the first,
in case of its failure the new team leader will be the robot in place P2. This new lead
robot needs to be informed about the mission specifications, in terms of target destination
and contingency plans. Since the previous lead robot is dead, it is not able to share the
required information with the new one. To overcome this problem, and to cope with the
possibility of failure of more than one lead robot, the complete mission specification should
90
5.4. Results
be provided to all robots in the team as a backup strategy. During mission execution,
only the lead robot makes use of it.
5.4 Results
Here we will present, analyse and discuss a series of results that enhance the frame-
work capabilities, namely the ones introduced in this chapter. Again, to document each
experiment we will present X-Y plot snapshots of the team path, formation error and, in
some situations, the stable fixed point evolution. Concerning the performance evaluation,
here we will only show the position error per robot in the team and an average of the
position errors of all robots (in each figure legend appears denoted by formation), which
we will call formation error, according to the following equation:
formation error =1
N − 1
∑
∆d,i (5.5)
where ∆d,i, is the position error of robot Ri, taking the lead robot as a reference frame,
and using equation 4.19.
Besides results from simulation experiments, we will also show experiments with Khep-
era robots. Since we only had three units, only limited testing were possible. In these
experiments one external computer was used to centralize the information regarding the
formation, making the interface with an user more easy. Its purpose was to allow a
user to input the desired geometric formation, construct the corresponding formation ma-
trix, and then communicate to each robot its desired pose within the formation. While
actually running the experiments there was no intervention from this computer, as the
Kheperas fully implement the control architectures. When the starting order is given, the
team leader starts, then, to broadcast to its followers its actual position (obtained from
a dead–reckoning process), heading and velocity. Due to radio communication problems,
in these experiments we were restricted to have the same leader to all the robots, which
is the lead robot.
5.4.1 Formation stabilization
One of the fundamental features that a team of robots should exhibit is the ability to
stabilize a given formation. This stabilization should occur whenever the robots are out
of formation (due to obstacle avoidance, starting-up out of formation, robot failure, etc.)
and it can be explicitly triggered, or implicitly integrated in the control architecture. In
91
5. Formations with more than two robots
our framework stabilization is implicit and one important characteristic. As a preview,
figure 5.6 shows some of the conducted simulations in terms of formation stabilization.
Different initial situations and different target formations are presented. In all the team is
able to successfully stabilize the desired formation. Also, in figure 5.7, the desired target
formation is the same in all experiments, a column, except that the initial situations are
different in all cases. Nevertheless, the team is able to stabilize the formation, although
the amount of time necessary is not always the same.
The same geometric configuration can be achieved by different inter-robot relations,
represented by different formation matrices. As a case study we will focus on a hexagon
formation. Both matrices Fhex1 and Fhex2 specify the same pattern – an hexagon
(Fhexagon in 5.2 is another example). In Fhex1 each robot follows the one immediately
in front of it (or one that is near). In Fhex2 all the robots follow the same robot, which
is also the team leader. These formation matrices were not automatically generated. In-
stead they were hand–coded to demonstrate how the specification of the formation matrix
affects the performance of the team.
Fhex1 =
0 0 150
1 π/4 150
1 −π/4 150
2 0 150
3 0 150
5 π/4 150
(5.6)
Fhex2 =
0 0 150
1 π/4 150
1 −π/4 150
1 π/8 277
1 −π/8 277
1 0 362
(5.7)
Figure 5.8 and figure 5.9 show the simulations of both situations. The analysis of each
simulation is reported in figure 5.10 for Fhex1 and in figure 5.11 for Fhex2, respectively.
Although specifying the same geometric pattern, the path travelled by each robot can
be different depending on the leader-follower relations, i.e. on the formation matrices.
Finding out which formation matrix is best suited for each task is not trivial, and is
out of the scope of this thesis. The purpose is to highlight the importance of a proper
92
5.4. Results
R1
R2
R3
R4
x(m
)
y (m)
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
13
Fcolumn =
0 0 100
1 0 140
2 0 140
3 0 140
(a) Column
R1
R2
R3
R4
x(m
)
y (m)
3
3
4
4
5
5
6
6
7
7
8
8
9
10
1
10
2
2
Fline =
0 0 100
1 π/2 120
2 π/2 120
1 −π/2 120
(b) Line
R1
R2
R3
R4
x(m
)
y (m)
3
3
4
4
5
5
6
6
7
7
8
8
9
10
1
1
2
20
Fsquare =
0 0 100
1 π/2 140
3 π/2 140
1 0 140
(c) Square
R1
R2
R3
R4
x(m
)
y (m)
3
3
4
4
5
5
6
6
7
7
8
8
9
10
1
1
2
20
Fline =
0 0 100
1 π/2 120
2 π/2 120
1 −π/2 120
(d) Line with obstacles
Figure 5.6: Examples of multi–robot teams stabilizing formations. The
lead robot, depicted by a circle, heads to its target (cross mark). The
robots in the team are placed initially in random locations and, as they
start to move, stabilize the desired formation.
93
5. Formations with more than two robots
R1
R2
R3
R4
x(m
)
y (m)
00
2
2
4
4
6
6
8
8
10
10
12
12
14R
1R
2R
3R
4
x(m
)
y (m)
00
2
2
4
4
6
6
8
8
10
10
12
12
14
R1
R2
R3
R4
x(m
)
y (m)
00
2
2
4
4
6
6
8
8
10
10
12
12
14
Figure 5.7: Other initial situations, but stabilizing the formation in
figure 5.6(a).
0 s 30 s 60 s 90 s
x (m)x (m)x (m)x (m)
y(m
)
y(m
)
y(m
)
y(m
)
18181818
16161616
14141414
12
12
12
12
12
12
12
12
10
10
10
10
10
10
10
10
8
8
8
8
8
8
8
8
6
6
6
6
6
6
6
6
4444
2222
R1
R2
R3
R4
R5
R6
Figure 5.8: Six robots performing an hexagon, according to the hierar-
chical relations defined in Fhex1.
94
5.4. Results
0 s 30 s 60 s 90 s
x (m)x (m)x (m)x (m)
y(m
)
y(m
)
y(m
)
y(m
)
18181818
16161616
14141414
12
12
12
12
12
12
12
12
10
10
10
10
10
10
10
10
8
8
8
8
8
8
8
8
6
6
6
6
6
6
6
6
4444
2222
R1
R2
R3
R4
R5
R6
Figure 5.9: Six robots performing an hexagon, according to the hierar-
chical relations defined in Fhex2
R2R3R4R5R6
Formation
Position error
Dis
tance
(cm
)
Time (s)
00
100
200
300
400
500
600
10 20 30 40 50 60 70 80 90
Figure 5.10: Position error for each robot in the hexagon formation
defined by Fhex1. Formation is the average position error of all robots,
i.e. is the formation error.
95
5. Formations with more than two robotsPSfrag replacemen
R2R3R4R5R6
Formation
Position error
Dis
tance
(cm
)
Time (s)
00
100
200
300
400
500
600
10 20 30 40 50 60 70 80 90
Figure 5.11: Position error for each robot in the hexagon formation
defined by Fhex2.
Time (s)
Degre
es
φi
Attractor 1
Attractor 2
0
0
135
45
-45
-9010 20 30 40 50 60 70 80
90
90
Figure 5.12: Stable fixed point evolution of robot R6, performing the
formation defined in FHex1. Attractor 1 and Attractor 2 are the stable
fixed points. φi is the current heading direction.
96
5.4. Results
matrix design has in the overall formation performance. Using the first matrix, Fhex1, and
analysing the X-Y plot in figure 5.8, it looks like the formation approaches an hexagon
shape faster than when using Fhex2 (compare the evolution of robot R6, which is the one
that closes the formation). It is possible to confirm this impression by comparing the
respective formation errors, in figures 5.10 and 5.11. The average formation error is lower
in the first situation than in the second. A closer look, specifically to each robot error,
reveals that robots that are more distant to their leader’s tend to have higher (and lasting)
formation error. Figure 5.12 shows the performance of robot R6 in terms of controller
stability. It is possible to see that the system is well tuned, because it is able to follow the
attractor evolution very closely (φi, the heading direction, is always near Attractor 1 ).
When a bifurcation occurs (in this case, the appearance of a second attractor, when path
obstructions are sensed) it is also fast in the decision making process of which attractor
to follow.
In an experiment with a team of three Kheperas, the team starts in a line formation and
should change its shape stabilizing a column formation. Figure 5.13 depicts the trajectory
of the team, while figure 5.14 presents the formation error in the same experiment.
R1R2R3
0 s 6.7 s 13.4 s 20.1 s
y(c
m)
y(c
m)
y(c
m)
y(c
m)
x (cm)x (cm)x (cm)x (cm)
0
0
0
0
0
0
0
0
10
10
10
10
10
10
10
10
20
20
20
20
20
20
20
20
30303030
40404040
50505050
60606060
70707070
80808080
Figure 5.13: The team of three Kheperas switches from a line to a column
formation.
The team is able to reduce the formation error, and thus stabilize a formation, in
about 14 sec.
97
5. Formations with more than two robots
RR
3
Formation
Position error
Dis
tance
(cm
)
Time (s)
00
10
20
30
40
15
25
35
5
2
2 4 6 8 10 12 14 16 18 20 22
Figure 5.14: Formation error of the team of Khperas stabilizing a column
formation.
5.4.2 Static and dynamic obstacles
Here we will present an experiment where two teams, of three robots each, travel in
opposite directions and in collision route. Near halfway the destination the two formations
will encounter and avoid each other in order to proceed to their targets. A plot of the
travelled path of each robot in the experiment is shown in figure 5.15. The formation
matrix of both teams is
Ftriangle =
0 0 20
1 π/4 150
1 −π/4 150
(5.8)
This example illustrates the ability to avoid dynamic obstacles, as one team serves as
obstacles to the other.
In figure 5.16 the results of an analysis of the formation error evolution is plotted.
In figure 5.17 a plot of the evolution of the attractors over time is shown. This plot
allows a stability analysis of the dynamical systems. In these figures it is possible to see
that the robots are not in formation at start (the distance error is not zero). Formation
stabilization starts right at the beginning. At t ≈ 12s team leaders become in each other
range of detection and start an avoidance maneuver (you can see this by an increase in the
followers (robot 2) distance error and by a change in the moving attractor in figure 5.17).
At t ≈ 16 s the followers meet and have to avoid other team’s followers. This is more
dramatic for robots R2 and R6, that are the ones that get a larger error. It is also,
clearly seen on figure 5.17, in the case of robot R2, that due to one obstacle (robot R5) a
98
5.4. Results
0 s 10 s 20 s 30 s
y(m
)
y(m
)
y(m
)
y(m
)
x (m)x (m)x (m)x (m)
16161616
14141414
12
12
12
12
12
12
12
12
10
10
10
10
10
10
10
10
8
8
8
8
8
8
8
8
6666
4444
2222
R1
R2
R3
R4
R5
R6
Figure 5.15: A simulation with two formations heading in opposite di-
rections and in collision route. Team A is composed by robots R1, R2
and R3. R1 is the lead robot and moves from top to bottom, toward the
target (× sign at the bottom). The trajectory of each robot is depicted
by the thin solid line. Team B is composed by robots R4, R5 and R6.
R4 is the lead robot and moves from bottom to top, toward the target
(+ sign at the top). The trajectory of each robot is depicted by the thin
dotted line.
99
5. Formations with more than two robots
bifurcation in the dynamics appears. In this case, the number of attractors in the system
changed to two. Later, the obstacles are overtaken and the formation is stabilized again.
00
R2
R3
00
R5
R6
FormationFormation
Position errorPosition error
Dis
tance
(cm
)
Dis
tance
(cm
)
Time (s)Time (s)
20
20
20
20
4040
6060
8080
100100
120120
140140
160160
180180
200200
1010 3030
Figure 5.16: Formation error analysis for the simulation in figure 5.15.
The two solid lines are for the two robots in Team A, while the dotted
lines are for Team B.
Degre
es
Time (s)
φi
Attractor 1
Attractor 2
0
0
90
45
-45
10 20 3015 255
Figure 5.17: Evolution of the stable fixed points (attractors) over time.
It is possible to see that the system is always near an attractor and
when bifurcations occur, it gets stable again (near one attractor) rather
quickly.
Let us now turn to one implementation with a team of three Kheperas. Figure 5.18
100
5.4. Results
shows a sequence of video snapshots of the team driving in a line formation and avoiding
an obstacle. The formation matrix is given by
Fline =
0 0 20
1 π/2 150
1 −π/2 150
(5.9)
Figure 5.18: Video snapshots of three Kheperas moving in line forma-
tion. Up left: shows the robots starting position. The lead robot is robot
R1. Up right: at t = 4s the robots approach the obstacles. Robot R3
does not have space to pass without leaving formation, thus will have to
avoid the obstacle. Down left: at t = 10s, after overtaking the obstacle
the robot R3 starts to rejoin the formation. Down right: at t = 18s the
robots are again almost in formation.
In figure 5.19 it can be seen the travelled path of the Kheperas. In figure 5.20 the
results of an analysis of the formation evolution are plotted. Here only robot R3 senses the
obstacle. This example illustrates the ability of the control architecture to integrate other
behaviours besides formation control (in this case, obstacle avoidance). Regarding the
formation control behaviour, it exhibits its implicit capacity to split and join formations.
Split formation starts when obstacles are detected. At that time another vector field has
to be accounted for: the one regarding obstacle avoidance. This vector field places an
unstable fixed point at the direction where the obstacle lies, causing the robot to go around
the obstacle. When the obstacle is overtaken, the resultant vector field is only governed
by the formation behaviour, causing the formation to stabilize to the one specified by the
formation matrix, i.e. a formation join is performed.
101
5. Formations with more than two robots
Figure 5.21 shows the attractor evolution of robot R3. For the same reasons of the pre-
vious experiment, the robot dynamical system takes too long to stabilize to the attractor,
although it is able to successfully maneuver around the box.
0 s 7 s 12.9 s 20.8 s
-10-10-10-10
10
10
10
10
10
10
10
10
20
20
20
20
20
20
20
20
0
0
0
0
0
0
0
0
30303030
40404040
50505050
60606060
70707070
80808080
90909090
R1R2R3
y(c
m)
y(c
m)
y(c
m)
y(c
m)
x (cm)x (cm)x (cm)x (cm)
Figure 5.19: The path travelled by the three Kheperas navigating
in a line formation, as depicted in figure 5.18. Obstacles (the two
black boxes) are located, roughly, at (x, y) = (−100, 300) and (x, y) =
(150, 300), such that robot R3 has to maneuver around in order to avoid
it. As soon as the obstacle is overtaken, it tries again to stabilize the
formation.
R2
R3
Formation
Position error
Dis
tance
(mm
)
Time (s)
00
40
50
60
10
10
20
20
30
15 255
Figure 5.20: Error analysis for the experiment with three Kheperas sta-
bilizing a line formation, with obstacles.
102
5.4. Results
Ori
enta
tion
(degre
es)
Time (s)
φi
Attractor
00
45
90
135
180
225
270
2 4 6 8 10 12 14 16 18 20 22
Figure 5.21: Evolution of the stable fixed points of robot R3. At all
times, only one attractor exists.
5.4.3 Navigating in a cluttered environment – implicit split and
join
The ability to maintain a formation when crossing an environment with a high density
of obstacles, is a very important one in a framework targeted to team translation, or
exploration, tasks. These obstacles can be thought as trees, rocks, or even people, or at
a different scale, buildings in city blocks, that appear in the way of the team of robots.
Figure 5.22 shows one of those environments. There, a team of robots, organized according
to formation matrix Fhex1 (in equation 5.6), starts on the left and aims to travel to the
target on the right (marked with an X). In their way they find a collection of obstacles
(blue rectangles and squares) which they have to traverse. When obstacles are sensed the
robots are allowed to step out of formation in order to negotiate that obstruction. As
soon as the obstacle does not obstruct the robot, they engage the formation again.
What is to emphasize here is the ability to maneuver in these environments without an
explicit coordination scheme controlling these formation changes. This smooth behaviour
switch is one of the key–benefits of the attractor dynamics approach, that on the present
framework can be understood as an implicit switch–and–join of formations. It is possible
to confirm the good performance of the formation in figure 5.23. There, one can see an
usually low error, except for three large spikes that correspond to the traversal of the three
rightmost obstacle barriers. As soon as each obstacle barrier is overtaken the formation
stabilizes again and the error decreases to acceptable values.
103
5. Formations with more than two robots
0 s 33.5 s 66.5 s 100 s
x (m)x (m)x (m)x (m)
y(m
)
y(m
)
y(m
)
y(m
)
18181818
16161616
14141414
12
12
12
12
12
12
12
12
10
10
10
10
10
10
10
10
8888
6666
4444
2222
R1
R2
R3
R4
R5
R6
Figure 5.22: Six robots navigating in a cluttered environment, while
trying to preserve an hexagon formation. The team starts on the left
and heads to the target on the right. The obstacles are organized in
four barriers (blue rectangles). While negotiating the obstructions the
team looses formation, but it stabilizes it as soon as the obstacles are
overtaken.
104
5.4. Results
R2
R3
R4
R5
R6
Formation
Position error
Dis
tance
(cm
)
Time (s)
00
150
200
250
300
350
400
450
500
10 20 30 40
50
50 60 70 80 90
100
100
Figure 5.23: Formation error analysis for six robots navigating in a clut-
tered environment. The three large spikes correspond to the traversal
of the three rightmost barriers of obstacles (see figure 5.22), where it is
not possible to keep the correct formation configuration.
5.4.4 Formation switch
One important feature supported by our framework is the ability to perform ordered
formations switches. Here we will describe a test where this feature is emphasized. Again
we will use a team of six robots placed at random initial locations (the initial status of the
team can be seen in figure 5.25, at time instant 0). Four formation shapes are provided
to the lead robot. These shapes are described by Shex, Slin, Sv and Stri, which are written
as follows:
Shex =
0 0
150 π/4
150 −π/4277 π/8
277 −π/8362 0
Slin =
0 0
125 π/2
125 −π/2250 π/2
250 −π/2375 π/2
105
5. Formations with more than two robots
Sv =
0 0
150 π/4
150 −π/4300 π/4
300 −π/4450 π/4
Stri =
0 0
150 π/4
150 −π/4300 π/4
212 0
300 −π/4
.
A sketch of those shapes is presented in figure 5.24. The team leader is ordered to
move towards the target, starting in an hexagon formation (Fhex and figure 5.24(a)).
After 36 sec of mission time, it should switch to a line shape (Flin and figure 5.24(b)).
It should stabilize the line during 44 sec and then switch to an inverted V (Fv and
figure 5.24(c)). After another 24 sec, again a formation switch is imposed. Now, the
robots should stabilize a triangle formation (Ftri and figure 5.24(d)). The mission ends
when the lead robot is in the neighbourhood of the target.
P1
P2P3
P4P5
P6
(a) Hexagon
P1P2 P3P4 P5P6
(b) Line
P1
P2 P3
P4 P5
P6
(c) Inverted V
P1
P2 P3
P4 P5 P6
(d) Triangle
Figure 5.24: Sequence of formation shape changes.
Figure 5.25 depicts the simulated trajectory evolution of the team. Snapshots are
provided at each time instant prior to formation change. Figure 5.26 shows each robot
position error together with the overall formation error.
The first task of the team is to generate an allocation of robots to places, for the
hexagon formation, with the lead robot, R1 being already preassigned to place P1. Given
the initial robot location in this particular example, the allocation was: R2 → P3, R3 →
106
5.4. Results
0 s 36 s 80 s 104 s 130 s
x (m)x (m)x (m)x (m)x (m)
y(m
)
y(m
)
y(m
)
y(m
)
y(m
)
1515151515
2020202020
2525252525
3030303030
1010101010
2222222222 2424242424 2828282828 2626262626
R1
R2
R3
R4
R5
R6
Figure 5.25: Simulation of a team of six robots performing a mission
where several formation switches occur. In the initial situation robots
R3 and R4 are very near each other, and as a consequence they appear
to be overlapping in the representation (see panel corresponding to the
0 sec instant).
107
5. Formations with more than two robots
P2, R4 → P4, R5 → P5 and R6 → P6 (Ri → Pj reads “robot Ri allocated to place
Pj”). Then, to complete the formation matrix, each robot has to decide on which leader
to follow. In the case of this shape, the controller assignment of each robot is the one
presented in figure 5.5. The generated formation matrix is
Fhex =
0 0 150
1 −π/4 150
1 π/4 150
3 0 150
2 −π/2 150
4 0 150
(5.10)
Due to the chaotic initial situation of the team, the stabilization of the desired formation
takes long. In fact, when the switch to line formation is ordered, the team, although in a
near hexagon shape, still has slightly high formation error (mainly caused by robots R5
and R6).
R2
R3
R4
R5
R6
Formation
Position error
Dis
tance
(cm
)
Time (s)
00
100
100
200
300
400
500
600
20 40 60 80 120
Figure 5.26: Formation error of the experiment depicted in figure 5.25.
When the switch to line formation is commanded by the lead robot, the team engages
in the generation of a new formation matrix. The outcome of the allocation part is exactly
108
5.4. Results
the same as for the hexagon shape. The new complete formation matrix is
Flin =
0 0 150
1 −π/2 125
1 π/2 125
3 π/2 125
2 −π/2 125
4 π/2 125
(5.11)
As soon as the team has the new formation matrix the mission is resumed.
When the next formation switch is ordered, now to an inverted V shape, the team
has already stabilized the line formation. The process of generating a suitable formation
matrix is again performed. The allocation is, once more, equal to the previous ones. The
generated formation matrix is
Fv =
0 0 150
1 −π/4 150
1 π/4 150
3 π/4 150
2 −π/4 150
4 π/4 150
(5.12)
When the mission is resumed, the team reduces the formation error to reasonable values
rather fast.
Finally, the last switch, to a triangle shape, is issued. Here, the allocation of robots
to places has a small change, with robots R5 and R6 changing places, i.e., R5 → P6 and
R6 → P5. In terms of controller/leader selection the outcome is similar to the previous
shape, except for robot R6, in place P5, that now follows robot R2 in place P3. If we
increased the visibility criterion enough, then we could make it follow directly the lead
robot, in a column formation. The formation matrix is, now, the following:
Ftri =
0 0 150
1 −π/4 150
1 π/4 150
3 π/4 150
2 −π/4 150
2 π/4 150
(5.13)
109
5. Formations with more than two robots
The mission ends with the team reaching its goal in the desired shape and with low
formation error.
In the following experiment we used our team of Kheperas. Figure 5.27 shows a
sequence of video snapshots of three Kheperas switching from a column to a triangle
formation. This can be seen in the upper left panel. This example serves to show the
implicit ability to stabilize a desired formation. Although resembling just a stabilization
problem, it can also be seen as a formation switch. They start in a line formation with
the formation matrix given by
Fcolumn =
0 0 20
1 0 125
1 0 125
(5.14)
Upon start the formation matrix is changed to Ftriangle, in 5.8 (with distances in mm).
In figure 5.28 it can be seen the travelled path of the Kheperas. In figure 5.29 the
results of an analysis of the formation error evolution is plotted. This plot is shown for
the two followers. As expected, as time evolves, the position error comes closer to zero,
meaning that the robots are closer to the desired formation.
Figure 5.27: Snapshots of three Kheperas switching from a column to a
triangle formation. Up left: shows the robots starting position, which is
in column with 150mm separation from each other. Up right: at t = 2s
the leader, robot R− 1 is moving towards the goal and the followers try
to position themselves. Because the robot R3 is moving faster, almost
hits R2. Down left: at t = 16s the team is almost in formation, only the
distances are slightly larger than desired. Down right: at t = 19s the
team is now in formation.
110
5.4. Results
R1R2R3
y(c
m)
y(c
m)
y(c
m)
y(c
m)
x (cm)x (cm)x (cm)x (cm)
0 s 6.6 s 13.1 s 19.6 s
0
0
0
0
0
0
0
0
-10
-10
-10
-10
-10
-10
-10
-10
-20-20-20-20
10
10
10
10
10
10
10
10
20202020
30303030
40404040
50505050
60606060
70707070
80808080
Figure 5.28: Plot of the path travelled by three Kheperas in the situation
depicted by figure 5.27.
RR
3
Position error
Dis
tance
(mm
)
Time (s)
Formation
00
40
60
80
100
120
140
160
180
200
2
2 4 6 8 10 12 14 16 18
20
20
Figure 5.29: Formation error analysis for the experiment with three
Kheperas switching from column to triangle formation.
111
5. Formations with more than two robots
5.4.5 Removing robots from the formation
Here, we test how the presented architecture reacts to a failure in one of the robots.
To make the situation harder, the robot that will fail is the lead robot. Unless the robot
that fails is an ending robot, i.e. a robot that does not lead any other robot (is at the
end of the chain), it is mandatory an update to the formation matrix, such that all the
inter-robot relations are kept.
Two scenarios are considered when updating the formation matrix. These are illus-
trated in figures 5.30 and 5.33. In the first, only the leadership is changed, while on the
second, the shape is also updated. In both situations, the team of six robots starts in a
line configuration and stabilize an hexagon formation, represented in Fhex1, during the
first 40 seconds. At that time the leader fails.
The first situation is represented by the new formation matrix Fhex3
Fhex3 =
−− −− −−0 0 150
2 −π/2 212
2 0 150
3 0 150
4 π/4 150
(5.15)
where the shape of the ”‘hexagon”’ is maintained, except that the location occupied by
the failing robot is empty.
R1
R2R3
R4R5
R6
Figure 5.30: A representation of the formation defined by Fhex3 in equa-
tion 5.15. R1 had a failure and leadership was given to R2.
If the formation matrix is updated as soon as the robot fails, the formation reacts
quite well. Actually, looking only at the error diagram it almost impossible to distinguish
112
5.4. Results
when the formation switch happens.
0 s 30 s 61 s 91 s
x (m)x (m)x (m)x (m)
y(m
)
y(m
)
y(m
)
y(m
)
18181818
16161616
14141414
12
12
12
12
12
12
12
12
10
10
10
10
10
10
10
10
8
8
8
8
8
8
8
8
6
6
6
6
6
6
6
6
4444
2222
R1
R2
R3
R4
R5
R6
Figure 5.31: Path travelled by six robots in an hexagon formation. They
start in a line configuration, but around 40s after their start (see fig-
ure 5.32), the lead robot fails. Then a new lead robot is assigned (R2),
and the formation matrix is updated accordingly.
R2R3R4R5R6
Formation
Position error
Dis
tance
(cm
)
Time (s)
00
100
200
400
300
500
600
10 20 30 40 50 60 70 80 90
Figure 5.32: Formation error analysis for the simulation presented in
figure 5.31. The robots take about 15s to 20s to acquire a good formation
stabilization. The lead robot fails at time 40s. Because the formation
shape is not changed after the lead robot fails, the formation remains
stable throughout the experiment.
113
5. Formations with more than two robots
As mentioned, the main difference from the first to the second scenario is that, globally,
the formation can be changed to another pattern. By itself that is not a big change from
the previous situation. Another example is presented just to show that as long as a
suitable formation matrix is given, the robots behave accordingly. Here the emphasis
should be on, given a detected robot failure, how to reorganize the remaining robots into
a new formation (write a new formation matrix).
In the example shown, the team starts in a line configuration and stabilizes the for-
mation Fhex1. Then the leader stops due to some malfunction. After lead robot failure
detection, a new formation with a new team leader, is given to the robots
Fpenta =
−− −− −−0 0 150
2 −3π/10 176
2 3π/10 176
3 π/10 176
4 −π/10 176
(5.16)
which is represented in figure 5.33 (with the travelled path in figure 5.34). Here, since
there is also a change in the shape of the formation, a higher error is observed at that
moment (see figure 5.35).
R2
R3
R4
R5R6
Figure 5.33: A representation of the formation defined by Fpenta in
equation 5.16.
5.5 Summary
In this chapter we have grown the controllers developed previously into a complete
framework able to deal with formation control problems for team of mobile robots. Specif-
114
5.5. Summary
0 s 30 s 61 s 91 s
x (m)x (m)x (m)x (m)
y(m
)
y(m
)
y(m
)
y(m
)
18181818
16161616
14141414
12
12
12
12
12
12
12
12
10
10
10
10
10
10
10
10
8
8
8
8
8
8
8
8
6
6
6
6
6
6
6
6
4444
2222
R1
R2
R3
R4
R5
R6
Figure 5.34: Path travelled by six robots in an hexagon formation. After
lead robot failure, the remaining robots switch to a pentagon formation,
with a new lead robot.
R2R3R4R5R6
Formation
Position error
Dis
tance
(cm
)
Time (s)
00
100
200
400
300
500
600
10 20 30 40 50 60 70 80 90
Figure 5.35: Formation error analysis for the simulation presented in
5.34. By loosing R1, a formation switch is commanded at t = 40s, thus
causing an increase in the error at that time.
115
5. Formations with more than two robots
ically, we have devised a method to assign robots to specific places in the formation. This
method depends on the initial situation of each robot in the team and on the computation
of distance between each robot and each place. We have shown centralized and distributed
algorithms for the implementation of the same method, which give the same result. The
quality of the assignment depends on the accuracy of the computation of the distance
between robots and places, which, on its turn, depends on the current bearing of the lead
robot. When this information is not available, each follower can use its own bearing, with
a decrease in the allocation quality. A method allowing each follower to choose one leader
from the formation was also presented. Finally, we have demonstrated the main features
of the framework, by describing and discussing a set results from simulations and Khepera
implementations.
116
Chapter 6
Extending the approach to 3D space
In the previous chapters we have presented and discussed how to make a team of
mobile robots navigate in a prescribed geometric formation. It was assumed that these
robots navigated in an unknown and unstructured environment. Furthermore, they were
all confined in the same geometric plane. In this chapter, we extended that approach,
by introducing a third behavioural variable, the altitude, thus allowing for the “robot” to
navigate in a 3D space. Here we focus on the control of the follower robots. To see more
on the control of the lead airship see [Bicho et al., 2005].
6.1 Introduction
There is a growing interest in the problem of making a team of flying vehicles navigate
in the air or space, while respecting a given geometric pattern. A formation of airplanes,
for instance, can reduced the amount of energy necessary to go from one location to the
other, by exploring the dragging effects of neighbourhood airplanes [Blake, 2002; Nangia
and Palmer, 2007]. Other example relies on space applications such as telecommunication
relays, space exploration and mapping [Young et al., 2001; Ren and Beard, 2002]. Another
important topic is the possibility of air–ground coordination for search and rescue tasks,
for instance [Elfes et al., 1999; Kurabayashi et al., 2003].
Researchers have used all kinds of vehicles in these investigations: airplanes [Giulieti
et al., 2000; Fowler and Andrea, 2002], helicopters [Vidal et al., 2001], spacecrafts [Pengji
and Di, 2003; Dimitriu et al., 2007] and lighter–than–air vehicles (airships or blimps)
[Knock et al., 2002].
To develop our architecture we will use, as test bed, an airship. In appendix A we
117
6. Extending the approach to 3D space
describe the physics model of used in the simulations.
6.2 Building airship formations
We define the task requirements for an airship, in a team navigating in formation as
(see figure 6.1):
1. To maintain a desired relative angle (measured on a plane) between leader and
follower, ∆γi,d;
2. To maintain a desired distance (measured on a plane) to the leader, li,d;
3. To maintain a desired altitude to the leader, ∆hi,d;
4. Simultaneously avoid collision with obstacles that may appear.
Since the first two requirements, ∆γi,d and li,d, are measured on the plane, and the
altitude control is decoupled from the heading direction and path velocity, to control an
airship we will use the following controller to govern the behavioural dynamics of the
heading direction, ψi(t), the path velocity, vx,b,i(t), and the altitude zi(t), that is defined
by the following differential equations:
ψi = f (ψi, parameter)
vx,b,i = g (vx,b,i, parameters)
zi = h (zi, parameters) (6.1)
(6.2)
where i = {1, 2, ..., N} is the airship index.
To achieve the navigation in formation we will use the exact same controllers defined
in chapter 4, for the heading direction and path velocity. Next we define the controller
for the altitude of the airship.
6.2.1 Altitude control
A suitable and simple way to achieve altitude control is to place an attractor at the
desired altitude of the follower airship. This desired altitude is zleader −∆hi,d, i.e., is its
118
6.2. Building airship formations
x
li,d Blimpj
(leader)
Blimpi
(follower)
∆γi,d
ψi
γi
zleader
zfollower
∆hi,d
Figure 6.1: Definition of a leader–follower pair of airships.
leader’s altitude decreased of the desired altitude distance between them. The vector field
is thus translated into the following linear dynamics:
zi = −λz (zi − zleader + ∆hi,d) (6.3)
where λz > 0 is the relaxation rate to the attractor.
6.2.2 Formation matrix
To complete specify the formation, of a team of N airships, we need the corresponding
formation matrix. This matrix assumes the same form as the defined in section 5.1,
except that it is increased with an extra column, the desired altitude to the leader. So,
its complete specification is:
F =
L1 ∆γ1,d l1,d ∆h1,d
L2 ∆γ2,d l2,d ∆h1,d
... ... ... ...
LN ∆γN,d lN,d ∆hN,d
(6.4)
This updated definition for the formation matrix reads exactly in the same way as the
previously defined one.
We have not dealt with the formation matrix generation, specifically for 3D–space.
Nevertheless the algorithms presented in sections 5.2 are usable without alterations. The
only alteration should occur to equation 5.4, that should also account for altitude between
the robots.
119
6. Extending the approach to 3D space
6.3 Simulation results
In figure 6.2 we simulate the formation stabilization. The team starts in a line for-
mation and then switches to a column formation after reaching a way point. At the next
way point the formation changes to an inverted V formation and at the final way point
they change to an oblique formation where the airships are at different altitudes.
Figure 6.2: Team of three airships simulation where several formation
switches occur.
In figure 6.3 we can observe the airships moving in a cluttered environment maintaining
formation (as close as possible) and avoiding obstacles. Depicted here is a case where the
target is placed behind an obstacle and the leader airship travels to that position. The
follower airships follow the lead airship in an oblique formation avoiding obstacles and
keeping formation.
120
6.3. Simulation results
Figure 6.3: Team of three airships navigating in a cluttered environment
and maintaining formation.
121
6. Extending the approach to 3D space
6.4 Summary
We extended the previously developed architecture to deal with agents in 3D–space,
more specifically, we included a new controller for altitude of an airship. The simulation
efforts were conducted in the presence of perturbations on the main axis of motion. Al-
though the model of the airship is inertial, we must note that the formation control is done
at a kinematic level, where the behavioural dynamics generates the next reference point
for the airship control variables. It is expected that the airship actuators are capable of
“following the orders” given by the dynamical system. The actuator model is also taken
into account during the simulation, nevertheless, the dynamical system does not generate
forces or torques to be applied directly, it generates reference values to be followed by the
low–level control system of the robot. As with everything this has advantages and disad-
vantages. The main advantage is the fact that, with some parameters adjustments, the
control architecture can be used to control any kind of airship – the control architecture
is not model dependent. On the other hand, it is expected that the physical platform is
able to perform adequately to the references provided.
122
Chapter 7
Discussion and conclusions
We have shown how non-linear attractor dynamics can be used as a framework to
design controllers that allow a team of N–robots to navigate according to a prescribed
geometric formation while doing obstacle avoidance. The environment is not known a–
priori and it can change over time.
Three controllers have been developed for a leader–follower strategy. These allow one
robot (follower) to maintain a desired pose regarding another robot (leader). They allow
three different particular situations: column formations (follower behind the leader), line
formations (follower side–by–side with the leader) and oblique formations (otherwise).
Although it can be seen as a sort of l − φ control [Desai et al., 2001; Sugar and Kumar,
2002; Das et al., 2002] there is a fundamental difference between the two approaches. We
define the formation in the follower’s reference frame, while the other approaches do it
in the leader’s reference frame. Also our controllers perform in the complete ignorance
about the leader’s heading. The advantages are simpler and lighter architectures (com-
putationally, if one had to track the leader’s heading direction), less sensorial needs (if
one does not estimate the leader’s heading than it must sense it) and also lower commu-
nication needs. The disadvantage, of our approach, appears at transitories, that is, when
the leader changes its heading direction. Nevertheless, if the system is properly tuned,
then the rate of change of the leader’s heading is limited and the followers are able to
track their leader.
The complete formation specification is aggregated in a matrix, the formation matrix,
that contains the information for each robot in the team: its leader, the distance and
orientation to it (and altitude for 3D formations). By manipulating this matrix it is
possible to change the desired formation. Others have used graph theory [Desai et al.,
123
7. Discussion and conclusions
2001; Li and Chen, 2005]. Graph theory is interesting when one has an architecture subject
to lots of manipulation, either of its shape, or its inter–agent relations, usually because
several behaviours in that architecture are explicitly triggered as opposed to implicit to
the architecture. In this way one can take full advantage of the tools provided by graph
theory. We, on the other hand, have a control architecture where the behaviours are more
implicit than explicit, and alterations to the formation matrix occurs only at very specific
events, and, as such it serves more as an internal representation of the current formation.
Algorithms have been defined that allow the generation of the formation matrix. More
specifically we have defined algorithms (a centralized and a distributed version) for the
allocation of robots to places in the formation, and for the generation of the controller
hierarchy, i.e., the leader–follower pairs.
The first of these algorithms, allocates robots to places in the formation, given the
formation shape and the assigned lead robot. The robots can be placed at random poses,
and we assume that each robot is able to measure the distance separating it from the lead
robot. The chosen strategy was to assign each place in the formation to the robot that was
closest to it. This is accomplished in a decentralized way by an auction where the robots
make offers to places. As robots are being assigned to places they leave the auction.
Although resulting in a not optimal assignment, it has the advantage of simplicity, easy
implementation and low–bandwidth requirement, as the negotiation effort is low. In fact,
there are as many auction iterations as there are robots (and places) in the formation.
This appears in contrast to other allocation strategies where the negotiation effort is much
larger, because their aim is at trying to find a better assignment [Brimble and Press,
2003]. Others do not have this negotiation effort, but, trying to increase the quality of
the allocation, requires information that might be hard to get, such as the locations of all
robots in the team [Michaud et al., 2002; Lemay et al., 2004].
The second algorithm generates the leader–follower hierarchy for the entire formation.
Although executed following the allocation of robots to places, the result of this algorithm
is independent of the previous one, i.e., for the same shape, two different initial situations
for the team might lead to different allocation of robots to places, nevertheless, in both
situations, in terms of places in the formation, the leader–follower hierarchy is the same
(in both situations the robot in place Pj follows the robot Pi, the difference is that in each
situation the robots assigned to Pj and Pi can be different). Each robot, except the lead
robot, is responsible for choosing its leader in the formation. After choosing its leader,
each robot communicates its decision to the remaining. As such, this can be seen as a
124
distributed implementation. The criteria for leader choice, is based on selecting the robot
in front of it (given it is inside a limited region) that best suits a column formation. The
reasons for this criteria are two, and valid only to our approach: we noticed that it was
the one providing better results in all our testing; and also is the simplest to implement,
both in terms of heading direction and path velocity control. The two reasons are related:
since it is a simpler control architecture, where the heading direction dynamics results
from the superposition of less vector fields than in the oblique or line cases, and has less
parameters to adjust, it results in being easier to tune.
To complete the framework we needed to extend it to 3D space. For that purpose we
added a third behavioural variable, altitude. As for the 2D architecture, this behavioural
variable can not be seen as a direct motor command. Instead, these are reference values
that the low–level controllers of the vehicle actuators should be able to follow. The rate
of change of these reference values (attractors of the dynamics) can be made to be faster
or slower, by parameter tuning, in order to better adapt to different vehicles.
Several simulation results have been presented, that demonstrate the features of our
controllers: the ability to stabilize a given formation from an initial different one (which
can be random); the ability to change the formation shape, at runtime by an explicit
change in the formation matrix; the ability to avoid obstacles, either static or moving;
the ability to split and join formations in the presence of obstructions (these are inherent
to the framework, not explicit).
We have also presented implementation results in teams of Khepera robots perform-
ing formation stabilizations, with and without obstructions and also formation switches.
Although we have presented our results with only three robots at maximum, this frame-
work scales naturally to teams with more robots without extra computation costs (the
computation cost per robot only depends on the controller it is implementing and not
on the number of the robots on the team). Due to the limited sensorial resources (of
the Kheperas) we had to rely on a dead–reckoning mechanism so that each robot locates
itself (it is necessary a common reference frame) and radio–link to communicate the leader
position to followers. A degradation of the results is visible which limits the extent of the
experiments. This is mainly because of the difficulty to align all the robots in the same
reference frame combined with positioning by dead–reckoning.
The problems reported in the experiments with the Kheperas were overtaken when
using the team of middle size robots. In that team, one robot, Gusmao acting as follower,
was equipped with a better processing unit and a vision system. Using this robot no ego–
125
7. Discussion and conclusions
position estimation is necessary, so no dead–reckoning is used. Also, at runtime, because
the robots do not need to communicate their location, explicit radio communication is
not required. This all is a result of the inboard vision system responsible for providing
the distance, and relative bearing, at which the leader is found, being the leader defined
by a colour. In terms of vision system architecture, the implemented algorithms are very
simple and only give moderate results (in terms of precision), as this was not the focus
topic of this thesis, and as such there is space to improvement here. Very good results were
achieved in terms of dynamical stability, when comparing with the ones obtained with
Kheperas. This was due to the higher processing power, that caused the iteration time to
be almost constant in all situation, enabling an easier tunable platform. Nevertheless, we
only had one Gusmao, so we only could do very limited experiments. In fact in terms of
observed (visually) results they seem quite poor (with two robots one can only do “shapes”
that resemble lines). Only when examining the data gathered at the experiments one can
conclude about the quality of results.
To validate our extension for 3D space, we had to rely again on simulations, because we
had no real vehicles available. For that purpose we chose as simulated vehicle an airship
(or blimp). To increase the reality of the simulations, the model of the airship includes
both the kinematic and dynamic equations for this vehicle. This is required because these
are highly inertial vehicles.
We found that going from a simulation to a real implementation is very straight-
forward. Only some fine–tuning is necessary, specially on parameters that adjust path
velocity and that deal with sensor measures (because of the sensor range).
We have shown that even if the formation matrix is changed at runtime (e.g. due to
a robot failure) the control system is able to stabilize the new formation shape. Another
very important feature that we demonstrated was the ability to navigate in cluttered
environments. This is very important because they are closer to real scenarios. This
ability is also implicit in the control architecture, and thus not requires explicit triggering.
7.1 Future work
The remaining issue, which will be object of future work, relates to the automatic
generation of the shape matrix, or, more specifically, given a desired task mission and a
team of N robots, find which is the shape that best meets the mission constraints.
How to deal with missing sensory information (one follower temporarily does not see
126
7.1. Future work
its leader, for instance) is another important topic that we will address in future work.
With that purpose we plan to supply the individual robots with some cognitive capacities,
like memory and predictive perception and anticipation, by using the dynamic neural field
approach to cognitive robotics [Erlhagen and Bicho, 2006].
Cognitive robotics can also be used to improve the algorithms of formation matrix gen-
eration. The purpose, here, is to guess and anticipate other team members target place, as
they move towards it, and in this away completely avoid the necessity for communication,
and achieving an almost explicit communication–free architecture.
127
7. Discussion and conclusions
128
Bibliography
R. Agarwal. Libdc1394 library support for IEEE 1394 cameras howto. http://tldp.
org/HOWTO/libdc1394-HOWTO/index.html, October 2005. Revision 0.2.
R. Alexander. Hitching a lift hydrodynamically – in swiming, flying and cycling. Journal
of Biology, May 4, 2004.
P. Althaus and H. I. Christensen. Smooth task switching through behaviour competition.
Robotics and Autonomous Systems, 44(3–4):241–249, 2003.
C. Anderson and N. Franks. Teams in animal societies. Behavioral Ecology, 12(5):534–540,
2001.
M. Andersson and J. Wallander. Kin selection and reciprocity in flight formation. Be-
havioral Ecology, 15(1):158–162, 2004.
G. Antonelli, F. Arrichiello, and S. Chiaverini. Experiments of formation control with
collisions avoidance using the null–space–based behavioral control. In Proc. of the 14th
Mediterranean Conf. on Control and Automation, Ancona, Italy, June 28–30, 2006.
G. Antonelli and S. Chiaverini. Kinematic control of platoons of autonomous vehicles.
IEEE Transactions on Robotics, 22(6):1285–1292, December 2006.
T. Arai, H. Ogata, and T. Suzuki. Collision avoidance among multiple robots using
virtual impedance. In Proc. of the IEEE/RSJ Intl. Workshop on Intelligent Robots and
Systems, pages 479–485, Tsukuba, Japan, September 4–6, 1989.
T. Arai and J. Ota. Motion planning of multiple mobile robots using dynamic groups.
In Y. Zheng, editor, Recent Trends in mobile robotics, World Series in Robotics and
Automated Systems, pages 57–73. World Scientific, 1993.
T. Arai and J. Ota. Dwarf intelligence – a large object carried by seven dwarves. Robotics
and Autonomous Systems, 18:149–155, 1996.
129
BIBLIOGRAPHY
T. Arai, E. Pagello, and L. Parker. Advances in multi–robot systems. IEEE Transactions
on Robotics and Automation, 18(5):655–661, 2002.
T. Balch and R. C. Arkin. Behavior-based formation control for multirobot teams. IEEE
Transactions on Robotics and Automation, 14(6):926–939, December 1998.
T. Balch and M. Hybinette. Social potentials for scalable multi-robot formations. In Proc.
of the IEEE Intl. Conf. on Robotics and Automation, volume 1, pages 73–80, April 2000.
T. Barfoot and C. Clark. Motion planning for formations of mobile robots. Robotics and
Autonomous Systems, 46:65–78, 2004.
F. Bauer, J. Bristow, K. Hartman, D. Quinn, and J. How. Sattelite formation flying using
an innovative autonomous control system (autocon) environment. In AIAA Guidance,
Navigation and Control Conf., August 1997.
R. Beard, J. Lawton, and F. Hadaegh. A feedback architecture for formation control. In
Proc. of the 1999 American Control Conf., San Diego, USA, June 2–4 1999.
R. Beard, T. McLain, M. Goodrich, and E. Anderson. Coordinated target assignment
and intercept for unmanned vehicles. IEEE Transactions on Robotics and Automation,
18(6):911–922, December 2002.
C. Belta and V. Kumar. Towards abstraction and control for large groups of robots. In
Proc. of the 2nd Intl. Workshop on Control Problems in Robotics and Automation, Las
Vegas, NV, December 2002a.
C. Belta and V. Kumar. Trajectory design for formations of robots by kinetic energy
shaping. In Proc. of the IEEE Intl. Conf. on Robotics and Automation, pages 2593–
2598, Washington, DC, May 2002b.
C. Belta and V. Kumar. Abstraction and control for groups of robots. IEEE Transactions
on Robotics, 20(5):865–875, October 2004.
D. Bendersky and J. Santos. Robot formations as an emergent collective task using target–
following behavior. Revista Iberoamericana de Inteligencia Artificial, 4(21):9–18, 2003.
E Bicho. Dynamic Approach to Behavior-Based Robotics: design, specification, analysis,
simulation and implementation. Shaker Verlag, Aachen, 2000. ISBN 3-8265-7462-1.
E. Bicho, L. Louro, and W. Erlhagen. Coordinated transportation with minimal explicit
communication between robots. In 5th IFAC Symposium on Intelligent Autonomous
Vehicles (IAV 2004), Lisbon, Portugal, July 5–7, 2004a.
130
BIBLIOGRAPHY
E. Bicho, L. Louro, N. Hipolito, S. Monteiro, and W. Erlhagen. Motion control of a
mobile robot transporintg a large size object in cooperation with a human: a nonlin-
ear dynamical systems approach. In Proc. of the IEEE 11th Intl. Conf. on Advanced
Robotics, pages 197–203, Coimbra, Portugal, June 30 – July 3, 2003.
E Bicho, P Mallet, and G Schoner. Target representation on an autonomous vehicle with
low-level sensors. The Intl. Journal of Robotics Research, 19(5):424–447, May 2000.
E. Bicho and S. Monteiro. Formation control for multiple mobile robots: a non-linear
attractor dynamics approach. In 2003 IEEE/RSJ Intl. Conf. on Intelligent Robots and
Systems, pages 2016–2022, Las Vegas, NV, October 27-31 2003.
E. Bicho, A. Moreira, and M. Carvalheira. Control of floating robots using attractor
dynamics. In Proc. of the IEEE Conf. on Mechatronic and Robotics, pages 107–112,
Aachen, Germany, October 2004b.
E. Bicho, A. Moreira, M. Carvalheira, and W. Erlhagen. Autonomous flight trajectory
generation via attractor dynamics. In Proc. of the IEEE/RSJ Intl. Conf. on Intelligent
Robots and Systems, pages 615–621, Edmonton, Alberta, Canada, August 2005.
E Bicho and G Schoner. The dynamic approach to autonomous robotics demonstrated
on a low–level vehicle platform. Robotics and Autonomous Systems, (21):23–35, 1997.
B. Bishop. On the use of redundant manipulator techniques for control of platoons of
cooperating robotic vehicles. IEEE Transactions on Systems, Man, and Cybernetics–
Part A: Systems and Humans, 33(5):608–615, September 2003.
W. Blake. Drag reduction from formation flight. Technical report, Air Force Research
Laboratory, Wright–Patterson Air Force Base, OH 45433–7542, April 2002.
J. Bom, B. Thuilot, F. Marmoiton, and P. Martinet. A global control strategy for urban
vehicles platooning relying on nonlinear decoupling laws. In Proc. of the IEEE/RSJ
Intl. Conf. on Intelligent Robots and Systems, pages 1995–2000, Edmonton, Alberta,
Canada, August 2–6, 2005.
J. Borenstein, H. Everett, L. Feng, and D. Wehe. Mobile robot positioning: Sensors and
techniques. Journal of Robotic Systems, 14(4):231–249, 1997.
J. Borenstein, H. R. Everett, and L. Feng. Navigating mobile robots. A K Peters, Wellesley,
MA, 1996.
131
BIBLIOGRAPHY
J. Borenstein and L. Feng. Measurement and correction of systematic odometry errors
in mobile robots. IEEE Transactions on Robotics and Automation, 12(6):869–880, De-
cember 1996.
R. Brimble and J. Press. Minimal cost robot formations. In Proc. of the 11th Intl. Conf.
on Advanced Robotics, pages 1487–1495, Coimbra, Portugal, June 30 – July 3, 2003.
D. Brock, D. Montana, and A. Ceranowicz. Coordination and control of multiple au-
tonomous vehicles. In Proc. of the 1992 IEEE Intl. Conf. on Robotics and Automation,
pages 2725–2730, Nice, France, May 1992.
W. Burgard, M. Moors, C. Stachniss, and F. Schneider. Coordinated multi–robot explo-
ration. IEEE Transactions on Robotics, 21(3):376–386, June 2005.
M. Buro and T. Furtak. Rts games as test–bed for real–time ai research. In Proc. of the
Workshop on Game AI, JCIS, pages 481–484, 2003. Invited paper.
M. Campbell and T. Schetter. Formation flying mission for the UW Dawgstar nanosatel-
lite. In Proc. of the IEEE Aerospace Conf., pages 117–125, March 18–25, 2000.
Y. Cao, A. Fukunaga, and A. Kahng. Cooperative mobile robotics: antecedents and
directions. Autonomous Robots, (4):1–23, 1997.
Z. Cao, M. Tan, S. Wang, Y. Fan, and B. Zhang. The optimization research of formation
control for multiple mobile robots. In Proc. of the 4th World Congress on Intelligent
Control and Automation, pages 1270–1274, Shangai, China, June 10–14 2002.
Z. Cao, L. Xie, B. Zhang, B. Wang, and M. Tan. Formation constrained multi–robot sys-
tem in unknown environments. In Proc. of the Intl. Conf. on Robotics and Automation,
pages 735–740, Taipei, Taiwan, September 14–19, 2003.
R. Cassinis. Landmines detection methods using swarms of simple robots. In E. Pagello,
editor, Proc. of the Intl. Conf. on Intelligent Autonomous Systems 6, pages 212–218,
Venice, Italy, 2000.
P. Chen, Z. Song, Z. Wang, and Y. Chen. Pattern formation experiments in mobile
actuator and sensor network (MAS–net). In Proc. of the IEEE/RSJ Intl. Conf. on
Intelligent Robots and Systems, pages 3658–3663, Edmonton, Alberta, Canada, August
2–6, 2005.
Y. Chen and Z. Wang. Formation control: a review and a new consideration. In Proc.
of the IEEE/RSJ Intl. Conf. on Intelligent Robots and Systems, pages 3664–3669, Ed-
monton, Alberta, Canada, August 2–6, 2005.
132
BIBLIOGRAPHY
J. Cortes, S. Martinez, T. Karatas, and F. Bullo. Coverage control for mobile sensing
networks. IEEE Transactions on Robotics and Automation, 20(2):243–255, April 2004.
A. Das, R. Fierro, V. Kumar, J. P. Ostrowski, J. Spletzer, and C. J. Taylor. A vision-
based formation control framework. IEEE Transactions on Robotics and Automation,
18(5):813–825, October 2002.
C. Dawson. Formations. In Steve Rabin, editor, AI Game Programming Wisdom, pages
260–271. 2002.
X. Defago and A. Konagaya. Circle formation for oblivious anonymous mobile robots with
no common sense of orientation. In Proc. of the POMC, Toulouse, France, October 30–
31, 2002.
J. Desai. A graph theoretic approach for modeling mobile robot team formations. Journal
of Robotic Systems, 19(11):511–525, 2002.
J. Desai, J. Ostrowski, and V. Kumar. Modeling and control of formations of nonholo-
nomic mobile robots. IEEE Transactions on Robotics and Automation, 17(6):905–908,
December 2001.
D. Dimitriu, S. Marques, P. Lima, J. Bastante, J. Araujo, L. Pe nin, A. Caramagno, and
B. Udrea. Optimal guidance and decentralised state estimation applied to a formation
flying demonstration mission in gto. Control Theory and Applications, 1(2):443–552,
March 2007.
K. Doty and E. Iglesia. Sharp ir sensor hack for analog distance measurement. Lec-
tures from EEL 5934: Intelligent Machine Design Laboratory, University of Florida,
September 1996.
D. Edwards, T. Bean, D. Odell, and M. Anderson. A leader–follower algorithm for multiple
auv formations. In Autonomous Underwater Vehicles, pages 40–46, 2004.
M. Eggerstedt, X. Hu, and A. Stotsky. Control of mobile platforms using a virtual vehicle
approach. IEEE Transactions on Automatic Control, 46(11), 2001.
A. Elfes, M. Bergerman, J. Carvalho, E. Paiva, J. Ramos, and S. Bueno. Air–ground
robotic ensembles for cooperative applications: concepts and preliminary results. In
Proc. of the Second Intl. Conf. on Field and Service Robotics, pages 75–80, Pittsburgh,
PA, USA, August 1999.
133
BIBLIOGRAPHY
W. Erlhagen and E. Bicho. The dynamic neural field approach to cognitive robotics.
Journal of Neural Engineering, 3:36–54, September 2006.
J. Feddema, C. Lewis, and D. Schoenwald. Decentralized control of cooperative robotic
vehicles: theory and application. IEEE Transactions on Robotics and Automation, 18
(5):852–864, October 2002.
R. Fierro, R. Alur, A. Das, J. Esposito, G. Grudic, Y. Hur, V. Kumar, I. Lee, J. Ostrowski,
G. Pappas, B. Southall, J. Spletzer, and C. Taylor. A framework and architecture for
multi–robot coordination. The Intl. Journal of Robotics Research, 21(10–11):977–995,
2002.
R. Fierro and A. Das. A modular architecture for formation control. In Proc. of the Third
Intl. Workshop on Robot Motion and Control, pages 285–290, November 9–11, 2002.
R. Fierro, A. Das, V. Kumar, and J. Ostrowski. Hybrid control of formations of robots.
In Proc. of the Intl. Conf. on Robotics and Automation, pages 157–162, Seoul, Korea,
May 21–26, 2001.
T. Fossen. Guidance and control of ocean vehicles. John Wiley and Sons, 1994.
J. Fowler and R. Andrea. Distributed control of close formation flight. In Proc. of the
41st IEEE Conf. on Decision and Control, pages 2972–2977, Las Vegas, USA, December
2002.
J. Fredslund and M. Mataric. A general local algorithm for robot formations. IEEE
Transactions on Robotics and Automation, special issue on Multirobot systems, 18(5):
837–846, October 2002.
M. Fujii, T. Yamamoto, and T. Fujinami. Stable formation driving of mobile robots
with hybrid strategy. In Dynamic Systems Approach for Embodiment and Sociality,
volume 6 of Intl. Series on Advanced Intelligence, pages 369–374. Advanced Knowledge
Intl., 2003.
A. Fujimori, M. Teramoto, P. Nikiforuk, and M. Gupta. Cooperative collision avoidance
between multiple mobile robots. Journal of Robotic Systems, 17(7):347–363, 2000.
V. Gazi. Swarm aggregations using artificial potentials and sliding–mode control. IEEE
Transactions on Robotics, 21(6):1208–1214, December 2005.
S. Ge and C. Fua. Queues and artificial potentials trenches for multirobot formations.
IEEE Transactions on Robotics, 21(4):646–656, August 2005.
134
BIBLIOGRAPHY
E. Gelenbe, V. Kaptan, and K. Hussain. Simulating the navigation and control of au-
tonomous agents. In Proc. of the 7th Intl. Conf. on Information Fusion, pages 183–189,
Stockholm, Sweden, June 28 – July 1, 2004.
F. Gentili and F. Martinelli. Robot group formations: a dynamic programming approach
for a shortest path computation. In Proc. of the Intl. Conf. on Robotics and Automation,
pages 3152–3157, San Francisco, USA, April 2000.
B. P. Gerkey and M. J. Mataric. A formal analysis and taxonomy of task allocation in
multi–robot systems. The Intl. Journal of Robotics Research, 23(9):939–954, September
2004.
E. Gill and H. Runge. Tight formation flying for an along–track sar interferometer. Acta
Astronautica, 55:473–485, 2004.
F. Giulieti, L. Pollini, and M. Innocenti. Autonomous formation flying. IEEE Control
Systems Magazine, pages 34–44, December 2000.
T. Gold, J. Archibald, and R. Frost. A utility approach to multi–agent coordination. In
Proc. of the Intl. Conf. on Robotics and Automation, pages 2052–2057, San Francisco,
USA, April 2000.
S. Gomes. An investigation of the flight dynamics of airships with application to the
yez–2a. Technical report, College of Aeronautics, Cranfield University, 1990.
L. Gould and F. Heppner. The vee formation of canada geese. The Auk, 91:494–506, July
1974.
D. Gu and E. Yang. A suboptimal model predictive formation control. In Proc. of the
IEEE/RSJ Intl. Conf. on Intelligent Robots and Systems, pages 3646–3651, Edmonton,
Alberta, Canada, August 2–6, 2005.
T. Gustavi and X. Hu. Formation control for mobile robots with limited sensor informa-
tion. In Proc. IEEE Intl. Conf. Robotics and Automation, pages 1791–1796, Barcelona,
Spain, April 18–22, 2005.
A. Healey. Application of formation control for multi-vehicle robotic minesweeping. In
Proc. of the 40th IEEE Conf. on Decision and Control, pages 1497–1502, Orlando, FL,
USA, December 2001.
S. Hettiarachchi and W. Spears. Moving swarm formations through obstacle fields. In
Proc. of the 2005 Intl. Conf. on Artificial Intelligence, Las Vegas, NV, June 27–30, 2005.
135
BIBLIOGRAPHY
S. Hong, S. Shin, and D. Ahn. Formation control based on artificial intelligence for multi-
agent coordination. In Proc. of the Intl. Symposium on Industrial Electronics, pages
429–734, Busan, Korea, 2001.
A. Howard, L. Parker, and G. Sukhatme. Experiments with large heterogeneous team: ex-
ploration, mapping, deployment and detection. The Intl. Journal of Robotics Research,
25(5–6):431–447, 2006.
J. Hu, M. Prandini, and C. Tomlin. Conjugate points in formatino constrained optimal
multi–agent coordination: a case study. SIAM Journal on Control and Optimization,
45(6):2119–2137, 2007.
X. Hu and B. Zeigler. Model continuity to support software development for distributed
robotic systems: a team formation example. Journal of Intelligent and Robotic Systems,
39:71–87, 2004.
G. Inalhan, F. Busse, and J. How. Precise formation flying control of multiple spacecraft
using carrier–phase differential gps. In Proc. Guidance, Control and Navigation Conf.,
2000.
Intel r©Integrated Performance Primitives for Intel r©Architecture – Volume 2: Image and
Video Processing. Intel Corporation, 2004. available at http://developer.intel.com.
I. Iossifidis and G. Schoner. Autonomous reaching and obstacle avoidance with the an-
thropomorphic arm of a robotic assistant using the attractor dynamics approach. In
Proc. of the IEEE 2004 Intl. Conf. On Robotics and Automation, New Orleans, LA,
USA, April 26 – May 1, 2004.
A. Jadbabaie, J. Lin, and A. S. Morse. Coordination of groups of mobile autonomous
agents using nearest neighbor rules. IEEE Transactions on Automatic Control, 48(6):
988–1001, June 2003.
S. Janson, M. Middendorf, and M. Beekman. Honeybee swarms: how do scouts guide a
swarm of uninformed bees? Animal Behaviour, 70:349–358, 2005.
K-Team. Khepera bios manual. K-Team, Lausanne, Switzerland, version 5.01 edition, 10
June 1999a.
K-Team. Khepera radio turret user manual. K-Team, Lausanne, Switzerland, version 1.0
edition, 16 March 1999b.
136
BIBLIOGRAPHY
K-Team. Khepera user manual. K-Team, Lausanne, Switzerland, version 5.02 edition, 12
March 1999c.
S. Kalantar and U. Zimmer. A formation control approach to adaptation of contour–
shaped robotic formations. In Proc. of the IEEE/RSJ Intl. Conf. on Intelligent Robots
and Systems, 2006.
G. A. Kaminka and R. Glick. Towards robust multi–robot formations. In Proc. IEEE
Intl. Conf. Robotics and Automation, Orlando, FL, 2006.
S. Kato, S. Tsugawa, K. Tokuda, and T. Matsui. Vehicle control algorithms for cooperative
driving with automated vehicles and intervehicle communication. IEEE Transactions
on Intelligent Transportation Systems, 3(3):155–161, September 2002.
G. Kim, D. Lee, and K. Lee. Formation approach for mobile robots with inaccurate
sensor information. In Proc. of the Intl. Conf. on Control, Automation and Systems,
pages 805–808, Cheju National University Jeju, Korea, October 17-21, 2001.
K. Knock, M. Heun, and K. Aaron. Global stratosferic balloon constellations. Advanced
Space Research, 30(5):1233–1238, 2002.
P. Kostelnik, M. Samulka, and M. Janosik. Scalable multi–robot formations using local
sensing and communication. In Proc. of the Third Intl. Workshop on Robot Motion and
Control, pages 319–324, November 9–1, 2002.
K. Krishnanand and D. Ghose. Formations of minimalist mobile robots using local–
templates and spatially distributed interactions. Robotics and Autonomous Systems,
53:194–213, October 2005.
D Kurabayashi, H Tsuchiya, I Fujiwara, H Asama, and K Kawabata. Motion algorithm
for autonomous rescue agents based on information assistance system. In Proc. of the
2003 IEEE Intl. Symposium on Computational Intelligence in Robotics and Automation,
pages 1132–1137, Kobe, Japan, July 16–20, 2003.
E. Large, H. Christensen, and R. Bajcy. Scaling the dynamic approach to path planning
and control: Competition amoung behavioral constraints. The Intl. Journal of Robotics
Research, 18(1):37–58, 1999.
J. Lee, S. Venkatesh, and M. Kumar. Formation of a geometric pattern with a mobile
wireless sensor network. Journal of Robotic Systems, 21(10):517–530, 2004.
137
BIBLIOGRAPHY
M. Lemay, F. Michaud, D. Letourneau, and J. M. Valin. Autonomous initialization of
robot formations. In Proc. IEEE Intl. Conf. Robotics and Automation, New Orleans,
LA, 2004.
N. Leonard and E. Fiorelli. Virtual leaders, artificial potentials and coordinated control
of groups. In Proc. of the 40th Conf. on Decision and Control, pages 2968–2973, 2001.
M. A. Lewis and K. Tan. High precision formation control of mobile robots using virtual
structures. Autonomous Robots, 4:387–403, 1997.
T. Li and H. Chou. Motion planning for a crowd of robots. In Proc. of the Intl. Conf. on
Robotics and Automation, pages 4215–4221, Taipei, Taiwan, September 14–19, 2003.
X. Li, J. Xiao, and Z. Cai. Backsteping based multiple mobile robots formation control. In
Proc. of the IEEE/RSJ Intl. Conf. on Intelligent Robots and Systems, pages 1313–1318,
Edmonton, Alberta, Canada, August 2–6, 2005.
Y. Li and X. Chen. Stability on multi–robot formation with dynamic interaction topolo-
gies. In Proc. of the IEEE/RSJ Intl. Conf. on Intelligent Robots and Systems, pages
1325–1330, Edmonton, Alberta, Canada, August 2–6, 2005.
M. Lindhe and K. Johansson. A formation control algorithm using voronoi regions. In
Proc. of the HYCON/CTS Workshop on Nonlinear and Hybrid Control, Paris, France,
July 2006.
F. Lu, M. Song, G. Tian, and X. Li. The application of robot formation approach in the
control of subway train. In Proc. of the IEEE/RSJ Intl. Conf. on Intelligent Robots and
Systems, pages 5937–5941, Beijing, China, October 9–15, 2006.
M. Marco, A. Garulli, A. Giannitrapani, and A. Vicino. Simultaneous localization and
mapping building for a team of cooperating robots: a set membership approach. IEEE
Transactions on Robotics and Automation, 19(2):238–249, April 2003.
E. Martinez-Garcia, A. Ohya, and S. Yuta. A multi–robot system architecture for tra-
jectory control of groups of people. In V. Kordic, A. Lazinica, and M. Merdan, editors,
Cutting edge robotics, pages 449–466. ARS, Germany, July 2005.
M. McMickell, B. Goodwine, and M. Lemmon. Rigid body formation control of a multi-
agent mobile ad hoc wireless network. In Proc. of the IEEE/RSJ Intl. Conf. on Intel-
ligent Robots and Systems, 2003.
L. Meirovich. Methods of analytical dynamics. McGraw Hill, 1970.
138
BIBLIOGRAPHY
L. Miao, H. Qi, and F. Wang. Biologically–inspired self–deployable heterogeneous mobile
sensor network. In Proc. of the IEEE/RSJ Intl. Conf. on Intelligent Robots and Systems,
pages 3640–3645, Edmonton, Alberta, Canada, August 2–6, 2005.
F. Michaud, D. Letourneau, M. Guilbert, and J. Valin. Dynamic robot formations using
directional visual perception. In Proc. of the IEEE/RSJ Intl. Conf. on Intelligent Robots
and Systems, pages 2740–2745, EPFL Lausanne, Switzerland, October 2002.
N. Miyata, J. Ota, T. Arai, and H. Asama. Cooperative transport by multiple mobile
robots in unknown static environments associated with real–time task assignment. IEEE
Transactions on Robotics and Automation, 18(5):769–780, October 2002.
S. Monteiro and E. Bicho. Attractor dynamics approach to formation control: theory and
application. Submitted.
S. Monteiro and E. Bicho. Fagundes: an autonomous mobile robot. Technical report,
University of Minho, Campus Azurem, Guimaraes, PORTUGAL, September 2001.
S. Monteiro and E. Bicho. A dynamical systems approach to behavior-based formation
control. In Proc. IEEE Intl. Conf. Robotics and Automation, pages 2606–2611, May
2002.
S. Monteiro, M. Vaz, and E. Bicho. Attractor dynamics generates robot formations: from
theory to implementation. In Proc. IEEE Intl. Conf. on Robotics and Automation, New
Orleans, LA, 2004.
Motorola. MC68331 User’s Manual. Motorola, Inc, 1996.
R. Nangia and M. Palmer. Formation flying of a commercial aircraft – assessment using
a new approach – wing span load and camber control. In Proc. of the 45th AIAA
Aerospace Sciences Meeting and Exhibit, Reno, USA, January 8–11, 2007.
V. Ngo, A. Nguyen, and Q. Ha. Integration of planning and control in robotic formations.
In Australasian Conf. on Robotics and Automation, Sydney, Australia, December 5–7,
2005.
H. Nguyen, N. Pezesshkian, M. Raymond, A. Gupta, and J. Spector. Autonomous com-
munication relays for tactical robots. In Proc. of the 11th Intl. Conf. on Advanced
Robotics, pages 35–40, Coimbra, Portugal, June 30 – July 3, 2003.
P. Ogren. Split and join of vehicle formations doing obstacle avoidance. In Proc. of the
2004 IEEE Intl. Conf. on Robotics and Automation, pages 1951–1955, New Orleans,
LA, April 2004.
139
BIBLIOGRAPHY
P. Ogren, M. Egerstedt, and X. Hu. A control lyapunov function approach to multiagent
coordination. IEEE Transactions on Robotics and Automation, 18(5):847–851, October
2002a.
P. Ogren, E. Fiorelli, and N. Leonard. Formations with a mission: stable coordination
of vehicle group maneuvers. In Proc. Symposium on Mathematical Theory of Networks
and Systems, August 2002b.
P. Ogren and N. Leonard. Obstacle avoidance in formation. In Proc. IEEE Intl. Conf.
on Robotics and Automation, 2003.
R. Olfati-Saber and R. Murray. Distributed structural stabilization and tracking for
formations of dynamic multi-agents. In Proc. of the 41st Conf. on Decision and Control,
Las Vegas, NV, December 2002a.
R. Olfati-Saber and R. Murray. Graph rigidity and distributed formation stabilization of
multi-vehicle systems. In Proc. of the 41st Conf. on Decision and Control, Las Vegas,
NV, December 2002b.
W. Pengji and Y. Di. Pd–fuzzy formation control for spacecraft formation flying in
elliptical orbits. Aerospace Science and Technology, 7:561–566, 2003.
G. Pereira, A. Das, V. Kumar, and M. Campos. Formation control with configuration
space constraints. In Proc. of the 2003 IEEE/RSJ Intl. Conf. on Intellingent Robots
and Systems, pages 2755–2760, Las Vegas, NV, 2003.
G. Pereira, B. Pimentel, L. Chaimowicz, and M. Campos. Coordination of multiple mobile
robots in an object carrying task using implicit communication. In Proc. IEEE Intl.
Conf. Robotics and Automation, pages 281–286, Washington, DC, May 2002.
L. Perko. Differential equations and dynamical systems. Texts in Applied Mathematics.
Springer–Verlag, New York, 1991.
S. Pledgie, Y. Hao, A. Pereira, S. Agrawal, and R. Murphey. Groups of unmanned vehicles:
differential flatness, trajectory planning and control. In Proc. of the 2002 IEEE Intl.
Conf. on Robotics and Automation, pages 3461–3466, Washington, DC, May 2002.
G. Prencipe and V. Gervasi. On the intelligent behavior of stupid robots. In VIII Convegno
AIIA, Siena, Italy, September 10–13, 2002.
W. Ren and R. Beard. Virtual structure based spacecraft formation control with formation
feedback. In AIAA Guidance and Control Conf., Monterey, CA, August 2002. AIAA
paper n.o 2002-4963.
140
BIBLIOGRAPHY
W. Ren, R. Beard, and J. Curtis. Satisficing control for multi–agent formation maneuvers.
In Proc. of the 41st IEEE Conf. on Decision and Control, pages 2433–2438, Las Vegas,
USA, December 2002.
P. Renaud, E. Cervera, and P. Martinet. Towards a reliable vision–based mobile robot
formation control. In Proc. of the IEEE/RSJ Intl. Conf. on Intelligent Robots and
Systems, pages 3176–3181, Sendai, Japan, 2004.
S. Russel and P. Norvig. Artificial Intelligence: a modern approach, pages 96–101.
Prentice–Hall, Inc, Englewood Cliffs, New Jersey 07632, USA, 1995.
E. Sahin, T. Labella, V. Trianni, J. Deneubourg, P. Rasse, D. Floreano, L. Gamberdella,
F. Mondada, S. Nolfi, and D. Dorigo. Swarm–bot: pattern formation in a swarm of
self–assembling mobile robots. In Proc. of the IEEE Intl. Conf. on Systems, Man and
Cybernetics, pages 145–150, Hammamet, Tunisia, October 6–9, 2002.
E. Scheinerman. Invitation to dynamical systems. Prentice Hall, 1996.
F. Schneider and D. Wildermuth. A potential field approach to multi robot formation
navigation. In Proc. of the Intl. Conf. on Robotics, Intelligent Systems and Signal
Processing, pages 680–685, Chansha, China, October 2003.
F. Schneider, D. Wildermuth, and A. KrauBing. Discussion of exemplary metrics for
multi-robot systems for formation navigation. Journal of advanced Robotic Systems, 2
(4):345–353, December 2005.
G Schoner and M Dose. A dynamical systems approach to task-level system integra-
tion used to plan and control autonomous vehicle motion. Robotics and Autonomous
Systems, 10:253–267, 1992.
G Schoner, M Dose, and C Engels. Dynamics of behavior: Theory and applications for
autonomous robot architectures. Robotics and Autonomous Systems, 16:213–245, 1995.
G. Scott. Avoiding predation: staying alive against the odds. In Essential Animal behav-
ior, chapter 7. Blackwell Science, 2005a.
G. Scott. Foraging behavior: finding, choosing and processing food. In Essential Animal
behavior, chapter 6. Blackwell Science, 2005b.
P. Seiler, A. Pant, and K. Hedrick. Analysis of bird formations. In Proc. of the 41st IEEE
Conf. on Decision and Control, pages 118–123, Las Vegas, USA, December 2002.
141
BIBLIOGRAPHY
H. Shi, T. Chu, and M. Xu. Flocking coordination of multiple mobile autonomous agents
with asymmetric interactions and switching topology. In Proc. of the IEEE/RSJ Intl.
Conf. on Intelligent Robots and Systems, pages 935–940, Edmonton, Alberta, Canada,
August 2–6, 2005.
T. Simeon, S. Leroy, and J. Laumond. Path coordination for multiple mobile robots: a
resolution complete algorithm. IEEE Transactions on Robotics and Automation, 18(1):
42–49, February 2002.
R. Soares and E. Bicho. Using attractor dynamics to generate decentralized motion
control of two mobile robots transporting a long object in coordination. In Proc. of
the workshop on Cooperative Robotics, in IROS 2002: 2002 IEEE/RSJ Intl. Conf. on
Intelligent Robots and Systems, EPFL Lausanne, Switzerland, September 30 – October
4, 2002.
R. Soares, E. Bicho, T. Machado, and W. Erlhagen. Object transportation by multiple
mobile robots controlled by attractor dynamics: theory and implementation. In Proc.
of the IEEE/RSJ Intl. Conf. on Intelligent Robots and Systems, to appear, 2007.
W. Spears, R. Heil, D. Spears, and D. Zarzhitsky. Physicomimetics for mobile robot
formations. In Proc. of the Third Intl. Joint Conf. on Autonomous Agents and Multi
Agent Systems (AAMAS-04), volume 3, pages 1528– 1529, New York, USA, July 19–23,
2004.
A. Steinhage. Dynamical systems for the generation of navigation behavior. Ruhr-
Universitat Bochum, Germany, phd thesis edition, November 1997.
A. Stroupe, T. Huntsberger, A. Okon, H. Aghazarian, and M. Robinson. Behavior–
based multi–robot collaboration for autonomous construction tasks. In Proc. of the
IEEE/RSJ Intl. Conf. on Intelligent Robots and Systems, pages 1989–1994, Edmonton,
Alberta, Canada, August 2–6, 2005.
A. Sudsang. Sweeping the floor: moving multiple objects with multiple disc–shaped
robots. In Proc. of the IEEE/RSJ Intl. Conf. on Intelligent Robots and Systems, pages
2825–2830, Lausanne, Switzerland, October 2002.
A. Sudsang, F. Rothganger, and J. Ponce. Motion planning for disc-shaped robots pushing
a polygonal object in the plane. IEEE Transactions on Robotics and Automation, 18
(4):550–562, August 2002.
142
BIBLIOGRAPHY
T. Sugar and V. Kumar. Control of cooperating mobile manipulators. IEEE Transactions
on Robotics and Automation, 18(1):94–103, February 2002.
P. Tabuada, G. P. Pappas, and P. Lima. Motion feasibility of multi–agent formations.
IEEE Transactions on Robotics, 21(3):387–392, June 2005.
H. Takahashi, H. Nishi, and K. Ohnishi. Autonomous decentralized control for formation
of multiple mobile robots considering ability of robot. IEEE Transactions on Industrial
Electronics, 51(6):1272–1279, December 2004.
H. Tanner, G. Pappas, and V. Kumar. Leader to formation stability. IEEE Transactions
on Robotics and Automation, 20(3):443–455, June 2004.
F. Thomas and L. Ros. Revisiting trilateration for robot localization. IEEE Transactions
on Robotics, 21(1):93–101, February 2005.
M. Vaz. Control of navigation in formation of three autonomous robots: a nonlinear
dynamical systems approach. Final project report, September 2003.
R. Vidal, S. Rashid, C. Sharp, O. Shakernia, J. Kin, and S. Sastry. Pursuit–evasion games
with unmanned ground and aerial vehicles. In Proc. of the Intl. Conf. on Robotics and
Automation, pages 2948–2955, Seoul, Korea, May 21–26, 2001.
R. Vidal, O. Shakernia, and S. Sastry. Formation control of nonholonomic mobile robots
with omnidirectional visual servoing and motion segmentation. In IEEE Conf. on
Robotics and Automation, 2003.
Z. Wang, P. Chen, Z. Song, Y. Chen, and K. Moore. Formation control in mobile actu-
ator/sensor networks. In Unmanned Ground Vehicle Technology VII, volume 5804 of
Proc. of the SPIE, pages 706–717, 2005a.
Z. Wang, Y. Hirata, and K. Kosuge. An algorithm for testing object caging condition by
multiple mobile robots. In Proc. of the IEEE/RSJ Intl. Conf. on Intelligent Robots and
Systems, pages 2664–2669, Edmonton, Alberta, Canada, August 2–6, 2005b.
D. Watts and J. Mitani. Hunting behavior of chimpanzees at ngogo, kibale national park,
uganda. Intl. Journal of Primatology, 23(1), February 2002.
H. Yamaguchi. A cooperative hunting behavior by mobile-robot troops. The Intl. Journal
of Robotics Research, 18(8):931–940, September 1999.
143
BIBLIOGRAPHY
H. Yamaguchi. A distributed motion coordination strategy for multiple nonholonomic
mobile robots in cooperative hunting operations. Robotics and Autonomous Systems,
43:257–282, 2003.
M. Yamakita, Y. Taniguchi, and Y. Shukuya. Analysis of formation control of cooperative
transportation of mother ship by smc. In Proc. of the Intl. Conf. on Robotics and
Automation, pages 951–956, Taipei, Taiwan, September 14–19, 2003.
E. Yang, D. Gu, and H. Hu. Nonsingular formation control of cooperative mobile robots
via feedback linearization. In Proc. of the IEEE/RSJ Intl. Conf. on Intelligent Robots
and Systems, pages 3652–3657, Edmonton, Alberta, Canada, August 2–6, 2005.
B. Young, R. Beard, and J. Kelsey. A control scheme for improving multi-vehicle formation
maneuvers. In Proc. of the American Control Conf., pages 704–709, Arlington, VA, June
25–27, 2001.
X. Yun, G. Alptekin, and O. Albayrak. Line and circle formation of distributed physical
mobile robots. Journal of Robotic Systems, 14(2):63–76, 1997.
D. Zarzhitsky, D. Spears, and W. Spears. Distributed robotics approach to chemical plume
tracing. In Proc. of the IEEE/RSJ Intl. Conf. on Intelligent Robots and Systems, 2005.
S. Zelinski, T. Koo, and S. Sastry. Hybrid system design for formations of autonomous
vehicles. In Proc. of the 42nd IEEE Conf. on Decision and Control, pages 1–6, Maui,
Hawaii, USA, December 2003a.
S. Zelinski, T. Koo, and S. Sastry. Optimization–based formation reconfiguration planning
for autonomous vehicles. In Proc. of the Intl. Conf. on Robotics and Automation, pages
3758–3763, Taipei, Taiwan, September 14–19, 2003b.
F. Zhang, M. Goldgeier, and P. Krishnaprasad. Control of small formations using shape
coordinates. In Proc. of the Intl. Conf. on Robotics and Automation, pages 2510–2515,
Taipei, Taiwan, September 14–19, 2003.
144
Appendix A
Airships
Here we will present the airship physics model used to simulate the architecture.
A.1 Airship kinematics
Each airship is a balloon in which the lift is independent of flight speed, what is called
aero–static lift. Its kinematics description is based on the reference frames presented in
figure A.1.
We use the following notation: The generalized coordinates for the airship is
η = (x, y, z, φ, θ, ψ)T ∈ R6 (A.1)
where (x, y and z) denote the position of the centre of mass, relative to the earth-fixed
reference frame, and (φ, θ, ψ) are the three Euler angles (i.e. roll, pitch and yaw angles)
and represent the orientation of the airship (see the works by Gomes [1990], Fossen [1994]
and Bicho et al. [2005] for more details). Therefore, the model partitions naturally into
translational and rotational coordinates
ηT1 = (x, y, z)T ∈ R3 (A.2)
ηT2 = (φ, θ, ψ)T ∈ R3 (A.3)
The linear and angular velocity vector with coordinates in body–fixed reference frame
{ω′}v = (vx, vy, vz, ωφ, ωθ, ωψ)
T ∈ R6 (A.4)
which can be decomposed into:
vT1 = (vx, vy, vz)T ∈ R3 (A.5)
145
A. Airships
y
x{w}
y′
x′{w′}
Target
Obstacle
ψ
ψobs
ψtarǫtar
ǫobs
(a) Task constraints
Yw′
Xw′
Zw′ ≡ Zb
Yb
Xbwy
wx
wz
{b}CV
(b) Coordinate frames
Figure A.1: a) Desired task for the lead airship is movement toward
the target location while avoiding obstacles. Constraints for the yaw
control (i.e. ψ) are the directions at which obstacles and target lie
as seen from the current position of the airship, i.e. ψobs and ψtar.
Obstacle challenges the movement toward the target location. ǫobs and
ǫtar are given by the vision system. b) We define three coordinate frames:
i) Earth-fixed reference frame {ω} (Xω , Yω, Zω); ii) moving coordinate
frame {b} (Xb, Yb, Zb) fixed to the airship and origin coincident with
the centre of gravity (CG) (i.e. body-fixed) and iii) {ω} (Xω , Yω, Zω) is
simply a translation of the earth–fixed reference frame ω to the airship’s
centre of gravity.
146
A.2. Airship dynamics
vT2 = (ωφ, ωθ, ωψ)T ∈ R3 (A.6)
The airships flight path relative to the earth-fixed coordinate system is given by a
velocity matrix transformation:
η1 = J1 (η2) v1 (A.7)
The body–fixed angular velocity vector v2 and the Euler rate vector η2 =(
φ, θ, ψ)
are
related through a transformation matrix according to:
η2 = J2 (η2) v2 (A.8)
For further details on the Jacobeans J1(η2) and J2(η2) please refer to Fossen [1994].
A.2 Airship dynamics
The airship dynamics can be expressed by the following nonlinear dynamic equation
of motion:
Mv + C (v) v +D (v) v + g (η) = τ (A.9)
where variables are described in the reference frame of airship {ω′} and τ is the vector
with the control inputs, i.e. forces (Fx, Fy, Fz) and torques (Nx, Ny, Nz):
τ =(
τT1 , τT2
)
(A.10)
τT1 = [Fx, Fy, Fz]T (A.11)
τT2 = [Nx, Ny, Nz]T (A.12)
The matrix M is the mass matrix (including added mass terms), C is the Coriolis and
centrifugal forces matrix, D is the aerodynamic damping matrix, g is the restoring force
(gravity and buoyancy).
In order to get a more realistic behaviour we use the non–linearised model of the
airship making the airship model time dependent. This means that C is:
C =
0 0 0 mzGωz −m (xGωy − vz) m (xGωz + vy)
0 0 0 −mvz m (zGωz + xGωx) mvx
0 0 0 −m (zGωx − vy) −m (zGωy + vx) mxGωx
−mzGωz mvz m (zGωx − vy) 0 Izzωz Iyyωy
m (xGωy − vz) −m (zGωz + xGωx) m (zGωy + vx) −Izzωz 0 Ixxωx
m (xGωz + vy) −mvx −mxGωx Iyyωy −Ixxωx 0
(A.13)
147
A. Airships
It is not in the scope of this thesis to go into further details on this, but if you wish
to further explore these items please check [Gomes, 1990; Fossen, 1994; Meirovich, 1970].
The comprehensive non–linearised airship model is:
xxy =
−M−1xy (Dxy + Cxy) −M−1
xy gxy
Jxy [0]3×3
xxy +
M−1xy Bxy
[0]3×2
uxy (A.14)
xxz =
−M−1xz (Dxz + Cxz) −M−1
xz gxz
Jxz [0]3×3
xxz +
M−1xz Bxz
[0]3×2
uxz (A.15)
The general mass matrix is simplified for the xy and xz system, the same is true for
the entire matrix presented in the above systems.
The perturbed state variables for the heading direction (xy) matrix are
xxy = (vy (t) , ωx (t) , ωz (t) , y (t) , ψ (t) , φ (t))T
and the system input is uxy = Fy; while for the (xz) matrix they are
xxz = (vx (t) , vz (t) , ωx (t) , x (t) , z (t) , θ (t))T
and uxz = (Fx, Fz)T .
A.3 Environmental disturbances
In order to test the robustness of the controller design we simulate the behaviour of
the airship with perturbations acting along the flight path, the perturbations are added
to the corresponding Simulink models taking into account the Jacobean matrices used
(see Bicho et al. [2005] for further details). Two types of environmental perturbations are
simultaneously considered and simulated: turbulence and wind. Both contributions were
limited to a maximum of one quarter of the airship thrusters maximum torque.
By definition turbulence is a state of fluid flow in which the instantaneous velocities
exhibit irregular and apparently random fluctuations so that in practice only statistical
properties can be recognized and subjected to analysis. With this in mind a perturbation
model with stochastic white noise properties was used. This perturbation affects the
airship along the longitudinal and translational axis (see figure A.2(a)).
The second perturbation used is a gust wind. The wind model that we used can be
found in the Matlab Simulink aerospace block set. The mathematical form is as follows:
uw = W6
ln zz0
ln 20z0
, 1 ≤ z ≤ 300 m (A.16)
148
A.3. Environmental disturbances
where uw is the mean wind speed, W6 is the measured wind speed at an altitude of 6m, z
is the airship altitude, and z0 is a constant equal to 0.0045 for Category C flight phases
and 0.18m for all other flight phases. We considered phase C (terminal flight) due to
the fact that this is the one that we feel is more adequate to a slow moving airship (see
figure A.2(b)). The effect of the wind on the airship frame is obtained through the use of
the corresponding Jacobean matrices: J1 for the heading system and J2 for the translation
control system (see Bicho et al. [2004b]).
(a) Stochastic perturbation (b) Wind
Figure A.2: These are the plots of the perturbations that acted on the
airships during the simulation in figure 6.3.
149
A. Airships
150
Appendix B
Parameters used in the experiments
Parameter Simulation Kheperas Large robots
β1: 20 1/(4dt) 1/(5dt)
β2: 20 25 25
λcol: 1.5 1/(40dt) 1/(20dt)
λlin: 1.5 1/(40dt) 1/(20dt)
λobl: 1.5 1/(40dt) 1/(20dt)
T∆: 4 sec 7dt 6
αobs: 4.5dt dt
αcol: 4.5dt 5dt
αlin: 4.5dt 5dt
αobl: 4.5dt 5dt
γ: π/4 π/4 π/4
µ: 15 100 10
Kv: 6 4 –
T2c,obs: 4 sec 115dt 100dt
dt : 20 ms min=40 ms, max=80 ms min=51 ms, max=55 ms
151