165
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 Hip´olito, Andr´ e 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, S´ ergio Lopes and Gerardo Rocha for the constant support and help. I am also indebted to the Funda¸c˜ ao para a Ciˆ encia 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

repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 2: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

iv

Page 3: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 4: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 5: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 6: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 7: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 8: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 9: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 10: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

CONTENTS

xii

Page 11: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 12: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 13: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 14: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 15: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 16: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 17: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 18: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 19: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 20: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 21: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 22: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 23: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 24: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 25: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 26: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 27: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 28: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 29: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 30: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 31: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 32: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

1. Introduction

18

Page 33: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 34: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 35: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 36: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 37: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 38: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 39: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 40: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 41: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 42: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 43: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 44: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

2. Attractor dynamics

30

Page 45: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 46: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 47: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 48: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 49: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 50: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 51: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 52: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 53: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 54: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 55: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 56: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 57: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 58: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 59: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 60: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 61: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 62: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 63: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

4.4. Robots in line

φiφiφi

dtdφ

dt

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

Page 64: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 65: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 66: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 67: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 68: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 69: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 70: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 71: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 72: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 73: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 74: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 75: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 76: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 77: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 78: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 79: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 80: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 81: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 82: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 83: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 84: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 85: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 86: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 87: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 88: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 89: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 90: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 91: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 92: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 93: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 94: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 95: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 96: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 97: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 98: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 99: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 100: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 101: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 102: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 103: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 104: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 105: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 106: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 107: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 108: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 109: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 110: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 111: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 112: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 113: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 114: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 115: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 116: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 117: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 118: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 119: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 120: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 121: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 122: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 123: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 124: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 125: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 126: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 127: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 128: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 129: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 130: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 131: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 132: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 133: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 134: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 135: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

6.3. Simulation results

Figure 6.3: Team of three airships navigating in a cluttered environment

and maintaining formation.

121

Page 136: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 137: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 138: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 139: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 140: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 141: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 142: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

7. Discussion and conclusions

128

Page 143: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 144: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 145: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 146: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 147: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 148: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 149: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 150: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 151: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 152: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 153: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 154: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 155: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 156: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 157: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 158: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 159: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 160: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 161: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 162: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 163: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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

Page 164: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

A. Airships

150

Page 165: repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/7387/2/Tese%20Douto… · Acknowledgements In an endeavour such as this one, usually one needs the support (at

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