Você está na página 1de 49

Rodrigo Brasil da Costa

Estudo do problema de busca do ponto de


equilíbrio de um sistema dinâmico

Campos dos Goytacazes


2018
Rodrigo Brasil da Costa

Estudo do problema de busca do ponto de equilíbrio de


um sistema dinâmico

Trabalho de conclusão de curso apresentado


ao Instituto Federal de Educação, Ciência e
Tecnologia Fluminense como requisito par-
cial para conclusão do curso de Bacharelado
em Engenharia de Controle e Automação.

Instituto Federal Fluminense – IFF


Campus Campos Centro
Engenharia de Controle e Automação

Orientador: Dr. Alexandre Carvalho Leite

Campos dos Goytacazes


2018
Biblioteca Anton Dakitsch
CIP - Catalogação na Publicação

Costa, Rodrigo Brasil da


C696e Estudo do problema de busca do ponto de equilíbrio de um sistema
dinâmico. / Rodrigo Brasil da Costa - 2018.
48 f.: il.

Orientador: Alexandre Carvalho Leite

Trabalho de conclusão de curso (graduação) -- Instituto Federal de


Educação, Ciência e Tecnologia Fluminense, Campus Campos Centro,
Curso de Bacharelado em Engenharia de Controle e Automação, Campos dos
Goytacazes, RJ, 2018.
Referências: f. 48 a 48.

1. Trimagem . 2. Modelagem . 3. Sistemas . I. Leite , Alexandre


Carvalho , orient. II. Título.

Elaborada pelo Sistema de Geração Automática de Ficha Catalográfica da Biblioteca Anton Dakitsch do IFF
com os dados fornecidos pelo(a) autor(a).
Rodrigo Brasil da Costa

Estudo do problema de busca do ponto de equilíbrio de


um sistema dinâmico

Trabalho de conclusão de curso apresentado


ao Instituto Federal de Educação, Ciência e
Tecnologia Fluminense como requisito par-
cial para conclusão do curso de Bacharelado
em Engenharia de Controle e Automação.

Trabalho aprovado. Campos dos Goytacazes, 26 de março de 2018:

Dr. Alexandre Carvalho Leite


INSTITUTO FEDERAL
FLUMINENSE
Orientador

Dr. Adelson Siqueira Carvalho


INSTITUTO FEDERAL
FLUMINENSE
Convidado 1

Me. Felipe Nunes Radtke


INSTITUTO FEDERAL
FLUMINENSE
Convidado 2

Campos dos Goytacazes


2018
Aos meus pais que sempre lutaram para que eu tivesse a melhor educação. A minha
esposa que foi sempre uma incentivadora dos meus sonhos.
Agradecimentos

Ao meu orientador, Prof. Alexandre Leite que me orientou muito bem durante esse
processo e quando foi preciso puxou a minha orelha para que pudesse voltar ao caminho
certo.
Agradeço aos meus amigos: Bruna Rabello, Fábio Ramos, Gustavo Schwartz, Luiz
Felipe Mantovani, Murilo Serpa e Tomás Marquez, por tornarem esse processo da gradu-
ação muito mais suave e engraçado.
Um agradecimento especial ao meu caro amigo Thiago Cabral, por ter partilhado
de tantas dificuldades comigo, e por ter me ensinado mais do que a maioria dos professores.
Agradeço, a minha mãe que sempre lutou com unhas e dentes, que sempre abriu
mão dela, para que eu pudesse ter a melhor educação que poderia me dar. Você conseguiu,
Cátia. Ao meu pai, que sempre me apoiou e foi meu porto. Obrigado, Antônio.
Agradeço a minha esposa Késya Martha por ter sido a minha copilota durante
esse processo. Por entender e apoiar. Eu te amo, meu amor.
Let me tell you something you already know. The world ain’t all sunshine and rainbows.
It’s a very mean and nasty place and I don’t care how tough you are it will beat you to
your knees and keep you there permanently if you let it. You, me, or nobody is gonna hit
as hard as life. But it ain’t about how hard you hit. It’s about how hard you can get hit
and keep moving forward. How much you can take and keep moving forward. That’s how
winning is done!
(Rocky Balboa, 2006)
Resumo
Para se analisar e controlar um sistema é muito importante saber se ele é linear ou não.
Isso se deve ao fato de que os sistemas lineares são muito mais fáceis para se trabalhar.
Dessa maneira, o caminho mais utilizado para o desenvolvimento de um controlador para
sistemas não lineares é através da sua linearização. O processo de linearização se baseia
em encontrar um sistema linear que responda muito próximo do sistema não linear na re-
gião do ponto de equilíbrio que é onde o sistema tem seus estados de interesse constantes,
ou seja, suas acelerações são nulas. Considerando a importância de se saber a localiza-
ção desse ponto, o presente trabalho utiliza com exemplo um sistema mecânico rotativo
para demonstrar algumas técnicas para encontrá-lo, a saber: analíticas, de força bruta e
otimizações computacionais. Além disso, utiliza um modelo de um sistema aeronáutico
não linear do MATLAB para encontrar o seu ponto de equilíbrio para um voo reto e uma
altura de 3.050 metros. Para esse sistema, os valores encontrados são satisfatórios, uma
vez que a aeronave se manteve em altitude constante ao longo do tempo de simulação.

Palavras-chaves: Ponto de equilíbrio. Sistemas. Trimagem.


Abstract

In order to analyze and control a system it is very important to know whether it is


linear or not. This is due to the fact that linear systems are much easier to work with.
So, the most used approach for the development of a controller for non-linear systems
is through its linearization. The linearization process is based on finding a linear system
that responds very close to the nonlinear system in the region of the equilibrium point
where the system has its states of interest constant, that is, its accelerations are zero.
Considering the importance of knowing the location of this point, the present work uses
as an example a rotating mechanical system to demonstrate some techniques to find it:
analytical, brute force and computational optimizations. In addition, it uses a MATLAB
model of a nonlinear aeronautical system to find its equilibrium point for a straight flight
and an altitude of 3,050 meters. For this system, the values found are satisfactory, since
the aircraft remained at constant altitude throughout the simulation time

Key words: Equilibrium point. Systems. Trim.


Lista de ilustrações

Figura 1 – Simulador de remo com resistência a água. . . . . . . . . . . . . . . . . 17


Figura 2 – Representação visual do sistema rotativo mecânico que foi utilizado nos
exemplos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Figura 3 – Diagrama de blocos do sistema mecânico rotacional para simulação de
parâmetros de equilíbrio . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Figura 4 – Bloco de parâmetros do integrador . . . . . . . . . . . . . . . . . . . . 20
Figura 5 – Exemplo 1 - Respostas obtidas depois da primeira simulação . . . . . . 20
Figura 6 – Exemplo 2 - Respostas obtidas com condição inicial . . . . . . . . . . . 21
Figura 7 – Fluxograma do algoritmo naive.m. . . . . . . . . . . . . . . . . . . . . 22
Figura 8 – Pontos encontrados pelo algoritmo naive.m com 𝐽 = 0, 01𝑘𝑔.𝑚2 e 𝑏 =
0, 1𝑁.𝑚.𝑠. no sistema da figura 3. . . . . . . . . . . . . . . . . . . . . . 24
Figura 9 – Pontos encontrados pelo algoritmo naive.m com 𝐽 = 0, 014𝑘𝑔.𝑚2 e
𝑏 = 0, 2𝑁.𝑚.𝑠 no sistema da figura 3. . . . . . . . . . . . . . . . . . . . 25
Figura 10 – Simulação de 2 segundos para o sistema da figura 3 com os valores
iniciais da tabela 3 obtidos com os algoritmos fminconModel.m e eva-
luateModel.m. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Figura 11 – Simulação de 2 segundos para o sistema da figura 3 com os valores
iniciais da tabela 4 obtidos com os algoritmos fminconModel.m e eva-
luateModel.m. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Figura 12 – Eixos de rotação da aeronave . . . . . . . . . . . . . . . . . . . . . . . 31
Figura 13 – Eixos de referência de corpo e de vento . . . . . . . . . . . . . . . . . . 32
Figura 14 – Ângulos de rotação - Ângulos de Euler . . . . . . . . . . . . . . . . . . 32
Figura 15 – Aerodinâmica longitudial - Pitch plane. . . . . . . . . . . . . . . . . . . 33
Figura 16 – Modelo Simulink scdairframe - 2 . . . . . . . . . . . . . . . . . . . . . 34
Figura 17 – Modelo Simulink scdairframe - 3 . . . . . . . . . . . . . . . . . . . . . 34
Figura 18 – Modelo Simulink scdairframe - 1 . . . . . . . . . . . . . . . . . . . . . 35
Figura 19 – Componentes do vetor de velocidade . . . . . . . . . . . . . . . . . . . 36
Figura 20 – Altitude obtida pela simulação de 10 segundos do modelo da aeronave 41
Figura 21 – Posição ao longo do eixo 𝑥 obtida pela simulação de 10 segundos do
modelo da aeronave . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Figura 22 – Ângulo de arfagem obtido pela simulação de 10 segundos do modelo
da aeronave . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Figura 23 – Velocidade e aceleração de arfagem obtido pela simulação de 10 segun-
dos do modelo da aeronave . . . . . . . . . . . . . . . . . . . . . . . . 44
Figura 24 – Velocidade e aceleração do eixo Z obtido pela simulação de 10 segundos
do modelo da aeronave . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Figura 25 – Velocidade e aceleração do eixo X obtido pela simulação de 10 segundos
do modelo da aeronave . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Lista de tabelas

Tabela 1 – Pontos encontrados pelo algoritmo naive.m com 𝐽 = 0, 01𝑘𝑔.𝑚2 e 𝑏 =


0, 1𝑁.𝑚.𝑠 no sistema da figura 3. . . . . . . . . . . . . . . . . . . . . . 25
Tabela 2 – Resultados obtidos no exemplo 2 do método de força bruta com o
sistema da figura 3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Tabela 3 – Ponto de equilíbrio obtido pela simulação do sistema da figura 3 com
o algoritmos fminconModel.m e evaluateModel.m com os valores de
condição inicial e entrada de 2𝑁.𝑚 e 9𝑟𝑎𝑑/𝑠, respectivamente. . . . . . 28
Tabela 4 – Ponto de equlíbrio obtido pela simulação do sistema da figura 3 com o
algoritmos fminconModel.m e evaluateModel.m com os valores iniciais
de 5𝑁.𝑚 para a entrada e 5𝑟𝑎𝑑/𝑠 para a condição inicial de velocidade
angular. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Tabela 5 – Parâmetros que são manipulados no modelo durante a busca do algo-
ritmo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Tabela 6 – Estados que compõe a métrica de erro. . . . . . . . . . . . . . . . . . . 40
Tabela 7 – Tabela com os valores encontrados de condições iniciais e entrada para
a exigência de trimagem especificada. . . . . . . . . . . . . . . . . . . . 40
Tabela 8 – Valores obtidos com os algoritmos fminconAirframe.m e evaluateAir-
frame.m . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Lista de algoritmos

2.1 naive.m . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.2 fminconModel.m . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.3 evaluateModel.m . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.1 fminconAirframe.m . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.2 evaluateAirframe.m . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Lista de abreviaturas e siglas

s Segundo;

m Metro;

rad Radiano;

N Newton;

h Altitude;

u, v e w Velocidade linear do eixo x, y e z;

𝜃 Ângulo de incidência;

𝛼 Ângulo de ataque;

𝛾 Flight-path angle;
Sumário

1 INTRODUÇÃO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.1 Objetivo geral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.2 Objetivos específicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.3 Justificativa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

2 DEFINIÇÃO DO PROBLEMA . . . . . . . . . . . . . . . . . . . . . 17
2.1 Definição do problema . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.2 Exemplo analítico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.3 Método de força bruta . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.4 Abordagem de otimização e problemas relacionados . . . . . . . . . 26

3 ESTUDO DE CASO . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.1 Princípios aerodinâmicos . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.2 Modelo não-linear . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
3.3 Busca do ponto de operação . . . . . . . . . . . . . . . . . . . . . . . 35

4 CONSIDERAÇÕES FINAIS . . . . . . . . . . . . . . . . . . . . . . . 47
4.1 Conclusão . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
4.2 Trabalhos futuros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

REFERÊNCIAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
15

1 Introdução

O conceito de sistema, segundo o Oxford English Dictionary é “Um conjunto de


coisas funcionando junto como parte de um mecanismo ou de uma rede interconectada”1
(OXFORD, 2018) e, um sistema dinâmico é aquele que o seu estado atual depende do
estado anterior, ou seja, os efeitos das ações não ocorrem imediatamente (ASTRöM; MUR-
RAY, 2007).
Como pode ser visto em Franklin, Powell e Emami-Naeini (2002) o modelo de um
sistema é um conjunto de equações diferenciais que descrevem o comportamento dinâmico
desse ao longo do tempo. Para se descobrir como o sistema irá reagir a uma perturbação,
por exemplo, pode-se resolver as suas equações analiticamente ou realizar um experimento
numérico — simulação computacional. A simulação é um procedimento seguro de testar
o sistema. Contudo, a eficiência desse processo está ligada diretamente com a qualidade
e escolha do modelo (LJUNG; GLAD, 1994).
Um grande problema encontrado após a análise dos sistemas é que em quase todos
os casos eles não são lineares. Isso é um problema percebido quando se quer analisar ou
controlá-lo. Nesse caso, percebe-se que o sistema não linear é muito mais complexo para
se trabalhar (FRANKLIN; POWELL; EMAMI-NAEINI, 2002).
Para que um sistema seja linear, ele deve atender ao princípio da superposição, e
para isso precisa respeitar a duas premissas de aditividade e homogeneidade:

Aditividade: 𝑓 (𝑥 + 𝑦) = 𝑓 (𝑥) + 𝑓 (𝑦)


Homogeneidade: 𝑓 (𝛼 × 𝑥) = 𝛼 × 𝑓 (𝑥)

A premissa da aditividade diz que a saída de várias entradas aplicadas simultaneamente


deve ser igual a soma das saídas obtidas pela aplicação de cada entrada individualmente.
A homogeneidade diz que a saída deve acompanhar a entrada linearmente (CLOSE; FRE-
DERICK; NEWEL, 2002).
Se a entrada de um sistema não linear puder ser restringida a um valor suficiente,
esse então, pode ser substituído por um sistema linear que responde muito próximo a ele.
A linearização tem justamente esse objetivo: encontrar o modelo de um sistema linear cuja
resposta seja muito próxima do sistema não linear a ser analisado. Mesmo com a resposta
dos sistemas linear e não linear sendo diferente em algumas condições, geralmente, há
para um conjunto de entradas e condições iniciais, saídas com aproximações satisfatórias
(CLOSE; FREDERICK; NEWEL, 2002).
1
Tradução livre de: "A set of things working together as parts of a mechanism or an interconnecting
network”
Capítulo 1. Introdução 16

Como provado em Lyapunov (1992) se o sistema linear for estável, então o sistema
não linear que lhe deu origem também será, mesmo que apenas em uma região finita em
torno do ponto de operação. Assim sendo, quando dentro dessa região, a distância entre
a condição inicial e o ponto de equilíbrio converge para zero a medida que o tempo tende
ao infinito.

1.1 Objetivo geral


Sabendo da importância de achar o ponto de equilíbrio de um sistema, esse tra-
balho se propõe a realizar um estudo do problema da trimagem. Através de métodos
analíticos, de busca exaustiva e minimizações, foram realizados experimentos para de-
monstrar a localização do ponto de equilíbrio de um sistema mecânico rotativo linear e
um sistema aeronáutico não linear.

1.2 Objetivos específicos


Esse trabalho se divide em duas partes. Na primeira, objetiva-se realizar exemplos
analíticos para encontrar os pontos de equilíbrio de um sistema mecânico rotativo linear.
Ainda na primeira parte, os pontos de equilíbrio são buscados e analisados pelo método
de força bruta (busca exaustiva). Na segunda parte do trabalho, é utilizado o modelo de
um sistema aeronáutico para exemplificar a busca e análise dos pontos de equilíbrio para
sistemas mais complexos e não lineares.

1.3 Justificativa
O ponto de equilíbrio ou de trimagem define o conjunto de estados e entradas do
sistema onde a linearização é feita. Após ser linearizado, é muito mais simples desenvolver
um controlador para esse sistema linear. Depois de desenvolvido para o sistema linear, o
controlador é utilizado também para o sistema não linear original, uma vez que os dois
sistemas tem a resposta muito parecida na região próxima ao ponto de operação. Casos
assim podem ser encontrados em Marco, Duke e Berndt (2007).
17

2 Definição do problema

2.1 Definição do problema


Figura 1 – Simulador de remo com resistência a água.

Fonte: <https://images-na.ssl-images-amazon.com/images/I/71pyiAgHj3L.𝑆 𝐿1500. 𝑗𝑝𝑔 >

Para demostrar mais claramente o processo de trimagem foi utilizado um modelo


de um sistema mecânico rotativo. Esse sistema pode ser encontrado em máquinas de simu-
lação de remo com resistência de água - Figura 1. A roda que se encontra no reservatório
foi modelada e apresentada na equação (2.1), levando em consideração que tanto a roda
quanto o seu eixo são rígidos (por isso a ausência de uma variável de elasticidade). O
sistema pode ser compreendido mais facilmente através da sua representação na figura 2.

𝐽 𝜃¨ + 𝑏𝜃˙ = 𝑢 (2.1)

(𝐽) - momento de inércia - 𝑘𝑔.𝑚2


(𝑏) - coeficiente de atrito viscoso - 𝑁.𝑚.𝑠
(𝑢) - torque de entrada - 𝑁.𝑚
˙ - velocidade angular - 𝑟𝑎𝑑/𝑠
(𝜃)
¨ - aceleração angular - 𝑟𝑎𝑑/𝑠2
(𝜃)
Capítulo 2. Definição do problema 18

Figura 2 – Representação visual do sistema rotativo mecânico que foi utilizado nos exem-
plos.

Fonte: autor.

2.2 Exemplo analítico


Para o sistema ficar em equilíbrio é necessário que se estabeleça algumas condições,
Foi estabelecido como condição para encontrar o equilíbrio do sistema que a velocidade
˙ fique constante, ou seja, a roda do remo não irá alterar sua velocidade com
angular (𝜃)
o tempo. Para isso deve-se achar os valores de torque de entrada e de condição inicial
da velocidade angular que quando aplicados ao sistema resulte em uma aceleração (𝜃) ¨
igual ou o mais próximo possível de zero. Uma vez que foram encontrados os valores que
tornam a derivada do estado desejado igual a zero, é garantido que o sistema estará em
equilíbrio em regime permanente, pois o estado de interesse será constante.
Foi utilizado o sistema descrito pela equação (2.1) para a realização de um exemplo
analítico. Para isso foram selecionados os seguintes valores arbitrários de momento de
inércia e atrito viscoso:
𝐽 = 0, 01𝑘𝑔.𝑚2
𝑏 = 0, 1𝑁.𝑚.𝑠
Determinou-se como a condição para encontrar o ponto de equilíbrio do sistema a veloci-
dade angular de 𝜃˙ = 2𝑟𝑎𝑑/𝑠. Pode-se então, realizar a substituição dos valores citados e
da aceleração angular por zero na equação 2.1, como é de interesse:

𝑢 = 𝐽 𝜃¨ + 𝑏𝜃˙

𝑢 = 0, 01 × 0 + 0, 1 × 2
Capítulo 2. Definição do problema 19

𝑢 = 0, 2𝑁.𝑚

A partir da equação que descreve matematicamente o sistema, foi desenvolvido o diagrama


de blocos da figura 3 para se verificar a validade da resolução analítica por meio de
simulações no Simulink/MATLAB. Foi feita a alteração da condição inicial de 𝜃˙ para
2𝑟𝑎𝑑/𝑠 no integrador do diagrama de blocos (Figura 4), uma vez que esse valor foi utilizado
como condição para o equilíbrio. As respostas obtidas nessa simulação estão presentes no
gráfico da figura 5.

Figura 3 – Diagrama de blocos do sistema mecânico rotacional para simulação de parâ-


metros de equilíbrio

Fonte: autor - Simulink - MATLAB.


Capítulo 2. Definição do problema 20

Figura 4 – Bloco de parâmetros do integrador

Fonte: Simulink - MATLAB.

Figura 5 – Exemplo 1 - Respostas obtidas depois da primeira simulação

Fonte: autor.

Uma vez que a aceleração angular teve um valor constante de 0𝑟𝑎𝑑/𝑠2 é sabido
que a velocidade angular não irá alterar seu valor ao longo do tempo, pois sua derivada
é zero. Nesse caso a velocidade angular se manteve no valor constante de 2𝑟𝑎𝑑/𝑠, como
pode ser observado na figura 5. Pode-se concluir que o sistema está em equilíbrio dentro
dos parâmetros preestabelecidos.
Capítulo 2. Definição do problema 21

Para que o sistema esteja em equilíbrio é necessário que no instante zero todas
suas acelerações sejam zero, caso contrário o mesmo não exerceria um comportamento
constante. O sistema precisa partir de condições iniciais para seus estados e de valores de
entradas no instante zero e se manter constante. Logo, as simulações são realizadas com
0 segundos e após a obtenção dos valores de todos os estados e entradas são rodadas para
mais tempo para analisar como o sistema se comportou com os esses parâmetros.
Para um segundo exemplo analítico, foi escolhido encontrar o ponto de equilíbrio
do sistema na posição angular 𝜃 = 𝑡 para, sendo assim:
𝑑𝜃
𝜃 = 𝑡, =1 (2.2)
𝑑𝑡
Logo, a partir da equação (2.1) tem-se que:

𝑢 = 0, 01 × 0 + 0, 1 × 1

𝑢 = 0, 1𝑁.𝑚
A figura 6 demonstra o gráfico da resposta obtida já com a condição inicial de 1𝑟𝑎𝑑/𝑠 para
˙ que é a que foi escolhida para trimar o modelo. Nela pode-se observar que
a velocidade (𝜃)
a aceleração é constantemente nula e a velocidade angular não tem nenhuma alteração
em seu valor inicial.
Figura 6 – Exemplo 2 - Respostas obtidas com condição inicial

Fonte: autor.

Para esse exemplo, é simples encontrar os resultados que satisfazem o equilíbrio.


Em casos mais complexos (como modelos aeronáuticos), em que as equações dos sistemas
Capítulo 2. Definição do problema 22

são não lineares e trabalha-se com muitas variáveis, é analiticamente exaustivo, às vezes
quase impossível, de se obter a solução dessa forma. Por isso, optou-se por mostrar a
busca do ponto de equilíbrio desse sistema através de um método bastante conhecido: o
algoritmo de força bruta, também conhecido como grid-search ou busca exaustiva.

2.3 Método de força bruta


O algoritmo de força bruta consiste em um método de resolução de problemas que
enumera todas as possíveis soluções, testa e valida cada uma delas. Então se o objetivo é
achar os pares de números iguais existentes em dois conjuntos iguais, sendo eles compostos
por:
{0, 1, 2, 3, 4, 5, 6, 7, 8, 9}

O algoritmo irá realizar todas as possibilidades existentes de combinações entre


esses números e posteriormente validá-las à condição preestabelecida (se são pares iguais),
ou seja, fará nesse caso 10 × 10 = 100 iterações para encontrar apenas 10 pontos que
atendem ao seu critério. Esse método não utiliza nenhum tipo de redução do seu espaço
de busca ou de otimização.
Assim, foi desenvolvido o algoritmo 2.1 - naive.m (o fluxograma da figura 7 explica
o seu funcionamento) para realizar a busca dos pontos de operação por força bruta do sis-
tema da figura 3. Foram utilizados os mesmos valores de 𝐽 = 0, 01𝑘𝑔.𝑚2 e 𝑏 = 0, 1𝑁.𝑚.𝑠.

Figura 7 – Fluxograma do algoritmo naive.m.

Fonte: autor
Capítulo 2. Definição do problema 23

Algoritmo 2.1 – naive.m


1 %% naive grid−search
2
3 clear
4 clc
5
6 % trim controls are y and u
7
8 trimResults = [];
9 point=[];
10 acc=[];
11 pair=[];
12
13 %
14 yArray = 0.1:0.1:10;
15 xArray = 0.1:0.1:10;
16
17 % search domain for initial condition
18 for y = yArray
19 % search domain for control input
20 for x = xArray
21
22 pair(end+1,1:2) = [x y];
23
24 % set trim controls
25 % modeloprimario is the simulink model
26 set_param('modeloprimario/u', 'value', 'x');
27 set_param('modeloprimario/Integrator', 'InitialCondition', 'y');
28
29 %run model to evaluate trim point
30 sim('modeloprimario');
31
32 % evaluate equilibrium metric
33 if (abs(accel(1,1)) < 1e−6)
34 trimResults(end+1).point=[x y];
35 trimResults(end).fval=abs(accel(1,1));
36
37 point(end+1,1:2) = [x y];
38 acc(end+1) = abs(accel(1,1));
39
40 end
41 end
42 end
43
44 % plot the graphics
45 plot(pair(:,1),pair(:,2),'b.','MarkerSize',23)
46 hold on
47 plot(point(:,1),point(:,2),'ro','LineWidth',4)
48 grid
Capítulo 2. Definição do problema 24

Como pode ser visto no algoritmo 2.1 - naive.m, utilizou-se de uma métrica de erro
−6
de 10 𝑟𝑎𝑑/𝑠2 , ou seja, quando o programa encontrou qualquer valor abaixo disso para a
aceleração angular ele considerou esse ponto como um ponto de equilíbrio para o sistema,
guardando em um vetor o torque de entrada e a condição inicial da velocidade angular
que resultaram nesse valor de aceleração. Nesse caso, o problema detém dois espaços de
busca (torque de entrada e condição inicial para a velocidade angular) e como pode ser
observado nas linhas 14 e 15 do algoritmo 2.1, as resoluções escolhidas se dão por:
10
0.1 : 0.1 : 10 ∴ = 100
0.1
Com a resolução de 100 pontos para o torque de entrada e de 100 para a condição inicial, foi
preciso que o algoritmo realizasse 104 iterações para encontrar os 10 pontos que satisfazem
esse problema. Na figura 8 pode-se observar todos os pontos que o programa aplicou no
diagrama de blocos, testou e validou, sendo os pontos azuis os que foram analisados e
não atenderam ao critério da métrica de erro e os pontos vermelhos são os que obtiveram
como resultado uma aceleração angular menor do que 10−6 𝑟𝑎𝑑/𝑠2 .

Figura 8 – Pontos encontrados pelo algoritmo naive.m com 𝐽 = 0, 01𝑘𝑔.𝑚2 e 𝑏 =


0, 1𝑁.𝑚.𝑠. no sistema da figura 3.

Fonte: autor.

Na tabela 1 pode-se ver o resultado do experimento. É possível ver que, para um


pequeno número de pontos que solucionam o problema, é preciso analisar uma quantidade
muito maior deles devido ao fato de não se conhecer onde esses pontos estão alocados, o
que acarreta na maioria das vezes, na utilização de um espaço de busca muito maior do
que o necessário.
Capítulo 2. Definição do problema 25

Tabela 1 – Pontos encontrados pelo algoritmo naive.m com 𝐽 = 0, 01𝑘𝑔.𝑚2 e 𝑏 =


0, 1𝑁.𝑚.𝑠 no sistema da figura 3.

Nº Entrada (𝑢) ˙
Condição inicial (𝜃) ¨
Aceleração angular (𝜃)
1 0,1 1 0
2 0,2 2 0
3 0,3 3 0
4 0,4 4 0
5 0,5 5 0
6 0,6 6 1, 1102 × 10−14
7 0,7 7 0
8 0,8 8 0
9 0,9 9 0
10 1 10 0
Fonte: autor.

Para um segundo exemplo prático, utilizou-se novamente o algoritmo de força


bruta sobre o sistema da figura 3, mas agora com os valores 𝐽 = 0, 014𝑘𝑔.𝑚2 e 𝑏 =
0, 2𝑁.𝑚.𝑠. Os valores foram substituídos e a simulação rodada.

Figura 9 – Pontos encontrados pelo algoritmo naive.m com 𝐽 = 0, 014𝑘𝑔.𝑚2 e 𝑏 =


0, 2𝑁.𝑚.𝑠 no sistema da figura 3.

Fonte: autor.

Com o mesmo número de iterações, foram encontrados mais pontos de equilíbrios


Capítulo 2. Definição do problema 26

˙ constante, como pode ser visto no gráfico


que atendem ao critério de velocidade angular (𝜃)
da figura 9, ou seja, cada sistema terá os seus pontos de equilíbrios de acordo com suas
características. Na tabela 2 pode-se ver que os valores de aceleração angular encontrados
no segundo exemplo são erros na ordem de 10−15 e 10−14 𝑟𝑎𝑑/𝑠2 , muito menor do que a
métrica que foi utilizada de 10−6 𝑟𝑎𝑑/𝑠2 .

Tabela 2 – Resultados obtidos no exemplo 2 do método de força bruta com o sistema da


figura 3.

Nº Entrada (𝑢) ˙
Condição inicial (𝜃) ¨
Aceleração angular (𝜃)
1 0,1 0,5 0
2 0,2 1 0
3 0,3 1,5 0
4 0,4 2 0
5 0,5 2,5 7, 93 × 10−15
6 0,6 3 7, 93 × 10−15
7 0,7 3,5 7, 93 × 10−15
8 0,8 4 0
9 0,9 4,5 0
10 1 5 0
11 1,1 5,5 0
12 1,2 6 0
13 1,3 6,5 1, 59 × 10−14
14 1,4 7 0
15 1,5 7,5 1, 59 × 10−14
16 1,6 8 0
17 1,7 8,5 0
18 1,8 9 1, 59 × 10−14
19 1,9 9,5 0
20 2 10 0
Fonte: autor.

A fim de otimizar esse processo, deve-se usar uma ferramenta que reduza o espaço
de pesquisa e, consequentemente, faça a resolução do problema com mais eficiência – o
que é extremamente necessário para modelos mais complexos e não lineares –, e para isso
foi utilizada uma função do MATLAB chamada fmincon. Essa função encontra o mínimo
de uma função não-linear multivariável restrita. (MATHWORKS, 2017)

2.4 Abordagem de otimização e problemas relacionados


Utilizando essa abordagem do fmincon é preciso uma função para ser minimizada.
O algoritmo tentará encontrar os valores de parâmetros dados que resultem no menor
Capítulo 2. Definição do problema 27

Algoritmo 2.2 – fminconModel.m


1 %%
2 clear
3 clc
4
5 load_system('modeloprimario.slx');
6
7 x0 = randi([1 9],1,2);
8 A = [];
9 b = [];
10 Aeq = [];
11 beq = [];
12 lb = [0 0];
13 ub = [10 10];
14
15 opt = optimoptions('fmincon','Display','iter','FinDiffRelStep',1e−6);
16 [xf,fval,exitflag,output] = fmincon(@(x) evaluateModel(x),x0,A,b,Aeq,beq,
lb,ub,[],opt);

valor da função a ser minimizada. Tendo como objetivo a velocidade angular constante,
é necessário que se obtenha a aceleração angular (derivada da velocidade) igual a zero.
Para isso foi utilizado a aceleração como parâmetro de minimização, ou seja, o algoritmo
irá encontrar os valores de condição inicial da velocidade e de torque de entrada que
acarretarão no menor valor de aceleração.
O algoritmo 2.2 - fminconModel.m atribui os valores iniciais (de velocidade e tor-
que) ao vetor 𝑥0, que junto com as outras variáveis criadas servem de entrada para a
função fmincon. Uma opção da função principal precisou ser mudada. Foi necessário au-
mentar o step size que tinha como padrão o eps do MATLAB de 2, 2204 × 10−16 para
10−6 para que o sistema convergisse.
O aumento do step size se deu devido a problemas encontrados durante os testes
do algoritmo. Ficou claro que a função não convergia para zero ou algum valor próximo
disso. A opção FinDiffRelStep (em algumas versões é encontrada como ‘FiniteDifferenceS-
tepSize’) é o tamanho do fator de diferenças finitas. Após o seu aumento, a função passou
a convergir porque começou a considerar espaços maiores para o cálculo da diferença entre
valores.
O algoritmo 2.3 - evaluateModel.m aplica os valores retornados pelo fminconMo-
del.m ao diagrama de blocos e obter as suas saídas, ou seja, os dois funcionam juntos.
A simulação iniciou com os valores inicias aleatórios de 2𝑁.𝑚 para o torque de entrada
e 9𝑟𝑎𝑑/𝑠 para a condição inicial de velocidade angular. Após a simulação o programa
retornou os valores da tabela 3 como sendo um ponto de equilíbrio. Com esses valores a
Capítulo 2. Definição do problema 28

Algoritmo 2.3 – evaluateModel.m


1 function J = evaluateModel(x)
2
3 x1 = x(1);
4 x2 = x(2);
5
6 % set trim controls
7 set_param('modeloprimario/u', 'value', num2str(x1));
8 set_param('modeloprimario/Integrator', 'InitialCondition', num2str(x2));
9
10 %run model to evaluate trim point
11 [a,sysState,sysOut]=sim('modeloprimario');
12
13 J = abs(sysOut(1,1));
14 fprintf('J(%1.10f, %1.10f) = %.10f\n',x1, x2, J);

aceleração resultante foi de 0𝑟𝑎𝑑/𝑠2 , o que pode ser observado no gráfico da figura 10.

Tabela 3 – Ponto de equilíbrio obtido pela simulação do sistema da figura 3 com o algo-
ritmos fminconModel.m e evaluateModel.m com os valores de condição inicial
e entrada de 2𝑁.𝑚 e 9𝑟𝑎𝑑/𝑠, respectivamente.

Parâmetro Valor
˙
Condição inicial (𝜃) 7, 033𝑟𝑎𝑑/𝑠
Entrada (𝑢) 0, 7033𝑁.𝑚
Fonte: autor.
Capítulo 2. Definição do problema 29

Figura 10 – Simulação de 2 segundos para o sistema da figura 3 com os valores iniciais da


tabela 3 obtidos com os algoritmos fminconModel.m e evaluateModel.m.

Fonte: autor.

Para demostrar mais uma vez o problema, foram utilizados os valores arbitrários
de 5𝑁.𝑚 para o torque de entrada e 5𝑟𝑎𝑑/𝑠 para a condição inicial de velocidade angular,
resultando no ponto de equilíbrio da tabela 4. Como pode ser observado na figura 11,
mais uma vez o sistema obteve uma aceleração igual a 0𝑟𝑎𝑑/𝑠2 .

Tabela 4 – Ponto de equlíbrio obtido pela simulação do sistema da figura 3 com o algorit-
mos fminconModel.m e evaluateModel.m com os valores iniciais de 5𝑁.𝑚 para
a entrada e 5𝑟𝑎𝑑/𝑠 para a condição inicial de velocidade angular.

Parâmetro Valor
˙
Condição inicial (𝜃) 0, 49492𝑟𝑎𝑑/𝑠
Entrada (𝑢) 0, 04949𝑁.𝑚
Fonte: autor.
Capítulo 2. Definição do problema 30

Figura 11 – Simulação de 2 segundos para o sistema da figura 3 com os valores iniciais da


tabela 4 obtidos com os algoritmos fminconModel.m e evaluateModel.m.

Fonte: autor.

Esses exemplos demonstram que para esse sistema, ao dar as condições iniciais e
as entradas das tabelas 3 e 4, o sistema permanecerá em equilíbrio, ou seja, a velocidade
angular – que é o estado de interesse – se manterá constante ao longo do tempo (figura
10 e 11) com a aceleração angular igual a zero.
Para ambos os exemplos, a aceleração angular (derivada do estado de interesse) foi
de zero, o que não necessariamente será sempre assim (vide tabela 2). É necessário analisar
cada sistema individualmente para que se tenha a grandeza do seu erro aceitável, ou seja,
o quão longe de zero a sua derivada pode ser para que seja considerado em equilíbrio.
Para alguns sistemas é aceitável o equilíbrio com 0, 1 de erro, para outros não se aceita
nem erros na ordem de 10−10 .
31

3 Estudo de caso

3.1 Princípios aerodinâmicos


Quando a aeronave está voando em altitude constante, com as asas niveladas ou
em rolamento uniforme – Figura 12, um conjunto dos seus estados estão em equilíbrio.
Em um voo reto e nivelado (wing-level straight flight), a altitude ℎ, as velocidades line-
ares 𝑢, 𝑣 e 𝑤, os ângulos de Euler 𝜓, 𝜃 e 𝜑 e as velocidades angulares 𝑝, 𝑞 e 𝑟 são todos
constantes (Figura 13 e 14). Quando a aeronave está em equilíbrio, pode-se dizer que ela
está trimada. Existem casos em que alguns desses estados citados não serão constantes
mesmo na condição de trimagem, a saber: voo de subida constante, ℎ aumenta linear-
mente, enquanto ℎ̇ é constante. O mesmo acontece para um voo de guinada constante,
onde 𝜓 aumenta linearmente, enquanto 𝜓˙ é constante (BEARD; MCLAIN, 2012).

Figura 12 – Eixos de rotação da aeronave

Fonte: http://www.outros.net/blog/wp-content/uploads/cache/2016/05/Atitude-
Airplane/9370546.png <Acesso em 23 de janeiro de 2018>
Capítulo 3. Estudo de caso 32

Figura 13 – Eixos de referência de corpo e de vento

Fonte: (COOK, 2013)

Figura 14 – Ângulos de rotação - Ângulos de Euler

Fonte: (COOK, 2013)

O estados descritos são utilizados quando trabalha-se com a aerodinâmica com-


pleta da aeronave, que pode ser entendida como a movimentação do corpo nos três eixos
do espaço. Mas para esse trabalho onde objetiva-se realizar um voo reto e nivelado, só
é necessária a utilização da aerodinâmica longitudinal, também conhecida como eixo de
arfagem. Esse eixo pode ser entendido como uma visão lateral 2D da aeronave - Figura 15.
As forças e momentos dessa aerodinâmica são elevação (lift), arrasto (drag) e momento
Capítulo 3. Estudo de caso 33

de arfagem (pitch moment). Esses três parâmetros são muito influenciados pelo ângulo de
ataque (𝛼), juntamente com a velocidade de arfagem (𝑞) e a deflexão do profundor (𝛿𝑒 )
(BEARD; MCLAIN, 2012).

Figura 15 – Aerodinâmica longitudial - Pitch plane.

Fonte: http://ctms.engin.umich.edu/CTMS/Content/AircraftPitch/System/Modeling/
figures/flightdynamics.png <Acessado em 17 de fevereiro de 2018>

3.2 Modelo não-linear


Utilizou-se para estudo de caso o modelo da MathWorks de uma aeronave que pode
ser encontrada no MATLAB pelo comando ‘scdairframe’. A relação da aeronave com a
atmosfera pode ser vista na figura 16 assim como as entradas do sistema: empuxo (𝛿𝑇 -
Bloco Thrust) e deflexão do profundor (𝛿𝑒 - Bloco fin).
Na figura 17 pode-se ver os blocos que regem a aerodinâmica do sistema.
Capítulo 3. Estudo de caso 34

Figura 16 – Modelo Simulink scdairframe - 2

Fonte: Simulink - MATLAB.

Figura 17 – Modelo Simulink scdairframe - 3

Fonte: Simulink - MATLAB.


Capítulo 3. Estudo de caso 35

Na figura 18 tem-se os estados e derivadas do sistema como: aceleração angular


(𝑞)
˙ e linear (𝐴𝑥, 𝐴𝑧), velocidade angular (𝑞) e linear (𝑈, 𝑤) e posição angular (𝜃) e linear
(𝑋𝑒, 𝑍𝑒). É nesse subsistema que o programa faz as substituições de condições iniciais
dos estados.

Figura 18 – Modelo Simulink scdairframe - 1

Fonte: Simulink - MATLAB.

3.3 Busca do ponto de operação


Para se encontrar o ponto de equilíbrio desse sistema foram adaptados os algorit-
mos 2.2 (fminconModel.m) e 2.3 (evaluateModel.m) desenvolvido anteriormente com as
modificações pertinentes de blocos, quantidade de estados e métrica de erro, resultando
nos algoritmos 3.1 e 3.2.
São necessários alguns conceitos para que sejam localizados os pontos de equilíbrio
do aeronave (figura 15): O ângulo de incidência (𝜃) é a diferença entre o eixo 𝑥′ (plano
terrestre) e o eixo 𝑥 (plano de fuselagem). O ângulo de ataque (𝛼) é proveniente da
abertura entre o vetor de velocidade e o eixo 𝑥 do plano terrestre.
O objetivo é que a aeronave faça um voo reto e nivelado (wing-level straight flight),
para isso todas as acelerações têm que ser zero ou o mais próximo disso. Além disso, o
vetor velocidade (𝑣) precisa estar sobre o eixo x’ (figura 15) para que não haja ganho de
altitude, logo o ângulo 𝛾 (flight-path angle) tem que ser zero. Essa última condição nos
leva a equação (3.1).
𝛾 =𝜃−𝛼 (3.1)

𝛾=0∴𝜃=𝛼
Capítulo 3. Estudo de caso 36

Figura 19 – Componentes do vetor de velocidade

Fonte: (NELSON, 1997).

A partir da figura 19 pode-se deduzir por relações trigonométricas que:


𝑤
tan 𝛼 = (3.2)
𝑈
Sendo 𝛼 = 𝜃 (3.1), tem-se como resultado da equação (3.2) a equação (3.3).

𝑤 = tan 𝜃 × 𝑈 (3.3)

Com isso, foi utilizado o valor de 𝑤 com uma equação de restrição (3.3) para se garantir
que a aeronave fará um voo reto e nivelado.
O vetor 𝑥0 fornece os valores iniciais à função. Os vetores 𝑙𝑏 e 𝑢𝑏 fornecem os
limites mínimos e máximos, respectivamente.
Capítulo 3. Estudo de caso 37

Algoritmo 3.1 – fminconAirframe.m


1 %%
2 clear
3 clc
4
5 load_system('airframescd.slx');
6
7 % set the fmincon parameters
8 x0 = [0.025 0.025 9000]; %initial guess
9 A = [];
10 b = [];
11 Aeq = [];
12 beq = [];
13 lb = [−0.1 −0.1 6000]; %lower bounds
14 ub = [0.1 0.1 10000]; %upper bounds
15
16 % set the options to the function
17 opt = optimoptions('fmincon','Display','iter','FinDiffRelStep',1e−6);
18
19 % running the fmincon
20 [xf,fval,exitflag,output] = fmincon(@(x) evaluateAirframe(x),x0,A,b,Aeq,
beq,lb,ub,[],opt);
Capítulo 3. Estudo de caso 38

Algoritmo 3.2 – evaluateAirframe.m


1 function J = evaluateAirframe(x)
2
3 % set the variables from the vector received
4 Thetainit = x(1,1);
5 fininit = x(1,2);
6 thrust = x(1,3);
7 qinit = 0;
8 Uinit = 984;
9 Winit = Uinit*tan(Thetainit);
10 Xinit = 0;
11 Zinit = −3.05e+03;
12
13
14 % turning the numbers to strings
15 Fpos = strcat('[',num2str(Xinit),';',num2str(Zinit),']'); %position to
vector (Xe,Ze)
16 Vec =[Uinit Winit];
17 Vecstr = strcat('[',num2str(Vec),']');
18
19 % set trim initial conditions and controls
20 set_param('airframescd/EOM/ Equations of Motion (Body Axes)/Position', '
InitialCondition', Fpos);
21 _
set param('airframescd/EOM/ Equations of Motion (Body Axes)/Theta', '
InitialCondition', num2str(Thetainit));
22 _
set param('airframescd/EOM/ Equations of Motion (Body Axes)/U,w', '
InitialCondition', Vecstr);
23 set_param('airframescd/EOM/ Equations of Motion (Body Axes)/q', '
InitialCondition', num2str(qinit));
24 set_param('airframescd/Constant1', 'value', num2str(fininit));
25 set_param('airframescd/Thrust', 'value', num2str(thrust));
26
27 % run model to evaluate trim point
28 [a,sysState,sysOut]=sim('airframescd');
29
30 % read and print the output
31 qdot=sysOut(end,8);
32 dw=sysOut(end,3);
33 du=sysOut(end,2);
34 J = 10*qdot^2+3*dw^2+du^2;
35 fprintf('J = %.20f\n', J)
Capítulo 3. Estudo de caso 39

O vetor 𝑥 do evaluateAirframe.m é recebido do fminconAirframe.m com 3 elemen-


tos, são eles, respectivamente: ângulo de arfagem (𝜃), deflexão do profundor (𝛿𝑒 , ’fin’) e
empuxo (𝛿𝑇 , ’thrust’) que podem ser encontrados no figura 16 e 18. Foi escolhido trimar
a aeronave a uma altura de 3.0501 metros e a uma velocidade longitudinal de 984𝑚/𝑠, ou
seja, esses parâmetros são fixos (como pode ser visto nas linhas 8 e 11 do algoritmo 3.2).
Além disso para a posição no eixo 𝑋 foi utilizado o valor fixo de início de 0𝑚 e a taxa
de arfagem (𝑞 - pitch rate) igual a 0𝑟𝑎𝑑/𝑠. Na tabela 5 pode-ser encontrar os parâmetros
fixos e variáveis utilizados.

Tabela 5 – Parâmetros que são manipulados no modelo durante a busca do algoritmo.

Parâmetro Tipo Condição Valor


𝑋𝑒 – Posição em 𝑋 Estado Fixo 0
𝑍𝑒 – Posição em 𝑍 Estado Fixo −3, 05 × 103 𝑚
𝜃 – Ângulo de arfagem Estado Variável -
𝑈 – Velocidade em 𝑋 Estado Fixo 984𝑚/𝑠
𝑤 – Velocidade em 𝑍 Estado Variável 𝑤 = 𝑈 × tan 𝜃
𝑞 – Velocidade de arfagem Estado Fixo 0
𝛿𝑒 – Deflexão do profundor Entrada Variável -
𝛿𝑇 – Empuxo Entrada Variável -
Fonte: autor.

Foram precisas algumas modificações para que a função set_param reconhecesse os


vetores de alguns estados, como pode ser visto no algoritmo evaluateAirframe.m. Usou-se
algumas funções como ’strcat’ e ’num2str’ para que os valores ficassem no formato padrão
como string.
A métrica de erro adotada foi da soma dos quadrados dos valores a serem mini-
mizados (acelerações) - Equação 3.4, que é composta pelos estados da tabela 6.

𝐽 = 𝑞˙2 + 𝑤˙ 2 + 𝑈˙ 2 (3.4)

1
Veja que no eixo terrestre a sua origem se dá na superfície do planeta e o eixo 𝑍 fica apontado para
o centro de gravidade, logo o espaço de voo com a altura acima da superfície é descrito com valores
negativos.
Capítulo 3. Estudo de caso 40

Tabela 6 – Estados que compõe a métrica de erro.

Estado Unidade
𝑞˙ – Aceleração de arfagem 𝑟𝑎𝑑/𝑠2
𝑤˙ – Aceleração em 𝑍 𝑚/𝑠2
𝑈˙ – Aceleração em 𝑋 𝑚/𝑠2
Fonte: autor.

Como visto no algoritmo fminconAirframe os valores de 𝜃 e 𝛿𝑒 podem variar entre


−0, 1𝑟𝑎𝑑 e +0, 1𝑟𝑎𝑑 (aprox. −5, 7∘ e 5, 7∘ ) e o empuxo 𝛿𝑇 entre 6 e 10𝑘𝑁 . Ao rodar o
programa com o tempo de simulação igual a 0 segundos, o mesmo encontrou como o
melhor resultado a métrica de erro da (3.4) 𝐽 = 1, 193252 × 10−6 , usando para resultar
nessa métrica as condições iniciais e entradas da tabela 7.

Tabela 7 – Tabela com os valores encontrados de condições iniciais e entrada para a exi-
gência de trimagem especificada.

Parâmetro Valor
𝑋𝑒 – Posição em 𝑋 0
𝑍𝑒 – Posição em 𝑍 −3, 05 × 103 𝑚
𝜃 – Ângulo de arfagem 7, 6686 × 10−3 𝑟𝑎𝑑
𝑈 – Velocidade em 𝑋 984𝑚/𝑠
𝑤 – Velocidade em 𝑍 7, 54𝑚/𝑠
𝑞 – Velocidade de arfagem 0𝑟𝑎𝑑/𝑠
𝛿𝑒 – Deflexão do profundor 6, 32345 × 10−4 𝑟𝑎𝑑
𝛿𝑇 – Empuxo 7, 288 × 103 𝑁
Fonte: autor.

As acelerações encontradas para os valores da tabela 7 foram diferente de zero


(como em alguns exemplos do capítulo anterior), mas atenderam ao critério de equilíbrio
para a simulação por um tempo maior. Os seus valores podem ser vistos na tabela 8.

Tabela 8 – Valores obtidos com os algoritmos fminconAirframe.m e evaluateAirframe.m

Estado Valor
𝑞˙ −3, 558 × 10−6 𝑟𝑎𝑑/𝑠2
𝑤˙ 6, 305 × 10−4 𝑚/𝑠2
𝑈˙ 2, 051 × 10−5 𝑚/𝑠2
Fonte: autor.
Capítulo 3. Estudo de caso 41

A partir do ponto de equilíbrio obtido, foi realizada uma simulação para 10 segun-
dos com o intuito de verificar o comportamento da aeronave durante esse tempo. Com
base nos resultados da simulação foram plotados alguns gráficos que auxiliam no visua-
lização da resposta do sistema. Na figura 20 pode-se ver o gráfico referente a posição 𝑍
que mesmo com uma pequena variação dos valores máximos e mínimos de altitude (eixo
𝑦), a aeronave manteve a sua posição inicial de 3.050𝑚 constante.

Figura 20 – Altitude obtida pela simulação de 10 segundos do modelo da aeronave

Fonte: autor.

Como a aeronave esta em movimento longitudinal com velocidade positiva cons-


tante, é sabido que sua posição será um reta crescente, como mostra o gráfico de posição
𝑋 da figura 21. O gráfico em reta comprova que a variação da velocidade em 𝑋 foi nula,
uma vez que a posição demonstra uma variação linear.
Capítulo 3. Estudo de caso 42

Figura 21 – Posição ao longo do eixo 𝑥 obtida pela simulação de 10 segundos do modelo


da aeronave

Fonte: autor.

Para um voo reto é necessário que o seu ângulo de arfagem (𝜃) não varie, o que
acarretaria uma mudança de posição do vetor velocidade e consequentemente uma mu-
dança de atitude da aeronave. A gráfico do ângulo de arfagem da figura 22 mostra que
não houve variação desse ângulo para o intervalo de 10 segundos.
Capítulo 3. Estudo de caso 43

Figura 22 – Ângulo de arfagem obtido pela simulação de 10 segundos do modelo da ae-


ronave

Fonte: autor.

Também foram plotados os gráficos para acelerações e velocidades. Na figura 23


vê-se os gráficos de velocidade e aceleração angular, ambos com variações muito pequenas
(na ordem de 10−6 ).
Capítulo 3. Estudo de caso 44

Figura 23 – Velocidade e aceleração de arfagem obtido pela simulação de 10 segundos do


modelo da aeronave

Fonte: autor.

A figura 24 mostra os gráficos de velocidade e aceleração no eixo 𝑍 que têm


valores praticamente constantes, com a aceleração iniciando próxima de 6 × 10−4 𝑚/𝑠2 e
convergindo para zero rapidamente.
Capítulo 3. Estudo de caso 45

Figura 24 – Velocidade e aceleração do eixo Z obtido pela simulação de 10 segundos do


modelo da aeronave

Fonte: autor.

No gráfico de velocidade e aceleração do eixo 𝑋 que pode ser visto na figura 25


tem-se a velocidade constante ao londo de toda a simulação e a aceleração variando na
ordem de 10−5 𝑟𝑎𝑑/𝑠2 .
Capítulo 3. Estudo de caso 46

Figura 25 – Velocidade e aceleração do eixo X obtido pela simulação de 10 segundos do


modelo da aeronave

Fonte: autor.

A partir dos gráficos e dos valores mostrados, pode-se concluir que esse ponto
encontrado pelo programa foi de fato um ponto de equilíbrio do sistema, uma vez que se
pode ver que a aeronave voo com altitude e velocidades constantes, com suas acelerações
muito próximas de zero.
47

4 Considerações finais

4.1 Conclusão
Os resultados obtidos através do algoritmo de força bruta foram satisfatórios, uma
vez que quase todos os pontos de equilíbrio encontrados obtiveram uma aceleração igual a
zero. Alguns diferiam disso em uma ordem muito pequena, o que pode ser explicado como
uma imprecisão do programa. Através da analise dos gráficos dos exemplos do fmincon
com o sistema mecânico rotativo, pode-se ver que a simulação retornou os pontos de
equilíbrio corretamente, o que é corroborado pela aceleração mantida em zero e a posição
crescendo linearmente ao longo do tempo simulado.
Para o modelo do sistema aeronáutico, com os resultados obtidos e dos gráficos
plotados, pode-se ver que a aeronave se mantém estável e em voo reto ao longo do tempo
de simulação apesar dos valores das acelerações divergirem de zero. Sendo assim, um
ponto de equilíbrio desse sistema foi encontrado para os requisitos de altura e velocidade
pré-estabelecidos.

4.2 Trabalhos futuros


Ressalta-se a importância da continuação dos estudos presentes nesse trabalho,
como a linearização e o controle do modelo scdairframe.
48

Referências

ASTRöM, K. J.; MURRAY, R. M. Feedback Systems - An Introduction for Scientists


and Engineers. [S.l.]: Princeton University Press, 2007. Citado na página 15.

BEARD, R. W.; MCLAIN, T. W. Small Unmanned Aircraft. [S.l.]: Princeton University


Press, 2012. Citado 2 vezes nas páginas 31 e 33.

CLOSE, C. M.; FREDERICK, D. K.; NEWEL, J. C. Modeling and analysis of dynamic


systems. 3. ed. [S.l.]: Wiley, 2002. Citado na página 15.

COOK, M. V. Flight Dynamics Principles. [S.l.]: Elsevier Ltd., 2013. Citado na página
32.

FRANKLIN, G. F.; POWELL, J. D.; EMAMI-NAEINI, A. Feedback Control of Dynamic


Systems. 4. ed. Upper Saddle River: Prentice-Hall, 2002. Citado na página 15.

LJUNG, L.; GLAD, T. Modeling of Dynamic Systems. [S.l.]: Prentice Hall, 1994. Citado
na página 15.

LYAPUNOV, A. M. The general problem of the stability of motion. Int. J. Control 55,
p. 531–773, 1992. Traduzido para o inglês por A. T. Fuller. Citado na página 16.

MARCO, A. D.; DUKE, E. L.; BERNDT, J. S. A general solution to the aircraft trim
problem. AIAA Modeling and Simulation Technologies Conference and Exhibit, 2007.
Citado na página 16.

MATHWORKS. fmincon. 2017. Acessado em: 24/02/2018. Disponível em: <https:


//www.mathworks.com/help/optim/ug/fmincon.html>. Citado na página 26.

NELSON, R. C. Flight Stability and Automatic Control. [S.l.]: McGraw-Hill Education,


1997. Citado na página 36.

OXFORD, D. Definition of system. 2018. Acessado em: 22/02/2018. Disponível em:


<https://en.oxforddictionaries.com/definition/system>. Citado na página 15.

Você também pode gostar