Você está na página 1de 61

UNIVERSIDADE DO RIO GRANDE DO NORTE FEDERAL

UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE


CENTRO DE TECNOLOGIA
PROGRAMA DE PS-GRADUAO EM ENGENHARIA ELTRICA
Controlador de VANT do tipo helicptero
baseado em redes neurais articiais
Antnio Pricles Bonm Saraiva de Oliveira
Orientador: Prof. Dr. Luiz Marcos Gonalves
Dissertao de Mestrado apresentada ao
Programa de Ps-Graduao em Engenharia
Eltrica e de Computao da UFRN (rea de
concentrao: Engenharia de Computao)
como parte dos requisitos para obteno do
ttulo de Mestre em Cincias.
Nmero de ordem PPgEE: M000
Natal, RN, Julho de 2012
Resumo
Prope-se a criao de um controle neural (neurocontrolador) baseado na aprendiza-
gem supervisionada, com uma rede neural articial (RNA), sem a modelagem por espao
de estados, utilizando o Flightgear como simulador e ambientes de testes integrado com
mdulos de coleta de dados e controle. Diversas arquiteturas da RNA foram testadas a
m de que as mesma tivesse a eccia pretendida nos diversos procedimentos (decola-
gem, pairagem, deslocamento e pouso). Testes com as RNA treinadas foram realizados
at que fosse encontrada uma pudesse gerar as respostas necessrias atendendo aos requi-
sitos de ecincia e estabilidade necessrios ao controle do VANT.
Palavras-chave: Aprendizagem supervisionada, VANT, rede neurais articias, neuro-
controlador, Flightgear.
Abstract
We propose the creation of a neural control (neurocontroler) based on supervised le-
arning, with an articial neural network (ANN), without the state space modeling using
Flightgear as the simulator and test environments with integrated modules for data col-
lection and control. Several ANN architectures were tested in order that the same had the
desired efcacy in various procedures (takeoff, hover, displacement and landing). Testing
with the trained ANN were performed until it was found one could generate the necessary
responses meeting the requirements of efciency and stability necessary to control the
UAV.
Palavras-chave: supervised learning, UAV, articial neural network, neurocontroler,
Flightgear.
Sumrio
Sumrio i
Lista de Figuras iii
Lista de Tabelas v
1 Introduo 1
1.1 O que fez . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Como fez . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3 Aplicaes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.4 Estrutura da dissertao . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2 Background 4
2.1 Controles de vo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.2 Redes neurais articiais . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3 Estado da Arte 16
3.1 Trabalhos relacionados . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.2 Tabela comparativa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.3 Destaques do trabalho . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
4 Problema e Soluo 23
4.1 Formulao matemtica do aprendizado do controle de vo . . . . . . . . 25
5 Implementao 27
5.1 Apresentao do simulador . . . . . . . . . . . . . . . . . . . . . . . . . 27
5.2 Diagrama de mdulos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
5.3 Detalhamento do mdulo de controle . . . . . . . . . . . . . . . . . . . . 28
5.4 Detalhamento do caminho de dados (entrada/sada) . . . . . . . . . . . . 30
i
6 Experimentos e Resultados 33
6.1 Coleta de dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
6.2 Entrada da rede neural . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
6.3 Variaes da arquitetura e tempo de treinamento . . . . . . . . . . . . . . 39
6.4 Imagens e vdeos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
7 Concluso 46
7.1 Resultado das observaes . . . . . . . . . . . . . . . . . . . . . . . . . 46
7.2 O que foi feito e aplicaes . . . . . . . . . . . . . . . . . . . . . . . . . 47
7.3 Trabalhos futuros - aprendizagem por reforo (combinao) . . . . . . . 48
Referncias bibliogrcas 50
Lista de Figuras
1.1 Ciclo de treinamento e teste da arquitetura. . . . . . . . . . . . . . . . . . 2
2.1 Graus de liberdade: Deslocamento e Rotao. . . . . . . . . . . . . . . . 4
2.2 Modelo de corpo rgido. . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.3 Arquitetura de RNA - Rede alimentada adiante. . . . . . . . . . . . . . . 9
2.4 Arquitetura de RNA - Rede alimentada adiante com camada oculta. . . . 9
2.5 Arquitetura de RNA - Rede recorrente. . . . . . . . . . . . . . . . . . . . 10
2.6 Modelo de um neurnio no-linear. . . . . . . . . . . . . . . . . . . . . . 11
2.7 Classicao de pontos. . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.8 Funo de aproximao - amostras de treinamento. . . . . . . . . . . . . 14
2.9 Composio de uma funo de aproximao. . . . . . . . . . . . . . . . 15
2.10 Composio nal da funo de aproximao. . . . . . . . . . . . . . . . 15
4.1 Comparao das respostas da rede neural. Eixo X. . . . . . . . . . . . . . 24
4.2 Diagrama de blocos de identicao de sistema. . . . . . . . . . . . . . . 25
4.3 Diagrama de blocos de identicao de sistema inverso. . . . . . . . . . . 25
5.1 Mdulos de dinmica do FlightGear . . . . . . . . . . . . . . . . . . . . 28
5.2 Integrao do FlightGear com um FDM . . . . . . . . . . . . . . . . . . 29
5.3 Caminho de dados - Mdulo de coleta. . . . . . . . . . . . . . . . . . . . 30
5.4 Caminho de dados - Mdulo de Controle. . . . . . . . . . . . . . . . . . 31
5.5 Contedo parcial dos arquivos de protocolo. . . . . . . . . . . . . . . . . 32
6.1 Coleta de dados: Reposta do piloto. . . . . . . . . . . . . . . . . . . . . 34
6.2 Anlise da resposta do piloto. Eixo X. . . . . . . . . . . . . . . . . . . . 35
6.3 Resposta do piloto. Eixo Y. . . . . . . . . . . . . . . . . . . . . . . . . . 36
6.4 Resposta do piloto. Eixo Z. . . . . . . . . . . . . . . . . . . . . . . . . . 37
6.5 Aprendizagem com professor. . . . . . . . . . . . . . . . . . . . . . . . 38
6.6 Comparativo da resposta das sadas da RN. . . . . . . . . . . . . . . . . 38
6.7 Comparativo entre a menor e maior RN. . . . . . . . . . . . . . . . . . . 39
6.8 Comparativo detalhado 1. . . . . . . . . . . . . . . . . . . . . . . . . . . 40
iii
6.9 Comparativo detalhado 2. . . . . . . . . . . . . . . . . . . . . . . . . . . 41
6.10 Comparativo detalhado 3. . . . . . . . . . . . . . . . . . . . . . . . . . . 41
6.11 Diferena entre as respostas das RN. . . . . . . . . . . . . . . . . . . . . 42
6.12 Tempo de treinamento - Mdia. . . . . . . . . . . . . . . . . . . . . . . . 42
6.13 Tempo de treinamento - Varincia. . . . . . . . . . . . . . . . . . . . . . 43
6.14 Tempo de treinamento - Desvio padro. . . . . . . . . . . . . . . . . . . 43
6.15 Tempo de treinamento das redes neurais. . . . . . . . . . . . . . . . . . . 44
6.16 FDM baseado em C++. . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
7.1 Treino recursivo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Lista de Tabelas
2.1 Variveis de Estado (modelo de corpo rgido) . . . . . . . . . . . . . . . 5
3.1 Tabela comparativa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
6.1 Tempo de treinamento de RN com arquiteturas diferentes. . . . . . . . . 44
v
Captulo 1
Introduo
1.1 O que fez
A criao de um controlador para um VANT (veculo areo no-tripulado) passa pelo
estgio inicial de modelagem e estende-se at os ajustes do prprio controlador para com
a planta. O desenvolvimento de um controlador que no utiliza tais etapas necessita de
uma abordagem baseado em rede neural articial (RNA). Procedimentos de decolagem,
deslocamento, pairagem e pouso necessitam de controles estveis, robustos e ecazes.
Devido natureza do VANT de ser no-linear, MIMO (Multiple Input Multiple Output)
e ter a caracterstica de forte acoplagem cruzada atravs de diferentes variveis de estado
[15], controles tradicionais demandam considervel tempo para sua contruo e tais con-
troles no podem ser intercambiados entre outros modelos de VANT, sendo necessrio
uma nova modelagem.
Testes que possam garantir que um determinado controlador esteja ajustado e atenda
aos requisitos de estabilidade, robustez e eccia, para um determinado VANT, atual-
mente so realizados em simuladores e posteriormente com testes em campo para ajustes
mais especcos. O uso de simuladores visa a reduo de custos e reduo do tempo de
testes. A demanda pela integrao do simulador com o mtodo de testes dos controles
se faz importante na medida que o ambiente completo de simulao e testes tenha ca-
pacidade de armazenar dados para posterior anlise. A possibilidade de reproduzir um
mesmo ambiente para que diversos controladores possam ser comparados uma caracte-
rstica obrigatria e naturamente desejvel visto que podemos realizar testes comparati-
vos no mesmo ambiente. As variaes observadas dever-se-o particulariedades de cada
controle e no do ambiente.
1
CAPTULO 1. INTRODUO 2
Piloto
Real
Dados de
telemetria
Definio da
Arquitetura
Testes no
Simulador
Anlise dos
Procedimentos
Treino da
RNA
Figura 1.1: Ciclo de treinamento e teste da arquitetura.
1.2 Como fez
A primeira demanda neste trabalho foi a coleta de dados de um piloto real realizando
diversos procedimentos (decolagem, deslocamento, pairagem e pouso), para o treino da
RNA que originaria o neurocontrolador. Estes dados forma coletados com um piloto real
realizando diversos procedimentos no simulador. Um mdulo de coleta de dados foi cri-
ado para que os dados de telemetria (tanto do piloto real quanto do simulador) fossem
armazenado para posterior anlise e treino na RNA. Uma vez que tais dados foram anali-
sados e ltrados, a RNAfoi treinada. Aps o treino da primeira RNAe testes no simulador
com o neurocontrolador (mdulo de controle), cou evidente, atravs dos experimentos,
que seria necessrio ajustes na arquitetura da RNA pois a mesma no estava gerando as
respostas necessrias e satisfatrias. Diversas arquiteturas foram testadas com diferentes
quantidades de camadas ocultas e cada camada com diferentes quantidades de neurnios
articiais. Uma determinada arquitetura foi treinada e com esta rede foram realizados
testes. Este ciclo de treino-teste foi realizado at que uma arquitetura para a RNA gerasse
respostas estveis e ecazes para os procedimentos (decolagem, deslocamento, pairagem
e pouso) do VANT no simulador (gura 1.1).
1.3 Aplicaes
Com este trabalho geraremos subsdios para desenvolvimento de neurocontroladores
atravs de um ambiente simulado, testes em modelos distintos de VANT e a capacidade de
realizar testes comparativos (usando o mesmo ambiente controlado para todos os testes)
CAPTULO 1. INTRODUO 3
entre controladores tradicionais e diversos outros mtodos de controle relatados [1] que
seriam : LQBA, H
2
, H

, -syntesis, inverso dinmica, linearizao de entrada-sada,


controle no-linear H

, atness differential, sliding mode, backstepping, controlador fuzzy


e controle baseado em rede neural articial (RNA). O ultimo mtodo sendo o foco deste
trabalho.
1.4 Estrutura da dissertao
No captulo 1 desta dissertao apresentamos o background terico. Demonstramos a
modelagem de um VANT e a representao de espao de estados do mesmo assim como a
dinmica do modelo de corpo rgido do mesmo. Ainda neste captulo fazemos referncia
teoria das redes neurais articiais e os modelos de aprendizagem.
O estado da arte, disposto no captulo 2, baseado em um conjunto de artigos, nos
prov o embasamento necessrio para direcionar o foco deste trabalho na criao de um
controlador neural sem a necessidade da modelagem do sistema. Tambm apresentamos
um comparativo com tais trabalhos.
O captulo 3 relaciona o conjunto de problemas derivados da busca para a construo
do controle neural, a contruo da arquitetura da rede neural e as solues encontradas
para tais problemas.
A implementao dos mecanismos que possibilitaram os objetivos deste trabalho fos-
sem alcanados est disposto no captulo 4. O detalhamento da arquitetura utilizada para
a integrao do mdulo de coleta de dados e o mdulo de controle para com o simulador
(Flightgear) consta neste captulo.
Os dados gerados pelos experimentos dos mdulo de coleta de dados, mdulo de
controle e a interao com o simulador, foram analisada de forma criteriosa para atender
aos objetivos de ecincia e estabilidade. Esta anlise de dados encontra-se no captulo 5.
Captulo 2
Background
2.1 Controles de vo
Os sistemas de controle de vo de uma aeronave baseiam-se nos controles no-lineares
dos 6 graus de liberdade (Degree of Freedom - DOF) e podem envolver diversos nveis
de modelagem [23] [13]. Os graus de liberdade so os deslocamentos e as rotaes nos
eixos x, y e z conforme visto na gura 2.1.
As orientaes de um VANT em termos aeronuticos e em termos de ngulos, nos
eixos xyz, so denominados de rolagem, arfagem e guinada [3].
Pela teoria de controle moderna necessrio um processo de modelagem matemtica
que condense as caractersticas de um objeto em um conjunto de equaes com o pro-
psito de determinar de maneira precisa o estado do sistema a qualquer tempo e assim
efetivamente gerar os sinais de controles adequados. Utiliza-se a representao de espao
de estados. Esta representao se faz necessria devido complexidade crescente dos
sistemas de controle atuais que tem a necessidade de abranger as crescentes e rigorosas
exigncias de desempenho de controle, aumentado assim a complexidade dos sistemas
que geralmente contm multiplas entradas e sadas e variante no tempo [30].
Para a modelagem no espao de estados so necessrio estruturas que modelem mate-
Guinada
Arfagem Rolagem
X
Z
Y
X
Z
Y
Figura 2.1: Graus de liberdade: Deslocamento e Rotao.
4
CAPTULO 2. BACKGROUND 5
maticamente o objeto. Variveis de estado, que constituem o menor conjunto de variveis
capaz de determinar o estado de um sistema dinmico, vetor de estado, que agrupa as
variveis de estado para determinar univocamento o estado de um sistema para qualquer
instante de tempo, equao de espao de estados que agrupa em um conjunto de equaes
e que caracteriza completamente um sistema com suas variveis de entrada, as variveis
de sada e as variveis de estado [30].
Varivel Denio
x Coordenada norte no frame inercial
y Coordenada leste no frame inercial
h Altitude no frame inercial
u Velocidade do frame do corpo medido ao longo de x
b
v Velocidade do frame do corpo medido ao longo de y
b
w Velocidade do frame do corpo medido ao longo de z
b
ngulo de rolagem no frame inercial
ngulo de arfagem no frame inercial
ngulo de guinada no frame inercial
p Razo de rolagem no frame do corpo
q Razo de arfagem no frame do corpo
r Razo de guinada no frame do corpo
Tabela 2.1: Variveis de Estado (modelo de corpo rgido)
Como exemplo de modelagem, temos o estudo de um controle de vo timo para um
VANT autnomo [23]. Inicialmente foi denido que algumas caractersticas do modelo de
corpo rgido so necessrias. Equaes de movimento so usadas para simular a dinmica
do modelo de corpo rgido. As variveis de estado esto denidas na tabela 2.1. As
foras aerodinmicas so as funes de ngulo de ataque e ngulo de deslocamento lateral
denotados por e respectivamente. Ovetor de velocidade inercial pode ser representado
por u, v e w ou , e a velocidade V. A relao entre (V, , )
T
e (u,v,w)
T
dador por:
(u v w)
T
= (Vcoscos Vsin Vsincos) (2.1)
_
_
_
V

_
_
_
=
_
_
_
_

u
2
+v
2
+w
2
tan
1
(w/u)
tan
1
_
v/

u
2
+v
2
_
_
_
_
_
(2.2)
Se V = (u, v, w)
T
e = (p, q, r)
T
as equaes de movimento podem ser escritas como:
CAPTULO 2. BACKGROUND 6
_
_
_
x
y

h
_
_
_
=
_
_
_
cc ssccs csc+ss
cs sss+cc csssc
s sc cc
_
_
_

_
_
_
u
v
w
_
_
_
(2.3)

V = (V +F)/m (2.4)
_
_
_

_
_
_
=
_
_
_
1 st ct
0 c s
0 ss cs
_
_
_
_
_
_
p
q
r
_
_
_
(2.5)
= I
1
(I+G) (2.6)
Assumindo que as foras e torques trabalham em um VANT so primeiramente de 3
origens.
F = F
g
+F
g
+F
t
(2.7)
G = G
a
(2.8)
Onde F
g
a fora gravitacional, F
a
a fora aerodinmica, G
a
o torque aerodinmico e
F
t
o empuxo que so dados respectivamente por:
F
g
=
_
_
_
mgsin
mgcossin
mgcoscos
_
_
_
(2.9)
F
a
= 1/2V
2
S(C
Xt
C
Yt
C
Zt
)
T
(2.10)
F
t
= (T, 0, 0)
T
(2.11)
G
a
= 1/2V
2
S(bC
Lt
c C
Mt
bC
Nt
)
T
(2.12)
Onde a densidade do ar, C
Xt
,C
Yt
,C
Zt
,C
Lt
,CMt,C
Nt
so os coecientes aerodin-
micos. Desta forma realizamos a modelagem matemtica para um modelo de corpo rgido
[23].
muito difcil obter um controle timo de 6 DOF do modelo de corpo rgido pela
CAPTULO 2. BACKGROUND 7
V
x
b
u
w
v
q
r
p
z
b
y
b
Figura 2.2: Modelo de corpo rgido.
resoluo de problemas de valores limitantes de dois pontos por causa das 4 variveis
de controle (deetor do estabilizador horizontal, deetor do aileron, deetor do rudder e
empuxo total do motor). Para obter sucesso na contruo de um controle timo, utiliza-se
3 varivies ou menos. Para tanto necessrio a utilizao de um modelo de ponto de
massa com 3 variveis de controle (ngulo de ataque, ngulo de toro e empuxo total do
motor). Este modelo tambm foi desenvolvido em [23].
Semelhante a outros modelos, se a seqncia da parametrizao no for altera, a mo-
delagem matemtica se faz efetiva e vlida para estes modelos onde a parametrizao
no foi alterada. Um conjunto de controles, poderiam ser derivados para proceder as
correes necessrias na planta observada e assim, gerar efetivamente as aes/controles
necessrias. Se ocorrer a mudana na parametrizao ser necessrio uma nova modela-
gem matemtica. Se existir um conjunto de n plantas idnticas a serem controladas e cada
uma destas planta apresentar uma parametrizao diferente, o processo de modelagem
dever ser refeito para cada uma das n plantas.
2.2 Redes neurais articiais
Uma rede neural articial (RNA) um modelo computacional que possui inspirao
no sistema nervoso dos organismos vivos. As unidades de processamento de uma RNA
so os neurnios articiais que tem a capacidade de adquirir e reter a informao. Estas
unidades esto interconectadas entre si simulando articialmente as sinapse existentes em
organimos vivos.
Algumas caractersticas das RNA so:
Adaptao por experincia ajustando os pesos sinpticos (parmetros internos) da
CAPTULO 2. BACKGROUND 8
rede, usando exemplos para gerar o aprendizado. Desta forma, a RNA pode adquirir
conhecimento atravz de um conjunto de exemplos de treinamento.
Generalizao do conhecimento adquirido visando a estimao de novas solues.
Aprendizado proveniente do conjunto de treinamento, estabelecendo assim relaes
entre as variveis.
A aplicabilidade das RNA estende-se por diversos campos relacionados s engenha-
rias e cincias com uma grande abrangncia devido as caracteristicas de:
Aproximador universal de funes que faz o mapeamento do relacionamento fun-
cional entre as variveis do sistema com origem dos dados
Controle de processos com o objetivo de identicar as aes que controlam a planta
com a meta de qualidade, ecincia e estabilidade.
Sistemas de previso que visam estimar valores futuros com base nas observaes
prvias da entrada de dados.
Otimizao de sistemas que consistem em minimizar/maximizar uma funo custo
em um problema com restries.
"Os neurnios articiais utilizados nos modelos de RNA so no-lineares, fornecem
sadas tipicamente contnuas, (...) coletar sinais existentes em suas entradas, agreg-los
de acordo comsua funo operacional e produzir uma resposta, levando emconsiderao
sua funo de ativao inerente"[35].
O arranjo dos neurnios articiais em uma estrutura comumente chamada de arqui-
tetura. A composio estrutural de uma arquitetura, denida como topologia. Podemos
ter duas topologias pertencentes a uma mesma arquitetura, uma com funo de ativao
logstica para 20 neurnios articiais e outra com funo de ativao tangente hiperblica
para outros 10 neurnios articiais. Geralmente classicam-se as RNA quanto arquite-
tura em trs classes [16]:
Redes alimentas adiante com camada nica. Consiste da forma mais simples de
uma RNA em camadas. Existe uma camada de entrada que esta totalmente conec-
tada camada de sada. Esta rede estritamente do tipo alimentada adiante ou
acclica. Recebe a designao de rede de camada nica (gura 2.3).
Redes alimentas adiante com mltiplas camadas. Adicionalmente s camadas de
entrada e sada, possui um conjunto denominado de oculto que pode possuir uma
ou mais camadas com neurnios articiais. Na gura 2.4 existem as camadas de
entrada, sada e oculta. Acamada oculta possui uma nica camada com3 neurnios,
a camada de sada possui 2 neurnios e a camada de entrada possui 5 ns de entrada.
CAPTULO 2. BACKGROUND 9
Entrada Sada
Figura 2.3: Arquitetura de RNA - Rede alimentada adiante.
Entrada Sada Ocultos
Figura 2.4: Arquitetura de RNA - Rede alimentada adiante com camada oculta.
Redes recorrentes. Caracterizam-se por possuir um lao de realimentao, podendo
possuir camadas ocultas. A gura 2.5 nos mostra uma rede recorrente sem camada
de neurnios ocultos. Os elementos z
1
so denomidados de elementos de atraso
unitrio e tem como funo fornecer uma realimentao para uma nova entrada na
RNA.
Uma RNA possui a camada de entrada, camadas escondidas e a camada de sada.
A camada de entrada tem funo de proceder o recebimento de informaes do ambi-
ente. Esta informaes podem ser dados, sinais ou medies. A camada escondida tem
a reponsabilidade de extrair as caractersticas associadas ao processo ou sistema a ser in-
ferido [35]. A camada de sada responsvel pela apresentao dos resultados nais da
rede proveniente das camandas anteriores. Os clculos realizados por toda a rede neural
so extrados e apresentados na sada.
Um dos fatos mais relevantes em uma RNA se faz presente na capacidade de apren-
dizagem decorrente do conjunto de treinamento. Uma vez que a RNA tenha aprendido
o relacionamento dos dados de entrada com os dados de sada, ser possvel generali-
zar e apresentar sadas (mesmo que aproximadas) para novos sinais apresentados em sua
CAPTULO 2. BACKGROUND 10
Z
-1
Z
-1
Z
-1
Z
-1
Figura 2.5: Arquitetura de RNA - Rede recorrente.
entrada. O treinamento de uma RNA uma tarefa de ajuste de pesos sinpticos com na-
lidade de adequar a estrutura da rede de acordo com as entradas da base de treinamento
e gerar as sadas adequadas. A tarefa de ajustar os pesos sinpticos e a funo limiar
(funo de ativao) chamada de treinamento da RNA e utiliza um algoritmo de apren-
dizagem para realizar estes ajustes. A maneira com que os neurnios articiais de uma
RNA esto estruturados esta intimamente relacionado com o algoritmo de aprendizagem
utilizado para trein-la [16].
Na abordagem da aprendizagem supervisionada temos um conjunto de sinais de en-
trada e as respectivas sadas. Estes dados de treinamento que fazem o mapeamento de
entrada e sada tem que ser conhecidos a priori. Uma amostra de treinamento formada
pelos sinais de entrada e sada. Os pesos sinpticos e limiares so ajustados pela utilizao
do algoritmo de aprendizagem que realiza ajustes utilizando o erro gerado pela diferena
do valor desejado e do valor calculado pela RNA.
Com a apresentao dos conjunto de treinamento, a RNA aprende e comea a gerar er-
ros de sada cada vez menores. Quando estes erros estiverem dentro de uma faixa especi-
cada ou aceitvel, a rede ser considerada treinada. A primeira estratgia de treinamento
supervisionado foi proposta em 1949 por Donald Hebb, cuja inspirao proveniente da
neurosiologia [Hebb,1949].
Na aprendizagem supervionada, a imposio do professor envolve substituir a sada
real de um neurnio, durante o treinamento da rede, pela resposta correspondente na
computao subsequente do comportamento dinmico da rede. Embora a imposio do
professor seja descrita para o algoritmo ARTR (Aprendizagem recorrente em tempo real),
o seu uso aplica-se a qualquer outro algoritmo de aprendizagem [16].
A unidade bsica da RNA o perceptron idealizado por Rosenblatt (1958). O dia-
grama da gura 2.6 nos mostra o modelo de um neurnio. Os trs elementos bsicos de
um neurnio articial para um projeto de RNA so:
CAPTULO 2. BACKGROUND 11
x
1
x
1
x
m
x
2
w
k1
w
k2
w
km
+
Bias
b
k
v
k Sada
y
k
Funo de ativao
f(
.
)
Pesos sinpticos
Juno aditiva
Figura 2.6: Modelo de um neurnio no-linear.
O conjunto de sinapses ou elos de conexo que, individualmente, possui um peso
e denotado por w
k1
, w
k2
, ..., w
km
. Os pesos sinpticos iro ponderar os valores da
entrada (x
1
, x
2
, ..., x
m
) para a juno aditiva.
O somador agrega os valores de cada peso sinptico com sua respectiva entrada e
denominado de combinador linear.
A funo de ativao limita a amplitude do sinal proveniente do combinador linear
e ativa ou no a sada do neurnio.
Alm do conjunto sinptico da gura 2.6 inclui-se um bias que tem um valor xo e
representado por b
k
.
Matematicamente um neurnio k escrito por um par de equaes[16]:
u
k
=
m

j=1
w
k j
x
j
(2.13)
e
y
k
=(
v
k
..
u
k
+b
k
) (2.14)
Onde x
1
, x
2
, ..., x
m
so as entradas, w
1
, w
2
, ..., w
km
so os pesos sinpticos do neurnio
k, u
k
a sada do combinador linear, b
k
o bias, () a funo de ativao e y
k
o sinal
de sada do neurnio. v
k
o campo local induzido ou potencial de ativao v
k
.
A sada y
k
obtm o resultado diretamente da funo de ativao. A sada da funo
de ativao gera o valor y
k
. Podemos generalizar e denir 3 tipos bsicos de funes de
ativao.
Funo de limiar. Esta funo (equao 2.15) gerar a sada do neurnio de acordo
com a equao 2.16. Onde v
k
o campo local induzido do neurnio e denido
em 2.17.
CAPTULO 2. BACKGROUND 12
(v) =
_
1, se v 0
0, se v < 0
(2.15)
y
k
=
_
1, se v
k
0
0, se v
k
< 0
(2.16)
v
k
=
m

j=1
w
k j
x
j
+b
k
(2.17)
Funo linear por partes. Funo descrita em 2.18. Esta funo tem como carac-
teristica uma aproximao de um amplicador no-linear [16].
(v) =
_

_
1, v +
1
2
v, +
1
2
> v >
1
2
0, v
1
2
(2.18)
Funo sigmide. a funo mais utilizada para uma funo de ativao em uma
RNA. Um exemplo de funo sigmide a funo logstica (equao 2.19), onde a
o parmetro de inclinao da funo sigmide. No limite, quando a aproxima-se
do innito, a funo torna-se uma funo limiar.
(v) =
1
1+exp(av)
(2.19)
Aaprendizagem de uma RNA o processo de aprender apartir do ambiente e melhorar
seu desempenho [16]. Matematicamente o ajuste do peso sinptico de cada perceptron.
Este ajuste realizado comparando-se a sada do neurnio com o valor desejado. Uma di-
ferena calculada e o peso sinptico ajustado a cada interao. Se no existir diferena
no realizado ajuste e a sada do neurnio gerou uma informao adequada, usando os
dados de entrada.
Como exemplo vamos tormar uma RNA que tem como nalidade classicar pontos
no sistema cartesiano 2D em classe 1 ou classe 2 conforme a gura 2.7-a. Se um ponto
azul for classicado pela RNA como sendo da classe 1, a rede acertou a classicao e
no necessita de ajuste nos pesos sinpticos. Entretanto se um ponto azul foi classicado
como classe 2, a rede errou na classicao e necessita de ajustes nos pessos sinpticos.
Na gura 2.7-b existem 4 classes de pontos e duas retas separando o plano em 4 reas.
Cada uma destas retas gera uma fronteira de separao e usada matematicamente para
denir a que classe cada ponto pertence. Neste exemplo, as 4 classes so linearmente
separveis pois existe uma reta capaz de separar as classes. Um perceptron que possa ser
CAPTULO 2. BACKGROUND 13
a
b
c
1
2
3
4
5
6
Classe 2
Classe 1
Classe 2
Classe 3
Classe 1
Classe 4
Figura 2.7: Classicao de pontos.
utilizado como um classicador de padres necessita que as classes sejam linearmente
separveis.
Em um estgio intermedirio de treinamento da RNA, o ajuste dos pesos sinpticos,
matematicamente reetido no ajuste do ponto de separao de cada classe, aqui re-
presentado por uma reta (gura 2.7-a). Cada ajuste dos pesos sinpticos tenta ajustar a
inclinao da reta para gerar uma reta que possa separar a classe 1 da classe 2. Na -
gura 2.7-c, a RNA poderia gerar a reta 1. Um novo exemplo de treinamento dado e
existe um erro na classicao, um novo ajuste realizado e a RNA poderia gerar a reta
6. Consecutivamente a RNA ir ger erros e acertos com o decorrer dos exemplos de
treinamento. A inclinao da reta dada pelo ajuste dos pesos sinpticos. Normalmente
a reta poder variar da reta 1 at reta 6. Quando a rede estiver com erros mnimos ou
aceitveis, a reta 3 ser encontrada como melhorer reta delimitadora e a mesma ser a
fronteira para separao das classicaes futuras entre a classe 1 e a classe 2.
Quando um problema de classicao no pode encontrar uma reta que determine
uma fronteira de separao entre classe, outros mtodos so utilizados para realizar a
classicao.
Uma RNA de mltiplas camadas comumente chamada de Perceptron de Mltiplas
Camadas (PMC) conforme a gura 2.4.
O PMC utilizado, tambm, como aproximador funcional, que consiste em mapear
o comportamento de um processo baseando-se nas medies efetivas em suas entradas e
sadas [35].
Devido a capacidade de gerar um conjunto de resultado proveniente de exem-
plos, as redes PMC torna-se uma alternativa vivel em ambientes em que os nicos
dados do ambiente so os dados de entrada e sada. Constata-se que as RNA tm
sido extensivamente aplicadas em situaes em que o processo a ser modelado de
certa forma complexo, nas quais as utilizaes de mtodos convencionais produzem
resultados insatisfatrios ou ento, naquelas situaes em que o sistema j modelado
CAPTULO 2. BACKGROUND 14
Figura 2.8: Funo de aproximao - amostras de treinamento.
se torna demasiadamente particularizado em torno de alguns pontos de operaes
que produzem solues satisfatrias [16].
A topologia das camadas escondidas de um PMC capaz de mapear qualquer funo
contnua. Em termos matemticos tempos:
y(x
1
, x
2
, ..., x
n
) =
n
1

j=1
parcela(i)
..

i
.
parcela(ii)
..
g
(1)
i
(u
(1)
1
) (2.20)
u
(1)
i
=
n

j=1
W
(1)
i j
. x
j

i
(2.21)
As equaes 2.20 e 2.21 podem gerar uma funo contnua no espao de funes
reais se a funo de ativao for contnua. As funes de ativao logstica e tangente
hiperblica so utilizadas para gerar a sada y, na sada do PMC, utilizando uma super-
posio das funes de ativao. Utilizando-se de funes de ativao logstica, podemos
gerar uma funo de aproximao para o conjunto de amostras de entrada conforme a
gura 2.8.
A proposta de gerar uma funo (ou sua aproximao) tendo um conjuto de dados
de entrada. Os neurnios articiais das camadas escondidas do PMC tero seus pesos
sinpticos ajustados a m de gerar a funo de aproximao. Cada neurnio articial,
juntamente com o seu peso sinptico, ajudar a descrever matematicamente uma parte da
funo de aproximao.
Baseando-se na gura 2.8, sendo o conjunto de pontos denidos como entrada no
PMC, devemos encontrar uma funo que realize o mapeamento do comportamento fun-
cional do processo. A base para esta aproximao a composio de uma funo que
agrupe parcelas de funes logsticas. O PMC, usando os dados referentes gura 2.8
como dados de entrada dever apresentar na sada da RNA uma funo semelhante 2.10
atravs da composio de funes demonstrado na gura 2.9.
Na gura 2.9 toda a base para a composio inicia-se com a funo logstica A.
CAPTULO 2. BACKGROUND 15
3
2
1
4
7
8
9
5
6
A
B
Figura 2.9: Composio de uma funo de aproximao.
Figura 2.10: Composio nal da funo de aproximao.
Alteraes nas funes logstica iro gerar as funes necessrias para gerar partes do
funcional de aproximao. As alteraes so realizado nos ajustes dos pesos sinpticos
e na translao da funo
i
(Equaes 2.21 e 2.20). Na gura 2.9 os neurnios
aplicam um = 0, = 6, 5 e = 5 respectivamente em 1, 2 e 3. Cada uma destas
sadas sofre inuncia de um peso sinptico de valores iguais = 0, 2, = 0, 5 e
= 0, 6 respectivamente em 4, 5 e 6. Fazendo a composio de 7, 8 e 9 teremos a funo
aproximada B. A composio realizada dentro do domnio dos neurnios da camada
oculta.
Captulo 3
Estado da Arte
3.1 Trabalhos relacionados
A compensao para incertezas em um VANT usando uma RN detalhado em [9] e
nos relata que a performance de um controle de posicionamento do tipo PD degradado
quando distrbios externos esto presentes. Uma rede neural foi utilizada para compensar
estes distrbios.
O trabalho cooperativo entre dois helicpteros no cu carregando objetos para cons-
truo de uma ponte um trabalho que os humanos no podem realizar to facilmente. A
presena de um ambiente dinmico torna necessrio um sosticado controle de fora para
o trabalho em cooperao. A adio de um controle de fora para o sistema de controle de
posicionamento auxilia com grande eccia a estabilidade quando o helicptero opera em
um ambiente dinmico. A velocidade do helicptero controlada pelo mtodo LQR (Li-
near Quadratic Regulator) e a posio controlada pelo ganho proporcional na forma de
um controle de posio do tipo PD. Adicionalmente uma RN adicionada para compensar
as incertezas provenientes de disturbios externos. Distrbios externos foram os controles
a compensar incertezas. A compensao destas incertezas realizada adicionando junto
estrutura de controle uma RN [9].
Ainda em [9], os resultados da simulao que faz o helicptero desloca-se at um
ponto x
e
do ambiente usando o controle de fora de impendncia adaptativo com com-
pensao de uma rede neural demonstra que os erros de trajetria so consideravelmente
minimizados pois a rede neural compensa as incertezas e desta forma atua melhorando o
controle de trajetria. Semelhante simulao realizada porm variando-se o distrbio
externo aplicado ao sistema. Novamente o controle com rede neural obteve um melhor
ajuste de trajetria. Conclui-se que a rede neural rejeita os distrbios e assim melhorando
a perfomance da trajetria.
O uso de um ajudante baseado em uma rede neural foco do trabalho de Krishna-
16
CAPTULO 3. ESTADO DA ARTE 17
Kumar [24] e cita que o treinamento de um piloto humano novato em um helicptero
um processo de grande risco e que consome bastante tempo. Usa-se simuladores de
vo para treinar as percepes cognitivas e psico-motoras de um aluno at que o mesmo
tenha capacidades bsicas de coordenar diferentes controles, reconhecer a dinmica da
aeronave e a dinmica dos controles utilizando as percepes visuais, de movimento e au-
ditivas. A tarefa complexa de gerenciar todos os sistemas com uma estabilidade marginal
de um helicptero minimizada com a utilizao de um instrutor. O instrutor, mesmo em
um simulador, realizar as compensaes adequadas para cada momento do vo, a m
de tornar a tarefa (pouso, decolagem ou deslocamento) mais estvel possvel, at que o
aluno tenha a capacidade de realizar estas compensaes de maneira autnoma e correta.
Geralmente o instrutor ajuda o aluno em certas condies de controle com o objetivo de
no perder o controle da aeronave. Matematicamente, o aluno realiza um conjunto de
ajustes nos controles disponveis a m de realizar as compensaes necessrias com o
intuito de manter a aeronave mais estvel possvel. Intrisicamente o aluno calcula o erro e
realiza os ajustes necessrios a m de compensar a dinmica da aeronave de acordo com
o ambiente em operao. Caso o aluno no realize as compensaes a m de promover a
estabilidade da aeronave, o instrutor intervm e faz as compensaes. O instrutor tem uma
capacidade, devido ao treinamento, de calcular melhor o erro e assim ser mais eciente
nas compensaes e alcana uma estabilidade mais rapidamente.
Um instrutor ajuda o aluno nas compensaes necessrias durante uma tarefa espec-
ca. Um ajudante virtual baseado em RN realizaria as compensaes necessrias com o
diferencial de ajuste de nveis de ajuda. Os nveis de ajuda tem como objetivo auxiliar o
aluno a desenvolver progressivamente as capacidades de controle. Quanto maior o nvel
do aluno, menos ser necessria a compensao provida pelo ajudante virtual. O treino
progressivo ajuda o aluno a enteder e adaptar-se s dinmicas do helicptero com um
baixo nvel de risco.
O desenho do treino adaptativo utizando um neurocontrolador em [24] foi dividido
em seis partes.
Denio do sistema de pairagem.
Denio da tarefa de pairagem.
Modelo neural para monitorar a performance do aluno na tarefa de pairagem.
Neuromodelagem do sistema de pairagem do helicptero.
Desenho do neurocontrolador.
Desenho de uma estrutura de RN para adaptar a sada do neurocontrolador para a
performance do aluno.
CAPTULO 3. ESTADO DA ARTE 18
A rede neural e o modelo do helicptero esto alimentando o vetor de estado atual e
o controle de entrada. A tarefa da rede neural predizer precisamente o prximo estado
do sistema. Este o problema de identicao primrio. Duas variaes de um sistema
de backpropagation foram implementados, o primeiro mtodo envolve em dar para a rede
o vetor de estado correto como entrada e esperar que a rede produza no prximo estado.
No segundo dado somente o vetor de estado inicial e realimentado a entrada com a
sada. Esta verso gera um modelo mais robusto do sistema. A rede neural faz o papel
de um ajudante para o estudante que adapta-se curva de aprendizagem do estudante. A
rede neural realiza as tarefas de monitorar a performance do estudante e adaptao de um
sistema do helicptero usando um neurocontrolador adaptativo.
A natureza no-linear dos VANTs do tipo helicptero descrito em [8] nos relata que a
dinmica essencialmente instvel e tais caractersticas no-lineares variam com a veloci-
dade do ar e altitude. Tais sistemas so do tipo MIMO (multiple input, multiple output ) e
diversos controles podem ser propostos. Controles clssicos do tipo lgica fuzzy podem
ser utilizados e facilmente construdos pois no necessitam do modelo do sistema.
Os testes de performance de rastreio de um conjunto de desenhos de controles de vo
do helicptero usando controle multivariado robusto linear, em [33], com controle lgico
fuzzy com ajuste evolucionrio e controle de rastreio no-linear, chegaram concluso
que os controles robustos e fuzzy so capazes de manipular incertezas e distrbios. Uma
RN pode ser usada no somente como um controle inteligente o qual tem capacidade ro-
busta e adaptativa mas tambm tem uma estrutura simples. Os resultados da simulao
mostram que as sadas do sistema podem responder aos sinais de entrada precisamente
em condies de vo de planagem.
Ainda em [8] arma que o helicptero um sistema complexo MIMO com correlao
altamente cruzada acoplada. A modelagem deste sistema semelhante ao modelo previa-
mente modelado na seo 2.1, pgina 4. Os resultados da simulao em [8] relata que para
um controlador PID baseado em rede neural, o ajuste de parmetros um processo impor-
tante e tedioso e porque os valores iniciais dos parmetros podem afetar a convergncia
da resposta do sistema. O procedimento de ajuste dicultado devido a acoplagem entre
as variveis de estado especialmente para os parmetros K
1
e K
2
(parmetros de ganho da
RN).
Conforme relatado em [4], o sistema de controle adaptativo de um VANT que tem
como objetivo alcanar um estado de pairar na maioria das condies. Tentativas de
usar mtodos de controle tradicionais para a contruo de leis de controle inversa para
a planta de helicpteros podem, inevitavelmente, encontrar problemas quando encarados
com a varincia temporal e natureza no-linear destes sistemas. Com isto, para diferentes
CAPTULO 3. ESTADO DA ARTE 19
modelos de vo, a dinmica, portanto, assim deve ser o modelo de aproximao linear
[27]. A necessidade de adaptao, juntamente com a necessidade de ser capaz de lidar
com estas dinmicas no ideais, tornam este problema particularmente adequado para
redes neurais e/ou controladores de lgica fuzzy [27]. O conjunto de entradas e sadas
so usados para treinar uma RN em exemplos de respostas viveis para uma variedade
de situaes de pairagem. No tocante arquitetura da rede, tipicamente, uma grande
quantidade de unidades escondidas permite melhores valores de convergncia entre as
sadas da rede e as sadas-alvo durante o treinamento. Contudo, um nmero pequeno de
unidades escondidas resulta em uma generalizao melhor quando exposta a situaes
no apresentadas durante os testes. O treinamento satisfatrio considerado como sendo
atribuveis qualidade do conjunto de treino.
Um problema comum no desenho do controle de vo de alta performance para um
VANT obter o modelo de dinmica com alta delidade[39]. Mtodos de controle de
inteligncia articial, como redes neurais, lgica fuzzy e controles fuzzy neurais tem pos-
sibilidades de alta performance sem alta sobrecarga computacional para identicar e con-
trolar sistemas dinmicos no-lineares [39]. A identicao da black box sem a integrao
do modelo fsico considerado como uma ferramenta crtica a qual mais usada para sis-
temas de controle inteligente.
O processo de treinamento usado para aproximar a planta do modelo dinmico do
helicptero foi uma RN com backpropagation como algoritmo de aprendizagem com a
funo de aproximao Levenberg-Marquardt, usado devido a sua velocidade de con-
vergncia [39] em comparao ao erro mdio quadrtico (MSE). Chegou-se concluso
que o uso de uma rede nonlinear autoregressive with exogenous inputs series-parallel
(NARXSP) como um aproximador de identicao de um sistema vlido e satisfatrio
e a identicao do modelo no necessita do clculo dos parmetros do modelo fsico.
CAPTULO 3. ESTADO DA ARTE 20
3.2 Tabela comparativa
Caracterstica [9] [24] [8] [4] [39] Nosso
Modelo Matemtico Sim Sim Sim Sim No No
Complexidade Computacional Baixo Baixo Baixo Mdio Mdio Alto
Rigidez do Modelo Alto Alto Alto Alto Alta Baixo
Portabilidade entre Modelos No No No No No Sim
Generalizao No No No No Sim Sim
Compensao de Distrbios Mdio Baixo Baixo Baixo Alto Alto
Variaes Atmosfricas No No No No No Sim
Reproduzibilidade dos Experimentos No No No No No Sim
Treinamento nico No No No No No Sim
Ajustes de PID Sim Sim Sim No No No
Complexidade de Construo Alta Alta Alta Alta Mdia Baixa
Tabela 3.1: Tabela comparativa
Caractersticas analisadas para a comparao dos trabalhos.
Modelo matemtico. necessrio o desenvolvimento de um modelo matemtico
(funes de espao de estados) para a realizao dos experimentos.
Complexidade computacional. Capacidade computacional envolvida na tarefa para
resoluo do problema, clculos envolvidos ou treinamento da rede neural. Considera-
se baixo, o baixo uso de clculos (sistemas PID) e alto, uma quantidade consider-
vel de clculos (treino de uma RN)
Rigidez do modelo. Relacionado diretamente com as funes de espao de estado
que caracteriza um modelo. A alterao nos parmetros de um modelo, obrigatori-
amente, necessita de novas funes de espao de estado. Alta rigidez caracteriza-se
por estruturao rgida no espao de estados para um modelo especco.
Portabilidade entre modelos. Igualmente relacionada com as funes de espao
de estado, uma modelagem poderia ser portada para diversos modelos de VANTs
com poucas alteraes. A rigidez do modelo e a portabilidade esto intrisicamente
atreladas pelo fato de que cada tipo/modelo de VANT, necessita de um modelo ma-
temtico para atender as necessidades de controle. Quase sempre este modelo no
pode ser portado para tipos/modelos distintos de VANTs sem grandes alteraes.
Generalizao. A generalizao tem por nalidade a capacidade do sistema de
responder a situaes no apresentadas durante a fase de treino ou congurao do
sistema. Novas situaes no apresentadas caracterizam-se pela falta de entradas
apropriadas e suas respectivas sadas para uma determinada planta.
CAPTULO 3. ESTADO DA ARTE 21
Compensao de distrbios. As entradas em um sistema de controle podem ter
variaes que so compensadas. Tais entradas podem apresentar rudo e variaes
devido a fatores externos (rajadas de vento, variaes da densidade do ar, variaes
da umidade do ar).
Variaes atmosfricas. Ambientes que possam fazer ajustes na condies atmos-
fricas para testar o sistema de controle a m de apresentar situaes de difcil
reproduo (seno impossvel) na vida real (ex: VANT orientado na direo nor-
deste a uma velocidade de 60 Km/h, em uma altitude de 1.000 metros, recebendo
rajadas de vento de forma estocstica de 15Km/h 30Km/h, na direo sul-sudoeste
descedente).
Reproduzibiliidade de experimentos. Capacidade de reproduzir um mesmo ambi-
ente de teste para realizar experimentos com ajustes distintos no sistema de controle
a m de vericar o nvel de adaptao e a reposta do sistema ao ambiente.
Treinamento nico. Uma vez que o sistema tenha sido ajustado no existe mais
a necessidade de novos ajustes. Os ajustes atendem as demandas do controle em
relao a distrbios, portabilidade e rigidez do modelo. Geralmente, ambientes
distintos necessitam de ajustes distintos para compensar as variaes impostas no
ambiente em que o VANT inserido.
Ajustes de PID. Somente as plantas que possuem o sistema de controle baseados
totalmente ou parcialmente em PID necessitam de tais ajustes. O treino de uma RN
prov a abstrao dos ajustes tornando assim desnecessrio nos controles baseados
em RN.
Complexidade de construo. A construo de um sistema de controle que com-
preenda a unio de diversos sub-sistemas complexa. Quantos menos sub-sistemas
menos complexa a contruo e por conseqncia menor a manuteno do mesmo.
3.3 Destaques do trabalho
Temos 04 (quatro) destaques para este trabalho.
1. Uso de um simulador com grande capacidade de customizao e de cdigo aberto.
Neste trabalho foi utilizado o Flightgear (FG), um simulador que tem como ponto
forte a capacidade de personalizao de praticamente todas as suas partes. Novos
mdulos podem ser adicionados utilizando uma linguagem prpria ou mdulos adi-
cionais podem ser escritos em quaisquer linguagens de programao. denido um
protocolo de comunicao entre o mdulo e o Flightgear. At mesmo este protocolo
CAPTULO 3. ESTADO DA ARTE 22
pode ser personalizado.
2. Utilizao de um sistema de controle desenvolvido em C++, MATLAB (ou quais-
quer linguagem de programao) permutveis em tempo real, altamente customi-
zado e robusto. O mecanismo de controle do VANT pode ser desenvolvido em
quaisquer linguagem de programao. A permutabilidade em tempo real deve-se
ao fato que o Flightgear recebe pacotes de dados pela pilha TCP/IP. Se um de-
terminado mdulo de controle estiver operacional, ele estar enviando pacote de
dados pela pilha TCP/IP. Assim, basta suspender o envio destes pacotes e simul-
taneamente ativar o envio de pacotes de outro mdulo. A nica obrigatoriedade
que os controladores (mdulos) respeitem o protocolo de comunicao previa-
mente estabelecido. Ainda assim existe a possibilidade de trabalhar com mais que
um protocolo simultaneamente. A robustez caracteriza-se pela possibilidade de ter-
mos dois ou mais mdulos de controles trabalhando simultaneamente. Em caso
de problema ou no funcionamento de um dos mdulos de controle, outro mdulo
assumiria o controle do VANT.
3. Utilizao de diversos modelos de VANTS e reproduzibilidade de situaes espec-
cas para diversos modelos, diversos sistemas de controle e diversos ambientes de
teste. O intercmbio entre as diversas partes do experimento com baixo tempo de
recongurao devido capacidade de personalizao do Flightgear e ao desen-
volvimento das atividades modulares. Assim, um determinado experimento pode
ser repetido diversas vezes sob as mesmas condies. Podemos especicar uma
gama extensa de parmetros. Os parmetros que geram o ambiente do simulador
podem ser armazenados para reproduzir o mesmo ambiente posteriormente com
outros VANTS, outros modelos de controle e quaisquer outros mdulos.
4. Ambiente de testes automatizado com as caractersticas de armazenamento de da-
dos de entrada, telemetria, dados de sada e repetibilidade de situaes. A automa-
tizao dos procedimentos tem por objetivo que uma seqcia de testes possam ser
realizados e os dados (de entrada e sada) armazenados para uma posterior anlise.
Diversos experimentos podem ser enleirados e o simulador realizar os testes. Os
resultados de tais testes cam armazenados para posterior anlise. possvel espe-
cicar a quantidade de dados e quais dados de telemetria sero armazenados.
Captulo 4
Problema e Soluo
A tarefa de contruo de um sistema de controle recai na problemtica da necessidade
de um modelo (funo de espao de estados) que caracterize matematicamente e com-
pletamente uma planta, no nosso caso, um VANT a m de que o mecanismo de controle
tenha a eccia necessria e requerida para manter a estabilidade durante as tarefas execu-
tadas. Para cada modelo distinto de VANT requerido um modelo matemtico diferente.
Por consequncia, ajustes nos sistemas de controle se fazem necessrios. Grande parte
destes ajustes um processo exaustivo [4] e que demanda tempo considervel. Como
poderamos ter um sistema de controle que no necessitasse do modelo matemtico ?
A criao do modelo matemtico para um VANT torna-se difcil devido caracters-
ticas de ser no-linear, MIMO (Multiple Input Multiple Output) e uma forte acoplagem
cruzada atravs de diferentes variveis de estado [15]. A funo de espao de estado ca-
racteriza um modelo de forma matemtica e o torna tratvel. Uma vez que temos as fun-
es de espao de estado podemos gerar o sistema de controle de acordo com a reposta
desejada, dentro dos parmetros aceitveis e com alta delidade em relao dinmica
do modelo [39]. Com esta abordagem, temos como contrapartida a necessidade de para
cada modelo de VANT, a criao de um novo conjunto de funes de espao de estados.
Isso deve-se ao fato de que cada VANT possui caractersticas fsicas distintas, dentre elas
o centro de gravidade, o volume e peso do modelo, a capacidade de carga, o torque do
motor e diversas outras.
Os VANTs possuemumsistema dinmico muito complexo comcaractersticas MIMO
e so altamente no-lineares. Mtodos de controle baseados em rede neural tem possibi-
lidade de identicar e controlar sistemas dinmicos no-lineares desconhecidos [2] [26]
[10] [32] [31]. Com a capacidade de identicar tais modelos sem a necessidade da equa-
o de espao de estados, temos agora a tarefa de controlar o VANT.
Como controlar um VANT usando uma rede neural? O mtodo utilizado para reali-
zar o controle do VANT foi o treino de uma rede neural com um piloto real que realizou
23
CAPTULO 4. PROBLEMA E SOLUO 24
sob diversas circunstncias a mesma tarefa diversas vezes. A telemetria das entradas do
piloto real para com o VANT foram armazenadas assim como a resposta do VANT para
as entradas do piloto real. Estes dados de telemetria foram colocados em uma rede neural
para que a mesma pudesse ser treinada posteriormente. Vericou-se que seria necess-
rio testar, treinar e avaliar diversos tipos de arquitetura para a rede neural. Arquiteturas
distintas, com o mesmo conjunto de treinamento, gera respostas distintas que fazem o
VANT comporta-se de forma distinta em um mesmo ambiente com mesmas caracters-
ticas. Surge a necessidade de testar arquiteturas distintas para que encontre-se a mais
adequada objetivando-se a eccia e a estabilidade.
Com o conjunto de dados do treinamento, a rede neural aprendeu a controlar o VANT
e realizar as tarefas de decolar, pairar e deslocar-se at um ponto especco de maneira
estvel e satisfatria. As vericaes foram realizadas durante vos utilizando a rede neu-
ral j treinada com o sistema de controle neural em um ambiente simulado. Semelhante
coleta de dados durante a fase de treinamento com um piloto real, foi realizado tambm a
coleta de dados da telemetria para diversas arquiteturas quando realizado uma das tarefa
especcas (decolar, pairar ou deslocar-se).
Analisando uma das resposta da rede neural com diversas arquiteturas (gura 4.1),
comparando com a resposta do piloto real e realizando vos experimentais no simulador,
encontramos uma boa arquitetura que atendesse as necessidades de eccia e estabilidade.
Figura 4.1: Comparao das respostas da rede neural. Eixo X.
CAPTULO 4. PROBLEMA E SOLUO 25
4.1 Formulao matemtica do aprendizado do controle
de vo
O controle de vo tem por nalidade apresentar uma resposta adequada para entradas
especcas (a caracterizao das relaes de entrada e de sada dos componentes ou de
sistemas podem ser descritos por equaes diferenciais lineares invariantes no tempo).
Tradicionalmente se faz necessrio a modelagem do sistema. Um modelo matemtico da
planta ou do objeto a ser controlado o primeiro passo em um projeto de um sistema
de controle. O modelo matemtico de um sistema dinmico denido como um con-
junto de equaes que representa a dinmica do sistema com preciso ou, pelo menos,
razoavelmente bem [30].
Sistema
Desconhecido
Vetor de
entrada
x
i
x
i
Modelo por
rede neural
e
i
y
i
d
i
+
-
+
Figura 4.2: Diagrama de blocos de identicao de sistema.
possvel o desenvolvimento de umsistema de controle sema modelagemdo sistema,
conforme relatado anteriormente [2] [26] [10] [32] [31] para tanto necessitamos de uma
rede neural treinada para que a mesma realize a tarefa de controlar a planta, no nosso
caso, o VANT.
Erro
Vetor de
entrada
x
i
e
i
y
i
d
i
+ - +
f(.)
Sada do
Sistema
Modelo
Inverso
Sada do
Modelo
Figura 4.3: Diagrama de blocos de identicao de sistema inverso.
Desta forma, a formulao matemtica do aprendizado do controle de vo recai no
CAPTULO 4. PROBLEMA E SOLUO 26
problema de aprendizagem de uma rede neural com origem em um conjunto de dados de
treinamento.
A habilidade de uma rede neural de aproximar um mapeamento de entrada e sada
desconhecido pode ser explorado de duas formas [16]:
Identicao de sistemas. A utilizao de um conjunto de dados de exemplo pode
treinar a rede neural como modelo do sistema. A diferena entre o d
i
(sada do
sistema) e a sada da rede y
i
fornece o vetor de sinal de erro e
i
. O sinal de erro
usado para ajustar os parmetros livres da rede de forma a minimizar a diferena
entre as sadas do sistema desconhecido (gura 4.2).
Sistema inverso. O objetivo neste caso construir um sistema inverso que produza
um vetor x em reposta a um vertor d. Um vetor e (erro) representa a diferena entre
x e a sada real da y rede neural. Este vetor de sinal de erro utilizado para ajustar
os parmetros livres da rede neural de modo a minimizar a diferena entre as sadas
do sistema inverso desconhecido e a da rede neural [16] (gura 4.3).
O funcionamento da RNA (rede neural articial) esta detalhado na seo 2.2, pgina
7.
Captulo 5
Implementao
5.1 Apresentao do simulador
O Flightgear (FG) um simulador de vo de cdigo aberto, desenvolvido em lin-
guagem C++, que foi criado em 1996 e trabalha com o modelo de licenciamento GNU
General Public License v2, sendo assim, livre para usar, modicar e distribuir. Suporta
modelos de aeronaves, terreno, aeroportos e estruturas desenvolvidos por terceiros. Sua
congurao realizada atravs de arquivos com formato XML. O Flightgear pode ser
executado no Windows, Linux, Mac OS-X, FreeBSD, Solaris e IRIX tanto em 32 bits e
64 bits com suporte a mltiplos processadores e mltiplos adaptadores grcos (Graphic
Process Unit - GPU) [20].
A capacidade de grande personalizao do FG reside na sua modularidade. Cada um
dos sub-sistemas do FG pode ser personalizado e substitudo por um mais simples ou
mais avanado, dependendo da necessidade do estudo ou experimento. A permutao
entre os mdulos feita por uma simples recongurao dos arquivos de congurao do
prprio FG que baseado em XML. Esta capacidade modular permite o desenvolvimento
de mdulos mais renados e precisos para cada aspecto do FG. Os mdulos podem ser
desenvolvidos em linguagem nativa do prprio FG, que muito semelhante ao C++, ou
em qualquer linguagem de programao.
5.2 Diagrama de mdulos
Um modelo de dinmica de vo (Flight Dynamics Models - FDM) um mdulo
externo ao FG que permite o uso de equaes matemticas para calcular e representar a
ao de foras fsicas em uma aeronave simulada e os mecanismos de controle. Cada
mdulo trabalha de forma independente e pode ser reescrito com a nalidade de ren-lo
ou at mesmo de adicionar uma caracterstica no implementada.
27
CAPTULO 5. IMPLEMENTAO 28
FlightGear
Dinmica de humidade do ar
Dinmica do coeficiente de frico
Dinmica estrutural
Dinmica de densidade do ar
Figura 5.1: Mdulos de dinmica do FlightGear
Cada aeronave possui seu prprio modelo devido a caractersticas intrsecas que a
torna diferente das demais. Entre estas diferenas temos os elementos aerodinmicos e
fsicos (arrasto, tamanho das asas, capacidade de empuxo, coeciente de frico, rea
das asas, peso, altura, centro de gravidade, capacidade do tanque, capacidade de carga)
[18]. Simulaes computadorizadas so usadas para modelar uma variedade ampla de
sistemas fsicos, incluindo aerodinmicas, estruturas, mecanismos de vo, sistemas de
controle, etc. e mais recentemente e signicante, processos de manufatura [14]. Cada
um destes sistemas fsicos e aerodinmicos pode ser calculado em um mdulo dedicado
exclusivamente para tal nalidade.
O FG, como simulador, pode simular um ambiente com as caractersticas de vento,
rajadas de vento, neve, temperatura e densidades do ar. Quando se faz necessrio, pode-
mos optar por um FDM para realizar tais funes. Neste escopo, o FG funcionar como
um ambiente grco de renderizao virtual para a aeronave simulada, representando os
efeitos fsicos-ambientais gerados matematicamente pelo FDM. possvel a utilizao
de diversos FDM em conjunto para prover uma simulao mais realstica e com maior
redundncia. Um FDM poderia controlar as rajadas de vento e outro FDM poderia con-
trolar a temperatura ambiente ou at mesmo o nvel de precipitao de chuva ou neve ou
densidade do ar [19] [21] [17]. Cabe frisar que semelhante a cada caracterstica fsica e
aerodinmica da aeronave que pode ter seus dados calculados em mdulos independen-
tes, as condies ambientais tambm podem ser calculadas e apresentadas no simulador
utilizando mdulos especcos que sejam destinados a cada aspecto. Outra vantagem a
utilizao de dados reais para simular condies especcas ambientais e a utilizao de
dados ambientais em tempo real.
5.3 Detalhamento do mdulo de controle
Um FDM pode, tambm, realizar o procedimento de controle de uma aeronave si-
mulada. Usando diversos tipos de controles tais como proporcional-diferencial-integral
CAPTULO 5. IMPLEMENTAO 29
Protocolo
FlightGear
FDM
Figura 5.2: Integrao do FlightGear com um FDM
(PDI), backstepping, fuzzy, baseados em Rede Neural (RN) entre outros. O controle ba-
seado em rede neural foi desevolvido e utilizado neste trabalho.
O acesso aos controles do FDM do FG realizado lendo e setando valores dispostos
em forma de uma rvore ou utilizado uma seqncia de bytecodes encapsulados dentro
de um pacote UDP/IP. A vantagem da utilizao da arquitetura UDP a possibilidade de
distribuir o processamento do FDM e os mecanismos de controle inclusive com redun-
dncia. A utilizao da estrutura, em forma de rvore, permitir a interoperabilidade e
padronizao entre os diversos FDM. Poderamos ter um FDM realizando os clculo no
subsistema de motores e outro no subsistema hidrulico responsvel pelos atuadores dos
airelons, profundores ou leme.
O FG pode ser controlado utilizando diversos mecanismos de controle fsicos (mouse,
teclado, joystick e manche). A aeronave simulada pode ser controlada por um conjunto
de comandos enviados para o FG simulando os controles fsicos. Foi desenvolvido um
programa, em linguagem C++ e posteriormente em MATLAB, que recebe e envia men-
sagens para o FG atravs do uso do UDP. Um protocolo, no FG, dene o formato e a
seqncia do bytecode que ser recebido e enviado para o FG. O protocolo denido em
um arquivo XML (gura 5.5).
A funo do protocolo no FG estabelecer o formato do mecanismo de troca de
mensagens que o FG receber e enviar para o modelo de dinmica de vo. A estrutura
do protocolo denida de acordo com a necessidade do experimento. Pode-se utilizar
algumas variveis contidas na extensa lista de variveis pr-denidas. Algumas destas
variveis so do tipo somente leitura (latitude, longitude, data e hora, etc). Outras devem
ser utilizadas para manipular os controles efetivos da aeronave simulada (gura 5.5).
A grande maioria das variveis que sero utilizadas para controle da aeronave simu-
lada esto no formato oat e tem uma faixa operacional de 1 at +1. Se formos atuar
o leme para o valor de 5
o
para a esquerda, enviamos para o FG o valor aproximado de
0, 056. O FG representa para o controle do leme 0
o
como valor de 0, 90
o
para a direita
como valor de +1 e 90
o
para a esquerda com o valor de 1. Estes valores so semelhantes
CAPTULO 5. IMPLEMENTAO 30
para os diversos controles. Alguns controles possuem o valor operacional, do tipo oat,
de 0 at +1, como, por exemplo, o throttle, que no valor 0.65, representa 65% da potncia
mxima (no computado o uso de ps-queimadores se for o caso).
Vale resaltar que cada aeronave (ou VANT) possui limitaes fsica quanto mano-
brabilidade. Se uma aeronave pode realizar uma guinada (eixo z, gura 2.1) mxima
esquerda de 5, 8
o
em velocidade de cruzeiro, se for especicado uma ao proveniente do
FDM de controle com o valor de 0.70% para realizar uma guinada esquerda, a aeronave
ir realizar a guinada esquerda de 4, 06
o
.
5.4 Detalhamento do caminho de dados (entrada/sada)
O mdulo de controle do VANT a ser trabalhado no ambiente simulado no FG foi
inicialmente desenvolvido em C++. Em um segundo momento foi realizado a migrao
para o MATLAB j prevendo usos futuros e novas funcionalidades. Cabe ressaltar que as
mesmas funcionalidades encontradas no MATLAB podem ser encontradas em diversas
bibliotecas do C++. A utilizao do MATLAB foi colocada em primeiro plano devido a
grande variedade de mdulo j incorporados e a facilidade de uso. Devido ao tempo e a
quantidade de mo de obra empregada percebeu-se que o desenvolvimento na linguagem
C++ iria extrapolar o tempo destinado aos experimentos. Como um dos trabalhos futuros
esta a implementao em C++ de todos os mdulos utilizados do MATLAB.
FlightGear Piloto
aileron, elevator, rudder, throttle
roll, pitch, heading, power, engine, rpm, altitude
Armazenagem
do dados
(Telemetria)
Figura 5.3: Caminho de dados - Mdulo de coleta.
Foram desenvolvidos dois mdulos no MATLAB. O primeiro mdulo (mdulo de
coleta) foi destinado a proceder a coleta de dados para posteriormente realizar o treina-
mento da rede neural. O segundo mdulo (mdulo de controle) foi o controle do VANT
utilizando uma rede neural j treinada. Estes dois mdulos realizam uma troca de mensa-
gens com o FG utilizando o protocolo UDP, da pilha TCP/IP. Um arquivo do tipo XML
foi congurado para denir o protocolo de entrada e outro foi congurado para denir o
protocolo de sada.
CAPTULO 5. IMPLEMENTAO 31
O primeiro mdulo (gura 5.3) tem como objetivo a coleta de dados provenientes do
FG em relao ao controle do UAV. Um piloto real realizou um total de 106 decolagens e
41 pairagens. Cada uma destas decolagens e pairagens gerou um conjunto de dados que
foram utilizados em um estgio posterior para treinar a rede neural. Os dados coletados
provenientes do FG foram:
latitude. Indica a latitude em que encontra-se o VANT.
longitude. Indica a longitude em que encontra-se o VANT.
altitude. Indica a altitude em que encontra-se o VANT.
roll. Valor nominal do ngulo de rolagem do VANT (gura 2.1).
pitch. Valor nominal do ngulo de arfagem do VANT (gura 2.1).
yaw. Valor nominal do ngulo de guinada do VANT (gura 2.1).
heading. Direo em que a parte frontal do VANT esta direcionada. 0
o
indica o
norte, 180
o
indica o sul.
throttle_in. Valor indicativo da potncia. Este valor neste mdulo indica a potncia
colocada pelo piloto real.
power. Indica a potncia aplicada ao motor.
engine. Valor binrio que indica se o motor esta em funcionamento ou no
aileron. Valor nominal denido pelo piloto real usando um manche. Usado para
compensar a rolagem do VANT.
elevator. Valor nominal denido pelo piloto real usando um manche. Usado para
compensar a arfagem do VANT.
rudder. Valor nominal denido pelo piloto real usando um manche. Usado para
compensar a guinada do VANT.
RPM. Valor que dene as rotaes por minuto do motor.
FlightGear
Rede
Neural
aileron, elevator, rudder, throttle
roll, pitch, heading, power, engine, rpm, altitude
Figura 5.4: Caminho de dados - Mdulo de Controle.
O segundo mdulo tem como objetivo o controle efetivo do VANT no FG. Este m-
dulo tem sada direta da rede neural e como entrada os valores produzidos pelo simulador.
CAPTULO 5. IMPLEMENTAO 32
Os dados de sada do simulador, roll, pitch, heading, power, engine, RPM e altitude so
apresentados como o vetor de entrada para a rede neural treinada com os dados do pri-
meiro mdulo. o vetor de sada (alieron, elevator, rudder e throttle_in) da rede neural
j treinada aplicado diretamente no FG. A denio parcial do arquivo de protocolo de
entrada e sada pode ser vizualizado na gura 5.5.
Na gura 5.4, uma rede neural j treinada recebe como vetor de entrada os dados
gerados pelo VANT no FG. Estes dados alimentam a RN que por sua vez gera sadas
que so aplicadas ao controles do VANT no FG. A rede neural aprendeu a realizar as
compensaes necessrias durante a decolagem semelhantemente ao que o piloto humano
realizaria.
<?xml version="1.0"?>
<PropertyList>
<generic>
<input>
<line_separator>newline</line_separator>
<var_separator> </var_separator>
<chunk>
<name>aileron</name>
<type>float</type>
<format>%f</format>
<node>/controls/flight/aileron</node>
</chunk>

<chunk>
<name>elevator</name>
<type>float</type>
<format>%f</format>
<node>/controls/flight/elevator</node>
</chunk>
<chunk>
<name>rudder</name>
<type>float</type>
<format>%f</format>
<node>/controls/flight/rudder</node>
</chunk>
<chunk>
<name>throttle</name>
<type>float</type>
<format>%f</format>
<node>/controls/engines/engine/throttle</node>
</chunk>

</input>
</generic>
</PropertyList>
<?xml version="1.0"?>
<PropertyList>
<generic>
<output>
<line_separator>newline</line_separator>
<var_separator> </var_separator>
<chunk>
<name>latitude-deg</name>
<type>float</type>
<format>%f</format>
<node>/position/latitude-deg</node>
</chunk>
<chunk>
<name>longitude-deg</name>
<type>float</type>
<format>%f</format>
<node>/position/longitude-deg</node>
</chunk>
<chunk>
<name>altitude-ft</name>
<type>float</type>
<format>%f</format>
<node>/position/altitude-ft</node>
</chunk>
<chunk>
<name>roll-deg</name>
<type>float</type>
<format>%f</format>
<node>/orientation/roll-deg</node>
</chunk>

</output>
</generic>
</PropertyList
Figura 5.5: Contedo parcial dos arquivos de protocolo.
Captulo 6
Experimentos e Resultados
6.1 Coleta de dados
Para que uma rede neural seja treinada ela necessita de um conjunto de dados de
treinamento. Neste trabalho, o treino da rede neural apresentar um controle neural capaz
de substituir um piloto durante os procedimentos de decolagem e pairagem. O processo
de aprendizagem da rede neural o processo de aprendizagem supervisionada.
Estes dados sero o vetor de entrada da rede neural. Os dados de treinamento da rede
neural foram coletadas do FG utilizando um mdulo especco (mdulo de coleta). O
mdulo de coleta (gura 5.3) desenvolvido no MATLAB o encarregado de armazenar os
dados de telemetria e os dados do piloto real durante os procedimentos. Foram realizados
um total de 106 procedimentos de decolagem e 41 procedimentos de pairagem.
Os dados de decolagem foram capturados durante o intervalo de 40 segundos apartir
do momento que acionou-se o motor do VANT no simulador. Efetivamente somente
os 20 segundos nais foram utilizados pois os 20 segundos iniciais caracterizam-se por
somente aumento da velocidade do motor e aumento do torque. Todos os 40 segundos
foram apresentados para o treino da rede neural.
O piloto real realizou inicialmente um total de 106 procedimentos de decolagem. Com
40 segundos armazenados de cada decolagem, foi gerado um total de 4.240 segundos
(70,66 minutos ou 1,17 hora) de dados de decolagem com tamanho em disco de aproxi-
madamente 1,23 Mb. A taxa de coleta foi de 10 (dez) amostragens por segundo.
A gura 6.1 demonstra um dos procedimentos de decolagem e as respostas do VANT.
Otempo aproximado de 10 segundos(3710 at 3810). Quando a potncia alcana o valor
de 0.4 (t = 3770), equivalente a 60% da potncia total (nos VANTs do tipo helicptero,
quanto maior a potncia, menor o torque. A potncia trabalha de forma inversa), comea
o efeito de decolagem e uma pequena variao na altitude. A variao negativa devido
ao bico do VANT car mais proximo ao solo durante o procedimento de decolagem. No
33
CAPTULO 6. EXPERIMENTOS E RESULTADOS 34
Figura 6.1: Coleta de dados: Reposta do piloto.
t=3780, efetivamente ocorre a decolagem do VANT. Neste grco esta plotado a resposta
do piloto em relao rolagem, guinada e arfagem, respectivamente, Piloto
x
, Piloto
y
e
Piloto
z
. Tambm plotado a rolagem, guinada e arfagem do VANT, respectivametne Heli
x
,
Heli
y
e Heli
z
.
Para o procedimento de pairagem foi realizado inicialmente o procedimento de deco-
lagem. Quando o VANT encontrava-se em estado estvel aps o decolagem iniciava-se a
coleta dos dados de pairagem com o piloto real operando o manche e tentando deixar o
VANT a uma mesma altura e mesma posio por durante 20 segundos no mnimo. Foram
realizados diversos procedimentos de pairagem e deste conjunto, foram ltrados e esco-
lhidos 41 procedimentos que apresentavam os 20 segundos de tempo mnimo e de menor
variao de altura e posio para que tal conjunto fosse destinado para o vetor de entrada
da rede neural no procedimento de pairagem.
Os 41 procedimentos de pairagem geraram um total de 820 segundos (13,66 minutos
ou 0,227 hora) de dados com tamanho em disco de aproximadamente 492 Kb. A taxa de
coleta foi de 10 (dez) amostragens por segundo.
CAPTULO 6. EXPERIMENTOS E RESULTADOS 35
6.2 Entrada da rede neural
Utilizando o paradigma de aprendizagem supervisionada, utilizaremos um professor,
o piloto real, para ensinar rede neural (sistema de aprendizagem) as respostas necess-
rias apartir de um ambiente, aqui representado pelo VANT dentro do FG. Na gura 6.5,
o professor e a rede neural so expostos a um vetor de treinamento (exemplo) retirado do
ambiente. Em virtude do conhecimento prvio, o professor capaz de fornecer rede
neural uma resposta desejada para aquele vetor de treinamento. A resposta desejada re-
presenta a ao tima a ser realizada pela rede neural. Os parmetros da rede neural so
ajustados sob a inuncia combinada do vetor de treinamento e do sinal de erro. O sinal
de erro denido como a diferena entre a resposta desejada e a resposta real da rede. O
objetivo fazer a rede neural emular o professor (piloto real). Passo a passo, o conheci-
mento do professor transferido para a rede neural atravs do treinamento [16]. Temos
que ressaltar que a medida de desempenho (o quanto a rede neural est apta a substi-
tuir o professor) denida pela capacidade da rede neural de realizar o procedimento de
decolagem e pairagem de maneira eciente e estvel.
Figura 6.2: Anlise da resposta do piloto. Eixo X.
Antes que os dados possam ser colocados diretamente na rede neural necessrio
uma anlise da resposta do piloto durante o procedimento de decolagem. Esta anlise
apresentada na gura 6.2. Baseando-se nesta gura, temos os seguintes fatos:
CAPTULO 6. EXPERIMENTOS E RESULTADOS 36
At o t = 1160 aproximadamente, o VANT no decolou e a potncia est proximo
de 60%.
O VANT tenta fazer uma rolagem para a esquerda (A) e o piloto realiza uma com-
pensao para a direita (B).
A compensao realizada pelo piloto foi grande demais e chegou at o valor (C).
Desta forma o VANT acompanhou a aco de compensao e comeou a rolar para
a direita (D).
O piloto realiza diversas compensaes menores e o VANT tem uma grande rola-
gem para a esquerda (E).
Pequenas compensaes realizados pelo piloto (F) e (G) em um pequeno intervalo
de tempo fazem com que o VANT tenha o processo de rolagem desfeito (H).
Outras compensaes, prximo a t = 1200, fazem com que o VANT seja estabili-
zado onde pouco depois aplicado o reset e um novo procedimento ser realizado.
Figura 6.3: Resposta do piloto. Eixo Y.
Semelhante ao realizado com a resposta do piloto no eixo X (rolagem), uma anlise
semelhante pode ser realizada no eixo Y (arfagem) e no eixo Z (guinada), respectivamente
gura 6.3 e gura 6.4.
Os dados coletados durante todas as decolagens e pairagens foram inicialmente co-
CAPTULO 6. EXPERIMENTOS E RESULTADOS 37
Figura 6.4: Resposta do piloto. Eixo Z.
locados em uma RN do tipo perceptrons de multiplas camadas (MLP, multiplayer per-
ceptron). A arquitetura da rede utilizada inicialmente foram de 8 neurnios na primeira
camada oculta, 16 neurnios na segunda camada oculta, 8 na terceira camada oculta.
Foram criadas e treinadas 03 (trs) redes neurais. Cada rede neural controla um dos
atuadores igualmente ao que o piloto humano faria, so eles aileron, elevator e rudder.
Posteriormente vericou-se que a arquitetura no era apropriada e buscou-se variaes na
arquitetura da RN.
Para efeitos de abreviao, deniremos aqui que uma rede neural com arquitetura
de 8 neurnios na primeira camada oculta, 16 neurnios na segunda camada oculta, 8
na terceira camada oculta ter abrevio de RN[121]. Uma rede neural com arquite-
tura abreviada na forma RN[22442] possuir 16 neurnios na primeira camada oculta, 16
neurnios na segunda camada oculta, 32 na terceira camada oculta, 32 na quarta camada
oculta e 16 na quinta camada oculta. Os valores representados dentro dos colchetes sero
multiplicados pelo valor 08 (oito).
Aprimeira rede neural treinada (RN[121]) apresentou resultado insatisfatrios durante
o teste de decolagemno FG. Diversas arquiteturas de RNforamtestadas a mde encontrar
a que gerassem as melhores aproximaes para substituir o piloto humano por um piloto
baseado em RN. A gura 6.6 mostra um comparativo no momento da decolagem entre
CAPTULO 6. EXPERIMENTOS E RESULTADOS 38
Vetor de estado
do ambiente
FG Piloto real
Resposta
desejada
Resposta
real
Sinal de erro
Sistema de
aprendizagem
+
+
-
Figura 6.5: Aprendizagem com professor.
Figura 6.6: Comparativo da resposta das sadas da RN.
a resposta do piloto humano (obtido pelo telemetria) e algumas RN com arquiteturas
diferentes.
Uma anlise mais apurada da gura 6.6, e posteriores testes prticos no FG, demos-
traram que a RN[11] generalizou demais a resposta do piloto humano e no conseguiu
realizar o procedimento de decolagem satisfatrio. A RN[2442] obteve uma aproximao
melhor da resposta do piloto humano sem ainda ter o sucesso necessrio. A RN[2468664]
gerou as respostas necessrias para o controle efetivo em substituio do piloto humano.
Em uma observao mais crtica entre os controles do piloto humano e a resposta da
RN[2468664] percebe-se uma maior aproximao de ambos, desta forma, a RN[2468664]
aproxima-se mais da resposta do piloto humano.
Apesar de prov uma possibilidade rpida de anlise, a gura 6.7 nos mostra parci-
CAPTULO 6. EXPERIMENTOS E RESULTADOS 39
Figura 6.7: Comparativo entre a menor e maior RN.
almente a diferena entre as redes neurais RN[11] e RN[2468664]. Uma anlise mais
apurada da gura 6.7 so as guras 6.8, 6.9 e 6.10 que demostram com uma maior apro-
ximao a resposta da RN com a resposta do piloto. A diferena entre tais respostas pode
ser visto na gura 6.11. Quanto mais prximo a 0 (zero) melhor a resposta da RN em
relao ao piloto.
6.3 Variaes da arquitetura e tempo de treinamento
A arquitetura inicialmente escolhida foi a RN[121] que apresentou resultados insa-
tisfatrios sob ponto de vista de ecincia. Desta forma foi necessrio o treinamento de
diversas RN com arquiteturas diferentes. As arquiteturas foram escolhidas de forma ale-
atria. Conforme demonstrado em [27], no tocante arquitetura da rede, tipicamente,
uma grande quantidade de unidades escondidas permite melhores valores de convergn-
cia entre as sadas da rede e as sadas-alvo durante o treinamento. Contudo, um nmero
pequeno de unidades escondidas resulta em uma generalizao melhor quando exposta a
situaes no apresentadas durante os testes.
Os resultado insatisfatrios obtidos na RN[121] foram decorrentes de uma generali-
zao da RN. Para que pudessemos ter um controlador de melhor eccia, teramos que
aumentar o tamanho da RN e a quantidade de camadas ocultas. Diversos tamanhos fo-
ram testados at que a RN[2468664] foi treinada e obteve um desempenho adequado aos
experimentos realizados.
CAPTULO 6. EXPERIMENTOS E RESULTADOS 40
Figura 6.8: Comparativo detalhado 1.
A gura 6.12, 6.13 e 6.14, respectivamente a mdia, varincia e desvio padro dos
resultados de cada uma das redes treinadas para cada um dos eixo (rolagem, guinada e
arfagem) em relao resposta do piloto real.
O tempo de treinamento da RN tem o seu crescimento de forma exponencial devido
a quantidade neurnios em cada camada e a quantidade de camadas ocultas em cada RN
treinada conforme a tabela 6.3 e a gura 6.15.
6.4 Imagens e vdeos
Um vdeo com os testes de cada uma das RN com as arquiteturas aqui apresentadas
esta disponvel em http://www.youtube.com/watch?v=aqdel3vqym0 . Todos os experi-
mentos foram realizados nas mesmas condies e no mesmo ambiente. A diferena recai
na resposta do VANT para com o mdulo de controle baseado em redes neurais (neuro-
controlador).
A gura 6.16 nos mostra o FDM inicial desenvolvido em C++. A janela com ttulo
mapa um FDM que recupera a localizao diretamente do Google Maps. A marcao
utiliza os valores de latitude e longitude que o FG envia para o FDM.
CAPTULO 6. EXPERIMENTOS E RESULTADOS 41
Figura 6.9: Comparativo detalhado 2.
Figura 6.10: Comparativo detalhado 3.
CAPTULO 6. EXPERIMENTOS E RESULTADOS 42
Figura 6.11: Diferena entre as respostas das RN.
Figura 6.12: Tempo de treinamento - Mdia.
CAPTULO 6. EXPERIMENTOS E RESULTADOS 43
Figura 6.13: Tempo de treinamento - Varincia.
Figura 6.14: Tempo de treinamento - Desvio padro.
CAPTULO 6. EXPERIMENTOS E RESULTADOS 44
Arquitetura Tempo de treinamento (horas)
RN[11] 0,08
RN[1221] 0,15
RN[32] 0,25
RN[343] 0,44
RN[43] 0,444
RN[45] 0,48
RN[2442] 1,00
RN[564] 1,13
RN[454] 1,36
RN[14841] 2,68
RN[48884] 3,23
RN[46645] 5,88
RN[2468664] 38,22
Tabela 6.1: Tempo de treinamento de RN com arquiteturas diferentes.
Figura 6.15: Tempo de treinamento das redes neurais.
CAPTULO 6. EXPERIMENTOS E RESULTADOS 45
Figura 6.16: FDM baseado em C++.
Captulo 7
Concluso
7.1 Resultado das observaes
Temos 03 (trs) concluses importantes a respeito dos resultados obtidos neste traba-
lho.
Criao do sistema de controle. possvel a criao de um sistema de controle
para VANTs do tipo helicptero baseado em redes neurais sem a modelagem do
sistema (caracterizado por funes de espao de estado). A rede neural teve xito
em aprender a dinmica do VANT que foi gerada pelo piloto real (professor). Em
[4] o mesmo nos relata que tentativas de usar mtodos de controle tradicionais para
a contruo de leis de controle inversa para a planta de helicpteros podem, ine-
vitavelmente, encontrar problemas quando encarados com a varincia temporal e
natureza no-linear destes sistemas. Uma das alternativas a utilizao de uma
rede neural como sistema de controle (neurocontrolador).
Qualidade dos dados de aprendizagem. Quanto melhor for o procedimento reali-
zado por um piloto real (ou o conjuto destes procedimetnos), melhor ser o repasse
para a rede neural. Atravs de exemplos, uma rede neural aprende a experincia do
piloto real (professor). Quando mais prximos um procedimento for considerado
como quase-timo ou timo pelo professor, melhores sero os resultados da rede
neural e o neurocontrolador apresentar respostas melhores tornando assim os pro-
cedimentos mais estveis. Nos procedimentos de pairagem realizados por um piloto
real, somente 41 foram utilizadas. Poderamos ter utilizado todos os conjuntos de
dados contudo observou-se que os exemplos ruins contribuiam negativamente para
o aprendizado da rede tornando as respostas do neurocontrolador insatisfatrias.
Esta contribuio negativa cou perceptvel nos testes utilizando todos os dados
(sem ltros) de pairagem da RN.
46
CAPTULO 7. CONCLUSO 47
Tamanho da arquitetura da rede. Redes neurais com uma arquitetura com grande
quantidade de camadas ocultas e quantidade de neurnios articiais geram resulta-
dos melhores. Respostas melhores condizem com que [27] nos relata a respeito da
quantidade de neurnios e camadas ocultas. Percebemos que um sistema de con-
trole (neurocontrolador) baseado em redes neurais mais generalizado, que utiliza
menos camadas ocultas e menos neurnios, no suporta com um desempenho ade-
quado e estabilidade necessria a dinmica no linear e fortemente acoplada de um
VANT.
Uma observao de menor importncia foi a recursividade do treino. Com uma rede
neural j treinada, foi feito um conjunto de experimentos, gerando assim dados teleme-
tria. Estes dados foram apresentados para treinamento para uma nova rede neural (2
a
gerao) e a mesma foi treinada. Com esta nova rede neural treinada realizou-se um con-
junto de procedimentos de decolagem no VANT usando o Flightgear. Observou-se que
o piloto real durante o procedimento de decolagem realizava um pequeno desvio para
a direita. Esta caracterstica cou mais perceptvel quando usada a 2
a
gerao da rede
neural treinada. Um estudo mais detalhado poderia gerar um melhor entendimento desta
caracterstica/aspecto.
7.2 O que foi feito e aplicaes
Foi desenvolvido um ambiente de coleta de dados de entrada e sada para com o
Flightgear (gura 5.3) possibilitando o treino de diversos VANT de forma simulada e
em paralelo utilizando diversos pilotos reais.
Como aplicaes deste trabalho temos a possibilidade de simulao e desenvolvi-
mento de neurocontroladores com um extensa gama de conguraes, condies atmos-
fricas, testes de performance e comparativos entre controles tradicionais (PID) e outros
neurocontroladores. A integrao com o MATLAB nos permite a utilizao de mdulos
(toolbox) que possam ser utilizados como parte de simulao de propriedades fsicas do
VANT, simulao de propriedades aerodinmicas e atmosfricas, controladores do tipo
fuzzy, PID, neurocontroladores e diversos outros.
Com o mdulo de coleta de dados, podemos gerar dados para uma anlise posterior ou
uma anlise distribuda. A anlise distribuda utiliza um canal de comunicao TCP/IP.
Um computador poderia gerar as simulaes e outro computador usando um programa
ou o MATLAT analisar tais dados. Geogracamente, este outro computador poderia es-
tar situado em qualquer lugar que fosse possvel uma conexo de rede ou Internet. Esta
CAPTULO 7. CONCLUSO 48
possibilidade de distribuio pode ser utilizada para uma redundncia em quaisquer sub-
sistema, pois o Flightgear fortemente modular.
7.3 Trabalhos futuros - aprendizagem por reforo (com-
binao)
Demonstramos que um neurocontrolador construido utilizando o paradigma de apren-
dizado com professor foi gerado satisfatoriamente. O prximo possvel passo a utiliza-
o de programao dinmica para construir um neurocontrolador sem um professor. Esta
tarefa ser possvel com a utilizao do aprendizado por reforo, notadamente a apren-
dizagem Q. O neurocontrolador ter apenas informaes do ambiente e pelo mtodo de
tentativa/erro e melhor recompensa, produzir seqncias de controle que permitir o
VANT decolar, pairar, deslocar-se e pousar de forma eciente, estvel e segura. A inte-
grao com o ambiente do Flightgear fundamental principalmente nos testes pois o erro
na decolagem produz uma destruio do VANT simulado. A realizao deste mtodo na
vida real torna-se dispendioso.
A utilizao do Flightgear como ambiente de testes nos possibilita um ambiente de
testes altamente modular e de fcil operacionalizao. Apesar destes atrativos, o Flight-
gear trabalha em tempo real, ou seja os tempos gastos em simulao so tempos reais.
Uma possibilidade a utilizao do JSBSim (http://jsbsim.sourceforge.net/) para acelerar
o tempo dedicado aos testes e gerar uma dinmina mais apurada dos controles de vo. O
JSBSim pode ser acoplado ao Flightgear como um mdulo que trabalhar a dinmica do
vo.
CAPTULO 7. CONCLUSO 49
FlightGear Piloto
Armazenagem
do dados
(Telemetria)
Rede
Neural
Treinada
(1
a
gerao)
Rede
Neural
Treino
FlightGear
Armazenagem
do dados
(Telemetria)
Rede
Neural
Treino
Rede
Neural
Treinada
(2
a
gerao)
Rede
Neural
Treinada
(1
a
gerao)
FlightGear
Rede
Neural
Treinada
(2
a
gerao)
Figura 7.1: Treino recursivo.
Referncias Bibliogrcas
[1] Ahmed, B. et al, Flight Control of a Rotary wing UAV - A Pratical Approach, Procce-
dings of the 47th IEEE Conference on Decision and Control, Cancun, Mexico, 2008.
[2] Al-Hinai, A., Ibnkahla, M., Neural Network Nonlinear MIMO Channel Identication
and Receiver Design, ICC, 2008, proceedings.
[3] Anton, H., Busby, C. R., lgebra Linear Contempornea, Editora Bookman. Porto
Alegre. 2006.
[4] Buskey, G. et al, Autonomous Helicopter Hover Using an Articial Neural Network,
Proceddings of the 2001 IEEE Internacional Conference on Robotics and Automa-
tion, Seoul, Korea, May, 21-26, 2001.
[5] Cai, G. et al, Design and Implementation of a Nonlinear Flight Control Law for the
Yaw Channel of a UAV Helicopter, Proceddings of 46th IEEE Conference on Deci-
sion and Control, New Orleans, LA, USA, 2007.
[6] Cai, G. et al, Design am Implementation of Robust Flight Control System for a Small-
scale UAV Helicopter, 2009.
[7] Cantori, L. A. et al, Anlise Comparativa entre Microsoft Flight Simulator e Flight-
gear Flight Simulator em Testes Hardware-in-the-loop. In: IX Simpsio Brasileiro de
Automao Inteligente, Braslia, Brazil. (SBAI09), 2009.
[8] Chen, W. et al, Sensor based Adaptive Neural Network Control for Small-scale Un-
manned Helicopter, Proceeding of 2007 Inerntional Conference on Information Ac-
quisiton, Jeju City, Korea, 2007.
[9] Eom, I., Jung, S., Neural Network Compesation for Force Tracking Control of an
Autonomous Helicopter System, International Conference on Control, Automation
and Systems, Seoul, Korea, 2007.
50
REFERNCIAS BIBLIOGRFICAS 51
[10] Fernandez, J. et al, Software Tools for System Identication and Control using Neu-
ral Networks in Process Enginneering, International Journal of Intelligent Systems
and Technologies 3:2, Spring 2008.
[11] Garcia, R., Barnes, L., Multi-UAV Simulator Utilizing X-Plane, J Intell Robot Syst,
57:393-406, 2010.
[12] Gu, Y. et al, Design and Flight Testing Evaluation of Formation Control Laws, IEEE
Transaction on Control Systems Technology, Vol. 14, No. 6, 2006.
[13] Guo-dong, J. et al, UAV Simulator-Based Simulation of Flight Control System,
2009.
[14] Hammed, T., Zhang, R., Conceptual Designing - Unmanned Aerial Vehicle Flight
Control System, ICEMI, 2009.
[15] Hashimoto, S. et al, System Identication Experiments on Large-scale Unmanned
Helicopter for Autonomous Flight, Proceedings of the 2000 IEEE International Con-
ference on Control Application Anchorage, Alaska, USA, Setembro, 2000.
[16] Haykin, S., Redes Neurais: Princpios e Prtica, 2
a
Edio. Bookman. Porto Alegre.
2001.
[17] http://jsbsim.sourceforge.net/index.html, 2011.
[18] http://wiki.ightgear.org/FDM_engine_feature_standardization, 2011.
[19] http://wiki.ightgear.org/JSBSim_Aerodynamics, 2011.
[20] http://wiki.ightgear.org/Multi_core_and_Multi_GPU_support, 2011.
[21] http://wiki.ightgear.org/Yasim, 2011.
[22] Kemao, P. et al, Design and Implementation of a Fully Autonomous Flight Control
System for a UAV Helicopter, Proccedings of the 26th Cinese Control Conference,
Zhangjiajie, Hunan, China, 2007.
[23] Kinoshita, T, A study on the Optimal Flight Control for an Autonomous UAV, Proc-
cedings of the 2006 IEEE International Conference on Mechatronics and Automation,
Luoyang, China, 2006.
[24] KrishnaKumar, K., Sawhney, S., Simulator Based Adaptative Helicopter Training
Using Neural Networks, 1991.
REFERNCIAS BIBLIOGRFICAS 52
[25] Kumar, V. et al, Auto landing control for small scale unmanned helicopter with ight
gear and HILS, 2007.
[26] Makoto, K. et al, Autopilot System for Kiteplane, IEEE/ASME TRANSACTION
ON MECHATRONICS, vol 11, no. 5, October 2006.
[27] Mettler, B et al, Identication Modeling of a Model-Scale Helicopter, Tech. Re-
port CMU-RI-RT-00-03, Robotics Institute, Carnegie Mellon University, Pittsburgh,
January, 2000.
[28] Nakanishi, H., Inoue, K., Robust Control System Design by use of Neural Networks
and Its Application to UAV Flight Control, 2004.
[29] Ogata, K., Engenharia de Controle Moderno. 3
a
edio, Editora LTC, So Paulo,
1998.
[30] Ogata, K., Engenharia de Controle Moderno. 5
a
edio, Editora Pearson Prentice
Hall, So Paulo, 2010.
[31] Ordonez, R., Passino, K. M., Stable Multi-Input Multi-Output Adaptive
Fuzzy/Neural Control, IEEE Transactions on Fuzzy Systems, vol. 7, no. 3, Jun 1999.
[32] Sebastien, L. et al, Indirect Inverse Adaptative Control Based on Neural
Networks Using Dynamic Back Propagation for Nonlinear Dynamic System, C.P,
Trois_Riviers, Quebec, Canada, 0-7803-6685-9/01, 2001 IEEE.
[33] Shim, H., Koo, T.J. et al, A Comprehensive Study of Control Design for an Auto-
mous Helicopter, Proc. of 37th IEEE Conference on Decision and Control, CDC98,
Tampa, Florida, USA, 3616-3621, 2008.
[34] Shinskey, F., Feedback controllers for the process industries, McGraw-Hill, 1994.
[35] Silva, I. et al, Redes neurais articiais, Editora Artliber, So Paulo, 2010.
[36] Silveira, P. R. et al, Automao e Controle Discreto, 7
a
edio. Editora rica. So
Paulo. 1998.
[37] Spinka, O. et al, Control System for Unmanned Aerial Vehicles, 2007.
[38] Sutton, R., Barto, A., Reinforcement Learning: An Introduction, The MIT Press.
Cambridge, Massachussetts, 1998.
REFERNCIAS BIBLIOGRFICAS 53
[39] Taha, Z et al, Small-Scale Helicopter System Identicaton Model Using Recurrent
Neural Networks, Centre for Product Design and Manafacture, Univertity of Malaya,
Kuala Lumpur, Malaysia, 2010.

Você também pode gostar