CENTRO DE TECNOLOGIA
CURSO DE ENGENHARIA DE CONTROLE E AUTOMAÇÃO
elaborado por
Willian Rigon Silva
COMISSÃO EXAMINADORA:
This work presents a methodology for mathematical modelling, simulation and control
design for the longitudinal dynamics of a fixed-wing Unmanned Aerial Vehicles (UAV). This
methodology is widely used in aeronautical literature for airplane design, so its adaptation to
UAV was investigated. Fixed wing aicraft presents non-linear coupled dynamics. Therefore,
some assumptions were made in order to simplify the modelling and control design. Two dif-
ferent methods were used to obtain the longitudinal dynamics model: Analytic (by stability and
control derivatives given by USAF DATCOM) and X-Plane Flight Simulator (which uses Blade
Element Theory to calculate the flight model). The equations were linearized for an equilib-
rium point (cruise flight at a chosen altitude and speed). Both longitudinal dynamics modes
were studied: Short Period and Phugoid Mode.
The chosen plant is the University of Toronto Explorer (UT-X) UAV, designed and built
by the University of Toronto Aerospace Team (UTAT). The author was an active member of
UTAT, while studying in the University of Toronto (UofT), participating in a scholarship pro-
gram called Science Without Borders (SwB).
The UT-X’s longitudinal dynamics was simulated both analytically (by MATLAB /
SIMULINK) and by flight simulation (X-Plane), comparing the results of each method. Us-
ing classical automatic flight control theory, an Altitude and MACH HOLD Autopilot were
designed. The regulators and compensators of the feedback loop are of Proportional-Integral-
Derivative (PID) type. A Software in The Loop (SITL) simulation was developed, using MAT-
LAB/SIMULINK communicating with X-Plane through a UDP protocol socket. With the use
of SITL simulation, virtual flight test were performed in order to assess the performance of the
designed autopilots. Wind, Gust and Turbulence tests were also presented.
1 INTRODUÇÃO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.1 Contextualização e Motivação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.2 Definições . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.3 Categorias de VANT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.4 Sub-Sistemas que compõe um VANT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.5 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
1.5.1 Objetivos Gerais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
1.5.2 Objetivos Específicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
1.6 Contribuição . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
1.7 Cronograma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
1.8 Organização . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2 REVISÃO BIBLIOGRÁFICA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.1 Mêcanica de Voo de VANTs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.2 Modelagem utilizando o USAF DATCOM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.3 Modelagem utilizando o X-Plane . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3 PLANTA - VANT DE RECONHECIMENTO AÉREO UT-X . . . . . . . . . . . . . . . . . . . . . . 27
3.1 VANT University of Toronto Explorer (UT-X) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.2 Proposição do Problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4 MODELAGEM DA PLANTA(VANT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
4.1 Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
4.2 Definição dos Eixos de Referência e Ângulos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
4.3 Considerações e Definição do Referencial Inercial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
4.4 Rotações entre os Sistemas de Referência . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
4.4.1 Rotação entre o Eixos do Solo e Eixos do Corpo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
4.4.2 Rotações entre os Eixos Fixos na Aeronave . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
4.5 Forças e Momentos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
4.5.1 Forças (Dinâmica Translacional) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
4.5.2 Momentos (Dinâmica Rotacional) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
4.6 Modelo Não Linear da Dinâmica Longitudinal do VANT . . . . . . . . . . . . . . . . . . . . . . . . . 47
5 CÁLCULO DAS FORÇAS E MOMENTOS DA PLANTA(VANT) ATRAVÉS DE
DERIVADAS DE ESTABILIDADE E CONTROLE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
5.1 Forças Aerodinâmicas e Momento de Arfagem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
5.2 Modelo do Motor - Força de Propulsão . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
5.3 Coeficientes Aerodinâmicos Adimensionais - Derivadas de Estabilidade e Controle 52
5.4 Método Semi-Empírico - USAF DATCOM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
5.5 Método por Blade Element Theory dado pelo X-Plane . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
6 SIMULAÇÃO ANALÍTICA DO VANT UT-X . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
6.1 Introdução - Modos de Voo Longitudinais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
6.2 Simulação MATLAB/SIMULINK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
6.3 Cálculo do Ponto de Balanço (Trim) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
6.4 Simulação Analítica e Resultados dos Modos Longitudinais . . . . . . . . . . . . . . . . . . . . . . 64
7 SIMULAÇÃO DO VANT UT-X NO SIMULADOR DE VOO X-PLANE . . . . . . . . . . . 68
7.1 Introdução - Resumo do Procedimento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
7.2 Modelagem do VANT UT-X no Plane-Maker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
7.2.1 Obtenção de Coeficientes Aerodinâmicos para os Aerofólios . . . . . . . . . . . . . . . . . . . . . . . 70
7.2.2 Estrutura - Fuselagem, Asas, Trem de Pouso e Estabilizadores Vertical e Horizontal. 72
7.2.3 Peso e Centro de Gravidade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
7.2.4 Motorização . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
7.3 Simulação de Voo e Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
8 CONTROLE DO VANT UT-X (PILOTO AUTOMÁTICO) . . . . . . . . . . . . . . . . . . . . . . . . 88
8.1 Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
8.2 Linearização e Autovalores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
8.3 Stability Augmentation System - SAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
8.4 Control Augmentation System - CAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
8.5 Altitude Hold Autopilot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
8.6 MACH Hold Autopilot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
8.7 Ensaio em Voo dos Pilotos Automáticos no X-Plane . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
8.7.1 Decolagem e Voo Nivelado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
8.7.2 Vento Constante e Curva . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
8.7.3 Vento Constante e Rajada de Través . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
8.7.4 Vento Constante, Rajada de Través e Turbulência. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
9 CONCLUSÃO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
9.1 Comentário sobre os Resultados e Considerações Finais. . . . . . . . . . . . . . . . . . . . . . . . . . 115
9.2 Trabalhos Futuros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
REFERÊNCIAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
10ANEXOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
10.1Anexo A - VANT UT-X descrito no USAF DATCOM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
10.2Anexo B - Script de cálculos para a simulação de voo analítica no MATLAB/SI-
MULINK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
10.2.1Configuração de parâmetros e Projeto de Controladores . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
10.2.2Código de Linearização das Equações . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
10.2.3Código de Solução para o Ponto de Balanço . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
10.2.4Código do modelo não-linear do bloco apresentado na figura 6.3 . . . . . . . . . . . . . . . . . . . 136
10.3Anexo C - Script de cálculos para configuração da simulação de voo no X-Plane
e interface com o MATLAB/SIMULINK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
10.3.1Código para plotar os dados após a simulação de voo do X-Plane . . . . . . . . . . . . . . . . . . 149
13
1 INTRODUÇÃO
VANT pode ser facilmente substituída. O conforto e segurança dos operadores é maior do que
em aeronaves tripuladas, com isto a operação está menos sujeita a ter erros de caráter humano
(AUSTIN, 2010). Se há necessidade de sobrevoo em áreas de acidente radioativo ou químico,
a equipe de controle do VANT pode operar sem nenhum risco (uma vez que não há tripula-
ção embarcada). Esta segurança aos operadores do VANT também é vantagem em missões
de combate/identificação de incêndios ou verificação de linhas de alta tensão. Em operações
militares há ainda mais vantagens, pois o risco à tripulação é extremamente alto em aeronaves
tripuladas (AUSTIN, 2010). Por todas as vantagens mencionadas e ampla gama de aplicações, o
domínio da tecnologia que envolve os VANTs (seu projeto e operação) é importante. O projeto
como um todo é otimizado para operar sem tripulação embarcada (que pode ser visto como um
sub-sistema em aviões embarcados) (AUSTIN, 2010).
Para o projeto de um piloto automático (controle), o primeiro passo é a modelagem
matemática da cinemática e dinâmica de vôo (rotacional e translacional) através de equações
diferenciais não-lineares. Com a obtenção do modelo matemático, e de posse de uma plataforma
confiável de simulação da planta/aeronave, torna-se possível o projeto de controladores de uma
maneira segura e dinâmica, minimizando os riscos durante ensaios de vôo da aeronave real.
A tecnologia embarcada nos VANTs está em rápida expansão, logo, é interessante com-
preender todos os seus sub-sistemas e dominar o conhecimento envolvido para o seu projeto
(BEARD; MCLAIN, 2012).
O modelo matemático de uma aeronave tem aplicações muito além do projeto de siste-
mas de controle (STEVENS; LEWIS, 1992). Durante o projeto conceitual de uma aeronave é
importante possuir um modelo matemático para prever o seu comportamento em determinadas
fases de voo ou testar novas configurações da sua estrutura, sem a necessidade de construção
da mesma (pois envolve altos custos e tempo considerável). Para ensaios em voo também é
importante possuir um modelo matemático, pois se prevê o resultado daquele ensaio sem a ne-
cessidade de mobilizar uma equipe e sem riscos envolvidos (também economizando em tempo
e custo). Para simulação e treinamento, o modelo matemático da aeronave serve como uma
base segura para aprendizagem do comportamento dinâmico por parte dos pilotos/equipe.
1.2 Definições
• Veículo Aéreo Não Tripulado (VANT) ou Unmanned Aerial Vehicle (UAV): Aeronave não
tripulada (asa-fixa, asa-rotativa e dirigíveis), com capacidade de alçar voo, composto por
sub-sistemas dotados de uma inteligência automatizada, e de fins não recreativos.
(b) Aeronave Autônoma: VANT que uma vez em voo, seguirá uma navegação pré-
programada sem possibilidade de interferência por um piloto em estação de controle
externa à aeronave.
• Drone ou Aeromodelo: Aeronave não tripulada e rádio controlada para fins recreativos,
voando no alcance visual do operador.
Como a tecnologia dos VANTs está em rápida evolução, as suas categorias têm se modi-
ficado em igual velocidade. Não é possível fazer uma divisão clara entre as categorias, mas elas
16
servem como auxílio no projeto e planejamento de missão dos VANTs. Portanto as faixas de
operação definidas não são definidas com rigor, podendo haver VANTs projetados para aplica-
ções específicas que se encaixam em mais de uma categoria. Grande parte destas são baseadas
nas apresentadas por (AUSTIN, 2010) e tem aplicações militares.
• HALE - High Altitude Long Endurance - Voam em altitudes maiores que 15.000 metros
e tem autonomia de mais de 24 horas de voo. Tem raio de ação de mais de 500Km.
São operados por militares com estações de controle fixas em uma determinada Base
Aérea, com comunicação de dados através de satélites. Geralmente tem a missão de
reconhecimento utilizando carga útil de alta tecnologia.
• MALE - Medium Altitude Long Endurance - Semelhante aos HALEs, porém operando em
altitudes entre 5.000 a 15.000 metros e autonomia de voo em torno de 24 horas (figura
1.2).
• TUAV - Tactical UAV (Medium Range) - São menos sofisticados do que os HALEs ou
MALEs, porém ainda operados por militares em estações de controle em solo ou navais.
Seu raio de ação fica em torno de 100 a 300Km.
• MUAV - Mini UAV - Tem massa menor do que 20Kg (limite não rigorosamente definido),
raio de ação em torno de 30Km, podem ser lançados com a mão e têm aplicações seme-
lhantes ao Close-Range UAV.
• MAV - Micro UAV - São VANTs pequenos, com velocidade pequena, geralmente utiliza-
dos em operações urbanas ou dentro de edificações. Tem uma envergadura em torno de
150mm ou menos. Normalmente são lançados a mão e, por apresentar tamanho reduzido,
distúrbios de vento ou chuva prejudicam muito (ou impossibilitam) a sua operação.
• NAV - Nano UAV - São VANTs muito pequenos, com envergadura em torno de 70mm
ou menos. Geralmente são usados em um grande número (enxames). Operam com sub-
17
Figura 1.2 – VANT da categoria MALE, operado pelo esquadrão Hórus da Força Aérea Brasi-
leira - Hermes 900. Fonte: images.google.com
HALEs, MALEs e TUAV têm sido utilizados com carga útil bélica em operações mi-
litares, com a vantagem de diminuir o tempo de resposta após a identificação de um alvo de
interesse. Por isto têm sido referidos também como VANTs de combate (Combat UAVs) (AUS-
TIN, 2010). Um quadro demonstrando as categorias de VANTs é mostrado por (CARNDUFF,
2008), na tabela 1.1.
Um VANT pode ser visto como um sistema composto por diversos sub-sistemas (figura
1.3), sendo eles:
(b) Sistema de Recuperação: Utilizado quando o VANT não tem capacidade de pouso
vertical e não há uma pista de pouso adequada. Geralmente este sub-sistema é
formado por um pára-quedas.
Figura 1.3 – Sub-sistemas gerais que compoem um VANT, adaptado de (TORONTO AEROS-
PACE TEAM UAV TEAM, 2014)
20
1.5 Objetivos
1.6 Contribuição
Este trabalho tem por objetivo prover uma metodologia de modelagem matemática, aná-
lise, simulação e projeto de controle da dinâmica longitudinal de um VANT de asa fixa através
de 2 métodos: analítico e pelo simulador de voo X-Plane. Esta metodologia é baseada em
técnicas consolidadas na literatura aeronáutica para análise de aviões tripulados, porém sua uti-
lização para VANTs é pouco documentada. É mostrado que os dois modelos convergem para
uma dinâmica longitudinal semelhante/compatível, validando a metodologia. Este tipo de aná-
lise é importante na etapa de projeto conceitual ou preliminar de um VANT. O próximo passo
21
natural seria obter dados aerodinâmicos em túnel de vento e em ensaios em voo, com isto seria
possível um ajuste fino no modelo analítico e de simulação de voo do VANT.
Também é apresentado o projeto de um piloto automático de mantenimento de altitude
e de velocidade (Altitude HOLD Autopilot e MACH HOLD Autopilot). O piloto automático é
projetado para uma única fase do voo (voo nivelado), porém seu comportamento é investigado
na presença de variações paramétricas (altitude e velocidade de equilíbrio, presença de vento,
rajada e turbulência).
A simulação analítica e em ambiente virtual (X-Plane) pode ser utilizada para o en-
sino da teoria de controle, sendo uma contribuição para os cursos de engenharia de controle e
aeroespacial.
O VANT escolhido para este estudo foi o University of Toronto Explorer (UT-X), que é
apresentado em maiores detalhes no capítulo 3.
1.7 Cronograma
Abaixo, na tabela 1.2 estão descritos as atividades realizadas para desenvolver o traba-
lho:
22
Estudo de Aerodinâmica X X
Estudo da Mecânica de Vôo de
X X
aeronaves de asa fixa
Estudo das equações da dinâmica
X
longitudinal (3 graus de liberdade)
Estudo dos coeficientes
X
aerodinâmicos
Estudo do so ware DATCOM para
levantamento das derivadas de X X
estabilidade e de controle
Modelagem, simulação e controle
preliminar da dinâmica longitudinal X
no so ware MATLAB/SIMULINK
Simulação e controle preliminar da
dinâmica longitudinal no so ware X X
X-Plane
Modelagem do VANT UT-X no
so ware DATCOM para
X
levantamento das derivadas de
estabilidade e de controle
Modelagem, simulação e controle
da dinâmica longitudinal do VANT X X
UT-X no MATLAB/SIMULINK
Apresentação dos resultados
X
preliminares na JAI - UFSM
Simulação do VANT UT-X em 6
graus de liberdade no so ware X- X
Plane
Teste de controladores em
diferentes fases de voo e com X X
perturbações atmosféricas
Preparação de material para
X X
apresentação dos resultados
1.8 Organização
(a) No capítulo 2, é apresentado uma revisão bibliográfica de trabalhos que utilizam metodo-
logias semelhantes as utilizadas neste trabalho;
(d) No capítulo 5, a metodologia para o cálculo das forças aerodinâmicas é apresentada atra-
vés das derivadas de estabilidade e controle (com o software USAF DATCOM) e do
X-Plane;
23
(g) No capítulo 8, o projeto e desempenho dos controladores (pilotos automáticos) são apre-
sentados. São apresentados resultados na presença de vento constante, rajada e turbulên-
cia;
2 REVISÃO BIBLIOGRÁFICA
Nesta seção serão apresentados alguns trabalhos relevantes nas áreas de modelagem da
dinâmica longitudinal de aviões e VANTs utilizando técnicas analíticas, modelo por deriva-
das de estabilidade e controle obtidas pelo USAF DATCOM, e modelos de voo obtidos pelo
X-Plane. Alguns destes trabalhos apresentam dados de ensaio em voo do avião/VANT real
e comparam com os resultados dos modelos obtidos previamente. Também são apresentados
alguns trabalhos na área de controle de aviões e VANTs. Todas as referências aqui citadas in-
fluenciaram de alguma maneira o desenvolvimento apresentado neste relatório. Não são citados
livros nesta seção.
X-Plane, utilizando HITL. Testes de leis de controle (piloto automático) são apresentados, mos-
trando sua atuação na presença de rajadas de vento e turbulência.
27
O VANT UT-X (figuras 3.1 e 3.2) foi projetado e construído pelo University of Toronto
Aerospace Team (UTAT), da University of Toronto (UofT), em Toronto, Canadá. Seu projeto
teve ajuda de engenheiros da empresa aeronáutica canadense Bombardier, sendo otimizado para
reconhecimento aéreo, carregando como payload uma câmera de fotografia de alta resolução
(29MP com massa aproximada de 1,4Kg) (figura 3.3). Este VANT teve como missão competir
nas seguintes competições: 2014 Unmanned Systems Canada Student UAV Competition e 2014
Association of Unmanned Vehicle Systems International (AUVSI) Student UAS Competition.
O autor deste trabalho foi parte integrante do UTAT durante intercâmbio na UofT (2013-
2014), através do programa Ciências Sem Fronteiras (CsF). Participou ativamente da constru-
ção, integração e operação (ensaios em voo) do UT-X. Por esta razão, o VANT UT-X foi esco-
lhido para este estudo.
Figura 3.1 – VANT UT-X do University of Toronto Aerospace Team (UTAT) modelado no So-
lidWorks
28
Durante a fase de projeto conceitual, baseado na missão em que o VANT iria desempe-
nhar, foi decidido que o UT-X teria um trem de pouso do tipo triciclo, diedro de aproximada-
mente 5o na asa para aumento da estabilidade natural de rolamento, duplo estabilizador vertical,
e estabilizador horizontal acima da área de downwash da hélice. Foi decidido usar fibra de car-
bono para construção do seu Airframe e tiras de kevlar nas suas superfícies de comando e na
junção do tail boom com a asa (figura 3.4). Este material daria uma boa resistência ao Airframe
quando submetido às forças em voo, aliado ao baixo peso total da estrutura. O processo de
construção utilizando fibra de carbono requer cuidados especiais, foi necessário projetar mol-
des em ferramenta CAD da imagem negativa do Aiframe, para posteriormente serem fabricados
utilizando máquinas CNC em material especial (figura 3.5).
29
Figura 3.4 – Processo de fabricação da asa do UT-X mostrando camadas de fibra de carbono e
tiras de reforço em Kevlar
30
(a) Cada parte do VANT real foi dividida e seu peso/dimensão mensurado;
(b) Cada parte do VANT desenhado na ferramenta CAD teve exatamente o mesmo peso final
e dimensão da parte real;
(c) A densidade e volume interno das partes desenhadas na ferramenta CAD foram aproxi-
madamente os mesmos das partes reais do VANT;
(d) O peso e centro de gravidade final do VANT como um todo foram os mesmos do equipa-
mento real.
31
Dados das características físicas do UT-X podem ser vistos na tabela 3.1.
Onde:
• Zcg tem sentido positivo de baixo para cima a partir da barriga do VANT;
A primeira parte do problema que este trabalho busca solucionar é: Dado um VANT
com estrutura e características físicas já definidas, como obter um modelo matemático da
dinâmica longitudinal do VANT real, com a maior fidelidade possível deste comportamento
real?
A segunda parte do problema que este trabalho busca solucionar é: Conhecendo o mo-
delo matemático de um VANT, seus autovalores (pólos), que estratégia de controle utilizar
para desenvolver um piloto automático (controle) para mantenimento de altitude e veloci-
dade (Altitude HOLD Autopilot e MACH HOLD Autopilot), que seja de fácil implementação
em Hardware e requerendo baixo poder de processamento?
Este trabalho tem como objetivo a solução desses problemas. Nos capítulos seguintes é
detalhado cada etapa percorrida até a solução final, apresentando resultados.
A solução para a primeira parte vem através da construção de um modelo de voo por
derivadas de estabilidade e controle, gerado por métodos semi-empíricos sintetizados pelo soft-
ware USAF DATCOM. Para comparação com o DATCOM, um segundo modelo de voo é ge-
32
rado pelo X-Plane, que utiliza a Teoria de Elemento de Pá (Blade Element Theory) para cálculo
dos coeficientes e forças aerodinâmicas. De posse dos dois modelos, é possível verificar se
ambos os métodos chegaram em resultados semelhantes para o VANT UT-X.
A solução para a segunda parte vem através de técnicas clássicas de controle de aviões,
demonstradas por (STEVENS; LEWIS, 1992). A abordagem utilizada envolve a linearização
das equações não lineares da dinâmica longitudinal (utilizando a matriz jacobiana) ao redor de
um ponto de equilíbrio, também chamado de ponto de balanço do avião (altitude e velocidade
escolhidas). No meio aeronáutico, o ponto de balanço também é conhecido como "Trim". Com
isto, são empregadas estratégicas de controle linear (Root-Locus e Diagrama de Bode), para
cálculo dos ganhos dos reguladores e compensadores utilizados. O controle final é composto
por sucessivas malhas de realimentação fechadas em sequência, sendo que a cada realimentação
é necessário recalcular as funções de transferência para o sistema aumentado. Controladores
Proporcionais-Integrais-Derivativos (PID) são adotados e uma discussão sobre sua aplicação
prática em forma de tabela de ganhos (gain scheduling) é apresentada.
33
4 MODELAGEM DA PLANTA(VANT)
4.1 Introdução
(b) Uso da 2ª Lei de Newton para os movimentos translacionais (somatório das forças) e
rotacionais (somátorio dos momentos);
(e) Aplicar rotações para traduzir as equações da dinâmica de voo para o eixo de referência
de interesse;
(a) Eixos do Corpo - Sistema de referência com 3 eixos ortogonais, fixo na aeronave, cen-
trado no centro de gravidade (CG) da mesma. Sendo suas rotações solidarias. Utiliza
a convenção do eixo X apontado para o nariz da aeronave, Y apontado para a semi asa
direita, e Z apontando para a barriga;
(b) Eixos de Estabilidade (ou Eixo Horizontal Local) - Sistema com origem no CG, com
o eixo X apontando para o norte local, eixo Y para o leste local, eixo Z para o centro
da Terra. Este sistema é conhecido como North-East-Down (NED). As direções desse
sistema se alteram de acordo com a curvatura da Terra;
(c) Eixos do Vento (Aerodinâmico) - Sistema de referência com 3 eixos ortogonais, centrado
no CG da aeronave, e seus eixos sempre acompanham a direção do vento relativo à ae-
ronave. O eixo X aponta para a direção contrária ao vento relativo da aeronave, o eixo
Z é perpendicular ao vento relativo, contido no plano de simetria do avião e aponta para
baixo, o eixo Y completa o sistema de coordenadas dextrogiro.
36
Figura 4.1 – Eixos de referência e definição dos ângulos (STEVENS; LEWIS, 1992)
Com a definição dos sistemas de referência, podemos então definir os ângulos de inte-
resse entre essas referências (figuras 4.1, 4.3 e 4.2):
(c) Ângulo de Trajetória de Voo (Flight Path Angle - γ) - Ângulo que o vetor velocidade do
CG faz com o plano horizontal, medido ao longo de um plano vertical;
Figura 4.2 – Ângulos de Euler para transformação do sistema inercial para o corpo. Fonte:
CHRobotis.
(c) A Terra é considerada plana, sem aceleração, sem rotação, com aceleração da gravidade
sendo perpendicular à superfície da Terra (Modelo da Terra Plana - Flat Earth Model);
(f) As perturbações em relação ao equilíbrio são pequenas, ou seja, variações baixas do ân-
gulo de arfagem (θ);
(h) Todas as forças aerodinâmicas (Sustentação, Empuxo, Arrasto) atuam no C.G. da aero-
nave;
(i) O VANT apresenta simetria da sua estrutura em relação ao seu plano (x, z);
As considerações (e), (f) e (g) são as que nos permitem desacoplar as equações da dinâ-
mica longitudinal e látero-direcional. Com isto podemos analisar separadamente as equações
da dinâmica longitudinal do VANT (modelo de 3 graus de liberdade (3DoF)).
A consideração (d) que trata da massa constante é válida pois, embora a massa da ae-
ronave mude consideravelmente devido ao combustível, ela não muda bruscamente durante o
voo. Porém o sistema de controle deve ser projetado para cada situação específica. Em casos em
que há variação considerável e rápida da massa (foguetes, mísseis, etc) então é mais indicado
o uso da teoria da mecânica Lagrangiana para derivação das forças e momentos que atuam na
aeronave (BLAKELOCK, 1991).
39
O Referencial Inercial pode ser adotado como um ponto fixo na Terra. Para o Modelo
da Terra Plana, mesmo considerando sua rotação e aceleração, elas podem ser desconsidera-
das, pois a aceleração da Terra é muito inferior quando comparada com as acelerações de uma
aeronave manobrando sobre sua superfície (STEVENS; LEWIS, 1992). Portanto, utilizando
o Modelo da Terra Plana podemos considerar um ponto fixo na sua superfície a origem do
referencial inercial, sendo as leis de Newton(forças e momentos) derivadas em relação a esse
referencial inercial. Os eixos de referência do referencial inercial são definido como:
• Eixos do Solo (Ground Axes System) - Sistema de referência com 3 eixos ortogonais,
fixos no referencial inercial. Seu plano (X, Y ) é sempre paralelo ao horizonte da Terra
(utilizando o Modelo da Terra Plana). Utiliza a convenção NED.
Uma vez definidos o referencial inercial (Eixos do Solo) e os demais sistemas de refe-
rência (Eixos do Corpo, Eixos de Estabilidade, Eixos do Vento), podemos traduzir as forças e
momentos de um sistema para outro através de uma sequência de rotações (STEVENS; LEWIS,
1992)(COOK, 2011)(BEARD; MCLAIN, 2012). Em outras palavras, essas rotações traduzem
as equações derivadas em relação a um sistema de referência específico para outro.
(a) Quaternion;
A opção (a) tem tempo de cálculo computacional menor quando comparada com a op-
ção (b), é utilizada praticamente em todas as aplicações aeroespaciais (Foguetes, Mísseis, Ae-
ronaves, Naves Espaciais). Para simulações de voo a opção (b) é amplamente utilizada por sua
simplicidade e por atender as considerações impostas. Os ângulos de Euler, durante a simulação
tem uma singularidade para θ = 90 (chamada de gimbal lock) (STEVENS; LEWIS, 1992).
Para este trabalho a opção (b) foi utilizada, pois respeita as considerações feitas na seção
4.3 e tem resultado satisfatório para este tipo de simulação. As rotações são feitas em relação
40
aos ângulos de Euler (φ-θ-ψ), partindo do Eixo do Solo, seguindo a sequência utilizada na
indústria aeronáutica (STEVENS; LEWIS, 1992):
• Rotação ao redor do eixo Z - ψ (Yaw) positivo (guinada do nariz do avião para direita)
• Rotação ao redor do eixo Y - θ (Pitch) positivo (arfagem do nariz do avião para cima)
• Rotação ao redor do eixo X - φ (Roll) positivo (rolagem da asa direita para baixo)
x x
y = Rφ .Rθ .Rψ . y (4.1)
z Eixos do Corpo z Eixos do Solo
Sendo:
1 0 0
Rotφ = 0 cos(φ) sen(φ) (4.2)
0 −sen(φ) cos(φ)
cos(θ) 0 −sen(θ)
Rotθ = 0 1 0 (4.3)
sen(θ) 0 cos(θ)
cos(ψ) sen(ψ) 0
Rotψ = −sen(ψ) cos(ψ) 0 (4.4)
0 0 1
Considerando que Eixos do Solo = NED, Eixos do Corpo = Body, cos(x) = c(x) e
sen(x) = s(x), temos que:
c(θ)c(ψ) c(θ)s(ψ) −s(θ)
Body
RN ED = Rφ .Rθ .Rψ = s(φ)s(θ)c(ψ) − c(φ)s(ψ) s(φ)s(θ)s(ψ) + c(φ)c(ψ) s(φ)c(θ)
c(φ)s(θ)c(ψ) + s(φ)s(ψ) c(φ)s(θ)s(ψ) − s(φ)c(ψ) c(φ)c(θ)
(4.5)
Body
Utilizando a propriedade de RN ED ser ortogonal e inversível, temos que a matriz de
rotação do referencial do corpo para o inercial é dada pela matriz inversa da equação 4.5:
N ED Body −1 Body T T T T
RBody = (RN ED ) = (RN ED ) = Rψ .Rθ .Rφ (4.6a)
c(ψ)c(θ) c(ψ)s(φ)s(θ) − c(φ)s(ψ) s(φ)s(ψ) + c(φ)c(ψ)s(θ)
N ED
RBody = c(θ)s(ψ) c(φ)c(ψ) + s(φ)s(ψ)s(θ) c(φ)s(ψ)s(θ) − c(ψ)s(φ) (4.6b)
−s(θ) c(θ)s(φ) c(φ)c(θ)
41
x cos(α) 0 sen(α) x
S
RB (α) = y = 0 1 0 . y (4.7)
z Eixos de Estabilidade −sen(α) 0 cos(α) z Eixos do Corpo
x cos(β) sen(β) 0 x
W
RS (β) = y
= −sen(β) cos(β) 0 . y
(4.8)
z Eixos do Vento 0 0 1 z Eixos de Estabilidade
x cos(α).cos(β) sen(β) sen(α).cos(β) x
W
RB (α, β) = y
= −cos(α).sen(β) cos(β) −sen(α).sen(β) . y
z Eixos do Vento −sen(α) 0 cos(α) z Eixos do Corpo
(4.9)
cos(α).cos(β) −cos(α).sen(β) −sen(α)
B W
RW (α, β) = [RB (α, β)]T = sen(β) cos(β) 0 (4.10)
sen(α).cos(β) −sen(α).sen(β) cos(α)
Para ser possível aplicar a 2ª Lei de Newton, é necessário saber as forças e momentos
que agem sobre o corpo, sendo o somatório das forças e momentos em relação ao referen-
cial inercial (Eixos do Solo)(STEVENS; LEWIS, 1992)(BLAKELOCK, 1991)(HULL, 2007).
Utilizando as considerações realizadas na seção 4.3, podemos analisar a dinâmica longitudinal
isoladamente(STEVENS; LEWIS, 1992)(HULL, 2007).
São as forças aerodinâmicas produzidas pelo vento relativo passando pelas superfícies
aerodinâmicas (aerofólios) da aeronave mais a força peso e força de propulsão gerada pelo
motor. As forças aerodinâmicas (sustentação e arrasto) podem ser representadas por uma única
força aerodinâmica (A) (figura 4.4):
42
• Sustentação (Lif t - L)
• Arrasto (Drag - D)
• Peso (Weight - W)
• Propulsão (Thrust - T)
Figura 4.4 – Forças que atuam no avião (dinâmica longitudinal) (HULL, 2007)
Considerando o VANT em voo nivelado(a), temos que o somatório das forças atuando
sobre ele são compostas por forças de equilíbrio (que mantem o voo nivelado), mais forças de
perturbação devido a mudanças nos controles de profundor e manete de potência. Este fato é
mostrado na equação 4.11:
X X X
F = F0 + ∆F (4.11)
P
Sendo F0 o somatório das forças de sustentação, arrasto, peso e tração na condição
de equilíbrio, podemos dizer que se o VANT está em voo nivelado, este somatório é igual a
zero.
Utilizando a 2ª Lei de Newton (que diz que o somatório das forças atuando sobre o corpo
é igual a taxa de variação do seu momento linear) em relação a um referencial inercial:
X d
F = (m.V ) (4.12)
dt
Onde V é o vetor velocidade do centro de massa com respeito ao referencial inercial.
43
d.VB
= i.U̇ + j.V̇ + k.Ẇ (4.15)
dt
i j k
ωB × VB = P Q R (4.16)
U V W
Sendo U, V, W as velocidades do centro de massa em relação ao referencial inercial,
mas escritas no sistema do corpo. P, Q, R as velocidades angulares, nos eixos (x, y, z).
T
VB = U V W (4.17)
T
ωB = P Q R (4.18)
P
Podemos reescrever o somatório das forças de perturbação do equilíbrio ( ∆F ) da
seguinte maneira:
X X X X
∆F = i. ∆Fx + j. ∆Fy + k. ∆Fz (4.19)
X X X
M= M0 + ∆M (4.21)
P
Sendo M0 o somatório dos momentos gerados pelas superfícies aerodinâmicas e tra-
ção na condição de equilíbrio, podemos dizer que se o VANT está em voo nivelado, este soma-
tório é igual a zero.
Seguindo com a derivação das equações do movimento angular em relação ao referencial
inercial, sendo H o momento angular em relação ao CG de um corpo genérico em rotação,
temos que:
X d.H
∆M = (4.22)
dt
A velocidade tangencial do elemento de massa mostrado na figura 4.5 pode ser expressa
pelo produto vetorial entre a velocidade angular e o raio em relação ao CG do corpo:
Vtan = ω × r (4.23)
Com pd = m.vd , logo momento linear incremental deste elemento de massa pode ser
descrito como:
dM = (ω × r).dm (4.24)
45
dH = r × (ω × r).dm (4.25)
Z
H= i.[(y 2 + z 2 ).P − x.y.Q − x.z.R].dm+ (4.33a)
Z
+ j.[(z 2 + x2 ).Q − y.z.R − x.y.P ].dm+ (4.33b)
Z
+ k.[(x2 + y 2 ).R − x.z.P − y.z.Q].dm (4.33c)
• Momentos de Inércia
Z
Ix = (y 2 + z 2 )dm
Z
Iy = (z 2 + x2 )dm (4.34)
Z
Iz = (x2 + y 2 )dm
• Produtos de Inércia
Z
Jxy = (x.y)dm
Z
Jxz = (x.z)dm (4.35)
Z
Jyz = (y.z)dm
Lembrando da consideração (i) da seção 4.3, de que o VANT é simétrico no seu plano
(x, z), temos que Jxy = Jyz = 0. Com isso temos:
Hx = P.Ix − R.Jxz
Hy = Q.Iy (4.36)
Hz = R.Iz − P.Jxz
dHx
= Ṗ .Ix − Ṙ.Jxz (4.38a)
dt
dHy
= Q̇.Iy (4.38b)
dt
dHz
= Ṙ.Iz − Ṗ .Jxz (4.38c)
dt
E ω × H é igual a:
i j k
ω×H =P Q R (4.39)
Hx Hy Hz
Substituindo os resultados das equações 4.38 e 4.40 na equação 4.41, temos finalmente
o resultado dos momentos:
Ẋ = A.X + B.U
(4.43)
Y = C.X + D.U
Onde:
• X é o vetor de estados;
Começando pela escolha de um vetor de estados, formado pelo vetor posição do C.G.
do avião em relação ao referencial inercial (PN ED ), vetor velocidade (VB ), vetor dos ângulos
de Euler (Φ) e vetor das velocidades angulares (ωB ) (equação 4.44):
XT =
pN pE h U V W φ θ ψ P Q R (4.45)
48
Embora as equações 4.20 e 4.42 estejam em função das velocidades lineares e angulares
em relação ao Eixos do Corpo, para a simulação e projeto de controle de um VANT (assim
como nos aviões tripulados), é mais interessante obter uma relação dessas velocidades com
os ângulos definidos (α, β) com respeito ao referencial aerodinâmico (do vento) (STEVENS;
LEWIS, 1992). Sendo VT a velocidade verdadeira do VANT (True Airspeed), é possível definir:
VT = (U 2 + V 2 + W 2 )1/2 (4.47a)
W
tg(α) = (4.47b)
U
V
sen(β) = (4.47c)
VT
Utilizando essa relação (eq. 4.47), podemos fazer uma substituição no nosso vetor de
estados x. Substituindo as velocidades lineares U, V, W por VT , α, β:
V̇ .VT − V.V˙T
β̇ = (4.48b)
VT2 .cos(β)
U.Ẇ − W.U̇
α̇ = (4.48c)
U2 + W 2
XT =
VT β α pN pE h φ θ ψ P Q R (4.49)
(STEVENS; LEWIS, 1992). As equações desacopladas são mais fáceis de serem trabalhadas
analiticamente.
Com a dinâmica longitudinal desacoplada, podemos escolher o vetor de estados que
mais é indicado dependendo da fase de voo a ser estudada (decolagem, subida, voo nivelado,
descida ou pouso). Como o foco deste trabalho é a análise dos modos de voo e controle em voo
nivelado, o novo vetor de estados da dinâmica longitudinal foi escolhido como sendo:
XT = V T α θ Q h
(4.50a)
UT = δelevator δπ
(4.50b)
θ̇ =Q (4.51c)
Sendo:
• γ = θ − α;
• g a aceleração da gravidade;
50
• m a massa do VANT;
As forças aerodinâmicas são geradas pela massa de ar passando com velocidade relativa
às superfícies aerodinâmicas do VANT. A mudança no momento de arfagem é causado pela
deflexão do profundor, quando há vento relativo passando através dele.
Para o cálculo das forças aerodinâmicas e momento de arfagem são utilizados coeficien-
tes aerodinâmicos adimensionais, chamados de derivadas de estabilidade e controle. Na seção
5.3 uma metodologia para obtenção das mesmas em relação aos Eixos do Vento será apresen-
tada. As forças aerodinâmicas e o momento de arfagem dependem de parâmetros físicos do
VANT e da pressão dinâmica do ar em função da altitude (STEVENS; LEWIS, 1992).
Onde:
ρ.VT2
• q̄ = : Pressão dinâmica da massa de ar em movimento no entorno do VANT;
2
• ρ: Densidade do ar em função da altitude;
dT
• Força de Propulsão - Thrust = (TS + VT . ).δπ
dV
Onde:
• TS : É o empuxo estático gerado pelo conjunto motor/hélice, na altitude zero, com velo-
cidade zero;
dT TS
• =− : Taxa de decréscimo do empuxo em função da velocidade;
dV VT max
Embora na derivação das equações da mecânica de voo algumas considerações são reali-
zadas para simplificação do modelo (capítulo 4), na realidade as forças e momentos envolvidos
no voo de uma aeronave são fortemente acopladas e não-lineares. As resultantes de forças e
momentos dependem de uma infinidade de variáveis e condições, sendo sua determinação ana-
lítica com alto grau de precisão uma tarefa quase impossível. Para viabilizar uma representação
analítica precisa destas forças e momentos, os coeficientes aerodinâmicos adimensionais podem
ser utilizados (STEVENS; LEWIS, 1992).
Estes coeficientes geralmente são obtidos em relação ao Eixos do Vento. Eles são for-
mados pela soma de uma porção de maior importância (dependente dos ângulos α e β), com su-
cessivos fatores de menor efeito que dependem de outras variáveis (STEVENS; LEWIS, 1992).
Essa soma é mostrada na equação 5.2.
53
Thrust
TC = (5.3)
q̄.SD
e SD é a área do disco percorrido pelas pás da hélice.
As derivadas de estabilidade, são as componentes da soma 5.2 referentes à posição neu-
tra dos controles. Já as derivadas de controle são referentes à mudança dos controles (por
exemplo em função de δe levator).
Diversos métodos podem ser utilizados para a obtenção desses coeficientes aerodinâmi-
cos. Os mais precisos são os de ensaios em túnel de vento ou em voo da aeronave real. Porém,
para uma análise de projeto de VANT (ou avião) preliminar, o custo envolvido é muito grande
na construção e ensaio em túnel de vento um modelo em escala reduzida, ou de um protótipo
em escala real para ensaio em voo.
Para tornar possível a simulação e análise da mecânica de voo do VANT na fase de
projeto preliminar, métodos analíticos podem ser aplicados para o cálculo dos coeficientes ae-
rodinâmicos. São cálculos são baseados em dados empíricos passados (históricos de dados de
túnel de vento e de ensaios em voo de determinados tipos de aerofólios e fuselagens) e métodos
analíticos simplificados. Este meio de obtenção dos coeficientes aerodinâmicos combinando
cálculos empíricos e analíticos é chamado método semi-empírico.
Para o cálculo semi-empírico dos coeficientes aerodinâmicos foi utilizado o USAF DAT-
COM.
Durante e (principalmente) após a segunda guerra mundial, a USAF (United States Air
Force) realizou diversos ensaios em voo. Nesta época a indústria aeronáutica utilizava uma
grande quantidade de tabelas e relatórios de dados de túnel de vento e ensaios em voo para obter
os dados de derivadas de estabilidade e controle para o projeto de novos aviões de asa fixa. O uso
54
• Flight Conditions
• Reference Parameters
• Synthesis Parameters
– Pontos que descrevem a fuselagem, tipo de nariz e de cauda, perfis de aerofólio das
asas e estabilizadores verticais e horizontais;
O X-Plane (figura 5.1) é um simulador de voo que tem a capacidade de simular a dinâ-
mica de voo, sensores e atuadores de aeronaves (BITTAR; OLIVEIRA; FIGUEIREDO, 2013).
Foi desenvolvido pela empresa Laminar Research. Possui um software embarcado de configu-
ração e modelagem de aeronaves chamado Plane Maker; nele é possível inserir ou modificar
dados sobre a estrutura, parâmetros físicos, superfícies de comando, motorização, sensores e
atuadores das aeronaves (RESEARCH, 2015). O X-Plane possui uma versão de demonstração
que tem todas as funcionalidades do original, mas bloqueia dados do joystick após 15 minutos.
• Flight Gear - É um simulador de voo de código aberto e gratuito, possui boa precisão e
flexibilidade no cálculo do modelo. Possui facilidade na obtenção dos dados de voo por
outros programas. É possível escolher 3 diferentes Modelos da Dinâmica de Voo (Flight
Dynamics Models - FDM): JSBSim, YA Sim e UIUC. Junto com o X-Plane, é o mais
utilizado para simulações e ensaios em voo;
O simulador de voo X-Plane foi escolhido por ser utilizado em simulações comerciais e
militares. Ele é conhecido como o simulador de voo mais real na atualidade, possui certificação
da Federal Aviation Administration (FAA) (FIGUEIREDO, 2012). Diferentemente da maioria
dos simuladores de voo (baseados em derivadas de estabilidade e controle), ele utiliza a Teoria
do Elemento de Pá (Blade Element Theory) para calcular a resposta em voo. Este método de
cálculo consiste em dividir a superfície da aeronave em elementos infinitesimais e aplicar um
campo de fluido (Flow Field) para cálculo das forças desenvolvidas pelo fluido neste ponto. O
somatório das forças infinitesimais calculadas em cada elemento constitue a resultante instantâ-
nea de forças. Este cálculo é realizado várias vezes por segundo. Os coeficientes aerodinâmicos
são dados na sua parcela total (CL , CD ). Para troca de dados de voo (entrada e saída) com
outros programas, o X-Plane utiliza protocolo UDP (RESEARCH, 2015). Vários autores uti-
lizaram este simulador para modelagem de aeronaves, simulação e ensaio em voo de pilotos
automáticos (projeto de controladores): (FIGUEIREDO, 2012), (BABKA; DURGIN, 2011), e
(THONG, 2010). Por possuir simulação de ventos, rajadas e turbulências, o X-Plane é uma
ferramenta rápida para ensaios em voo de pilotos automáticos utilizando essas condições.
Para precisão na simulação de voo e cálculo do modelo de voo é indicado um alto frame
rate (RESEARCH, 2015). O X-Plane tem limitações na simulação de aeronaves muito leves
(pouca inércia), muito pequenas, com asas de elevado alongamento, com área alar extrema-
mente grande ou com trem de pouso muito espaçados (RESEARCH, 2015). A limitação ocorre
quando há grandes acelerações envolvidas em um curto espaço de tempo, nesses casos o passo
da simulação deve ser o menor possível (alta taxa de atualização). Este passo é controlado pelo
57
frame rate, se ele for sucifientemente alto, o X-Plane é capaz de calcular o modelo durante
elevadas acelerações. Para aeronaves com peso e tamanho semelhantes aquelas tripuladas (por
exemplo um monomotor), um frame rate acima de 20fps garante boa precisão do modelo de
voo. Porém, em casos extremos pode ser necessário um frame rate de 100fps para um cálculo
preciso do modelo de voo (RESEARCH, 2015). Portanto, no caso do UT-X, que é pequeno e
leve em comparação a uma aeronave tripulada, é necessário o ajuste das configurações de vídeo
e um computador com boa capacidade de processamento para executar a simulação com alto
frame rate (60fps ou mais). Com isso garantimos uma boa precisão no cálculo do modelo de
voo (RESEARCH, 2015).
No capítulo 7, o processo de modelagem e ensaio em voo por simulação do VANT UT-X
é detalhado.
58
Neste capítulo será demonstrado como foi compilado o conjunto de equações necessá-
rias para a simulação analítica do voo do VANT. Utilizando as equações não-lineares da dinâ-
mica longitudinal (4.51) do capítulo 4, o cálculo das forças e momentos através das derivadas
de estabilidade e controle (geradas pelo USAF DATCOM) no capítulo 5, podemos finalmente
simular analiticamente o voo do VANT. Para isto, o MATLAB/SIMULINK foi utilizado. Será
demonstrado o passo a passo dos cálculos realizados.
O objetivo final desta simulação é obter dados de voo de representatividade confiável
(próximos ao comportamento real), para tornar possível a análise dos modos de dinâmica longi-
tudinal do VANT. Os modos longitudinais são oscilações características de cada tipo de avião de
asa fixa, podendo ser oscilações de períodos longos ou curtos. Essas oscilações mostram como
é o comportamento dinâmico do avião ao se aplicar um comando de profundor. Isto pode ser
pensado como uma resposta do sistema à função degrau, mas nos ensaios em voo aeronáuticos
geralmente é utilizada a função doublet. No caso de aviões e VANTs de asa fixa, supondo que
o seu projeto apresenta característica de voo estável, a dinâmica longitudinal possui 2 modos de
oscilação(STEVENS; LEWIS, 1992)(COOK, 2011)(BLAKELOCK, 1991), sendo eles:
(a) Modo de Período Curto (Short-Period Mode) - É uma oscilação de curto período e du-
ração, fortemente amortecida e relacionada com as variáveis α e Q (ângulo de ataque e
velocidade angular de arfagem); ela ocorre sem mudança significativa da altitude;
(b) Modo de Período Longo (Phugoid Mode) - É uma oscilação de período e duração longos,
fracamente amortecida e relacionada com as variáveis VT , h e γ (velocidade, altitude e
ângulo de trajetória); ela ocorre devido a troca entre energia cinética e potencial, com o
ângulo de ataque(α) aproximadamente constante;
As equações utilizadas para a simulação analítica serão copiadas nesta seção para con-
veniência do leitor (Eq. 4.51 e eq. 5.1).
XT = V T α θ Q h
(6.1a)
UT = δelev δπ
(6.1b)
θ̇ =Q (6.1e)
Podemos observar que para o cálculo das equações não-lineares da dinâmica longitu-
dinal é preciso primeiramente calcular as forças aerodinâmicas, de propulsão, o momento de
arfagem. Já para o cálculo destas forças e momentos é necessário obter as derivadas de estabili-
dade e controle. Portanto, primeiramente se calcula estas variáveis através do USAF DATCOM
(descrito no capítulo 5).
A sequência resumida dos cálculos é:
60
A seguir, cada etapa será descrita com mais detalhamento. Para implementação da si-
mulação analítica ao final da etapa (h) todas as equações são inseridas em um script de MA-
TLAB/SIMULINK.
(a) Desejamos analisar o VANT em fase de voo nivelado (cruzeiro), este é o ponto de
partida natural na análise de aeronaves.
(b) A altitude e velocidade inicial escolhidas foram de:
(d) Para obtenção das derivadas de estabilidade e controle foi desenvolvido, em lingua-
gem FORTRAN, um código de entrada para o USAF DATCOM; este código descreve parâme-
tros de voo, geometria e características físicas do VANT UT-X (código no anexo A).
É importante ressaltar que o USAF DATCOM não suporta a descrição de um avião com
dupla cauda e tail boom, assim como o UT-X. O método utilizado foi descrever apenas um
estabilizador vertical, mas o mesmo tamanho de estabilizador horizontal do UT-X real (figuras
6.1 e 6.2). De acordo com (COMPANY, 1979), isto não afetará em nada o cálculo das derivadas
de estabilidade e controle da dinâmica longitudinal, pois o estabilizador vertical irá modificar
apenas as derivadas em relação a dinâmica látero-direcional.
Figura 6.1 – Modelo 3D gerado pelo DATCOM, para verificação do código que descreve o
UT-X
Figura 6.2 – Modelo do UT-X gerado pelo MATLAB a partir do código do DATCOM
– CL0 = 0, 423 ;
– CD0 = 0, 0342;
– CM 0 = 0, 0032;
– CLα = 0, 0910;
– CDCL = 0, 0473;
– CM Q = −13, 5275;
– CM α = −0, 0202;
– CM α̇ = −5, 8614;
(e) No capítulo 5, na equação 5.2, foram mostrados os termos da soma para o cálculo
dos coeficientes aerodinâmicos. De acordo com (STEVENS; LEWIS, 1992), o primeiro termo
da soma é o de maior relevância e impacto na dinâmica. Portanto, o cálculo dos coeficientes
aerodinâmicos do UT-X foi realizado da seguinte maneira:
(f) Uma vez obtidas as derivadas de estabilidade e controle e com os coeficientes ae-
rodinâmicos totais calculados (CL , CD , CM ) e utilizando os dados da tabela 3.1 do capítulo 3,
podemos calcular as forças aerodinâmicas e de propulsão utilizando as equações definidas no
capítulo 5.
Foi considerado uma eficiência aerodinâmica da hélice de 70%. Os dados do motor
elétrico foram baseados em (TORONTO AEROSPACE TEAM UAV TEAM, 2014). Os parâ-
metros da força de propulsão do motor elétrico do VANT UT-X aproximada por uma função de
primeiro grau conforme o capítulo 5 são:
63
XT = VT α θ Q h
(6.4a)
UT = δelev δπ
(6.4b)
Temos 5 equações de estado e 7 variáveis (Eq. 6.1), por isto o primeiro passo descrito
anteriormente no item (b) foi a escolha de velocidade e altitude de cruzeiro (VT e h). Com
isto temos 5 equações não-lineares e 5 variáveis, a solução para o ponto de balanço é atra-
vés de métodos numéricos. Os resultados serão as condições iniciais das variáveis de estado
(αT rim , θT rim , QT rim ) e dos controles de posição da manete de potência (δπT rim ) e do ângulo
de deflexão do profundor (δelevatorT rim ). As variáveis de estado e de controle no ponto de equi-
líbrio são aquelas que tornas as derivadas das equações nulas. No meio aeronáutico, o ponto
de balanço para o voo em cruzeiro é ajustado manualmente pelos pilotos, esse procedimento
também é conhecido como Trimar o avião.
64
αE = 3, 5385◦ ; (6.5a)
θE = 3, 5385◦ ; (6.5b)
QE = 0 deg/s; (6.5c)
Nota-se que α = θ, o que faz sentido uma vez que queremos voar com velocidade
somente no eixo longitudinal (sem subir ou descer em altitude). Lembrando que γ = θ − α,
sendo os ângulos definidos no capítulo 4. Também podemos notar que a velocidade de arfagem
Q = 0, o que também está de acordo com o que definimos anteriormente, pois queremos
que o VANT voe sem nenhuma rotação (o VANT está em atitude fixa em relação ao Eixo de
Estabilidade).
A posição da manete está em δπE = 80, 43% de potência e o ângulo de deflexão do
profundor está em δelevatorE = −3, 7721◦ , o que mostra uma deflexão do bordo de fuga do
profundor para cima, de acordo com a convenção adotada em (STEVENS; LEWIS, 1992).
Com isto podemos re-escrever o vetor de estados na condição de equilíbrio, com as
unidades do S.I. (Eq. 6.7).
XT
E = VT E αE θ E QE hE (6.6a)
UT
E = δelevE δπE (6.6b)
XT
E = 20, 58 0, 0618 0, 0618 0 200 (6.7a)
UT
E = −0, 0658 0, 8043 (6.7b)
Nesta seção serão apresentados os dados que resultaram da simulação analítica da di-
nâmica longitudinal do VANT UT-X. Desenvolvendo um código em linguagem MATLAB e
introduzindo todos os cálculos descritos neste capítulo no SIMULINK (figura 6.3), foi possível
a simulação dinâmica do voo do VANT.
65
Nas figuras 6.4 e 6.5, são mostrados os resultados de uma simulação de voo com duração
de 80 segundos. Nos primeiros 10 segundos pode se verificar que a posição de balanço (voo em
cruzeiro) é mantida sem nenhuma perturbação. Aos 10 segundos uma função doublet é aplicada
ao profundor (δelevator ), com isto podemos verificar a dinâmica dos modos de voo de período
curto e fugoidal. Este método é análogo ao ensaio a resposta de um sistema LTI a uma função
degrau (step function).
O modo de oscilação de período curto (Short Period Mode) acontece logo que a função
doublet é aplicada no comando de profundor (ao décimo segundo), tendo duração de cerca de
3 segundos. Sua oscilação é rápida e fortemente amortecida, está relacionada com as variáveis
α e Q, assim como descrito na seção 6.1. O modo de período curto se mostrou estável, mas fez
com que o VANT oscile entre −10◦ a 15◦ rapidamente.
O modo de oscilação de período longo, também chamado de Modo Fugoidal, tem início
junto com o modo de período curto, porém dura em torno de 1 minuto. É observado que sua
oscilação é fracamente amortecida e está relacionada com as variáveis VT , γ e h, pois é a troca
entre as energias cinética e potencial que o VANT possui. Observamos aos 70 segundos que a
oscilação do modo fugoidal é totalmente amortecida, mostrando que o projeto estrutural/aero-
dinâmico do VANT UT-X tem estabilidade dinâmica (em outras palavras, ele é estável).
66
Figura 7.2 – Manche utilizado para controle do VANT UT-X na simulação de voo - Microsoft
Sidewinder Force Feedback 2
(a) Atribuir dados do aerofólio na tela principal - aba Geometry (Number of poits>21, Thick-
ness,Camber, Camber Location) - figura 7.3;
(b) Na aba Polar, atribuir apenas o número de Reynolds de interesse (nesse caso Re =
327240), varrer o ângulo de ataque entre -180 até 180 graus, com passo de 1 grau - figura
7.4;
(c) Clicar em "Analyze It" e depois salvar como arquivo *.afl, que é o padrão utilizado pelo
Plane-Maker;
(d) Opcionalmente pode-se ensaiar ângulo de ataque entre -20 e 20 graus com passo de 0,1
grau, gerar um outro arquivo *.afl, e copiar manualmente os dados de maior resolução no
arquivo anterior;
(e) É importante, ao final abrir o arquivo *.afl gerado com um editor de texto e ajustar o
segundo número que por padrão é 0.050000, este é o Thickness que no caso dos aerofólios
NACA-0012 e NACA-6412 é de 0.120000;
(f) Para fins apenas de visualização, o arquivo *.afl gerado pode ser aberto pelo programa
de apoio do X-Plane chamado Airfoil-Maker, onde a geometria externa do aerofólio pode
ser modificada;
71
Para construção da estrutura devemos utilizar as seguintes abas do programa Plane Ma-
ker (figura 7.5):
Para modelagem do tail boom e suporte do trem de pouso, foi utilizado a aba Misc.
Bodies, com interface de modelagem semelhante à utilizada na modelagem da fuselagem. Os
aerofólios (perfil de asa) a serem utilizados em cada parte são selecinados na aba Expert ⇒
Airfoils.
(a) Na aba Fuselage, a fuselagem do VANT foi separada em várias seções e os diâmetros
de cada uma foram definidos (figura 7.6). Nesta aba também é definido o coeficiente de arrasto
do corpo.
73
O mesmo procedimento realizado para a asa foi repetido para os estabilizadores vertical
e horizontal. Foram configurados dois estabilizadores verticais, um em cada aba (Vert Stab1 e
Vert Stab2), figuras 7.9 e 7.10.
75
(c) Para modelagem do trem de pouso, na aba Landing Gear, podemos definir o tamanho
das rodas e do braço do trem de pouso, ângulo de giro das rodas, tipo de freio, entre outras
76
Na aba Weight and Balance são configurados os parâmetros físicos de peso e centro
de gravidade da aeronave (figura 7.12). O X-Plane calcula o momento de inércia a partir dos
parâmetros da estrutura e centro de gravidade, porém é possível sobreescrever a variável de raio
de giração (utilizado para o cálculo do momento de inércia). Entretando, segundo informação
de foruns de internet especializados no assunto, sobreescrever o raio de giração não é indicado
pois faz o modelo de voo perder precisão no cálculo da dinâmica.
77
7.2.4 Motorização
Para modelar o motor (figura 7.14), deve-se acessar a aba Standard ⇒ Engine Specs
(figura 7.15). Diversos parâmetros podem ser ajustados como por exemplo: Tipo de motor,
potência, perdas, RPM, faixas de operação, FADEC (Full Authority Digital Engine Control),
parâmetros da hélice, etc. A motorização foi o item que necessitou de mais ensaios em voo
virtuais, iterações e ajustes finos para se assemelhar à performance do motor elétrico do UT-X
real.
79
Figura 7.16 – Seleção dos dados de voo de saída enviados para o SIMULINK
2012). O próximo passo de desenvolvimento, que não é abordado neste trabalho, é a simulação
Hardware In The Loop (HITL), onde os controladores gerados no MATLAB/Simulink seriam
compilados por geração automática de código e transferidos para microntroladores, os quais,
por sua vez, receberiam as variáveis de estado geradas a partir do simulador e calculariam os
sinais de controle injetados na planta simulada. Para que isso seja possível, o microcontrolador
deve comunicar-se com o computador no qual o simulador esteja operacional.
Com o VANT UT-X em voo (figura 7.18), foi necessário ajustar os parâmetros Trim
para voar na mesma condição de balanço definida na simulação analítica (capítulo 6); em outras
palavras, foram realizados ajustes manuais nos comandos de voo para o VANT entrar em fase
de voo de cruzeiro.
Figura 7.17 – Diagrama de blocos no SIMULINK mostrando comunicação de troca de dados de voo (telemetria) com o X-Plane
84
Os resultados para o ponto de balanço (voo nivelado) foram muito próximos. É impor-
tante ressaltar que o X-Plane utiliza uma convenção diferente da normalmente adotada, para a
área de referência de asa (S), no cálculo dos coeficientes aerodinâmicos. Na equação 5.1, a área
de referência é igual a área total da asa, já no X-Plane é igual a área total da asa mais a área do
estabilizador horizontal. Portanto, na figura 7.19 os coeficientes aerodinâmicos (CL , CD ) são
mostrados com essa segunda convenção.
85
O próximo passo foi a realização de um ensaio para obtenção da caractéristica dos mo-
dos de voo de período curto e fugoidal. Os resultados do ensaio em voo, aplicando um comando
de profundor de modo a simular um sinal doublet, são mostrados na figura 7.20.
Figura 7.20 – Resultado do ensaio em voo no simulador de voo X-Plane para obtenção dos
modos de voo da dinâmica longitudinal
Durante o ensaio em voo virtual, o VANT foi controlado manualmente através do man-
che (figura 7.2). Este resultado mostra um comportamento semelhante ao apresentado na si-
mulação analítica (figura 6.4). Por dificuldades em se conseguir um voo nivelado perfeito na
simulação de voo, pode-se perceber um leve aumento constante na altitude da figura 7.20. A
comparação entre a simulação analítica e do X-Plane é mostrada na figura 7.21.
86
Figura 7.21 – Resultado do ensaio em voo no simulador de voo X-Plane para obtenção dos
modos de voo da dinâmica longitudinal
Entre as figuras 7.20 e 7.21, a altitude da simulação de voo do X-Plane foi deslocada em
mais 18 metros para facilitar a comparação.
Nota-se que as respostas estão semelhantes, porém com coeficientes de amortecimento
diferentes. As diferenças nas amplitudes máximas e mínimas podem refletir um erro durante a
pilotagem manual do VANT na simulação de voo virtual; portanto, uma metodologia de ensaio
mais sofisticada é necessária para comparação direta das amplitudes. Entretanto, é possível uma
comparação do período de oscilação e amortecimento do modo fugoidal. Esta comparação é
87
1 Pico2
δ = .ln( ) (7.1a)
n Pico5
(7.1b)
1
ζ =r (7.1c)
2.π 2
1+( )
δ
Onde n é o número de picos, que neste caso n = 4.
Tabela 7.2 – Comparação do Modo Fugoidal entre a simulação analítica e a simulação de voo
no X-Plane
Parâmetro Simulação Analítica Simulação de voo no X-Plane Erro (%)
Período 10, 91 s 10, 20 s 6, 96%
Amortecimento 0, 0042 0, 0039 7, 69%
8.1 Introdução
Nesta seção serão apresentados os projetos de pilotos automáticos com o objetivo fi-
nal de mantenimento de altitude e de velocidade. O desenvolvimento destes controladores foi
baseado em técnicas clássicas de controle de aeronaves tripuladas utilizadas pela indústria aero-
náutica STEVENS; LEWIS, 1992. o sistema de controle é formado por várias malhas internas
e externas, cada uma com um propósito específico (sendo reguladores ou compensadores). Os
controladores utilizados têm ganhos do tipo Proporcional-Integral-Derivativo (PID), que foram
sintonizados por técnicas clássicas de projeto de controle linear, como diagrama do lugar das
raízes (Root-Locus) e de Bode STEVENS; LEWIS, 1992.
Um dos objetivos dos pilotos automáticos é estabilizar as dinâmicas instáveis da planta,
ao mesmo tempo que proporcionam alguma característica específica, como por exemplo: man-
tenimento de uma mesma altitude, velocidade,ou de uma determinada rota (heading), nivela-
mento de asa, controle da taxa de subida ou descida, automatização da navegação, decolagem
autônoma e pouso autônomos.
Para ser possível o uso das técnicas de projeto de controle clássicas, as equações de es-
tado devem ser lineares. Portanto, partindo das equações não-lineares da dinâmica longitudinal
definidas no capítulo 4 (Eq. 4.51), devemos linearizá-las ao redor de um ponto de equilíbrio.
Este ponto é aquele de balanço escolhido para a simulação analítica no capítulo 6. Com as
equações linearizadas, é possível reescrever o sistema na notação de espaços de estados, en-
contrando assim seus autovalores (pólos que dominam a dinâmica da planta). Uma vez obtidos
os pólos, é possível realizar o projeto de controle. Ao fechar cada malha com um controlador
(regulador ou compensador), foi necessário recalcular as matrizes A e B do sistema aumentado.
As especificações de desempenho dos controladores são baseadas em requisitos de qua-
lidade de voo, apresentados por (STEVENS; LEWIS, 1992); eles foram formulados como no
caso de aeronaves tripuladas, um exemplo de especificações formais para aeronaves militares é
o documento MIL-F-8785C. Porém, estas regras não servem para VANTs. Outro exemplos são
os critérios no domínio da frequência para sistemas de controle de aeronaves militares (docu-
mento MIL-F-9490). Este documento define margens de ganho e de fase mínimas em qualquer
caminho de atuadores. Os valores mínimos são 6dB de margem de ganho e 30◦ de margem de
89
Nesta seção será apresentado a linearização das equações da dinâmica longitudinal, sua
formulação utilizando a notação de Espaço de Estados e a obtenção dos autovalores do sistema.
Uma vez obtidos os autovalores, é possível analisar o comportamento dos modos de período
curto e fugoidal. A partir desta avaliação pode-se decidir se é necessário utilizar ganhos mais
agressivos ou não nos controladores.
Sendo a forma geral da equação 6.1 igual a:
Ẋ = F (X, U, t) (8.1)
XT = VT α θ Q h
(8.2a)
UT = δelevator δπ
(8.2b)
∂F1 ∂F1 ∂F1
∂X1 ···
∂X2 ∂Xn
∂F2 ∂F2 ∂F2
···
∂X
JX = 1 ∂X2 ∂Xn (8.3a)
... ..
.
..
.
..
.
∂Fn ∂Fn ∂Fn
···
∂X1 ∂X2 ∂Xn
∂F1 ∂F1
∂U1 ∂U2
∂F2 ∂F2
∂U
JU = 1 ∂U2 (8.3b)
... ..
.
∂Fn ∂Fn
∂U1 ∂U2
90
Utilizando a matriz Jacobiana, linearizando para o ponto de balanço (Eq. 6.7) e utili-
zando a notação de espaço de estados (Eq. 8.4), podemos reescrever o sistema linearizado na
forma matricial (Eq. 8.6) .
XL = X − XE (8.5a)
UL = U − UE (8.5b)
−0.2562 4.9475 −9.8066 0 0.0001 0 0 0.9840
−0.0454 −3.3573 −0.0000 1.0000 0.0000 0 0 −0.0030
˙
XL =
0 0 0 1.0000 0 0 .XL +
0 0 .UL
0.0147 −9.5885 0.0000 −1.0640 −0.0000 0 −9.5595 0.0010
0 −20.5800 20.5800 0 0 0 0 0
(8.6)
Os pólos da dinâmica longitudinal do VANT UT-X são um sub conjunto dos autovalores
associados à matriz A, para este ponto de balanço. Neste sistema os dois conjuntos são os
mesmos (todos os autovalores são pólos):
−2.2614 + 2.8899i
−2.2614 − 2.8899i
−0.0772 + 0.5898i (8.7)
−0.0772 − 0.5898i
−0.0004 + 0.0000i
• Amortecimento: 0, 616;
91
• Frequência: 3, 67 rad/s
No capítulo 6 foi comentado sobre os modos de voo longitudinais, agora, com o valor
numérico dos pólos, é possível confirmar que o Modo de Período Curto têm pólos rápidos e
fortemente amortecidos, já o Modo Fugoidal apresenta pólos lentos e fracamente amortecidos.
A ação de controle (comando de profundor) do SAS pode ser observada na figura 8.4
θ(s)
É importante notar que não podemos calcular a função de transferência Gθ (s) =
δec (s)
diretamente, é preciso incorporar a malha interna, criando assim o sistema aumentado mostrado
na figura 8.5. Usando algebra de matrizes, sendo Cθ = [0 0 1 0 0], o novo sistema aumentado é
dado por (equação 8.12):
o rastreio do ângulo de referência (figura 8.7). Assim como nas simulações anteriores (figuras
6.5 e 8.4), aos 10 segundos é aplicado um comando doublet no manche, que acaba perturbando
o rastreio da referência do ângulo de arfagem (θ).
Na figura 8.8 é possível ver o destaque para um período de tempo menor, mostrado o
detalhe da variação e rastreio do ângulo θc = 5.
98
Na figura 8.9 é observado a ação de controle de profundor comandada pelo CAS, sobrepondo-
se a perturbação do sinal doublet aplicado aos 10 segundos.
A terceira malha de controle é a realimentação da altitude (h) (figura 8.10). Ela tem
como objetivo o mantenimento de altitude, sendo classificada como um piloto automático (Al-
titude HOLD Autopilot) (STEVENS; LEWIS, 1992). Este controlador assume totalmente o
controle do ângulo de deflexão do profundor (δelevator ). Portanto uma vez ativado em voo, o
piloto apenas pode mudar de altitude mudando sua referência no piloto automático. Pode ser
utilizado em conjunto com um sistema de navegação e guiagem, onde os pontos de referência
de altitude são gerados pelo sistema de guiagem a partir do planejamento da missão. Com isto,
é possível o voo autônomo do VANT.
h(s)
Gh (s) = (8.16)
θc (s)
100
1 + 100s
P Ih = −0, 0002. (8.18)
s
Figura 8.13 – Simulação analítica do Altitude HOLD Autopilot, mostrando deflexão do profun-
dor
Sendo CAHautopilot (s) (Eq. 8.19) o compensador usado no Altitude Hold Autopilot, XhA o estado
do compensador e Xθ o estado da aeronave com o controle automático de altitude, o sistema
aumentado pode ser expressado pela equação 8.21.
Ẋθ = (Aθ − B.DhA .Ch ).X + B.ChA .XhA + B.DhA .href (8.20a)
Ẋθ (Aθ − B.DhA .Ch ) B.ChA Xθ B.DhA href
= . + . (8.21)
ẊhA −BhA .Ch AhA XhA BhA 0 δπ
Xθ href
X˙VT = AVT . + BVT . (8.22)
XhA δπ
Lembrando que a matriz é B(5×2) .
Sendo CAHautopilot (s) de primeira ordem, logo BhA(1×1) e CVT = [1 0 0 0 0 0].
V t(s)
Fazendo as devidas substituições temos que a função de transferência GVT (s) =
δπ (s)
é igual a:
Analisando os pólos do sistema e o diagrama do lugar das raízes, foi observado que o
compensador deve ser do tipo PI (figura 8.15). A lei de controle PI é mostrada na equação 8.25:
1 + 50.s
P IV T (s) = −0, 04. (8.25)
s
Esta lei de controle gera um comando para o incremento da manete de potência a partir
da realimentação do incremento de velocidade (incrementos medidos em relação ao equilíbrio).
105
Figura 8.17 – Simulação analítica do MACH HOLD Autopilot, mostrando a ação da manete de
potência (δπ )
A figura 8.18 mostra que os pilotos automáticos tiverem um bom desempenho, mesmo
atuando fora do ponto de equilíbrio. Em torno dos 300 segundos de simulação as configurações
de vento (10 nós), rajada (10 nós) e turbulência são acionadas. O controle de velocidade perde
performance, porém a altitude se mantêm próximo da referência. É possível observar que há
uma maior atuação tanto dos comandos do profundor quanto da posição de manete. Em torno
dos 500 segundos da simulação, o vento, a rajada e a turbulência são retirados. Logo após
inicia-se uma rampa de descida até o pouso.
De maneira geral os pilotos automáticos projetados funcionaram com sucesso em todas
as fases de voo, embora tenham sido projetados apenas para a condição de equilíbrio. Houve
110
boa performance mesmo na realização de manobra de curva (com ângulo de rolagem menor
que 45). A boa performance fora do ponto de equilíbrio pode ter sido satisfatória pois não
houve grande variação de altitude e velocidade. A performance prevista durante o projeto dos
controladores para o ponto de equilíbrio se confirmou através dos dados obtidos do ensaio em
voo no X-Plane. Este resultado valida a metodologia abordada neste trabalho.
Na figura 8.19 podemos ver os mesmos dados da figura 8.18, porém enfatizados para o
momento da decolagem até o voo nivelado na posição de balanço. O erro em regime permanente
é menor que 2, 3% para ambos os pilotos automáticos.
111
Figura 8.19 – Dados de voo da performance dos pilotos automáticos no X-Plane durante a
decolagem e voo nivelado
Na figura 8.20, aos 205 segundos da simulação é adicionado vento constante com Vwind =
10knots. O pico de velocidade observado é no momento em que o vento é inserido na simula-
ção. A performance dos pilotos automáticos não foi comprometida, tendo sucesso em rejeitar
a perturbação. Aos 240 segundos é realizada uma manobra de curva para a direita com ângulo
de rolagem em torno de 25◦ . Aos 257 segundos é realizada outra manobra de curva, para a
esquerda, com ângulo de rolagem em torno de 30◦ .
112
Figura 8.20 – Dados de voo da performance dos pilotos automáticos no X-Plane durante vento
constante e curva
Na figura 8.21, aos 295 segunods de simulação é adicionado rajadas de vento de través
com Vgust = 10knots. O Altitude HOLD Autopilot consegue manter a altitude muito próxima
da referência, porém o MACH HOLD Autopilot tem dificuldades em manter a velocidade de
referência. A massa reduzida do VANT pode ser desta última dificuldade.
113
Figura 8.21 – Dados de voo da performance dos pilotos automáticos no X-Plane durante vento
constante e rajadas de través
Na figura 8.22, em torno dos 335 segundos de simulação é adicionada turbulência (valor
2 nas configurações do X-Plane). A atuação do profundor se intensifica para tentar manter a
referência. Ao mudar a referência de altitude é observado um overshoot maior (6%) do que
aquele sem as perturbações, mas ainda assim o piloto automático consegue rastreá-las com
proximidade.
114
Figura 8.22 – Dados de voo da performance dos pilotos automáticos no X-Plane durante vento
constante, rajadas de través e turbulência
115
9 CONCLUSÃO
baixa necessidade computacional, uma vez que os ganhos já estão calculados e são conheci-
dos. Existem estudos específicos para garantir a estabilidade no chaveamento entre ganhos dos
controladores em voo.
Este trabalho pode ser utilizado como plataforma para o ensino da teoria de controle,
mecânica e controle de voo.
(k) Comparar os resultados com dados de túnel de vento e ensaio em voo do VANT real.
117
REFERÊNCIAS
AUSTIN, R. Unmanned Aircraft Systems: uavs design, development and deployment. [S.l.]:
John Wiley and Sons Ltd., 2010. (John Wiley and Sons Ltd. Aerospace Series).
BEARD, R.; MCLAIN, T. Small Unmanned Aircraft: theory and practice. [S.l.]: Princeton
Univesity Press, 2012. (Princeton University Press).
BLAKELOCK, J. Automatic Control of Aircraft and Missiles. [S.l.]: Wiley, 1991. (A Wiley-
Interscience publication).
COMPANY, M. D. A. The USAF Stability and Control Digital DATCOM Users Manual.
1979.
COOK, M. Flight Dynamics Principles: a linear systems approach to aircraft stability and
control. [S.l.]: Elsevier Science, 2011. (Elsevier aerospace engineering series).
JUNG, D.; TSIOTRAS, P. Modeling and Hardware-in-the-Loop Simulation for a Small Un-
manned Aerial Vehicle. American Institute of Aeronautics and Astronautics, [S.l.], 2007.
PARIKH, K. K. et al. CAE Tools for Modeling Inertia and Aerodynamic Properties of an R/C
Airplane. AIAA Atmospheric Flight Mechanics Conference 10 - 13 August 2009, Chicago,
Illinois, [S.l.], 2009.
STEVENS, B. L.; LEWIS, F. L. Aircraft Control and Simulation. [S.l.]: John Wiley and Sons
Ltd., 1992.
THONG, C. W. S. Modeling Aircraft Performance and Stability on X-Plane. Final Thesis Re-
port 2010, SEIT, UNSW@ADFA, [S.l.], 2010.
TORONTO AEROSPACE TEAM UAV TEAM, U. of. University of Toronto Explorer Design
Report. 2014.
TUREVSKIY, A.; GAGE, S.; BUHR, C. Model-Based Design of a New Light-Weight Aircraft.
American Institute of Aeronautics and Astronautics, [S.l.], 2007.
10 ANEXOS
Este é o código em linguagem FORTRAN que descreve o VANT UT-X para obtenção
das derivadas de estabilidade e controle no software USAF DATCOM.
1 ******************************************
2 * Universidade Federal de Santa Maria *
3 * Centro de Tecnologia - CT *
4 * *
5 * University of Toronto Aerospace Team *
6 * UT-X modelling for stability and *
7 * control derivatives evaluation *
8 * *
9 * Willian Rigon Silva *
10 * Prof. Dr. Andre Luis da Silva *
11 ******************************************
12
13
14 ************************
15 * List of Command Card
16 ************************
17 DIM M
18 DAMP
19 TRIM
20 DERIV DEG
21 PART
22
23
24 **********************
25 * Flight Conditions *
26 **********************
27 *WT=22.0462,
28 $FLTCON LOOP=1.0, TR=0.0,
29 NMACH=1.0, MACH(1)=0.06,
30 NALT=1.0, ALT(1)=200.0,
31 NALPHA=20.0,
32 RNNUB(1)=3.2724E5,
33 * RNNUB(1)=3.2724E5,
34 VINF(1)=20.58,
35 ALSCHD(1)= -16.0, -8.0, -6.0,
36 -4.0, -2.0, 0.0, 2.0, 4.0, 8.0, 9.0,
37 10.0, 12.0, 14.0, 16.0, 18.0,
38 19.0, 20.0, 21.0, 22.0, 24.0,
39 STMACH=0.6, TSMACH=1.4, GAMMA=0.0$
40
41
42 *************************
43 * Reference Parameters * pg 29
44 *************************
45 *, ROUGFC=0.02E-3
120
69 **********************************
70 * Body Configuration Parameters * pg 36
71 **********************************
72 $BODY NX=11.0,
73 * X(1)=0.0,0.1,0.25,0.5,0.77,0.78,
74 * R(1)=0.0,0.08,0.1,0.1,0.1,0.0,
75 * ZU(1)=0.10,0.18,0.18,0.18,0.18,0.04,
76 * ZL(1)=0.10,0.00,0.00,0.00,0.00,0.03,
77
78
79 ********** BACKUP ************
80 X(1)=0.0,0.01,0.05,0.08,0.1,0.25,
81 0.43,0.69,0.73,0.77,0.78,
82 0.79,1.33,1.34,
83 R(1)=0.000,0.03,0.06,0.08,0.09,
84 0.1,0.08,0.07,0.06,0.04,0.04,
85 0.04,0.04,0.0,
86 ZU(1)=0.10,0.15,0.18,0.19,0.20,
87 0.19,0.17,0.17,0.15,0.14,0.14,
88 0.14,0.14,0.14,
89 ZL(1)=0.10,0.07,0.05,0.04,0.03,
90 0.02,0.01,0.0,0.02,0.03,0.04,
91 0.04,0.04,0.04,
92
93 BNOSE=1.0, BLN=0.1,
94 BTAIL=1.0, BLA=0.1,
95 METHOD=1.0$
96 *************CRITICO BLN modifica CMQ CLQ diretamente!!!!
97
98
99 NACA-W-4-6412
100 NACA-H-4-0012
101 NACA-V-4-0012
102
103
121
104 **********************************
105 * Wing planform variables pg 37-38
106 **********************************
107 $WGPLNF CHRDR=0.27, CHRDTP=0.22,
108 SSPN=0.99, SSPNE=0.95,
109 SAVSI=0.0, SAVSO=0.0,
110 CHSTAT=0.0, TWISTA=0.0,
111 DHDADI=4.0,
112 TYPE=1.0$
113 ********CRITICO SSPN e SSPNE modifica CYB DIRETAMENTE!!!!!!!!!
114
115
116 *************************************************
117 * Horizontal Tail Sectional Characteristics pg 39-40
118 *************************************************
119 * Same build up as wing, if you'd like to use that instead.
120
Este código em linguagem MATLAB insere todos os dados necessários para a simulação
de voo do VANT UT-X no modelo de blocos do SIMULINK.
1 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2 % UAV Mathematical Modeling %
3 % Willian Rigon Silva %
4 % Prof. Dr. Andre Luis da Silva %
5 % UFSM - Eng. de Controle e Automacao %
6 % May, 2015 %
7 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8
9 warning ('off') %ACHTUNG only use off if you know what you re doing.
10 clear all
11 close all
12 clc
13
14 global m;
15 global g;
16 global Iyy;
17 global S;
18 global cbar;
19 global Thrust_static;
20 global DTDV;
21 global Ze;
22 global CL0;
23 global CLA;
24 global CLAdot;
25 global CD0;
26 global DCDG;
27 global CDCLS;
28 global CM0;
29 global CMA;
30 global CMAdot;
31 global CMQ;
32 global CMDE;
33 global DCMG;
34 global xcg;
35 global Vt_e;
36 global alpha_e;
37 global theta_e;
38 global Q_e;
39 global Throttle_e;
40 global elev_def_e;
41 global h_e;
42 global CD0b;
43 global Engine_Power_a;
123
44 global Engine_Power_b;
45 global Thrust_static_a;
46 global Thrust_static_b;
47 global max_RPM;
48
49 %=====Conversion constants
50 kmh2ms = 1/3.6;
51 ms2kmh = 3.6;
52 mach2kmh = 1234.8;
53 in2m = 0.0254;
54 ft2m = 0.3048;
55 HPtoW = 745.7;
56 ms2knots = 1.94384;
57 kg2lb = 2.20462;
58 %=========================
59
60
61
62 %University of Toronto Xplorer (UTX) UAV
63 %%=========================================================
64 %FLIGHT Initial Vt e h =======
65 Vt_e = 0.06*mach2kmh*kmh2ms; %km/h
66 h_e = 200; %m
67
68 %================= Constant Aircraft Parameters ===================
69 g = 9.80665; %m/s^2
70 m = 9.57; %Kg
71 S = 0.485; %m^2
72 cbar = 0.24498; %m
73
74 xcg = 0.25; %Adimensional
75 %Iyy = 3.17; %Old solution
76 %Iyy = 3.33; %New solution
77 %Iyy = 2.6; %X-Plane
78 Iyy = 3.33; %Kg m^2
79
80
81 %REYNOLDS NUMBER FOR DATCOM INPUT, depending on Vt_e
82 %Air density
83 [T, A, P, p_Re] = atmosisa(h_e);
84 %Air viscosity - 25degC
85 mu_Re= 1.85E-5;
86 %cbar
87 D_Re = 0.2448;
88 %Velocity
89 V_Re = Vt_e;
90 %Reynolds Number
91 Reynolds_Number = p_Re*V_Re*D_Re / mu_Re
92
93 %Reynolds Number calculus for simulation in DATCOM
94 if(0)
95 Rnum_Navion = 1.07E6 %ft^-1
96 Rnum_Navion = 1.07E6/ft2m
97 cbarNavion = 5.7*ft2m
98 Rnum_ASW20 = 0.624E6 %ft^-1
99 Rnum_ASW20 = 0.624E6/ft2m
100 cbarASW20 = 2.554*ft2m
101
124
107 end
108
109
110
111 %Actuator Dynamics - 0.12s time constant
112 Elevator_NUM = [8.333];
113 Elevator_DEN = [1 8.333];
114 G_elev = tf(Elevator_NUM,Elevator_DEN); %to be used in SISOTOOL
115 [Aelev,Belev,Celev,Delev] = tf2ss(G_elev.num{1},G_elev.den{1});
116
117
118 %Engine Dynamics - 0.12s time constant
119 Engine_NUM = [8.333];
120 Engine_DEN = [1 8.333];
121
122
123
124
131
132 if(EngineModel==0)
133 %Engine Reference - USC Report and ...
http://personal.osi.hu/fuzesisz/strc_eng/
134 %Static Thrust max at 8200 RPM ---> 12lbs=5.44 as in USC Report
135 %RPM - StaticThrust(Kg) - HP
136 Engine_model = [1500 0.18 0.015;
137 2000 0.32 0.035;
138 3000 0.72 0.12;
139 4000 1.29 0.284;
140 5000 2 0.556;
141 6000 2.91 0.961;
142 6500 3.42 1.222;
143 7000 3.96 1.527;
144 7500 4.55 1.878;
145 8000 5.18 2.279;
146 8200 5.44 2.454];
147 figure;
148 subplot(2,2,1);
149 plot(Engine_model(:,1), Engine_model(:,2),'b','linewidth',2);
150 xlabel('$\RPM$','interpreter','latex','FontSize',14)
151 ylabel('$StaticThrust(Kg)$','interpreter','latex','FontSize',18)
152 title('$StaticThrustToRPM$','interpreter','latex','FontSize',16)
153 grid on;
154 subplot(2,2,2);
155 plot(Engine_model(:,1), Engine_model(:,3),'r','linewidth',2);
156 xlabel('$\RPM$','interpreter','latex','FontSize',14)
157 ylabel('$HP$','interpreter','latex','FontSize',18)
158 title('$HPtoRPM$','interpreter','latex','FontSize',16)
125
211
212
213
214 %AERODYNAMIC DERIVATIVES at alpha = 0
215 %AeroData = readDATCOM; %function that reads the .XLS table of
216 %DATCOM output data
126
217
218 aero = datcomimport('F:\DATCOM\UTX_Model\UTX_Model_TEST.out',true,2,6);
219 AeroData.v_alpha = aero{1}.alpha';
220 AeroData.v_Cm = aero{1}.cm;
221 AeroData.v_CL = aero{1}.cl;
222 AeroData.v_CD = aero{1}.cd;
223 AeroData.v_elev = aero{1}.delta'; %CHECAR
224 AeroData.v_DCm_elev = aero{1}.dcm_sym;
225 AeroData.v_Cm_ad = aero{1}.cmad;
226 AeroData.v_Cmq = aero{1}.cmq(1);
227
321
322 %Cm_de to elevator
323 subplot(3,3,7)
324 plot(AeroData.v_elev,AeroData.v_DCm_elev,'b','linewidth',2)
325 xlabel('$\elev (deg)$','interpreter','latex','FontSize',14)
326 ylabel('$DCm$','interpreter','latex','FontSize',18)
327 title('$Cmde to elevator (deg)$','interpreter','latex','FontSize',16)
328 xlim([min(AeroData.v_elev) max(AeroData.v_elev)])
329 grid on
330
331
332
128
333 figure
334 subplot(2,2,1); ...
plot(Fit_CLA,AeroData.v_alpha(1:13),AeroData.v_CL(1:13)); legend('CLA');
335 subplot(2,2,2); plot(Fit_CDCL,AeroData.v_CL(1:14),AeroData.v_CD(1:14)); ...
legend('CDCL');
336 subplot(2,2,3); ...
plot(Fit_CMA,AeroData.v_alpha(1:13),AeroData.v_Cm(1:13)); legend('CMA');
337 subplot(2,2,4); ...
plot(Fit_CMDE,AeroData.v_elev(2:9),AeroData.v_DCm_elev(2:9)); ...
legend('CMDE');
338 end
339
340
341
342
343 %Varying xcg to investigate trim solutions
344 if (0)
345 i = 1;
346 xcg_old = xcg; %save xcg
347 for xcg = (-1):0.1:1
348 Trim_Sol_vector(:,i) = [fsolveTRIM , xcg];
349 i=i+1;
350 end
351 figure
352 grid on; hold;
353 plot(Trim_Sol_vector(6,:) , ...
rad2deg(Trim_Sol_vector(1,:)),'r','linewidth',2)
354 plot(Trim_Sol_vector(6,:) , rad2deg(Trim_Sol_vector(2,:)),'linewidth',2)
355 plot(Trim_Sol_vector(6,:) , ...
rad2deg(Trim_Sol_vector(5,:)),'g','linewidth',2)
356 legend('alpha(deg)','theta(deg)','elevator(deg)')
357 xlabel('$xcg(m)$','interpreter','latex','FontSize',18)
358
359 xcg = xcg_old; %recovers the original xcg
360 end
361
362
363 %========= Power Curve ===== Lewis(pg.137)
364 %Varying initial speed to investigate Throttle Settings
365 if (0)
366 i = 1;
367 Vt_e_old = Vt_e; %save xcg
368 for Vt_e = 15*kmh2ms:1:150*kmh2ms
369 Trim_Sol_vector(:,i) = [fsolveTRIM , Vt_e];
370 i=i+1;
371 end
372 %Plot Power Curve (Throttle / Vt)
373 figure
374 grid on; hold;
375 plot(ms2kmh*Trim_Sol_vector(6,:) , Trim_Sol_vector(4,:),'b','linewidth',2)
376 title('$Power$ $Curve$','interpreter','latex','FontSize',18)
377 legend('Throttle Setting(0 to 1)')
378 xlabel('$Vt(km/h)$','interpreter','latex','FontSize',18)
379 ylabel('$Throttle$ (0 to 1)','interpreter','latex','FontSize',18)
380
381 %Plot necessary elev_deflection based on power curve
382 if(0)
383 figure
129
394
395
396
397 % ======= TRIM Flight ==========
398 display('TRIM SOLUTION')
399 display('==================')
400 Trim_Sol = fsolveTRIM
401 alpha_e = Trim_Sol(1);
402 theta_e = Trim_Sol(2);
403 Q_e = Trim_Sol(3);
404 Throttle_e = Trim_Sol(4);
405 elev_def_e = Trim_Sol(5);
406
407
408 % ======== TEST SOLUTION =========
409 if(0)
410 display('TEST TRIM SOLUTION')
411 display('==================')
412 TestSolution
413 end
414
415
416
417 %Print initial parameters
418 if(1)
419 alpha_trim = rad2deg(alpha_e)
420 theta_trim = rad2deg(theta_e)
421 Q_trim = Q_e
422 Throttle_trim = Throttle_e
423 elev_deflection_trim = rad2deg(elev_def_e)
424 end
425
426
427
428 % ========== LINEARIZATION of 3DOF Equations =============
429 Xe = [Vt_e; alpha_e; theta_e; Q_e; h_e; 0];
430 Ue = [elev_def_e; Throttle_e];
431
432 % Vt = x(1);
433 % alpha = x(2);
434 % theta = x(3);
435 % Q = x(4);
436 % h = x(5);
437 % xi = x(6);
438
439
440 [A,B] = Linearization(Xe, Ue);
130
441 C = eye(6);
442 D = zeros(6,2);
443
444
445 %TRANSFER FUNCTION
446 sys = ss(A,B,C,D);
447 G = tf(sys);
448 % ======= EIGENVALUES of Linearized Equations ===========
449 eigenvalues = eig(A)
450 for i=1:6
451 eigenvalues(i);
452 end
453
454
455
456
457 %====================== CONTROLLERS DESIGN ========================
458 s = tf('s');
459 %excluding xi state
460 B0 = B; %saving old B from linearization to use in the linear SS model ...
in simulink
461 B = B(1:5,1:2);
462 C = eye(5);
463
464 %==== STABILITY AUGMENTATION SYSTEM (SAS) ======
465 Cq = [0 0 0 1 0];
466 [num,den] = ss2tf(A(1:5,1:5),B(1:5,1),Cq,0);
467 Gq = tf(num,den);
468
480
481
482 %========== Pitch SAS ==============
483 Ct = [0 0 1 0 0];
484 [sys] = ss(Acq(1:5,1:5),B(1:5,1),Ct,0);
485 Gtheta = tf(sys);
486
487 %Kt = -1.41; %deixa os polos do modo fugoidal totalmente amortecidos,
488 %com a penalidade de tornar os polos de periodo curto
489 %oscilatorios com amortecimento em torno de 0.7 a 0.8
490
491 Kt = -0.8;
492
493
494 %Integrating Kt feedback into the Aircraft Model
495 Act = (Acq(1:5,1:5)-B(1:5,1)*Kt*Ct);
496 [sys] = ss(Act,B,C,0);
131
502
503 %============== Altitude Hold Autopilot ===============
504 Ch = [0 0 0 0 1];
505 [sys] = ss(Act(1:5,1:5),B(1:5,1),Ch,0);
506 Gh = tf(sys);
507
508
509 %%%%%%%%%%%%%%%%%%%%%% ACHTUNG!!! Confirm that the controller signal is ...
correct
510 Ch_PI_Lead = -0.0002*(1+100*s)/s; %final
511
512
595 %%
596 %==========================================================================
597 %Run SIMULINK model - Resposta autonoma aos controles
598 delta_e = (0)*pi/180;
599 delta_t = 0.0;
600 delta_theta = (0)*pi/180;
601
602
603
604
605 %FLIGHT Initial Conditions ======= - Resposta autonoma as pertubacoes
606 Vt0 = Vt_e + 0*kmh2ms; %km/h
607 h0 = h_e + 0; %m
608 alpha0 = alpha_e + deg2rad(0); %deg
609 theta0 = theta_e + deg2rad(0); %deg
610 Q0 = Q_e + 0; %rad/s
611
133
612
613 X0_linear = [ (Vt0-Vt_e) ; (alpha0-alpha_e) ; (theta0 - theta_e);...
614 (Q0 - Q_e); (h0-h_e); (0) ];
615
616
29 % delta = 1E-3;
30 % for i=1:m
31 % for j=1:m
32 % if(i==j)
33 % delta_u(i,j) = delta;
34 % else
35 % delta_u(i,j) = 0;
36 % end
37 % end
38 % end
39
40
41
42 %A
43 for j=1:n
44 A(:,j) = Linear_Longitudinal_Dynamic(Xe+delta_x(:,j),Ue) -...
45 Linear_Longitudinal_Dynamic(Xe,Ue);
46
47 A(:,j) = A(:,j)/delta_x(j,j);
48 end
49
50 %B
51 for j=1:m
52 B(:,j) = Linear_Longitudinal_Dynamic(Xe,Ue+delta_u(:,j)) -...
53 Linear_Longitudinal_Dynamic(Xe,Ue);
54
55 B(:,j) = B(:,j)/delta_u(j,j);
56 end
57
58
59 end
22
23 function F = myfun(x)
24
25 global m;
26 global g;
27 global Iyy;
28 global S;
29 global cbar;
30 global Thrust_static;
31 global DTDV;
32 global Ze;
33 global CL0;
34 global CLA;
35 global CLAdot;
36 global CD0;
37 global DCDG;
38 global CDCLS;
39 global CM0;
40 global CMA;
41 global CMAdot;
42 global CMQ;
43 global CMDE;
44 global DCMG;
45 global xcg;
46 global Vt_e;
47 global h_e;
48 global CD0b;
49 global Engine_Power_a;
50 global Engine_Power_b;
51 global Thrust_static_a;
52 global Thrust_static_b;
53 global max_RPM;
54
55
56 %State variables
57 alpha = x(1);
58 theta = x(2);
59 Q = x(3);
60 Throttle = x(4);
61 elev = x(5);
62
63
64
65 % %AIR DENSITY (RHO) from the COESA MODEL
66 [T, a, P, rho] = atmosisa(h_e);
67 qbar = (0.5)*rho*(Vt_e^2); %Dynamic Pressure
68 qS = qbar*S;
69
70
71 %Conversion constants
72 kmh2ms = 1/3.6;
73 ms2kmh = 3.6;
74 mach2kmh = 1234.8;
136
75 in2m = 0.0254;
76 ft2m = 0.3048;
77 HPtoW = 745.7;
78
79 gamma = theta - alpha;
80
81 rad2deg = 57.2957795; %function rad2deg(x) not supported inside SIMULINK
82 alphadeg = rad2deg*(alpha);
83 elevdeg = rad2deg*(elev);
84
85 %Aerodynamic Coefficients
86 CL = CL0 + CLA*alphadeg;
87 CD = DCDG + CD0 + CDCLS*CL^2;% + CD0b*CL;
88 CM = DCMG + CM0 + CMA*alphadeg + CMDE*elevdeg + CL*(xcg-(0.25));
89
90 % %Engine Coefficients
91 % RPM = max_RPM*max(Throttle,0);
92 % Thrust_static = Thrust_static_a*RPM + Thrust_static_b;
93 % Thrust_static = Thrust_static*g; %N
94 % Engine_power = Engine_Power_a*RPM + Engine_Power_b;
95 % DTDV = -(Engine_power*HPtoW)/(Vt_e^2);
96
97
98 %Aerodynamic Forces
99 Lift = CL*qS;
100 Drag = CD*qS;
101 Thrust = (Thrust_static + Vt_e*DTDV)*max(Throttle,0);
102
103
104
105 %3DOF Equations
106 Vt_dot = ((Thrust*cos(alpha) - Drag)/m) - g*sin(gamma);
107
108 alpha_dot = (-Thrust*sin(alpha) - Lift + m*(Vt_e*Q + g*cos(gamma))) / ...
(m*Vt_e + qS*CLAdot);
109
110 theta_dot = Q;
111
112 D = (0.5*cbar*(CMQ*Q + CMAdot*alpha_dot)) / Vt_e; %Pitch Damping
113
114 Q_dot = (qS*cbar*(CM + D) + Thrust*Ze) / Iyy; %Pitch Acc.
115
116 h_dot = Vt_e*sin(gamma); %Vertical speed
117
118
119
34
35
36
37 % %AIR DENSITY (RHO) from the COESA MODEL
38 qbar = (0.5)*rho*(Vt^2); %Dynamic Pressure
39 qS = qbar*S;
40
41
42
43 gamma = theta - alpha;
44
57 Drag = CD*qS;
58 Thrust = (Thrust_static + Vt*DTDV)*max(Throttle,0);
59 Weight = m*g;
60
61 Aero_F = [Lift; Drag; Thrust];
62 AeroEff = Lift/Drag; %Lift to Drag ratio or Aerodynamic ...
Efficiency NOT USED
63
64
65
66
67 %3DoF Equations
68 Vt_dot = [(Thrust*cos(alpha) - Drag)/m] - g*sin(gamma);
69
70 alpha_dot = (-Thrust*sin(alpha) - Lift + m*(Vt*Q + g*cos(gamma))) / ...
(m*Vt + qS*CLAdot);
71
72 theta_dot = Q;
73
74 D = [0.5*cbar*(CMQ*Q + CMAdot*alpha_dot)] / Vt; %Pitch Damping
75 Q_dot = (qS*cbar*(CM + D) + Thrust*Ze) / Iyy; %Pitch Acc.
76
77
Este é o código em linguagem MATLAB que insere todos os dados necessários para a
simulação de voo do VANT UT-X no X-Plane. Este script configura parâmetros iniciais para os
controladores presentes no diagrama de blocos do SIMULINK (figura 7.17).
1 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2 % UAV Mathematical Modeling %
3 % Willian Rigon Silva %
4 % Prof. Dr. Andre Luis da Silva %
5 % UFSM - Eng. de Controle e Automacao %
6 % May, 2015 %
7 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8
9 warning ('off') %ACHTUNG! only use 'off' if you know what you're doing.
10 clear all
11 close all
12 clc
13
139
14 global m;
15 global g;
16 global Iyy;
17 global S;
18 global cbar;
19 global Thrust_static;
20 global DTDV;
21 global Ze;
22 global CL0;
23 global CLA;
24 global CLAdot;
25 global CD0;
26 global DCDG;
27 global CDCLS;
28 global CM0;
29 global CMA;
30 global CMAdot;
31 global CMQ;
32 global CMDE;
33 global DCMG;
34 global xcg;
35 global Vt_e;
36 global alpha_e;
37 global theta_e;
38 global Q_e;
39 global Throttle_e;
40 global elev_def_e;
41 global h_e;
42 global CD0b;
43 global Engine_Power_a;
44 global Engine_Power_b;
45 global Thrust_static_a;
46 global Thrust_static_b;
47 global max_RPM;
48
49 %=====Conversion constants
50 kmh2ms = 1/3.6;
51 ms2kmh = 3.6;
52 mach2kmh = 1234.8;
53 in2m = 0.0254;
54 ft2m = 0.3048;
55 HPtoW = 745.7;
56 ms2knots = 1.94384;
57 kg2lb = 2.20462;
58 %=========================
59
60
61
62 %University of Toronto Xplorer (UTX) UAV
63 %%=========================================================
64 %FLIGHT Initial Vt e h =======
65 Vt_e = 0.06*mach2kmh*kmh2ms; %km/h
66 h_e = 200; %m
67
68 %================= Constant Aircraft Parameters ===================
69 g = 9.80665; %m/s^2
70 m = 9.57; %Kg
71 S = 0.485; %m^2
140
72 cbar = 0.24498; %m
73
74 xcg = 0.25; %Adimensional
75 %Iyy = 3.17; %Old solution
76 %Iyy = 3.33; %New solution
77 %Iyy = 2.6; %X-Plane
78 Iyy = 3.33; %Kg m^2
79
80
81 %REYNOLDS NUMBER FOR DATCOM INPUT, depending on Vt_e
82 %Air density
83 [T, A, P, p_Re] = atmosisa(h_e);
84 %Air viscosity - 25degC
85 mu_Re= 1.85E-5;
86 %cbar
87 D_Re = 0.2448;
88 %Velocity
89 V_Re = Vt_e;
90 %Reynolds Number
91 Reynolds_Number = p_Re*V_Re*D_Re / mu_Re
92
93 %Reynolds Number calculus for simulation in DATCOM
94 if(0)
95 Rnum_Navion = 1.07E6 %ft^-1
96 Rnum_Navion = 1.07E6/ft2m
97 cbarNavion = 5.7*ft2m
98 Rnum_ASW20 = 0.624E6 %ft^-1
99 Rnum_ASW20 = 0.624E6/ft2m
100 cbarASW20 = 2.554*ft2m
101
102 cbarUAV = 0.24498
103 %RnumUAV = 0.197E6
104 RnumUAV_ASW20 = (cbarUAV/cbarASW20)*Rnum_ASW20
105 RnumUAV_Navion = (cbarUAV/cbarNavion)*Rnum_Navion
106
107 end
108
109
110
111 %Actuator Dynamics - 0.12s time constant
112 Elevator_NUM = [8.333];
113 Elevator_DEN = [1 8.333];
114 G_elev = tf(Elevator_NUM,Elevator_DEN); %to be used in SISOTOOL
115 [Aelev,Belev,Celev,Delev] = tf2ss(G_elev.num{1},G_elev.den{1});
116
117
124
125 %ENGINE MODEL ======================
126 % 0 = Dynamic model
127 % 1 = first order model
128 EngineModel = 1;
129
141
130
131
132 if(EngineModel==0)
133 %Engine Reference - USC Report and ...
http://personal.osi.hu/fuzesisz/strc_eng/
134 %Static Thrust max at 8200 RPM ---> 12lbs=5.44 as in USC Report
135 %RPM - StaticThrust(Kg) - HP
136 Engine_model = [1500 0.18 0.015;
137 2000 0.32 0.035;
138 3000 0.72 0.12;
139 4000 1.29 0.284;
140 5000 2 0.556;
141 6000 2.91 0.961;
142 6500 3.42 1.222;
143 7000 3.96 1.527;
144 7500 4.55 1.878;
145 8000 5.18 2.279;
146 8200 5.44 2.454];
147 figure;
148 subplot(2,2,1);
149 plot(Engine_model(:,1), Engine_model(:,2),'b','linewidth',2);
150 xlabel('$\RPM$','interpreter','latex','FontSize',14)
151 ylabel('$StaticThrust(Kg)$','interpreter','latex','FontSize',18)
152 title('$StaticThrustToRPM$','interpreter','latex','FontSize',16)
153 grid on;
154 subplot(2,2,2);
155 plot(Engine_model(:,1), Engine_model(:,3),'r','linewidth',2);
156 xlabel('$\RPM$','interpreter','latex','FontSize',14)
157 ylabel('$HP$','interpreter','latex','FontSize',18)
158 title('$HPtoRPM$','interpreter','latex','FontSize',16)
159 grid on;
160
161 Fit_STtoRPM = fit(Engine_model(:,1), Engine_model(:,2), 'poly1');
162 Fit_HPtoRPM = fit(Engine_model(:,1), Engine_model(:,3), 'poly1');
163
185 end
186
187
188
189 %Engine Model Simplified
190 if(EngineModel==1)
191 %Electric motor specs from USC report - 380RPM / V - 6S battery 22.2V
192 max_RPM = 22.2*380;
193 %calculate theoretical max speed, assuming 80% propeller's aerodynamic ...
efficiency
194 prop_pitch = 10*in2m;
195 prop_eff = 0.7;
196 max_speed = ((max_RPM*60)*prop_pitch); %m/h
197 max_speed = (max_speed/1000)*prop_eff; %Km/h
198
199 Thrust_static = 5.44311*g; %N --> 12lbs is 5.44311 K
200 DTDV = -Thrust_static/(max_speed*kmh2ms);
201 Ze = 0.0; %2 ft; % - estimated thrust vector ...
distance from the cg vector
202
203 Vt_max = max_speed*kmh2ms;
204 Vt_max_knots = Vt_max*ms2knots;
205
206 end
207
208
209 %AERODYNAMIC DERIVATIVES at alpha = 0
210 %AeroData = readDATCOM; %function that reads the .XLS table of
211 %DATCOM output data
212
213 aero = datcomimport('F:\DATCOM\UTX_Model\UTX_Model_TEST.out',true,2,6);
214 AeroData.v_alpha = aero{1}.alpha';
215 AeroData.v_Cm = aero{1}.cm;
216 AeroData.v_CL = aero{1}.cl;
217 AeroData.v_CD = aero{1}.cd;
218 AeroData.v_elev = aero{1}.delta'; %CHECAR
219 AeroData.v_DCm_elev = aero{1}.dcm_sym;
220 AeroData.v_Cm_ad = aero{1}.cmad;
221 AeroData.v_Cmq = aero{1}.cmq(1);
222
223 Fit_CLA = fit(AeroData.v_alpha(1:13), AeroData.v_CL(1:13), 'poly1');
224 Fit_CDCL = fit(AeroData.v_CL(1:14),AeroData.v_CD(1:14),'poly2');
225 Fit_CMA = fit(AeroData.v_alpha(3:12), AeroData.v_Cm(3:12), 'poly1');
226 Fit_CMDE = fit(AeroData.v_elev(3:9), AeroData.v_DCm_elev(3:9), 'poly1');
227
228 CL0 = AeroData.v_CL(6);
229 CD0 = Fit_CDCL.p3;
230 CD0b = Fit_CDCL.p2;
231 CDCLS = Fit_CDCL.p1;
232 CM0 = AeroData.v_Cm(6);
233
234 CLA = Fit_CLA.p1; % grau^-1
235 CMA = Fit_CMA.p1; % grau^-1
236
237 %Dynamic Derivatives
238 CMAdot = AeroData.v_Cm_ad(6)*180/pi; % (rad/s)^-1
239 CLAdot = 0.0;
240 CMQ = AeroData.v_Cmq*180/pi; % (rad/s)^-1
143
316
317 %Cm_de to elevator
318 subplot(3,3,7)
319 plot(AeroData.v_elev,AeroData.v_DCm_elev,'b','linewidth',2)
320 xlabel('$\elev (deg)$','interpreter','latex','FontSize',14)
321 ylabel('$DCm$','interpreter','latex','FontSize',18)
322 title('$Cmde to elevator (deg)$','interpreter','latex','FontSize',16)
323 xlim([min(AeroData.v_elev) max(AeroData.v_elev)])
324 grid on
325
326
327
328 figure
329 subplot(2,2,1); ...
plot(Fit_CLA,AeroData.v_alpha(1:13),AeroData.v_CL(1:13)); legend('CLA');
330 subplot(2,2,2); plot(Fit_CDCL,AeroData.v_CL(1:14),AeroData.v_CD(1:14)); ...
legend('CDCL');
331 subplot(2,2,3); ...
plot(Fit_CMA,AeroData.v_alpha(1:13),AeroData.v_Cm(1:13)); legend('CMA');
332 subplot(2,2,4); ...
plot(Fit_CMDE,AeroData.v_elev(2:9),AeroData.v_DCm_elev(2:9)); ...
legend('CMDE');
333 end
334
335
336
337
338
339
395
396
397 % ======= TRIM Flight ==========
398 display('TRIM SOLUTION')
399 display('==================')
400 Trim_Sol = fsolveTRIM
401 alpha_e = Trim_Sol(1);
402 theta_e = Trim_Sol(2);
403 Q_e = Trim_Sol(3);
404 Throttle_e = Trim_Sol(4);
405 elev_def_e = Trim_Sol(5);
406
146
407
408 % ======== TEST SOLUTION =========
409 if(0)
410 display('TEST TRIM SOLUTION')
411 display('==================')
412 TestSolution
413 end
414
415
416
417 %Print initial parameters
418 if(0)
419 alpha_trim = rad2deg(alpha_e)
420 theta_trim = rad2deg(theta_e)
421 Q_trim = Q_e
422 Throttle_trim = Throttle_e
423 elev_deflection_trim = rad2deg(elev_def_e)
424 end
425
426
427 % %AIR DENSITY (RHO) from the COESA MODEL
428 [T, a, P, rho] = atmosisa(h_e);
429 qbar = (0.5)*rho*(Vt_e^2); %Dynamic Pressure
430 qS = qbar*S;
431
432 alphadeg = rad2deg(alpha_e);
433 elevdeg = rad2deg(elev_def_e);
434 %Aerodynamic Coefficients
435 CL = CL0 + CLA*alphadeg
436 CD = DCDG + CD0 + CDCLS*CL^2 %+ CD0b*CL;
437 CM = DCMG + CM0 + CMA*alphadeg + CMDE*elevdeg;
438 %Aerodynamic Forces
439 Lift = CL*qS;
440 Drag = CD*qS;
441 Thrust = (Thrust_static + Vt_e*DTDV)*Throttle_e;
442
443 Lift = Lift*kg2lb/g
444 Drag = CD*qS*kg2lb/g
445 Thrust = (Thrust_static + Vt_e*DTDV)*Throttle_e*kg2lb/g
446 Max_Thrust = (Thrust_static + Vt_max*DTDV)*kg2lb/g;
447 Vt_e_knots = Vt_e*ms2knots;
448 Static_Thrust_lb = 5.44311*kg2lb;
449
450 % ========== LINEARIZATION of 3DOF Equations =============
451 Xe = [Vt_e; alpha_e; theta_e; Q_e; h_e; 0];
452 Ue = [elev_def_e; Throttle_e];
453
454 % Vt = x(1);
455 % alpha = x(2);
456 % theta = x(3);
457 % Q = x(4);
458 % h = x(5);
459 % xi = x(6);
460
461
462 [A,B] = Linearization(Xe, Ue);
463 C = eye(6);
464 D = zeros(6,2);
147
465
466
467 %TRANSFER FUNCTION
468 sys = ss(A,B,C,D);
469 G = tf(sys);
470 % ======= EIGENVALUES of Linearized Equations ===========
471 eigenvalues = eig(A)
472 for i=1:6
473 eigenvalues(i);
474 end
475
476
477
478 %====================== CONTROLLERS DESIGN ========================
479 s = tf('s');
480 %excluding xi state
481 B0 = B; %saving old B from linearization to use in the linear SS model ...
in simulink
482 B = B(1:5,1:2);
483 C = eye(5);
484
485 %==== STABILITY AUGMENTATION SYSTEM (SAS) ======
486 Cq = [0 0 0 1 0];
487 [num,den] = ss2tf(A(1:5,1:5),B(1:5,1),Cq,0);
488 Gq = tf(num,den);
489
490 %Kq muito agressivo, fica Bang Bang
491 %Kq = -0.897; %trouxe os polos do modo fugoidal para o semi plano ...
esquerdo e
492 % amorteceu eles totalmente
493 Kq = -0.2;
494
495 %Integrating Kq feedback into the Aircraft Model
496 Acq = (A(1:5,1:5)-B(1:5,1)*Kq*Cq);
497 sys = ss(Acq,B,C,0);
498 Gfq = tf(sys); %NEW AICRAFT STATE SPACE
499
500
501
502 %========== Pitch SAS ==============
503 Ct = [0 0 1 0 0];
504 [sys] = ss(Acq(1:5,1:5),B(1:5,1),Ct,0);
505 Gtheta = tf(sys);
506
507 Kt = -0.8; %deixa os polos do modo fugoidal totalmente amortecidos,
508 %com a penalidade de tornar os polos de periodo curto
509 %oscilatorios com amortecimento em torno de 0.7 a 0.8
510
511
512
513 %Integrating Kt feedback into the Aircraft Model
514 Act = (Acq(1:5,1:5)-B(1:5,1)*Kt*Ct);
515 [sys] = ss(Act,B,C,0);
516 Gftheta = tf(sys); %NEW AICRAFT STATE SPACE
517
518
519
520
148
521
522 %============== Altitude Hold Autopilot ===============
523 Ch = [0 0 0 0 1];
524 [sys] = ss(Act(1:5,1:5),B(1:5,1),Ch,0);
525 Gh = tf(sys);
526
527
528 %%%%%%%%%%%%%%%%%%%%%% ACHTUNG!!! Confirm that the controller signal is ...
correct
529
530 Ch_PI_Lead = -0.0002*(1+100*s)/s; %final
531
532
533 %Integrating Altitude Hold Autopilot (Compensator) into the Aircraft Model
534 %Chose the controller
535 [Aha,Bha,Cha,Dha] = tf2ss(Ch_PI_Lead.num{1},Ch_PI_Lead.den{1});
536
561
562
563
564 %============== Throttle Hold Autopilot ========================
565 %Augmented system with SAS (q, theta regulator and h compensator)
566 CVt = [1 0 0 0 0 0 ];
567 sys = ss(Ac3,B(1:6,2),CVt,0);
568 GVt = tf(sys);
569
570 CVt_PI = -0.04*(1+50*s)/s; %final
571
572
573
574 %Natural Frequency, Damping Ration,
575 % Time constant and Poles of specific TF
576 if(0)
577 [Wn,Zeta,Poles] = damp(GVt)
149
583
584
585
586 %========= SIMULINK Control Block input ==============
587 %=== Altitude Hold Autopilot (h Controller) ===
588 Ch_NUM = Ch_PI_Lead.num{1};
589 Ch_DEN = Ch_PI_Lead.den{1};
590
591 %=== MACH Hold Autopilot (Vt Controller) ===
592 CVt_NUM = CVt_PI.num{1};
593 CVt_DEN = CVt_PI.den{1};
594
595 %//////////////////////////////////////////////////////////////////////////
596
597
598
599
600 %==========================================================================
601 %Run SIMULINK model - Resposta autonoma aos controles
602 delta_e = (0)*pi/180;
603 delta_t = 0.0;
604 delta_theta = (0)*pi/180;
605
606
607
608
609 %FLIGHT Initial Conditions ======= - Resposta autonoma as pertubacoes
610 Vt0 = Vt_e + 0*kmh2ms; %km/h
611 h0 = h_e + 0; %m
612 alpha0 = alpha_e + deg2rad(0); %deg
613 theta0 = theta_e + deg2rad(0); %deg
614 Q0 = Q_e + 0; %rad/s
615
616
617 X0_linear = [ (Vt0-Vt_e) ; (alpha0-alpha_e) ; (theta0 - theta_e);...
618 (Q0 - Q_e); (h0-h_e); (0) ];
1 clc
2 close all
3
4 Knots2kmh = 1.852;
5 ft2m = 0.3048;
6 ms2kmh = 3.6;
7
8
9 %====================
150
10 %Variables to plot
11 %NONLINEAR Model
12 Vt = FlightData.Data(:,4);
13 Vt = Vt*Knots2kmh;
14
15 h = FlightData.Data(:,1);
16 h = h*ft2m;
17
18 alpha = 0;
19
20 theta = FlightData.Data(:,2);
21
22 Q = FlightData.Data(:,3);
23
24 %Aerodynamic_Forces
25 Lift = 0;
26 Drag = 0;
27 Thrust = 0;
28
29 gamma = 0;
30
31 elevator = FlightData.Data(:,9);
32
33 Throttle = FlightData.Data(:,5);
34
35 tout_n = FlightData.time*2.5;
36
37 %Change elevator from -1:1 range to -16:20 deg deflection range
38 for i=1:1:length(tout_n)
39 if (elevator(i)>0)
40 elevator(i) = elevator(i)*20; %elevator until 20deg
41 elseif (elevator(i)<0)
42 elevator(i) = elevator(i)*16; %elevator until 16deg
43 else
44 elevator(i) = 0;
45 end
46 end
47
48
49
50
51
52
53
54
55
56 Min = 100;
57 Max = 150;
58 %Max = max(FlightData.time*2.5);
59
60
61 Ref = 1; %Use Reference in plot
62 if(Ref)
63 Vt_ref = FlightData.Data(:,15);
64 Vt_ref = Vt_ref*ms2kmh;
65 h_ref = FlightData.Data(:,16);
66 end
67
151
68 %========================
69 %PLOT
70 figure('units','normalized','outerposition',[0 0 0.5 1])
71
72 subplot(3,2,1)
73 plot(tout_n,Vt,'b','linewidth',2)
74 if(Ref)
75 hold on
76 plot(tout_n,Vt_ref,'r','linewidth',2)
77 hold off
78 end
79 legend('Vt (Km/h)','Vt_{REF} (Km/h)')
80 xlabel('$Time (s)$','interpreter','latex','FontSize',14)
81 ylabel('$Vt (Km/h)$','interpreter','latex','FontSize',18)
82 title('$Vt$','interpreter','latex','FontSize',18)
83 %xlim([min(tout_n) max(tout_n)])
84 xlim([Min Max])
85 grid on
86
87 subplot(3,2,2)
88 plot(tout_n,h,'b','linewidth',2)
89 if(Ref)
90 hold on
91 plot(tout_n,h_ref,'r','linewidth',2)
92 hold off
93 end
94 legend('h (m)','h_{REF} (m)')
95 xlabel('$Time (s)$','interpreter','latex','FontSize',14)
96 ylabel('$h (m)$','interpreter','latex','FontSize',18)
97 title('$h$','interpreter','latex','FontSize',18)
98 xlim([Min Max])
99 grid on
100
101 % subplot(3,2,3)
102 % plot(tout,alpha,'b','linewidth',2)
103 % legend('alpha (deg)','alpha-linear (deg)')
104 % xlabel('$Time (s)$','interpreter','latex','FontSize',14)
105 % ylabel('$\alpha (deg)$','interpreter','latex','FontSize',18)
106 % title('$\alpha$','interpreter','latex','FontSize',18)
107 % xlim([min(tout) max(tout)])
108 % grid on
109
110 subplot(3,2,5)
111 plot(tout_n,theta,'b','linewidth',2)
112 legend('theta (deg)','theta-linear (deg)')
113 xlabel('$Time (s)$','interpreter','latex','FontSize',14)
114 ylabel('$\theta (deg)$','interpreter','latex','FontSize',18)
115 title('$\theta$','interpreter','latex','FontSize',18)
116 xlim([Min Max])
117 grid on
118
119 subplot(3,2,6)
120 plot(tout_n,Q,'b','linewidth',2)
121 legend('Q (deg/s)','Q-linear (deg/s)')
122 xlabel('$Time (s)$','interpreter','latex','FontSize',14)
123 ylabel('$Q (deg/s)$','interpreter','latex','FontSize',18)
124 title('$Q$','interpreter','latex','FontSize',18)
125 xlim([Min Max])
152
126 grid on
127
128 % subplot(3,2,6)
129 % plot(tout,gamma,'b','linewidth',2)
130 % xlabel('$Time (s)$','interpreter','latex','FontSize',14)
131 % ylabel('$\gamma (deg)$','interpreter','latex','FontSize',18)
132 % title('$\gamma$','interpreter','latex','FontSize',18)
133 % xlim([min(tout) max(tout)])
134 % grid on
135
136
137
138
139
140
141
142 %figure('units','normalized','outerposition',[0.5 0 0.5 1])
143
144 subplot(3,2,4)
145 plot(tout_n,elevator,'b','linewidth',2)
146 xlabel('$Time (s)$','interpreter','latex','FontSize',14)
147 ylabel('$elevator (deg)$','interpreter','latex','FontSize',18)
148 title('$elevator - deflection$','interpreter','latex','FontSize',18)
149 xlim([Min Max])
150 ylim([-17 21])
151 grid on
152
153 subplot(3,2,3)
154 plot(tout_n,Throttle,'b','linewidth',2)
155 xlabel('$Time (s)$','interpreter','latex','FontSize',14)
156 ylabel('$Throttle\%$','interpreter','latex','FontSize',18)
157 title('$Throttle$','interpreter','latex','FontSize',18)
158 xlim([Min Max])
159 ylim([-0.1 1.1])
160 grid on
161
162 % subplot(3,2,3)
163 % plot(tout,Lift,'b','linewidth',2)
164 % xlabel('$Time (s)$','interpreter','latex','FontSize',14)
165 % ylabel('$Lift$','interpreter','latex','FontSize',18)
166 % title('$Lift$','interpreter','latex','FontSize',18)
167 % xlim([min(tout) max(tout)])
168 % grid on
169 %
170 % subplot(3,2,4)
171 % plot(tout,Thrust,'b','linewidth',2)
172 % xlabel('$Time (s)$','interpreter','latex','FontSize',14)
173 % ylabel('$Thrust$','interpreter','latex','FontSize',18)
174 % title('$Thrust$','interpreter','latex','FontSize',18)
175 % xlim([min(tout) max(tout)])
176 % grid on
177 %
178 % subplot(3,2,5)
179 % plot(tout,Drag,'b','linewidth',2)
180 % xlabel('$Time (s)$','interpreter','latex','FontSize',14)
181 % ylabel('$Drag$','interpreter','latex','FontSize',18)
182 % title('$Drag$','interpreter','latex','FontSize',18)
183 % xlim([min(tout) max(tout)])
153
184 % grid on
185 %
186 % subplot(3,2,6)
187 % plot(tout,rho,'b','linewidth',2)
188 % xlabel('$Time (s)$','interpreter','latex','FontSize',14)
189 % ylabel('$\rho (Kg/m^3)$','interpreter','latex','FontSize',18)
190 % title('$Air Density (\rho)$','interpreter','latex','FontSize',18)
191 % xlim([min(tout) max(tout)])
192 % grid on