FACULDADE DE ENGENHARIA DA UNIVERSIDADE DO PORTO
Drone Flock: formation control of
multi-drones
João Costa
Master Degree in Electrical Engineering and Computer Science
Supervisor: António Pedro Aguiar
October 2019
Resumo
Nas últimas décadas tem-se assistido a uma crescente utilização de drones para substituir veículos
tripulados em aplicações de alto risco, alto custo ou restringidas a nível de espaço. As suas ca-
pacidades levaram ao crescimento constante do número de aplicações e os drones deixaram de ser
usados apenas para fins militares. Novos algoritmos para controlo do movimento têm sido desen-
volvidos e optimizados para tornar estes sistemas mais independentes e efectivos. No entanto, é
importante salientar que este tipo de veículos sub-atuados têm uma dinâmica altamente não-linear
e naturalmente instável, o que faz com que sejam problemas especialmente desafiantes do ponto
de vista do controlo não-linear. Os avanços tecnológicos mais recentes conduziram a uma nova di-
reção de investigação referente ao controlo de sistemas multi-agente a agirem cooperativamente.
Existem inúmeras aplicações onde sistemas adaptáveis de pequenos veículos autónomos são a
melhor solução.
Nesta dissertação, é proposto um algoritmo de controlo baseado em funções de Lyapunov. O
objetivo principal deste algoritmo denominado cooperative path following é capacitar os drones de
realizarem a tarefa de seguir o trajeto desejado e em formação de modo a atingirem consenso entre
as velocidades. Para isso, numa primeira fase começa-se por um controlador mais simples, a duas
dimensões, de cooperative path following implementado num sistema de robôs tipo monociclo
para introduzir as ferramentas a usar, alguns fundamentos teóricos e, principalmente, para mais
facilmente abordar o problema do consenso.
O controlador começa por lidar com o problema do seguimento de trajetória fazendo com
que o drone siga um ponto virtual desejado nesse trajeto, parameterizado por uma variavel de
controlo. Em seguida, a velocidade desejada para a variável de parametrização de cada drone é
ajustada de modo a manter todo os drones em formação, o que acontece quando todas as variáveis
de parametrização estão em consenso e evoluem à mesma velocidade. Para verificar as soluções
obtidas, simulações são efetuadas numa ferramenta do Matlab, desenvolvida especificamente para
a projecção de controladores e simulação de sistemas, chamada Virtual Arena. Simulações de
robots e de drones em formação são feitas em duas configurações da rede de comunicações difer-
entes. Os resultados mostram que as leis de controlo não-linear baseadas em funções de Lyapunov
funcionam devidamente tanto no seguimento de trajetória, como no consenso dos drones.
i
ii
Abstract
For decades, humans have been using drones to replace human-crewed vehicles in high risk, high
cost, or space-constrained applications. Their capabilities lead to a constantly growing range of
applications and drones are no longer military. To account with the increasing of applications and
their complexity, motion control algorithms have been developed and optimized to make these
systems as independent and effective as possible. This kind of under-actuated vehicle has highly
non-linear and naturally unstable dynamics, which make their non-linear control especially chal-
lenging. The recent technological advances have incited developers towards cooperative motion
control of multiple agent systems. There are several applications where adaptable flocks of small,
autonomous vehicles seem to be the best solution.
In this dissertation, a Lyapunov-based control algorithm is proposed and analized. The main
goal of this algorithm is to implement a cooperative path following controller that makes the
drones follow a desired path and the flock achieves consensus. To this end, we start first with a
simpler, 2 dimentional, cooperative path following controller that is developed to a unicycle type
robot flock to get introduced to the tools, the theoretical preliminaries, and, firstly, easily approach
the consensus problem.
This controller, firstly, deals with the path following problem by making drones follow a de-
sired virtual point parametrized by a path parametric variable. Secondly, the desired parametric
variable speed of each drone is adjusted in order to keep them in formation, which happens when
these parametric variables are in consensus and evolving at the same desired speed.
To verify the obtained solutions, simulations are done using an object-oriented Matlab toolkit
for control design and system simulation, called Virtual Arena. Simulations for both unicycle
and drone flocks are performed with several distinct communication network configurations. The
results show that the nonlinear Lyapunov based control laws proposed work properly on both path
following and consensus problems.
iii
iv
Contents
1
.
Introduction
.
1.1 Context
.
.
1.2 Motivation .
1.3 Goals
.
.
.
1.4 Document Structure .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2 State of the Art, Fundamentals and Tools
.
.
.
.
.
.
.
.
2.1 State of the Art
2.1.1 Drones
2.1.2
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Flocking and Cooperative Path Following Algorithms . . . . . . . . . . .
2.2 Theoretical Preliminaries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.1 Graphs
2.2.2
Space State Model Representation . . . . . . . . . . . . . . . . . . . . .
2.2.3 Lyapunov’s Stability Theorem . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.4 Agreement Protocol
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3.1 Drone Flock Example
2.3 Virtual Arena .
.
.
.
.
.
.
.
.
.
3.1 Coordination Frames .
.
3.2 Quadcopter Model
.
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3 System Model
4 Motion Control
.
4.1 Path Following .
4.1.1 Unicycle
.
4.1.2 Quadcopter .
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2 Cooperative Path Following . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
5 Simulation Results
5.1 Unicycle Flock .
.
.
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.1.1
Path Following . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.1.2 Cooperative Path Following . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Path Following . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.2.1
5.2.2 Cooperative Path Following . . . . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
5.2 Drone Flock .
6 Conclusions
1
1
2
3
3
5
5
5
8
9
9
11
13
14
14
15
19
19
20
23
23
23
25
28
31
31
32
34
40
40
43
49
v
vi
CONTENTS