dissertacao_ eq matematica

96
Controlo de Voo e Estimação de Atitude de um Quadrirotor João Pedro Garrinho Alves Café Dissertação para obtenção do Grau de Mestre em Engenharia Aeroespacial Júri Presidente: Prof. João Manuel Lage de Miranda Lemos Orientador: Prof. José Raúl Carreira Azinheira Vogal: Prof. Alexandra Bento Moutinho Junho 2013

Upload: filipe-manso

Post on 17-Jan-2016

217 views

Category:

Documents


0 download

DESCRIPTION

Mat

TRANSCRIPT

Page 1: Dissertacao_ Eq Matematica

Controlo de Voo e Estimação de Atitude de umQuadrirotor

João Pedro Garrinho Alves Café

Dissertação para obtenção do Grau de Mestre em

Engenharia Aeroespacial

JúriPresidente: Prof. João Manuel Lage de Miranda Lemos

Orientador: Prof. José Raúl Carreira AzinheiraVogal: Prof. Alexandra Bento Moutinho

Junho 2013

Page 2: Dissertacao_ Eq Matematica

Abstract

This work propose linear and nonlinear solutions for the flight control and attitude estimation of a

quadrotor. A model of the aircraft QUAVIST, developed by UAVision®, is introduced as a basis for

the analysis. Then, a cascade control design is defined. A low level controller stabilize the quadrotor’s

attitude and altitude; an high level controller acts on the low level one, controlling the horizontal position

of the aircraft. Two approaches are presented for the controllers: an optimal linear LQR solution and a

Lyapunov based nonlinear solution. The attitude estimation problem is then considered. Two extended

Kalman filters are designed to estimate the quadrotor’s attitude. Based on Lyapunov’s stability theory,

a nonlinear estimator is proposed for the attitude and angular velocity of the aircraft. Finally, several

closed loop simulations are performed. The Lyapunov low level controller presents better results than the

LQR linear version, in simulations with high pitch and roll angles. Both high level controllers are robust

to wind disturbances. All the three estimators proved to be good solutions to estimate the quadrotor’s

attitude. The Lyapunov based estimation presented better simulation results.

Keywords: quadrotor, nonlinear estimation, LQR, Lyapunov, extended Kalman filter

ii

Page 3: Dissertacao_ Eq Matematica

Resumo

Este trabalho propõe soluções lineares e não lineares para o controlo de voo e estimação de atitude de um

quadrirotor. Um modelo da aeronave QUAVIST, desenvolvido pela empresa UAVision®, é introduzido

como base da análise. De seguida, um projecto de controlo de cascata é definido. Um controlador de

baixo nível estabiliza a atitude e altitude do quadrirotor; um controlador de alto nível actua sobre este

controlador, controlando a posição horizontal da aeronave. São apresentadas duas abordagens para os

controladores: uma solução de controlo linear e óptima por LQR e uma solução não linear, baseada na

teoria de estabilidade de Lyapunov. O problema da estimação da atitude é então considerado. Dois

filtros de Kalman extendidos são projectados para estimar a atitude da aeronave. Baseada na teoria de

estabilidade de Lyapunov, é proposta uma solução não linear para a estimação da atitude e velocidade

angular da aeronave. Por fim, são efectuadas várias simulações em anel fechado combinando as soluções

de controlo e estimação propostas. O controlador não linear de baixo nível apresenta melhores resultados

que a versão linear, para simulações com ângulos de picada e rolamento elevados. Ambos os controladores

de alto nível são robustos a perturbações de vento nas simulações. Os três estimadores provaram ser boas

soluções para a estimação da atitude do quadrirotor. A estimação baseada em Lyapunov apresentou os

melhores resultados, em simulação.

Palavras-chave: quadrirotor, estimação não linear, LQR, Lyapunov, filtro de Kalman extendido

iii

Page 4: Dissertacao_ Eq Matematica

Conteúdo

Lista de Figuras vii

Lista de Tabelas viii

Notação x

1. Introdução 1

1.1. Contexto e motivação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.1.1. Estado de arte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

1.2. Objectivos, contribuições e estrutura do documento . . . . . . . . . . . . . . . . . . . . . . 3

I. Modelação 4

2. Definições 5

2.1. Convenções matemáticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2.2. Descrição e funcionamento de um quadrirotor . . . . . . . . . . . . . . . . . . . . . . . . . 6

2.3. Simplificações e hipóteses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

3. Modelação do movimento de um quadrirotor 8

3.1. Orientação de um corpo rígido . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

3.1.1. Ângulos de Euler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

3.1.2. Quaterniões . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

3.2. Cinemática e dinâmica de um quadrirotor . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

3.3. Equações adicionais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

4. QUAVIST 13

4.1. Descrição . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

4.2. Sensores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

4.2.1. Acelerómetro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

4.2.2. Giroscópio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

4.2.3. Magnetómetro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

4.2.4. Sonar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

4.2.5. Barómetro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

4.2.6. GPS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

iv

Page 5: Dissertacao_ Eq Matematica

4.2.7. Determinação experimental do ruído Gaussiano . . . . . . . . . . . . . . . . . . . . 18

4.3. Actuadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

4.3.1. Modelo da hélice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

4.3.2. Modelo do motor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

4.4. Modelo Simulink . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

II. Controlo e estimação 24

5. Estabilidade 25

5.1. Introdução teórica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

5.2. Linearização do modelo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

5.2.1. Modelo de processo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

5.2.2. Modelo de observação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

5.3. Análise de estabilidade, controlabilidade e observabilidade . . . . . . . . . . . . . . . . . . 28

6. Controlo óptimo 30

6.1. LQR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

6.2. Projecto de controlo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

6.3. Controlador de baixo nível . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

6.3.1. Simulação e avaliação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

6.3.2. Implementação real . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

6.3.2.1. Simulação e avaliação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

6.3.2.2. Teste experimental . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

6.4. Controlador de alto nível . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

6.4.1. Simulação e avaliação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

6.5. Discussão . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

7. Controlo não linear 46

7.1. Teoria de estabilidade de Lyapunov . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

7.2. Backstepping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

7.3. Controlador de baixo nível . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

7.3.1. Simulação e avaliação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

7.4. Controlador de alto nível . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

7.4.1. Simulação e avaliação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

7.5. Discussão . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

8. Estimação não linear 63

8.1. Filtro de Kalman extendido . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

8.1.1. Filtro de atitude . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

8.1.1.1. Avaliação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

v

Page 6: Dissertacao_ Eq Matematica

8.1.2. Filtro de atitude simplificado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

8.1.2.1. Avaliação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

8.2. Estimação de Lyapunov . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

8.2.1. Avaliação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

8.3. Discussão das soluções de estimação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

8.4. Simulações em anel fechado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

9. Conclusões e trabalho futuro 79

vi

Page 7: Dissertacao_ Eq Matematica

Lista de Figuras

1.1. Modelo md4-1000 da empresa microdrones® . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.2. Quadrirotores da história . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

2.1. Sistema de coordenadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

2.2. Manobras de um quadrirotor (retirada de [10]) . . . . . . . . . . . . . . . . . . . . . . . . 7

4.1. Aeronave QUAVIST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

4.2. Arquitectura do sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

4.3. Sistema de actuação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

4.4. Esquema do motor (de [13]) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

4.5. Modelo do sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

4.6. Bloco Motores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

4.7. Bloco Sensores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

5.1. Estabilidade de um sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

6.1. Sistema de controlo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

6.2. Controlo de baixo nível: simulação 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

6.3. Controlo de baixo nível: simulação 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

6.4. Controlo de baixo nível: simulação 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

6.5. Simulação do controlo de altitude . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

6.6. Teste experimental do controlo de altitude . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

6.7. Controlo de posição: simulação 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

6.8. Controlo de posição: simulação 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

6.9. Velocidade horizontal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

6.10. Controlo de velocidade e posição: simulação 1 . . . . . . . . . . . . . . . . . . . . . . . . . 43

6.11. Controlo de velocidade e posição: simulação 2 . . . . . . . . . . . . . . . . . . . . . . . . . 44

6.12. Resposta do ângulo de guinada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

6.13. Velocidade horizontal em NED . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

7.1. Controlo de baixo nível: simulação 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

7.2. Controlo de baixo nível: simulação 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

7.3. Controlo de baixo nível: simulação 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

7.4. Cálculo das funções V e V . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

vii

Page 8: Dissertacao_ Eq Matematica

7.5. Controlo de alto nível: simulação 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

7.6. Funções V2 e V2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

7.7. Controlo de alto nível: simulação 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

7.8. Ângulo e razão angular de guinada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

7.9. Velocidade horizontal da aeronave . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

7.10. Funções V2 e V2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

7.11. Posição da aeronave . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

7.12. Atitude da aeronave . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

8.1. Estimação de atitude . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

8.2. Estimação de atitude . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

8.3. Estimação de atitude . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

8.4. Estimação de atitude . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

8.5. Estimação de velocidade angular . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

8.6. Funções V e V . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

8.7. Estimação com dados reais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

8.8. Controlo linear de baixo nível com estimação de Kalman . . . . . . . . . . . . . . . . . . . 75

8.9. Controlo linear de baixo nível com estimação de Lyapunov . . . . . . . . . . . . . . . . . . 75

8.10. Controlo não linear de baixo nível com estimação de Kalman . . . . . . . . . . . . . . . . 76

8.11. Controlo não linear de baixo nível com estimação de Lyapunov . . . . . . . . . . . . . . . 76

8.12. Controlo linear de alto nível . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

8.13. Controlo não linear de alto nível . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

viii

Page 9: Dissertacao_ Eq Matematica

Lista de Tabelas

4.1. Sensores a bordo do QUAVIST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

4.2. Características do ADXL335 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

4.3. Características do ADXRS620 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

4.4. Características do ADXRS620 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

4.5. Características do MB1220 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

4.6. Características do BMP085 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

4.7. Medição do ruído dos sensores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

4.8. Constantes do motor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

6.1. Características do anel fechado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

6.2. Tempos de subida e estabelecimento da Figura 6.2 . . . . . . . . . . . . . . . . . . . . . . 34

6.3. Dados experimentais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

6.4. Características do anel fechado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

6.5. Tempos de subida e estabelecimento da Figura 6.8 . . . . . . . . . . . . . . . . . . . . . . 41

6.6. Características do anel fechado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

6.7. Tempos de subida e estabelecimento da Figura 6.10 . . . . . . . . . . . . . . . . . . . . . . 43

7.1. Tempos de subida e estabelecimento da Figura 7.1 . . . . . . . . . . . . . . . . . . . . . . 52

7.2. Tempos de subida e estabelecimento da Figura 7.5 . . . . . . . . . . . . . . . . . . . . . . 58

8.1. Características do erro de atitude . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

8.2. Características do erro de atitude . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

8.3. Características do erro de atitude . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

8.4. Características do erro de atitude . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

8.5. Características dos erros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

8.6. Afinação dos controladores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

ix

Page 10: Dissertacao_ Eq Matematica

Notação

A seguinte notação é utilizada ao longo deste trabalho. As variáveis são listadas por ordem de aparição.

Acrónimos

UAV Unmanned Aerial Vehicle

VTOL Vertical Take-Off and Landing

PID Proportional Integral Derivativo

LQR Linear Quadratic Regulator

NED North East Down

PWM Pulse Width Modulation

Lista de variáveis

PI = [X,Y, Z]T Posição do quadrirotor

Vq = [U, V,W ]T Velocidade do quadrirotor

Ψ = [φ, θ, ψ]T Atitude do quadrirotor em ângulos de Euler

Ωq = [P,Q,R]T Velocidade angular do quadrirotor

w = [w1, w2, w3, w4]T Velocidade angular de cada hélice do quadrirotor

S Matriz de rotação do quadrirotor com formulação em ângulos de Euler

q = [q0, q1, q2, q3]T Atitude do quadrirotor em quaterniões

Sq Matriz de rotação do quadrirotor com formulação em quaterniões

m Massa do quadrirotor

gI Força gravitacional

Fq = [Fx, Fy, Fz]T Força total exercida pelos quatro rotores do quadrirotor

J Tensor de inércia do quadrirotor

Mq = [Mx,My,Mz]T Momento total exercido pelos quatro rotores do quadrirotor

Vqar Velocidade do quadrirotor em relação à velocidade do vento

Vvento = [WN ,WE ,WD]T Velocidade do vento

Fa Força aerodinâmica devido ao efeito do vento

x

Page 11: Dissertacao_ Eq Matematica

kax, kay, kaz Constantes aerodinâmicas

d Distância entre o centro de rotação da hélice e o centro de massa da aeronave, no plano xy

dz Distância entre o acelerómetro e o centro de massa da aeronave, medida no eixo z

rh Raio da hélice do quadrirotor

aq Saída do acelerómetro

Ωq Saída do giroscópio

Nq Saída do magnetómetro

Zs Saída do sonar

hb Pressão barométrica

Zb Saída do barómetro

G Saída do GPS

µa Componente de ruído Gaussiano do acelerómetro

ba Offset do acelerómetro

µg Componente de ruído Gaussiano do giroscópio

bg Offset do giroscópio

µm Componente de ruído Gaussiano do magnetómetro

bm Offset do magnetómetro

µs Componente de ruído Gaussiano do sonar

µb Componente de ruído Gaussiano do barómetro

µgps Componente de ruído Gaussiano do GPS

σ Desvio padrão

N0 Densidade espectral do ruído

f Frequência de cada sensor

Kt Constante de força da hélice

Km Constante de binário da hélice

cT Coeficiente de força da hélice

cP Coeficiente de potência da hélice

xi

Page 12: Dissertacao_ Eq Matematica

ρ Densidade do ar

Fi Força produzida por cada hélice do quadrirotor

Mi Momento produzido por cada hélice do quadrirotor

K Constante da hélice

i Corrente eléctrica do motor

Vb Tensão da bateria do quadrirotor

V Tensão do motor

V Rácio entre a tensão de alimentação do motor e a tensão total da bateria

uS Comando enviado pelo controlador do sistema que gere a aeronave QUAVIST

η eficiência máxima do motor

τm Constante de tempo do sistema mecânico do motor

τe Constante de tempo do sistema eléctrico do motor

iq Quantização da entrada de cada motor

p Pólo de um sistema linear

A,B,C,D Matrizes de um sistema linear em espaço de estados

x Vector de estado de um sistema linear

u Vector de entrada de um sistema linear

y Vector de saída de um sistema linear

(x0,u0) Ponto de linearização de um sistema

f (x,u) Modelo não linear de um sistema

Ge Ganho estático de cada motor

n Número de estados de um dado sistema

KLQR Matriz de ganho do LQR

Q,R Matrizes de ponderação do LQR

xA Vector de estados utilizado no controlo de alto nível

fA Frequência de amostragem do controlador de alto nível

xii

Page 13: Dissertacao_ Eq Matematica

xB Vector de estados utilizado no controlo de baixo nível

fB Frequência de amostragem do controlador de baixo nível

KB Matriz de ganho LQR do controlador de baixo nível

Ad,Bd,Cd,Dd Matrizes de um sistema linear discreto em espaço de estados

Rd,Qd Matrizes de ponderação do LQR para um sistema discreto em espaço de estados

T Período de amostragem

ts Tempo de subida

te Tempo de estabelecimento

uA Vector de entrada do sistema linear em espaço de estados de alto nível

S′ψ Matriz de rotação do ângulo de guinada

KA Matriz de ganho LQR do controlador de alto nível

η Vector erro de posição horizontal

γ Variável introduzida pelo utilizador que representa a separação entre os dois modos de voo

do controlo de alto nível

V0 Módulo da velocidade horizontal

a Componente real do pólo pi

b Componente complexa do pólo pi

ζ Factor de amortecimento

wd Frequência natural de amortecimento

RC Variável interna do sistema do QUAVIST

a Constante de proporcionalidade entre RC e Fz

Wb Velocidade vertical fornecida pelo sistema do QUAVIST

iRC Quantização da variável RC

iFZQuantização da força vertical produzida pelo quadrirotor

V(x) Função de Lyapunov

R = STq Matriz de rotação com formulação em quaterniões

eR Erro de atitude da função de Lyapunov de baixo nível

xiii

Page 14: Dissertacao_ Eq Matematica

D,∆,a,b,Λ Constantes de afinação do controlo não linear de baixo nível

xh Posição horizontal do quadrirotor

vh Velocidade horizontal do quadrirotor

ah Aceleração horizontal do quadrirotor

α,β Constantes de afinação do controlo não linear de alto nível

C0 Constante utilizada no controlo não linear de velocidade horizontal

Qk,Rk Covariância de processo e observação

Pk|k Matriz de covariância do erro

xk|k Estimação de Kalman do estado do sistema

Kk Ganho de Kalman

yk Vector de medições

P0 Estimativa inicial da covariância do erro

x0 Estimativa inicial do vector de estado

m Média

xrms Valor eficaz

ew Erro de velocidade angular da estimação de Lyapunov

R Estimação da matriz de rotação

Rm Matriz de rotação construída a partir das medições do acelerómetro

wm Medições do giroscópio

w Estimação da velocidade angular

4,D,a Constantes de afinação da estimação de Lyapunov

xiv

Page 15: Dissertacao_ Eq Matematica

1. Introdução

Neste Capítulo é feita uma primeira abordagem ao tema desta tese. É apresentada uma secção de contexto

e motivação acerca do tema, bem como um sucinto estado de arte. Por fim são introduzidos os objectivos,

as contribuições e a estrutura deste documento.

1.1. Contexto e motivação

Nas últimas décadas a utilização de veículos aéreos não tripulados (usualmente denominados de UAV, Un-

manned Aerial Vehicle) tem sido cada vez mais comum, desempenhando funções em inúmeras aplicações:

operações de salvamento e resgate, reconhecimento e vigilância aérea, sensoriamento remoto, transporte

de bens em áreas de difícil acesso, investigação científica ou detecção de incêndios florestais. Sistemas de

controlo de voo têm sido desenvolvidos de forma a que os UAVs possam navegar e executar estas tarefas

autonomamente. A tecnologia destes veículos tem evoluído no sentido de produzir aeronaves com elevada

manobrabilidade, capazes de executar o voo pairado e aterrar e descolar verticalmente (VTOL, Vertical

Take-Off and Landing).

O quadrirotor (Figura 1.1) é um multicóptero impulsionado por quatro rotores que reúne estas três

características. Estas aeronaves têm um custo relativamente baixo, um design mecânico simples (em

comparação com os helicópteros, por exemplo) e podem ser projectadas em diferentes tamanhos para

diferentes condições de voo. O uso de quatro rotores é também vantajoso pois permite que as hélices

tenham um diâmetro mais reduzido, produzindo consequentemente uma menor energia cinética durante o

voo. Por estes motivos, o seu estudo e desenvolvimento tem despertado bastante interesse na comunidade

cientifica.

Figura 1.1.: Modelo md4-1000 da empresa microdrones®

Historicamente, o conceito do quadrirotor não é novo. Em 1922, Etienne Oehmichen construiu o

primeiro quadrirotor: o Oehmichen No. 2 (Figura 1.2). O seu primeiro voo foi feito a 22 de Novembro

de 1922. O Oehmichen No. 2 foi uma de seis aeronaves de asas rotativas construídas à escala por

Oehmichen. Esta aeronave possuía uma estrutura em forma de cruz, comum nos quadrirotores de hoje

1

Page 16: Dissertacao_ Eq Matematica

em dia, com quatro rotores e oito hélices alimentadas por um único motor de 120 HP. Cinco hélices eram

utilizadas na obtenção da propulsão e estabilidade lateral da aeronave, duas permitiam o seu deslocamento

no plano horizontal e uma hélice controlava o seu rumo. A aeronave exibia uma grau de estabilidade e

controlabilidade consideráveis para o seu tempo; foram realizados mais de mil voos de teste durante a

década de 20.

Também no início dos anos 20, em colaboração com o exército dos Estados Unidos, Dr. George de

Bothezat construiu uma aeronave de conceito semelhante à de Oehmichen (Figura 1.2). Era composta

por seis rotores dispostos nas extremidades de uma estrutura em forma de cruz. Realizou o seu primeiro

voo a 18 de Dezembro de 1922. Foram feitos cerca de 100 voos no ano de 1923; a maior altura de voo

registada é de 5 metros. O exército dos EUA cancelou o projecto em 1924, pois a aeronave apresentava

alguns problemas: era mecanicamente complexa, pouco manobrável, tinha pouca potência e não era fiável.

Em 1956 o conceito do quadrirotor é de novo considerado com a construção da aeronave Convertawings

Model A (Figura 1.2), concebida para ser o protótipo de uma linha de quadrirotores civis e militares.

Voou inúmeras vezes no final dos anos 50 e foi a primeira aeronave a validar com sucesso o conceito

do quadrirotor. No entanto, o projecto foi terminado por falta de encomendas de versões comerciais e

militares.

Figura 1.2.: Quadrirotores da história

1.1.1. Estado de arte

No âmbito da investigação científica, várias soluções para o controlo de voo e estimação da atitude de

um quadrirotor têm sido desenvolvidas e aperfeiçoadas.

A referência [23] apresenta uma solução não linear, baseada na teoria de estabilidade de Lyapunov,

para o controlo da atitude, altitude e posição horizontal de um quadrirotor. Em [11] é introduzida uma

solução não linear, baseada na teoria de estabilidade de Lyapunov, para o controlo da atitude e posição

horizontal de um quadrirotor. A referência [17] apresenta um design PD2 para o controlo da atitude

deste tipo de aeronaves; [29] apresenta um solução PID para o controlo de voo. Em [10] é desenvolvido

um controlo LQR da atitude e posição, um filtro complementar e um filtro de Kalman extendido para

a estimação da atitude. A referência [27] faz uma comparação entre duas soluções, PID e LQ, para o

controlo de voo de um quadrirotor. [28] apresenta um controlo de voo não linear, utilizando as técnicas

de backstepping e sliding-mode. Um filtro de Kalman extendido para a atitude do quadrirotor é mostrado

em [30].

2

Page 17: Dissertacao_ Eq Matematica

1.2. Objectivos, contribuições e estrutura do documento

Este trabalho tem como principais objectivos:

• Propor soluções — lineares e não lineares — de controlo de voo autónomo de um quadrirotor.

Primeiro é tratado o problema da estabilização da atitude e altitude da aeronave. Posteriormente,

são apresentadas soluções para o seguimento de referências de posição horizontal da aeronave.

• Propor métodos não lineares para a estimação da atitude do quadrirotor, baseada nas medições de

um acelerómetro de três eixos, um giroscópio de três eixos e um magnetómetro de três eixos.

• Caracterizar e modelar computacionalmente a aeronave QUAVIST, desenvolvida pela empresa

UAVision®.

Graças ao trabalho desenvolvido pelo Prof. Azinheira, a principal contribuição desta tese é:

• A estimação de Lyapunov da atitude e velocidade angular de um quadrirotor.

Este trabalho está estruturado em duas partes. Na primeira parte são apresentadas as convenções utili-

zadas neste trabalho (Capítulo 2), as equações não lineares da dinâmica e cinemática de um quadrirotor

(Capítulo 3), uma descrição geral do quadrirotor QUAVIST, a caracterização experimental e modelação

dos sensores e actuadores desta aeronave e, por fim, o modelo computacional do QUAVIST implementado

no software Matlab® (Capítulo 4). Na segunda parte, no Capítulo 5, é primeiro apresentada uma análise

de estabilidade para este tipo de aeronaves e uma linearização do sistema não linear de equações da

dinâmica e cinemática. É desenvolvida uma solução linear para o controlo da atitude e altitude da aero-

nave e uma solução linear para o controlo da sua posição horizontal (Capítulo 6). Também no Capítulo

6 é descrito o controlador linear de altitude implementado no QUAVIST, junto com alguns resultados

experimentais obtidos. Depois, no Capítulo 7, são apresentadas soluções não lineares para o controlo

da atitude, altitude e posição horizontal da aeronave. No Capítulo 8 são propostas três soluções não

lineares para a estimação de atitude da aeronave; são também feitas algumas simulações em anel fechado

utilizando as várias propostas de controlo e estimação. As conclusões e os aspectos a melhorar acerca do

trabalho desenvolvido são apresentados em último lugar, no Capítulo 9.

3

Page 18: Dissertacao_ Eq Matematica

Parte I.

Modelação

4

Page 19: Dissertacao_ Eq Matematica

2. Definições

Neste Capítulo é apresentada uma breve descrição do conceito geral e modo de funcionamento de um

quadrirotor (Secção 2.2). A Secção 2.1 apresenta as principais convenções matemáticas consideradas

neste trabalho. Por fim, na Secção 2.3, são introduzidas algumas simplificações ao modelo físico.

2.1. Convenções matemáticas

Para descrever matematicamente o comportamento físico de um quadrirotor são necessários dois sis-

temas de coordenadas: um localizado no solo (assumido como inercial) e outro centrado na aeronave,

acompanhando o seu movimento. Ambos são direitos, tridimensionais e cartesianos.

O sistema de referência é denominado NED (ver Figura 2.1), está centrado no solo, é local e inercial

(a rotação da Terra é desprezada). Este referencial respeita a convenção NED (North East Down),

usualmente utilizada em aplicações aeroespaciais, em que os eixos orientados para Norte e Este estão

contidos num plano tangente à superfície da Terra e o terceiro eixo aponta para o centro da mesma.

O facto de ser um referencial local não introduz complicações pois o alcance deste tipo de aeronave é

relativamente pequeno (algumas centenas de metros).

Como se pode observar na Figura 2.1 o segundo sistema de coordenadas, xyz, está centrado no centro

de massa da aeronave. O semi-eixo positivo de x corresponde à frente da aeronave.

Neste trabalho, matrizes e vectores serão apresentados a negrito. Definiu-se ainda que os vectores

representados no referencial NED possuem o sobrescrito I (de Inercial). Por outro lado, vectores relativos

ao sistema de coordenadas xyz estão marcados com o sobrescrito q (de quadrirotor).

As variáveis utilizadas na formulação do modelo físico foram as seguintes:

• PI = [X,Y, Z]T, é a posição do quadrirotor em metros (m). Corresponde à representação de oq(origem do referencial xyz) no sistema de coordenadas NED.

• Vq = [U, V,W ]T é a velocidade do quadrirotor, em metros por segundo (m/s), expressa no referen-

cial xyz.

• Ψ = [φ, θ, ψ]T define a atitude da aeronave: rolamento, picada e guinada (em radianos, rad). Estes

três ângulos, denominados de ângulos de Euler, exprimem a orientação do referencial xyz em relação

ao referencial NED.

• Ωq = [P,Q,R]T representa a velocidade angular do quadrirotor, em radianos por segundo (rad/s).

P , Q e R simbolizam, respectivamente, as velocidades angulares em torno dos eixos x, y e z.

5

Page 20: Dissertacao_ Eq Matematica

Figura 2.1.: Sistema de coordenadas

2.2. Descrição e funcionamento de um quadrirotor

Um quadrirotor é uma aeronave de asas rotativas constituída por quatro rotores (conjunto formado

pelo motor e hélice) dispostos no mesmo plano, usualmente de forma simétrica. A deflecção do ar para

baixo provocada pela rotação dos rotores causa dois efeitos: uma reacção que gera uma força contrária

à deflecção (para cima), e uma diferença de pressão, provocada pela diferença de velocidade na parte

superior e inferior da hélice (maior na parte superior). Estes dois efeitos conjugados geram uma força de

sustentação na aeronave.

Como se pode observar na Figura 2.1 as hélices da aeronave estão agrupadas em dois pares girando

em direcção contrária, sendo cada par formado pelas hélices em posição oposta. Os motores M1 e M3

rodam no sentido dos ponteiros do relógio enquanto que os motores M2 e M4 giram na direcção contrária.

Desta forma o momento produzido por cada par é anulado, na situação em que os quatro motores giram

à mesma velocidade angular. As hélices estão dispostas horizontalmente a um ângulo de ataque fixo, ao

contrário dos helicópteros, que possuem mecanismos que permitem variar o ângulo de ataque. Este facto

pode ser encarado como uma vantagem, pois a ausência deste tipo de mecanismo simplifica o design e a

manutenção da aeronave. Através da variação das velocidades angulares de cada motor é possível realizar

as manobras apresentadas na Figura 2.2.

A velocidade angular de cada hélice é representada por w = [w1, w2, w3, w4]T. Nas manobras a) e b)

existe um movimento de rolamento, isto é, uma rotação positiva (no sentido dos ponteiros do relógio)

ou negativa em torno do eixo x. Esta rotação é obtida variando as velocidades w2 e w4 e resulta numa

translação ao longo do eixo y. Se w2 > w4, o quadrirotor desloca-se no sentido positivo de y.

Para as manobras c) e d) o comportamento da aeronave é similar ao caso anterior, sendo a rotação

feita em torno do eixo y e a consequente translação horizontal ao longo de x. Esta rotação, denominada

picada, é causada por uma alteração nas velocidades w1 e w3. Para w3 > w1 o deslocamento é feito no

sentido positivo do eixo x.

Os movimentos de guinada representados em e) e f) consistem numa rotação em torno do eixo z;

positiva no caso em que o par M1 e M3 gira a uma velocidade superior à do par M2 e M4. Nenhum

6

Page 21: Dissertacao_ Eq Matematica

deslocamento horizontal é gerado com este tipo de manobra.

O deslocamento vertical da aeronave, ao longo de z, ocorre quando as quatro hélices giram à mesma

velocidade. Em g) a força de sustentação da aeronave é superior ao seu peso, deslocando-se por isso

para cima (no sentido positivo de z). Na manobra h) acontece a situação contrária: o quadrirotor perde

altitude. Quando a força de sustentação iguala o peso da aeronave diz-se que esta se encontra em hover ,

ou voo pairado.

Figura 2.2.: Manobras de um quadrirotor (retirada de [10])

2.3. Simplificações e hipóteses

Com o intuito de modelar o comportamento físico desta aeronave assumiu-se que:

1. O quadrirotor é um corpo rígido.

2. O quadrirotor é simétrico nos planos xz e yz.

3. A inclinação magnética é desprezada.

4. O efeito de solo existente nas situações de aterragem e descolagem é desprezado.

5. O acelerómetro está localizado no eixo z.

6. As não-linearidades das baterias do quadrirotor são desprezadas.

7. Em situação de voo pairado as acelerações da aeronave são desprezadas.

8. Não existe escorregamento entre o motor e as hélices.

9. A rotação da Terra é desprezada.

7

Page 22: Dissertacao_ Eq Matematica

3. Modelação do movimento de um quadrirotor

Neste Capítulo introduz-se o problema da orientação de um corpo rígido (Secção 3.1). É discutida a

sua formulação em ângulos de Euler e em quaterniões. É também apresentado, na Secção 3.2, o sistema

completo de equações que modela a cinemática e a dinâmica de um quadrirotor. A Secção 3.3 insere um

conjunto de equações adicionais, úteis no decorrer deste trabalho.

3.1. Orientação de um corpo rígido

3.1.1. Ângulos de Euler

Leonhard Euler definiu que a orientação de um corpo rígido pode ser expressa por três ângulos. Esta

convenção pode ser utilizada na rotação de uma grandeza vectorial entre diferentes referenciais, como

demonstrado em [1]. Esta transformação deverá seguir uma sequência não comutativa de três rotações,

representadas na equação (3.1).

Sφ =

1 0 0

0 cosφ sinφ

0 − sinφ cosφ

,Sθ =

cos θ 0 − sin θ

0 1 0

sin θ 0 cos θ

,Sψ =

cosψ sinψ 0

− sinψ cosψ 0

0 0 1

(3.1)

Particularizando para o referencial xyz: Sφ origina uma rotação em torno do eixo x, Sθ em torno y e

Sψ à volta do eixo z.

Assim, para um dado vector N ∈ R3×1, a sua transformação do referencial NED para o referencial

xyz (NED → xyz) é dada por:

Nq = S NI (3.2)

onde S é a matriz de rotação, apresentada na equação (3.3).

S = SφSθSψ =

cos θ cosψ cos θ sinψ − sin θ

− cosφ sinψ + sinφ sin θ cosψ cosφ cosψ + sinφ sin θ sinψ sinφ cos θ

sinφ sinψ + cosφ sin θ cosψ − sinφ cosψ + cosφ sin θ sinψ cosφ cos θ

(3.3)

Repare-se que S é ortogonal (S−1 = ST) e tem determinante 1 (det S = 1); a sequência de rotações

SφSθSψ tem de ser cumprida. A transformação xyz → NED é obtida invertendo a equação (3.2):

8

Page 23: Dissertacao_ Eq Matematica

NI = ST Nq (3.4)

Inversamente, os ângulos de Euler podem ser calculados através da matriz de rotação por:

Ψ =

φ

θ

ψ

=

atan2 (S2,3,S3,3)

arcsin (S1,3)

atan2 (S1,2,S1,1)

(3.5)

3.1.2. Quaterniões

A similaridade entre coordenadas lineares e coordenadas angulares tornam a representação em ângulos de

Euler bastante intuitiva. Porém esta representação sofre de um problema de ambiguidade, denominado

gimbal lock. Este fenómeno (matematicamente demonstrado na equação (3.6)) acontece quando dois dos

três anéis de um giroscópio giram no mesmo plano, conduzindo à perda de um grau de liberdade no

espaço tridimensional. Analisando a equação (3.6) verifica-se que uma variação em φ ou ψ produz a

mesma matriz de rotação, ou seja: S pode representar duas orientações.

S(φ,π

2 , ψ)

=

0 0 −1

sin (φ− ψ) cos (φ− ψ) 0

cos (φ− ψ) − sin (φ− ψ) 0

(3.6)

A ambiguidade atrás referida pode ser evitada recorrendo a outros métodos para representar a atitude

do corpo rígido. Neste trabalho utilizou-se uma formulação baseada em quaterniões.

Um quaternião unitário, q = [q0, q1, q2, q3]T e ‖q‖ = 1, pertence a um sistema numérico que extende os

números complexos. Esta representação é mais eficiente computacionalmente e mais resistente a erros de

arredondamento. A equação (3.7) é utilizada na conversão entre ângulos de Euler e quaterniões, ambas

as notações codificando a mesma orientação.

q =

q0

q1

q2

q3

=

±(

cos φ2 cos θ2 cos ψ2 + sin φ2 sin θ

2 sin ψ2

)±(

sin φ2 cos θ2 cos ψ2 − cos φ2 sin θ

2 sin ψ2

)±(

cos φ2 sin θ2 cos ψ2 + sin φ

2 cos θ2 sin ψ2

)±(

cos φ2 cos θ2 sin ψ2 − sin φ

2 sin θ2 cos ψ2

)

(3.7)

De acordo com [1] a matriz de rotação pode ser escrita em função de q, dando origem a:

Sq =

1− 2

(q22 + q2

3)

2 (q1q2 + q3q0) 2 (q1q3 − q2q0)

2 (q1q2 − q3q0) 1− 2(q21 + q2

3)

2 (q2q3 + q1q0)

2 (q1q3 + q2q0) 2 (q2q3 − q1q0) 1− 2(q21 + q2

2) (3.8)

Uma vez que ambas as notações codificam a mesma orientação, os ângulos de Euler podem ser recu-

perados aplicando a equação (3.5) para Sq.

9

Page 24: Dissertacao_ Eq Matematica

3.2. Cinemática e dinâmica de um quadrirotor

O modelo matemático que rege o comportamento de um quadrirotor foi formulado tendo como principal

bibliografia a referência [1]. Consiste num sistema de quatro equações não lineares e diferenciais em

ordem a P, V, q e Ω: posição, velocidade, atitude e velocidade angular. As equações (3.9) e (3.10)

(cinemática) e (3.11) e (3.12) (dinâmica) compõem o referido sistema.

PI = STq Vq Equação da navegação (3.9)

qI = −12ωqq

I Equação da atitude (3.10)

Vq = 1m

Fq −Ωq ×Vq + SqgI Equação das forças (3.11)

Ωq = −J−1 (Ωq × (JΩq)) + J−1Mq Equação dos momentos (3.12)

A equação (3.9) exprime a relação entre a posição PI do quadrirotor, relativa aNED, e a sua velocidade

Vq dada no referencial xyz. A obtenção da equação (3.10) é remetida para [1]. Esta representa a variação

da atitude (qI) em função da velocidade angular, mapeada pela matriz ωq:

ωq =

0 P Q R

−P 0 −R Q

−Q R 0 −P

−R −Q P 0

(3.13)

Por sua vez, a equação (3.11) resulta da directa aplicação da segunda lei de Newton:

Fq + SqmgI = d

dt

I(mVq) (3.14)

com recurso ao teorema de Coriolis

d

dt

I(Vq) = Vq + Ωq ×Vq (3.15)

Fq ∈ R3 representa a força exercida pelos quatro motores e gI = [0, 0, g0]T é a força gravitacional,

ambas aplicadas no quadrirotor de massa m. A segunda lei de Newton na forma rotacional é descrita

pela equação (3.12), onde Ωq é a aceleração angular, J ∈ R3×3 representa o tensor de inércia do corpo

rígido e Mq ∈ R3 é o momento aplicado no quadrirotor.

Relembrando a simplificação 2 na Secção 2.3 e de acordo com [2], os três eixos de xyz são eixos principais

de inércia e consequentemente os produtos de inércia (Jxy, Jxz, Jyz) são nulos:

J =

Jx 0 0

0 Jy 0

0 0 Jz

(3.16)

A obtenção de Fq = [Fx, Fy, Fz]T e Mq = [Mx,My,Mz]T em função da força exercida por cada motor

10

Page 25: Dissertacao_ Eq Matematica

está dependente do modelo considerado para os actuadores, mais tarde introduzido no Capítulo 4.

O modelo do quadrirotor é finalmente apresentado, na sua forma matricial, pelo sistema de equações

(3.17). Este sistema não linear toma como estado x = [V,Ω,P,q] e entrada u = [F,M].

U

V

W

= 1m

Fx

Fy

Fz

+ g0

2 (q1q3 − q2q0)

2 (q2q3 + q1q0)

1− 2(q21 + q2

2)−

QW −RV

RU − PW

PV −QU

P

Q

R

=

Mx

Jx

My

Jy

Mz

Jz

(Jz−Jy)QRJx

(Jx−Jz)PRJy

(Jy−Jx)PQJz

X

Y

Z

= STq

U

V

W

q0

q1

q2

q3

= −12

0 P Q R

−P 0 −R Q

−Q R 0 −P

−R −Q P 0

q0

q1

q2

q3

(3.17)

3.3. Equações adicionais

O efeito do vento no sistema (3.17) pode ser compreendido como uma translação da massa de ar relativa-

mente ao sistema de coordenadas NED. A velocidade da aeronave é então dada em relação à velocidade

do vento, segundo a equação:

Vqar =

Uar

Var

War

=

U

V

W

− Sq

WN

WE

WD

(3.18)

As variáveis WN , WE e WD correspondem às componentes do vento no referencial NED. A força

aerodinâmica que actua na aeronave devido ao efeito do vento pode ser modelada por:

Fa = −

kaxUar |Uar|

kayVar |Var|

kazWar |War|

(3.19)

onde kax, kay e kaz são constantes aerodinâmicas. Neste trabalho, a menos que referido, assume-se que

a velocidade do vento é nula.

Em conclusão, são apresentadas as formulações em ângulos de Euler e matriz de rotação da equação

(3.10).

11

Page 26: Dissertacao_ Eq Matematica

Ψ =

φ

θ

ψ

=

1 tan θ sinφ tan θ cosφ

0 cosφ − sinφ

0 sinφcos θ

cosφcos θ

P

Q

R

(3.20)

Sq = −Ωq × Sq (3.21)

A equação (3.20) irá mais tarde ser utilizada nos Capítulos 5 e 8. Por sua vez, a equação (3.21) terá

importância no Capítulo 7. A sua demonstração pode ser consultada em [1].

12

Page 27: Dissertacao_ Eq Matematica

4. QUAVIST

O presente capítulo fornece ao leitor uma visão geral do quadrirotor utilizado no desenvolvimento deste

trabalho. Primeiro é apresentada uma descrição da aeronave, na Secção 4.1. As Secções 4.2 e 4.3 tratam,

respectivamente, da modelação dos sensores e actuadores. Por fim, a Secção 4.4 apresenta o modelo

computacional da aeronave, implementado no software Matlab®.

4.1. Descrição

A aeronave QUAVIST (Figura 4.1) foi desenvolvida pela empresa portuguesa UAVision®. É considerada

um produto final, na medida em que já possui soluções próprias de estabilização, controlo de altitude,

seguimento de trajectórias e software de estação de controlo. Incluí também variados algoritmos de

estimação e filtragem; a título de exemplo um filtro de Kalman de atitude e altitude. Pode ser utilizada

tanto em ambientes interiores como exteriores. Um comando DX8 da marca Spektrum é utilizado na

pilotagem do quadrirotor. No modo manual, este envia referências de rolamento (θ), picada (φ), razão

de guinada (ψ) e força vertical (-Fz). Note-se que o referencial de altitude do sistema de controlo do

QUAVIST é simétrico ao considerado neste trabalho, z = −zQUAV IST .

O sistema que gere a aeronave (esquema na Figura 4.2) é baseado no projecto Paparazzi ([3]). Este

encarrega-se de todas as tarefas de comunicação e ligação entre os terminais:

• Recebe e processa a informação dos sensores.

• Recebe o sinal rádio do comando.

Figura 4.1.: Aeronave QUAVIST

13

Page 28: Dissertacao_ Eq Matematica

Figura 4.2.: Arquitectura do sistema

• Aplica as leis de controlo e actua na aeronave.

• Comunica por telemetria com a estação de controlo.

Foi instalado um PC/104 a bordo da aeronave. Tem como função receber a mesma informação enviada

para a estação de controlo e enviar comandos no modo manual (θ, φ, ψ e −Fz) para o sistema principal.

A informação recebida pela estação de controlo poderá incluir — dependendo do perfil de telemetria

escolhido — a saída dos sensores, dados sobre os variadores de tensão dos motores, o resultado dos

algoritmos de estimação, o sinal RC enviado pelo comando, entre outros. O quadrirotor é alimentado por

uma bateria LiPo de quatro células de 14.8 V.

Procedeu-se à medição de alguns parâmetros físicos, considerados essenciais para a correcta modelação

deste quadrirotor:

• m = 2.93 kg é a sua massa, já incluindo o peso da bateria (mb = 0.5 kg)

• A distância entre o centro de rotação da hélice e o centro de massa da aeronave, no plano xy,

corresponde a d = 0.31 m

• A distância entre o acelerómetro e o centro de massa da aeronave, medida no eixo z, é de dz = 0.07 m.

Relembrando a simplificação 5 da Secção 2.3, dx = dy = 0.

• rh = 0.1651 m é o raio de cada hélice. Tratam-se de hélices de 13 ′′ com passo 6.5 ′′.

Não foi possível medir os tensores de inércia da aeronave. Os valores Jx = Jy = 3.8e − 3 kg ·m2 e

Jz = 7.1e − 3 kg ·m2 foram obtidos pelo Prof. Azinheira, relacionando a proporção entre as massas do

QUAVIST e do quadrirotor apresentado em [10] com os tensores de inércia da segunda aeronave.

4.2. Sensores

O quadrirotor está equipado com um vasto conjunto de sensores, listado na tabela 4.1.

14

Page 29: Dissertacao_ Eq Matematica

Sensor Marca ModeloAcelerómetro de três eixos Analog Devices® ADXL335Giroscópio de três eixos Analog Devices® ADXRS620

Magnetómetro de três eixos Honeywell® HMC5883LGPS Navilock® NL-652ETTL u-blox 6Sonar MaxBotix® MB1220

Barómetro Bosch® BMP085

Tabela 4.1.: Sensores a bordo do QUAVIST

4.2.1. Acelerómetro

O sensor ADXL335 é um acelerómetro analógico de três eixos de reduzidas dimensões (4mm × 4mm ×

1.45mm) e baixa potência.

Consiste numa superfície de polissilício suspensa, por intermédio de molas do mesmo material, sobre

um wafer (fina fatia de material semicondutor) de silício. A aceleração a que o corpo está sujeito provoca

uma deflexão na estrutura (medida usando um condensador diferencial) resultando numa amplitude de

tensão à saída do condensador proporcional à aceleração.

A Tabela 4.2 apresenta algumas das suas características, disponibilizadas na datasheet do fabricante

em [4].

Gama de medida ±3gSensibilidade 330 mV/gResolução 0.0023 m/s2

Largura de banda da saída (ax, ay, az) 0.5 a (1600, 1600, 550) Hz

Tabela 4.2.: Características do ADXL335

A sua saída é raciométrica, o que significa que a sensibilidade varia proporcionalmente com a tensão

de alimentação Vs (tipicamente Vs = 5 V). Este sensor fornece medidas em formato analógico, que

posteriormente são convertidas para digital através de um conversor A/D com uma resolução de 16

bits. A resolução do sensor, apresentada na Tabela 4.2, foi calculada através da fórmula (4.1); S é a

sensibilidade, n corresponde ao número de bits do conversor.

Res = Vs2nS = 5 · 9.8

65536 · 0.33 = 0.0023 m/s2 (4.1)

Como é sugerido em [10] o comportamento de um acelerómetro pode ser modelado pela equação (4.2),

para situações de quasi-estacionariedade (hover):

aq = SgI + Ω× r + Ω× (Ω× r) + µa + ba (4.2)

O termo ba representa a constante de offset que, segundo o fabricante, varia ±1 mg/ºC. µa simboliza a

componente de ruído Gaussiano que afecta o sensor. O aparecimento dos termos de aceleração tangencial

e centrípeta deve-se ao facto de o sensor não estar localizado no centro de massa aeronave (como já foi

referido anteriormente r = [0, 0, dz]T). A equação (4.2) pode ser reescrita em:

15

Page 30: Dissertacao_ Eq Matematica

a =

ax

ay

az

= g0

− sin θ

cos θ sinφ

cos θ cosφ

+

Qdz

−P dz0

+

RPdz

RQdz

−P 2dz −Q2dz

+ µa (4.3)

4.2.2. Giroscópio

O ADXRS620 é um sensor analógico que mede a razão angular no eixo normal à superfície onde se

encontra instalado. Com três sensores deste tipo dispostos ortogonalmente, é possível medir o vector Ω =

[P,Q,R]T. O funcionamento deste sensor assenta no princípio de Coriolis: uma pequena massa é mantida

em ressonância, gerando uma aceleração de Coriolis associada à sua velocidade (ac = −2 (v × Ω)) durante

um movimento de rotação angular. Uma estrutura capacitiva detecta esta componente de aceleração

que, após uma série de etapas de amplificação e desmodulação, é convertida para razão angular (em

valor de tensão eléctrica). A datasheet do sensor (em [5]) apresenta algumas das características deste

sensor, reunidas na Tabela 4.3. Note-se que a sensibilidade é raciométrica com a tensão de alimentação,

tipicamente Vs = 5 V. O cálculo da resolução é semelhante ao apresentado na Subsecção 4.2.1.

Gama de medida ±300º/sSensibilidade 6 mv/ (º/s)

Densidade de ruído 0.05 (º/s) /√

HzResolução 0.0127 º/s

Largura de banda da saída [0.01, 2500] Hz

Tabela 4.3.: Características do ADXRS620

A equação que modela o sistema de sensores que compõem o giroscópio de três eixos é dada por:

Ωq =

gx

gy

gz

= Ωq + µg + bg (4.4)

onde Ωq e Ωq simbolizam as razões angulares medidas pelos sensores e reais, respectivamente. O termo

bg é o offset do sensor, µg corresponde à componente de ruído Gaussiano.

4.2.3. Magnetómetro

O modelo HMC5883L é um sensor digital utilizado para medir a direcção e a magnitude do campo

magnético terrestre. Inclui um conversor A/D de 12 bits, fornecendo uma precisão de ângulo de guinada

(distância angular ao Norte magnético) da ordem de 1–2º. As suas características podem ser observadas

na Tabela 4.4. A datasheet do sensor pode ser consultada em [6].

Gama de medida ±8 GsRuído 2 mGs

Resolução [0.73, 4.35] mGsLargura de banda da saída [0.75, 75] Hz

Tabela 4.4.: Características do ADXRS620

16

Page 31: Dissertacao_ Eq Matematica

De acordo com [10], o comportamento de um magnetómetro de três eixos pode ser modelado por:

Nq = SNI + µm + bm (4.5)

NI = [1, 0, 0]T representa o vector de Norte magnético no referencial inercial (NED). Note-se que

a inclinação magnética não foi considerada. Nq é a medida do vector magnético fornecida pelo sensor,

µm e bm simbolizam as respectivas componentes de ruído Gaussiano e offset. A equação (4.5) pode ser

extendida para:

N =

Nx

Ny

Nz

=

cos θ cosψ

cosψ sinφ sin θ − cosφ sinψ

cosψ cosφ sin θ + sinφ sinψ

+ µm + bm (4.6)

4.2.4. Sonar

O MB1220 é um medidor de distância ultrasónico que utiliza a propagação do som para determinar a

distância a um alvo. É utilizado com o objectivo de determinar a distância ao solo — funcionando como

um sensor de altitude — e toma especial importância em ambientes interiores. Este sensor possui saídas

analógica e digital (por porta série). Algumas das suas caraterísticas técnicas são disponibilizadas na

Tabela 4.5 (datasheet em [7]).

Gama de medida [20, 765] cmSensibilidade analógica (Vs = 3.3 V) 3.2 mV/cm

Resolução 1 cmFrequência 10 Hz

Tabela 4.5.: Características do MB1220

O comportamento deste sensor é descrito matematicamente por:

Zs = Z + µs (4.7)

4.2.5. Barómetro

A aeronave está equipada com outro sensor capaz de medir a sua altitude: o sensor digital de pressão

BMP085. Incorpora também medições de temperatura. Na Tabela 4.6 pode-se observar algumas das

suas características.

Gama de medida [300, 1100] hPaPrecisão (pressão) ±0.2 hPaPrecisão (temp.) ±0.5 ºC

Densidade de ruído 0.05 hPa rmsResolução (pressão) 0.01 hPaResolução (temp.) 0.1 ºC

Frequência 50 Hz

Tabela 4.6.: Características do BMP085

17

Page 32: Dissertacao_ Eq Matematica

Citando a datasheet deste sensor ([8]), a pressão barométrica pode ser convertida em altitude absoluta

utilizando a seguinte fórmula estipulada pela ISA (International Standard Atmosphere):

hb = 44330(

1−(pbp0

) 15.255

)(4.8)

onde pb é a pressão medida pelo barómetro e p0 é a pressão ao nível do mar. O software desenvolvido

pela UAVision® já fornece a altitude da aeronave relativa ao solo, Zb. Isto é conseguido subtraindo a

altitude absoluta medida no momento em que este se encontra no chão.

Para efeitos de simulação, utilizar-se-á a equação (4.9) para modelar o barómetro.

Zb = Z + µb (4.9)

4.2.6. GPS

A aeronave incorpora um GPS para determinação da sua posição em ambiente exterior, o NL-652ETTL

u-blox 6. O sensor fornece dados a uma frequência de 4 Hz, com exactidão de 2.5 mCEP (Circular Error

Probability) e 5.0 m SEP (Spherical Error Probability). Suporta o serviço AssistNow, um serviço standard

de aumentação (A-GPS). A datasheet deste sensor pode ser consultada em [9].

Um sensor GPS comum pode ser modelado por:

G =

Xg

Yg

Ug

Vg

=

X

Y

Vh

+ µgps (4.10)

Vh =[U I, V I]T é a velocidade horizontal da aeronave no referencial NED. O estado Vq obtido a

partir da equação (3.11) deverá ser rodado do referencial xyz para o referencial NED por VI = SqVq.

Desprezaram-se as medições de posição e velocidade verticais pelo facto de serem pouco precisas.

4.2.7. Determinação experimental do ruído Gaussiano

O ruído Gaussiano µ presente nas medições de cada sensor foi avaliado experimentalmente, em duas

situações: com os motores desligados e depois ligados. O quadrirotor encontrava-se naturalmente parado,

no solo. Na Tabela 4.7 na página seguinte são disponibilizados o desvio padrão das medições (σ) e a

densidade espectral do ruído (N0).

Esta pode ser calculada através de:

N0 = σ2

f(4.11)

Na equação (4.11), σ2 representa a variância das medições e f (em Hz) a frequência de saída de cada

sensor.

18

Page 33: Dissertacao_ Eq Matematica

Motores desligados Motores ligadosσ N0 σ N0

ax(m/s2) 1.062e-2 2e-6 1.9151e-2 7e-6

ay(m/s2) 1.515e-2 5e-6 1.8805e-2 7e-6

az(m/s2) 1.002e-2 2e-6 1.0744e-2 2e-6

gx (rad/s) 8.844e-3 1.564e-6 2.399e-2 1.151e-5gy (rad/s) 9.028e-3 1.63e-6 1.401e-2 3.928e-6gz (rad/s) 8.294e-3 1.375e-6 1.719e-2 5.91e-6Nx (Gs) 8.196e-3 1e-6 4.056e-2 33e-6Ny (Gs) 12.181e-3 3e-6 2.572e-2 13e-6Nz (Gs) 13.880e-3 4e-6 2.462e-2 12e-6Zs (m) 0 0 0 0Zb (m) 0.0082 1e-6 0.298 1.8e-3pb (Pa) 3.972 0.315 5.2 0.54Xgps (m) 1.365 0.466 - -Ygps (m) 1.246 0.388 - -Ugps (m/s) 0.582 0.084 - -Vgps (m/s) 0.626 0.098 - -

Table 4.7.: Medição do ruído dos sensores

Como seria de esperar a densidade espectral do ruído é maior quando os motores estão ligados. Por

outro lado pode observar-se a ausência de ruído nas medições do sonar, para uma distância medida de

sensivelmente 23 cm. Não foi possível determinar N0 e σ para o GPS na situação em que os motores se

encontravam ligados.

4.3. Actuadores

O sistema variador–motor–hélice (Figura 4.3) é responsável pela actuação da aeronave: o motor induz um

movimento de rotação na hélice que por sua vez gera uma força e correspondente momento. O sistema

envia um comando ao variador de tensão; este controla, por intermédio de um sinal do tipo PWM (sinal

quadrado digital de razão cíclica variável), a tensão eléctrica do motor necessária para que o valor desejado

de velocidade angular (wi) seja alcançado.

4.3.1. Modelo da hélice

De acordo com [17] a força (Fi) e o momento (Mi) produzidos por cada hélice são proporcionais ao

quadrado da sua velocidade angular, como expressam as equações (4.12) e (4.13).

Figura 4.3.: Sistema de actuação

19

Page 34: Dissertacao_ Eq Matematica

Fi =Ktw2i (4.12)

Mi =Kmw2i (4.13)

O momento Mi é gerado ao longo do eixo z, devido à resistência aerodinâmica da hélice. Kt e Km são

designadas constantes de força e binário, respectivamente. Estas podem ser estimadas pelas equações

(4.14) e (4.15).

Kt =4cTρr4h

π2 (4.14)

Km =4cPρr5h

8π3 (4.15)

Nas equações anteriores cT simboliza o coeficiente de força, cP o coeficiente de potência e ρ a densidade

do ar. Os valores cT = 0.0743, cP = 0.0047 foram obtidos pelo Prof. Azinheira cruzando dados teóricos

sobre esta hélice em particular com dados experimentais de um voo pairado; ρ = 1.23 Kg/m8 (de acordo

com a ISA). Como visto em [11], a relação entre a força de cada motor e a força e momento aplicados no

corpo rígido pode ser escrita por:

Fz

Mx

My

Mz

=

−1 −1 −1 −1

0 d 0 −d

d 0 −d 0

K −K K −K

F1

F2

F3

F4

(4.16)

Na equação (4.16) , K = Km

Kt. A força produzida por cada motor tem a direção do eixo z, e por isso

Fx = Fy = 0.

4.3.2. Modelo do motor

O QUAVIST vem equipado com quatro AXI 2814/22 da marca Axi®, um motor de corrente contínua

sem escovas (brushless DC motor). O esquema deste tipo de motores, sistema eléctrico e mecânico,

encontra-se representado na Figura 4.4.

Figura 4.4.: Esquema do motor (de [13])

20

Page 35: Dissertacao_ Eq Matematica

Segundo [13] o seu comportamento pode ser descrito pelo seguinte modelo em espaço de estados

w

i

=

− bJm

Cm

Jm

−Ce

L − rm

L

w

i

+

0Vb

L

Vy =

[1 0

] w

i

(4.17)

onde:

Variável Significado ValorCe (V/(rad/s)) coeficiente de força electromotriz 0.0125Cm (N ·m/A) coeficiente de momento do motor 0.0106Jm (kg ·m2) momento de inércia do rotor 0.28e-6b (N ·m · s) constante de fricção viscosa 2.8e-5L (H) indutância eléctrica 8.4e-4rm (Ω) resistência eléctrica 0.168

Tabela 4.8.: Constantes do motor

A variável i simboliza a corrente eléctrica, em amperes (A). Vb = 14.8 V é a tensão nominal da bateria

que alimenta os motores.

Naturalmente faria mais sentido utilizar como entrada do modelo (equação 4.17) o comando uS enviado

pelo controlador do sistema. No entanto, não foi possível avaliar experimentalmente a relação entre

a entrada e saída do variador a bordo da aeronave (uS → V ). Por este facto utilizou-se a variável

adimensional V = V

Vb, correspondendo ao rácio entre a tensão de saída do variador e a tensão da bateria.

A saída do modelo é a velocidade angular gerada pelo motor, w.

Os dados numéricos para Ce e rm podem ser encontrados na datasheet do motor em [12], bem como o

valor da sua eficiência máxima (η = 85 %). As constantes de tempo do sistema foram obtidas pelo Prof.

Azinheira, cruzando informação real de voo com a datasheet do motor:

• τm = 0.01 s, a constante de tempo do sistema mecânico

• τe = 0.005 s, a constante de tempo do sistema eléctrico

As restantes variáveis da Tabela 4.8 são calculadas por:

b = Jmτm

(4.18)

L = τerm (4.19)

Cm = ηCe (4.20)

A zona morta e a corrente mínima são outros dois factores a ter em conta na modelação deste tipo de

motores. De acordo com [14], um motor encontra-se em zona morta quando o binário gerado é inferior

ao binário mínimo necessário para superar a força de atrito do rotor. A definição de um valor de corrente

21

Page 36: Dissertacao_ Eq Matematica

mínimo para o sistema da equação 4.17 permite ao motor operar fora da zona morta. Segundo [12] este

valor é de imin = 0.5 A.

4.4. Modelo Simulink

A Figura 4.5 apresenta o modelo computacional implementado, utilizando a ferramenta Simulink do

software Matlab®.

Figura 4.5.: Modelo do sistema

O bloco Motores (em pormenor na Figura 4.6) trata da modelação do motores. A entrada V =[V1, V2, V3, V4

]Té quantizada em intervalos de iq = 0.001 e posteriormente saturada, Vi ⊂ [0.1, 1]. O

limite inferior da saturação impede a entrada na zona morta do motor enquanto que o limite superior

representa o valor máximo de tensão disponibilizado pela bateria. A quantização é inserida com o

objectivo de simular o comportamento do variador, dado que o sinal PWM está confinado a um intervalo

definido de valores. Um sistema em espaço de estados (equação (4.17) da Subsecção 4.3.2) converte, para

cada motor, a sua entrada em valor de velocidade angular: w = [w1, w2, w3, w4]T.

De seguida, uma função executa a modelação das hélices (equações (4.12) e (4.16), Subsecção 4.3.1)

e a cinemática e dinâmica do quadrirotor — sistema de equações (3.17) da Secção 3.2. A influência do

vento, equação (3.18), é tida em conta. Logicamente a sua saída corresponde à derivada do vector de

estados x = [V,Ω,P,q]T.

A atitude da aeronave é convertida para uma representação em ângulos de Euler pela função quat2euler,

cuja saída é o estado x = [V,Ω,P,Ψ]T. O bloco Sensores (Figura 4.7) calcula as equações (4.3), (4.4),

(4.6), (4.7), (4.9) e (4.10). A cada saída de sensor é adicionado um ruído branco Gaussiano N0, listado

na Tabela 4.7. As componentes de offset, b, foram desprezadas.

Figura 4.6.: Bloco Motores

22

Page 37: Dissertacao_ Eq Matematica

Figura 4.7.: Bloco Sensores

23

Page 38: Dissertacao_ Eq Matematica

Parte II.

Controlo e estimação

24

Page 39: Dissertacao_ Eq Matematica

5. Estabilidade

A Secção 5.1 fornece ao leitor uma breve introdução teórica acerca da estabilidade de sistemas. De

seguida, na Secção 5.2, é feita uma linearização do sistema da aeronave. Com base no sistema linearizado,

é desenvolvida uma análise de estabilidade (Secção 5.3).

5.1. Introdução teórica

Uma das abordagens mais utilizadas no estudo da estabilidade de sistemas não lineares foi introduzida

pelo matemático russo Alexandr Lyapunov no fim do século XIX . Um dos métodos incluídos no trabalho

The General Problem of Motion Stability, denominado método indirecto, permite concluir acerca da

estabilidade local de um sistema não-linear em torno de um ponto de equilíbrio com base na estabilidade

da sua aproximação linear. De acordo com [20], este método pode ser enunciado pelo seguinte teorema:

Teorema 5.1 Método indirecto de Lyapunov

• Se o sistema linearizado é estável então o ponto de equilíbrio é assimptóticamente estável, para o

sistema não-linear.

• Se o sistema linearizado é instável, o sistema não-linear também é instável em torno do ponto de

equilibro.

• Se o sistema linearizado é marginalmente estável, nada se pode concluir acerca da estabilidade do

sistema não linear (o ponto de equilibro poderá ser estável, instável ou marginalmente estável).

Por sua vez, a estabilidade de um sistema linear pode ser determinada através da localização dos seus pó-

los. Na Figura 5.1 são introduzidos três conceitos chave: estabilidade marginal, estabilidade assimptótica

e instabilidade.

Um pólo real p = −σ localizado no semi-eixo negativo do plano-s define um decaimento exponencial

na resposta do sistema, Ce−σt. Quanto maior σ mais rápido é o decaimento da resposta. Um par de

pólos complexo conjugado (p = −σ ± jw) origina um decaimento sinusoidal da resposta do sistema, da

forma Ae−σt sin (wt+ ϕ). Os parâmetros A e ϕ são determinados pelas condições iniciais, σ e w definem

respectivamente a razão de decaimento e a frequência de oscilação. Ambas os sistemas acima descritos

são assimptoticamente estáveis.

Pólos localizados no semi-eixo positivo geram um incremento exponencial (se p = σ) ou sinusoidal, no

caso de p = σ ± jw. Estes tipos de resposta caracterizam um sistema instável. Pólos situados no eixo

imaginário de multiplicidade maior que 1 também originam um sistema instável.

25

Page 40: Dissertacao_ Eq Matematica

Figura 5.1.: Estabilidade de um sistema

Um sistema é marginalmente estável quando possui um ou mais pólos de multiplicidade 1 sobre o

eixo imaginário. Um pólo na origem, p = 0, introduz uma componente de amplitude constante definida

pelas condições iniciais. Por outro lado, um par de pólos complexo — p = ±jw — acrescenta ao sistema

uma componente oscilatória de amplitude constante.

5.2. Linearização do modelo

Para que o método indirecto de Lyapunov possa ser aplicado é necessário obter um modelo linear e

invariante no tempo, da forma:

x = Ax + Bu Modelo de processo

y=Cx+Du Modelo de observação (5.1)

Para o efeito definiram-se como vector de estados x = [V,Ω,P,Ψ]T e vector de entrada u =[V1, V2, V3, V4

]T,

a razão de tensão à entrada do motor. Por ser mais intuitiva, escolheu-se a representação da atitude em

ângulos de Euler em detrimento dos quaterniões.

A linearização é matematicamente obtida utilizando a aproximação de primeira ordem da série de

Taylor, válida na proximidade de um ponto de operação genérico (x0,u0):

f (x,u) = x ≈ f (x0,u0) + Jx|x0,u0(x− x0) + Ju|x0,u0

(u− u0) (5.2)

Em (5.2), Jx e Ju representam a matriz Jacobiana de f (x,u) (o modelo não-linear de equações) a x

e u, respectivamente.

5.2.1. Modelo de processo

O modelo não linear de processo, fp (x,u), é composto por:

26

Page 41: Dissertacao_ Eq Matematica

• A cinemática e a dinâmica do quadrirotor é modelada pelas equações (3.9), (3.11), (3.12) e (3.20).

• Equações (4.12) e (4.16) para a modelação da hélice

• Sistema em espaço de estados (4.17) para a modelação do motor. O modelo do motor é simplificado

e posteriormente incluído no sistema fp (x,u).

Considera-se que a dinâmica do motor é suficientemente rápida para validar a simplificação:

wi = GeVi (5.3)

onde Ge é o ganho estático, que segundo [18] pode ser calculado pela equação (5.4) (aplicada ao sistema

em espaço de estados do motor).

Ge = D−CA−1B (5.4)

Definição 5.1 Um estado x0 é um estado de equilíbrio (ou ponto de equilíbrio) do sistema se, uma vez

que x (t) iguala x0, este permanece igual a x0 para todo o tempo futuro.

Isto que significa que o vector de estados deverá satisfazer a condição:

012,1 = fp (x0,u0) (5.5)

O ponto de equilíbrio escolhido neste trabalho consiste em ter o quadrirotor em voo pairado a uma dada

altitude. O sistema é então linearizado em torno do vector de estados: x0 = [0, 0, 0, 0, 0, 0, X, Y, Z, 0, 0, 0]T.

Apesar de não interferir com o voo pairado optou-se por um valor nulo para ψ, para simplificar os cálculos.

Por sua vez, u0 é calculado resolvendo o sistema de equações (5.6), que iguala o peso à força de sustentação

do quadrirotor.

Fz =4∑i=0

Fi = −mg0

V 0i = 1

Ge·

√∣∣∣∣ Fz4KT

∣∣∣∣ (5.6)

Define-se que A = Jx|x0,u0e B = Ju|x0,u0

. O resultado alcançado para estas matrizes pode ser

observado na equação (5.7).

A =

02,9

0 −g0 0

g0 0 0

04,6 04,6

I6,6 06,6

,B =

02,1 . . . . . . 02,1

−GecKt

m . . . . . . −GecKt

m

0 GecKt·dJx

0 −GecKt·dJx

GecKt·dJy

0 −GecKt·dJy

0

GecKm

Jz−GecKm

JzGec

Km

Jz−GecKm

Jz

06,1 . . . . . . 06,1

(5.7)

27

Page 42: Dissertacao_ Eq Matematica

Na equação (5.7), c =√

mg0Kt

.

O sistema linearizado em espaços de estados do modelo de processo é por fim apresentado:

x′ = Ax′ + Bu′ (5.8)

sendo x′ = x− x0 e u′ = u− u0.

5.2.2. Modelo de observação

O modelo não linear de observação é representado por fh (x,u). Este engloba as equações (4.3), (4.4),

(4.6), (4.7), (4.9) e (4.10); o vector de saída do sistema corresponde então a y =[a, Ω, N, Zs, Zb, G

]T.Aplicando o processo de linearização apresentado anteriormente para o mesmo ponto de equilíbrio, pode-

se concluir que:

C =

0 0 0 0 0 0 0 0 0 0 −g0 0

0 0 0 0 0 0 0 0 0 g0 0 0

0 0 0 0 0 0 0 0 0 0 0 0

0 0 0 1 0 0 0 0 0 0 0 0

0 0 0 0 1 0 0 0 0 0 0 0

0 0 0 0 0 1 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0 0 −1

0 0 0 0 0 0 0 0 0 0 1 0

0 0 0 0 0 0 0 0 1 0 0 0

0 0 0 0 0 0 0 0 1 0 0 0

1 0 0 0 0 0 0 0 0 0 0 0

0 1 0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 1 0 0 0 0 0

0 0 0 0 0 0 0 1 0 0 0 0

,D = 015,4 (5.9)

5.3. Análise de estabilidade, controlabilidade e observabilidade

Na presença de um sistema linear em espaço de estados, os seus pólos correspondem aos valores próprios

da matriz A (equação (5.7)). Constata-se que todos os pólos do sistema se encontram na origem (p = 0

com multiplicidade 12); o sistema linear é portanto marginalmente estável. Aplicando o método indirecto

de Lyapunov, Teorema 5.1, conclui-se que o sistema não-linear é também marginalmente estável em torno

do ponto de equilíbrio.

Controlabilidade é uma propriedade de enorme relevância na análise de sistemas de controlo. Um

sistema é controlável se for possível — por controlo da entrada — conduzir os seus estados de um valor

inicial a qualquer valor final, num intervalo de tempo finito. Matematicamente, um sistema é totalmente

controlável se

28

Page 43: Dissertacao_ Eq Matematica

caracteristica([

B AB A2B . . . An−1B])

= n (5.10)

onde o operador caracteristica simboliza o posto matricial e n o número de estados do sistema. Apli-

cando a relação anterior às matrizes A e B da equação (5.7), chega-se à conclusão que este sistema é

totalmente controlável.

Um sistema é observável se for possível, num tempo finito, inferir o seu estado interno utilizando apenas

a informação fornecida pela sua saída. A observabilidade de um sistema em espaço de estados pode ser

comprovada se e só se:

caracteristica

([C CA . . . CAn−1

]T)= n (5.11)

Substituindo as matrizes A (equação (5.7)) e C (equação (5.9)) na equação (5.11), verifica-se que o

presente sistema é observável. Esta conclusão apenas é válida para voos realizados no exterior. Natural-

mente, em ambientes interiores, a medição G fornecida pelo GPS não se encontra disponível.

29

Page 44: Dissertacao_ Eq Matematica

6. Controlo óptimo

Neste Capítulo é apresentado um sistema de controlo por LQR (Linear Quadratic Regulator) para a

aeronave. A estabilização de atitude e altitude é formalizada na Secção 6.3. Também na Secção 6.3 é

descrito o controlador de altitude implementado e testado na aeronave. A Secção 6.4 introduz o problema

de controlo da posição horizontal. Finalmente, na Secção 6.5, são tiradas algumas conclusões acerca do

sistema de controlo projectado.

6.1. LQR

Considere-se a representação em espaço de estados de um sistema linear invariante no tempo

x =Ax + Bu (6.1)

em que x(t) ∈ Rn é o vector de variáveis de estado do sistema, u(t) ∈ Rm é a entrada de controlo e

y(t) ∈ Rp corresponde à saída do sistema. Uma forma de controlo standard para este sistema será a

retroacção do vector de estados, na forma

u = −Kx (6.2)

com K ∈ Rm×n, uma matriz constante de coeficientes de controlo a determinar.

O LQR (Linear-Quadratic Regulator) é um controlador na forma da equação (6.2), sendo KLQR o

ganho que permite o controlo óptimo do sistema 6.1 minimizando a função de custo:

JLQR = 12

ˆ ∞0

(xTQx + uTRu

)dt (6.3)

Na equação (6.3) Q e R são matrizes de ponderação positivas semidefinida e definida, respectivamente.

Estas simbolizam, respectivamente, a importância dada pelo utilizador às variáveis de estado e à acção de

controlo. A regra de Bryson (equação (6.4)) propõe uma estimativa inicial de Q e R baseada na variação

máxima desejada para os estados e entrada do sistema, xmax e umax.

Q =

1

(x1,max)2 0 0

0 . . . 0

0 0 1(xn,max)2

, R =

1

(u1,max)2 0 0

0 . . . 0

0 0 1(um,max)2

(6.4)

30

Page 45: Dissertacao_ Eq Matematica

O ganho óptimo KLQR é calculado resolvendo a equação algébrica de Riccati em ordem a P

ATP + PA−PBR−1BTP + Q = 0 (6.5)

e substituindo em:

KLQR = R−1BTP (6.6)

6.2. Projecto de controlo

Como visto na Figura 2.2 do Capítulo 2, o deslocamento horizontal de um quadrirotor está directamente

relacionado com a sua atitude. Por outro lado, a variação da altitude depende inteiramente da força

de sustentação produzida pelos quatro motores. Assim, o objectivo principal do controlo de voo de um

quadrirotor consiste em controlar a sua atitude e força de sustentação. Uma vez atingido este objectivo,

o problema do deslocamento da aeronave no espaço pode ser abordado.

Pelos motivos atrás enunciados optou-se por uma estratégia de controlo em cascata. O controlo em

cascata deve ser utilizado na presença de um processo secundário de dinâmica rápida, que tem de ser

manipulado de forma a controlar um outro processo (primário) relativamente mais lento.

Em suma, o sistema deverá cumprir os seguintes requisitos:

1. A dinâmica do processo secundário deve ser pelo menos quatro vezes mais rápida que a do processo

primário ([15])

2. O processo secundário deve ter influência sobre o processo primário.

3. Ambos os processos devem ser mensuráveis e controláveis.

O controlador projectado é então formado por dois sub-controladores:

• Um primário, de alto nível, que controla a translação horizontal da aeronave servindo-se dos estados

xA = [U, V,X, Y ]T. Recebe referências de velocidade e posição horizontais. O controlador funciona

a uma frequência de amostragem de fA = 4 Hz.

• Um secundário ou de baixo nível. Este anel de controlo garante a estabilização do quadrirotor,

actuando directamente na velocidade angular dos motores. Utiliza os restantes oito estados do

sistema, xB = [W,P,Q,R,Z, φ, θ, ψ]T, para seguir referências de atitude e altitude. O processo é

controlado a uma frequência de amostragem de fB = 50 Hz.

Apesar de ser mais complexo e mais difícil de afinar, este tipo de controlo garante uma maior robustez ao

permitir que o controlador de baixo nível manuseie de forma independente as perturbações no sistema.

Por outro lado o utilizador poderá actuar directamente no controlador de baixo nível, o que equivale a

um voo em modo manual. Uma visão geral do controlo da aeronave pode ser vista na Figura 6.1.

Como foi referido na Secção 4.1, o QUAVIST já possui soluções próprias de controlo. O controlador de

baixo nível é do tipo PID (Proporcional Integral e Derivativo); no modo manual este recebe comandos de

31

Page 46: Dissertacao_ Eq Matematica

Figura 6.1.: Sistema de controlo

θ, φ, ψ e −Fz. O controlo da altitude não é incluído, sendo a aceleração vertical da aeronave controlada

manualmente pelo piloto. Possui, no entanto, um modo de estabilização de altitude. No momento da

sua activação, a altitude da aeronave é estabilizada em torno do valor actual. Para o controlo de alto

nível (também PID) encontra-se implementado um modo de voo similar ao anterior, em que a aeronave

estabiliza no valor actual de posição horizontal.

6.3. Controlador de baixo nível

O projecto do controlador secundário é de extrema importância pois é este que garante em última instância

a segurança da aeronave. Pode igualmente ter a designação de controlador de baixo nível pelo facto de

operar directamente nos actuadores do quadrirotor.

O controlador toma como entrada uma atitude e altitude de referência, (xB,2)ref = [Zref , φref , θref , ψref ]T,

e como saída o comando de tensão normalizada, u =[V1, V2, V3, V4

]T. Os restantes quatro estados,

xB,1 = [W,P,Q,R]T, são adicionalmente utilizados no processo de regulação da aeronave. Repare-se

que o vector de estados xB foi por conveniência dividido em xB,1 e xB,2. Recuperando a linearização

efectuada no Capítulo 5 (equação (5.7)), o modelo linear para o processo secundário reduz-se a:

xB =

04,4 04,4

I4,4 04,4

x′B +

−GecKt

m . . . . . . −GecKt

m

0 GecKt·dJx

0 −GecKt·dJx

GecKt·dJy

0 −GecKt·dJy

0

GecKm

Jz−GecKm

JzGec

Km

Jz−GecKm

Jz

04,1 . . . . . . 04,1

u′ (6.7)

onde I4,4 é a matriz identidade e 04,4 é uma matriz de zeros, ambas de dimensão 4 × 4. A aplicação

das equações (6.5) e (6.6) resulta na matriz de ganho óptimo, KB .

A lei de controlo baseia-se na realimentação do erro de atitude e altitude e é dada pela equação:

u′ = −KB

x′B,1x′B,2 −

(x′B,2

)ref

(6.8)

É mais conveniente a sua formulação em função de u e xB , pois estes são de facto a entrada e estado

reais do sistema não linear:

32

Page 47: Dissertacao_ Eq Matematica

u = u0 −KB

xB,1xB,2 − (xB,2)ref

(6.9)

6.3.1. Simulação e avaliação

De modo a tornar a simulação o mais realística possível, implementou-se um controlador discreto baseado

no modelo contínuo apresentado na secção anterior.

De acordo com [16], a discretização do modelo linear de processo para um período de amostragem T

pode ser alcançada por:

Ad = eAT (6.10)

Bd =(ˆ T

τ=0eAT dτ

)B (6.11)

Escolheu-se um período de amostragem para o controlador de T = 150 s, igual às amostragens do

barómetro, giroscópio, magnetómetro e acelerómetro. Tendo em mente a implementação prática do

controlador, este é um valor adequado. As simulações realizadas utilizam o estado ideal do sistema como

realimentação para o controlador. Nesta fase o objectivo é validar a solução de controlo projectada.

As matrizes de ponderação também necessitam de ser discretizadas, como se pode observar nas equações

(6.12) e (6.13) ([16]).

Rd = RT

(6.12)

Qd =ˆ T

τ=0eATQeAT dτ (6.13)

A função do Matlab lqrd fornece o ganho K do controlador discreto. As matrizes de ponderação contínuas

utilizadas (equações (6.14) e (6.15)) resultam de um processo iterativo.

Q = diag ([6, 1, 1, 1, 50, 40, 40, 20]) (6.14)

R = diag ([10, 10, 10, 10]) (6.15)

A dinâmica do sistema contínuo em anel fechado é dada por:

xB = (A−BKB) xB (6.16)

A Tabela 6.1 fornece os pólos (pi = a + bi) e o factor de amortecimento ζ calculados para o sistema

(6.16), utilizando o controlador contínuo. Todos os pólos estão localizados no semi-eixo negativo e, por

isso, o sistema linear é assimptóticamente estável. Pelo método indirecto de Lyapunov comprova-se a

33

Page 48: Dissertacao_ Eq Matematica

estabilidade assimptótica do sistema não-linear, na proximidade do ponto de equilíbrio. Segundo [26] o

sistema encontra-se criticamente amortecido, ζ = 1, convergindo exponencialmente e sem oscilações para

o ponto de equilíbrio.

pia -16.771 -2.930 -1174.75 -1174.75 -7.917 -5.419 -6.324 -6.324b 0 0 0 0 0 0 0 0

ζ 1 1 1 1 1 1 1 1

Tabela 6.1.: Características do anel fechado

São apresentadas três simulações, nas Figuras 6.2, 6.3 e 6.4. Na primeira, Figura 6.2, é pedido à

aeronave que estabilize em torno de (xB,2)ref = [−3, 0, 0, 0]T. A resposta do sistema indica que o

controlador se encontra estável. Repare-se que os ângulos iniciais de picada e rolamento são bastante

elevados; usualmente φ, θ < 30 º. Na segunda simulação (Figura 6.3) a aeronave deve seguir uma sequência

de referências, dadas na forma de onda quadrada de amplitude e período variáveis. Na terceira simulação

(Figura 6.4), a robustez do controlador é posta à prova. É pedido ao controlador uma referência de

(xB,2)ref = [−17, 45, 45, 0]T, com a atitude aqui representada em graus. O controlador tem alguma

dificuldade em estabilizar a atitude do quadrirotor; o controlo da sua altitude não é conseguido.

Tempo de subida (ts) é o tempo necessário para que o sistema atinja 90% do seu valor final. Tempo de

estabelecimento (te) é o intervalo de tempo que o sistema necessita para alcançar o seu estado estacionário,

2% do seu valor final. Na Tabela 6.2 são apresentados os tempos de subida e estabelecimento, para a

resposta da Figura 6.2.

Z φ θ ψts (s) 0.848 0.370 0.246 0.448te (s) 1.518 0.741 0.459 0.871

Tabela 6.2.: Tempos de subida e estabelecimento da Figura 6.2

34

Page 49: Dissertacao_ Eq Matematica

Figura 6.2.: Controlo de baixo nível: simulação 1

Figura 6.3.: Controlo de baixo nível: simulação 2

35

Page 50: Dissertacao_ Eq Matematica

Figura 6.4.: Controlo de baixo nível: simulação 3

6.3.2. Implementação real

Foi implementado um controlador de altitude no QUAVIST, complementando o controlador de baixo

nível já instalado (comandos de θ, φ, ψ e -Fz). Na realidade o sistema recebe com uma resolução de 7

bits um comando proporcional à força vertical produzida pela aeronave, aqui denominado de RC. O valor

máximo admitido pelo sistema é de RCmax = 9574. A equação (6.17) é uma linearização em torno do

voo pairado da aeronave e fornece para qualquer valor de força vertical (Fz) a correspondente conversão

para RC.

RC = RC0 + aF′

z (6.17)

Na equação anterior F ′z = Fz−Fz,0 é uma variável intermédia que será útil para o projecto do controlador;

RC0 e Fz,0 = mg0 são as variáveis do ponto linearização. Para estimar a constante a realizaram-se dois

voos com a aeronave a altitude constante (manualmente controlada pelo piloto), variando a massa do

quadrirotor num dos voos. Desta forma são obtidos dois pontos distintos de voo pairado e a pode ser

calculado por:

a = RC1 −RC0

− (m1 −m) g0(6.18)

Na Tabela 6.3 estão representados os valores médios medidos de RC1 e RC0 para as duas massas da

aeronave; o valor da constante é a = −129.663 N−1.

RC1 RC0 m1 (kg) m (kg)7125 6489 3.43 2.93

Tabela 6.3.: Dados experimentais

O modelo linear considerado tem como base a segunda lei de Newton

36

Page 51: Dissertacao_ Eq Matematica

x =

0 0

1 0

x +

1m

0

u (6.19)

com estado x = [W,Z]T e entrada u = F′

z. A saída do sonar , Zs, fornece a altitude da aeronave. Como

realimentação da velocidade vertical utilizou-se uma estimação baseada no barómetro, Wb, já fornecida

pelo sistema do QUAVIST. O algoritmo implementado no PC104 recebe a informação processada pelo

sistema a um ritmo de fZ = 2.5 Hz para o sonar e fW = 4 Hz para a estimação da velocidade.

A lei de controlo por LQR é então introduzida:

RC = RC0 − aK

Wb

Zs − Zref

(6.20)

Zref é a altitude de referência e K o ganho do LQR.

6.3.2.1. Simulação e avaliação

Recorrendo às equações (6.10) e (6.11), discretizou-se o sistema linear da equação (6.19). O período de

amostragem para o controlador é de T = 15 s, um valor próximo das amostragens 1

fZe 1fW

. Foi incluído

no modelo computacional uma quantização para o valor de RC enviado:

iRC = RCmax27 − 1 = 75.385 (6.21)

Na simulação da Figura 6.5 o controlador estabiliza a sua altitude em Zref = −2 m, partindo de

Z = −0.5 m. O sistema contínuo em anel fechado tem um par de pólos complexo conjugado em p =

−0.592± 0.577i. O sistema linear é assimptóticamente estável, tal como o sistema não-linear (segundo o

método indirecto de Lyapunov). As matrizes contínuas de ponderação utilizadas foram Q = diag ([0.3, 4])

e R = 1.

Figura 6.5.: Simulação do controlo de altitude

37

Page 52: Dissertacao_ Eq Matematica

6.3.2.2. Teste experimental

Realizaram-se vários ensaios em ambiente interior; um deles está representado na Figura 6.6. Inicialmente

o piloto colocou o quadrirotor a altitude constante, em modo de voo manual. No instante t = 32 s o

controlador foi activado, pedindo uma altitude de referência de Zref = −1.5 m. Os círculos verde e

vermelho nas figuras marcam, respectivamente, a activação e desactivação do controlador. Na Figura 6.6,

ZSONAR é a altitude dada pelo sonar, ZBARO e WBARO representam a estimação da velocidade vertical

e altitude com base no barómetro (disponibilizadas pelo sistema do QUAVIST).

Apesar de se encontrar estável, o sistema apresenta um erro estático considerável (na ordem dos 1.5 m).

A origem deste erro pode ter várias explicações. Primeiro, a frequência de controlo (5 Hz) é diferente das

frequências de recepção das variáveis do sistema, 2.5 Hz e 4 Hz. Por outro lado, a resolução disponível

para o controlo é reduzida; o controlador envia comandos para o sistema quantizados em intervalos de

iFZ= iRC

a = 0.581 kg ·m/s2. Repara-se também que a estimação de altitude dada pelo barómetro se

encontra desfasada da altitude do sonar em cerca de 1.5 m. Sendo a exactidão (proximidade da medida

com o valor real) do sonar superior à do barómetro para pequenas diferenças de altitude, pode-se concluir

que a estimação de velocidade vertical utilizada é pouco exacta.

Figura 6.6.: Teste experimental do controlo de altitude

6.4. Controlador de alto nível

O projecto do controlador de alto nível tem como fim o controlo do processo primário, isto é, o deslo-

camento horizontal do quadrirotor. Definiram-se dois tipos de controlo de alto nível: um controlo de

posição horizontal e um controlo de posição e velocidade horizontais. O controlo de posição horizontal

recebe como entrada uma posição de referência, (xA,2)ref = [Xref , Yref ]T, e devolve uma atitude a ser

38

Page 53: Dissertacao_ Eq Matematica

seguida pelo controlador secundário, uA = [φref , θref ]T. O remanescente vector de estados equivale a

xA,1 = [U, V ]T. A velocidade da aeronave é dada pelo sensor GPS no referencial NED; o estado fornecido

pelo sistema deverá ser convertido utilizando a equação (3.9) (Secção 3.2).

A equação (6.22) apresenta o sistema em espaço de estados do processo primário.

xA =

02,2 02,2

I2,2 02,2

xA +

0 −g0

g0 0

02,1 02,1

uA (6.22)

A lei de controlo deduzida é semelhante à do controlador de baixo nível:

uA = −KAS′

ψ

xA,1(xA,2 − (xA,2)ref

) (6.23)

Os erros de posição e velocidade, referentes ao sistema de coordenadas NED, são transformados para

o referencial xyz pela matriz de rotação bidimensional S′ψ (equação (6.24)). Esta transformação é

necessária pelo facto de o sistema ter sido linearizado para um ângulo de guinada nulo.

S′

ψ =

cosψ sinψ

− sinψ cosψ

(6.24)

Na lei de controlo da equação (6.23) a velocidade da aeronave é estabilizada em função do erro de

posição horizontal. Seria bom no entanto que a aeronave se deslocasse a velocidade constante, tornando

a sua trajectória o mais suave possível. Para isso, o sistema em espaço de estados da equação (6.22) é

adaptado para:

xA,1 =

0 −g0

g0 0

uA (6.25)

Pode então ser introduzida uma lei para o controlo da velocidade horizontal da aeronave

uA = −KAS′

ψ

(xA,1 − (xA,1)ref

)(6.26)

com KA ∈ R2×2 e (xA,1)ref = [Uref , Vref ]T. Foi desenvolvido um algoritmo que combina as duas leis

de controlo explicitadas em cima. É definida uma região pelo utilizador, dentro da qual o controlador

actua em modo de controlo de posição. Fora dessa região, o controlador funciona em modo de controlo

de velocidade.

• Se ‖η‖ > γ, o controlo de velocidade é activado. η = [X −Xref , Y − Yref ]T = [η1, η2]T é o vector

erro de posição; γ representa a região de fronteira entre os dois modos de controlo. A definição das

velocidades de referência é escolhida tendo em conta o rumo correcto da aeronave, ou seja, o vector

de velocidade tem a mesma direcção do vector de posição.

39

Page 54: Dissertacao_ Eq Matematica

|Uref |I = V0√1 +

(η2η1

)2(6.27)

|Vref |I = |Uref |I|η2||η1|

(6.28)

O módulo de velocidade da aeronave V0 deve ser introduzido pelo utilizador, |Uref | e |Vref | são definidos

no referencialNED. As equações (6.27) e (6.28) podem ser calculadas a cada iteração do controlador. Isto

permite um controlo mais refinado do rumo da aeronave e uma maior robustez a perturbações exteriores

ao sistema, ao invés de serem definidas apenas no ponto inicial. Repare-se que |Uref | e |Vref | estabelecem

apenas a direcção do movimento. Para que o sentido desejado seja seguido, Uref e Vref devem possuir

sinal contrário a η1 e η2, respectivamente. A lei de controlo da equação (6.26) é aplicada.

• Se ‖η‖ < γ, o controlador funciona em modo de controlo de posição. Naturalmente, a lei de controlo

da equação (6.23) é seleccionada.

6.4.1. Simulação e avaliação

A avaliação feita ao controlador de alto nível é semelhante à apresentada para o controlador de baixo

nível, na Subsecção 6.3.1. Foram testadas as duas soluções consideradas para o controlo de alto nível: o

controlo de posição e o controlo híbrido de velocidade e posição. Os modelos das equações (6.22) e (6.25)

foram discretizados utilizando as equações (6.10) e (6.11). Escolheu-se um período de amostragem para

o controlador de T = 14 s, o mesmo do sensor GPS.

O controlo de posição é avaliado em primeiro lugar. As matrizes de ponderação definidas para o modelo

contínuo foram as seguintes:

Q = diag ([10, 10, 12, 12]) (6.29)

R = diag ([800, 800]) (6.30)

As características do sistema contínuo em anel fechado utilizando o controlador contínuo, xA =

(A−BKA) xA, são:

pia -0.949 -0.949 -0.949 -0.949b 0.547 -0.547 0.547 -0.547

wn 1.1 1.1 1.1 1.1ζ 0.866 0.866 0.866 0.866

Tabela 6.4.: Características do anel fechado

O sistema tem um par de pólos conjugado de multiplicidade 2 localizados no semi-eixo negativo: o

sistema linear é assimptóticamente estável. De acordo com o método indirecto de Lyapunov, determina-

se que o sistema não-linear é também assimptoticamente estável no ponto de equilíbrio. Segundo [26]

o sistema está sub-amortecido, ζ < 1, e converge para o ponto de equilíbrio à frequência natural de

amortecimento (em rad/s):

40

Page 55: Dissertacao_ Eq Matematica

wd = wn√

1− ζ2 (6.31)

Na Figura 6.7 é apresentado o resultado da primeira simulação; a velocidade horizontal da aeronave é

referente ao sistema de coordenadas NED. É pedido ao controlador que estabilize no ponto (xA,2)ref =

[0, 0]T, partindo da condição inicial (xA,2)i = [5,−5]T. Para uma condição inicial definida, o controlador

de baixo nível deverá estabilizar a altitude em Zref = −2 m e o ângulo de guinada em torno de zero. Os

pedidos de rolamento e picada são saturados na gama de valores [−14, 14]. A saturação introduzida

permite que o controlar devolva uma resposta relativamente rápida, sem elevar os pedidos de rolamento

e picada a valores excessivos. Não é desejável uma variação muito brusca nas velocidades horizontais U

e V ; este factor foi tido em conta na afinação das matrizes de ponderação.

Figura 6.7.: Controlo de posição: simulação 1

Na Tabela 6.5 estão representados os tempos de subida e estabelecimento dos estados X e Y , para a

resposta da Figura 6.7.

X Yts (s) 2.194 2.132te (s) 4.421 4.227

Tabela 6.5.: Tempos de subida e estabelecimento da Figura 6.8

Para a segunda simulação (Figura 6.8) preparou-se um conjunto de referências a serem seguidas pelo

controlador. A velocidade horizontal da aeronave é apresentada na Figura 6.9.

41

Page 56: Dissertacao_ Eq Matematica

Figura 6.8.: Controlo de posição: simulação 2

Figura 6.9.: Velocidade horizontal

Para o controlo da velocidade horizontal, a matriz de ponderação contínua Q é encurtada para Q =

diag ([10, 10]) (a matriz R permanece igual). Foram escolhidas as restantes constantes: γ = 1 m e

V0 = 3 m/s. O sistema contínuo em anel fechado tem as seguintes características:

pia -1.1 -1.1b 0 0

ζ 1 1

Tabela 6.6.: Características do anel fechado

42

Page 57: Dissertacao_ Eq Matematica

O sistema tem um pólo real de multiplicidade 2 localizado no semi-eixo negativo e está criticamente

amortecido. De acordo com o método indirecto de Lyapunov, o sistema não linear é assimptoticamente

estável na proximidade do ponto de equilíbrio. A Figura 6.10 mostra a resposta do controlador híbrido de

velocidade e posição ao pedido (xA,2)ref = [0, 0]T, Zref = −3 m e ψref = 40. Como se pode verificar as

componentes da posição horizontal de referência são alcançadas no mesmo instante de tempo, indicando

uma escolha correcta para o rumo da aeronave. No instante t = 4.2 s o controlo de posição horizontal é

activado. Os tempos de subida e estabelecimento para esta simulação são indicados na Tabela 6.7.

X Yts (s) 3.359 3.331te (s) 5.535 5.557

Tabela 6.7.: Tempos de subida e estabelecimento da Figura 6.10

Figura 6.10.: Controlo de velocidade e posição: simulação 1

As Figuras 6.11, 6.12 e 6.13 apresentam o resultado da segunda simulação, onde é pedido ao controlador

que siga uma sequência de referências. A Figura 6.11 contêm a resposta do sistema às referências de

posição, X, Y e Z. Na Figura 6.12 encontra-se representada a resposta do ângulo de guinada. Por

fim, na Figura 6.13, é exibida a velocidade horizontal da aeronave no sistema de coordenadas NED.

Esta última figura demonstra que o controlador é capaz de seguir correctamente o sentido do movimento

definido pelas equações 6.27 e 6.28, respondendo devidamente às alterações de ψ.

43

Page 58: Dissertacao_ Eq Matematica

Figura 6.11.: Controlo de velocidade e posição: simulação 2

Figura 6.12.: Resposta do ângulo de guinada

44

Page 59: Dissertacao_ Eq Matematica

Figura 6.13.: Velocidade horizontal em NED

6.5. Discussão

Podem-se tirar algumas conclusões acerca do sistema de controlo projectado:

• Para o controlador de baixo nível, considerou-se a estabilização dos ângulos de rolamento e picada

prioritária. A resposta do controlo de altitude é mantida intencionalmente mais lenta.

• Apesar de se basear num modelo linear o controlador de baixo nível consegue lidar bem com as não-

linearidades do sistema, para ângulos de atitude relativamente reduzidos. Contudo, é notório que a

estabilização de altitude sofre com esta linearização. Em situações em que a aeronave se encontra

bastante desencontrada do seu ponto de equilíbrio, por exemplo na resposta da Figura 6.4, não é

possível controlar a sua altitude. Na mesma figura pode-se observar também que o controlador

apresenta um pior desempenho na estabilização da atitude.

• É de notar a ausência de sobreelevação no controlo da atitude e posição horizontal do quadrirotor,

o que sugere uma escolha adequada das matrizes de ponderação dos dois controladores.

• O controlo simples da posição horizontal, apesar de produzir uma resposta mais célere, não garante

qualquer controlo da velocidade que a aeronave possa atingir (numa perspectiva do utilizador). O

controlo híbrido de posição e velocidade garante de facto um voo suave a velocidade constante,

permitindo ainda o seu ajuste por parte do utilizador. Considera-se portanto que esta solução é

mais vantajosa numa futura implementação real.

45

Page 60: Dissertacao_ Eq Matematica

7. Controlo não linear

Este Capítulo desenvolve um sistema de controlo não-linear para a aeronave, com base na teoria de

Lyapunov. Nas Secções 7.1 e 7.2 é feita uma introdução teórica. A Secção 7.3 apresenta o controlador

não-linear de baixo nível. Na Secção 7.4 é estudada uma solução para o controlo não-linear de alto nível.

A Secção 7.5 conclui acerca do sistema de controlo implementado.

7.1. Teoria de estabilidade de Lyapunov

O trabalho The General Problem of Motion Stability [19] apresenta, além do método indirecto já referido

no Capítulo 5, outra teoria de análise de estabilidade — o método directo de Lyapunov.

O método directo assenta no seguinte princípio físico: se a energia total de um sistema mecânico ou

eléctrico é continuamente dissipada, então o sistema, linear ou não-linear, converge eventualmente para

um estado de equilibro. Descrevendo matematicamente a energia do sistema através de uma função

escalar V(x):

• Energia nula, V(x) = 0, corresponde ao estado de equilíbrio x = 0 ∧ x = 0

• Estabilidade assimptótica implica que a energia do sistema tende para 0, V(x)→ 0

• A instabilidade de um sistema está relacionada com o crescimento da sua energia V(x)

Ou seja, a estabilidade de um sistema pode ser determinada examinando a variação da função escalar.

Considere-se o sistema não-linear

x = f (x) (7.1)

O Teorema 7.1 fornece informação acerca da sua estabilidade local.

Teorema 7.1 Estabilidade local [20]

Seja:

• V(x) definida no interior de uma bola Br de raio r0 em torno da origem

• V(x) é positiva definida, V(0) = 0 ∧V(x) > 0, x 6= 0

• A sua derivada temporal contínua,V(x) = dVdt

, existe e é negativa semidefinida V(x) ≤ 0, x 6= 0.

46

Page 61: Dissertacao_ Eq Matematica

Então o ponto de equilíbrio x = 0 é estável. Se V(x) é definida negativa localmente em Br então x = 0

é assimptoticamente estável. Funções com as propriedades do segundo e terceiro pontos do Teorema 7.1

são designadas de funções de Lyapunov e tomam especial importância no método directo.

Um ponto de equilíbrio é globalmente estável se for estável para qualquer condição inicial x0. Para

isso é necessário que V(x) seja radialmente ilimitada.

Teorema 7.2 Estabilidade global [20]

Seja:

• V(x)→∞, ‖x‖ → ∞

• V(x) é definida positiva

• V(x) é definida negativa, V(0) = 0 ∧ V(x) < 0, x 6= 0

Então o ponto de equilíbrio x = 0 é globalmente assimptoticamente estável.

É importante notar que as condições dos dois teoremas em cima apresentados são suficientes, mas não

necessárias. Se para uma dada função candidata V1(x) as condições não forem cumpridas, não é possível

tirar nenhuma conclusão acerca da estabilidade do sistema. Outra função candidata deverá ser testada.

Em suma, um dado sistema poderá ter várias funções de Lyapunov.

Adicionou-se uma entrada ao sistema da equação (7.1):

x = f (x, u) (7.2)

Para que este sistema possa ser controlado é necessário encontrar uma lei de controlo u = k (x) que

torne a dinâmica do sistema em anel fechado — x = f (x, k (x)) — local ou globalmente estável. Como

sugere [21], uma maneira de construir esta lei de controlo seria definir uma função de Lyapunov (definida

positiva) e escolher k (x) de maneira que

V(x) = V(x)f (x, k (x)) = −W (x) (7.3)

onde W (x) é definida positiva. Pelos teoremas 7.1 e 7.2 a estabilidade do anel fechado é alcançada.

7.2. Backstepping

O método directo de Lyapunov parte do pressuposto que uma função de Lyapunov para o sistema é já

conhecida. Como foi referido anteriormente os teoremas 7.1 e 7.2 apresentam condições suficientes, sendo

a escolha da função um processo de tentativa e erro. Backstepping é uma técnica de controlo desenvolvida

por Petar Kokotovic em meados de 1990 [22] que permite obter de forma recursiva a estabilização de uma

classe especial de sistemas não-lineares. Considere o sistema:

47

Page 62: Dissertacao_ Eq Matematica

x = fz (x) + gz (x) · z1

z1 = f1 (x, z1) + g1 (x, z1) · z2

z2 = f2 (x, z1, z2) + g2 (x, z1, z2) · z3

...

zk = fk (x, z1, . . . , zk) + gk (x, z1, . . . , zk) · u (7.4)

onde x é o estado do sistema, z1, . . . , zk são escalares e u é a entrada do sistema. Neste tipo de sistemas

a entrada real u está indirectamente relacionada com a dinâmica x, por intermédio dos estados z1, . . . , zk.

É assumido que o subsistema x = fz (x) + gz (x) · z1 se encontra estabilizado por uma lei de controlo,

z1 = ux, e que é conhecida uma função de Lyapunov Vx para este subsistema. A abordagem por

backstepping extende a estabilidade deste subsistema para o sistema completo da equação (7.4). Isto

é conseguido aumentando gradualmente a função de Lyapunov Vx e encontrando em cada iteração um

controlo fictício zi+1 = ui que estabilize o estado zi. A descrição detalhada do controlo por backstepping

de um sistema genérico (equação (7.4)) é apresentada de seguida.

1. O processo começa naturalmente na dinâmica x, onde Vx e ux são conhecidos a priori.

2. A próxima etapa será estender a função de Lyapunov com um termo definido positivo, que inclua

o factor de estabilização ux. Para isso definiu-se a variável fictícia ε1 = z1 − (z1)d = z1 − ux, onde

(z1)d é o valor em torno do qual z1 deverá estabilizar. Uma nova função de Lyapunov poderá ser:

V1 = Vx + 12 (ε1)2 (7.5)

Com base na nova função de Lyapunov o controlo fictício z2 = u1 pode ser determinado, utilizando

as técnicas apresentadas na Secção 7.1 (é necessário que V1 seja definida negativa). Desta forma

o estado z1 é estabilizado em torno do valor ux, que por sua vez estabiliza x. A lei de controlo u1

garante a estabilidade dos subsistemas x e z1.

3. A função de Lyapunov é de novo aumentada por:

V2 = V1 + 12 (ε2)2 (7.6)

com a variável fictícia ε2 = z2−u1. O controlo z3 = u2 é calculado e a dinâmica de z2 é adicionada

ao sistema de controlo.

4. Este processo é repetido até a lei de controlo real do sistema —u = uk— ser encontrada. Assim:

• uk estabiliza o estado zk para o controlo fictício uk−1.

• uk−1 estabiliza zk−1 para o controlo fictício uk−2.

• . . .

48

Page 63: Dissertacao_ Eq Matematica

• u2 estabiliza z2 para o controlo fictício u1. Por sua vez, u1 estabiliza z1 em torno do valor de

controlo ux.

• Finalmente ux estabiliza o estado x e consequentemente, o sistema completo.

7.3. Controlador de baixo nível

O projecto seleccionado para o controlador não-linear é semelhante ao utilizado no Capítulo 6 (ver

Figura 6.1) . O controlador de baixo nível deverá seguir referências de atitude e altitude. Para o controlo

são utilizados os estados de atitude q = [q0, q1, q2, q3]T, velocidade angular Ω = [P,Q,R]T, velocidade

vertical W e posição vertical Z. Repare-se que é adoptada a formulação em quaterniões para a atitude

da aeronave, como sugere [11]. A dinâmica para este problema de estabilização em particular tem como

base as equações (3.11), (3.12) e (3.21) e é dada por:

R =R [Ω]× (7.7)

Ωq =− J−1 [Ω]× JΩ + J−1Mq (7.8)

W I =g0 + 1m

R (3, 3)F qz (7.9)

Como se pode observar foram feitas algumas alterações nas equações originais. Na equação (7.7),

R = STq é uma matriz que representa a rotação da aeronave, do referencial local xyz para o referencial

inercial NED. Desta forma é evitado o sinal negativo da equação 3.21. Por sua vez, a equação (7.9)

corresponde à componente vertical da equação das forças. Aqui, a aceleração vertical W I é representada

no referencial inercial NED. Esta alteração permite eliminar a força de Coriolis (equação (3.15)) da

equação, pois ddt

I (W I) = W I.

O operador [Ω]× transforma o cálculo do produto externo de dois vectores numa multiplicação entre

uma matriz e um vector.

Definição 7.1 Mapeamento de um vector para uma matriz antissimétrica

Para a = [a1, a2, a3]T e b = [b1, b2, b3]T

• a × b = [a]× b =

0 −a3 a2

a3 0 −a1

−a2 a1 0

b

Considere-se a função candidata de Lyapunov

V = a

2 tr(D(I3 −RT

refR))

+ b

2 (Z − Zref )2 + 12ΩT∆Ω + 1

2W2 (7.10)

de onde se podem retirar as seguintes ilações:

• eR = a

2 tr(D(I3 −RT

refR))

representa o erro de atitude, o operador tr () simboliza o traço da

matriz. Rref = STq (qref ) define a matriz de rotação de referência. Rref ∈ SO (3) e R ∈ SO (3), o

grupo de todas as rotações no espaço tridimensional R3. Por consequência, eR ∈ SO (3)× SO (3).

49

Page 64: Dissertacao_ Eq Matematica

• No termo eZ = b

2 (Z − Zref )2, Z−Zref é o erro de altitude; Zref simboliza a altitude de referência.

• Os termos 12ΩT∆Ω e 1

2W2 são utilizados para estabilizar a velocidade angular e vertical, respecti-

vamente. O sistema computacional implementado na Secção 5.1 fornece o estadoW q. A velocidade

da aeronave deve então ser transformada para o referencial NED pela equação (3.9), da Secção 3.2.

• D = diag(

[d1, d2, d3]T)e ∆ = diag

([41,42,43]T

)são matrizes de ponderação, definidas positi-

vas com dimensão 3× 3. a e b são designadas constantes de ponderação, ambas positivas.

Em [11] é provado que o termo tr(I3 −RT

refR)

é uma função de Lyapunov (definida positiva) que

representa o erro de atitude da aeronave. A matriz D é incluída para ponderar o esforço de controlo

entre os três ângulos da rotação. Tomando eR como ponto de partida na construção da função de

Lyapunov, os restantes termos definidos positivos foram adicionados.

Como foi referido na Secção 7.1, para provar a estabilidade do sistema é necessário primeiro mostrar

que V é de facto uma função definida positiva. Para simplificar os cálculos considere-se uma atitude

de referência com rolamento, picada e guinada nulos; pela equação (3.7), qref = [1, 0, 0, 0]T . R é o

transposto da matriz encontrada na equação (3.8) do Capítulo 3. Neste caso, Rref = I3. O traço no

termo eR equivale a

tr (D (I3 − I3R)) = d1(1−

(1− 2

(q22 + q2

3)))

+ d2(1−

(1− 2

(q21 + q2

3)))

+ d3(1−

(1− 2

(q21 + q2

2)))

(7.11)

Simplificando a equação (7.11):

tr (D (I3 − I3R)) = 2d1(q22 + q2

3)

+ 2d2(q21 + q2

3)

+ 2d3(q21 + q2

2)

(7.12)

A equação (7.12) é sempre positiva, apenas se anulando para R = Rref . Prova-se assim que o traço

do termo eR é claramente positivo definido. Pela existência do factor quadrático, eZ também é positivo

definido e apenas se anula na situação Z = Zref . O mesmo se passa para os restantes dois termos da

equação (7.10) (ambos se anulam quando W = 0 e Ω = [0, 0, 0]T). A função V é no seu todo definida

positiva, cumprindo uma das condições dos Teoremas 7.1 e 7.2.

A derivada de V ao estado do sistema, R, Z , W e Ω, equivale a

V = −a2 tr(DRT

refR [Ω]×)

+ b (Z − Zref )W + ΩT∆Ω +WW (7.13)

onde R = R [Ω]×.

Rearranjando a equação anterior:

V = a

2ΩT (DRTrefR −RTRrefD

)∨ + b (Z − Zref )W + ΩT∆Ω +WW (7.14)

Definição 7.2 Mapeamento de uma matriz antissimétrica para um vector

50

Page 65: Dissertacao_ Eq Matematica

Supondo que a =

0 −a3 a2

a3 0 −a1

−a2 a1 0

é uma matriz antissimétrica.

• a∨ = [a1, a2, a3].

As variáveis W e Ω estão directamente relacionadas com a força e momento produzidos pelo quadrirotor

(observe-se as equações (7.8) e (7.9)) e são por isso escolhidas como entrada do sistema. Relembrando a

equação (7.2), u =[W , Ω

]T.De acordo com os Teoremas 7.1 e 7.2, a função V deve ser definida negativa. Assim, é preciso encontrar

uma lei de controlo que lhe confira esta propriedade.

A equação (7.14) pode ser disposta na forma matricial, pondo em evidência as variáveis ΩT e W :

V =[W ΩT

] b (Z − Zref ) + Wa

2

(DRT

refR −RTRrefD)∨

+ ∆Ω

(7.15)

Ao selecionar a seguinte lei de controlo, com Λ = diag(

[Λ1,Λ2,Λ3,Λ4]T), uma matriz definida positiva

b (Z − Zref ) + Wa

2

(DRT

refR −RTRrefD)∨

+ ∆Ω

= −Λ

W

Ω

(7.16)

a função V torna-se definida negativa. A substituição da equação (7.16) na equação (7.15) demonstra

este facto:

V = −[W ΩT

]·Λ

W

Ω

(7.17)

Assim, a estabilidade assimptótica do sistema em anel fechado é garantida. Pela equação (7.16), o

comando para a entrada do sistema será

u =

Wcom

Ωcom

= −Λ

W

∆−1Ω

− b (Z − Zref )a

2∆−1(DRT

refR −RTRrefD)∨

(7.18)

e os respectivos pedidos de força vertical e momento produzidos pela aeronave correspondem a:

Fz

M

com

=

mR (3, 3)−1 (Wcom − g0

)JΩcom + [Ω]× JΩ

(7.19)

Os pedidos da equação anterior podem finalmente ser convertidos para a variável V =[V1, V2, V3, V4

]T,

a entrada do modelo computacional introduzido na Secção 5.1. Primeiro Fz e M devem ser transformados

em valor de velocidade angular pelo inverso das equações (4.16) e (4.12) (Subsecção 4.3.1), por esta ordem.

A velocidade angular é convertida no comando Vi de cada motor por Vi = wiGe

.

Em [23], é provado que a função de erro de atitude eR atinge estabilidade local no conjunto L2 =R ∈ SO (3) | tr

(I3 −RT

refR)< 2; tr(I3 −RT

refR)

= 2 corresponde a um ângulo de rotação de 180º

51

Page 66: Dissertacao_ Eq Matematica

entre R e Rref . O conjunto L2 quase cobre todo o grupo SO (3), por isso afirma-se que eR tem

estabilidade assimptótica quase global.

7.3.1. Simulação e avaliação

O controlador implementado funciona a uma frequência de 50 Hz, ou período de amostragem de T = 150 s.

Os testes realizados são similares aos apresentados para o controlador linear de baixo nível, na Secção

6.3. A Figura 7.1 mostra a resposta do sistema a um pedido de voo pairado a 4 metros de altitude, para

uma atitude inicial de [φ, θ, ψ]i = [40,−40, 30] . Apesar do erro inicial de atitude ser bastante elevado,

tr(I3 −RT

refRi

)= 1.29, o sistema encontra-se no conjunto L2 e o controlador atinge a estabilidade

assimptótica. De seguida, efectuou-se uma sequência de pedidos de atitude e altitude ao controlador. A

resposta do sistema e os respectivos pedidos encontram-se na Figura 7.2. A prova de estabilidade para

esta simulação está representada na Figura 7.4, onde dV simboliza a função V. Como era esperado V e

V são funções definidas positiva e negativa, respectivamente, e apenas se anulam quando os erros eR e

eZ tomam o valor 0. A Tabela 7.1 apresenta os tempos de subida e estabelecimento para a resposta do

sistema na Figura 7.1.

Z φ θ ψts (s) 2.025 0.315 0.335 0.373te (s) 3.129 0.565 0.583 0.693

Tabela 7.1.: Tempos de subida e estabelecimento da Figura 7.1

Por fim, na Figura 7.3, a robustez do controlador é posta à prova. É pedido ao controlador uma

referência de (xB,2)ref = [−17, 45, 45, 0]T, com a atitude representada em graus.

As matrizes D, ∆ e Λ devem ser afinadas de forma a distribuir o esforço de controlo entre as três com-

ponentes da matriz de rotação. A estabilização dos ângulos de rolamento e picada é tida como prioritária;

para o controlo de altitude é preferível uma resposta mais demorada. As constantes utilizadas no projecto

do controlador foram as seguintes: a = 10, b = 1.6, D = diag ([10, 10, 10]), ∆ = diag ([0.1667, 0.1667, 2]),

Λ = diag ([2.1, 15, 15, 25]).

52

Page 67: Dissertacao_ Eq Matematica

Figura 7.1.: Controlo de baixo nível: simulação 1

Figura 7.2.: Controlo de baixo nível: simulação 2

53

Page 68: Dissertacao_ Eq Matematica

Figura 7.3.: Controlo de baixo nível: simulação 3

Figura 7.4.: Cálculo das funções V e V

7.4. Controlador de alto nível

A versão não-linear do controlador de alto nível deve seguir referências de posição horizontal, (xh) ref =

[Xref , Yref ]T, controlando as referências de picada e rolamento a enviar para o controlador de baixo-

nível. No fundo a ideia base é a mesma da sua versão linear, desenvolvida na Secção 6.4. São utilizados

os estados de velocidade e posição horizontal, aqui representados por vh = [U, V ]T e xh = [X,Y ]T. A

velocidade da aeronave vh é dada no referencial NED; o estado fornecido pelo sistema implementado

deverá ser convertido utilizando a equação (3.9) (Secção 3.2). A dinâmica que relaciona o deslocamento

horizontal com os ângulos φ e θ é fornecida pela equação (6.22). Este é denominado de processo primário

e pode ser arranjado de maneira mais conveniente para este problema:

54

Page 69: Dissertacao_ Eq Matematica

uA =

0 1g0

− 1g0

0

ah (7.20)

onde uA = [φref , θref ]T é a atitude de referência recebida pelo controlador de baixo nível e ah =[U , V

]Té a aceleração horizontal da aeronave, a entrada do sistema. Constata-se que o sistema composto por xh,

vh e ah é da forma da equação (7.4) (Secção 7.2) e é dado por:

xh = vh (7.21)

vh = ah (7.22)

Este é um resultado óbvio, visto que estas variáveis representam a posição, velocidade e aceleração da

aeronave. Assim, a técnica de backstepping pode ser utilizada. Começando pelo subsistema da equação

(7.21), uma possível função Lyapunov, definida positiva, seria

V1 = 12η

Tη (7.23)

com η = xh − (xh) ref , o erro de posição horizontal. Derivando a função V1:

V1 = ηTvh (7.24)

Repare-se que η = xh, pois é assumido que a posição de referência (xh) ref tem valor constante. De

acordo com os Teoremas 7.1 e 7.2, V1 tem de ser definida negativa. A relação da equação (7.25) confere-lhe

esta característica:

vh = −αη (7.25)

Na equação anterior, α = diag(

[α1, α2]T)

é uma matriz definida positiva. Segundo o método de

backstepping é necessário introduzir esta lei de controlo na função candidata de Lyapunov. Definiu-se a

variável fictícia: ε = vh − (vh)d = vh + αη. (vh)d é o valor que vh deverá seguir para que o erro de

posição possa ser controlado. A função de Lyapunov aumentada é então dada por:

V2 = 12 (vh +αη)T (vh +αη) + 1

2vThvh (7.26)

O termo vThvh actua apenas como factor de estabilização da velocidade horizontal, ou seja, vh tem

valor nulo no ponto de equilíbrio V2 = 0. O termo vh + αη intervém de duas formas. Por um lado η

define o ponto de equilibro, pois V2 apenas se anula quando xh = (xh) ref . Por outro lado, ao incorporar

a lei de controlo da equação (7.25), garante a estabilidade do subsistema da equação (7.21).

O método de backstepping prossegue e a função V2 é derivada (equação (7.27)).

55

Page 70: Dissertacao_ Eq Matematica

V2 = (αη + vh)T (αvh + ah) + vThah (7.27)

Adicionando e subtraindo o termo αvThvh:

V2 = (αη + 2vh)T (αvh + ah)−αvThvh (7.28)

A relação seguinte garante V2 como uma função definida negativa, onde β = diag(

[β1, β2]T)é uma

matriz definida positiva:

αvh + ah = −β (αη + 2vh) (7.29)

Pelo Teorema 7.2 o sistema em anel fechado alcança a estabilidade assimptótica global, pois:

V2 = − (αη + 2vh)Tβ (αη + 2vh)−αvT

hvh (7.30)

.

A lei de controlo geral para o sistema é finalmente introduzida pelas equações (7.31) e (7.32).

aIh = − (αvh + β (αη + 2vh)) (7.31)

aqh = S

ψaIh (7.32)

Tendo em conta a variação do ângulo de guinada, a aceleração horizontal deve ser convertida para

o referencial xyz; S′ é dado pela equação (6.24). A substituição da equação (7.32) na equação (7.20)

fornece o comando final a ser recebido pelo controlador de baixo nível.

Este comando não garante, porém, um seguimento suave da posição da aeronave. Tal como foi referido

na Secção 6.4, é desejável que o quadrirotor se desloque a velocidade constante. Umas das vantagens do

controlo por backstepping é o facto de este actuar de forma recursiva: a aceleração controla a velocidade,

que por sua vez controla a posição. Se a lei de controlo para o subsistema da equação (7.21) tiver valor

constante, isto é, vh = −αη = −αC0, o controlador actuará apenas no subsistema vh = ah e a aeronave

movimenta-se a velocidade constante. Observando atentamente a equação (7.31), chega-se à conclusão

que o controlador seguirá a velocidade:

Uref = β1α1Cxα1 + 2β1

(7.33)

Vref = β2α2Cyα2 + 2β2

(7.34)

onde C0 = [Cx, Cy]T .

Posto isto, um novo algoritmo foi definido.

• Se ‖η‖ > γ, o controlador actua em modo de controlo de velocidade e o comando fornecido ao

56

Page 71: Dissertacao_ Eq Matematica

controlo de baixo nível corresponde a:

ah = −S′

ψ (αvh + β (αC0 + 2vh)) (7.35)

Tal como na Secção 6.4, as equações (7.36) e (7.37) definem a direcção do movimento

|Uref |I = V0√1 +

(η2η1

)2(7.36)

|Vref |I = |Uref |I|η2||η1|

(7.37)

A matriz C0 pode ser calculada resolvendo as equações (7.33) e (7.34) em ordem a Cx e Cy. C0 deverá

ter o mesmo sinal que o erro de posição horizontal η, de modo a que a aeronave se desloque no sentido

correcto.

• Se ‖η‖ < γ o controlador funciona em modo de controlo de posição (equação (7.32)).

A variável γ define a distância ao ponto de referência desejado, (xh) ref , apartir do qual o modo de

controlo de posição é activado.

7.4.1. Simulação e avaliação

Nesta Subsecção apresentam-se apenas as simulações para o controlo híbrido. Como se concluiu na

Subsecção 6.6, esta solução é bem mais realista e adaptável a situações reais. Definiu-se um período de

amostragem de T = 14 s para o controlador. As constantes de afinação utilizadas foram as seguintes:

α = diag ([0.1, 0.1]) e β = diag ([0.6, 0.6]) para o modo de controlo de velocidade, α = diag ([2.6, 2.6])

e β = diag ([1.2, 1.2]) para o controlo de posição horizontal. V0 = 2.5 m/s é o módulo da velocidade

da aeronave; a distância fronteira entre os dois modos do algoritmo é de γ = 1.5 m. O algoritmo

implementado permite a separação dos modos de voo para cada eixo: o controlador pode funcionar em

simultâneo em modo de velocidade para o eixo N e em controlo de posição para o eixo E, por exemplo.

Na primeira simulação (Figura 7.5) a aeronave parte do ponto (xh) i = [8,−8]T, e deve estabilizar em

torno da origem. A velocidade horizontal da aeronave é apresentada no sistema de coordenadas NED. O

ângulo de guinada foi mantido no valor ψ = 60 , validando a solução para ângulos diferentes de zero. Os

pedidos de rolamento e picada são saturados no intervalo [−20, 20]. A Figura 7.6 apresenta o cálculo

das funções V2 e V2, retiradas respectivamente das equações (7.26) e (7.27). Constata-se que V2 e V2

são definidas positiva e negativa — segundo o Teorema 7.2 o sistema é estável. Os tempos de subida e

estabelecimento da simulação da Figura 7.5 encontram-se representados na Tabela 7.2.

57

Page 72: Dissertacao_ Eq Matematica

Figura 7.5.: Controlo de alto nível: simulação 1

Figura 7.6.: Funções V2 e V2

X Yts (s) 2.929 3.742te (s) 6.284 6.980

Tabela 7.2.: Tempos de subida e estabelecimento da Figura 7.5

Para a segunda simulação (Figura 7.7) preparou-se um conjunto de referências de entrada para o

controlador. Também foram incluídos pedidos de altitude e ângulo de guinada, [Zref , ψref ]T, para o

controlo de baixo nível. A Figura 7.8 retrata a resposta do sistema para as referências de guinada. A

58

Page 73: Dissertacao_ Eq Matematica

velocidade horizontal da aeronave, no sistema de coordenadas NED, é exibida na Figura 7.9. Por fim, é

apresentado cálculo das funções V2 e V2, na Figura 7.10.

Figura 7.7.: Controlo de alto nível: simulação 2

Figura 7.8.: Ângulo e razão angular de guinada

59

Page 74: Dissertacao_ Eq Matematica

Figura 7.9.: Velocidade horizontal da aeronave

Figura 7.10.: Funções V2 e V2

7.5. Discussão

Acerca do sistema de controlo não-linear implementado:

• Conseguiu-se uma resposta ligeiramente mais rápida na estabilização de atitude, em comparação

com a versão linear do controlador de baixo nível (ver Tabelas 6.2 e 7.1). É importante realçar

também que o percurso definido para o controlador de baixo nível na Figura 7.2 é bastante mais

exigente, comparativamente ao percurso do controlador linear (Figura 6.3).

• Apesar de não se notar grande diferença entre os dois controladores de baixo nível na proximidade

do voo pairado, a solução não-linear é claramente superior fora desta região (ver Figuras 6.4 e 7.3).

60

Page 75: Dissertacao_ Eq Matematica

• Observou-se que o sistema de controlo de posição implementado requer uma afinação mais cuidada

que o seu homólogo linear.

A robustez dos sistemas de controlo de alto nível implementados foi posta à prova, com a introdução

de uma componente constante de vento nas simulações. Na Figura 7.11 está representada a posição da

aeronave, para um pedido de (xh)ref = [10, 7]T m e zref = −2 m; subscrito LQR para o controlador

linear e subscrito LP para a versão não linear. A Figura 7.12 apresenta a resposta obtida para a atitude

do quadrirotor. O vento é introduzido no intervalo de tempo t = [3, 10] s, com velocidade Vvento =

[10, 10, 10]T m/s (definida no referencial NED). A intensidade do vento considerada, ‖Vvento‖ = 10 m/s,

insere-se na categoria 5 da escala de Beaufort, uma medida empírica que relaciona a velocidade do vento

com condições observadas em terra e no mar [25]. As simulações efectuadas demonstram que ambos os

sistemas de controlo projectados são robustos à perturbação do vento.

Figura 7.11.: Posição da aeronave

61

Page 76: Dissertacao_ Eq Matematica

Figura 7.12.: Atitude da aeronave

62

Page 77: Dissertacao_ Eq Matematica

8. Estimação não linear

Os métodos de controlo introduzidos nos Capítulos 6 e 7 partem do pressuposto de que o controlador

tem acesso directo ao verdadeiro vector de estados do sistema. Porém esta abordagem é demasiado

simplista: além de serem afectados pelo ruído do mundo real, os sensores disponíveis para o controlo

apenas medem algumas das variáveis do vector de estados. A Secção 8.1 apresenta duas soluções para a

estimação de atitude, utilizando o filtro de Kalman extendido. Na Secção 8.2 é introduzida a estimação

de atitude baseada na teoria de estabilidade de Lyapunov. Na Secção 8.3 é feita uma discussão acerca

dos algoritmos de estimação implementados. Na Secção 8.4 são apresentadas algumas simulações em anel

fechado, utilizando as soluções de controlo e estimação projectadas.

8.1. Filtro de Kalman extendido

O filtro de Kalman extendido corresponde à versão não-linear do filtro de Kalman, definido como um

algoritmo de estimação que utiliza uma série de medições contendo ruído para produzir uma estimativa

estatisticamente óptima do estado do sistema. É de notar que o filtro de Kalman extendido não é uma

solução óptima, pois resulta de um conjunto de aproximações [24].

Considere-se o sistema discreto e não linear de período de amostragem T :

xk = f (xk−1,uk−1) + wk Modelo de processo

yk = h (xk,uk−1) + vk Modelo de observação (8.1)

onde wk e vk representam o ruído de processo e de observação. Assume-se que ambos possuem uma

distribuição Gaussiana de média nula e covariância Qk e Rk, respectivamente.

O filtro de Kalman extendido calcula a cada iteração uma estimativa do vector de estado do sistema —

xk|k — e da covariância do erro, Pk|k, uma medida de precisão da estimação efectuada. O funcionamento

deste filtro pode ser dividido em duas fases distintas [24]:

• Predição – o filtro prevê o estado e o erro de covariância actuais, considerando o modelo e a

covariância do processo (Equações (8.2) e (8.3)).

• Actualização – tendo em conta as observações e a covariância de observação é efectuada uma

correcção da fase anterior (Equações (8.4) a (8.8)).

63

Page 78: Dissertacao_ Eq Matematica

xk|k−1 = f(xk−1|k−1,uk−1

)Predição do estado (8.2)

Pk|k−1 = Fk−1Pk−1|k−1FTk−1 + Qk−1 Predição da covariância (8.3)

yk = yk − h(xk|k−1,uk−1

)Resíduo da medição (8.4)

Sk = HkPk|k−1HTk + Rk Resíduo da covariância (8.5)

Kk = Pk|k−1HTk S−1

k Ganho de Kalman (8.6)

xk|k = xk|k−1 + Kkyk Actualização do estado (8.7)

Pk|k = (I−KkHk) Pk|k−1 Actualização da Covariância (8.8)

Na equação (8.3) o termo Fk−1 representa o Jacobiano de f , Fk−1 = ∂f∂x |xk−1|k−1,uk−1 . Analogamente,

Hk = ∂h∂x |xk|k−1,uk−1 simboliza o Jacobiano de h no ponto estimado na fase de predição. Daqui se pode

inferir que, para cada iteração, o filtro de Kalman extendido lineariza o sistema não-linear em torno da

estimação actual. Na equação (8.4), yk define o conjunto de medições disponíveis.

8.1.1. Filtro de atitude

Uma vez que nenhum dos sensores acoplados na aeronave modelo fornece informação directa sobre a sua

atitude, é mandatório proceder-se à sua estimação.

A equação (3.20) constitui o modelo de processo utilizado nesta solução. Como modelo de observação

utilizou-se as equações (4.3), (4.4) e (4.6), introduzidas no Capítulo 4. A componente[Qdz −P dz 0

]Tda equação (4.3) foi excluída do modelo. Estando directamente relacionada com o momento produzido

pelo quadrirotor (equação (3.12)), o seu valor é difícil de obter. O sistema é definido pelo seguinte estado,

saída e entrada, respectivamente:

xk = [φ, θ, ψ]T ,yk =[ax, ay, az, gx, gy, gz, Nx, Ny, Nz

]T,uk = [P,Q,R]T (8.9)

em que os valores da entrada são fornecidos pelo giroscópio. O modelo de observação em contínuo

corresponde a

x = 03,3x + B (x) u (8.10)

onde B (x) é a matriz retirada da equação (3.20).

Os modelos discretos de processo e observação para um período de amostragem T são dados por

Ad = eAT = I3

Bd =(ˆ T

τ=0eAT dτ

)B = TB (x)

Cd = C

Dd = D (8.11)

64

Page 79: Dissertacao_ Eq Matematica

A discretização das matrizes de covariância é dada pelas equações (6.12) e (6.13). O sistema de equações

(8.12) apresenta o modelo completo e já discretizado.

xk = Adxk−1 + Bd |xk−1 uk−1

yk = h (xk,uk−1) (8.12)

É de realçar que o modelo de processo foi criteriosamente escolhido de maneira a facilitar a tarefa de

discretização. Por outro lado, as equações que regem o modelo de observação não são alteradas pelo

método de discretização.

Partindo da ideia de que os ângulos de rolamento e picada são próximos de zero na posição inicial

da aeronave, a estimativa inicial para o vector de estado pode ser baseada no modelo do magnetómetro

(equação (4.6)):

x0 =

0

0

cos−1 (Nx) (8.13)

8.1.1.1. Avaliação

A frequência do estimador é a mesma do controlo de baixo nível, então T = 150 s. Utilizou-se o ruído

dos sensores com os quatro motores ligados (quarta coluna da Tabela 4.7). O filtro foi afinado com as

seguintes matrizes:

Q = diag ([7e− 2, 7e− 2, 2e− 2, 1.151e− 5, 3.928e− 6, 5.91e− 6, 33e− 6, 13e− 6, 12e− 6]) (8.14)

R = diag ([0.02, 0.02, 0.02])

P0 = diag ([0.2, 0.2, 0.2]) (8.15)

P0 é a estimativa inicial da covariância do erro, fornecida ao filtro. Os valores da matriz de covariância

de observação Q correspondem ao ruído dos sensores, excepto para o acelerómetro. A importância

do acelerómetro foi diminuída pelo facto da equação (4.3) não coincidir exactamente com o modelo de

observação do filtro. Em momentos de não-estacionariedade a componente de aceleração angular ganha

especial preponderância, conduzindo a valores de atitude estimados muito diferentes do seu valor ideal.

Na Figura 8.1 são apresentados a atitude ideal e a estimada para um pedido de xref = [16,−16, 50],

feito ao controlador de baixo nível. Na Figura, φid é o estado ideal do sistema e φest é o resultado da

estimação.

65

Page 80: Dissertacao_ Eq Matematica

Figura 8.1.: Estimação de atitude

As características do erro entre a atitude ideal e a estimada, xid − xest = [eφ, eθ, eψ], são dadas na

Tabela 8.1; |m|, σ e xrms representam o módulo da média, o desvio padrão e o valor eficaz. Como se

pode observar a média dos erros é bastante reduzida.

eφ eθ eψ|m| () 0.042 0.02 0.025σ () 0.829 0.585 0.948xrms 0.83 0.585 0.949

Tabela 8.1.: Características do erro de atitude

Para eφ, por exemplo, |m|, σ e xrms são calculados por:

m = 1n

n∑i=1

eφ,i

σ =(

1n− 1

n∑i=1

(eφ,i − m)2

) 12

xrms =√m2 + σ2 (8.16)

onde eφ,i é o erro no ângulo de rolamento para uma dada amostra, n é o número de amostras observadas.

8.1.2. Filtro de atitude simplificado

Esta solução é semelhante à apresentada na Secção anterior, diferindo apenas no tipo de linearização

efectuada no sistema. Os modelos de processo e observação são linearizados em torno da estimação

actual do ângulo de guinada (com ângulos nulos de rolamento e picada), isto é, para o ponto de equilíbrio

x0k−1 =

[0, 0, ψk−1|k−1

]T. Por conseguinte o ponto equivalente para o vector de entrada é u0

k = [0, 0, 0]T.

66

Page 81: Dissertacao_ Eq Matematica

Esta abordagem apenas será válida na proximidade do ponto de equilíbrio, podendo ser suportada pelo

facto de o quadrirotor não tomar ângulos de rolamento e picada elevados. Aplicou-se então a linearização

da série de Taylor (explicada no Capítulo 5) ao modelo discreto da equação (8.12). Visando já a sua

inclusão no algoritmo do filtro, o modelo discreto para o filtro simplificado é dado pelo sistema de equações

(8.17)

xk = x0k−1 + I3

(xk−1 − x0

k−1)

+ T I3uk−1

yk = y0k + Cd

(xk − x0

k−1)

+ Dduk−1 (8.17)

com:

y0k =

02,1

g0

03,1

cos ψk|k−1

− sin ψk|k−1

0

,Cd =

0 −g0 0

g0 0 0

04,1 04,1 04,1

0 0 − sin ψk|k−1

0 0 − cos ψk|k−1

sin ψk|k−1 cos ψk|k−1 0

,Dd =

03,3

I3,3

03,3

(8.18)

Na formulação do modelo de observação, a segunda e terceira componentes da equação (4.3) foram

desprezadas.

8.1.2.1. Avaliação

A Figura 8.2 apresenta o resultado da primeira simulação, onde foi pedido ao controlador de baixo nível

que estabilize a atitude em torno de xref = [5,−5, 50]. Utilizaram-se as matrizes de afinação da equação

(8.14). A Tabela 8.2 fornece as características do erro de atitude para esta simulação.

67

Page 82: Dissertacao_ Eq Matematica

Figura 8.2.: Estimação de atitude

eφ eθ eψ|m| () 0.055 0.06 0.123σ () 0.661 0.554 1.057xrms 0.663 0.557 1.064

Tabela 8.2.: Características do erro de atitude

Como se pode observar, o filtro apresenta uma boa estimação para ângulos de rolamento e picada

reduzidos. No entanto, com o aumento de φ e θ a sua performance deteriora-se um pouco:

eφ eθ eψ|m| () 0.678 0.446 1.722σ () 0.869 0.585 1.072xrms 1.103 0.736 2.029

Tabela 8.3.: Características do erro de atitude

Os resultados da Tabela 8.3 foram obtidos com um pedido de xref = [16,−16, 50] feito ao controlador

(a mesma simulação feita para o estimador da Subsecção 8.1.1). A média do erro é um pouco afectada,

principalmente para o ângulo de guinada. Contudo, isto não é preocupante, pois os ângulos de rolamento

e picada são significativamente mais importantes no problema de estabilização da atitude. O desvio

padrão do erro, σ, apresenta valores semelhantes aos da Tabela 8.1.

Outro facto a realçar é a influência do parâmetro dz (distância entre o acelerómetro e o centro de massa

da aeronave) no processo de estimação. Supondo que dz = 0, a equação para a modelação do acelerómetro

coincide com o modelo de observação do filtro. Desta forma poder-se-á incluir o valor de ruído medido

para este sensor na matriz Q, [7e− 6, 7e− 6, 2e− 6]. A Figura 8.3 demonstra o resultado da simulação.

As características do erro de estimação são apresentadas na Tabela 8.4. O desvio padrão para os ângulos

de rolamento e picada são consideravelmente diminuídos. A aplicação da mesma metodologia ao filtro da

Subsecção 8.1.1 indica resultados semelhantes.

68

Page 83: Dissertacao_ Eq Matematica

eφ eθ eψ|m| () 0.029 0.01 0.123σ () 0.113 0.114 1.057xrms 0.117 0.115 1.064

Tabela 8.4.: Características do erro de atitude

Figura 8.3.: Estimação de atitude

8.2. Estimação de Lyapunov

Esta Secção apresenta uma solução de estimação de atitude e velocidade angular baseada na teoria de

Lyapunov, introduzida na Secção 7.1. Considere a seguinte função de Lyapunov

V = a

2 tr(D(I3 −RT

mR))

+ 12e

Twew (8.19)

onde:

• tr(D(I3 −RT

mR))

é o erro entre a matriz de rotação estimada, R, e a matriz de rotação construída

a partir das medições do acelerómetro e magnetómetro, Rm.

• ew = w − RTRmwm representa o erro entre a velocidade angular estimada e medida, w e wm

respectivamente. De acordo com [23] os vectores tangentes d

dt

(R)∈ >RSO (3) e d

dt(Rm) ∈

>RmSO (3) não podem ser comparados directamente pois pertencem a espaços tangenciais diferen-

tes. d

dt(Rm) é portanto transformado num vector em >RSO (3). O termo ew resulta da comparação

d

dt

(R)− d

dt(Rm) RT

mR.

• D = diag(

[d1, d2, d3]T)é uma matriz definida positiva de ponderação, a é uma constante positiva.

A variável wm = [P,Q,R]T corresponde às medições do giroscópio. Por sua vez, Rm é calculado utilizando

as medições do acelerómetro (a) e magnetómetro (N):

69

Page 84: Dissertacao_ Eq Matematica

Rm =[

Nn [an]× Nn an]T

(8.20)

Na equação anterior, Nn = N‖N‖ e an = a

‖a‖ são as medidas normalizadas destes sensores.

Voltando à equação (8.19), pretende-se que a energia do sistema convirja para o estado de equilíbrio

V = 0 ⇒(ew = 0 ∧RT

mR = I3

)⇒(w = wm ∧ R = Rm

). A função V é semelhante à função de

Lyapunov definida para o controlo de baixo nível (equação (7.10)) e por isso é também definida positiva.

Para que a função de Lyapunov possa ser derivada, é primeiro necessário encontrar a derivada temporal

dos seus constituintes. Começando pelo termo DRTmR, derivando a R e Rm:

d

dt

(DRT

mR)

= −D [wm]×RTmR + DRT

mR [w]×d

dt

(DRT

mR)

= DRTmR

(−RTRm [wm]×RT

mR + [w]×)

d

dt

(DRT

mR)

= DRTmR

[w− RTRmwm

d

dt

(DRT

mR)

= DRTmR [ew]× (8.21)

Note-se que d

dt

(R)

= R [w]× e d

dt

(RTm

)= − [wm]×RT

m, relembrando a equação (3.21). A derivada

do primeiro termo de V fica então

d

dt

12 tr(D(I3 −RT

mR))

= 12 tr(−DRT

mR [ew]×)

= 12e

Tw

(DRT

mR − RTRmD)∨

d

dt

12 tr(D(I3 −RT

mR))

= eTweR (8.22)

com eR = 12

(DRT

mR − RTRmD)∨.

A derivada da função V aos estados ew, R e Rm é finalmente introduzida

V = aeTweR + eT

wew = eTw (aeR + ew) (8.23)

Pelos Teoremas de estabilidade de Lyapunov (7.1 e 7.2) deverá ser escolhida uma lei de modo a que V

seja definida negativa:

ew = −4ew − aeR (8.24)

Torna-se bastante claro que ew é selecionada como variável de entrada do sistema; 4 = diag(

[41,42,43]T)

é uma matriz definida positiva. Assim, a relação da equação (8.24) conduz à estabilidade assimptótica

do sistema.

Uma vez garantida a estabilidade, é ainda necessário delinear um modelo para o estimador, para que

os valores de R e w sejam actualizados a cada novo instante de tempo. Com esse fim, implementou-se o

seguinte modelo discreto:

70

Page 85: Dissertacao_ Eq Matematica

ew,k+1 = ew,k + T ew,k (8.25)

wk+1 = ew,k+1 + RTk Rm,kwm,k (8.26)

Rk+1 = Rk

(I3 + T [wk+1]×

)(8.27)

A cada intervalo de tempo T , o erro de velocidade angular é actualizado utilizando o valor actual de

ew,k e ew,k. Na equação (8.26), a velocidade angular é calculada recorrendo à equação acima definida

para ew. A equação (8.27) é simplesmente a aplicação discreta da relação linear: d

dt

(R)

= R [w]×. Em

suma a lei de controlo da equação (8.24) garante a convergência do sistema para o ponto de equilibro,

permitindo ao estimador a actualização correcta do estado — Rk+1 e wk+1.

Por fim, Rk+1 pode ser convertida para[φ, θ, ψ

]Tatravés da equação (3.5) (tenha-se em conta que

Sk+1 = RTk+1).

8.2.1. Avaliação

Nas Figuras 8.4 e 8.5 apresentam-se, respectivamente, os resultados das estimações de atitude e veloci-

dade angular, com T = 150 s. Nesta simulação é pedido ao controlador de baixo nível que estabilize no

ponto xref = [16,−10, 20]. As características dos erros de atitude e velocidade angular (em /s) são

disponibilizadas pela Tabela 8.5. Na Figura 8.6 está representada a convergência do estimador; como era

de esperar V e V são funções definidas positiva e negativa. Para a afinação do estimador, utilizaram-se

as seguintes constantes: D = diag(

[85, 85, 85]T), a = 1 e 4 = diag

([60, 60, 60]T

). O ruído considerado

para os sensores é o mesmo das duas formulações anteriores.

eφ eθ eψ eP eQ eR|m| 0.097 0.058 0.098 0.032 0.064 0.089σ 0.146 0.176 0.339 5.967 4.7 7.962

xrms 0.176 0.185 0.352 5.967 4.7 7.962

Tabela 8.5.: Características dos erros

71

Page 86: Dissertacao_ Eq Matematica

Figura 8.4.: Estimação de atitude

Figura 8.5.: Estimação de velocidade angular

72

Page 87: Dissertacao_ Eq Matematica

Figura 8.6.: Funções V e V

8.3. Discussão das soluções de estimação

Das três estimações implementadas, o filtro de Lyapunov é o que apresenta melhores resultados. O desvio

padrão obtido na estimação de atitude é consideravelmente menor, podendo-se concluir que é na realidade

mais resistente ao ruído das medições. Por outro lado, e ao contrário das estimações de Kalman, não

necessita de um modelo matemático de observação. Outra vantagem desta solução é o facto de incluir

uma estimação para a velocidade angular da aeronave. Sentiu-se que uma afinação mais cuidada das

constantes a, D, e 4 produziria uma média |m| ainda mais reduzida para a estimação de atitude.

O comportamento das estimações de Kalman é praticamente idêntico para baixos ângulos de atitude.

Para ângulos de rolamento e picada na ordem dos 15 já se nota uma diferença relevante. Nesta gama de

valores o filtro de Kalman extendido é superior à sua versão simplificada, aliás, como seria de esperar. A

dependência entre o resultado da estimação e o modelo de observação considerado é também um factor a

ter em conta. Testou-se os três algoritmos de estimação com dados de voo reais fornecidos pelo sistema

do QUAVIST (Figura 8.7). A inclinação magnética consiste no ângulo que o vector magnético faz com o

plano do magnetómetro. Tendo em atenção este facto, rodou-se o vector de medições do magnetómetro,

fazendo-o coincidente com o plano xy da aeronave. Os resultados obtidos para as três estimações foram

positivos. Na Figura 8.7 os subscritos KE, KS e LP representam por esta ordem a estimação de Kalman,

o filtro de Kalman simplificado e a estimação não linear de Lyapunov. Era de esperar que a estimação

de Lyapunov apresentasse resultados superiores à estimação de Kalman, como tinha sido observado nas

diversas simulações realizadas. De facto, observou-se uma maior oscilação na estimação de Lyapunov; as

estimações dos dois filtros de Kalman apresentam resultados semelhantes. Ainda assim, sentiu-se que a

estimação de Lyapunov necessita de uma afinação mais cuidada.

73

Page 88: Dissertacao_ Eq Matematica

Figura 8.7.: Estimação com dados reais

8.4. Simulações em anel fechado

Esta Secção representa o culminar de todo o trabalho desenvolvido. Está estruturada em duas partes. Na

primeira, os dois controladores de baixo nível descritos nas Secções 6.3 e 7.3 são testados com as soluções

de estimação do Capítulo 8. Para a segunda parte os sistemas de controlo de alto nível desenvolvidos nos

Capítulos 6 e 7 são testados com a solução de estimação que se considerou a melhor.

A Figura 8.8 apresenta o resultado da primeira simulação. É pedido ao controlador linear de baixo

nível que estabilize em torno da atitude [8,−8, 20], voltando mais tarde ao voo pairado — [0, 0, 0]. Note-se

que os pedidos para cada ângulo são efectuados em tempos de simulação diferentes. As duas estimações

de atitude definidas para o filtro de Kalman extendido são então realimentadas; os restantes estados são

considerados ideais. Na Figura, φKE representa o rolamento real do sistema utilizando o filtro de Kalman

extendido. Por sua vez, φKS é o rolamento do sistema usando a estimação de Kalman simplificada.

74

Page 89: Dissertacao_ Eq Matematica

Figura 8.8.: Controlo linear de baixo nível com estimação de Kalman

Repetiu-se o procedimento anterior, desta vez com realimentação do filtro de Lyapunov. A simulação

encontra-se representada na Figura 8.9. Primeiro, utilizou-se apenas a estimação de atitude (subscrito La

na figura). De seguida, ambas as estimações de atitude e velocidade angular são fornecidas ao controlador

(subscrito Lv). O controlador linear de baixo nível não necessitou de qualquer afinação.

Figura 8.9.: Controlo linear de baixo nível com estimação de Lyapunov

Foram repetidas as mesmas simulações para o controlador não linear de baixo nível (Figuras 8.10 e

8.11). O controlo com a estimação de atitude de Lyapunov não precisou de qualquer afinação. No entanto,

para a estimação de atitude e velocidade angular foi preciso diminuir a importância das velocidades P e

75

Page 90: Dissertacao_ Eq Matematica

Q, escolhendo Λ = diag(

[2.1, 7.5, 7.5, 25]T). Para compensar o maior desvio padrão observado nas duas

estimações de Kalman, definiu-se D = diag(

[7, 7, 7]T). Como era esperado a realimentação do filtro

de atitude de Lyapunov apresenta uma performance muito superior, seguida de perto pela estimação

de atitude e velocidade angular. A estimação do ângulo de guinada fornecida pelo filtro de Kalman

simplificado apresenta uma média do erro |m| bastante superior às restantes estimações; este facto já

tinha sido observado para condições de voo relativamente desviadas do voo pairado (ver Tabela 8.3). Os

dois controladores de baixo nível apresentam resultados similares.

Figura 8.10.: Controlo não linear de baixo nível com estimação de Kalman

Figura 8.11.: Controlo não linear de baixo nível com estimação de Lyapunov

76

Page 91: Dissertacao_ Eq Matematica

Na segunda parte desta Secção, pediu-se ao controlador de alto nível que estabilize em torno da posição

horizontal xh = [20, 20]. Como realimentação para o controlo de baixo nível seleccionou-se a estimação

de atitude e velocidade angular de Lyapunov. Tendo em mente um cenário o mais realista possível,

esta opcção faz sentido. O controlador de alto nível é alimentado directamente com a saída do sensor

GPS. Na Figura 8.12 pode ser observado o resultado da simulação para a solução de controlo linear de

velocidade e posição horizontal. Foi repetida a mesma simulação, desta feita utilizando o controlador não

linear de alto nível (Figura 8.13). Naturalmente, foi necessário submeter os dois sistemas de controlo a

uma afinação mais cuidada (ver Tabela 8.6). Mv e Mp simbolizam os modos de controlo de velocidade e

posição, respectivamente. Foi escolhido para os dois controladores V0 = 2.5 m/s e γ = 3 m. No geral, o

controlador não linear apresenta melhores resultados: o seguimento da velocidade horizontal é melhor e,

apesar do erro de posição ser maior, a resposta do controlo de posição exibe maior estabilidade.

Linear Mv Q = diag ([10, 10]) R = diag ([800, 800])Mp Q = diag ([10, 10, 5, 5]) R = diag ([8000, 8000])

Não linear Mv α = diag ([0.1, 0.1]) β = diag ([0.1, 0.1])Mp α = diag ([0.4, 0.4]) β = diag ([0.05, 0.05])

Tabela 8.6.: Afinação dos controladores

Figura 8.12.: Controlo linear de alto nível

77

Page 92: Dissertacao_ Eq Matematica

Figura 8.13.: Controlo não linear de alto nível

78

Page 93: Dissertacao_ Eq Matematica

9. Conclusões e trabalho futuro

Podem-se retirar algumas conclusões acerca do trabalho realizado:

• Considerou-se que o modelo computacional definido no Capítulo 4 modela com sucesso a aeronave

QUAVIST e é uma boa aproximação da situação de voo real. Determinaram-se experimentalmente

algumas das características físicas da aeronave, bem como o ruído que afecta os sensores. O facto

do acelerómetro não se encontrar no centro de massa da aeronave foi tido em conta na modelação

deste sensor. A modelação dos actuadores é baseada em valores teóricos, encontrados na datasheet

do motor em questão.

• O método indirecto de Lyapunov revelou ser uma boa ferramenta para a análise de estabilidade do

sistema não linear em questão.

• O sistema de controlo linear projectado apresenta bons resultados. No entanto, o seu desempenho

está limitado à proximidade do ponto de voo pairado. O controlo híbrido de posição e velocidade

horizontal da aeronave é uma solução mais realista que o simples controlo da sua posição. O

sistema de controlo projectado demonstrou ser robusto na presença de vento. Porém, a robustez

do controlador de baixo nível é posta em causa para ângulos de rolamento e picada elevados.

Observou-se que o sistema de controlo não linear é robusto para ângulos de rolamento e picada

elevados, bem como na presença de vento nas simulações. Contudo, requer uma afinação mais

cuidada que o controlador linear. O controlador linear de altitude implementado no QUAVIST

apresentou resultados satisfatórios. Apesar da existência do erro estático, o controlador estabiliza

com sucesso a altitude da aeronave.

• A estimação não linear de Lyapunov apresentou melhores resultados que as duas estimações de

Kalman. O filtro de Kalman extendido aparenta ser superior ao filtro simplificado, para ângulos

de atitude relativamente elevados (na ordem dos 15 ); na proximidade do voo pairado apresentam

resultados semelhantes. A estimação de Lyapunov possui três grandes vantagens em relação às

soluções de Kalman: fornece uma estimação da velocidade angular da aeronave, a estimação de

atitude aparenta ser mais robusta ao ruído das medições e o seu desempenho não depende do

modelo de observação considerado para os sensores.

• Nas simulações em anel fechado ambos os sistemas de controlo de baixo nível apresentam bons resul-

tados. Como seria de esperar, conseguiu-se melhores resultados com a realimentação da estimação

de Lyapunov. Os resultados para o controlo de alto nível foram satisfatórios.

Existem aspectos a melhorar e algum trabalho futuro que pode ser realizado:

79

Page 94: Dissertacao_ Eq Matematica

• Caracterizar experimentalmente o sistema de actuação da aeronave. Determinar a relação entre

a entrada e saída dos variadores de tensão. Averiguar que tipo de comando é enviado para os

actuadores pelo sistema de controlo do QUAVIST e defini-lo como entrada do sistema computaci-

onal implementado. Desta forma, será possível implementar no QUAVIST as soluções de controlo

propostas neste trabalho. A inclusão do comando enviado pelo sistema da aeronave no modelo

computacional facilita o processo de afinação dos controladores.

• Corrigir o erro estático do controlador de altitude implementado no QUAVIST. Isto pode ser con-

seguido com uma estimação da velocidade vertical baseada no sonar. Por outro lado, o controlo

da altitude e a estimação da velocidade vertical deverão ter a mesma frequência das medições do

sonar. Também poderá ser projectada uma nova estimação de altitude e velocidade vertical, com

base nas medições do barómetro e do sonar.

• Implementar as soluções de controlo no QUAVIST. Nenhum dos sensores a bordo do quadrirotor

fornece informação acerca da sua velocidade vertical, necessária para o controlo de baixo nível.

Assim, deverá ser projectada uma estimação de altitude e velocidade vertical que faça a fusão entre

o sonar e o barómetro, os dois sensores de altitude da aeronave.

80

Page 95: Dissertacao_ Eq Matematica

Bibliografia

[1] Stevens, B. L., & Lewis, F. L. (2003). Aircraft control and simulation. Wiley

[2] Beer, F. P., Johnston Jr, E. R., & Cornwell, P. J. (1980). Mecânica vetorial para engenheiros:

dinâmica. McGraw Hill Brasil.

[3] Acessado em 03 Jan. 2013. <http://paparazzi.enac.fr/>.

[4] Acessado em 13 Feb. 2013. <https://www.sparkfun.com/datasheets/Components/SMD/adxl335.pdf>.

[5] Acessado em 13 Feb. 2013. <https://www.analog.com/static/imported-

files/data\_sheets/ADXRS620.pdf>.

[6] Acessado em 13 Feb. 2013. <https://www51.honeywell.com/aero/common/documents/myaerospacecatalog-

documents/Defense_Brochures-documents/HMC5883L_3-Axis_Digital_Compass_IC.pdf>.

[7] Acessado em 13 Feb. 2013. <http://www.maxbotix.com/documents/XL-MaxSonar-

EZ_Datasheet.pdf>.

[8] Acessado em 13 Feb. 2013. <http://www.adafruit.com/datasheets/BMP085_DataSheet_Rev.1.0_01July2008.pdf>.

[9] Acessado em 13 Feb. 2013. <http://www.navilock.de/produkt/61846/pdf.html?sprache=en>.

[10] Henriques, B. (2011). Estimation and Control of a quadrotor Attitude (Tese de mestrado). Instituto

Superior Técnico, Lisboa.

[11] Lee, T., Leok, M., & McClamroch, N. H. (2012). Nonlinear robust tracking control of a quadrotor

UAV on SE (3). Asian Journal of Control, 1-10.

[12] Acessado em 5 Mar. 2013. <http://www.electricwingman.com/axi-2814-22-heavy-lift-mk3538-

replacement.aspx>.

[13] Acessado em 6Mar. 2013. <http://ctms.engin.umich.edu/CTMS/index.php?example=MotorSpeed&section=SystemModeling>.

[14] Borowski, M. F. Analysis and Control of a DC Electric Drive Exhibiting Dead Zone Characteristics.

University of New Hampshire, Department of Electrical and computer Engineering.

[15] Astrom, K. J., & Hagglund, T. (2005). Advanced PID control. ISA-The Instrumentation, Systems,

and Automation Society.

[16] DeCarlo, R. A. (1989). Linear systems: A state variable approach with numerical implementation.

Prentice-Hall.

81

Page 96: Dissertacao_ Eq Matematica

[17] Tayebi, A., & McGilvray, S. (2006). Attitude stabilization of a VTOL quadrotor aircraft. Control

Systems Technology, IEEE Transactions on, 14(3), 562-571.

[18] Acessado em 20 Mar. 2013. <http://www.mathworks.com/help/control/ref/dcgain.html>.

[19] Lyapunov, A. M. (1992). The general problem of the stability of motion. International Journal of

Control, 55(3), 531-534.

[20] Slotine, J. J. E., & Li, W. (1991). Applied nonlinear control (Vol. 199, No. 1). Prentice-Hall.

[21] Harkegard, O., & Glad, S. T. (2001). Flight control design using backstepping (Tese de mestrado).

Division of Automatic Control, Department of Electrical Engineering, Linkopings universitet.

[22] Kokotovic, P. V. (1992). The joy of feedback: nonlinear and adaptive. Control Systems, IEEE, 12(3),

7-17.

[23] Lee, T., Leok, M., & McClamroch, N. H. (2010). Control of complex maneuvers for a quadrotor UAV

using geometric methods on SE (3). arXiv preprint arXiv:1003.2005.

[24] Ribeiro, M. I. (2004). Kalman and extended kalman filters: Concept, derivation and properties.

Instituto Superior Técnico (Institute for Systems and Robotics), Lisboa

[25] Saucier, W. J. (2013). Principles of meteorological analysis. Courier Dover Publications.

[26] Alciatore, D. G., & Histand, M. B. (2007). Introduction to mechatronics and measurement systems.

New York: McGraw-Hill.

[27] Bouabdallah, S., Noth, A., & Siegwart, R. (2004). PID vs LQ control techniques applied to an indoor

micro quadrotor. In Intelligent Robots and Systems, 2004.(IROS 2004). Proceedings. 2004 IEEE/RSJ

International Conference on (Vol. 3, pp. 2451-2456). IEEE.

[28] Bouabdallah, S., & Siegwart, R. (2005). Backstepping and sliding-mode techniques applied to an

indoor micro quadrotor. In Robotics and Automation, 2005. ICRA 2005. Proceedings of the 2005

IEEE International Conference on (pp. 2247-2252). IEEE.

[29] Salih, A. L., Moghavvemi, M., Mohamed, H. A., & Gaeid, K. S. (2010).Modelling and PID controller

design for a quadrotor unmanned air vehicle. In Automation Quality and Testing Robotics (AQTR),

2010 IEEE International Conference on (Vol. 1, pp. 1-5). IEEE.

[30] Lesecq, S., Gentil, S., & Daraoui, N. (2009). Quadrotor attitude estimation with data losses. In

European Control Conference ECC09, Budapest, Hungary.

82