26.12.2014 Views

Desenvolvimento de um Veículo Aéreo Não-Tripulado - LARA ...

Desenvolvimento de um Veículo Aéreo Não-Tripulado - LARA ...

Desenvolvimento de um Veículo Aéreo Não-Tripulado - LARA ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

TRABALHO DE CONCLUSÃO DE CURSO<br />

DESENVOLVIMENTO DE UM PEQUENO<br />

VEÍCULO AÉREO NÃO-TRIPULADO<br />

Felipe Brandão Cavalcanti<br />

Vinícius <strong>de</strong> Oliveira Floriano<br />

Brasília, julho <strong>de</strong> 2012<br />

UNIVERSIDADE DE BRASÍLIA<br />

FACULDADE DE TECNOLOGIA


UNIVERSIDADE DE BRASILIA<br />

Faculda<strong>de</strong> <strong>de</strong> Tecnologia<br />

TRABALHO DE CONCLUSÃO DE CURSO<br />

DESENVOLVIMENTO DE UM PEQUENO<br />

VEÍCULO AÉREO NÃO-TRIPULADO<br />

Felipe Brandão Cavalcanti<br />

Vinícius <strong>de</strong> Oliveira Floriano<br />

Relatório submetido ao Departamento <strong>de</strong> Engenharia<br />

Elétrica como requisito parcial para obtenção<br />

do grau <strong>de</strong> Engenheiro Eletricista<br />

Banca Examinadora<br />

Prof. Geovany Araújo Borges, ENE/UnB<br />

Orientador<br />

Prof. Adolfo Bauchspiess, ENE/UnB<br />

Examinador interno<br />

Prof. Marcelino Monteiro <strong>de</strong> Andra<strong>de</strong>, FGA/UnB<br />

Examinador externo<br />

Brasília, julho <strong>de</strong> 2012


FICHA CATALOGRÁFICA<br />

CAVALCANTI, FELIPE BRANDÃO<br />

FLORIANO, VINÍCIUS DE OLIVEIRA<br />

<strong>Desenvolvimento</strong> <strong>de</strong> <strong>um</strong> Pequeno Veículo Aéreo Não-<strong>Tripulado</strong>[Distrito Fe<strong>de</strong>ral] 2012.<br />

xvi, 211 p., 210 x 297 mm (ENE/FT/UnB, Engenheiro, Engenharia Elétrica, 2012).<br />

Trabalho <strong>de</strong> Conclusão <strong>de</strong> Curso - Universida<strong>de</strong> <strong>de</strong> Brasília, Faculda<strong>de</strong> <strong>de</strong> Tecnologia.<br />

Departamento <strong>de</strong> Engenharia Elétrica<br />

1. Veículo Aéreo Não-<strong>Tripulado</strong> 2. Estimação <strong>de</strong> Estados<br />

3. I<strong>de</strong>ntificação <strong>de</strong> Sistemas Dinâmicos 4. Sistemas Embarcados<br />

I. ENE/FT/UnB II. Título (série)<br />

REFERÊNCIA BIBLIOGRÁFICA<br />

CAVALCANTI, F. B.; FLORIANO, V. O. (2012). <strong>Desenvolvimento</strong> <strong>de</strong> <strong>um</strong> Pequeno Veículo<br />

Aéreo Não-<strong>Tripulado</strong>. Trabalho <strong>de</strong> Conclusão <strong>de</strong> Curso em Engenharia Elétrica, Publicação<br />

TCC-, Departamento <strong>de</strong> Engenharia Elétrica, Universida<strong>de</strong> <strong>de</strong> Brasília, Brasília, DF, 211 p.<br />

CESSÃO DE DIREITOS<br />

AUTOR: Felipe Brandão Cavalcanti e Vinícius <strong>de</strong> Oliveira Floriano<br />

TÍTULO: <strong>Desenvolvimento</strong> <strong>de</strong> <strong>um</strong> Pequeno Veículo Aéreo Não-<strong>Tripulado</strong>.<br />

GRAU: Engenheiro Eletricista ANO: 2012<br />

É concedida à Universida<strong>de</strong> <strong>de</strong> Brasília permissão para reproduzir cópias <strong>de</strong>ste trabalho <strong>de</strong><br />

conclusão <strong>de</strong> curso e para emprestar ou ven<strong>de</strong>r tais cópias somente para propósitos acadêmicos e<br />

científicos. Os autores reservam outros direitos <strong>de</strong> publicação e nenh<strong>um</strong>a parte <strong>de</strong>sse trabalho <strong>de</strong><br />

conclusão <strong>de</strong> curso po<strong>de</strong> ser reproduzida sem autorização por escrito dos autores.<br />

Felipe Brandão Cavalcanti<br />

<strong>LARA</strong> - Laboratório <strong>de</strong> Automação e Robótica<br />

Prédio SG-11<br />

Depto. <strong>de</strong> Engenharia Elétrica (ENE) - FT<br />

Universida<strong>de</strong> <strong>de</strong> Brasília (UnB)<br />

Campus Darcy Ribeiro<br />

CEP 70919-970 - Brasília - DF - Brasil<br />

Vinícius <strong>de</strong> Oliveira Floriano<br />

<strong>LARA</strong> - Laboratório <strong>de</strong> Automação e Robótica<br />

Prédio SG-11<br />

Depto. <strong>de</strong> Engenharia Elétrica (ENE) - FT<br />

Universida<strong>de</strong> <strong>de</strong> Brasília (UnB)<br />

Campus Darcy Ribeiro<br />

CEP 70919-970 - Brasília - DF - Brasil


Dedicatórias<br />

Aos meus pais, Juscelino e Lúcia e ao meu<br />

irmão Bruno.<br />

Aos meus pais, Roberto e Cristine.<br />

Vinícius <strong>de</strong> Oliveira Floriano<br />

Felipe Brandão Cavalcanti


Agra<strong>de</strong>cimentos<br />

É essa talvez a parte mais importante <strong>de</strong>ste trabalho <strong>de</strong> conclusão <strong>de</strong> curso - é aqui on<strong>de</strong><br />

tenho a oportunida<strong>de</strong> <strong>de</strong> agra<strong>de</strong>cer a todos que tornaram possível não só esse trabalho,<br />

mas toda a minha trajetória <strong>de</strong>ntro <strong>de</strong>ssa universida<strong>de</strong>, do vestibular a sonhada cerimônia<br />

<strong>de</strong> colação <strong>de</strong> grau.<br />

Em primeiro lugar, <strong>de</strong>vo agra<strong>de</strong>cer aos meus pais, Roberto e Cristine, a quem <strong>de</strong>dico esse<br />

trabalho, por todo apoio e paciência ao longo <strong>de</strong>sses 22 anos, e a toda minha família,<br />

que sempre esteve lá quando eu mais precisei.<br />

Também <strong>de</strong>vo agra<strong>de</strong>cer muito ao meu orientador e mentor, o Prof. Geovany Araújo<br />

Borges, a quem <strong>de</strong>vo boa parte do meu conhecimento hoje. Estendo esse agra<strong>de</strong>cimento<br />

a todo corpo docente da Universida<strong>de</strong> <strong>de</strong> Brasília, principalmente ao Prof. Adolfo Bauchspiess<br />

e aos outros professores do <strong>LARA</strong>.<br />

A minha sanida<strong>de</strong> <strong>de</strong>vo agra<strong>de</strong>cer a minha namorada, Renata Carrilho Braz, que fez<br />

questão me visitar todos os dias e <strong>de</strong> manter o meu ânimo mesmo nos momentos mais<br />

difíceis <strong>de</strong>sse trabalho.<br />

Não posso <strong>de</strong>ixar <strong>de</strong> agra<strong>de</strong>cer meu gran<strong>de</strong> amigo e companheiro <strong>de</strong> jornada Vinícius <strong>de</strong><br />

Oliveira Floriano, e a todos os meus amigos da Engenharia Elétrica, em especial o Pedro<br />

Borges Costa (“Pato”), Rafael Santos Ferreira e Bruno Guilherme Amui, a quem tive o<br />

privilégio <strong>de</strong> dividir muitos momentos <strong>de</strong> glória e <strong>de</strong>sespero ao longo <strong>de</strong>sses 5 anos.<br />

Agra<strong>de</strong>ço também aos amigos do <strong>LARA</strong> que tive a chance <strong>de</strong> conviver nesses últimos<br />

anos - foram vocês que tornaram essa experiência na UnB tão especial. Devo agra<strong>de</strong>cer<br />

os gran<strong>de</strong>s amigos Pedro Nehme, por todo apoio técnico fornecido nesse projeto, George<br />

Brin<strong>de</strong>iro, pela chance <strong>de</strong> discutir qualquer assunto (e pelas equações em LaTeX!), a<br />

Mariana Bernar<strong>de</strong>s, por sua indispensável assessoria em qualquer assunto gráfico, a ao<br />

Prof. Antônio Padilha, por sua ajuda na implementação dos Filtros <strong>de</strong> Kalman.<br />

Preciso também agra<strong>de</strong>cer a todo corpo técnico da UnB, e ao Pedro, nosso gran<strong>de</strong> piloto<br />

<strong>de</strong> testes.<br />

Por último, não posso <strong>de</strong>ixar <strong>de</strong> agra<strong>de</strong>cer você, leitor. Muitos poucos se dão o trabalho<br />

<strong>de</strong> ler o trabalho, e menos ainda <strong>de</strong> ler todos os agra<strong>de</strong>cimentos.<br />

Felipe Brandão Cavalcanti


Depois <strong>de</strong> várias fazer várias pesquisas bibliográficas <strong>de</strong> trabalhos passados, ler seus<br />

respectivos agra<strong>de</strong>cimentos e pensar sobre quando eu escreveria a minha, finalmente a<br />

hora chegou. Agora terei a honra <strong>de</strong> agra<strong>de</strong>cer todas as pessoas que me acompanharam<br />

até aqui.<br />

Primeiramente quero agra<strong>de</strong>cer aos meus pais Juscelino e Lúcia, por quem eu <strong>de</strong>vo tudo<br />

até aqui, que me apoiaram em todos os momentos <strong>de</strong> todas as formas que eu precisei. A<br />

meu irmão Bruno que também sempre esteve presente e me ajudando quando possível.<br />

E a toda minha família que sempre me <strong>de</strong>u suporte.<br />

Ao meu Professor orientador Geovany Borges, por todos seus ensinamentos e “Regras<br />

do <strong>de</strong>dão” oriundas <strong>de</strong> sua sabedoria, por sua orientação e pelo acolhimento ao laboratório<br />

<strong>LARA</strong>, ambiente a que eu <strong>de</strong>vo muito <strong>de</strong> minha aprendizagem. Ao Professor Adolfo<br />

Bauchspiess pelos seus ensinamentos e sábias palavras que inúmeras vezes foram repetidas<br />

por nós, como, parafraseando-o: “Problemas difíceis <strong>de</strong>mandam soluções fáceis”.<br />

Também a todos os professores da UnB com quem tive aula, principalmente o corpo docente<br />

do Departamento <strong>de</strong> Engenharia Elétrica, que me ajudou a construir os alicerces<br />

<strong>de</strong> meu conhecimento. Assim como os funcionários do ENE que sempre proporcionaram<br />

boas condições para essa construção.<br />

A meu amigo e companheiro <strong>de</strong> caminhada Felipe Brandão, que dividiu comigo anos <strong>de</strong><br />

agonias e sucessos <strong>de</strong> nossos projetos. A todos meus amigos da Engenharia Elétrica,<br />

que sofreram junto comigo durante todas as disciplinas difíceis, mas com união sempre<br />

superávamos nossas dificulda<strong>de</strong>s e celebrávamos nossas glórias no final. Essa união nos<br />

tornou <strong>um</strong>a família.<br />

Aos meus amigos do <strong>LARA</strong>, que sempre me ajudaram quando precisei, em especial Pedro<br />

Nehme, que participou do projeto VANT, Bruno Amui e George Brin<strong>de</strong>iro que sempre<br />

eram capazes <strong>de</strong> solucionar problemas técnicos e discutir sobre assuntos <strong>de</strong> variados temas.<br />

Também quero agra<strong>de</strong>cer ao Pedro, nosso piloto <strong>de</strong> testes que sempre navegou nossa aeronave<br />

<strong>de</strong> maneira precisa.<br />

Gostaria <strong>de</strong> agra<strong>de</strong>cer aos meus amigos Eduardo Lemos, Eduardo Teófilo, Guilherme<br />

Santana e Rafael Valle, pelo apoio <strong>de</strong>s<strong>de</strong> antes do vestibular, que apesar <strong>de</strong> alg<strong>um</strong>as<br />

ausências minhas <strong>de</strong>vido ao estudo, sempre me acompanharam e me <strong>de</strong>ram forças para<br />

continuar. A todos os meus amigos, que por <strong>um</strong>a questão <strong>de</strong> espaço infelizmente não<br />

posso escrever seus nomes aqui, mas por quais tenho enorme apreço e sempre estarão<br />

presentes na minha vida.<br />

E finalmente ao leitor, que está procurando alg<strong>um</strong>a informação importante e nos confia<br />

a credibilida<strong>de</strong> do conhecimento buscado.<br />

Vinícius <strong>de</strong> Oliveira Floriano


RESUMO<br />

Esse trabalho apresenta o <strong>de</strong>senvolvimento da plataforma experimental para robótica aérea<br />

(VANT - Veículo Aéreo Não-<strong>Tripulado</strong>) do Laboratório <strong>de</strong> Automação e Robótica (<strong>LARA</strong>) da<br />

Universida<strong>de</strong> <strong>de</strong> Brasília. O principal objetivo da plataforma é atuar como veículo <strong>de</strong> testes<br />

para estudo <strong>de</strong> técnicas <strong>de</strong> estimação, controle e i<strong>de</strong>ntificação aplicados a sistemas reais. Todo<br />

o conjunto <strong>de</strong> instr<strong>um</strong>entação, processamento e atuação é <strong>de</strong>scrito, tal como suas respectivas<br />

implementações e a procedimentos <strong>de</strong> validação. Algoritmos <strong>de</strong> estimação orientação, posição e<br />

velocida<strong>de</strong> baseados no Filtro <strong>de</strong> Kalman Estendido (EKF), e técnicas para i<strong>de</strong>ntificação <strong>de</strong> sistemas<br />

dinâmicos também são <strong>de</strong>scritas e testadas. Esse trabalho visa disponibilizar <strong>um</strong>a plataforma<br />

aérea <strong>de</strong> asa fixa com instr<strong>um</strong>entação científica - batizada <strong>de</strong> ANU - para uso em trabalhos futuros<br />

no <strong>LARA</strong>.<br />

ABSTRACT<br />

This work <strong>de</strong>scribes the <strong>de</strong>velopment of an experimental aerial robotic’s platform (an UAV -<br />

Unmanned Aerial Vehicle) for the Robotics and Automation Laboratory in University of Brasília.<br />

The platform’s main goal is to become a test bed for real-world estimation, i<strong>de</strong>ntification and control<br />

problems. The entire instr<strong>um</strong>entation, processing and actuation subsystems are <strong>de</strong>scribed,<br />

along with their respective implementations and testing procedures. Orientation, position and<br />

velocity estimation techniques based on the Exten<strong>de</strong>d Kalman Filter (EKF) and system i<strong>de</strong>ntification<br />

techniques are also <strong>de</strong>rived and tested. This work focuses on obtaining a scientifically<br />

instr<strong>um</strong>ented fixed-wing aerial robotics platform - named ANU - for future use in the laboratory.


SUMÁRIO<br />

1 Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1<br />

1.1 Contextualização.................................................................... 1<br />

1.2 Objetivos do projeto ............................................................... 3<br />

1.3 Apresentação do manuscrito ..................................................... 5<br />

2 Fundamentação Teórica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7<br />

2.1 Introdução ............................................................................. 7<br />

2.2 Notação <strong>de</strong> velocida<strong>de</strong>s e ângulos ............................................. 7<br />

2.3 Sistemas <strong>de</strong> Coor<strong>de</strong>nadas.......................................................... 8<br />

2.4 Mudança <strong>de</strong> eixos <strong>de</strong> coor<strong>de</strong>nadas.............................................. 10<br />

2.5 Representações angulares ........................................................ 12<br />

2.6 Funcionamento do sistema aerodinâmico da aeronave ................... 14<br />

2.7 Visão geral <strong>de</strong> <strong>um</strong> VANT .......................................................... 15<br />

2.8 Nomenclatura......................................................................... 17<br />

3 Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19<br />

3.1 Introdução ............................................................................. 19<br />

3.2 Requisitos .............................................................................. 20<br />

3.3 Hardware Existente ................................................................ 21<br />

3.4 Solução Mecânica ................................................................... 25<br />

3.5 Escolha dos Componentes......................................................... 29<br />

3.6 Projeto <strong>de</strong> Sistema .................................................................. 40<br />

3.7 Solução Elétrica .................................................................... 42<br />

3.8 Posicionamento dos módulos na aeronave ................................... 63<br />

4 Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67<br />

4.1 Introdução ............................................................................. 67<br />

4.2 Filosofias e Metodologias <strong>de</strong> Programação ................................ 68<br />

4.3 Projeto a Nível <strong>de</strong> Sistema....................................................... 70<br />

4.4 Gerador <strong>de</strong> PWM .................................................................... 74<br />

4.5 Leitor dos Rádios.................................................................... 75<br />

4.6 Central Inercial Sparkfun 9DOF Razor ..................................... 76<br />

4.7 Módulo <strong>de</strong> Processamento Auxiliar - LPC2148 ............................ 76<br />

v


4.8 Módulo <strong>de</strong> Processamento Principal - G<strong>um</strong>stix Overo .................. 78<br />

4.9 Simulador .............................................................................. 82<br />

5 Estimação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85<br />

5.1 Introdução ............................................................................. 85<br />

5.2 Mo<strong>de</strong>los Sensoriais e Terrestres ............................................... 86<br />

5.3 Calibração dos Sensores .......................................................... 93<br />

5.4 Estimação <strong>de</strong> Atitu<strong>de</strong> Determinística ......................................... 97<br />

5.5 Solução <strong>de</strong> Estimação .............................................................. 99<br />

6 I<strong>de</strong>ntificação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113<br />

6.1 Introdução ............................................................................. 113<br />

6.2 Classificação .......................................................................... 114<br />

6.3 Mo<strong>de</strong>los dinâmicos utilizados para a i<strong>de</strong>ntificação ....................... 115<br />

6.4 Ferramentas ........................................................................... 120<br />

6.5 Mo<strong>de</strong>los implementados no VANT .............................................. 124<br />

6.6 Experimentos .......................................................................... 133<br />

7 Resultados Experimentais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141<br />

7.1 Introdução ............................................................................. 141<br />

7.2 Calibração ............................................................................. 141<br />

7.3 Aquisição <strong>de</strong> Dados - Vôo Real.................................................. 143<br />

7.4 Estimação .............................................................................. 149<br />

7.5 I<strong>de</strong>ntificação .......................................................................... 155<br />

8 Conclusões. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179<br />

Referências Bibliográficas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182<br />

Anexos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189<br />

I Diagramas Esquemáticos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191<br />

I.1 Retrabalho nas placas fabricadas ............................................. 191<br />

I.2 Modificações IMU/LPC2148 ...................................................... 191<br />

I.3 Esquemáticos e Placas ............................................................. 192<br />

II Descrição do conteúdo do DVD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205<br />

III Parâmetros <strong>de</strong> Calibração . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207


LISTA DE FIGURAS<br />

1.1 General Atomics MQ-1 Predator ................................................................... 2<br />

1.2 Northrop Gr<strong>um</strong>man Global Hawk.................................................................. 2<br />

1.3 Plataforma ANU <strong>de</strong>senvolvida nesse trabalho .................................................. 3<br />

1.4 Plataforma ANU pronta para voo.................................................................. 5<br />

2.1 Exemplo do sistema <strong>de</strong> coor<strong>de</strong>nadas ECEF ..................................................... 8<br />

2.2 Sistema <strong>de</strong> coor<strong>de</strong>nadas locais NED ............................................................... 10<br />

2.3 Ângulos <strong>de</strong> Euler ....................................................................................... 10<br />

2.4 Ângulos <strong>de</strong> Euler em <strong>um</strong> sistema ABC ........................................................... 12<br />

2.5 Forças aerodinâmicas .................................................................................. 14<br />

2.6 Local <strong>de</strong> atuação das forças .......................................................................... 15<br />

2.7 Superfícies <strong>de</strong> Controle ................................................................................ 17<br />

3.1 Aeronave RCeXtreme Sky Master S<strong>um</strong>mer ...................................................... 22<br />

3.2 Diagrama partes principais da aeronave RCeXtreme Sky Master S<strong>um</strong>mer .............. 23<br />

3.3 Servo Hitec HS-5055MG .............................................................................. 24<br />

3.4 Motor Turnigy C3530-1100 .......................................................................... 24<br />

3.5 Bateria Yuntong 3S YT783496PH.................................................................. 25<br />

3.6 Spektr<strong>um</strong> DX-7 ......................................................................................... 25<br />

3.7 Local do CG e do sistema <strong>de</strong> instr<strong>um</strong>entação ................................................... 26<br />

3.8 Stacks montadas ........................................................................................ 28<br />

3.9 Conectores DuPont..................................................................................... 28<br />

3.10 Sparkfun Electronics 9 Degrees of Freedom - Razor IMU .................................... 31<br />

3.11 GPS NovAtel SUPERSTAR II...................................................................... 33<br />

3.12 G<strong>um</strong>stix Overo Water ................................................................................. 34<br />

3.13 Olimex LPC-H2148 .................................................................................... 35<br />

3.14 Sonar MaxBotix LV-MaxSonar-EZ4 ............................................................... 38<br />

3.15 Módulo Digi XBee-PRO XBP09-DPWIT-156................................................... 40<br />

3.16 Projeto completo a nível <strong>de</strong> sistema ............................................................... 41<br />

3.17 Projeto do módulo <strong>de</strong> energia ....................................................................... 43<br />

3.18 Módulo <strong>de</strong> energia montado ......................................................................... 44<br />

3.19 Conversor DC-DC Texas Instr<strong>um</strong>ents PTH08T230WAD .................................... 45<br />

3.20 Circuito <strong>de</strong> referência do conversor DC-DC ..................................................... 45<br />

3.21 Circuito <strong>de</strong> energia auxiliar (3,3 V)................................................................ 47<br />

vii


3.22 Circuito <strong>de</strong> monitoramento <strong>de</strong> tensão ............................................................. 47<br />

3.23 Circuito <strong>de</strong> monitoramento <strong>de</strong> corrente ........................................................... 49<br />

3.24 Módulo <strong>de</strong> rádios montado ........................................................................... 50<br />

3.25 Projeto do módulo <strong>de</strong> rádios......................................................................... 52<br />

3.26 Circuito <strong>de</strong> proteção dos rádios e chaveamento <strong>de</strong> emergência ............................. 53<br />

3.27 Circuito dos AVRs <strong>de</strong> leitura e geração <strong>de</strong> PWMs............................................. 53<br />

3.28 Circuito do Tubo <strong>de</strong> Pitot e Sensor <strong>de</strong> Temperatura .......................................... 54<br />

3.29 Projeto do módulo <strong>de</strong> processamento ............................................................. 55<br />

3.30 Módulo <strong>de</strong> processamento montado................................................................ 56<br />

3.31 Projeto do módulo <strong>de</strong> integração/inerciais ....................................................... 57<br />

3.32 Módulo <strong>de</strong> Integração/Inercial montado.......................................................... 57<br />

3.33 Circuito <strong>de</strong> condicionamento auxiliar.............................................................. 58<br />

3.34 Central Inercial Sparkfun Razor IMU 9-DOF modificada.................................... 59<br />

3.35 Circuito <strong>de</strong> sincronismo dos sonares ............................................................... 60<br />

3.36 Módulo <strong>de</strong> sincronismo <strong>de</strong> sonares montado..................................................... 61<br />

3.37 Ilustração do módulo <strong>de</strong> energia .................................................................... 62<br />

3.38 Ilustração dos módulos dos rádios.................................................................. 62<br />

3.39 Ilustração do módulo <strong>de</strong> processamento auxiliar ............................................... 63<br />

3.40 Ilustração dos módulos <strong>de</strong> processamento principal ........................................... 63<br />

3.41 Módulo <strong>de</strong> instr<strong>um</strong>entação completo (stacks) ................................................... 64<br />

3.42 Aeronave instr<strong>um</strong>entada .............................................................................. 64<br />

3.43 Aeronave instr<strong>um</strong>entada .............................................................................. 65<br />

3.44 Posição dos módulos na aeronave .................................................................. 65<br />

4.1 Diagrama do sistema, com os módulos programáveis ......................................... 71<br />

4.2 Organização do sistema <strong>de</strong> sincronismo <strong>de</strong> dados .............................................. 73<br />

4.3 Protocolo <strong>de</strong> comunicação utilizado no sistema................................................. 73<br />

4.4 Máquina <strong>de</strong> estados para <strong>de</strong>codificação do protocolo <strong>de</strong> comunicação .................... 74<br />

4.5 Geração dos sinais PWM para os servos.......................................................... 75<br />

4.6 Diagrama <strong>de</strong> blocos do software do programa principal ...................................... 81<br />

4.7 Interface com o usuário do programa <strong>de</strong> aquisição e controle ............................... 82<br />

4.8 Diagrama <strong>de</strong> blocos do simulador .................................................................. 83<br />

4.9 Interface com o usuário do simulador ............................................................. 84<br />

5.1 Diagrama do tubo <strong>de</strong> Pitot .......................................................................... 89<br />

5.2 Inicialização do sistema <strong>de</strong> estimação ............................................................. 104<br />

6.1 Mo<strong>de</strong>los Desacoplados................................................................................. 125<br />

6.2 Exemplo <strong>de</strong> mo<strong>de</strong>los semi-<strong>de</strong>sacoplados .......................................................... 126<br />

6.3 Exemplo <strong>de</strong> mo<strong>de</strong>los totalmente <strong>de</strong>sacoplados .................................................. 127<br />

6.4 Asas vista <strong>de</strong> cima...................................................................................... 133<br />

6.5 Quatro vistas da asa ................................................................................... 134<br />

6.6 Vista em 3D.............................................................................................. 134


6.7 Parâmetros encontrados - Parte 1 .................................................................. 135<br />

6.8 Parâmetros encontrados - Parte 2 .................................................................. 135<br />

7.1 Curva <strong>de</strong> calibração da bateria, mínimos quadrados .......................................... 142<br />

7.2 Curva <strong>de</strong> calibração do tubo <strong>de</strong> Pitot, mínimos quadrados.................................. 142<br />

7.3 Calibração do magnetômetro, método <strong>de</strong> Newton-Raphson ................................. 145<br />

7.4 Aeronave pronta para o vôo <strong>de</strong> testes ............................................................. 146<br />

7.5 Aquisição <strong>de</strong> Dados - Vôo Real - Acelerômetro ................................................. 146<br />

7.6 Aquisição <strong>de</strong> Dados - Vôo Real - Girômetro..................................................... 147<br />

7.7 Aquisição <strong>de</strong> Dados - Vôo Real - Magnetômetro ............................................... 147<br />

7.8 Aquisição <strong>de</strong> Dados - Vôo Real - GPS (Sistema NED) ....................................... 147<br />

7.9 Aquisição <strong>de</strong> Dados - Vôo Real - Altímetro e GPS ............................................ 148<br />

7.10 Aquisição <strong>de</strong> Dados - Vôo Real - Tubo <strong>de</strong> Pitot................................................ 148<br />

7.11 Aquisição <strong>de</strong> Dados - Vôo Real - Rádios ......................................................... 148<br />

7.12 Estimação - Simulação - Quaternions ............................................................. 150<br />

7.13 Estimação - Simulação - Ângulos <strong>de</strong> Euler....................................................... 151<br />

7.14 Estimação - Simulação - Velocida<strong>de</strong> ............................................................... 151<br />

7.15 Estimação - Simulação - Posição ................................................................... 152<br />

7.16 Estimação - Simulação - Posição 3D do Decoupled EKF, sistema ENU .................. 152<br />

7.17 Estimação - Dados Reais - Ângulos <strong>de</strong> Euler.................................................... 153<br />

7.18 Estimação - Dados Reais - Velocida<strong>de</strong> ............................................................ 154<br />

7.19 Estimação - Dados Reais - Posição 3D do Decoupled EKF, sistema ENU ............... 154<br />

7.20 Mo<strong>de</strong>lo Lateral Desacoplado i<strong>de</strong>ntificado......................................................... 156<br />

7.21 Mo<strong>de</strong>lo Longitudinal Desacoplado i<strong>de</strong>ntificado ................................................. 156<br />

7.22 Velocida<strong>de</strong> P i<strong>de</strong>ntificada............................................................................. 157<br />

7.23 Ângulo θ i<strong>de</strong>ntificado .................................................................................. 157<br />

7.24 Velocida<strong>de</strong> P i<strong>de</strong>ntificada............................................................................. 159<br />

7.25 Ângulo θ i<strong>de</strong>ntificado .................................................................................. 159<br />

7.26 Velocida<strong>de</strong> U i<strong>de</strong>ntificada............................................................................. 160<br />

7.27 Velocida<strong>de</strong> V i<strong>de</strong>ntificada............................................................................. 160<br />

7.28 Velocida<strong>de</strong> W i<strong>de</strong>ntificada............................................................................ 161<br />

7.29 Velocida<strong>de</strong> P i<strong>de</strong>ntificada............................................................................. 162<br />

7.30 Velocida<strong>de</strong> R i<strong>de</strong>ntificada............................................................................. 162<br />

7.31 Ângulo θ i<strong>de</strong>ntificado .................................................................................. 163<br />

7.32 Velocida<strong>de</strong> U i<strong>de</strong>ntificada............................................................................. 163<br />

7.33 Velocida<strong>de</strong> Q i<strong>de</strong>ntificada............................................................................. 165<br />

7.34 Velocida<strong>de</strong> θ i<strong>de</strong>ntificada ............................................................................. 165<br />

7.35 Velocida<strong>de</strong> U i<strong>de</strong>ntificada............................................................................. 166<br />

7.36 Velocida<strong>de</strong> W i<strong>de</strong>ntificada............................................................................ 166<br />

7.37 Mo<strong>de</strong>lo Longitudinal <strong>de</strong>sacoplado i<strong>de</strong>ntificado .................................................. 167<br />

7.38 Mo<strong>de</strong>lo Lateral <strong>de</strong>sacoplado, com variáveis P e φ i<strong>de</strong>ntificado ............................. 167<br />

7.39 Mo<strong>de</strong>lo Lateral <strong>de</strong>sacoplado, com variáveis V e R i<strong>de</strong>ntificado ............................. 168


7.40 Velocida<strong>de</strong> P i<strong>de</strong>ntificada............................................................................. 168<br />

7.41 Ângulo φ i<strong>de</strong>ntificado .................................................................................. 169<br />

7.42 Velocida<strong>de</strong> Q i<strong>de</strong>ntificada............................................................................. 169<br />

7.43 Velocida<strong>de</strong> R i<strong>de</strong>ntificada............................................................................. 170<br />

7.44 Velocida<strong>de</strong> U i<strong>de</strong>ntificada............................................................................. 170<br />

7.45 Velocida<strong>de</strong> V i<strong>de</strong>ntificada............................................................................. 171<br />

7.46 Velocida<strong>de</strong> W i<strong>de</strong>ntificada............................................................................ 171<br />

7.47 Mo<strong>de</strong>lo Longitudinal <strong>de</strong>sacoplado i<strong>de</strong>ntificado .................................................. 173<br />

7.48 Mo<strong>de</strong>lo Longitudinal <strong>de</strong>sacoplado i<strong>de</strong>ntificado .................................................. 173<br />

7.49 Velocida<strong>de</strong> P i<strong>de</strong>ntificada............................................................................. 174<br />

7.50 Ângulo φ i<strong>de</strong>ntificado .................................................................................. 174<br />

7.51 Velocida<strong>de</strong> Q i<strong>de</strong>ntificada............................................................................. 175<br />

7.52 Velocida<strong>de</strong> R i<strong>de</strong>ntificada............................................................................. 175<br />

7.53 Velocida<strong>de</strong> θ i<strong>de</strong>ntificada ............................................................................. 176<br />

7.54 Velocida<strong>de</strong> U i<strong>de</strong>ntificada............................................................................. 176<br />

7.55 Velocida<strong>de</strong> V i<strong>de</strong>ntificada............................................................................. 177<br />

7.56 Velocida<strong>de</strong> W i<strong>de</strong>ntificada............................................................................ 177<br />

8.1 Plataforma ANU após o vôo......................................................................... 181<br />

I.1 Limites <strong>de</strong> fabricação do fabricante das PCBs .................................................. 192<br />

I.2 Esquemático do stack <strong>de</strong> energia ................................................................... 194<br />

I.3 Stack <strong>de</strong> energia......................................................................................... 195<br />

I.4 Esquemático do stack <strong>de</strong> rádios..................................................................... 196<br />

I.5 Esquemático do stack <strong>de</strong> rádios..................................................................... 197<br />

I.6 Stack <strong>de</strong> rádios .......................................................................................... 198<br />

I.7 Esquemático do stack <strong>de</strong> processamento.......................................................... 199<br />

I.8 Esquemático do stack <strong>de</strong> processamento.......................................................... 200<br />

I.9 Stack <strong>de</strong> processamento ............................................................................... 201<br />

I.10 Esquemático do stack <strong>de</strong> processamento auxiliar............................................... 202<br />

I.11 Stack <strong>de</strong> processamento auxiliar .................................................................... 203<br />

I.12 Esquemático do circuito <strong>de</strong> sincronismo dos sonares .......................................... 204


LISTA DE TABELAS<br />

2.1 Notações <strong>de</strong> gran<strong>de</strong>zas utilizadas ................................................................... 7<br />

3.1 Especificações da aeronave RCeXtreme Sky Master S<strong>um</strong>mer ............................... 22<br />

3.2 Especificações dos servo-motores Hitec HS-5055MG .......................................... 23<br />

3.3 Especificações do motor Turnigy C3530-1100 ................................................... 23<br />

3.4 Especificações da bateria Yuntong 3S YT783496PH .......................................... 24<br />

3.5 Sensores disponíveis na Sparkfun 9DOF Razor IMU .......................................... 30<br />

3.6 Especificações do girômetro ST Microelectronics LY530ALH ............................... 31<br />

3.7 Especificações do girômetro ST Microelectronics LPR530ALH............................. 31<br />

3.8 Especificações do acelerômetro Analog Devices ADXL345................................... 32<br />

3.9 Especificações do magnetômetro Honeywell HMC5843 ....................................... 32<br />

3.10 Especificações do GPS NovAtel SUPERSTAR II .............................................. 33<br />

3.11 Especificações do sensor <strong>de</strong> pressão Freescale Semiconductor MPXV7002DP .......... 36<br />

3.12 Especificações do sensor <strong>de</strong> pressão VTI Technologies SCP1000 ........................... 37<br />

3.13 Especificações do sensor <strong>de</strong> corrente Allegro MicroSystems ACS755xCB-150 .......... 37<br />

3.14 Especificações do sonar MaxBotix LV-MaxSonar-EZ4 ........................................ 38<br />

3.15 Especificações do módulo Digi XBee-PRO XBP09-DPWIT-156 ........................... 40<br />

3.16 Especificações do conversor DC-DC Texas Instr<strong>um</strong>ents PTH08T230WAD.............. 45<br />

4.1 Tarefas utilizadas no FreeRTOS no LPC2148 ................................................... 78<br />

5.1 Parâmetros do Sistema Geodésico <strong>de</strong> Referência da Terra WGS84........................ 92<br />

III.1 Parâmetros <strong>de</strong> calibração para Tensão da Bateria - Célula 1 ............................... 207<br />

III.2 Parâmetros <strong>de</strong> calibração para Tensão da Bateria - Célula 2 ............................... 207<br />

III.3 Parâmetros <strong>de</strong> calibração para Tensão da Bateria - Célula 3 ............................... 207<br />

III.4 Parâmetros <strong>de</strong> calibração para corrente da bateria ............................................ 207<br />

III.5 Parâmetros <strong>de</strong> calibração para o acelerômetro - eixo x ....................................... 208<br />

III.6 Parâmetros <strong>de</strong> calibração para o acelerômetro - eixo y ....................................... 208<br />

III.7 Parâmetros <strong>de</strong> calibração para o acelerômetro - eixo z ....................................... 208<br />

III.8 Parâmetros <strong>de</strong> calibração para o magnetômetro - eixo x ..................................... 209<br />

III.9 Parâmetros <strong>de</strong> calibração para o magnetômetro - eixo y ..................................... 209<br />

III.10Parâmetros <strong>de</strong> calibração para o magnetômetro - eixo z ..................................... 209<br />

III.11Parâmetros <strong>de</strong> calibração para o girômetro - eixo x ........................................... 210<br />

III.12Parâmetros <strong>de</strong> calibração para o girômetro - eixo y ........................................... 210<br />

xi


III.13Parâmetros <strong>de</strong> calibração para o girômetro - eixo z ........................................... 210<br />

III.14Parâmetros <strong>de</strong> calibração para o tubo <strong>de</strong> pitot ................................................. 211<br />

III.15Parâmetros <strong>de</strong> calibração para os sonares ........................................................ 211<br />

III.16Parâmetros <strong>de</strong> calibração para os sonares ........................................................ 211


LISTA DE SÍMBOLOS<br />

X,Y,Z<br />

v<br />

f<br />

g<br />

m<br />

Eixos ortonormais <strong>de</strong> <strong>um</strong> sistema <strong>de</strong> coor<strong>de</strong>nadas tridimensional<br />

Vetor <strong>de</strong> velocida<strong>de</strong><br />

Vetor <strong>de</strong> força específica<br />

Vetor <strong>de</strong> aceleração gravitacional<br />

Vetor <strong>de</strong> campo magnético<br />

C m f<br />

q m f<br />

ω b ib<br />

Matriz <strong>de</strong> rotação do sistema M para o sistema F<br />

Quatérnio <strong>de</strong> rotação do sistema M para o sistema F<br />

Velocida<strong>de</strong> angular do sistema B em relação ao sistema I no sistema B<br />

ϕ<br />

λ<br />

Latitu<strong>de</strong><br />

Longitu<strong>de</strong><br />

φ<br />

θ<br />

ψ<br />

Ângulo <strong>de</strong> Rolagem<br />

Ângulo <strong>de</strong> Arfagem<br />

Ângulo <strong>de</strong> Guinada<br />

¯x<br />

sf x<br />

b x<br />

Medida do sensor (<strong>de</strong>scalibrada) referente à medida x<br />

Fator <strong>de</strong> escala referente à medida x<br />

Viés referente à medida x<br />

Sobrescritos<br />

· Variação temporal<br />

~ Medição corrompida por erros<br />

ˆ Valor estimado<br />

b Vetor no sistema B<br />

e Vetor no sistema E<br />

n Vetor no sistema N<br />

i Vetor no sistema I<br />

xiii


Subscritos<br />

ω<br />

f<br />

(k)<br />

Referente à medida <strong>de</strong> velocida<strong>de</strong> angular (girômetro)<br />

Referente à medida <strong>de</strong> força específica (acelerômetro)<br />

Referente ao instante k <strong>de</strong> amostragem<br />

Operadores<br />

⊗ Produto <strong>de</strong> quatérnios<br />

× Produto vetorial<br />

|(·)| Módulo <strong>de</strong> vetor<br />

||(·)|| Norma eucli<strong>de</strong>ana<br />

Siglas<br />

A/D<br />

ABC<br />

AHRS<br />

AR<br />

ARM<br />

ARMA<br />

ARMAX<br />

ARX<br />

CAD<br />

CAE<br />

CAM<br />

CEKF<br />

CG<br />

COM<br />

CRC<br />

CS<br />

DC<br />

DIP<br />

DNC<br />

DOF<br />

DSP<br />

DTL<br />

ECEF<br />

EGM<br />

EKF<br />

ENU<br />

ESC<br />

ESR<br />

Analog to Digital Converter<br />

Aircraft-body Coordinate frame<br />

Attitu<strong>de</strong> and Heading Reference System<br />

Autoregressive<br />

Advanced RISC Machine<br />

Autoregressive moving average<br />

Autoregressive moving average with exogenous inputs<br />

Autoregressive with exogenous inputs<br />

Computer-Ai<strong>de</strong>d Design<br />

Computer-Ai<strong>de</strong>d Engineering<br />

Computer-Ai<strong>de</strong>d Manufacturing<br />

Correlated Exten<strong>de</strong>d Kalman Filter<br />

Centro <strong>de</strong> Gravida<strong>de</strong><br />

Computer-On-Module<br />

Cyclic Redundancy Check<br />

Chip Select<br />

Direct Current<br />

Dual In-line Package<br />

Do Not Connect<br />

Degrees of Freedom<br />

Digital Signal Processor<br />

Departamento Técnico Laboratorial<br />

Earth Centered, Earth Fixed<br />

Earth Gravitational Mo<strong>de</strong>l<br />

Exten<strong>de</strong>d Kalman Filter<br />

East, North, Up<br />

Electronic Speed Controller<br />

Equivalent Series Resistance


FIR<br />

GCC<br />

GEKF<br />

GPS<br />

HAL<br />

HDMI<br />

I2C<br />

ICAO<br />

IIR<br />

IMU<br />

ISA<br />

ISM<br />

JTAG<br />

<strong>LARA</strong><br />

LED<br />

LLA<br />

LNA<br />

LSB<br />

LVTTL<br />

MD<br />

MEKF<br />

MEMS<br />

MIMO<br />

MQ<br />

MSD<br />

MTD<br />

MUX<br />

NED<br />

NOAA<br />

OE<br />

PCB<br />

pem<br />

PID<br />

PTC<br />

RMS<br />

RTAI<br />

RTDM<br />

RTOS<br />

SMD<br />

SMT<br />

SOC<br />

SPI<br />

Finite Impulse Response<br />

GNU Compiler Collection<br />

Generalized Multiplicative Kalman Filter<br />

Global Positioning System<br />

Hardware Abstraction Layer<br />

High-Definition Multimedia Interface<br />

Inter-Integrated Circuit<br />

International Civil Aviation Agency<br />

Infinite Impulse Response<br />

Inerial Measurement Unit<br />

International Standard Atmosphere<br />

Industrial, Scientific and Medical radio band<br />

Joint Test Action Group<br />

Laboratório <strong>de</strong> Automação e Robótica<br />

Light Emmiting Dio<strong>de</strong><br />

Latitu<strong>de</strong>, Longitu<strong>de</strong>,Altitu<strong>de</strong><br />

Low-noise Amplifier<br />

Least Significant Bit<br />

Low-Voltage Transistor-Transistor Logic<br />

Mo<strong>de</strong>los <strong>de</strong>sacoplados<br />

Multiplicative Exten<strong>de</strong>d Kalman Filter<br />

Microelectromechanical Systems<br />

Multiple Input, Multiple Output<br />

Mínimos Quadrados<br />

Mo<strong>de</strong>los semi-<strong>de</strong>sacoplados<br />

Mo<strong>de</strong>los totalmente <strong>de</strong>sacoplados<br />

Multiplexer<br />

North, East, Down<br />

National Oceanic and Atmospheric Administration<br />

Output Error<br />

Printed Circuit Board<br />

Prediction Error estimate of linear or nonlinear mo<strong>de</strong>l<br />

Controlador Proporcional, integral e <strong>de</strong>rivativo<br />

Positive Temperature Coeficient<br />

Root Mean Square<br />

Real-Time Application Interface<br />

Real-Time Driver Mo<strong>de</strong>l<br />

Real-Time Operating System<br />

Surface Mount Device<br />

Surface Mount Technology<br />

System On Chip<br />

Serial Peripheral Interface


UART<br />

UAV<br />

UKF<br />

UnB<br />

USB<br />

VANT<br />

WGS<br />

WMM<br />

XOR<br />

Universal asynchronous receiver/transmitter<br />

Unmanned Aerial Vehicle<br />

Unscented Kalman Filter<br />

Universida<strong>de</strong> <strong>de</strong> Brasília<br />

Universal Serial Bus<br />

Veículo Aéreo Não-<strong>Tripulado</strong><br />

World Geo<strong>de</strong>tic System<br />

World Magnetic Mo<strong>de</strong>l<br />

Exclusive OR


Capítulo 1<br />

Introdução<br />

“The last thing that we find in making a book is<br />

to know what we must put first.” –Blaise Pascal<br />

1.1 Contextualização<br />

Um dos gran<strong>de</strong>s marcos da engenharia do século XX foi o domínio dos céus - em meros 100<br />

anos, o ser h<strong>um</strong>ano foi <strong>de</strong> sonhar em voar como os pássaros a ultrapassar a barreira do som e pisar<br />

na Lua em máquinas voadoras.<br />

Esse mesmo século também trouxe maravilhas como a eletrônica e as telecomunicações, que<br />

levaram a concepção e construção dos computadores pessoais e a internet - elementos chave do<br />

estilo <strong>de</strong> vida que a h<strong>um</strong>anida<strong>de</strong> leva hoje.<br />

Uma das tecnologias que vem sendo cada vez mais popularizada pelos meios <strong>de</strong> comunicação<br />

é a do Veículo Aéreo Não-<strong>Tripulado</strong> - o famoso VANT (ou Unmanned Aerial Vehicle, UAV). Em<br />

s<strong>um</strong>a, essa tecnologia se res<strong>um</strong>e a aeronaves sem tripulação, on<strong>de</strong> todo o comando é feito <strong>de</strong> forma<br />

automática (ou remota) através da aquisição <strong>de</strong> dados sensoriais. Os VANTs são <strong>um</strong> excelente<br />

exemplo <strong>de</strong> <strong>um</strong>a tecnologia que gira em torno engenharia <strong>de</strong> ponta - esse tipo <strong>de</strong> equipamento<br />

combina o melhor da engenharia aeronáutica e mecânica na parte física da aeronave, com o melhor<br />

da engenharia elétrica na parte sensorial e <strong>de</strong> controle.<br />

Por mais que as tecnologias por trás dos VANTs estejam consolidadas, os VANTs em si estão<br />

em sua infância. Como no início da aviação, as primeiras aplicações são as militares - os exércitos<br />

dos Estados Unidos, por exemplo, utiliza <strong>um</strong> série <strong>de</strong> VANTs para monitoramento e <strong>de</strong>fesa <strong>de</strong><br />

zonas <strong>de</strong> guerra. Os VANTs apresentam maior autonomia, maior capacida<strong>de</strong>, menor custo <strong>de</strong><br />

operação e, principalmente segurança total a tripulação, que está segura em solo.<br />

Como exemplo <strong>de</strong> VANTs <strong>de</strong> uso militar, po<strong>de</strong>-se citar o Global Hawk e o Predator da Força<br />

Aérea Americana, ilustrados pelas Figuras 1.1 e 1.2.<br />

Ao mesmo tempo que os VANTs tem chamado muita atenção na esfera militar, eles também<br />

tem chamado muita atenção na esfera hobista. Nos últimos anos, o mercado tem sido invadido<br />

por vários sensores <strong>de</strong> baixo custo e alta precisão (baseados na tecnologia MEMS). Esses sensores,<br />

aliados a <strong>um</strong>a comunida<strong>de</strong> disposta a <strong>de</strong>senvolver e disponibilizar algoritmos <strong>de</strong> graça na Internet<br />

1


Figura 1.1: General Atomics MQ-1 Predator<br />

Figura 1.2: Northrop Gr<strong>um</strong>man Global Hawk<br />

e <strong>um</strong>a gran<strong>de</strong> quantida<strong>de</strong> <strong>de</strong> aeromo<strong>de</strong>los disponíveis no mercado, tornaram o pequeno VANT<br />

autônomo baseado em torno <strong>de</strong> aeromo<strong>de</strong>los <strong>um</strong>a tecnologia acessível ao engenheiro <strong>de</strong> final <strong>de</strong><br />

semana.<br />

Esse misto entre <strong>um</strong>a tecnologia militar e <strong>um</strong>a brinca<strong>de</strong>ira dos hobistas tem gerado muitas<br />

aplicações <strong>de</strong> interesse comercial, visando unir o baixo custo dos VANTs baseados em aeromo<strong>de</strong>los<br />

com as tecnologias empregadas para uso militar. Entre elas, <strong>de</strong>stacam-se aplicações <strong>de</strong> imageamento<br />

remoto, que visam adquirir imagens aéreas <strong>de</strong> alta resolução com <strong>um</strong> baixo custo. Essas<br />

informações po<strong>de</strong>m ser utilizadas para geoprocessamento, gerando mapas com informações extremamente<br />

precisas, em aplicações <strong>de</strong> agricultura <strong>de</strong> precisão, e para monitoramento em tempo real,<br />

permitindo a fiscalização <strong>de</strong> obras ou <strong>de</strong> gran<strong>de</strong>s eventos.<br />

Outros ramos mais exóticos, como a inspeção industrial, monitoramento ambiental e filmagem<br />

para cinema também tem utilizado VANTs para diminuir os custos em or<strong>de</strong>ns <strong>de</strong> magnitu<strong>de</strong>.<br />

Tais como as aeronaves tradicionais, os VANTs po<strong>de</strong>m ser <strong>de</strong> asa fixa (aviões) ou <strong>de</strong> asa<br />

rotatória (helicópteros), gran<strong>de</strong>s (carregando equipamentos e pessoas) ou pequenos (aeromo<strong>de</strong>los).<br />

Porém, a ausência <strong>de</strong> <strong>um</strong>a tripulação e <strong>de</strong> restrições <strong>de</strong> segurança e autonomia permite o uso <strong>de</strong><br />

alg<strong>um</strong>as tecnologias diferenciadas, como a propulsão com múltiplas hélices e o uso <strong>de</strong> motores<br />

elétricos.<br />

O <strong>LARA</strong> tem certo histórico no <strong>de</strong>senvolvimento <strong>de</strong> VANTs baseados em pequenos aeromo<strong>de</strong>los.<br />

Nos últimos anos, po<strong>de</strong>-se <strong>de</strong>stacar o trabalho <strong>de</strong> Bó [1], que <strong>de</strong>senvolveu <strong>um</strong> sistema<br />

<strong>de</strong> instr<strong>um</strong>entação e estimação <strong>de</strong> orientação e posição para aeromo<strong>de</strong>los, o Projeto Carcarah,<br />

financiado pela Plena Transmissoras, que <strong>de</strong>senvolveu <strong>um</strong> protótipo <strong>de</strong> VANT para inspeção <strong>de</strong><br />

linhas <strong>de</strong> transmissão <strong>de</strong> alta-tensão [2]. Um protótipo <strong>de</strong> <strong>um</strong> quadrirrotor também está em<br />

<strong>de</strong>senvolvimento no laboratório [3].<br />

Uma outra área <strong>de</strong> interesse do <strong>LARA</strong> é em estimação e filtragem - <strong>um</strong>a área essencial no<br />

<strong>de</strong>senvolvimento <strong>de</strong> qualquer VANT. Vários trabalhos do laboratório aplicaram Filtros <strong>de</strong> Kalman<br />

e suas variantes para estimar a orientação, posição e velocida<strong>de</strong> <strong>de</strong> <strong>um</strong> robôs móveis [1, 4, 5]<br />

utilizando a instr<strong>um</strong>entação típica <strong>de</strong> <strong>um</strong> VANT.<br />

O <strong>LARA</strong> também tem interesse na área <strong>de</strong> controle e i<strong>de</strong>ntificação aplicados a sistemas reais.<br />

2


Figura 1.3: Plataforma ANU <strong>de</strong>senvolvida nesse trabalho<br />

Nesse contexto, surgiu o projeto ANU (Autonomously Navigated UAV, Figura 1.3) - a i<strong>de</strong>ia era<br />

<strong>de</strong>senvolver <strong>um</strong>a plataforma do tipo VANT real, baseada em aeromo<strong>de</strong>lo <strong>de</strong> asa fixa, para estudar<br />

e implementar soluções <strong>de</strong> instr<strong>um</strong>entação, estimação e controle <strong>de</strong> robôs aéreos.<br />

Os primeiros protótipos e resultados do projeto ANU foram utilizados no trabalho <strong>de</strong> Baptista<br />

[6], que utilizou <strong>um</strong>a abordagem <strong>de</strong> sistemas híbridos para resolver o problema <strong>de</strong> controle em <strong>um</strong><br />

VANT. O trabalho <strong>de</strong> Souza [7] continuou a estudar VANTs <strong>de</strong> asa fixa, focando em técnicas <strong>de</strong><br />

controle tradicionais.<br />

Atualmente, o <strong>LARA</strong> está envolvido no projeto FINEP/MINIVANT, que visa <strong>de</strong>senvolver <strong>um</strong><br />

VANT <strong>de</strong> asa fixa completo - <strong>de</strong>s<strong>de</strong> o projeto mecânico até os algoritmos <strong>de</strong> controle, passando<br />

por toda a parte eletrônica e <strong>de</strong> instr<strong>um</strong>entação.<br />

Esse trabalho <strong>de</strong> conclusão <strong>de</strong> curso foca na instr<strong>um</strong>entação e i<strong>de</strong>ntificação <strong>de</strong> VANTs, tentando<br />

suprir a necessida<strong>de</strong> do <strong>LARA</strong> <strong>de</strong> dominar por completo esse tipo <strong>de</strong> tecnologias. Ele é resultado<br />

direto dos estudos realizados pelo projeto ANU, e visa ser utilizado como <strong>um</strong>a base inicial para o<br />

FINEP/MINIVANT.<br />

1.2 Objetivos do projeto<br />

Um trabalho <strong>de</strong> conclusão <strong>de</strong> curso <strong>de</strong>ve fazer <strong>um</strong> apanhado geral dos conhecimentos adquiridos<br />

ao longo do curso <strong>de</strong> graduação. Esse mesmo <strong>de</strong>ve agregar conhecimento ao grupo <strong>de</strong> pesquisa,<br />

permitindo que o trabalho seja continuado e eventualmente se gere bons resultados científicos.<br />

Os projetos atuais do <strong>LARA</strong> também indicavam a necessida<strong>de</strong> <strong>de</strong> <strong>um</strong>a nova plataforma científica<br />

para robótica aérea, girando em torno <strong>de</strong> <strong>um</strong> aeromo<strong>de</strong>lo <strong>de</strong> asa fixa.<br />

3


Com isso em mente, a proposta <strong>de</strong>sse trabalho foi <strong>de</strong>senvolver <strong>um</strong> pequeno veículo aéreo nãotripulado<br />

com base em <strong>um</strong> aeromo<strong>de</strong>lo <strong>de</strong> asa fixa. A i<strong>de</strong>ia era acrescentar <strong>um</strong>a nova plataforma<br />

<strong>de</strong> pesquisa ao acervo do <strong>LARA</strong>, visando incentivar o <strong>de</strong>senvolvimento <strong>de</strong> técnicas <strong>de</strong> estimação e<br />

controle aplicados a sistemas reais.<br />

Esse trabalho seria a execução da plataforma experimental do projeto ANU, e tenta complementar<br />

o trabalho <strong>de</strong> controle <strong>de</strong>senvolvido em [6, 7].<br />

Assim, os objetivos <strong>de</strong>sse trabalho são:<br />

• Adaptar fisicamente <strong>um</strong> aeromo<strong>de</strong>lo para carregar todo o sistema <strong>de</strong> instr<strong>um</strong>entação e controle<br />

<strong>de</strong> bordo<br />

• Desenvolver <strong>um</strong> sistema eletrônico programável completo <strong>de</strong> instr<strong>um</strong>entação e controle para<br />

a aeronave<br />

• Desenvolver todo o software necessário para fazer a aquisição/análise <strong>de</strong> dados, estimação e<br />

controle da aeronave<br />

Como objetivo secundário, <strong>de</strong>ve-se <strong>de</strong>stacar a necessida<strong>de</strong> <strong>de</strong> a plataforma ser <strong>de</strong> uso científico -<br />

ou seja, <strong>de</strong> necessida<strong>de</strong> da plataforma ser flexível a ponto <strong>de</strong> permitir a implementação <strong>de</strong> técnicas<br />

<strong>de</strong> estimação ou controle pouco usuais, tanto do ponto <strong>de</strong> vista teórico como computacional. A<br />

validação da plataforma também é outro ponto crucial, a fim <strong>de</strong> garantir que as soluções propostas<br />

po<strong>de</strong>m ser utilizadas como base <strong>de</strong> <strong>um</strong> outro trabalho <strong>de</strong> forma confiável.<br />

Esse trabalho é interessante pois engloba muitos os conhecimentos agregados ao longo do<br />

curso <strong>de</strong> Engenharia Elétrica, focando na parte eletrônica (com a instr<strong>um</strong>entação da aeronave) e<br />

no controle (mo<strong>de</strong>lagem matemática e estimação).<br />

Dessa forma, esse trabalho se propõe a executar:<br />

• Escolha <strong>de</strong> <strong>um</strong>a plataforma (aeromo<strong>de</strong>lo) apropriada as necessida<strong>de</strong>s do <strong>LARA</strong><br />

• Fazer as adaptações mecânicas necessárias a plataforma, executando a instalação dos sensores<br />

e do sistema <strong>de</strong> processamento<br />

• Desenvolver <strong>um</strong> hardware robusto para funcionar nas condições adversas apresentadas <strong>de</strong>ntro<br />

da aeronave sem falhas (flight-rated)<br />

• Desenvolver e testar <strong>um</strong> conjunto <strong>de</strong> programas para operar o hardware <strong>de</strong> forma robusta,<br />

mas mantendo a flexibilida<strong>de</strong> necessária para o <strong>de</strong>senvolvimento científico<br />

• Testar soluções <strong>de</strong> estimação <strong>de</strong> estados e i<strong>de</strong>ntificação <strong>de</strong> sistemas, visando validar a plataforma<br />

e preparar trabalhos futuros<br />

Finalmente, esse trabalho quer <strong>de</strong>ixar no <strong>LARA</strong> não só <strong>um</strong>a plataforma experimental completa,<br />

mas todo conhecimento ac<strong>um</strong>ulado ao longo do <strong>de</strong>senvolvimento - fornecendo assim referências <strong>de</strong><br />

hardware e software para outros projetos, e base <strong>de</strong> dados <strong>de</strong> voos para outros grupos <strong>de</strong> pesquisa<br />

que ainda não contam com esse tipo <strong>de</strong> plataforma.<br />

4


1.3 Apresentação do manuscrito<br />

O capítulo 2 faz <strong>um</strong>a breve revisão <strong>de</strong> alguns conceitos necessários para a compreensão do<br />

trabalho. Os capítulos 3 e 4 <strong>de</strong>screvem a proposta e implementação do (hardware) e software<br />

<strong>de</strong>senvolvidos para a plataforma. O capítulo 5 foca no <strong>de</strong>senvolvimento <strong>de</strong> <strong>um</strong> estimador <strong>de</strong><br />

estados, e o capítulo 6 <strong>de</strong>screve a i<strong>de</strong>ntificação da aeronave. O capítulo 7 mostra os resultados (em<br />

simulação e reais), seguido das conclusões no capítulo 8. Os anexos contém material complementar.<br />

Figura 1.4: Plataforma ANU pronta para voo<br />

5


Capítulo 2<br />

Fundamentação Teórica<br />

2.1 Introdução<br />

“If I have seen further it is by standing on the<br />

shoul<strong>de</strong>rs of giants.” –Sir Isaac Newton<br />

Antes <strong>de</strong> começarmos com o trabalho feito para <strong>de</strong>senvolvimento do VANT, será necessário<br />

que seja feito <strong>um</strong>a pequena revisão <strong>de</strong> alguns conceitos que serão utilizados intensamente durante<br />

esse trabalho. Como o conteúdo <strong>de</strong>sse projeto é muito específico, há <strong>de</strong>terminados assuntos que<br />

não são amplamente conhecidos e por segurança, trataremos <strong>de</strong>les neste capítulo.<br />

2.2 Notação <strong>de</strong> velocida<strong>de</strong>s e ângulos<br />

Uma das dificulda<strong>de</strong>s <strong>de</strong> se tratar <strong>de</strong> mo<strong>de</strong>los aerodinâmicos, e mo<strong>de</strong>lagens <strong>de</strong> veículos aéreos,<br />

é a enorme gama <strong>de</strong> possibilida<strong>de</strong>s <strong>de</strong> símbolos para forças, velocida<strong>de</strong>s, acelerações e atitu<strong>de</strong>. Há<br />

diversos livros que usam variada combinação <strong>de</strong> símbolos e letras para <strong>de</strong>terminação <strong>de</strong> gran<strong>de</strong>zas<br />

muito comentadas nesse capítulo.<br />

Com intuito <strong>de</strong> padronizar <strong>de</strong>ntro do presente trabalho a notação para essas gran<strong>de</strong>zas evitando<br />

possíveis confusões, estabeleceremos aqui as notações utilizadas, que será a mesma utilizada em<br />

[7, 8]:<br />

Gran<strong>de</strong>za Eixos<br />

Eixo da aeronave ox oy oz<br />

Força X Y Z<br />

Momento L M N<br />

Velocida<strong>de</strong> Linear U V W<br />

Velocida<strong>de</strong> Angular p q r<br />

Atitu<strong>de</strong> φ θ ψ<br />

Tabela 2.1: Notações <strong>de</strong> gran<strong>de</strong>zas utilizadas<br />

7


2.3 Sistemas <strong>de</strong> Coor<strong>de</strong>nadas<br />

Para caracterizar a aeronave no espaço, precisamos <strong>de</strong>finir on<strong>de</strong> estarão referenciados os eixos<br />

<strong>de</strong> referência, e em quais coor<strong>de</strong>nadas eles estão <strong>de</strong>scritos. Não serão utilizadas somente <strong>um</strong> tipo<br />

<strong>de</strong> sistema <strong>de</strong> coor<strong>de</strong>nadas, pois neste trabalho há algoritmos que trabalham melhor com <strong>um</strong> tipo<br />

<strong>de</strong> sistema e algoritmos que funcionam melhor com outros.<br />

2.3.1 Fixo e centrado na Terra (ECEF, Sistema E)<br />

Esse sistema é também conhecido como ECEF, Earth Centered, Earth Fixed, fixo e centrado<br />

na Terra, ou Sistema E. Sua origem, ponto (0,0,0), está localizado no centro da Terra, ali fixo<br />

com relação à superfície da Terra. Ele é representado em coor<strong>de</strong>nadas cartesianas, sendo que <strong>um</strong><br />

dos eixos, geralmente o eixo Z aponta para o Norte, enquanto os eixos X e Y estão no plano da<br />

linha do equador, conforme a Figura 2.1. O eixo X interceptará a superfície terrestre no ponto <strong>de</strong><br />

0 ◦ <strong>de</strong> latitu<strong>de</strong> e 0 ◦ <strong>de</strong> longitu<strong>de</strong>.<br />

Esse sistema é i<strong>de</strong>al para gran<strong>de</strong>s excursões ao redor do planeta, pois não aproxima a Terra<br />

para <strong>um</strong>a superfície plana. Porém por utilizar sistemas <strong>de</strong> coor<strong>de</strong>nadas cartesiana e a Terra<br />

apresentar <strong>um</strong>a forma aproximadamente esférica, a utilização <strong>de</strong>sse sistema po<strong>de</strong> acarretar maior<br />

trabalho na execução dos cálculos. Problema sanado pelo sistema LLA.<br />

Figura 2.1: Exemplo do sistema <strong>de</strong> coor<strong>de</strong>nadas ECEF<br />

8


2.3.2 Latitu<strong>de</strong>, Longitu<strong>de</strong>, Altitu<strong>de</strong> LLA<br />

Para resolver o problema da representação cartesiana, o sistema LLA, (Latitu<strong>de</strong>, Longitu<strong>de</strong>,<br />

Altitu<strong>de</strong>) é semelhante ao ECEF no que diz respeito ao posicionamento do eixo <strong>de</strong> coor<strong>de</strong>nadas.<br />

Porém esse eixo é referenciado com coor<strong>de</strong>nadas esféricas dadas pela latitu<strong>de</strong>, longitu<strong>de</strong> e altitu<strong>de</strong>.<br />

A latitu<strong>de</strong> é o ângulo entre o ponto <strong>de</strong>sejado e a linha do equador. Sua excursão em cada<br />

hemisfério vai até 90 ◦ significando <strong>um</strong> polo, e a letra indica qual hemisfério, 90 ◦ S e 90 ◦ N. A<br />

longitu<strong>de</strong> tem como 0 ◦ no meridiano <strong>de</strong> Greenwich, sendo sua excursão máxima <strong>de</strong> 180 ◦ . As letras<br />

W e E indicam os sentidos dos ângulos <strong>de</strong> longitu<strong>de</strong>, oeste e leste respectivamente. Com esses<br />

dois pontos é possível <strong>de</strong>finir on<strong>de</strong> no globo está o local <strong>de</strong>sejado, porém não <strong>de</strong>finem sua altura.<br />

O parâmetro <strong>de</strong> altitu<strong>de</strong> é a altura entre o local <strong>de</strong>sejado e o Geoi<strong>de</strong> WGS84, explicado na Seção<br />

5.2.7.<br />

2.3.3 North, East, Down, (NED, Sistema N)<br />

Esse sistema <strong>de</strong> coor<strong>de</strong>nadas é <strong>um</strong> sistema fixo em <strong>um</strong> ponto específico na superfície da Terra.<br />

Sua sigla indica a direção <strong>de</strong> apontamento dos seus eixos, North, East, Down ou Norte, Leste,<br />

pra baixo. O que se faz é adotar <strong>um</strong> ponto para a origem na superfície terrestre, e <strong>de</strong>le traça-se<br />

<strong>um</strong> plano tangente com eixos apontados para Norte, Leste e para baixo como é possível ver da<br />

Figura 2.2, porém com o eixo <strong>de</strong> coor<strong>de</strong>nadas invertido <strong>de</strong> forma que o vetor que aponta para<br />

cima, aponte agora para baixo. Esse sistema também é chamado <strong>de</strong> Sistema N.<br />

Esse sistema é interessante para o caso <strong>de</strong>sse trabalho pois a excursão da nossa aeronave será<br />

relativamente curta, e <strong>um</strong> sistema que é baseado em <strong>um</strong> plano tangencial à terra <strong>de</strong>screve a<br />

trajetória <strong>de</strong> <strong>um</strong>a maneira mais fácil <strong>de</strong> ser assimilada. Também conhecido como mo<strong>de</strong>lo do tipo<br />

“Terra plana”, para gran<strong>de</strong>s excursões esse tipo <strong>de</strong> sistema <strong>de</strong> coor<strong>de</strong>nadas trás erros pois <strong>um</strong>a<br />

superfície aproximadamente esférica é consi<strong>de</strong>rada plana.<br />

2.3.4 East, North, Up, (ENU, , Sistema E)<br />

Assim como o sistema NED, o sistema <strong>de</strong> coor<strong>de</strong>nadas ENU (East, North, Up ou Leste, Norte<br />

e para cima, conhecido como, Sistema E) também trabalha com <strong>um</strong> ponto <strong>de</strong> origem na superfície<br />

terrestre e utiliza-se <strong>um</strong> plano tangente à essa superfície. Porém nesse caso a or<strong>de</strong>m dos eixos <strong>de</strong><br />

coor<strong>de</strong>nadas é invertido, exatamente como mostra a Figura 2.2.<br />

2.3.5 Aircraft-body Coordinate frame (ABC, Sistema B)<br />

Esse sistema <strong>de</strong> coor<strong>de</strong>nadas é conhecido como ABC (Aircraft-body Coordinate frame ou Sistema<br />

<strong>de</strong> coor<strong>de</strong>nadas fixo no corpo da aeronave), também conhecido como Sistema B. O ponto <strong>de</strong><br />

origem <strong>de</strong>sse sistema é fixo na aeronave, e se movimenta juntamente <strong>de</strong>la. É <strong>de</strong> bom grado alinhar<br />

os eixos da aeronave com os do sistema para facilitar os cálculos matemáticos, como mostra a<br />

Figura 2.4.<br />

9


Z ECEF<br />

North<br />

Up<br />

East<br />

λ<br />

φ<br />

X ECEF<br />

Y ECEF<br />

Figura 2.2: Sistema <strong>de</strong> coor<strong>de</strong>nadas locais NED<br />

A vantagem <strong>de</strong> se utilizar esse sistema <strong>de</strong> coor<strong>de</strong>nadas é evitar o drift e bias no mo<strong>de</strong>lo<br />

i<strong>de</strong>ntificado. Na seção 6.6 comentamos brevemente sobre o assunto.<br />

2.4 Mudança <strong>de</strong> eixos <strong>de</strong> coor<strong>de</strong>nadas<br />

Uma vez <strong>de</strong>finidos os sistemas <strong>de</strong> coor<strong>de</strong>nadas, é importante que saibamos como transpor <strong>um</strong>a<br />

informação <strong>de</strong> <strong>um</strong> sistema para outro. Isso é importante, pois alguns métodos computacionais trabalham<br />

melhor com alg<strong>um</strong> sistema específico <strong>de</strong> coor<strong>de</strong>nadas, ou até mesmo para evitar problemas<br />

na i<strong>de</strong>ntificação.<br />

2.4.1 Transformação <strong>de</strong> posições<br />

Utilizando o mesmo método <strong>de</strong> [8], queremos levar nossas componentes <strong>de</strong> <strong>um</strong>a quantida<strong>de</strong><br />

linear <strong>de</strong> <strong>um</strong> sistema <strong>de</strong> coor<strong>de</strong>nadas para outro. Basicamente queremos levar essas componentes<br />

do sistema (ox 0 , oy 0 , oz 0 ) para o sistema (ox 3 , oy 3 , oz 3 ).<br />

Figura 2.3: Ângulos <strong>de</strong> Euler<br />

Baseando-se na Figura 2.3, or<strong>de</strong>namos primeiro <strong>um</strong>a rolagem <strong>de</strong> ângulo φ no eixo ox 3 , e levando<br />

10


o sistema <strong>de</strong> (ox 3 , oy 3 , oz 3 ) para (ox 2 , oy 2 , oz 2 ). Então se aplica <strong>um</strong>a guinada <strong>de</strong> ângulo θ sobre<br />

oy 2 e por fim <strong>um</strong>a arfagem <strong>de</strong> ângulo ψ sobre oz 1 . Transpomos então o sistema como <strong>um</strong> todo,<br />

tendo as matrizes:<br />

⎡ ⎤ ⎡<br />

⎤ ⎡<br />

⎤ ⎡<br />

⎤ ⎡ ⎤<br />

ox 3 1 0 0 cos θ 0 − sin θ cos ψ sin ψ 0 ox 0<br />

⎢<br />

⎣oy 3<br />

⎥<br />

⎦ = ⎢<br />

⎣0 cos φ sin φ⎥<br />

⎢<br />

⎦ ⎣ 0 1 0 ⎥ ⎢<br />

⎦ ⎣− sin ψ cos ψ 0⎥<br />

⎢<br />

⎦ ⎣oy 0<br />

⎥<br />

⎦ (2.1)<br />

oz 3 0 − sin φ cos φ sin θ 0 cos θ 0 0 1 oz 0<br />

Juntando-as em <strong>um</strong>a única matriz:<br />

⎡ ⎤ ⎡<br />

⎤ ⎡ ⎤<br />

ox 3<br />

cos φ cos ψ cos θ sin ψ − sin θ ox 0<br />

⎢<br />

⎣oy 3<br />

⎥<br />

⎦ = ⎢<br />

⎣sin φ sin θ cos ψ − cos φ sin ψ sin φ sin θ sin ψ + cos φ cos ψ sin φ cos θ⎥<br />

⎢<br />

⎦ ⎣oy 0<br />

⎥<br />

⎦ (2.2)<br />

oz 3 cos φ sin θ cos ψ + sin φ sin ψ cos φ sin θ sin ψ − sin φ cos ψ cos φ cos θ oz 0<br />

⎡ ⎤ ⎡ ⎤<br />

ox 3 ox 0<br />

⎢<br />

⎣oy 3<br />

⎥<br />

⎦ = D ⎢<br />

⎣oy 0<br />

⎥<br />

⎦ (2.3)<br />

oz 3 oz 0<br />

Sendo D a matriz cosseno direcional. Então a Equação 2.3 leva quantida<strong>de</strong>s lineares do sistema<br />

(ox 0 , oy 0 , oz 0 ) para o sistema (ox 3 , oy 3 , oz 3 ). Para efetuar a operação inversa teremos a Equação<br />

2.4.<br />

⎡ ⎤ ⎡ ⎤<br />

ox 0 ox 3<br />

⎢<br />

⎣oy 0<br />

⎥<br />

⎦ = D−1 ⎢<br />

⎣oy 3<br />

⎥<br />

⎦ (2.4)<br />

oz 0 oz 3<br />

2.4.2 Transformação <strong>de</strong> velocida<strong>de</strong>s angulares<br />

Esta mudança <strong>de</strong> coor<strong>de</strong>nadas visa relacionar velocida<strong>de</strong>s angulares P, Q e R com taxas <strong>de</strong><br />

variação da atitu<strong>de</strong> em termos <strong>de</strong> ângulos <strong>de</strong> Euler (Seção 2.5.1), ˙φ, ˙θ e ˙ψ.<br />

Utilizando o mesmo método utilizado na seção anterior, as matrizes correspon<strong>de</strong>ntes são:<br />

Caso se queira fazer a operação inversa:<br />

⎡ ⎤ ⎡<br />

⎤ ⎡ ⎤<br />

P 1 0 − sin θ ˙φ<br />

⎢<br />

⎣Q<br />

⎥<br />

⎦ = ⎢<br />

⎣0 cos θ sin φ cos θ⎥<br />

⎢<br />

⎦ ⎣<br />

˙θ ⎥<br />

⎦ (2.5)<br />

R 0 − sin φ cos φ cos θ ˙ψ<br />

⎡ ⎤ ⎡<br />

⎤ ⎡ ⎤<br />

˙φ 1 sin φ tan θ cos φ tan θ P<br />

⎢<br />

⎣<br />

˙θ ⎥<br />

⎦ = ⎢<br />

⎣0 cos φ − sin φ ⎥ ⎢<br />

⎦ ⎣Q<br />

⎥<br />

⎦ (2.6)<br />

˙ψ 0 sin φ sec θ cos φ sec θ R<br />

Para pequenas variações dos ângulos <strong>de</strong> Euler, po<strong>de</strong>mos aproximar as Equações 2.5 e 2.6 por:<br />

11


p = ˙φ (2.7)<br />

q = ˙θ<br />

r = ˙ψ<br />

2.5 Representações angulares<br />

Para fazer o controle e a i<strong>de</strong>ntificação da aeronave em questão, além <strong>de</strong> ser necessário saber<br />

em qual ponto do espaço ela se encontra, é necessário saber qual a sua atitu<strong>de</strong>. Isso significa<br />

saber como a aeronave está posicionada, pois <strong>de</strong> acordo com seu posicionamento, diferentes ações<br />

<strong>de</strong>verão ser tomadas, visto que seu comportamento é <strong>de</strong>pen<strong>de</strong>nte <strong>de</strong> como o VANT está orientado.<br />

Para isso serão apresentadas aqui alg<strong>um</strong>as formas <strong>de</strong> representação <strong>de</strong> atitu<strong>de</strong>. Todas serão<br />

utilizadas em alg<strong>um</strong> momento nos algoritmos computacionais, pois <strong>de</strong>pen<strong>de</strong>ndo do que for feito,<br />

o uso específico <strong>de</strong> <strong>um</strong> tipo <strong>de</strong> representação em <strong>de</strong>terminada aplicação trará vantagens.<br />

2.5.1 Ângulos <strong>de</strong> Euler<br />

Nas seções anteriores foram feitas referências aos ângulos <strong>de</strong> Euler <strong>de</strong> forma informal, agora<br />

trataremos mais formalmente. Os ângulos <strong>de</strong> Euler são três ângulos que <strong>de</strong>screvem a atitu<strong>de</strong> <strong>de</strong><br />

<strong>um</strong> corpo fixo. Esses três ângulos indicam a variação angular <strong>de</strong>sse corpo em relação à <strong>um</strong> sistema<br />

<strong>de</strong> coor<strong>de</strong>nadas previamente fixado. Cada ângulo indica o ângulo entre o corpo e <strong>um</strong> dos três<br />

eixos do sistema.<br />

Figura 2.4: Ângulos <strong>de</strong> Euler em <strong>um</strong> sistema ABC<br />

Com a Figura 2.4, po<strong>de</strong>mos exemplificar o conceito <strong>de</strong> ângulos <strong>de</strong> Euler. Esses três ângulos<br />

são chamados <strong>de</strong> Rolagem, Arfagem e Guinada, em inglês Roll, Pitch e Yaw, e representam <strong>um</strong>a<br />

variação angular nos eixos, X, Y e Z respectivamente. Em <strong>um</strong> sistema <strong>de</strong> coor<strong>de</strong>nadas do tipo<br />

ABC é mais fácil relacionar os ângulos à atitu<strong>de</strong> do corpo, pois fixamos <strong>um</strong> eixo <strong>de</strong> coor<strong>de</strong>nadas<br />

na aeronave em condições <strong>de</strong> regime permanente, e as variações dos ângulos <strong>de</strong> Euler, indicando<br />

mudança na atitu<strong>de</strong>, po<strong>de</strong>m ser vistas diretamente comparando-se a atitu<strong>de</strong> atual com a <strong>de</strong> regime<br />

permanente, que foi baseada para fixação dos eixos.<br />

12


Os ângulos <strong>de</strong> Euler também po<strong>de</strong>m representar as diferenças angulares entre dois sistemas<br />

<strong>de</strong> coor<strong>de</strong>nadas, e através da utilização da matriz Cosseno Direcional e das técnicas citadas em<br />

2.4.1 é possível transformar <strong>um</strong> sistema <strong>de</strong> coor<strong>de</strong>nadas em outro, <strong>de</strong>s<strong>de</strong> que as diferenças sejam<br />

somente rotacionais.<br />

2.5.2 Quaternions<br />

Uma forma alternativa <strong>de</strong> representar <strong>um</strong>a orientação no espaço é através dos quaternions,<br />

que são <strong>um</strong>a extensão do conjunto dos números complexos com três elementos imaginários. Esse<br />

tipo <strong>de</strong> representação é utilizada com frequência em implementações práticas <strong>de</strong> algoritmos <strong>de</strong><br />

estimação, pois:<br />

• Não possuem singularida<strong>de</strong>s como ângulos <strong>de</strong> Euler<br />

• Representação mais compacta que matrizes <strong>de</strong> rotação<br />

• Menor custo computacional na propagação <strong>de</strong> atitu<strong>de</strong><br />

O quaternion <strong>de</strong> norma unitária po<strong>de</strong> ser interpretado como <strong>um</strong> vetor no espaço (3 componentes)<br />

e a rotação em torno <strong>de</strong>sse eixo. É essa a forma que é utilizada para representar a atitu<strong>de</strong> <strong>de</strong><br />

<strong>um</strong>a aeronave.<br />

Uma representação compacta <strong>de</strong> <strong>um</strong> quaternion é apresentada na equação 2.8. Embora seja<br />

semelhante à notação a<strong>de</strong>quada para vetores-coluna, é preciso ressaltar nem todas as proprieda<strong>de</strong>s<br />

<strong>de</strong> vetores valem para quaternion. Uma abordagem mais <strong>de</strong>talhada sobre o assunto po<strong>de</strong> ser vista<br />

em [5, 9].<br />

⎡ ⎤<br />

q 0<br />

q 1<br />

q = q 0 + q 1 i + q 2 j + q 3 k =<br />

, (2.8)<br />

⎢<br />

⎣q 2<br />

⎥<br />

⎦<br />

q 3<br />

Os ângulos <strong>de</strong> Euler po<strong>de</strong>m ser convertidos em quaternions por:<br />

⎡<br />

⎤<br />

cos(φ/2)cos(θ/2)cos(ψ/2) − sen(φ/2)sen(θ/2)sen(ψ/2)<br />

qn(e b b cos(φ/2)cos(θ/2)sen(ψ/2) + sen(φ/2)sen(θ/2)cos(ψ/2)<br />

n) =<br />

⎢<br />

⎣cos(φ/2)sen(θ/2)cos(ψ/2) − sen(φ/2)cos(θ/2)sen(ψ/2) ⎥<br />

⎦<br />

cos(φ/2)sen(θ/2)sen(ψ/2) + sen(φ/2)cos(θ/2)cos(ψ/2)<br />

(2.9)<br />

A operação inversa é dada por:<br />

⎡<br />

atan2 ( −2q 1 q 2 + 2q 0 q 3 , q0 2<br />

e b n(qn) b + q2 1 − q2 2 − ) ⎤<br />

q2 3<br />

= ⎢<br />

⎣ asen (2q 1 q 3 + 2q 0 q 2 )<br />

⎥<br />

atan2 ( −2q 2 q 3 + 2q 0 q 1 , q0 2 − q2 1 − q2 2 + )<br />

⎦ (2.10)<br />

q2 3<br />

13


Finalmente, os quaternions po<strong>de</strong>m ser convertidos para <strong>um</strong>a matriz Cosseno Direcional por:<br />

⎡<br />

q0 2<br />

C b n(qn) b + q2 1 − q2 2 − ⎤<br />

q2 3 2q 1 q 2 + 2q 0 q 3 2q 1 q 3 − 2q 0 q 2<br />

= ⎢<br />

⎣ 2q 1 q 2 − 2q 0 q 3 q0 2 − q2 1 + q2 2 − q2 3 2q 2 q 3 + 2q 0 q 1<br />

⎥<br />

⎦ (2.11)<br />

2q 1 q 3 + 2q 0 q 2 2q 2 q 3 − 2q 0 q 1 q0 2 − q2 1 − q2 2 + q2 3<br />

2.6 Funcionamento do sistema aerodinâmico da aeronave<br />

2.5.<br />

Durante a execução o voo, a aeronave sofre a influência <strong>de</strong> quatro forças, indicadas pela Figura<br />

Figura 2.5: Forças aerodinâmicas<br />

A força <strong>de</strong> empuxo é a principal responsável pelo <strong>de</strong>slocamento da aeronave e está relacionada<br />

com a força <strong>de</strong> sustentação. A força <strong>de</strong> empuxo é gerada pelo <strong>de</strong>slocamento <strong>de</strong> ar gerado pelo<br />

motor da aeronave. Esse <strong>de</strong>slocamento po<strong>de</strong> feito com <strong>um</strong>a hélice, como no caso do VANT <strong>de</strong>sse<br />

trabalho, ou através <strong>de</strong> <strong>um</strong>a turbina a jato. Os motores po<strong>de</strong>m ser a combustão, o que ocorre<br />

em aeronaves com<strong>um</strong>ente e em alguns tipos <strong>de</strong> aeromo<strong>de</strong>lo, ou elétrico, nosso caso. A utilização<br />

<strong>de</strong> motores elétricos para a aplicação <strong>de</strong> pequenos veículos aéreos não tripulados é mais prático,<br />

pois não é necessário manusear fluidos, como combustível e óleo. Além do fato <strong>de</strong> necessariamente<br />

existir <strong>um</strong>a bateria na aeronave para alimentar o sistema <strong>de</strong> eletrônica embarcada. O empuxo<br />

<strong>de</strong>pen<strong>de</strong> basicamente do formato da hélice e da potência do motor.<br />

Contrabalanceando o empuxo, o arrasto “segura” a aeronave. Essa força é resultante da<br />

resistência criada pelo ar para a passagem da aeronave, e po<strong>de</strong> ser consi<strong>de</strong>rada <strong>um</strong>a reação à<br />

força <strong>de</strong> sustentação. O empuxo é <strong>um</strong>a consequência direta do formato do avião e <strong>de</strong> fatores<br />

atmosféricos como velocida<strong>de</strong> do ar.<br />

A força <strong>de</strong> sustentação está relacionada com o fluxo <strong>de</strong> ar em baixo das asas. Basicamente<br />

há sustentação quando a pressão aerodinâmica na parte <strong>de</strong> baixo da asa é maior que na parte <strong>de</strong><br />

cima. Esse efeito po<strong>de</strong> ser obtido por <strong>um</strong> <strong>de</strong>sign assimétrico, <strong>de</strong>senhando <strong>um</strong>a asa arqueada. Para<br />

asas retas, caso do nosso VANT, essa diferença <strong>de</strong> pressão é causada por <strong>um</strong> ângulo <strong>de</strong> ataque, ou<br />

seja, gerando <strong>um</strong> leve ângulo <strong>de</strong> arfagem, a velocida<strong>de</strong> do ar em baixo da asa será maior que em<br />

14


cima, causando <strong>um</strong>a diferença <strong>de</strong> pressão resultando na força <strong>de</strong> sustentação. Para gran<strong>de</strong>s aviões<br />

os flaps alteram a forma da superfície da asa, afim <strong>de</strong> modificar a força <strong>de</strong> sustentação para mais<br />

ou para menos.<br />

Em sentido oposto, a força resultante do peso aponta para baixo. Em termos <strong>de</strong> localização,<br />

a força peso atua no centro <strong>de</strong> gravida<strong>de</strong>, que <strong>de</strong>pen<strong>de</strong>nte da geometria da aeronave, enquanto<br />

a força <strong>de</strong> sustentação e arrasto atuam no centro <strong>de</strong> pressão, que <strong>de</strong>pen<strong>de</strong> da aerodinâmica da<br />

aeronave, assim como mostra a Figura 2.6.<br />

Figura 2.6: Local <strong>de</strong> atuação das forças<br />

Um fenômeno muito importante e que <strong>de</strong>ve ser evitado é o stall. Esse fenômeno ocorre quando<br />

as pressões aerodinâmicas embaixo e em cima da asa se equilibram, e consequentemente a força<br />

<strong>de</strong> sustentação não é mais suficiente para equilibrar o peso. Nesse caso o avião começa a cair e<br />

<strong>um</strong>a retomada do controle da aeronave torna-se <strong>um</strong>a tarefa difícil.<br />

O stall po<strong>de</strong> ocorrer em baixas velocida<strong>de</strong>s, quando a velocida<strong>de</strong> do ar em baixo da asa torna-se<br />

insuficiente para que haja a sustentação necessária, ou po<strong>de</strong> ocorrer em altas velocida<strong>de</strong>s, quando<br />

o ângulo <strong>de</strong> ataque é excessivo.<br />

2.7 Visão geral <strong>de</strong> <strong>um</strong> VANT<br />

O principal objetivo <strong>de</strong>sse trabalho é conseguir construir <strong>um</strong> veículo aéreo que seja hábil a<br />

executar <strong>um</strong> voo autônomo. Para que esse objetivo seja c<strong>um</strong>prido, é necessária a construção<br />

<strong>de</strong> vários blocos indispensáveis para o funcionamento do sistema. Nessa Seção iremos comentar<br />

brevemente alg<strong>um</strong>as etapas a se c<strong>um</strong>prir antes do voo autônomo ser feito.<br />

Basicamente a aeronave, o motor, os atuadores das superfícies <strong>de</strong> controle e o rádio para o<br />

controle <strong>de</strong>ssas superfícies foram comprados prontos. A utilização <strong>de</strong>sses componentes foi feita<br />

diretamente, sem modificações, pois o foco do projeto está na efetivação do controle automático<br />

da aeronave com <strong>um</strong>a visão voltada para o campo da Engenharia Elétrica. Não temos pretensão<br />

<strong>de</strong> <strong>de</strong>senvolver <strong>um</strong> VANT aerodinamicamente melhor ou que voe mais, estamos interessados em<br />

<strong>de</strong>senvolver <strong>um</strong> sistema embarcado <strong>de</strong> controle <strong>de</strong> aeronaves. I<strong>de</strong>almente esse sistema <strong>de</strong>ve funcionar<br />

para vários tipos <strong>de</strong> aeronaves, não importando se é do tipo asa fixa, VANT utilizado nesse<br />

15


projeto, ou do tipo asa rotatória como <strong>um</strong> helicóptero ou <strong>um</strong> quadrirrotor.<br />

Esse projeto foi feito <strong>de</strong> forma a adicionar mais <strong>um</strong>a plataforma <strong>de</strong> pesquisa ao <strong>LARA</strong>, que<br />

até a data <strong>de</strong> execução <strong>de</strong>sse projeto já dispunha <strong>de</strong> <strong>um</strong> helicóptero e quadrirrotores na área <strong>de</strong><br />

robótica aérea. Essa flexibilida<strong>de</strong> <strong>de</strong> utilização <strong>de</strong> hardware foi feita pensando em <strong>um</strong>a possível<br />

expansão para outra plataforma, visto que esta área está em franco <strong>de</strong>senvolvimento e o <strong>LARA</strong><br />

já está inserido nesse ramo <strong>de</strong> pesquisa. Vale observar que para mudança <strong>de</strong> plataforma, novos<br />

mo<strong>de</strong>los <strong>de</strong>vem ser i<strong>de</strong>ntificados, assim como novas técnicas <strong>de</strong> controle, porém o hardware é 100%<br />

portável e permite que o projetista faça mudanças a seu próprio gosto.<br />

Primeiro é preciso construir o hardware, ou a parte eletrônica do projeto. Essa parte eletrônica<br />

<strong>de</strong>ve conter sensores que indiquem a posição absoluta (GPS), atitu<strong>de</strong> (IMU), altura, velocida<strong>de</strong><br />

do ar (Tubo <strong>de</strong> Pitot) e distância do solo (sonar) para que se tenha noção do posicionamento<br />

da aeronave em todos os momentos. Existem também periféricos para monitorar o estado da<br />

bateria e fazer o interfaceamento da eletrônica com o rádio, assim como <strong>um</strong> módulo <strong>de</strong> telemetria<br />

remota (XBee). Para reunir todas essas informações há <strong>um</strong>a placa (LPC2148) baseada em <strong>um</strong><br />

microprocessador ARM7. Para fazer o armazenamento, processamento e controle do processo, o<br />

LPC se comunica com <strong>um</strong> computador embarcado (G<strong>um</strong>stix Overo) que possui maior capacida<strong>de</strong><br />

<strong>de</strong> processamento. É possível através <strong>de</strong> <strong>um</strong> computador fazer a comunicação com o LPC e com<br />

o G<strong>um</strong>stix.<br />

Montado o hardware já é possível fazer <strong>um</strong>a coleta <strong>de</strong> dados. Porém, como todo sensor,<br />

esses dados possuem diversos problemas, como ruídos, bias, drifts, assim como consequências da<br />

amostragem e quantificação do sinal. Com intuito <strong>de</strong> tratar esses problemas, entra o que chamamos<br />

<strong>de</strong> estimação. Com base nas informações dos sensores, como média e <strong>de</strong>svio padrão, leis físicas<br />

e técnicas <strong>de</strong> fusão sensória, é possível com base em todas as medições obter estimativas mais<br />

confiáveis dos estados do processo. Caso não existisse essa etapa, os dados não seriam confiáveis<br />

suficientes para as etapas seguintes.<br />

Com dados confiáveis, po<strong>de</strong>mos partir para a etapa <strong>de</strong> i<strong>de</strong>ntificação. Nessa etapa com base<br />

em dados recolhidos em <strong>de</strong>terminados experimentos e conhecimentos sobre a física do processo,<br />

técnicas são utilizadas para <strong>de</strong>senvolver mo<strong>de</strong>los matemáticos são <strong>de</strong>senvolvidos para o processo,<br />

que geralmente são da forma Função <strong>de</strong> Transferência ou Espaço <strong>de</strong> Estados. A i<strong>de</strong>ntificação é<br />

importante, pois indica como se relacionam as entradas e as saídas e com base nessa informação,<br />

é possível <strong>de</strong>senvolver os conjuntos <strong>de</strong> controladores. Essa etapa não será feita em voo. Dados<br />

serão colhidos primeiramente e <strong>de</strong>pois a i<strong>de</strong>ntificação será efetuada.<br />

Feita a i<strong>de</strong>ntificação, já possuímos informações suficientes para <strong>de</strong>senvolver o controlador, que<br />

será responsável por mandar os sinais <strong>de</strong> atuação, no lugar do piloto, para manter a aeronave em<br />

voo na rota <strong>de</strong>sejada. Basicamente o voo autônomo será executado por esse módulo. O controlador<br />

será implementado no computador embarcado, G<strong>um</strong>stix, e se baseará nos dados já estimados. Os<br />

dados nos quais se baseia o controlador <strong>de</strong>ve ser confiável, pois a partir <strong>de</strong>les será julgado a ação<br />

seguinte. Por isso os dados do controlador <strong>de</strong>verão ser os da saída do estimador.<br />

16


2.8 Nomenclatura<br />

Aileron - Superfície <strong>de</strong> atuação presente nas asas dianteiras. Sua principal função é alterar o<br />

momento L e sua principal influência é no eixo X, provocando <strong>um</strong> movimento <strong>de</strong> rolagem. Existem<br />

dois ailerons na aeronave, e seu movimento é oposto. Enquanto <strong>um</strong> sobe, o outro <strong>de</strong>sce.<br />

Profundor - Superfície <strong>de</strong> atuação presente na asa horizontal responsável por modificar o<br />

momento V , causando rotações no eixo Y , provocando <strong>um</strong> movimento <strong>de</strong> guinada. Geralmente<br />

é utilizado para fazer a aeronave subir ou <strong>de</strong>scer. Mesmo sendo possível fazer esse movimento<br />

alterando a rotação do motor, esse método não é muito utilizado, pois é possível que sua rotação<br />

venha a ficar muito baixa a ponto <strong>de</strong> a pressão aerodinâmica sob a asa diminuir a ponto <strong>de</strong><br />

provocar stall.<br />

Leme - Superfície <strong>de</strong> atuação presente na asa vertical traseira responsável por modificar o<br />

momento N, causando rotações no eixo Z provocando <strong>um</strong> movimento <strong>de</strong> arfagem. Sua utilização<br />

é com<strong>um</strong> para corrigir rotas e para compensar ação <strong>de</strong> ventos laterais.<br />

Figura 2.7: Superfícies <strong>de</strong> Controle<br />

Trim - Segundo [8], a condição <strong>de</strong> trim é <strong>um</strong>a condição <strong>de</strong> equilíbrio on<strong>de</strong> o piloto não executa<br />

nenh<strong>um</strong> comando, mas a aeronave continua voando <strong>de</strong> maneira estável. Esse controle <strong>de</strong> trim<br />

é feito com <strong>um</strong> conjunto <strong>de</strong> offsets, que o piloto ajusta durante o voo. Offsets são os valores<br />

ajustados para manter a superfície <strong>de</strong> controle em <strong>um</strong>a posição que não a inicial quando esses<br />

comandos estão soltos, afim <strong>de</strong> manter a condição <strong>de</strong> voo. Em gran<strong>de</strong>s aeronaves são utilizadas as<br />

trim tabs, que são pequenas superfícies <strong>de</strong> atuação presentes nas superfícies antes citadas e fazem<br />

o papel <strong>de</strong> manter essa condição <strong>de</strong> equilíbrio. No caso do nosso VANT não existem trim tabs e<br />

a condição <strong>de</strong> trim é ajustada do controle.<br />

Fitness ou Fit - É o nível <strong>de</strong> semelhança entre a saída do mo<strong>de</strong>lo i<strong>de</strong>ntificado e a saída do<br />

mo<strong>de</strong>lo real, indicando a qualida<strong>de</strong> da i<strong>de</strong>ntificação feita. Quando os mo<strong>de</strong>los são idênticos, o<br />

valor do Fitness é <strong>de</strong> 100%.<br />

Ground truth - Se refere a dados que são tido como verda<strong>de</strong> absoluta. No caso do simulador,<br />

os dados <strong>de</strong> saída <strong>de</strong> seu mo<strong>de</strong>lo são consi<strong>de</strong>rados ground truth antes das corrupções por bias,<br />

scale factor, ruído, efeitos <strong>de</strong> quantização e outros.<br />

17


Drift - Também chamado <strong>de</strong> tendência, é o <strong>de</strong>svio lento dos parâmetros do mo<strong>de</strong>lo do sensor,<br />

como o scale factor e o bias. Esse tipo <strong>de</strong> <strong>de</strong>svio é <strong>de</strong> difícil compensação, e dificulta o processo<br />

<strong>de</strong> calibração dos sensores.<br />

Scale Factor ou Fator <strong>de</strong> Escala - É <strong>um</strong> fator multiplicativo que acompanha <strong>um</strong>a variável.<br />

Nesse trabalho fator <strong>de</strong> escala será referido à constante que multiplica <strong>um</strong>a medição, e que por<br />

consequência a distorce criando medições não confiáveis. Serão elaborados métodos para compensar<br />

esse fator no Capítulo 5 e os resultados apresentados no Capítulo 7.<br />

18


Capítulo 3<br />

Hardware<br />

“Hardware: the parts of a computer that can be<br />

kicked.” –Jeff Pesis<br />

3.1 Introdução<br />

Parte essencial <strong>de</strong> <strong>um</strong> veículo aéreo não-tripulado é o seu hardware - ou seja, a aeronave em si,<br />

todos os seus atuadores (servo-motores e motor), seu sistema <strong>de</strong> instr<strong>um</strong>entação, processamento<br />

e comunicação. Esses dispositivos são parte essencial <strong>de</strong> qualquer aeronave, pois sem eles, não<br />

existe controle ou atuação. Por esse motivo, todos esses dispositivos <strong>de</strong>vem ser o mais confiáveis<br />

possíveis, apelando até a múltiplas camadas <strong>de</strong> redundância em aeronaves comerciais.<br />

Existem duas escolas principais quando se trata <strong>de</strong> hardware <strong>de</strong> veículos aéreos não-tripulados:<br />

alguns grupos <strong>de</strong> pesquisa utilizam plataformas comerciais, utilizando aeronaves pré-instr<strong>um</strong>entadas<br />

ou kits <strong>de</strong> instr<strong>um</strong>entação e controle <strong>de</strong> aeronaves, enquanto outros <strong>de</strong>senvolvem todo o sistema <strong>de</strong><br />

instr<strong>um</strong>entação do zero. A principal vantagem <strong>de</strong> se comprar <strong>um</strong> kit é o tempo que é economizado<br />

e a suposta confiabilida<strong>de</strong>, porém, boa parte da flexibilida<strong>de</strong> da plataforma é perdida, além da<br />

obrigação <strong>de</strong> se tratar com componentes do tipo “caixa preta”, on<strong>de</strong> não se há conhecimento dos<br />

algoritmos e das técnicas empregadas.<br />

Nesse trabalho, a segunda abordagem foi escolhida: o <strong>de</strong>senvolvimento <strong>de</strong> boa parte do hardware,<br />

principalmente do sistema <strong>de</strong> instr<strong>um</strong>entação. Essa abordagem leva mais tempo, mas apresenta<br />

<strong>um</strong> custo muito menor do que a primeira, além <strong>de</strong> permitir o acesso a todos os aspectos do<br />

sistema - <strong>de</strong>s<strong>de</strong> a calibração ao algoritmo <strong>de</strong> controle. Essa característica é essencial para <strong>um</strong>a<br />

plataforma <strong>de</strong> pesquisa.<br />

Esse capítulo visa doc<strong>um</strong>entar todas as etapas <strong>de</strong> projeto <strong>de</strong> hardware da aeronave, partindo<br />

dos requisitos e dos equipamentos disponíveis do <strong>LARA</strong> e chegando em todo o projeto a nível <strong>de</strong><br />

sistema. Vale lembrar que muitas das <strong>de</strong>cisões tomadas tiveram como base a experiência que os<br />

autores adquiriram ao longo do curso <strong>de</strong> graduação, ou seja, elas contaram com a intuição como<br />

complemento das justificativas técnicas.<br />

Esse capítulo está organizado da seguinte maneira: primeiramente, os requisitos são <strong>de</strong>finidos<br />

na Seção 3.2. Todo o equipamento comprado para o projeto está na Seção 3.3, e a solução da<br />

parte mecânica está na Seção 3.4. A escolha dos sensores e outros elementos do sistema <strong>de</strong><br />

19


instr<strong>um</strong>entação está na Seção 3.5. O projeto a nível <strong>de</strong> sistema está na Seção 3.6, e o projeto a<br />

nível elétrico está na Seção 3.7. Finalmente, o posicionamento dos módulos está na Seção 3.8.<br />

3.2 Requisitos<br />

Como todo o hardware <strong>de</strong>ve ser embarcado na aeronave, o principal requisito a ser atendido pelo<br />

sistema eletrônico foi minimizar o distúrbio no projeto original da aeronave - ou seja, minimizar<br />

o peso, o <strong>de</strong>slocamento do centro <strong>de</strong> massa da aeronave, o cons<strong>um</strong>o <strong>de</strong> energia, e caber <strong>de</strong>ntro da<br />

aeronave escolhida.<br />

Outra necessida<strong>de</strong> a ser atendida era a capacida<strong>de</strong> <strong>de</strong> processamento - ou seja, o sistema <strong>de</strong>ve<br />

ser capaz <strong>de</strong> executar todos os algoritmos <strong>de</strong> estimação e controle na frequência <strong>de</strong>terminada sem<br />

necessida<strong>de</strong> <strong>de</strong> recorrer a optimizações não usuais <strong>de</strong> código.<br />

Além disso, a aeronave <strong>de</strong>ve conter todo o conjunto <strong>de</strong> sensores necessários para estimação <strong>de</strong><br />

atitu<strong>de</strong> e posição, para i<strong>de</strong>ntificação, e para controle em situações especiais (pouso/<strong>de</strong>colagem).<br />

Dentro <strong>de</strong>sse conjunto, po<strong>de</strong>mos classificar os sensores como membros da instr<strong>um</strong>entação essencial<br />

e não essenciais.<br />

Os sensores da instr<strong>um</strong>entação essencial são:<br />

• Acelerômetro <strong>de</strong> 3 eixos<br />

• Girômetro <strong>de</strong> 3 eixos<br />

• Magnetômetro <strong>de</strong> 3 eixos<br />

• Módulo GPS<br />

Os sensores da instr<strong>um</strong>entação não-essenciais são:<br />

• Tubo <strong>de</strong> Pitot<br />

• Altímetro<br />

• Monitor <strong>de</strong> energia<br />

• Temperatura do ar externo<br />

• Sonar<br />

• Câmera<br />

Um link <strong>de</strong> comunicação sem fio com alcance apropriado foi também <strong>de</strong>ve ser incluso no<br />

projeto, a fim <strong>de</strong> facilitar o envio <strong>de</strong> comandos especiais e para permitir o acompanhamento do<br />

<strong>de</strong>sempenho da aeronave ao longo do voo.<br />

20


O sistema também <strong>de</strong>ve ser integrado ao atuadores típicos <strong>de</strong> aeromo<strong>de</strong>los (servo motores),<br />

ser capaz <strong>de</strong> ler os sinais fornecidos pelo módulo <strong>de</strong> rádio, e chavear <strong>de</strong> forma confiável entre o<br />

sistema <strong>de</strong> controle automático e o sistema <strong>de</strong> controle manual (por rádio).<br />

Porém, o requisito mais importante foi o tempo para produção e montagem - todo o sistema<br />

<strong>de</strong> hardware <strong>de</strong>veria estar pronto para continuação do projeto. O custo foi o segundo requisito<br />

mais importante - <strong>um</strong> projeto que aten<strong>de</strong> todos os requisitos mas que estivesse além do orçamento<br />

do projeto não seria muito útil.<br />

Dessa forma, a seguinte tabela <strong>de</strong> requisitos foi montada, sendo os requisitos do topo os mais<br />

prioritários:<br />

• Tempo <strong>de</strong> <strong>de</strong>senvolvimento<br />

• Custo<br />

• Aspectos mecânicos (encaixar na aeronave, minimizar peso)<br />

• Instr<strong>um</strong>entação essencial<br />

• Integração com servos/rádio<br />

• Capacida<strong>de</strong> <strong>de</strong> processamento<br />

• Minimizar cons<strong>um</strong>o <strong>de</strong> energia<br />

• Instr<strong>um</strong>entação não-essencial<br />

• Link <strong>de</strong> comunicação<br />

Vale lembrar que essa tabela <strong>de</strong> requisitos foi <strong>de</strong>senvolvida com base na revisão bibliográfica<br />

e na experiência e intuição dos autores. Outros projetos po<strong>de</strong>riam valorizar aspectos diferentes, e<br />

po<strong>de</strong>riam levar a soluções radicalmente diferentes da obtida nesse trabalho.<br />

3.3 Hardware Existente<br />

De acordo com os requisitos, o tempo <strong>de</strong> <strong>de</strong>senvolvimento é o requisito mais crítico a ser<br />

atendido. Dessa forma, parte da plataforma foi adquirida no mercado, visando a aceleração do<br />

<strong>de</strong>senvolvimento e a solução <strong>de</strong> problemas que não são o ênfase <strong>de</strong>sse trabalho.<br />

O principal problema é o uso <strong>de</strong> <strong>um</strong>a plataforma que já fosse capaz <strong>de</strong> voar, mesmo que<br />

controlada por <strong>um</strong> operador, pois o ênfase <strong>de</strong>ste trabalho não é a parte aeronáutica, e sim a<br />

instr<strong>um</strong>entação, o processo <strong>de</strong> i<strong>de</strong>ntificação, e a estimação e controle da aeronave.<br />

Essa aeronave, além <strong>de</strong> já ter as estruturas e superfícies aerodinâmicas projetadas, <strong>de</strong>ve ter a<br />

eletrônica dos atuadores (servo motores/motores) e <strong>um</strong>a forma <strong>de</strong> comando remoto (os rádios).<br />

Esses requisitos <strong>de</strong>screvem basicamente <strong>um</strong> aeromo<strong>de</strong>lo controlado por controle remoto. Felizmente,<br />

o mercado nacional e internacional tem <strong>um</strong>a gran<strong>de</strong> comunida<strong>de</strong> <strong>de</strong> entusiastas, o que<br />

significa que existe <strong>um</strong>a gran<strong>de</strong> quantida<strong>de</strong> <strong>de</strong> opções para a plataforma.<br />

21


A fim <strong>de</strong> facilitar o controle do motor e a operação da aeronave, a escolha ficou limitada a<br />

aeronaves elétricas <strong>de</strong> pequeno porte. Preferencialmente, a dinâmica <strong>de</strong> voo <strong>de</strong>veria ser lenta, para<br />

facilitar o controle e a i<strong>de</strong>ntificação.<br />

Por sugestão do piloto da equipe <strong>de</strong> Aero<strong>de</strong>sign Draco Volans, da Engenharia Mecânica, entrouse<br />

em contato com o fabricante RCeXtreme, cuja fábrica é localizada em Taguatinga, DF. Foi<br />

encomendado <strong>um</strong> projeto <strong>de</strong> <strong>um</strong>a aeronave especial, projetada para ser transformada em veículo<br />

aéreo não-tripulado.<br />

A solução proposta pela RCeXtreme foi a modificação da plataforma Sky Master S<strong>um</strong>mer [10]<br />

(Figura 3.1), a fim <strong>de</strong> a<strong>um</strong>entar significativamente o espaço interno para que todo o equipamento<br />

fosse acomodado, e acrescentar <strong>um</strong>a outra forma <strong>de</strong> acesso a esse espaço. Esse mesmo equipamento<br />

foi utilizado em [6, 7]<br />

Figura 3.1: Aeronave RCeXtreme Sky Master S<strong>um</strong>mer<br />

As principais especificações da aeronave estão na Tabela 3.1, e <strong>um</strong> diagrama das partes principais<br />

está na Figura 3.2, extraídas <strong>de</strong> [10].<br />

Parâmetro<br />

Comprimento da fuselagem<br />

Envergadura da asa<br />

Peso da fuselagem<br />

Peso i<strong>de</strong>al para voo<br />

CG<br />

Valor<br />

800 mm<br />

1000 mm<br />

380 g<br />

650 g<br />

65 mm do bordo <strong>de</strong> ataque<br />

Tabela 3.1: Especificações da aeronave RCeXtreme Sky Master S<strong>um</strong>mer<br />

De acordo com as recomendações do fabricante, foram utilizados servo-motores Hitec HS-<br />

5055MG (especificações na Tabela 3.2, Figura 3.3, <strong>de</strong> [11]) e <strong>um</strong> motor Turnigy C3530-1100<br />

(especificações na Tabela 3.3, Figura 3.4, <strong>de</strong> [12]) com <strong>um</strong> ESC <strong>de</strong> 30 A.<br />

Uma escolha extremamente importante é a hélice acoplada ao motor, que vai <strong>de</strong>terminar a o<br />

torque do motor e a velocida<strong>de</strong> <strong>de</strong> rotação. De acordo com alguns ensaios disponibilizados pela<br />

22


Profundor<br />

Leme<br />

Aileron<br />

Espaço para<br />

instr<strong>um</strong>entação<br />

Aileron<br />

Asa Direita<br />

Motor/Hélice<br />

Asa Esquerda<br />

Compartimento<br />

Bateria<br />

Figura 3.2: Diagrama partes principais da aeronave RCeXtreme Sky Master S<strong>um</strong>mer<br />

Parâmetro<br />

Tipo <strong>de</strong> motor<br />

Torque<br />

Valor<br />

Coreless<br />

1,2 kgf·cm = 0.12 Nm<br />

Tabela 3.2: Especificações dos servo-motores Hitec HS-5055MG<br />

comunida<strong>de</strong> aeromo<strong>de</strong>lista 1 e pelo fabricante da aeronave, a hélice escolhida foi <strong>um</strong>a 9x6E. Isso<br />

significa que a hélice tem 9 cm <strong>de</strong> raio, e move 6 cm para frente em para volta do motor em <strong>um</strong>a<br />

condição <strong>de</strong> teste específica. O “E” significa que ela foi projetada para motores elétricos.<br />

A forma <strong>de</strong> testar a hélice é aferir se corrente cons<strong>um</strong>ida é próxima a corrente nominal do<br />

motor. Com essa hélice, a corrente cons<strong>um</strong>ida foi <strong>de</strong> aproximadamente 17 A - próxima aos 20 A<br />

nominais. O motor foi testado em solo por vários minutos para garantir que não aconteceria o<br />

sobreaquecimento do mesmo.<br />

1 Em http://www.flybrushless.com/motor/view/461<br />

Parâmetro<br />

Tipo <strong>de</strong> motor<br />

Peso<br />

Corrente nominal<br />

Tensão <strong>de</strong> operação nominal<br />

Valor<br />

DC Brushless<br />

73 g<br />

20 A<br />

11,1 V<br />

Tabela 3.3: Especificações do motor Turnigy C3530-1100<br />

23


Figura 3.3: Servo Hitec HS-5055MG Figura 3.4: Motor Turnigy C3530-1100<br />

A bateria é outro elemento essencial da aeronave. As baterias <strong>de</strong> aeromo<strong>de</strong>los <strong>de</strong>vem apresentar<br />

gran<strong>de</strong> capacida<strong>de</strong> <strong>de</strong> <strong>de</strong>scarga, gran<strong>de</strong> quantida<strong>de</strong> <strong>de</strong> energia e baixo peso. Devido a essas<br />

características, as baterias <strong>de</strong> lítio-polímero são as mais utilizadas. Elas apresentam a maior razão<br />

energia/peso do mercado, além <strong>de</strong> terem alta capacida<strong>de</strong> <strong>de</strong> <strong>de</strong>scarga, mas também possuem <strong>um</strong>a<br />

química bastante instável, exigindo muito cuidado no manuseio, carga e <strong>de</strong>scarga.<br />

O fabricante forneceu <strong>um</strong>a bateria Yuntong 3S YT783496PH, <strong>de</strong> 2100 mAh e 30 C. Tipicamente,<br />

as baterias <strong>de</strong> aeromo<strong>de</strong>lo utilizam mAh como medida <strong>de</strong> energia, especificando a carga<br />

<strong>de</strong> corrente constante que a bateria fornece por 1 hora a tensão nominal, a quantida<strong>de</strong> células em<br />

série/paralelo (3S significa 3 células em série, ou seja, 11,1 V), e a capacida<strong>de</strong> <strong>de</strong> carga, dada em<br />

C. Uma bateria <strong>de</strong> 1 C po<strong>de</strong> ser <strong>de</strong>scarregada a no máximo a sua corrente <strong>de</strong> carga, ou seja, <strong>um</strong>a<br />

bateria <strong>de</strong> 2000 mAh e 1 C apresenta <strong>um</strong>a corrente máxima <strong>de</strong> <strong>de</strong>scarga <strong>de</strong> 2000 mA. Se essa<br />

mesma bateria apresentasse <strong>um</strong>a taxa <strong>de</strong> <strong>de</strong>scarga <strong>de</strong> 5 C, a corrente máxima seria <strong>de</strong> 10 A. As<br />

especificações da bateria estão na Tabela 3.4, e ela é ilustrada na Figura 3.5.<br />

Parâmetro<br />

Valor<br />

Tecnologia<br />

Lítio Polímero<br />

Peso<br />

200 g<br />

Capacida<strong>de</strong> <strong>de</strong> <strong>de</strong>scarga contínua 30 C (63 A)<br />

Capacida<strong>de</strong> <strong>de</strong> <strong>de</strong>scarga <strong>de</strong> pico 45 C (94,5 A)<br />

Capacida<strong>de</strong> <strong>de</strong> carga 1 C (2,1 A)<br />

Topologia<br />

3 S<br />

Tensão nominal<br />

11,1 V<br />

Tabela 3.4: Especificações da bateria Yuntong 3S YT783496PH<br />

Por último, a aeronave precisava <strong>de</strong> <strong>um</strong> sistema <strong>de</strong> controle a distância - <strong>um</strong> módulo <strong>de</strong> controle<br />

a rádio. O <strong>LARA</strong> já disponibiliza <strong>de</strong> <strong>um</strong> equipamento Spektr<strong>um</strong> DX-7 com <strong>um</strong> receptor Spektr<strong>um</strong><br />

AR7000. Esse rádio é capaz <strong>de</strong> controlar 7 servos/ESCs, além <strong>de</strong> ter <strong>um</strong> alcance além da linha<br />

<strong>de</strong> visada do olho h<strong>um</strong>ano, e operar em <strong>um</strong>a frequência <strong>de</strong> 2,4 GHz com modulação digital. Ele é<br />

ilustrado na Figura 3.6 [13].<br />

24


Figura 3.5: Bateria Yuntong 3S YT783496PH<br />

Figura 3.6: Spektr<strong>um</strong> DX-7<br />

3.4 Solução Mecânica<br />

A forma mais tradicional <strong>de</strong> se projetar <strong>um</strong> sistema complexo como o sistema <strong>de</strong> instr<strong>um</strong>entação<br />

é o chamado dividir para conquistar - ou seja, o sistema complexo é divido em <strong>um</strong>a série <strong>de</strong> sistemas<br />

(ou problemas) mais simples que são integrados no final. Porém, parte da arte <strong>de</strong> projetar é saber<br />

qual problema <strong>de</strong>ve ser atacado antes dos outros - nesse caso, foi <strong>de</strong>cidido que sem <strong>um</strong>a <strong>de</strong>finição<br />

clara <strong>de</strong> como seria a estrutura mecânica da instr<strong>um</strong>entação, alg<strong>um</strong>as <strong>de</strong>cisões chave na parte<br />

elétrica não po<strong>de</strong>riam ser tomadas.<br />

Voltando aos requisitos, i<strong>de</strong>ntifica-se que os seguintes aspectos são críticos na parte mecânica:<br />

• Tamanho físico<br />

• Posicionamento <strong>de</strong>ntro da aeronave<br />

• Peso<br />

• Fixação do sistema na aeronave<br />

• Conexão entre componentes eletrônicos<br />

O tamanho físico é crítico pois a aeronave tem <strong>um</strong> vol<strong>um</strong>e interno extremamente limitado, e<br />

<strong>um</strong> sistema muito gran<strong>de</strong> seria <strong>de</strong> difícil adaptação na estrutura atual da aeronave.<br />

Um dos parâmetros mais importantes para o voo é a localização do centro <strong>de</strong> gravida<strong>de</strong> da<br />

aeronave - ele <strong>de</strong>ve estar localizado em local <strong>de</strong>terminado pelo fabricante. A aeronave <strong>de</strong>ve ser<br />

25


alanceada com pequenos pesos <strong>de</strong> ch<strong>um</strong>bo se a configuração dos componentes na parte interna<br />

<strong>de</strong>slocarem esse centro <strong>de</strong> gravida<strong>de</strong>, o que prejudica o <strong>de</strong>sempenho da aeronave e diminui o tempo<br />

<strong>de</strong> voo. Nesse aeromo<strong>de</strong>lo, o CG se localiza a 65 mm do bordo <strong>de</strong> ataque da asa.<br />

O peso <strong>de</strong>termina a quantida<strong>de</strong> <strong>de</strong> empuxo necessária para o funcionamento da aeronave, além<br />

<strong>de</strong> influenciar a autonomia.<br />

A fixação e a conexão entre os componentes eletrônicos afetam a confiabilida<strong>de</strong> da instr<strong>um</strong>entação<br />

- qualquer falha <strong>de</strong> conexão durante o voo po<strong>de</strong> levar a <strong>um</strong>a falha catastrófica, e <strong>um</strong>a<br />

falha <strong>de</strong> fixação po<strong>de</strong> gerar vibrações que po<strong>de</strong>m levar a falha <strong>de</strong> conexões ou erros nas medidas<br />

originadas do acelerômetro.<br />

Com essas restrições em mente, o local mais lógico para montagem da instr<strong>um</strong>entação é logo<br />

abaixo do CG da aeronave, a fim <strong>de</strong> não <strong>de</strong>slocar o mesmo e evitar a necessida<strong>de</strong> <strong>de</strong> compensação<br />

<strong>de</strong>ste através <strong>de</strong> pesos <strong>de</strong> ch<strong>um</strong>bo. Felizmente, essa aeronave conta com <strong>um</strong> compartimento para<br />

rádios e outros dispositivos nesse exato local. A posição <strong>de</strong>sse compartimento po<strong>de</strong> ser visto na<br />

Figura 3.7.<br />

65 mm<br />

CG<br />

Local da<br />

Instr<strong>um</strong>entação<br />

Figura 3.7: Local do CG e do sistema <strong>de</strong> instr<strong>um</strong>entação<br />

A própria geometria da aeronave <strong>de</strong>fine então o tamanho máximo da instr<strong>um</strong>entação: <strong>um</strong><br />

paralelepípedo com aproximadamente 50 mm x 90 mm x 170 mm. Porém, o sistema <strong>de</strong>ve se<br />

concentrar <strong>de</strong> melhor forma possível abaixo do CG da aeronave.<br />

Nesse ponto, a primeira <strong>de</strong>cisão <strong>de</strong> projeto foi tomada: <strong>de</strong>vido as restrições <strong>de</strong> espaço e peso,<br />

a instr<strong>um</strong>entação <strong>de</strong>veria ser montada utilizando dispositivos do tipo SMD. Essa <strong>de</strong>cisão leva a<br />

<strong>um</strong> outro requisito <strong>de</strong> projeto: os dispositivos <strong>de</strong>vem ser montados em placas <strong>de</strong> circuito impresso<br />

(PCBs) fabricadas profissionalmente. Essas escolhas ampliam muito o leque <strong>de</strong> opções na etapa<br />

26


do projeto elétrico, pois boa parte dos dispositivos disponíveis no mercado só estão disponíveis em<br />

encapsulamentos SMD [14].<br />

Deve-se observar que boa parte do espaço está disponível <strong>de</strong> forma vertical. Dessa forma, a<br />

solução proposta foi utilizar <strong>um</strong> sistema baseado em stacks, ou seja, várias placas empilhadas em<br />

cima <strong>um</strong>a das outras, fazendo o contado elétrico através <strong>de</strong> conectores especiais entre as placas.<br />

Essa solução foi inspirada no sistema <strong>de</strong> stacks utilizada pela plataforma Arduino.<br />

Essa solução, além <strong>de</strong> permitir o uso eficiente do espaço disponível e minimizar o distúrbio do<br />

CG, modulariza o projeto, permitindo que novos stacks sejam inseridos, removidos ou reprojetados.<br />

Ela também facilita o reparo no caso <strong>de</strong> falha e facilita a etapa <strong>de</strong> montagem e testes das placas.<br />

A filosofia <strong>de</strong> modularização é aplicação prática da técnica dividir para conquistar.<br />

3.4.1 Stacks<br />

Com a i<strong>de</strong>ia básica em mente, restou <strong>de</strong>cidir como seria feita a conexão elétrica e mecânica<br />

entre os stacks. O fundamento seria achar <strong>um</strong>a solução que permitisse que a ambas as conexões<br />

fossem feitas pelo mesmo dispositivo.<br />

Uma primeira i<strong>de</strong>ia foi utilizar hea<strong>de</strong>rs machos e fêmeas em cada placa, porém, essa i<strong>de</strong>ia foi<br />

logo <strong>de</strong>scartada, pois a necessida<strong>de</strong> <strong>de</strong> dois conectores diminuía muito o espaço útil <strong>de</strong> cada placa,<br />

além <strong>de</strong> exigir que cada placa fosse projetada <strong>de</strong> forma específica para conectar em outra placa<br />

- ferindo o princípio da modularida<strong>de</strong>. A quantida<strong>de</strong> <strong>de</strong> sinais elétricos com esse <strong>de</strong>sign também<br />

era reduzida, e o projeto exigia reforços mecânicos para garantir a integrida<strong>de</strong> física do sistema.<br />

Uma segunda i<strong>de</strong>ia foi utilizar conectores macho/fêmea integrados, ou seja, <strong>um</strong> conector que<br />

tem duas conexões no mesmo buraco. A fim <strong>de</strong> garantir a integrida<strong>de</strong> mecânica, as laterais<br />

contam com 25 pinos <strong>de</strong> conexão em cada lado, e 4 furos para parafusos longos para auxiliar no<br />

alinhamento.<br />

Um outro aspecto <strong>de</strong> projeto foi prevenir que o usuário monte <strong>de</strong> forma errada os stacks - <strong>de</strong>ssa<br />

forma, os conectores foram projetados para que as conectores fossem assimétricos em relação a<br />

placa - assim, se <strong>um</strong> módulo fosse invertido, os furos não alinhariam, e o fato que as placas não se<br />

alinham tornariam o erro óbvio. Essa filosofia <strong>de</strong> prevenir erros também foi incorporada em boa<br />

parte do projeto.<br />

Com esse projeto básico em mente, os fabricantes <strong>de</strong> placa <strong>de</strong> circuito impresso foram consultados<br />

para aferir qual tamanho <strong>de</strong> placa seria interessante do ponto <strong>de</strong> visto <strong>de</strong> prazos/financeiros.<br />

Verificou-se que placas menores que 100 mm x 100 mm são sensivelmente mais baratas que placas<br />

acima <strong>de</strong>sse tamanho, <strong>de</strong>finindo assim <strong>um</strong> limite <strong>de</strong> 50 mm x 100 mm para cada stack.<br />

A fim <strong>de</strong> padronizar o projeto <strong>de</strong> circuito impresso e facilitar a montagem, os stacks foram<br />

<strong>de</strong>finidos com <strong>um</strong> tamanho <strong>de</strong> 3900 mils (milésimos <strong>de</strong> polegada) por 1700 mils, ou seja, 99,06 por<br />

43,18 mm. A Figura 3.8 ilustra o protótipo <strong>de</strong>senvolvido seguindo o conceito.<br />

27


Figura 3.8: Stacks montadas<br />

3.4.2 Conectores<br />

Um outro problema mecânico que foi crítico para o projeto elétrico foi a <strong>de</strong>finição <strong>de</strong> como os<br />

módulos se conectariam com dispositivos externos e com a bateria.<br />

Po<strong>de</strong>-se dividir os conectores em duas categorias: os <strong>de</strong>terminados por padrões da indústria/fabricante,<br />

como no caso dos conectores dos rádios e dos servos, e conectores a serem <strong>de</strong>terminados<br />

pelo projeto.<br />

Os conectores dos rádios e dos servos são padronizados, logo, não houve margem para escolha<br />

- eles utilizam conectores do tipo barra <strong>de</strong> pinos (hea<strong>de</strong>rs), com espaçamento <strong>de</strong> 0,1 polegada.<br />

Eles também são conhecidos como conectores do tipo DuPont (Figura 3.9).<br />

Figura 3.9: Conectores DuPont<br />

Os conectores <strong>de</strong> tensão <strong>de</strong> células individuais (balance connectors) da bateria também são<br />

28


padronizados. Basicamente, os fabricantes utilizam conectores do tipo JST-XH, com espaçamento<br />

<strong>de</strong> 0,1 polegada, conectores Thun<strong>de</strong>r Power, com espaçamento <strong>de</strong> 2 mm, ou conectores Hyperion,<br />

com espaçamento <strong>de</strong> 0,1 polegada. Esses conectores são feitos para auxiliar o processo <strong>de</strong> carga e<br />

<strong>de</strong>scarga <strong>de</strong> baterias <strong>de</strong> lítio polímero, permitindo que a carga ou carregados <strong>de</strong>termine as tensões<br />

entre as células. Esses conectores tem normalmente N +1 terminais, on<strong>de</strong> N é o número <strong>de</strong> células<br />

da bateria. Ressalta-se que esses conectores não são projetados para suportarem altas correntes.<br />

Como as baterias disponíveis no mercado nacional cost<strong>um</strong>am contar com conectores do tipo<br />

JST-XH, o sistema <strong>de</strong> instr<strong>um</strong>entação conta com <strong>um</strong> conector JST-XH <strong>de</strong> 4 terminais para monitorar<br />

a tensão <strong>de</strong> baterias <strong>de</strong> lítio polímero com 3 células.<br />

Outro conector padronizado foi o conector utilizado pelo sinal digital dos rádios. Nesse caso,<br />

o módulo (Spektr<strong>um</strong>) utiliza <strong>um</strong> conector do tipo Micro JST com 3 terminais.<br />

Os conectores restantes ficam a cargo do projetista. O projeto prevê conexões para o computador<br />

(terminal/<strong>de</strong>bug), <strong>de</strong> energia (alta corrente para o motor da aeronave) e para os sonares.<br />

Para o conector <strong>de</strong> energia, utilizou-se o conector padrão para baterias do tipo lítio-polímero<br />

no <strong>LARA</strong>: o hexTronik XT-60 <strong>de</strong> Nylon. Esses conectores são extremamente robustos, são do<br />

tipo keyed (só encaixa com a polarida<strong>de</strong> correta), são projetados para 60 A contínuos e altas<br />

temperaturas, além <strong>de</strong> contarem com terminais banhados a ouro.<br />

Para os outros terminais, a i<strong>de</strong>ia original era utilizar conectores do tipo Micro JST com 3<br />

terminais, a fim <strong>de</strong> aproveitar o tamanho reduzido e a suposta confiabilida<strong>de</strong> <strong>de</strong>sse tipo <strong>de</strong> conector.<br />

Porém, testes logo revelaram que esse te conector é <strong>de</strong> difícil montagem sem maquinário<br />

especializado.<br />

Dessa forma, utilizaram-se conectores do tipo barra <strong>de</strong> pinos para todos as outras conexões,<br />

exceto para os sonares, que utilizaram os conectores Micro JST.<br />

3.5 Escolha dos Componentes<br />

Voltando aos requisitos, percebe-se que os elementos sensoriais são parte prioritária do projeto.<br />

Assim, com o projeto mecânico bem <strong>de</strong>finido, seguiu-se para a escolha dos sensores e dos módulos<br />

essenciais para o funcionamento do sistema.<br />

Observando os requisitos, o sistema <strong>de</strong>ve contar com os seguintes sensores (essenciais):<br />

• Acelerômetro <strong>de</strong> 3 eixos<br />

• Girômetro <strong>de</strong> 3 eixos<br />

• Magnetômetro <strong>de</strong> 3 eixos<br />

• Módulo GPS<br />

Já os seguintes sensores só serão adicionados se for o projeto permitir (não-essenciais):<br />

29


• Tubo <strong>de</strong> Pitot<br />

• Altímetro<br />

• Monitor <strong>de</strong> energia<br />

• Temperatura do ar externo<br />

• Sonar<br />

• Câmera<br />

3.5.1 Central Inercial<br />

O conjunto <strong>de</strong> acelerômetro <strong>de</strong> 3 eixos combinado <strong>de</strong> <strong>um</strong> girômetro <strong>de</strong> 3 eixos é normalmente<br />

chamado <strong>de</strong> <strong>um</strong>a central inercial, ou unida<strong>de</strong> <strong>de</strong> medidas inerciais (Inertial Measurement Unit, ou<br />

IMU) com 6 graus <strong>de</strong> liberda<strong>de</strong> (6 DOF). A adição <strong>de</strong> <strong>um</strong> magnetômetro muda a nomenclatura<br />

para <strong>um</strong>a IMU com 9 graus <strong>de</strong> liberda<strong>de</strong> (9 DOF).<br />

Logo, boa parte da instr<strong>um</strong>entação essencial po<strong>de</strong> ser feita por <strong>um</strong>a IMU com 9 graus <strong>de</strong><br />

liberda<strong>de</strong>. Existiam duas opções: comprar <strong>um</strong> módulo ou montar <strong>um</strong>a unida<strong>de</strong> com base nos<br />

sensores.<br />

A possibilida<strong>de</strong> <strong>de</strong> montar <strong>um</strong>a IMU com os sensores foi estudada, porém, a maioria dos<br />

dispositivos só estão disponíveis em encapsulamentos do tipo SMD on<strong>de</strong> as pernas dos componentes<br />

não são acessíveis (leadless). Isso torna o processo <strong>de</strong> montagem muito complexo, e a opção <strong>de</strong><br />

construir <strong>um</strong>a IMU foi logo <strong>de</strong>scartada.<br />

O mercado tem <strong>um</strong>a série <strong>de</strong> IMU que aten<strong>de</strong>m as exigências do projeto, mas <strong>um</strong>a opção que<br />

chamou a atenção foi a Sparkfun Electronics 9 Degrees of Freedom - Razor IMU, também conhecida<br />

como Sparkfun 9DOF Razor IMU (Figura 3.10). Além <strong>de</strong> utilizar sensores com excelente resolução<br />

e figuras <strong>de</strong> ruído, ela já contava com os filtros anti-aliasing e <strong>um</strong> microcontrolador Atmel AVR<br />

ATmega 328P, responsável pela conversão analógica-digital [15]. Outra vantagem <strong>de</strong>ssa escolha<br />

foi a disponibilida<strong>de</strong> e o preço - essa central inercial custou menos <strong>de</strong> 100 dólares, e foi entregue<br />

<strong>de</strong>ntro <strong>de</strong> 2 semanas.<br />

No nosso caso específico, o mo<strong>de</strong>lo comprado foi o SEN-09623, referente a revisão 12 da placa.<br />

Essa placa conta com os sensores mostrados na Tabela 3.5.<br />

Sensor Descrição Referência<br />

ST Microelectronics LY530ALH Girômetro <strong>de</strong> 1 eixo, 300 ◦ /s [16]<br />

ST Microelectronics LPR530ALH Girômetro <strong>de</strong> 2 eixos, 300 ◦ /s [17]<br />

Analog Devices ADXL345 Acelerômetro <strong>de</strong> 3 eixos, ±16G [18]<br />

Honeywell HMC5843 Magnetômetro <strong>de</strong> 3 eixos [19]<br />

Tabela 3.5: Sensores disponíveis na Sparkfun 9DOF Razor IMU<br />

Os <strong>de</strong>talhes mais importantes <strong>de</strong> cada sensor estão reproduzidos nas Tabelas 3.6, 3.7, 3.8 e<br />

3.9, a partir <strong>de</strong> [16–19].<br />

30


Figura 3.10: Sparkfun Electronics 9 Degrees of Freedom - Razor IMU<br />

Parâmetro<br />

Valor<br />

Tipo <strong>de</strong> sensor Girômetro <strong>de</strong> 1 eixo (Z), ±300 ◦ /s<br />

Tecnologia<br />

MEMS<br />

Saída<br />

Analógica<br />

Sensitivida<strong>de</strong> 0,83 ou 3,33 mV/ ◦ /s<br />

Não-linearida<strong>de</strong> ±1%<br />

Densida<strong>de</strong> <strong>de</strong> ruído<br />

0,035 ◦ /s/ √ Hz<br />

Tensão <strong>de</strong> referência<br />

1,23 V<br />

Coeficiente térmico da sensitivida<strong>de</strong><br />

0,05 %/ ◦ C<br />

Coeficiente térmico da referência 0,05 %/ ◦ /s<br />

Tabela 3.6: Especificações do girômetro ST Microelectronics LY530ALH<br />

Parâmetro<br />

Valor<br />

Tipo <strong>de</strong> sensor Girômetro <strong>de</strong> 2 eixos (X, Y), ±300 ◦ /s<br />

Tecnologia<br />

MEMS<br />

Saída<br />

Analógica<br />

Sensitivida<strong>de</strong> 0,83 ou 3,33 mV/ ◦ /s<br />

Não-linearida<strong>de</strong> ±1%<br />

Densida<strong>de</strong> <strong>de</strong> ruído<br />

0,035 ◦ /s/ √ Hz<br />

Tensão <strong>de</strong> referência<br />

1,23 V<br />

Coeficiente térmico da sensitivida<strong>de</strong><br />

0,03 %/ ◦ C<br />

Coeficiente térmico da referência<br />

0,05 %/ ◦ C<br />

Tabela 3.7: Especificações do girômetro ST Microelectronics LPR530ALH<br />

31


Parâmetro<br />

Valor<br />

Tipo <strong>de</strong> sensor Acelerômetro <strong>de</strong> 3 eixos, ±16G<br />

Tecnologia<br />

MEMS<br />

Saída<br />

Digital, 13 bits por SPI ou I 2 C<br />

Sensitivida<strong>de</strong><br />

256 LSB/mG<br />

Não-linearida<strong>de</strong> ±0,5%<br />

Densida<strong>de</strong> <strong>de</strong> ruído<br />

1,5 LSB RMS<br />

Valor referência<br />

±40 mG<br />

Coeficiente térmico da sensitivida<strong>de</strong><br />

0,01 %/ ◦ C<br />

Coeficiente térmico da referência<br />

4,5 mG/ ◦ C<br />

Tabela 3.8: Especificações do acelerômetro Analog Devices ADXL345<br />

Parâmetro<br />

Valor<br />

Tipo <strong>de</strong> sensor<br />

Magnetômetro <strong>de</strong> 3 eixos, ±4 gauss<br />

Tecnologia<br />

MEMS<br />

Saída<br />

Digital, 12 bits por I 2 C<br />

Sensitivida<strong>de</strong><br />

1300 LSB/mili-Gauss<br />

Não-linearida<strong>de</strong> ±0,1%<br />

Frequência máxima <strong>de</strong> amostragem<br />

50 Hz<br />

Tabela 3.9: Especificações do magnetômetro Honeywell HMC5843<br />

3.5.2 Módulo GPS<br />

O outro sistema essencial para o funcionamento do sistema <strong>de</strong> instr<strong>um</strong>entação da aeronave<br />

é <strong>um</strong> sensor extraperceptivo para a posição. Tipicamente, essa necessida<strong>de</strong> é suprida por <strong>um</strong><br />

receptor GPS.<br />

Tal como na escolha da IMU, existe <strong>um</strong>a gran<strong>de</strong> quantida<strong>de</strong> <strong>de</strong> módulos apropriados disponíveis<br />

no mercado, bastando apenas escolher <strong>um</strong> que aten<strong>de</strong>sse os requisitos do projeto.<br />

A primeira escolha foi a do módulo Venus638FLPx, fabricado pela SkyTraq Technology, em <strong>um</strong>a<br />

placa fabricada pela Sparkfun Electronics. Esse módulo foi escolhido pelo seu tamanho reduzido,<br />

baixo cons<strong>um</strong>o <strong>de</strong> energia e suposta precisão.<br />

Alguns testes foram realizados, e logo se percebeu que sua precisão (especialmente no eixo Z)<br />

não era apropriada para o sistema <strong>de</strong> navegação da aeronave. Dessa forma, a <strong>de</strong>cisão foi tomada <strong>de</strong><br />

se utilizar <strong>um</strong> outro módulo <strong>de</strong> GPS disponível no <strong>LARA</strong>, o NovAtel SUPERSTAR II [20] (Figura<br />

3.11). A principal <strong>de</strong>svantagem <strong>de</strong>sse módulo é seu tamanho e elevado cons<strong>um</strong>o <strong>de</strong> energia, porém,<br />

ele é extremamente preciso.<br />

Esse GPS utiliza a faixa L1 do GPS [21] para fazer a estimativa <strong>de</strong> posição, ou seja, ele não é<br />

capaz <strong>de</strong> fazer compensação dos efeitos atmosféricos com gran<strong>de</strong> precisão. Em compensação, ele<br />

tem <strong>um</strong>a precisão melhor que 5 m na posição, <strong>um</strong>a precisão <strong>de</strong> 0,05 m/s na velocida<strong>de</strong>, e <strong>um</strong>a<br />

taxa <strong>de</strong> atualização <strong>de</strong> estimativas <strong>de</strong> posição/velocida<strong>de</strong> <strong>de</strong> 5 Hz [20]. As especificações essenciais<br />

32


Figura 3.11: GPS NovAtel SUPERSTAR II<br />

<strong>de</strong>sse módulo estão na Tabela 3.10.<br />

Parâmetro<br />

Valor<br />

Tipo <strong>de</strong> sensor<br />

Módulo GPS<br />

Precisão <strong>de</strong> posição<br />

5 m<br />

Precisão <strong>de</strong> velocida<strong>de</strong><br />

0,05 m/s<br />

Frequência <strong>de</strong> operação 1,575.42 MHz (L1)<br />

Número <strong>de</strong> canais 12<br />

Frequência máxima <strong>de</strong> amostragem 5 Hz<br />

Tabela 3.10: Especificações do GPS NovAtel SUPERSTAR II<br />

Além do módulo GPS, <strong>um</strong>a antena <strong>de</strong> qualida<strong>de</strong> <strong>de</strong>ve ser utilizada a fim <strong>de</strong> maximizar o<br />

potencial do receptor.<br />

Aproveitando a compra feita na Sparkfun, <strong>um</strong>a antena leve <strong>de</strong> tamanho apropriado foi escolhida.<br />

No caso, o mo<strong>de</strong>lo escolhido foi o VTGPSIA-3 da V-Torch Electronics. Essa é <strong>um</strong>a<br />

antena integrada com <strong>um</strong> low-noise amplifier que opera em 3.3 V [22], como a maior parte do<br />

circuito. Outras antenas haviam sido testas anteriormente no <strong>LARA</strong>, mas essa mostrou o melhor<br />

<strong>de</strong>sempenho e menor peso, por isso foi escolhida para a aeronave.<br />

3.5.3 Módulo <strong>de</strong> processamento principal<br />

Voltando aos requisitos, <strong>um</strong>a das exigências do projeto é a capacida<strong>de</strong> <strong>de</strong> processamento,<br />

a fim <strong>de</strong> permitir que os algoritmos <strong>de</strong> estimação e controle sejam <strong>de</strong>senvolvidos sem gran<strong>de</strong>s<br />

dificulda<strong>de</strong>s <strong>de</strong> programação. Além disso, da teoria <strong>de</strong> controle digital, o sistema <strong>de</strong>ve ser capaz<br />

<strong>de</strong> amostrar, calcular a ação <strong>de</strong> controle e atuar em <strong>um</strong>a frequência razoavelmente alta, e o tempo<br />

<strong>de</strong> <strong>de</strong>senvolvimento <strong>de</strong>ve ser o menor possível, isso sem contar o cons<strong>um</strong>o <strong>de</strong> energia e o tamanho<br />

físico do sistema.<br />

O módulo <strong>de</strong> processamento principal também po<strong>de</strong> ser chamado do sistema embarcado da<br />

aeronave. É nele que os algoritmos <strong>de</strong> estimação, controle, datalogging e telemetria são programados<br />

- o que torna o uso <strong>de</strong> <strong>um</strong> sistema operacional tradicional como o Linux muito interessante.<br />

33


Levanto em conta todos os requisitos e a experiência prévia dos projetistas, a escolha mais interessante<br />

parece ser a utilização computer on module (COM) baseado em <strong>um</strong> system on chip (SOC)<br />

ARM, como o OMAP3.<br />

No <strong>LARA</strong>, a plataforma embarcada com dimensões reduzidas e alta capacida<strong>de</strong> <strong>de</strong> processamento<br />

normalmente utilizada é o G<strong>um</strong>stix Overo (Figura 3.12). A plataforma G<strong>um</strong>stix consiste<br />

em utilizar <strong>um</strong> módulo <strong>de</strong> processamento (G<strong>um</strong>stix Overo Water COM) e <strong>um</strong> módulo <strong>de</strong> expansão,<br />

que faz a alimentação e expõe os pinos do módulo.<br />

Figura 3.12: G<strong>um</strong>stix Overo Water<br />

O G<strong>um</strong>stix Overo 2 Water conta com <strong>um</strong> núcleo Texas Instr<strong>um</strong>ent’s OMAP3530, baseado em<br />

<strong>um</strong> ARM Cortex A-8, operando a 720 MHz, <strong>um</strong> DSP, 512 MB <strong>de</strong> memória flash e 512 MB <strong>de</strong><br />

memória RAM [23, 24]. Ele também conta com ponto flutuante em hardware, o que é pouco<br />

com<strong>um</strong> nesse tipo <strong>de</strong> dispositivo. A placa tem 58 mm por 17 mm, que é i<strong>de</strong>al dado o tamanho<br />

dos stacks. A expansão <strong>de</strong> memória po<strong>de</strong> ser feita através <strong>de</strong> <strong>um</strong> cartão do MicroSD.<br />

Como módulo <strong>de</strong> expansão, a escolha lógica foi a G<strong>um</strong>stix Pinto-TH, que disponibiliza <strong>um</strong><br />

conversor DC-DC e os pinos do processador OMAP3530 em <strong>um</strong>a placa estilo DIP [25]. Esse<br />

módulo tem <strong>um</strong> cons<strong>um</strong>o muito baixo <strong>de</strong> energia e <strong>um</strong> tamanho muito reduzido.<br />

Para testes e <strong>de</strong>senvolvimento, o módulo foi o G<strong>um</strong>stix S<strong>um</strong>mit, que conta com conversor<br />

USB-serial e saída HDMI.<br />

Vale ressaltar que todos os módulos <strong>de</strong> expansão são open-source, ou seja, todos os esquemáticos<br />

e arquivos para fabricação estão disponíveis, o que facilitou a integração com o hardware existente.<br />

A principal vantagem da escolha <strong>de</strong>sse módulo foi o uso do ambiente Linux embarcado bem<br />

doc<strong>um</strong>entado com <strong>um</strong>a gran<strong>de</strong> comunida<strong>de</strong> para fornecer suporte.<br />

2 Os nomes utilizados pelo G<strong>um</strong>stix são <strong>de</strong> origem equina. No caso, Overo e Pinto se referem as colorações <strong>de</strong><br />

cavalos.<br />

34


3.5.4 Módulos <strong>de</strong> processamento auxiliar<br />

A existência <strong>de</strong> <strong>um</strong> gran<strong>de</strong> número <strong>de</strong> sensores e outros dispositivos com vários níveis lógicos<br />

e protocolos diferentes torna necessário o uso <strong>de</strong> dispositivos auxiliares para facilitar o processo<br />

<strong>de</strong> aquisição e processamento.<br />

Dessa forma, voltando ao requisito <strong>de</strong> tempo <strong>de</strong> <strong>de</strong>senvolvimento, esses dispositivos <strong>de</strong>veriam<br />

já ser dominados pelos autores, a fim <strong>de</strong> evitar <strong>um</strong>a gran<strong>de</strong> curva <strong>de</strong> aprendizado. Dois dispositivos<br />

se <strong>de</strong>stacaram: a série <strong>de</strong> microcontroladores Atmel AVR [26], e os microcontroladores baseados<br />

em núcleos ARM7, em especial o NXP LPC2148 [27].<br />

A família Atmel AVR é <strong>um</strong>a das preferidas no <strong>LARA</strong>, <strong>de</strong>vido a sua robustez, quantida<strong>de</strong> <strong>de</strong><br />

periféricos e simplicida<strong>de</strong> na programação. Em geral, os AVRs são microcontroladores <strong>de</strong> 8 bits<br />

com timers, conversores A/D, UART e portas SPI e I 2 C [26]. A principal vantagem é o seu circuito<br />

<strong>de</strong> referência simples e facilida<strong>de</strong> <strong>de</strong> programação. Esses dispositivos operam em <strong>um</strong>a frequência<br />

entre 8-16 MHz. O Atmel AVR ATMega 328P já está instalado na Sparkfun Razor IMU.<br />

Já o NXP LPC2148 é <strong>um</strong> microcontrolador <strong>de</strong> 32 bits baseado no núcleo ARM7. Normalmente,<br />

ele opera em torno <strong>de</strong> 60 MHz, e conta com mais dispositivos e pinos que os dispositivos da família<br />

Atmel AVR. A principal vantagem <strong>de</strong>sse dispositivo, além <strong>de</strong> sua velocida<strong>de</strong>, é a possibilida<strong>de</strong> <strong>de</strong><br />

utilizar <strong>um</strong> sistema operacional em tempo real, tal como o FreeRTOS.<br />

Os circuitos <strong>de</strong> referência dos AVRs já são dominados pelo equipe do <strong>LARA</strong>, logo, esses<br />

dispositivos po<strong>de</strong>m ser integrados diretamente no projeto elétrico. O circuito <strong>de</strong> referência do<br />

LPC2148 já é <strong>um</strong> pouco mais complexo, pois envolve circuitos proteção da programadora (JTAG),<br />

alimentação em diversos níveis lógicos e circuitos <strong>de</strong> PLL, o que tornou a opção <strong>de</strong> comprar <strong>um</strong><br />

módulo interessante.<br />

O módulo mais apropriado para essa aplicação foi o Olimex LPC-H2148 [28] (Figura 3.13),<br />

que conta como todos os circuitos auxiliares e disponibiliza todos os pinos através <strong>de</strong> conectores<br />

padronizados com 0,1 polegada <strong>de</strong> espaçamento. Esse módulo, além <strong>de</strong> ser extremamente simples<br />

e <strong>de</strong> fácil compreensão, tem todos os esquemáticos disponíveis e é comercializado pela Sparkfun.<br />

Figura 3.13: Olimex LPC-H2148<br />

35


3.5.5 Tubo <strong>de</strong> Pitot<br />

O elemento sensorial <strong>de</strong> <strong>um</strong> tubo <strong>de</strong> Pitot é a pressão diferencial, ou seja, a pressão dinâmica<br />

(tomada da ponta do tubo <strong>de</strong> Pitot) subtraída da pressão estática (tomada da lateral do tubo <strong>de</strong><br />

Pitot). Esse medida está relacionada com a velocida<strong>de</strong> aerodinâmica.<br />

Existem muitos sensores no mercado capazes <strong>de</strong> fazer esse tipo <strong>de</strong> medida, alguns outros<br />

projetos foram pesquisados para aferir qual a solução mais utilizada. A pesquisa mostrou que a<br />

maior parte dos projetos utiliza o sensor MPXV7002DP [29], da Freescale Semiconductor. Esse<br />

é <strong>um</strong> sensor <strong>de</strong> pressão diferencial que já conta com compensação em relação a temperatura é<br />

calibrado na fábrica. As especificações essenciais estão na Tabela 3.11, retirados <strong>de</strong> [29].<br />

Parâmetro<br />

Valor<br />

Tipo <strong>de</strong> sensor Pressão Diferencial<br />

Saída Analógica, 0-5V<br />

Faixa <strong>de</strong> Operação ±2 kPa<br />

Sensitivida<strong>de</strong> 1 V/kPa<br />

Acurácia ±2,5%<br />

Tabela 3.11: Especificações do sensor <strong>de</strong> pressão Freescale Semiconductor MPXV7002DP<br />

Além do elemento sensorial, o tubo <strong>de</strong> Pitot <strong>de</strong>ve que ser especificado. Para esse tamanho<br />

<strong>de</strong> aeronave, o único tubo encontrado no mercado foi o fabricado pela Eagle Tree Systems [30].<br />

Ele é vendido como <strong>um</strong> instr<strong>um</strong>ento para aeromo<strong>de</strong>los, mas foi facilmente adaptado para a nossa<br />

aeronave com o sensor <strong>de</strong> pressão diferencial utilizado.<br />

3.5.6 Altímetro<br />

O altímetro é basicamente <strong>um</strong> instr<strong>um</strong>ento que utiliza a medida <strong>de</strong> pressão atmosférica (estática)<br />

para gerar <strong>um</strong>a medida <strong>de</strong> altitu<strong>de</strong>. Dessa forma, qualquer sensor <strong>de</strong> pressão estática é<br />

apropriada para montar <strong>um</strong> altímetro.<br />

A tecnologia MEMS disponibilizou vários sensores <strong>de</strong> alta precisão e baixo custo nos últimos<br />

anos. A principal dificulda<strong>de</strong> da maioria <strong>de</strong>sses sensores são encapsulamentos exóticos que são<br />

difíceis <strong>de</strong> soldar, o que levou a preferência por módulos cuja breakout board já estivesse disponível.<br />

A Sparkfun disponibiliza o módulo SCP1000 [31], da VTI Technologies, em forma <strong>de</strong> breakout<br />

board. Esse módulo, na época do projeto, era o mais preciso disponível no mercado, com resolução<br />

teórica <strong>de</strong> 9 cm. As especificações básicas estão na Tabela 3.12, a partir <strong>de</strong> [31].<br />

3.5.7 Monitor <strong>de</strong> energia<br />

Outro requisito do projeto é a habilida<strong>de</strong> <strong>de</strong> monitorar a condição do sistema <strong>de</strong> energia em<br />

tempo real - ou seja, monitorar a tensão <strong>de</strong> cada <strong>um</strong>a das células da bateria, e a corrente sendo<br />

cons<strong>um</strong>ida pelo motor e pelo sistema <strong>de</strong> instr<strong>um</strong>entação.<br />

36


Parâmetro<br />

Tipo <strong>de</strong> sensor<br />

Saída<br />

Faixa <strong>de</strong> Operação<br />

Resolução<br />

Frequência <strong>de</strong> Operação<br />

Valor<br />

Pressão Absoluta<br />

Digital, 14 bits por SPI<br />

30 kPa - 120 kPa<br />

1,5 Pa<br />

9 Hz<br />

Tabela 3.12: Especificações do sensor <strong>de</strong> pressão VTI Technologies SCP1000<br />

Monitorar a tensão é <strong>um</strong>a operação razoavelmente trivial, e será tratada no projeto elétrico<br />

do sistema.<br />

Existem duas formas básicas <strong>de</strong> se medir a corrente: a primeira é através da medição da queda<br />

<strong>de</strong> tensão <strong>de</strong> <strong>um</strong> resistor <strong>de</strong> valor conhecido (resistor shunt), e a outra é através da medição da<br />

tensão induzida quando os elétrons passam por <strong>um</strong> campo magnético B conhecido. Essa segunda<br />

técnica é a utilizada por sensores <strong>de</strong> efeito Hall.<br />

A principal vantagem da primeira técnica é a facilida<strong>de</strong> <strong>de</strong> implementação e calibração <strong>de</strong>sse<br />

tipo <strong>de</strong> dispositivo, porém, essa técnica <strong>de</strong> medição introduz <strong>um</strong>a queda <strong>de</strong> tensão proporcional<br />

ao valor da corrente sendo medida. Como a corrente do motor, que gira em torno <strong>de</strong> 20 A, fará<br />

parte da medição, a queda gerada por essa técnica será muito gran<strong>de</strong>, tornado essa opção inviável.<br />

Os sensores que utilizam o efeito Hall para fazer a medida <strong>de</strong> corrente não sofrem do efeito da<br />

queda <strong>de</strong> tensão, porém, eles ten<strong>de</strong>m a ser menos lineares que os sensores do tipo resistor shunt.<br />

Como a precisão <strong>de</strong>ssa medida não é crítica, a opção foi feita por utilizar esse sensor no projeto.<br />

O <strong>LARA</strong> já contava com alguns sensores do tipo ACS755xCB-150 da Allegro MicroSystems [32]<br />

disponíveis, então esse foi o sensor escolhido no projeto. Ele é capaz <strong>de</strong> medir correntes <strong>de</strong> até<br />

150 A, que é muito além do necessário para as necessida<strong>de</strong>s da aeronave, mas a sua precisão e<br />

resolução tornam o seu uso possível. Os <strong>de</strong>talhes principais <strong>de</strong>sse sensor estão na Tabela 3.13,<br />

com base em [32].<br />

Parâmetro<br />

Valor<br />

Tipo <strong>de</strong> sensor<br />

Corrente (Efeito Hall)<br />

Saída<br />

Analógica<br />

Faixa <strong>de</strong> Operação<br />

0 - 150 A<br />

Sensitivida<strong>de</strong><br />

26 mV/A<br />

Precisão<br />

± 1% @ 25 o C<br />

Resistência do elemento <strong>de</strong> medição 100 µΩ<br />

Tabela 3.13: Especificações do sensor <strong>de</strong> corrente Allegro MicroSystems ACS755xCB-150<br />

Calculando a queda máxima <strong>de</strong> tensão, e ass<strong>um</strong>indo que a corrente máxima contínua é <strong>de</strong> 30<br />

A, temos que:<br />

V queda = 100µΩ · 30 A = 3 mV (3.1)<br />

37


3.5.8 Sonares<br />

Mesmo com <strong>um</strong> excelente conjunto <strong>de</strong> sensores inerciais e <strong>um</strong> receptor <strong>de</strong> GPS <strong>de</strong> precisão,<br />

a aeronave ainda <strong>de</strong>ve saber a sua distância em relação ao solo para realizar com confiabilida<strong>de</strong><br />

operações <strong>de</strong> pouso e <strong>de</strong>colagem. Esse tipo <strong>de</strong> medida po<strong>de</strong> ser realizada através <strong>de</strong> sensores<br />

ópticos (laser rangefin<strong>de</strong>rs ou infravermelhos) ou através <strong>de</strong> sonares. Entre os sensores <strong>de</strong> baixo<br />

custo capazes <strong>de</strong> realizar esse tipo <strong>de</strong> medida, os sonares se <strong>de</strong>stacam pois tem o menor custo,<br />

preço, e o maior alcance e precisão.<br />

Existem vários fabricantes <strong>de</strong> sonares no mercado, porém, o <strong>LARA</strong> já contava com alguns<br />

módulos da MaxBotix, que foram reaproveitados nesse projeto. Esses módulos, além <strong>de</strong> serem<br />

extremamente pequenos e leves, tem <strong>um</strong>a resolução <strong>de</strong> aproximadamente 2,5 cm, e fornecerem<br />

saídas analógicas e digitais. Nesse caso, o módulo utilizado foi o MaxBotix LV-MaxSonar-EZ4<br />

(MB1040, Figura 3.14), cujas informações mais importantes estão na Tabela 3.14, retiradas <strong>de</strong> [33].<br />

Parâmetro<br />

Valor<br />

Tipo <strong>de</strong> sensor<br />

Sonar<br />

Saída<br />

Analógica e Digital (Serial, Pulse Width)<br />

Faixa <strong>de</strong> Operação 6 a 254 polegadas (0,15 a 6,45 m)<br />

Resolução<br />

1 polegada (2,54 cm)<br />

Frequência do sonar<br />

42 kHz<br />

Frequência <strong>de</strong> atualização das medidas<br />

20 Hz<br />

Tabela 3.14: Especificações do sonar MaxBotix LV-MaxSonar-EZ4<br />

Figura 3.14: Sonar MaxBotix LV-MaxSonar-EZ4<br />

A fim <strong>de</strong> a<strong>um</strong>entar a confiabilida<strong>de</strong> da medida, dois <strong>de</strong>sses sonares foram utilizados, o que<br />

exigiu a instalação <strong>de</strong> <strong>um</strong> circuito <strong>de</strong> sincronismo, mostrado em 3.35.<br />

3.5.9 Temperatura do ar externo<br />

Outro sensor importante para a<strong>um</strong>entar a precisão das medidas do tubo <strong>de</strong> Pitot e do altímetro<br />

é a temperatura do ar externo a aeronave. Essa medida é utilizada para estimar a <strong>de</strong>nsida<strong>de</strong> do<br />

ar na atmosfera.<br />

38


Para essa medida, a <strong>de</strong>cisão foi <strong>de</strong> utilizar o tradicional National Semiconductor LM35 [34].<br />

Ele fornece <strong>um</strong>a precisão <strong>de</strong> 1 grau, e opera <strong>de</strong> 0 a 50 o C com <strong>um</strong>a alimentação <strong>de</strong> 5 V. Ele também<br />

já vem calibrado da fabrica. Além das especificações serem apropriadas para o projeto, esse sensor<br />

po<strong>de</strong> ser facilmente adquirido no mercado <strong>de</strong> Brasília.<br />

3.5.10 Câmera<br />

Um outro instr<strong>um</strong>ento importante para o voo é <strong>um</strong>a câmera <strong>de</strong> ví<strong>de</strong>o, a fim <strong>de</strong> registrar<br />

em primeira mão o voo do ponto <strong>de</strong> vista da aeronave. Além da possibilida<strong>de</strong> <strong>de</strong> gerar ví<strong>de</strong>os<br />

impressionantes para <strong>de</strong>monstrações, a informação visual po<strong>de</strong> ser utilizada para aferir a estimativa<br />

<strong>de</strong> atitu<strong>de</strong> e posição da aeronave.<br />

O mais interessante seria utilizar <strong>um</strong>a câmera capaz <strong>de</strong> ser conectada ao sistema embarcado,<br />

para eventualmente adicionar a informação visual ao estimador <strong>de</strong> estados. Porém, essa possibilida<strong>de</strong><br />

foi <strong>de</strong>scartada <strong>de</strong>vido a limitações na placa <strong>de</strong> expansão utilizada (G<strong>um</strong>stix Pinto-TH) e<br />

alguns problemas <strong>de</strong> software.<br />

Assim, a fim <strong>de</strong> permitir a análise do voo offline e para gerar ví<strong>de</strong>os <strong>de</strong> <strong>de</strong>monstração, <strong>um</strong>a<br />

pequena câmera foi adquirida. O principal critério para escolha <strong>de</strong>ssa câmera foi o peso e o<br />

custo, além da operação <strong>de</strong> forma in<strong>de</strong>pen<strong>de</strong>nte <strong>de</strong> qualquer outro sistema da aeronave. A câmera<br />

escolhida foi a câmera conhecida como 808 #16, fabricada por <strong>um</strong> fornecedor sem nome na China.<br />

Essas câmeras são famosas na comunida<strong>de</strong> <strong>de</strong> entusiastas <strong>de</strong> veículos aéreos não-tripulados pelo<br />

baixo custo e excelentes resultados.<br />

3.5.11 Link <strong>de</strong> comunicação<br />

Aten<strong>de</strong>ndo os requisitos do projeto, <strong>um</strong> módulo <strong>de</strong> comunicação sem fio foi adicionado ao<br />

projeto para permitir operação no solo e obtenção <strong>de</strong> dados <strong>de</strong> telemetria durante o voo.<br />

A forma mais simples <strong>de</strong> se realizar <strong>um</strong> link <strong>de</strong> comunicação é utilizar <strong>um</strong> par <strong>de</strong> módulos<br />

fabricados para operarem em conjunto, e preferencialmente <strong>de</strong> forma serial.<br />

Os módulos mais facilmente encontrados no mercado são os que utilizam o protocolo ZigBee.<br />

Dessa forma, <strong>um</strong>a pesquisa foi feita para encontrar os módulos com o maior alcance - principal<br />

limitação <strong>de</strong>sse sistema <strong>de</strong> comunicação.<br />

A escolha mais interessante foi utilizar <strong>um</strong> módulo XBee-PRO, fabricado pela Digi (Figura<br />

3.15). Esses módulos são da família <strong>de</strong> Drop-in Networking Solutions, que facilita ao máximo<br />

a configuração e o funcionamento <strong>de</strong>sses módulos. O mo<strong>de</strong>lo específico escolhido foi o XBP09-<br />

DPWIT-156, cuja especificações estão na Tabela 3.15, retiradas <strong>de</strong> [35].<br />

39


Parâmetro<br />

Frequência <strong>de</strong> Operação<br />

Potência <strong>de</strong> Transmissão<br />

Taxa <strong>de</strong> transmissão<br />

Valor<br />

900 MHz (ISM)<br />

50 mW (+17 dBm)<br />

156 kbps<br />

Tabela 3.15: Especificações do módulo Digi XBee-PRO XBP09-DPWIT-156<br />

Figura 3.15: Módulo Digi XBee-PRO XBP09-DPWIT-156<br />

3.6 Projeto <strong>de</strong> Sistema<br />

Com todos os dispositivos e requisitos <strong>de</strong> projeto <strong>de</strong>finidos, seguiu-se para a elaboração do<br />

projeto a nível <strong>de</strong> sistema. Para esse tipo <strong>de</strong> projeto, o sentimento (feeling) e experiência do<br />

projetista são os fatores que mais influenciam o resultado final.<br />

Como via <strong>de</strong> regra, o projeto <strong>de</strong> hardware <strong>de</strong>ve facilitar ao máximo a programação necessária,<br />

ser fácil <strong>de</strong> montar, diagnosticar e consertar problemas, além <strong>de</strong> ser o mais confiável possível -<br />

ou seja, ele <strong>de</strong>ve reduzir a quantida<strong>de</strong> <strong>de</strong> homem-horas <strong>de</strong>dicadas a ativida<strong>de</strong>s <strong>de</strong> manutenção e<br />

montagem.<br />

Outro ponto fundamental é que todos os dados <strong>de</strong>vem chegar ao processador principal (o<br />

G<strong>um</strong>stix Overo), os algoritmos <strong>de</strong>vem ser executados, e a ação <strong>de</strong> controle executada em <strong>um</strong> tempo<br />

razoável para o controle da aeronave - arbitrado em torno <strong>de</strong> 100 Hz, com base na experiência<br />

provida <strong>de</strong> outros projetos do <strong>LARA</strong>.<br />

O primeiro <strong>de</strong>safio é a levar todos os dados ao processador principal - os sensores utilizam <strong>um</strong>a<br />

varieda<strong>de</strong> gran<strong>de</strong> <strong>de</strong> padrões elétricos e lógicos incompatíveis entre si, o que dificulta a conexão <strong>de</strong><br />

todos os dispositivos diretamente ao processador principal. Outro fator limitante é a quantida<strong>de</strong><br />

<strong>de</strong> dispositivos e portas disponíveis no G<strong>um</strong>stix e os drivers <strong>de</strong>sses dispositivos.<br />

Assim, para facilitar o processo <strong>de</strong> aquisição, todos os dispositivos seriam conectados (diretamente<br />

ou indiretamente) a <strong>um</strong> processador auxiliar - o NXP LPC2148 - que tem como objetivo<br />

concentrar os dados, <strong>de</strong> tal forma que só houvesse <strong>um</strong> único dispositivo conectado ao G<strong>um</strong>stix.<br />

O LPC2148 foi escolhido <strong>de</strong>vido ao domínio dos projetistas com esse microcontrolador, além da<br />

velocida<strong>de</strong> <strong>de</strong> processamento e a disponibilida<strong>de</strong> dos módulos no <strong>LARA</strong>. Além disso, esse dispositivo<br />

conta com <strong>um</strong>a interface JTAG para <strong>de</strong>bug, o que facilita muito o processo <strong>de</strong> <strong>de</strong>puração <strong>de</strong><br />

eventuais problemas.<br />

40


Os conversores analógicos/digitais integrados no LPC2148 também reduziam a quantida<strong>de</strong> <strong>de</strong><br />

circuitos adicionais necessários.<br />

Essa mesma técnica <strong>de</strong> utilizar <strong>um</strong> dispositivo concentrador foi utilizada para gerenciar os<br />

sinais <strong>de</strong> rádio (geração e aquisição) e para os dados da central inercial. Em ambos os casos, essa<br />

parte é gerenciada pelos microcontroladores AVR locais <strong>de</strong> cada módulo.<br />

Sabendo como todos os dispositivos se comunicariam, seguiu-se para o levantamento dos circuitos<br />

auxiliares necessários. Consultando os sensores, constatou-se que seriam necessários os<br />

circuitos <strong>de</strong> alimentação, circuitos <strong>de</strong> conversão <strong>de</strong> nível lógico e <strong>de</strong> condicionamento <strong>de</strong> sinal<br />

analógico, e <strong>um</strong> circuito para o sincronismo dos sonares.<br />

Com essas informações, chegou-se ao diagrama completo a nível <strong>de</strong> sistema, mostrado na<br />

Figura 3.16.<br />

Mo<strong>de</strong>m<br />

Digi XBee-<br />

PRO<br />

PC (HMM)<br />

Monitor <strong>de</strong><br />

Corrente da<br />

Bateria<br />

Monitor <strong>de</strong><br />

Tensão da<br />

Bateria<br />

Tubo <strong>de</strong> Pitot<br />

Eagle Tree<br />

Systems<br />

Referência<br />

<strong>de</strong> Tensão<br />

3V3<br />

Serial LVTTL<br />

RS232<br />

Série<br />

Paralelo<br />

3 Medias<br />

Sensor <strong>de</strong><br />

Pressão<br />

Diferencial<br />

MPXV7002DP<br />

Analógico<br />

Altímetro<br />

SCP1000<br />

Bateria Lítio<br />

Polímero 3S<br />

SPI LVTTL<br />

Conversor<br />

DC-DC<br />

Saída<br />

5 V DC<br />

Módulos Energia<br />

Sensor <strong>de</strong><br />

Temperatura<br />

LM35<br />

Analógico<br />

Analógico<br />

Analógico<br />

Sonar 1<br />

MaxBotix LV-<br />

MaxSonar-<br />

EZ4<br />

Circuito <strong>de</strong><br />

Sincronismo<br />

Processador<br />

Principal<br />

G<strong>um</strong>stix Overo<br />

Processador<br />

Auxiliar<br />

NXP LPC2148<br />

PWM,<br />

2 Canais<br />

Sonar 2<br />

MaxBotix LV-<br />

MaxSonar-<br />

EZ4<br />

20 Hz<br />

Serial LVTTL<br />

SPI LVTTL<br />

Serial LVTTL<br />

SPI LVTTL<br />

Microcontrolador<br />

Atuação<br />

Atmel AVR<br />

ATMega 328P<br />

Microcontrolador<br />

Leitura Rádio<br />

Atmel AVR<br />

ATMega 328P<br />

8 Canais<br />

PWM<br />

Ctrl.<br />

MUX<br />

GPS Novatel<br />

SUPERSTAR II<br />

Girômetro<br />

LY530ALH<br />

Girômetro<br />

LPR530ALH<br />

Acelerômetro<br />

ADXL345<br />

Mux<br />

Emergência<br />

7 Canais<br />

PWM<br />

Cabo Coaxial<br />

50 Ohms<br />

Analógico<br />

I2C<br />

ESC<br />

1 Canal<br />

PWM<br />

4 Canais<br />

PWM<br />

3 Cabos<br />

Alta Corrente<br />

Antena V-Torch<br />

Electronics<br />

VTGPSIA-3<br />

Módulo GPS<br />

Microcontrolador<br />

IMU<br />

Atmel AVR<br />

ATMega 328P<br />

I2C<br />

Magnetômetro<br />

HMC5843<br />

Servos Hitec<br />

HS-5055MG<br />

Motor Turnigy<br />

C3530-1100<br />

Rádio<br />

Spektr<strong>um</strong><br />

DX-7<br />

Módulo Rádios/Atuação<br />

Sonares<br />

Sparkfun Electronics<br />

9DOF Razor IMU<br />

Figura 3.16: Projeto completo a nível <strong>de</strong> sistema<br />

O diagrama tenta ilustrar todo o projeto <strong>de</strong> <strong>um</strong>a forma simples e con<strong>de</strong>nsada. Percebe-se que<br />

o G<strong>um</strong>stix utiliza 2 portas seriais - <strong>um</strong>a para comunicar com o PC (para testes/<strong>de</strong>senvolvimento)<br />

ou para o mo<strong>de</strong>m XBee, e <strong>um</strong>a para se comunicar com o LPC2148.<br />

O LCP2148 recebe todos os dados dos sensores analógicos (referência <strong>de</strong> tensão, sensor <strong>de</strong><br />

temperatura, medida <strong>de</strong> pressão diferencial e informações <strong>de</strong> corrente e tensão da bateria), além<br />

dos sinais digitais. Po<strong>de</strong>-se dividir os barramentos digitais do LPC da seguinte forma: SPI0, SPI1,<br />

UART0 e UART1.<br />

O barramento SPI0 (Serial Peripheral Bus 0 ) é utilizado para comunicação com os módulos<br />

<strong>de</strong> leitura dos rádios, geração <strong>de</strong> PWM para os servos e para o altímetro SCP1000. Uma funcionalida<strong>de</strong><br />

interessante do barramento SPI é a possibilida<strong>de</strong> <strong>de</strong> se utilizar vários dispositivos no<br />

mesmo barramento sem conflitos, através do uso <strong>de</strong> sinais CS (chip select).<br />

41


O barramento SPI1 é <strong>de</strong>dicado a central inercial, a fim <strong>de</strong> reduzir ao máximo a latência <strong>de</strong><br />

comunicação nesse canal.<br />

O UART0 é utilizado exclusivamente para a comunicação com a unida<strong>de</strong> <strong>de</strong> controle principal<br />

(G<strong>um</strong>stix), e o UART1 é utilizado para se comunicar com o GPS NovAtel SUPERSTAR II.<br />

3.7 Solução Elétrica<br />

Com os stacks projetados do ponto <strong>de</strong> vista físico, os sensores escolhidos e o projeto a nível <strong>de</strong><br />

sistema completo, o projeto a nível elétrico po<strong>de</strong> ser iniciado.<br />

A primeira etapa foi <strong>de</strong>finir como seriam organizados os sinais <strong>de</strong>ntro dos barramentos criados<br />

pelos stacks. Uma gran<strong>de</strong> vantagem <strong>de</strong> se utilizar os stacks é que todos os módulos tem acesso<br />

a todos os sinais - porém, o projetista <strong>de</strong>ve ter muito cuidado com questões <strong>de</strong> interferência e<br />

compatibilida<strong>de</strong> eletromagnética [36, 37].<br />

A abordagem tomada foi <strong>de</strong>finir primeiramente os pinos referentes a energização do sistema -<br />

ou seja, os pinos referentes a tensão <strong>de</strong> alimentação dos stacks (5 V DC e terra). Para esse fim,<br />

foram utilizados os pinos 1-3 <strong>de</strong> <strong>um</strong> dos conectores para o 5 V, e outros 3 para o terra, totalizando<br />

6 pinos <strong>de</strong> alimentação. Essa técnica adiciona <strong>um</strong> grau <strong>de</strong> redundância a alimentação <strong>de</strong> cada<br />

módulo, prevenindo que <strong>um</strong>a falha <strong>de</strong> conexão <strong>de</strong>rrube o sistema.<br />

Além <strong>de</strong>sses 6 pinos, outros 6 pinos do outro conectores foram <strong>de</strong>finidos como DNC (do not<br />

connect), <strong>de</strong> tal forma a prevenir que <strong>um</strong>a montagem invertida energize o sistema e danifique os<br />

módulos. Isso é mais <strong>um</strong> exemplo <strong>de</strong> como o projeto foi feito pensando na minimização <strong>de</strong> erros<br />

feitos pelo usuário.<br />

Os outros pinos foram <strong>de</strong>terminados ao longo do projeto, porém, <strong>de</strong>s<strong>de</strong> o início, os sinais<br />

digitais foram fisicamente separados dos sinais analógicos (cada conjunto em <strong>um</strong> conector), a fim<br />

<strong>de</strong> reduzir o ruído nas linhas analógicas.<br />

Outro ponto <strong>de</strong> partida importante é o projeto a nível <strong>de</strong> sistema - mais <strong>um</strong>a vez, aplicação<br />

direta do dividir para conquistar. Nesse caso, o espaço físico limitou o número <strong>de</strong> stacks a 4, e<br />

vários dispositivos não po<strong>de</strong>riam ser acomodados na placa, o que guiou <strong>de</strong> forma natural o projeto<br />

a nível <strong>de</strong> sistema.<br />

Uma restrição aos stacks é que só o módulo superior po<strong>de</strong>ria receber placas filhas, <strong>de</strong>vido ao<br />

espaçamento fixo entre cada <strong>um</strong> dos módulos. O <strong>LARA</strong> já contava com <strong>um</strong> módulo microcontrolado<br />

(Olimex LPC-H2148) e <strong>um</strong>a central inercial (Sparkfun Razor 9DOF IMU) que po<strong>de</strong>riam ser<br />

integradas no projeto como placas filhas, levando a placa superior (número 4) a ser <strong>de</strong>nominada<br />

“Módulo <strong>de</strong> Integração/Inercial”. O nome “Módulo <strong>de</strong> Integração” se refere a função <strong>de</strong> concentração<br />

sensorial que o NXP LPC2148 integrado ao Olimex LPC-H2148 executa no projeto (mais<br />

<strong>de</strong>talhes no capítulo 4).<br />

O módulo <strong>de</strong> processamento central, o G<strong>um</strong>strix Overo, ocupava todo o espaço físico <strong>de</strong> <strong>um</strong><br />

stack. Assim, o módulo logo abaixo do módulo superior (número 3) foi <strong>de</strong>finido como “Módulo <strong>de</strong><br />

42


Processamento”.<br />

Os conectores e circuito <strong>de</strong> processamento dos rádios ocuparam bastante espaço nos esboços<br />

iniciais, levando a <strong>de</strong>finição do módulo 2 como “Módulo <strong>de</strong> Rádios”.<br />

Finalmente, a placa <strong>de</strong> baixo (número 1) ficou responsável pelo gerenciamento <strong>de</strong> energia,<br />

sendo <strong>de</strong>nominada <strong>de</strong> “Módulo <strong>de</strong> Energia”.<br />

A falta <strong>de</strong> espaço físico espalhou os outros circuitos ao longo das placas, ou seja, alguns stacks<br />

contem circuitos não referentes a sua <strong>de</strong>nominação original.<br />

Com os módulos <strong>de</strong>finidos, os projetos elétricos foram <strong>de</strong>senvolvidos. Os projetos foram feitos<br />

<strong>de</strong> forma paralela, porém, eles serão <strong>de</strong>scritos <strong>de</strong> forma sequencial para facilitar a apresentação.<br />

3.7.1 Módulo <strong>de</strong> Energia<br />

O módulo <strong>de</strong> energia consiste dos circuitos regulação <strong>de</strong> tensão (conversor DC-DC), <strong>de</strong> supervisão<br />

da bateria (tensão e corrente), além do altímetro e do conector para o GPS, conforme<br />

ilustrado pela Figura 3.17 e 3.18.<br />

(Fora do módulo)<br />

GPS Novatel<br />

SUPERSTAR<br />

II<br />

Altímetro<br />

SCP1000<br />

Corrente da<br />

Bateria<br />

Conector<br />

<strong>de</strong> Energia<br />

(Entrada)<br />

Conector<br />

<strong>de</strong> GPS<br />

LVTTL<br />

Analógico<br />

Sensor <strong>de</strong><br />

Efeito Hall<br />

Allegro MicroSystems<br />

ACS755xCB-150<br />

Cabos/Trilhas <strong>de</strong><br />

Alta Corrente<br />

Serial GPS<br />

RX/TX<br />

LVTTL<br />

SPI Altímetro<br />

Conversor DC-DC<br />

Texas Instr<strong>um</strong>ents<br />

PTH08T230WAD<br />

Conector<br />

<strong>de</strong> Energia<br />

(Saída)<br />

5 V<br />

(Board-to-Board<br />

Connector)<br />

ESC<br />

Regulador<br />

3V3<br />

(Fora do módulo)<br />

Bateria Lítio-<br />

Polímero Yuntong<br />

3S 2100 mAh<br />

(Fora do módulo)<br />

3 Células<br />

Analog.<br />

Divisores<br />

<strong>de</strong> Tensão<br />

Buffers<br />

Condicionamento <strong>de</strong> Sinal<br />

Analógico<br />

Tensão da<br />

Bateria<br />

Figura 3.17: Projeto do módulo <strong>de</strong> energia<br />

3.7.1.1 Alimentação do sistema<br />

A funcionalida<strong>de</strong> mais crítica <strong>de</strong>sse módulo é fornecer energia a todo o sistema em <strong>um</strong> nível<br />

<strong>de</strong> tensão compatível com os requerimentos dos circuitos analógicos e digitais do sistema.<br />

43


Figura 3.18: Módulo <strong>de</strong> energia montado<br />

Analisando os módulos, nota-se que a maior parte dos circuitos digitais opera com <strong>um</strong>a tensão<br />

<strong>de</strong> 3.3 V DC, enquanto que alguns circuitos analógicos e alguns módulos digitais operam com 5<br />

V DC. Ou seja, a maior tensão utilizada pelo circuito <strong>de</strong> instr<strong>um</strong>entação é 5 V DC, o que torna<br />

a tensão <strong>de</strong> 5 V DC <strong>um</strong> valor razoável para alimentar todos os módulos.<br />

Essa escolha também permite que cada placa tenha seu próprio regulador <strong>de</strong> 3.3 V DC, o que<br />

isola o ruído elétrico vindo <strong>de</strong> fontes digitais, espalha a carga e a<strong>um</strong>enta a redundância, além <strong>de</strong><br />

eliminar a necessida<strong>de</strong> <strong>de</strong> dissipadores <strong>de</strong> calor em <strong>um</strong> único dispositivo.<br />

Basicamente, existem duas forma <strong>de</strong> se regular a tensão fornecida pela bateria, que varia entre<br />

11,1 e 12, 4 V DC, para <strong>um</strong> valor <strong>de</strong> 5 V DC: <strong>um</strong> regulador linear e <strong>um</strong> conversor DC-DC.<br />

O conversor DC-DC funciona chaveando a corrente sobre <strong>um</strong> indutor, gerando a tensão <strong>de</strong><br />

saída <strong>de</strong>sejada, enquanto o regulador linear funciona operando <strong>um</strong> transistor na região ativa (ou<br />

linear).<br />

O conversor DC-DC apresenta <strong>um</strong>a topologia mais complexa e <strong>um</strong>a quantida<strong>de</strong> maior <strong>de</strong> ruído<br />

do que <strong>um</strong> regulador linear, porém, ele apresenta <strong>um</strong>a eficiência significativamente maior, o que<br />

elimina a necessida<strong>de</strong> <strong>de</strong> <strong>um</strong> dissipador <strong>de</strong> calor. Esse tipo <strong>de</strong> regulador também é mais caro<br />

que <strong>um</strong> regulador linear tradicional. Por essas razões, como o peso e o cons<strong>um</strong>o <strong>de</strong> energia são<br />

prioritários no projeto, <strong>de</strong>cidiu-se por utilizar <strong>um</strong> conversor DC-DC <strong>de</strong> alta eficiência no projeto.<br />

Uma opção viável seria o projeto <strong>de</strong> <strong>um</strong> conversor em torno <strong>de</strong> <strong>um</strong> circuito integrado próprio<br />

para controle <strong>de</strong> conversores DC-DC, como o TL494 ou o MC34063. O problema <strong>de</strong>ssa abordagem<br />

é que muitos dos efeitos não-lineares in<strong>de</strong>sejáveis <strong>de</strong>sse tipo <strong>de</strong> conversor são imprevisíveis até a<br />

etapa <strong>de</strong> prototipagem, o que cons<strong>um</strong>iria muito tempo na fase <strong>de</strong> testes e projeto. Esse tipo <strong>de</strong><br />

circuito integrado também opera a <strong>um</strong>a frequência baixa, o que diminui o <strong>de</strong>sempenho.<br />

A outra opção factível que foi escolhida foi a compra <strong>de</strong> <strong>um</strong> módulo DC-DC <strong>de</strong> alto <strong>de</strong>sempenho<br />

pré-montado, já contendo os indutores, controladores e circuitos auxiliares. Nesse tipo <strong>de</strong> módulo,<br />

o projetista só precisa especificar a tensão <strong>de</strong> saída (tipicamente através <strong>de</strong> <strong>um</strong> resistor) e os<br />

capacitores <strong>de</strong> saída.<br />

44


Com base na experiência do <strong>LARA</strong>, o módulo escolhido foi o Texas Instr<strong>um</strong>ents PTH08T230WAD,<br />

ilustrado na Figura 3.19. Suas principais características estão na Tabela 3.16, <strong>de</strong> [38].<br />

Figura 3.19: Conversor DC-DC Texas Instr<strong>um</strong>ents PTH08T230WAD<br />

Parâmetro<br />

Valor<br />

Tensão <strong>de</strong> Entrada<br />

4,5 V a 14 V<br />

Tensão <strong>de</strong> Saída<br />

0,69V a 5,5 V<br />

Eficiência até 95%<br />

Precisão na tensão <strong>de</strong> saída ± 1,5%<br />

Corrente <strong>de</strong> saída<br />

6 A<br />

Potência máxima<br />

33 W<br />

Frequência <strong>de</strong> operação<br />

300 kHz<br />

Proteção<br />

Sobre-corrente, temperatura, sub-tensão<br />

Tabela 3.16: Especificações do conversor DC-DC Texas Instr<strong>um</strong>ents PTH08T230WAD<br />

Esse conversor também aten<strong>de</strong> as especificações militares para testes <strong>de</strong> vibração, o que o torna<br />

<strong>um</strong>a excelente escolha para a aeronave.<br />

De acordo com o fabricante [38], o resistor <strong>de</strong> ajuste <strong>de</strong>ve ser calculado, além dos capacitores<br />

<strong>de</strong> entrada e saída, como mostrado no circuito da Figura 3.20.<br />

PIC402<br />

PIC401<br />

COC4 C4<br />

Ceramic (X7R)<br />

22uF<br />

V_BAT<br />

PIC501<br />

PIC502<br />

GND<br />

COC5 C5<br />

Al<strong>um</strong>in<strong>um</strong> electrolytic, 25V<br />

220uF<br />

DC to DC Converter<br />

COU3<br />

2<br />

VI VO<br />

10<br />

INH/UVLO<br />

1<br />

SYNC VoAdj<br />

9<br />

Track<br />

8<br />

TT<br />

+Sense<br />

3<br />

GND -Sense<br />

PIU302<br />

PIU3010<br />

PIU301<br />

PIU309<br />

PIU308<br />

PIU303<br />

4<br />

PIU304<br />

7<br />

PIU307<br />

5<br />

6<br />

PIU305<br />

PIU306<br />

Texas Instr<strong>um</strong>ents' PTH08T230W DC to DC Converter<br />

PIR1001<br />

PIC602<br />

PIC601<br />

COC6 C6<br />

Ceramic (X7R)<br />

R10 100uF<br />

1a, 100ppm, 0.05W<br />

169R<br />

PIR1002 COR10<br />

+5<br />

PIC702<br />

PIC701<br />

COC7 C7<br />

Ceramic (X7R)<br />

100uF<br />

GND<br />

PIC801<br />

PIC802<br />

C8 COC8<br />

Tantal<strong>um</strong>, 16V<br />

100uF<br />

Figura 3.20: Circuito <strong>de</strong> referência do conversor DC-DC<br />

O resistor <strong>de</strong> ajuste R set para <strong>um</strong>a tensão <strong>de</strong> saída V o po<strong>de</strong> ser calculado por:<br />

R set = 10kΩ<br />

0, 69<br />

− 1, 43kΩ (3.2)<br />

V o − 0, 69<br />

45


Como V o = 5 V,<br />

R set = 10kΩ<br />

0, 69<br />

− 1, 43kΩ ≈ 170, 93Ω (3.3)<br />

5 − 0, 69<br />

que não é <strong>um</strong> valor comercial. Adotando como referência a série E48, que é facilmente encontrado<br />

no mercado internacional, temo que:<br />

R set = 169Ω (3.4)<br />

que gera:<br />

V o = 5, 01 V (3.5)<br />

A fim <strong>de</strong> minimizar o efeito da imprecisão do processo <strong>de</strong> fabricação e da temperatura no<br />

<strong>de</strong>sempenho do módulo, R set <strong>de</strong>ve ter precisão <strong>de</strong> 1%, coeficiente térmico <strong>de</strong> 100 ppm/ o C e potência<br />

<strong>de</strong> 0,05 W ou superior.<br />

O fabricante exige <strong>um</strong> capacitor <strong>de</strong> entrada com <strong>um</strong>a corrente <strong>de</strong> ripple mínima <strong>de</strong> 450 mArms,<br />

ESR <strong>de</strong> 100 mΩ ou menor, e estabilida<strong>de</strong> em função da temperatura. Para tensões <strong>de</strong> entrada<br />

maiores <strong>de</strong> 8 V, o recomendado é <strong>um</strong> capacitor eletrolítico <strong>de</strong> 220µF, com <strong>um</strong> capacitor cerâmico<br />

com os dielétricos X5R ou X7R <strong>de</strong> 22 µF em paralelo. Esses valores são críticos para suprir os<br />

picos <strong>de</strong> corrente exigidos pelo conversor DC-DC.<br />

Já para a saída, o fabricante recomenda 200 µF do tipo cerâmico, com <strong>um</strong> capacitor <strong>de</strong> 100µF<br />

com baixo ESR em paralelo para a<strong>um</strong>entar o <strong>de</strong>sempenho. No caso, foram utilizados 2 capacitores<br />

cerâmicos <strong>de</strong> 100 µF em paralelo para se obter a capacitância <strong>de</strong> 200 µF, em paralelo com <strong>um</strong><br />

capacitor <strong>de</strong> 100µF <strong>de</strong> tântalo.<br />

Todos os capacitores escolhidos foram do tipo SMD, pois além <strong>de</strong> serem menores e mais leves,<br />

eram os únicos cuja especificações atendiam as exigências do fabricante. Para escolha da tensão,<br />

foi utilizada duas vezes a tensão DC mais o ripple.<br />

Além do módulo DC-DC, que fornece 5 V para todos os stacks no barramento com<strong>um</strong>, a placa<br />

conta com <strong>um</strong> regulador linear <strong>de</strong> 3,3V para alimentar o altímetro e o GPS.<br />

Como a corrente e queda é <strong>de</strong> tensão é baixa (5 para 3,3 V), o regulador escolhido foi o<br />

LM1117-3.3 [39] em encapsulamento SMD, que é o regulador linear mais com<strong>um</strong> do mercado.<br />

O seu circuito é extremamente simples: <strong>um</strong> capacitor em paralelo na entrada (para a<strong>um</strong>entar a<br />

rejeição <strong>de</strong> ruído) e na saída (para garantir a estabilida<strong>de</strong>), como mostrado na Figura 3.21.<br />

Originalmente, o projeto previa capacitores <strong>de</strong> tântalo <strong>de</strong> 10 µF/6,3 V, porém, muitos <strong>de</strong>les<br />

falharam em questão <strong>de</strong> dias. Isso foi atribuído ao transitório, que eleva a tensão além <strong>de</strong> 6,3 V<br />

por alguns microssegundos. Dessa forma, a versão atual da placa utiliza capacitores cerâmicos <strong>de</strong><br />

100 nF na entrada e na saída do sistema. Revisões futuras <strong>de</strong>vem utilizar capacitores cerâmicos<br />

<strong>de</strong> maior capacitância ou capacitores <strong>de</strong> tântalo com pelo menos 16 V <strong>de</strong> tensão máxima.<br />

Outra adição ao circuito do regulador linear foi <strong>um</strong> fusível resetável, o PTC. O PTC é <strong>um</strong><br />

resistor com <strong>um</strong> alto coeficiente térmico positivo, em caso <strong>de</strong> sobrecorrente, ele esquenta e se torna<br />

<strong>um</strong> circuito aberto. Esse dispositivo foi instalado para prevenir que <strong>um</strong> módulo em falha levasse<br />

todo o sistema a <strong>um</strong>a situação <strong>de</strong> falha.<br />

46


a5<br />

PIC901<br />

PIC902<br />

COC9 C9<br />

10uF<br />

3<br />

1<br />

PIU603<br />

PIU601<br />

Aux Regulator<br />

COU6<br />

IN OUT<br />

GND OUT<br />

LM1117-3.3<br />

2<br />

4<br />

PIU602<br />

PIU604<br />

PIF101<br />

COF1<br />

0.5A PTC<br />

a3V3<br />

PIC1001<br />

PIF102<br />

PIC1002<br />

C10 COC10<br />

10uF<br />

GND<br />

Figura 3.21: Circuito <strong>de</strong> energia auxiliar (3,3 V)<br />

Finalmente, esse circuito acompanhava <strong>um</strong> LED que mostrava se o 3,3 V estava funcionando<br />

da maneira correta.<br />

Esse circuito <strong>de</strong> regulação linear foi repetido em todas as placas, exceto no Módulo <strong>de</strong> Integração/Inercial,<br />

que já contava com esse circuito em na placa filha do LPC2148.<br />

3.7.1.2 Monitor <strong>de</strong> bateria<br />

Existem dois subcircuitos para monitorar o estado da bateria: o que monitora as tensões das<br />

células (em paralelo com a bateria) e o que monitora a corrente sendo cons<strong>um</strong>ida (em série com<br />

a bateria).<br />

Para medir as tensões, a i<strong>de</strong>ia foi utilizar <strong>um</strong> divisor <strong>de</strong> tensão, a fim <strong>de</strong> colocar a medida <strong>de</strong>ntro<br />

da faixa do conversor analógico-digital (entre 0 e 3,3 V), seguido <strong>de</strong> <strong>um</strong> buffer para prevenir o<br />

carregamento do circuito e para isolar os módulos, como mostrado em 3.22.<br />

LIPO_CELL_3<br />

LIPO_CELL_2<br />

LIPO_CELL_1<br />

PIJ401<br />

GND<br />

COJ4<br />

PIJ402<br />

PIJ403<br />

PIJ404<br />

1<br />

2<br />

3<br />

4<br />

LiPo Balacing connector<br />

455-2249-ND<br />

LiPo Voltage Sense Circuit<br />

LIPO_CELL_X<br />

PIR101<br />

PIR102<br />

PIR201<br />

PIR202<br />

COR1<br />

1a<br />

COR2<br />

1a<br />

GND<br />

2<br />

PIU202<br />

3<br />

PIU203<br />

11 4<br />

+5<br />

PIU204<br />

PIU2011<br />

GND<br />

COU2A<br />

MCP604<br />

1<br />

PIU201<br />

LIPO_CELL_X_BUFFERED<br />

Figura 3.22: Circuito <strong>de</strong> monitoramento <strong>de</strong> tensão<br />

O primeiro elemento a ser escolhido é o amplificador operacional - nesse caso, como só a<br />

tensão <strong>de</strong> 5 V está disponível, ele <strong>de</strong>ve ser do tipo single-supply - ou seja, projetado para operar<br />

com <strong>um</strong>a tensão não diferencial. Além disso, também <strong>de</strong>vido a alimentação, esse amplificador<br />

operacional <strong>de</strong>ve ser do tipo rail-to-rail - a saída <strong>de</strong>ve ser capaz <strong>de</strong> ficar próxima dos valores<br />

das alimentações. Dessa forma, foram escolhidos os amplificadores operacionais MCP60x, da<br />

Microchip Technology [40], <strong>de</strong>vido ao seu uso prévio em outros projetos do <strong>LARA</strong>.<br />

47


Como esses amplificadores operacionais atuam como conversores <strong>de</strong> impedância (buffers) para<br />

sinais <strong>de</strong> baixa frequência, outros parâmetros como banda passante não são relevantes. Dessa<br />

forma, basta projetar os divisores <strong>de</strong> tensão para completar o monitor <strong>de</strong> tensão.<br />

A bateria fornece 4 conectores para aferir a tensão das células: a referência, a tensão da<br />

primeira célula, a tensão da primeira célula em série com a segunda célula, e a tensão das três<br />

células em série. Dessa forma, são três faixas <strong>de</strong> tensão a serem medidas, ass<strong>um</strong>indo que a tensão<br />

máxima <strong>de</strong> cada célula seja <strong>de</strong> 4,4 V (estimativa conservadora):<br />

1. Até 4,4 V<br />

2. Até 8,8 V<br />

3. Até 13,2 V<br />

Utilizando alg<strong>um</strong>a margem para erro e resistores comerciais do padrão E12, os seguintes divisores<br />

<strong>de</strong> tensão foram projetados.<br />

Célula 1 - 0 a 4,4 V:<br />

R 1 = 47kΩ R 2 = 47kΩ (3.6)<br />

R 2<br />

R 1 + R 2<br />

= 0, 5 (3.7)<br />

V o = 0 a 2, 2 V (3.8)<br />

I sensor =<br />

V max<br />

= 4, 4 = 46 µA (3.9)<br />

R 1 + R 2 94k<br />

Célula 2 - 0 a 8,8 V:<br />

R 1 = 82kΩ R 2 = 39kΩ (3.10)<br />

R 2<br />

R 1 + R 2<br />

= 0, 322 (3.11)<br />

V o = 0 a 2, 836 V (3.12)<br />

I sensor =<br />

V max<br />

= 8, 8 = 72, 72 µA (3.13)<br />

R 1 + R 2 121k<br />

Célula 1 - 0 a 13,2 V:<br />

R 1 = 82kΩ R 2 = 22kΩ (3.14)<br />

R 2<br />

R 1 + R 2<br />

= 0, 212 (3.15)<br />

V o = 0 a 2, 792 V (3.16)<br />

48


I sensor =<br />

V max<br />

= 13, 2 = 126, 92 µA (3.17)<br />

R 1 + R 2 94k<br />

As correntes dos sensores são outro parâmetro importante - se elas forem muito altas, a bateria<br />

seria drenada pelos resistores. Se as resistências forem muito altas, as medidas ficam imprecisas<br />

<strong>de</strong>vido a fenômenos térmicos. Dessa forma, procurou-se encontrar <strong>um</strong> meio termo entre cons<strong>um</strong>o<br />

<strong>de</strong> energia e precisão.<br />

Os resistores foram especificados com 1% <strong>de</strong> precisão ou superior, com<br />

baixo coeficiente térmico, a fim <strong>de</strong> manter a calibração ao longo da temperatura <strong>de</strong> operação da<br />

aeronave.<br />

O circuito <strong>de</strong> medição <strong>de</strong> corrente não é muito diferente - basicamente, o sinal vindo do sensor<br />

<strong>de</strong> efeito Hall é filtrado, e o seu valor amplificado para que ele seja amostrado com melhor resolução<br />

pelo conversor analógico-digital. O sensor <strong>de</strong> efeito Hall, como já visto, é o ACS755xCB-150 da<br />

Allegro MicroSystems. Esse circuito está ilustrado na Figura 3.23.<br />

COU1<br />

4<br />

V_BAT_PRE_CURRENT PIU104 IPa VCC<br />

GND<br />

5<br />

V_BAT PIU105 IP-<br />

VIOUT<br />

Allegro ACS755 Hall-Effect Current Sensor<br />

Current Sensor<br />

1<br />

2<br />

PIU101<br />

PIU102<br />

3<br />

PIU103<br />

PIR102<br />

COR1<br />

PIR101<br />

PIC201<br />

PIC202<br />

GND<br />

a5<br />

PIC101<br />

PIC102<br />

GND<br />

R1<br />

Res1<br />

4K7<br />

C2 COC2<br />

Cap<br />

100nF<br />

C1 COC1<br />

Cap<br />

100nF<br />

PIR301<br />

6 PIU206<br />

R3 5 PIU205<br />

Res1<br />

1K<br />

PIR302<br />

COR3<br />

a5<br />

PIC301<br />

PIC302<br />

COR2<br />

PIR202 PIR201<br />

Res1<br />

4K7<br />

a5<br />

11 4<br />

PIU204<br />

PIU2011<br />

GND<br />

C3 COC3<br />

Cap<br />

100nF<br />

COU2B<br />

MCP604<br />

7<br />

PIU207<br />

CURRENT_OUT<br />

GND<br />

Figura 3.23: Circuito <strong>de</strong> monitoramento <strong>de</strong> corrente<br />

A primeira etapa é o projeto do filtro - ass<strong>um</strong>indo que o filtro só vai remover o ruído <strong>de</strong> alta<br />

frequência, ou seja, ele não irá atuar como filtro anti-aliasing, po<strong>de</strong>-se arbitrar <strong>um</strong>a frequência <strong>de</strong><br />

corte razoável para o sistema. Utilizando <strong>um</strong> filtro RC passa-baixas, e arbitrando os valores:<br />

R = 4, 7kΩ (3.18)<br />

C = 100nF (3.19)<br />

f c = 1<br />

2πRC<br />

= 338, 6 Hz (3.20)<br />

Como a sensitivida<strong>de</strong> do sensor <strong>de</strong> efeito Hall é <strong>de</strong> 26 mV/A, e ass<strong>um</strong>indo a corrente máxima<br />

<strong>de</strong> 20 A, a tensão máxima <strong>de</strong> saída é <strong>de</strong> 520 mV. Dessa forma,<br />

R 1 = 1kΩ (3.21)<br />

49


R f = 4, 7kΩ (3.22)<br />

G = 1 + R f<br />

R 1<br />

= 5, 7 (3.23)<br />

V o = 0 a 2, 964 V (3.24)<br />

Dai, temos que a sensitivida<strong>de</strong> do conjunto é <strong>de</strong> 148,2 mV/A.<br />

O único <strong>de</strong>talhe <strong>de</strong> implementação física <strong>de</strong>sse conjunto é a necessida<strong>de</strong> <strong>de</strong> projeto <strong>de</strong> trilhas<br />

<strong>de</strong> alta corrente para a medida em série. Isso foi obtido fazendo trilhas grossas nas partes superior<br />

e inferior da placa <strong>de</strong> circuito impresso. Esses trilhas foram fabricadas sem a máscara <strong>de</strong> solda,<br />

para que elas fossem reforçadas com mais solda na hora da montagem.<br />

3.7.1.3 Altímetro e GPS<br />

Devido a disponibilida<strong>de</strong> <strong>de</strong> espaço no módulo, tanto o conector do módulo GPS como o<br />

altímetro foram posicionados no módulo <strong>de</strong> energia.<br />

Para o altímetro, a parte elétrica se res<strong>um</strong>iu a conectar as linhas do barramento SPI ao boardto-board<br />

connector, e ao circuito <strong>de</strong> alimentação.<br />

Para o GPS, o circuito foi conectar a alimentação e as linhas serias ao board-to-board connector.<br />

O circuito original previa a montagem do módulo GPS Venus diretamente a placa, porém, na<br />

versão atual, os cabos são soldados diretamente aos buracos da placa para gerar <strong>um</strong> conector para<br />

o módulo NovAtel SUPERSTAR II.<br />

3.7.2 Módulo <strong>de</strong> Rádios<br />

Figura 3.24: Módulo <strong>de</strong> rádios montado<br />

O módulo mais crítico para o funcionamento da aeronave é o módulo dos rádios. Esse módulo<br />

faz a leitura dos sinais enviados pelo link <strong>de</strong> rádio (controlados pelo piloto) para controle dos<br />

50


servos, gera os sinais para os servos, e faz o chaveamento <strong>de</strong> emergência entre o controle via rádio<br />

ou pelo módulo principal. Esse módulo está ilustrado na Figura 3.24.<br />

Antes <strong>de</strong> realizar o projeto <strong>de</strong>sse circuito, é importante enten<strong>de</strong>r qual o padrão da indústria<br />

para gerar os sinais <strong>de</strong> controle <strong>de</strong> servos. Tipicamente, o sinal <strong>de</strong> controle é <strong>um</strong> sinal PWM com<br />

frequência <strong>de</strong> 50 Hz, ou seja, período <strong>de</strong> 20 milissegundos, com níveis lógicos seguindo o padrão<br />

TTL, ou seja, 0 a 5 V. Esses sinais são a referência dos servo-motores das superfícies <strong>de</strong> atuação<br />

da aeronave ou da potência do motor.<br />

A posição do servo (ou potência do motor) é controlada pelo tempo que o sinal fica em nível<br />

lógico 1, ou seja, pelo ciclo <strong>de</strong> trabalho do sinal PWM. O valor mínimo da posição é obtido com<br />

o ciclo <strong>de</strong> trabalho <strong>de</strong> 2%, ou seja, com <strong>um</strong> pulso <strong>de</strong> 1 milissegundo. Já o valor máximo é obtido<br />

com <strong>um</strong> ciclo <strong>de</strong> trabalho <strong>de</strong> 4%, ou seja, 2 milissegundos.<br />

Dentro <strong>de</strong>ssa faixa <strong>de</strong> operação, o valor <strong>de</strong> posição “padrão” (neutro da superfície <strong>de</strong> atuação)<br />

é <strong>de</strong> 3%, ou seja, 1500 milissegundos.<br />

O rádio Spektr<strong>um</strong> DX-7 fornece 7 saídas PWM, projetadas para serem diretamente conectadas<br />

ao servos. Essas saídas são disponibilizadas por cabos contendo o sinal PWM, terra e alimentação<br />

<strong>de</strong> 5 V. A alimentação do rádio e dos servos é feita através do ESC, que tem <strong>um</strong> regulador <strong>de</strong> 5<br />

V interno. A funcionalida<strong>de</strong> <strong>de</strong> cada <strong>um</strong>a <strong>de</strong>ssas 7 saídas é configurável no controle.<br />

Além dos sinais PWM, o módulo Spektr<strong>um</strong> também transmite os dados <strong>de</strong> forma serial, utilizando<br />

<strong>um</strong> protocolo e padrão físico não doc<strong>um</strong>entados pelo fabricante. Com <strong>um</strong> pouco <strong>de</strong><br />

engenharia reversa, <strong>de</strong>scobriu-se que esse sinal é serial, com níveis lógicos do tipo LVTTL.<br />

O projeto a nível <strong>de</strong> sistema do módulo <strong>de</strong> rádios está na Figura 3.25.<br />

3.7.2.1 Controle dos Rádios<br />

Dessa forma, po<strong>de</strong> ser feito o projeto do módulo <strong>de</strong> controle dos rádios. De <strong>um</strong> ponto <strong>de</strong><br />

vista <strong>de</strong> sistema, essa parte do módulo <strong>de</strong>ve extrair a informação do ciclo <strong>de</strong> trabalho do sinal<br />

PWM fornecido pelo rádio, gerar o sinal PWM para atuação a partir dos comandos do processador<br />

principal, e selecionar a saída entre <strong>um</strong> <strong>de</strong>sses sinais (chave <strong>de</strong> emergência).<br />

A primeira <strong>de</strong>cisão <strong>de</strong> projeto foi utilizar dois microcontroladores AVR para gerenciar os PWMs<br />

- <strong>um</strong> para realizar a leitura e outro para realizar a geração <strong>de</strong> sinais. A <strong>de</strong>cisão <strong>de</strong> utilizar dois<br />

dispositivos diferentes foi a quantida<strong>de</strong> <strong>de</strong> timers disponíveis em cada dispositivo, e a topologia<br />

<strong>de</strong> software utilizada.<br />

Com isso em mente, a interface com os rádios foi projetada. A fim <strong>de</strong> manter <strong>um</strong> alto grau <strong>de</strong><br />

confiabilida<strong>de</strong>, o chaveamento entre o comando do rádio e do AVR <strong>de</strong>veria ser feito pelo dispositivo<br />

mais simples possível - <strong>um</strong> MUX. O sinal <strong>de</strong> controle do MUX seria controlado pelo AVR que<br />

realiza a leitura dos rádios.<br />

O MUX <strong>de</strong>ve realizar a conversão <strong>de</strong> nível lógico entre o sinal do AVR, que é LVTTL (3,3 V),<br />

e o sinal TTL esperado pelo servo. Para tal, basta selecionar <strong>um</strong> MUX que i<strong>de</strong>ntifique 3,3 V como<br />

nível lógico 1.<br />

51


SPI<br />

Gerador <strong>de</strong> PWM<br />

SPI<br />

Leitura <strong>de</strong> Rádios<br />

Serial<br />

LVTTL<br />

Buffer<br />

PWM<br />

Rádio<br />

Spektr<strong>um</strong><br />

DX-7<br />

LVTTL<br />

Ctrl. MUX<br />

LVTTL<br />

Microcontrolador<br />

Leitura Rádio<br />

Atmel AVR<br />

ATMega 328P<br />

Microcontrolador<br />

Atuação<br />

Atmel AVR<br />

ATMega 328P<br />

PWM<br />

MUX <strong>de</strong><br />

Emergência<br />

LVTTL<br />

PWM<br />

PWM<br />

PWM<br />

Bateria Lítio<br />

Polímero 3S<br />

ESC<br />

2100 mAh<br />

3 Cabos<br />

11,7 V<br />

Alta Corrente<br />

(Fora do módulo)<br />

(Fora do módulo)<br />

Tubo<br />

<strong>de</strong> Pitot<br />

(Fora do módulo)<br />

Sensor <strong>de</strong><br />

Temp. LM35<br />

(Fora do módulo)<br />

Sensor <strong>de</strong><br />

Pressão<br />

Diferencial<br />

Analógico<br />

Condicionamento<br />

<strong>de</strong> Sinal<br />

5 V<br />

(Board-to-Board<br />

Connector)<br />

Servo Hitec<br />

HS-5055MG<br />

Aileron - Asa D<br />

Servo Hitec<br />

HS-5055MG<br />

Aileron - Asa E<br />

Servo Hitec<br />

HS-5055MG<br />

Leme<br />

Servo Hitec<br />

HS-5055MG<br />

Profundor<br />

Motor Turnigy<br />

C3530-1100<br />

(Fora do módulo)<br />

Analógico<br />

Tubo <strong>de</strong><br />

Pitot<br />

Temp.<br />

Regulador<br />

Linear 3V3<br />

LED -<br />

Alimentação<br />

Figura 3.25: Projeto do módulo <strong>de</strong> rádios<br />

Em paralelo com o MUX, os sinais <strong>de</strong> rádio <strong>de</strong>vem ser amostrados pelo AVR <strong>de</strong> leitura. Para<br />

prevenir que <strong>um</strong>a falha no circuito interferisse no circuito <strong>de</strong> emergência, esse sinal foi passado<br />

por <strong>um</strong> buffer digital, que também realiza a conversão <strong>de</strong> nível lógico entre o TTL dos rádios e o<br />

LVTTL do AVR. Esses circuitos <strong>de</strong> proteção <strong>de</strong> entrada e do MUX estão na Figura 3.26.<br />

Ambos os AVRs estão conectados ao mesmo barramento SPI que chega ao LPC2148. Dessa<br />

forma, o controle é feito através <strong>de</strong> sinais chip-select distintos.<br />

Um outro <strong>de</strong>talhe importante é que o AVR <strong>de</strong> leitura também po<strong>de</strong> ter sua porta serial conectada<br />

ao canal digital do rádio Spektr<strong>um</strong>, permitindo que as leituras digitais sejam diretamente<br />

utilizadas. O software embarcado permite que os sinais seja <strong>de</strong>codificados e gerados pelo AVR <strong>de</strong><br />

geração <strong>de</strong> PWMs, mas essa opção só foi testada em laboratório e o código não foi certificado para<br />

voo.<br />

52


COC12 C12<br />

COU5<br />

Cap<br />

15<br />

16<br />

100nF<br />

PIU5015 STB VCC PIU5016<br />

1<br />

MUX PIU501 SEL<br />

GND<br />

GND<br />

2<br />

4<br />

COR14<br />

RADIO_INPUT_6_PREBUF PIU502 1A 1Y PIU504 PIR1401 PIR1402<br />

3<br />

AVR_OUTPUT_6 PIU503 1B<br />

Res1<br />

5<br />

7<br />

COR13<br />

RADIO_INPUT_5_PREBUF PIU505 2A 2Y PIU507 220 PIR1301 PIR1302<br />

6<br />

AVR_OUTPUT_5 PIU506 2B<br />

Res1<br />

11<br />

9<br />

COR16<br />

RADIO_INPUT_8_PREBUF PIU5011 3A 3Y PIU509 PIR1601 PIR1602 220<br />

10<br />

AVR_OUTPUT_8 PIU5010 3B<br />

Res1<br />

14<br />

12<br />

COR15<br />

RADIO_INPUT_7_PREBUF PIU5014 4A 4Y PIU5012 220 PIR1501 PIR1502<br />

13<br />

AVR_OUTPUT_7 PIU5013 4B<br />

Res1<br />

COR17<br />

220<br />

8<br />

MUX_CONTROL PIR1702 PIR1701 MUX PIU508 GND<br />

Res1<br />

PIR1802<br />

1K COR18<br />

M74HC157M1R<br />

Res1 GND<br />

MUX<br />

10K<br />

GND<br />

RADIO_INPUT_1_PREBUF<br />

RADIO_INPUT_2_PREBUF<br />

RADIO_INPUT_3_PREBUF<br />

RADIO_INPUT_4_PREBUF<br />

RADIO_INPUT_5_PREBUF<br />

RADIO_INPUT_6_PREBUF<br />

RADIO_INPUT_7_PREBUF<br />

RADIO_INPUT_8_PREBUF<br />

PIR1801<br />

GND<br />

COU3<br />

1<br />

20<br />

PIU301 OE1 VCC PIU3020<br />

19<br />

PIU3019 OE2<br />

2 PIU302<br />

3 PIU303<br />

4<br />

PIU304<br />

5<br />

PIU305<br />

6<br />

PIU306<br />

7 PIU307<br />

8<br />

PIU308<br />

9<br />

PIU309<br />

10<br />

PIU3010<br />

GND<br />

A1<br />

A2<br />

A3<br />

A4<br />

A5<br />

A6<br />

A7<br />

A8<br />

GND<br />

18<br />

Y1 PIU3018<br />

17<br />

Y2 PIU3017<br />

16<br />

Y3 PIU3016<br />

15<br />

Y4 PIU3015<br />

14<br />

Y5 PIU3014<br />

13<br />

Y6 PIU3013<br />

12<br />

Y7 PIU3012<br />

11<br />

Y8 PIU3011<br />

SN74ABT540DBLE<br />

Input Protection<br />

+3V3<br />

PIC101<br />

PIC102<br />

GND<br />

COC1 C1<br />

Cap<br />

100nF<br />

RADIO_INPUT_1<br />

RADIO_INPUT_2<br />

RADIO_INPUT_3<br />

RADIO_INPUT_4<br />

RADIO_INPUT_5<br />

RADIO_INPUT_6<br />

RADIO_INPUT_7<br />

RADIO_INPUT_8<br />

+5<br />

PIC1201<br />

PIC1202<br />

Note: This is an INVERTERa<br />

Software must check for lowering edges<br />

RADIO_OUTPUT_6<br />

RADIO_OUTPUT_5<br />

RADIO_OUTPUT_8<br />

RADIO_OUTPUT_7<br />

MUX<br />

GND<br />

RADIO_INPUT_2_PREBUF<br />

AVR_OUTPUT_2<br />

RADIO_INPUT_1_PREBUF<br />

AVR_OUTPUT_1<br />

RADIO_INPUT_4_PREBUF<br />

AVR_OUTPUT_4<br />

RADIO_INPUT_3_PREBUF<br />

AVR_OUTPUT_3<br />

COU4<br />

15<br />

PIU4015 STB<br />

1 PIU401 SEL<br />

PIU402 2<br />

3 PIU403<br />

5<br />

PIU405<br />

6 PIU406<br />

11 PIU4011<br />

10 PIU4010<br />

PIU4014 14<br />

13<br />

PIU4013<br />

8 PIU408<br />

GND<br />

1A<br />

1B<br />

2A<br />

2B<br />

3A<br />

3B<br />

4A<br />

4B<br />

GND<br />

M74HC157M1R<br />

16<br />

VCC PIU4016<br />

+5<br />

C11 COC11<br />

Cap<br />

100nF<br />

GND<br />

4<br />

COR10<br />

1Y PIU404PIR1001<br />

PIR1002<br />

Res1<br />

7<br />

COR9<br />

2Y PIU407 220 PIR901 PIR902<br />

Res1<br />

9<br />

COR12<br />

3Y PIU409PIR1201<br />

PIR1202 220<br />

Res1<br />

12<br />

COR11<br />

4Y PIU4012 220<br />

PIR1101 PIR1102<br />

Res1<br />

220<br />

GND<br />

COJ1<br />

PIJ101 1 22 PIJ1022<br />

RADIO_5V<br />

COR1<br />

2 23<br />

COR8 RADIO_5V<br />

PIJ102<br />

PIJ1023<br />

RADIO_INPUT_1_PREBUF<br />

3 24<br />

PIR102 PIR101 PIJ103<br />

PIJ1024 PIR801 PIR802<br />

Res1<br />

Res1<br />

GND 220<br />

4 19 220<br />

PIJ104<br />

PIJ1019<br />

RADIO_5V<br />

COR2<br />

5 20<br />

COR7 RADIO_5V<br />

PIJ105<br />

PIJ1020<br />

RADIO_INPUT_2_PREBUF<br />

6 21<br />

PIR202 PIR201 PIJ106<br />

PIJ1021 PIR701 PIR702<br />

Res1<br />

Res1<br />

GND 220<br />

7 16 220<br />

PIJ107<br />

PIJ1016<br />

RADIO_5V<br />

COR3<br />

8 17<br />

COR6 RADIO_5V<br />

PIJ108<br />

PIJ1017<br />

RADIO_INPUT_3_PREBUF<br />

9 18<br />

PIR302 PIR301 PIJ109<br />

PIJ1018 PIR601 PIR602<br />

Res1<br />

Res1<br />

GND 220<br />

10 13 220<br />

PIJ1010<br />

PIJ1013<br />

RADIO_5V<br />

COR4<br />

11 14<br />

COR5 RADIO_5V<br />

PIJ1011<br />

PIJ1014<br />

RADIO_INPUT_4_PREBUF<br />

12 15<br />

PIR402 PIR401 PIJ1012<br />

PIJ1015 PIR501 PIR502<br />

Res1<br />

Res1<br />

220 HDR3x8 220<br />

PWM Inputs<br />

PIC1101<br />

PIC1102<br />

RADIO_OUTPUT_2<br />

RADIO_OUTPUT_1<br />

RADIO_OUTPUT_4<br />

RADIO_OUTPUT_3<br />

GND<br />

GND<br />

GND<br />

GND<br />

Figura 3.26: Circuito <strong>de</strong> proteção dos rádios e chaveamento <strong>de</strong> emergência<br />

Outro ponto que <strong>de</strong>ve ser ressaltado é que o barramento SPI é utilizado para programação dos<br />

AVRs. Dessa forma, quando <strong>um</strong> AVR é programado, os sinais estão sendo enviados para ambos<br />

dos AVRs. Para permitir a programação, <strong>um</strong> j<strong>um</strong>per permite que o usuário conecte a linha reset<br />

da programadora ao AVR específico.<br />

O AVR <strong>de</strong> leitura também utiliza o conversor analógico/digital para amostrar a tensão <strong>de</strong><br />

alimentação dos servos, gerada pelo ESC. Para tal, é utilizado <strong>um</strong> divisor <strong>de</strong> tensão com dois<br />

resistores <strong>de</strong> 10 kΩ, a fim <strong>de</strong> <strong>de</strong>ixar a tensão <strong>de</strong> entrada do conversor analógico/digital entre 0 e<br />

2,5 V. Os resistores especificados são <strong>de</strong> 1% e baixo coeficiente térmico.<br />

Os circuitos dos AVR <strong>de</strong> leitura e escrita estão na Figura 3.27.<br />

RADIO_5V<br />

PIR2002<br />

AVR_VCC<br />

COU1<br />

COR20<br />

AVR_VCC<br />

COU2<br />

6<br />

19<br />

Res1<br />

6<br />

19<br />

PIU106 VCC<br />

ADC6 PIU1019<br />

PIU206<br />

4<br />

22<br />

10K<br />

VCC<br />

ADC6 PIU2019<br />

PIC501<br />

PIC601<br />

PIR2001<br />

PIC801<br />

PIC901<br />

4<br />

22<br />

PIU104 VCC<br />

ADC7 PIU1022<br />

PIU204<br />

C5 C6<br />

VCC<br />

ADC7 PIU2022<br />

COC5<br />

COC6<br />

PIR2102 C8 COC8<br />

COC9 C9<br />

PIC502 Cap<br />

PIC602 Cap 18<br />

23<br />

COR21<br />

PIC802 Cap<br />

PIC902 Cap<br />

PIU1018 AVCC PC0 (ADC0/PCINT8) PIU1023<br />

100nF 100nF<br />

RADIO_INPUT_1<br />

PIU2018 18<br />

24<br />

Res1<br />

AVCC PC0 (ADC0/PCINT8) PIU2023 23<br />

100nF 100nF<br />

AVR_OUTPUT_1<br />

24<br />

PC1 (ADC1/PCINT9) PIU1024 RADIO_INPUT_2<br />

20<br />

25<br />

10K<br />

PC1 (ADC1/PCINT9) PIU2024 AVR_OUTPUT_2<br />

PIR2101<br />

20<br />

25<br />

PIU1020 AREF PC2 (ADC2/PCINT10) PIU1025 RADIO_INPUT_3<br />

PIU2020 AREF PC2 (ADC2/PCINT10) PIU2025 AVR_OUTPUT_3<br />

PIC701<br />

26<br />

PIC1001<br />

26<br />

PC3 (ADC3/PCINT11) PIU1026<br />

C7<br />

RADIO_INPUT_4<br />

PC3 (ADC3/PCINT11) PIU2026<br />

COC7<br />

27<br />

COC10 C10<br />

AVR_OUTPUT_4<br />

27<br />

Cap<br />

PC4 (ADC4/SDA/PCINT12) PIU1027 RADIO_INPUT_5<br />

PC4 (ADC4/SDA/PCINT12) PIU2027<br />

28<br />

GND<br />

Cap<br />

AVR_OUTPUT_5<br />

PIC702<br />

PIC1002<br />

100nF<br />

PC5 (ADC5/SCL/PCINT13) PIU1028 RADIO_INPUT_6<br />

PC5 (ADC5/SCL/PCINT13) PIU2028 28<br />

29<br />

100nF<br />

AVR_OUTPUT_6<br />

29<br />

PC6 (RESET/PCINT14) PIU1029 AVR1_RESET<br />

PC6 (RESET/PCINT14) PIU2029 AVR2_RESET<br />

GND<br />

30<br />

GND<br />

30<br />

PD0 (RXD/PCINT16) PIU1030 SPEKTRUM_SERIAL<br />

PD0 (RXD/PCINT16) PIU2030<br />

31<br />

COJ5<br />

SPEKTRUM_SERIAL<br />

31<br />

PD1 (TXD/PCINT17) PIU1031<br />

PD1 (TXD/PCINT17) PIU2031 GENERATE_SPEKTRUM_SIGNAL<br />

32<br />

32<br />

PD2 (INT0/PCINT18) PIU1032 RADIO_INPUT_7<br />

2 PIJ502 +3V3<br />

PD2 (INT0/PCINT18) PIU2032<br />

1<br />

1<br />

PD3 (PCINT19/OC2B/INT1) PIU101 RADIO_INPUT_8<br />

1 PIJ501 AVR_VCC<br />

PD3 (PCINT19/OC2B/INT1) PIU201 AVR_OUTPUT_7<br />

2<br />

2<br />

PD4 (PCINT20/XCK/T0) PIU102 MUX_CONTROL<br />

PD4 (PCINT20/XCK/T0) PIU202 AVR_OUTPUT_8<br />

9<br />

AVR Power Supply<br />

9<br />

PD5 (PCINT21/OC0B/T1) PIU109 GENERATE_SPEKTRUM_SIGNAL<br />

PD5 (PCINT21/OC0B/T1) PIU209 AVR2_DRDY<br />

10<br />

UNCONNECT J5 to program AVRsa<br />

10<br />

PD6 (PCINT22/OC0A/AIN0) PIU1010<br />

PD6 (PCINT22/OC0A/AIN0) PIU2010<br />

PWM_DATA_LED SERIAL_DATA_LED<br />

11<br />

COJ6<br />

11<br />

PD7 (PCINT23/AIN1) PIU1011<br />

PD7 (PCINT23/AIN1) PIU2011<br />

GND PIJ601 1 2 PIJ602 GND<br />

12<br />

12<br />

PID201<br />

PID301<br />

PB0 (PCINT0/CLKO/ICP1) PIU1012 PWM_DATA_LED AVR_RESET PIJ603 3 4 PIJ604 AVR_SCK<br />

PB0 (PCINT0/CLKO/ICP1) PIU2012<br />

13<br />

13<br />

PB1 (PCINT1/OC1A) PIU1013 SERIAL_DATA_LED AVR_MOSI PIJ605 5 6 PIJ606 AVR_MISO<br />

PB1 (PCINT1/OC1A) PIU2013<br />

COD2<br />

COD3<br />

14<br />

14<br />

LED0<br />

LED0<br />

PB2 (PCINT2/SS/OC1B) PIU1014 AVR1_CS<br />

AVR_VCC PIJ607 7 8 PIJ608 AVR_VCC<br />

PB2 (PCINT2/SS/OC1B) PIU2014 AVR2_CS<br />

15<br />

15<br />

PB3 (PCINT3/OC2A/MOSI) PIU1015 AVR_MOSI<br />

PIJ609 9 10 PIJ6010<br />

PB3 (PCINT3/OC2A/MOSI) PIU2015<br />

PID202<br />

PID302<br />

AVR_MOSI<br />

16<br />

16<br />

PB4 (PCINT4/MISO) PIU1016 AVR_MISO<br />

PB4 (PCINT4/MISO) PIU2016 AVR_MISO<br />

PIR2402 PIR2502 3<br />

17<br />

COJ3 AVR ISP<br />

3<br />

17<br />

COR24<br />

COR25<br />

PIU103<br />

GND<br />

PB5 (SCK/PCINT5) PIU1017 AVR_SCK<br />

PIU203 GND<br />

PB5 (SCK/PCINT5) PIU2017 AVR_SCK<br />

5<br />

7<br />

5<br />

7<br />

PIU105<br />

Res1<br />

Res1<br />

GND PB6 (PCINT6/XTAL1/TOSC1) PIU107<br />

3 PIJ303 AVR1_RESET PIU205 GND PB6 (PCINT6/XTAL1/TOSC1) PIU207<br />

21<br />

8<br />

21<br />

8<br />

PIU1021<br />

220<br />

220<br />

GND PB7 (PCINT7/XTAL2/TOSC2) PIU108 AVR1_DRDY<br />

2 PIJ302 AVR_RESET PIU2021 GND PB7 (PCINT7/XTAL2/TOSC2) PIU208<br />

PIR2401<br />

PIR2501<br />

1 PIJ301 AVR2_RESET<br />

ATmega88A-AU<br />

ATmega88A-AU<br />

GND<br />

Programming Select<br />

GND<br />

GND<br />

GND<br />

This AVR is responsible for reading the radios (PWM or serial) and<br />

sending the data to the main controller.<br />

This AVR is responsible for generating the output PWM signals.<br />

This will also control the MUX for safety switching.<br />

AVR 1 - Signal Rea<strong>de</strong>r<br />

AVR 2 - Signal Generator<br />

Figura 3.27: Circuito dos AVRs <strong>de</strong> leitura e geração <strong>de</strong> PWMs<br />

53


O restante do circuito referente aos AVRs se res<strong>um</strong>e a alimentação, que é idêntica ao circuito<br />

do altímetro/GPS, e alguns LEDs.<br />

3.7.2.2 Tubo <strong>de</strong> Pitot e Sensor <strong>de</strong> Temperatura<br />

Devido ao espaço físico limitado nas placas, o sensor <strong>de</strong> pressão diferencial, o sensor <strong>de</strong> temperatura<br />

e o circuito <strong>de</strong> condicionamento ficaram no stack dos rádios. Esse circuito está ilustrado<br />

na Figura 3.28.<br />

COU7<br />

PIU701 1<br />

NC Vs PIU702 2<br />

8<br />

3<br />

PIU708 NC GND PIU703<br />

7<br />

PIU707 NC<br />

6<br />

PIU706 NC<br />

5<br />

4<br />

PIU705 NC Vout PIU704<br />

MPXV7002DP<br />

PIC1501<br />

PIC1502<br />

C15 COC15<br />

Cap<br />

10nF<br />

+5<br />

PIC1601<br />

PIC1602<br />

GND<br />

COR23<br />

PIR2302 PIR2301<br />

Res1<br />

PIR2401<br />

COR24<br />

1k<br />

Res1<br />

1k<br />

PIR2402<br />

COC16 C16<br />

Tantal<strong>um</strong><br />

1uF<br />

PIC1701<br />

PIC1702<br />

6 PIU806<br />

5 PIU805<br />

C17 COC17<br />

Cap<br />

330nF<br />

8<br />

4<br />

+5<br />

PIU808<br />

PIU804<br />

+5<br />

PIC1801<br />

PIC1802<br />

C18 COC18<br />

Cap<br />

100nF<br />

COU8B<br />

MCP602 GND<br />

7 PIU807 DIFFERENTIAL_PRESSURE_OUT<br />

GND<br />

GND<br />

TEMPERATURE_IN<br />

External LM35 Connector<br />

COJ4<br />

+5<br />

COU9<br />

1<br />

2<br />

COR22<br />

1 PIJ401<br />

PIU901 +VS VO PIU902 PIR2201<br />

PIC1901<br />

2 PIJ402<br />

Res1<br />

C19 COC19 GND<br />

3 PIJ403<br />

1k<br />

PIC1902 Cap<br />

LM35<br />

Micro JST Connector aZHR-3) 100nF<br />

TEMPERATURE_IN<br />

3<br />

PIU903<br />

GND<br />

PIC2001<br />

PIC2002<br />

PIR2202<br />

COC20 C20<br />

Cap<br />

100nF<br />

Analog Sensors<br />

2<br />

PIU802<br />

3<br />

PIU803<br />

8<br />

4<br />

+5<br />

PIU808<br />

PIU804<br />

GND<br />

COU8A<br />

MCP602<br />

1<br />

PIU801 TEMPERATURE_OUT<br />

Figura 3.28: Circuito do Tubo <strong>de</strong> Pitot e Sensor <strong>de</strong> Temperatura<br />

Os sensores são alimentados diretamente com o 5 V disponibilizado pelo board-to-board connector,<br />

com capacitores próximos para filtrar a alimentação.<br />

O sensor <strong>de</strong> temperatura LM35 é condicionado por <strong>um</strong> filtro RC <strong>de</strong> 1 a or<strong>de</strong>m, que utiliza:<br />

R = 1 kΩ (3.25)<br />

C = 100 nF (3.26)<br />

f c = 1<br />

2πRC<br />

= 1591 Hz (3.27)<br />

Nesse caso, ass<strong>um</strong>e-se que a dinâmica do sensor é lenta o suficiente para não haver necessida<strong>de</strong><br />

<strong>de</strong> <strong>um</strong> filtro anti-aliasing. A saída do sensor é condicionada por <strong>um</strong> buffer.<br />

A mesma hipótese (dinâmica lenta da gran<strong>de</strong>za) e circuito <strong>de</strong> condicionamento foram utilizadas<br />

para o sensor <strong>de</strong> pressão diferencial Freescale Semiconductor MPXV7002DP, mas com os seguintes<br />

parâmetros:<br />

R = 1 kΩ (3.28)<br />

54


C = 330 nF (3.29)<br />

f c = 1<br />

2πRC<br />

= 482 Hz (3.30)<br />

Para ambos os circuitos, o amplificador operacional foi o MPC602 (dual) ou MPC604 (quádruplo).<br />

3.7.3 Módulo <strong>de</strong> Processamento<br />

O módulo <strong>de</strong> processamento o responsável por fazer a interface do processador principal (G<strong>um</strong>stix)<br />

com o resto do sistema. O diagrama <strong>de</strong> blocos <strong>de</strong>sse módulo está na Figura 3.29, e a placa<br />

montada na Figura 3.30.<br />

5 V<br />

(Board-to-Board<br />

Connector)<br />

Regulador<br />

Linear 3V3<br />

3V3<br />

Conversor<br />

DC-DC<br />

Processador Principal<br />

Processador<br />

OMAP3530<br />

3V3<br />

LED -<br />

Alimentação<br />

Breakout<br />

G<strong>um</strong>stix Pinto-TH<br />

Circuitos<br />

Auxiliares<br />

G<strong>um</strong>stix Overo COM<br />

Módulo<br />

XBee-PRO<br />

Conector - PC<br />

(HMM)<br />

RS232<br />

Conector -<br />

Mo<strong>de</strong>m XBee-<br />

PRO<br />

Transceiver<br />

MAX3232<br />

Serial<br />

LVTTL<br />

Conversor <strong>de</strong><br />

Nível Lógico<br />

(1V8 - 3V3)<br />

Serial<br />

LVTTL<br />

Serial LPC2148<br />

(Board-to-Board<br />

Connector)<br />

Figura 3.29: Projeto do módulo <strong>de</strong> processamento<br />

Esse stack tem como foco a placa G<strong>um</strong>stix Pinto-TH, que é <strong>um</strong>a breakout da placa G<strong>um</strong>stix<br />

Overo com o processador OMAP principal.<br />

A principal funcionalida<strong>de</strong> <strong>de</strong>ssa placa é fazer a conversão <strong>de</strong> nível lógico do LVTTL, utilizada<br />

pelo resto do circuito, ao 1,8 V/ 0 V utilizado pelo G<strong>um</strong>stix. Isso é feito por <strong>um</strong> circuito integrado<br />

MAX3377E [41], que é <strong>um</strong> conversor <strong>de</strong> nível lógico capaz específico para aplicações <strong>de</strong> baixa<br />

tensão.<br />

Duas portas seriais são convertidas para LVTTL - a porta serial principal, on<strong>de</strong> a linha <strong>de</strong><br />

comando está disponível, e a porta serial auxiliar, utilizada para comunicar com o LPC.<br />

A placa também conta com reguladores e LEDs para indicar o funcionamento, além <strong>de</strong> conectores<br />

para comunicação externa com para o PC/G<strong>um</strong>stix e para o PC/LPC, permitindo que o<br />

55


Figura 3.30: Módulo <strong>de</strong> processamento montado<br />

G<strong>um</strong>stix seja substituído pelo PC para <strong>de</strong>senvolvimento.<br />

Para a comunicação com o PC, o circuito conta com <strong>um</strong> MAX3232 [42], que faz a conversão<br />

<strong>de</strong> LVTTL para RS232.<br />

A última funcionalida<strong>de</strong> é disponibilizar conectores <strong>de</strong> energia auxiliar, a fim <strong>de</strong> permitir a<br />

energização <strong>de</strong> dispositivos não previstos no projeto original, e <strong>um</strong> conector para do G<strong>um</strong>stix ao<br />

módulo XBee-PRO.<br />

3.7.4 Módulo <strong>de</strong> Integração/Inercial<br />

O último módulo a ser projetado foi o módulo <strong>de</strong> integração e inercial, responsável pelo conexão<br />

do Olimex LPC-H2148 (responsável pela integração dos sinais, em <strong>um</strong>a placa filha) com o restante<br />

do circuito, e da unida<strong>de</strong> <strong>de</strong> medidas inerciais Sparkfun Razor IMU 9-DOF.<br />

O diagrama <strong>de</strong> blocos está na Figura 3.31, e a placa montada está na Figura 3.32.<br />

Além das placas filhas, o stack contém <strong>um</strong> segundo conjunto <strong>de</strong> circuitos <strong>de</strong> condicionamento<br />

dos sinais analógicos. Esses circuitos atuam como segunda camada <strong>de</strong> proteção do conversor<br />

analógico/digital, além <strong>de</strong> adicionar <strong>um</strong> outro filtro passa-baixas para atenuar ainda mais o ruído<br />

<strong>de</strong> alta frequência. Esse circuito está ilustrado na Figura 3.33.<br />

Esses circuitos utilizam o amplificador operacional MCP604 como buffer, após <strong>um</strong> filtro passabaixas<br />

RC <strong>de</strong> 1 a or<strong>de</strong>m com os seguintes parâmetros:<br />

R = 4, 7 kΩ (3.31)<br />

C = 100 nF (3.32)<br />

f c = 1<br />

2πRC<br />

= 338, 6 Hz (3.33)<br />

56


Girômetro<br />

LY530ALH<br />

Girômetro<br />

LPR530ALH<br />

Acelerômetro<br />

ADXL345<br />

Analógico<br />

I2C<br />

Microcontrolador<br />

IMU<br />

Atmel AVR<br />

ATMega 328P<br />

I2C<br />

Magnetômetro<br />

HMC5843<br />

LVTTL<br />

SPI<br />

Regulador<br />

Linear 3V3<br />

Interface<br />

USB<br />

Processador Auxiliar<br />

Microcontrolador<br />

NXP LPC2148<br />

Interface<br />

JTAG<br />

Breakout<br />

Olimex LPC-H2148<br />

Sparkfun Electronics<br />

9DOF Razor IMU<br />

Analógico<br />

Medidas Analógicas - Bateria<br />

Medidas Analógicas - Temp.<br />

Medidas Analógicas - Pitot<br />

Buffers<br />

Filtro Passa-<br />

Baixas<br />

Referência <strong>de</strong><br />

Tensão 3V3<br />

Texas Instr<strong>um</strong>ents<br />

REF3033<br />

Serial G<strong>um</strong>stix/PC Externo<br />

Serial GPS<br />

SPI - Altímetro<br />

SPI - Leitura <strong>de</strong> Rádios<br />

SPI - Gerador <strong>de</strong> PWM<br />

LVTTL<br />

Serial: RX/TX<br />

SPI: MISO/MOSI/<br />

SCK/CSL<br />

Condicionamento<br />

<strong>de</strong> Sinal<br />

Figura 3.31: Projeto do módulo <strong>de</strong> integração/inerciais<br />

Figura 3.32: Módulo <strong>de</strong> Integração/Inercial montado<br />

A referência <strong>de</strong> tensão Texas Instr<strong>um</strong>ents REF3033 também está nessa placa, com os capacitores<br />

<strong>de</strong> filtragem apropriados, além <strong>de</strong> conectores para os sonares.<br />

Um <strong>de</strong>talhe importante é que tanto o módulo Olimex LPC-H2148 tiveram que ser modificados<br />

para esse projeto, como <strong>de</strong>talhados nas próximas seções.<br />

3.7.4.1 Olimex LPC-H2148<br />

O módulo Olimex LPC-H2148 é <strong>um</strong> circuito <strong>de</strong> referência do microcontrolador NXP LPC-2148.<br />

Além <strong>de</strong> conter o microcontrolador em si, a placa contém <strong>um</strong> regulador <strong>de</strong> 3,3 V, <strong>um</strong>a interface<br />

57


INPUT_BUFFERED<br />

PIR02<br />

RCOR<br />

Res1<br />

4K7<br />

PIC01<br />

PIC02<br />

2<br />

PIU402<br />

3<br />

PIR01 PIU403<br />

11 4<br />

COC<br />

Cap<br />

100nF<br />

a5<br />

PIU404<br />

PIU4011<br />

1<br />

PIU401<br />

COU4A<br />

MCP604<br />

INPUT_CONDITIONED<br />

GND<br />

Figura 3.33: Circuito <strong>de</strong> condicionamento auxiliar<br />

JTAG para programação e <strong>de</strong>bug e <strong>um</strong> circuito power-on reset.<br />

O circuito <strong>de</strong> referência vem projetado para utilizar a alimentação <strong>de</strong> 3,3 V como referência<br />

dos conversores analógicos. Para reduzir a incerteza das medidas analógicas, esse circuito foi<br />

modificado para utilizar a referência REF3033 externa.<br />

Isso é feito removendo o resistor R14, que conecta o regulador do circuito <strong>de</strong> referência ao pino<br />

VREF (tensão <strong>de</strong> referência analógica) do LPC2148. Com essa modificação, a tensão <strong>de</strong> referência<br />

é a tensão no pino AREF do breakout do Olimex LPC-H2148.<br />

3.7.4.2 Central Inercial Sparkfun Razor IMU 9-DOF<br />

Outro circuito que foi modificado foi a Central Inercial Sparkfun Razor IMU 9-DOF. Originalmente,<br />

esse circuito é feito para utilizar a porta serial o AVR interno para enviar as medidas<br />

para <strong>um</strong> outro dispositivo qualquer. Porém, a porta serial do LPC2148 já estava ocupada, o que<br />

exigiu o uso <strong>de</strong> outra solução.<br />

Analisando o circuito, nota-se que o AVR age da mesma forma que o LPC2148 age no projeto<br />

como <strong>um</strong> todo: ele atua como concentrador <strong>de</strong> sinais e como conversor <strong>de</strong> interfaces. Como os<br />

sensores são todos analógicos e I 2 C, isso significa que tanto as portas seriais como as portas SPI<br />

do dispositivo estão disponíveis.<br />

A placa também conta com pinos para programação, que são os mesmos que os pinos necessários<br />

para a comunicação SPI, salvo o chip-select. A solução mais prática foi utilizar os pinos <strong>de</strong><br />

programação como porta <strong>de</strong> comunicação, e modificar a placa para disponibilizar o chip-select.<br />

Como a porta serial não seria mais utilizada, a solução foi utilizar o hea<strong>de</strong>r referente ao pino <strong>de</strong><br />

recepção da porta serial (RX), que é <strong>um</strong>a entrada <strong>de</strong> alta impedância, como chip-select (chamado<br />

<strong>de</strong> slave-select, ou SS, no AVR). Essa conexão foi feita através <strong>de</strong> <strong>um</strong> curto-circuito utilizando<br />

cabos <strong>de</strong> prototipagem.<br />

Outra modificação necessária foi a remoção dos filtros passa-altas (capacitores em série) nas<br />

saídas dos girômetros. Um <strong>de</strong>talhe interessante é que as novas revisões <strong>de</strong>ssa placa removeram<br />

esses filtros <strong>de</strong>vido a <strong>de</strong>gradação <strong>de</strong> <strong>de</strong>sempenho que eles forneciam.<br />

O circuito modificado está ilustrado na Figura 3.34.<br />

58


Figura 3.34: Central Inercial Sparkfun Razor IMU 9-DOF modificada<br />

3.7.5 Módulos externos<br />

Além dos circuitos dispostos como stacks, alguns dos circuitos do sistema <strong>de</strong> instr<strong>um</strong>entação<br />

da aeronave foram dispostos ao longo da aeronave. Isso foi feito <strong>de</strong>vido a necessida<strong>de</strong>s <strong>de</strong>scobertas<br />

após a fabricação dos circuitos impressos, ou utilizar o espaço disponível <strong>de</strong> forma mais efetiva.<br />

3.7.5.1 Módulo <strong>de</strong> sincronismo <strong>de</strong> sonares<br />

Um das necessida<strong>de</strong>s <strong>de</strong>scobertas após os primeiros testes do sistema foi a necessida<strong>de</strong> <strong>de</strong> se<br />

sincronizar os módulos do sonar para evitar a interferência <strong>de</strong> <strong>um</strong> sonar no outro - como o sonar<br />

opera utilizando a diferença <strong>de</strong> fase, a presença <strong>de</strong> <strong>um</strong> outro sensor po<strong>de</strong>ria levar a <strong>um</strong>a estimativa<br />

errada <strong>de</strong> distância.<br />

A MaxBotix, fabricante do sensor, recomenda <strong>um</strong> circuito que gere <strong>um</strong> pulso <strong>de</strong> no mínimo<br />

20µs a <strong>um</strong>a frequência <strong>de</strong> 20 Hz para sincronizar os dispositivos. Esse tipo <strong>de</strong> circuito se res<strong>um</strong>e<br />

a <strong>um</strong> oscilador <strong>de</strong> onda quadrada, facilmente implementado com <strong>um</strong> LM555, como mostrado na<br />

Figura 3.35, e montado em 3.36.<br />

Utilizando o circuito padrão astável do LM555, temos as seguintes equações <strong>de</strong> projeto:<br />

f =<br />

1, 44<br />

(R a + 2R b )C<br />

(3.34)<br />

D =<br />

Que são a frequência <strong>de</strong> oscilação e o referidas ao circuito do datasheet.<br />

Com <strong>um</strong> pouco <strong>de</strong> tentativa e erro, obtivemos:<br />

R b<br />

R a + 2R b<br />

(3.35)<br />

R a = 180 kΩ (3.36)<br />

R b = 300 kΩ (3.37)<br />

59


1<br />

2<br />

3<br />

4<br />

A<br />

B<br />

+5<br />

SONAR_LEFT<br />

GND<br />

+5<br />

SONAR_RIGHT<br />

GND<br />

J1<br />

1<br />

2<br />

3<br />

Sonar Left/LPC<br />

J2<br />

1<br />

2<br />

3<br />

Sonar Right/LPC<br />

+5<br />

R1<br />

Res1<br />

220<br />

GND<br />

+5<br />

D1<br />

LED0<br />

R3<br />

Res1<br />

180K<br />

+5<br />

C1<br />

Cap Pol1<br />

47uF<br />

GND<br />

+5<br />

C2<br />

Cap Pol1<br />

47uF<br />

GND<br />

J3<br />

5<br />

4<br />

3<br />

2<br />

1<br />

Sonar Left<br />

J4<br />

5<br />

4<br />

3<br />

2<br />

1<br />

Sonar Right<br />

SONAR_LEFT R4<br />

Res1<br />

100<br />

SYNC<br />

GND<br />

SONAR_RIGHT R5<br />

Res1<br />

100<br />

SYNC<br />

GND<br />

+5<br />

+5<br />

A<br />

B<br />

C<br />

U1<br />

+5<br />

+5<br />

4<br />

RST<br />

R2 6<br />

C3<br />

THR<br />

Res1<br />

Cap<br />

300K 2<br />

100nF<br />

TRIG<br />

8<br />

+5<br />

GND<br />

V+<br />

C4 LM555<br />

Cap Poliester<br />

100nF<br />

GND<br />

Title<br />

DIS<br />

OUT<br />

CVOLT<br />

GND<br />

7<br />

3<br />

5<br />

1<br />

GND<br />

SYNC<br />

f = 1.44/aaRa+2Rb)C) =<br />

21.8 Hz<br />

T = 45 ms<br />

Sonar Sync Circuit<br />

C<br />

D<br />

1<br />

Size<br />

A<br />

2<br />

N<strong>um</strong>ber<br />

Date: 7/3/2012 Sheet of<br />

File: C:\Users\..\sync_circuit.SchDoc Drawn By:<br />

3<br />

Revision<br />

A0<br />

Felipe Brandão Cavalcanti<br />

4<br />

D<br />

Figura 3.35: Circuito <strong>de</strong> sincronismo dos sonares<br />

C = 100 nF (3.38)<br />

f = 21, 8 Hz (3.39)<br />

T = 45 ms (3.40)<br />

D = 61, 5% (3.41)<br />

Que está ligeiramente fora da especificação (T <strong>de</strong>ve ser no mínimo 50 ms).<br />

Na prática, <strong>de</strong>vido a variância da capacitância, o circuito teve as seguintes características:<br />

f = 18, 18 Hz (3.42)<br />

T = 55 ms (3.43)<br />

D = 61, 5% (3.44)<br />

Que aten<strong>de</strong> as especificações do fabricante. O capacitor utilizado foi <strong>de</strong> poliéster, e as resistências<br />

<strong>de</strong> 1% com baixo coeficiente térmico, a fim <strong>de</strong> garantir a operação em diferentes temperaturas.<br />

60


Figura 3.36: Módulo <strong>de</strong> sincronismo <strong>de</strong> sonares montado<br />

3.7.5.2 Módulo GPS<br />

Originalmente, o projeto especificava <strong>um</strong> GPS Venus, da SkyTraq Technology, no stack <strong>de</strong><br />

energia. Porém, alguns testes logo mostraram que esse GPS não tinha a precisão necessária para<br />

a navegação <strong>de</strong> <strong>um</strong> veículo aéreo não tripulado, o que levou a mudança para <strong>um</strong> GPS que já tinha<br />

sido testado no <strong>LARA</strong> pelo projeto Carcarah 3 [2]: o NovAtel SUPERSTAR II.<br />

Felizmente, as conexões elétricas continuaram as mesmas: as linhas seriais <strong>de</strong> RX/TX e a<br />

alimentação em 3,3 V. A mudança só exigiu a confecção <strong>de</strong> <strong>um</strong> adaptador para conectar o GPS<br />

a placa. Essa adaptação foi feita utilizando cabos soldados na placa <strong>de</strong> circuito impresso a <strong>um</strong>a<br />

pequena placa, feita no DTL, que tinha o conector próprio para o GPS.<br />

Outro <strong>de</strong>talhe importante a respeito do GPS foi a escolha da antena. Antenas <strong>de</strong> GPS são<br />

particulares pois além do elemento passivo, elas contem <strong>um</strong> circuito <strong>de</strong> amplificação (<strong>um</strong> LNA,<br />

low-noise amplifier) projetado para reduzir as perdas nos cabos e no processo <strong>de</strong> <strong>de</strong>modulação.<br />

Assim, a antena <strong>de</strong>ve ser especificada <strong>de</strong> acordo com a frequência do GPS (L1) e com a tensão <strong>de</strong><br />

operação do LNA.<br />

Após alguns experimentos, a antena escolhida foi a VTGPSIA-3 da V-Torch Electronics, que<br />

além <strong>de</strong> apresentar <strong>um</strong> tamanho e peso reduzido, operava em 3,3 V e era projetada para a faixa<br />

L1. Outra vantagem <strong>de</strong>ssa antena é o tamanho reduzido do cabo, tornando o módulo i<strong>de</strong>al para<br />

a aeronave.<br />

3 O projeto Carcarah fez a instr<strong>um</strong>entação e o <strong>de</strong>senvolvimento <strong>de</strong> <strong>um</strong> helimo<strong>de</strong>lo autônomo não-tripulado para<br />

inspeção <strong>de</strong> linhas <strong>de</strong> transmissão <strong>de</strong> alta tensão.<br />

61


3.7.6 Placas <strong>de</strong> Circuito Impresso<br />

Conforme <strong>de</strong>scrito nos requisitos, o tempo <strong>de</strong> <strong>de</strong>senvolvimento, confiabilida<strong>de</strong> e custo eram<br />

críticos para o sucesso do projeto. Aliado a esses requisitos estava a escolha dos componentes eletrônicos,<br />

cuja maior parte só estava disponível em encapsulamento SMD, e o projeto mecânico dos<br />

stacks, que restringia bastante a possibilida<strong>de</strong> <strong>de</strong> fabricação utilizando técnicas <strong>de</strong> prototipagem.<br />

Dessa forma, a escolha lógica era o projeto das placas utilizando <strong>um</strong> programa CAD/CAE/CAM<br />

com fabricação por <strong>um</strong>a empresa especializada.<br />

O programa escolhido foi o Alti<strong>um</strong> Designer DXP 10, <strong>de</strong>vido a experiência dos projetistas com<br />

o software, com o Seeed Studio na China como fabricante. As placas foram projetadas levando<br />

em consi<strong>de</strong>ração as características dos sinais (frequência <strong>de</strong> chaveamento, sinal analógico/digital)<br />

a fim <strong>de</strong> reduzir a interferência [36, 37], tão como a corrente <strong>de</strong> cada trilha [14] e as limitações da<br />

fábrica e dos processos <strong>de</strong> soldagem manual no <strong>LARA</strong>.<br />

As ilustrações das placas estão nas Figuras 3.37, 3.38, 3.39 e 3.40.<br />

Figura 3.37: Ilustração do módulo <strong>de</strong> energia<br />

Figura 3.38: Ilustração dos módulos dos rádios<br />

3.7.7 Módulo <strong>de</strong> Instr<strong>um</strong>entação e Controle Completo<br />

A título ilustrativo, o módulo completo está na Figura 3.41. Percebe-se que ele aten<strong>de</strong>u todas<br />

as exigências do projeto. As Figuras 3.42 e 3.43 mostram o sistema completo <strong>de</strong>ntro da aeronave.<br />

62


Figura 3.39: Ilustração do módulo <strong>de</strong> processamento<br />

auxiliar<br />

mento<br />

Figura 3.40: Ilustração dos módulos <strong>de</strong> processa-<br />

principal<br />

3.8 Posicionamento dos módulos na aeronave<br />

Algo que não <strong>de</strong>ve ser negligenciado é como todos os dispositivos foram posicionados <strong>de</strong>ntro<br />

da aeronave. Essa escolha afeta a distribuição <strong>de</strong> peso da aeronave e a localização do CG, que<br />

<strong>de</strong>vem ser compensados antes do voo para garantir a operação ótima da aeronave.<br />

A Figura 3.44 mostra em linhas gerais como foi feito esse posicionamento.<br />

O que <strong>de</strong>ve se notar é a tentativa <strong>de</strong> simetria das massas pontuais em torno do CG (localizado<br />

aproximadamente no centro da asa). No eixo x da aeronave, quase todos os módulos foram<br />

posicionados em cima do próprio eixo, a fim <strong>de</strong> não comprometer o balanceamento. A exceção<br />

foram dos sonares e servos, que são simétricos, e do tubo <strong>de</strong> pitot, GPS e módulo <strong>de</strong> rádio, que<br />

foram posicionados experimentalmente para balancear a aeronave.<br />

Em torno do eixo y, o que predominou foi o peso do conjunto motor/bateria/ESC, na parte<br />

frontal da aeronave, que é parcialmente compensando pela quantida<strong>de</strong> <strong>de</strong> fuselagem atrás do CG.<br />

O conjunto <strong>de</strong> instr<strong>um</strong>entação e controle (stacks) estão logo abaixo do CG, não prejudicando a<br />

distribuição <strong>de</strong> peso. Os outros dispositivos foram distribuídos tentando minimizar o braço <strong>de</strong><br />

alavanca em função do peso - ou seja, o GPS, que era o mais pesado, ficou o mais próximo possível<br />

do CG, enquanto que os rádios e servos ficaram mais distantes. Essa configuração quase que<br />

eliminou a necessida<strong>de</strong> <strong>de</strong> balanceamento utilizando peso adicional.<br />

Além do balanceamento <strong>de</strong> peso, os módulos estão localizados <strong>de</strong> acordo com a funcionalida<strong>de</strong>.<br />

A antena do GPS está localizada em no com a melhor visada do céu e protegido com <strong>um</strong> material<br />

que não interfere a recepção <strong>de</strong> sinais <strong>de</strong> GPS. Os sonares estão nas pontas das asas, a fim <strong>de</strong><br />

63


Figura 3.41: Módulo <strong>de</strong> instr<strong>um</strong>entação completo (stacks)<br />

Figura 3.42: Aeronave instr<strong>um</strong>entada<br />

auxiliar na estimação <strong>de</strong> atitu<strong>de</strong>, e os rádios estão localizados no que minimiza a quantida<strong>de</strong> <strong>de</strong><br />

cabeamento.<br />

Percebe-se que o módulo <strong>de</strong> comunicação XBee não está instalado, <strong>de</strong>vido a necessida<strong>de</strong> <strong>de</strong><br />

a<strong>de</strong>quação do software para utilizar esse dispositivo. A medição <strong>de</strong> temperatura externa também<br />

não foi instalada, pois a altimetria ainda está em fase <strong>de</strong> avaliação.<br />

Outro dispositivo que não está mostrado na Figura 3.44 é a câmera, que está localizada na<br />

parte externa da aeronave logo abaixo do CG.<br />

64


Figura 3.43: Aeronave instr<strong>um</strong>entada<br />

Servo - Profundor<br />

Antena<br />

Sonar GPS<br />

GPS<br />

Rádio<br />

Servo - Leme<br />

Sincronismo<br />

Sonares<br />

Sonar<br />

Tubo <strong>de</strong><br />

Pitot<br />

Servo -<br />

Aileron<br />

Instr<strong>um</strong>entação/<br />

Controle<br />

Bateria<br />

ESC<br />

Motor<br />

Servo -<br />

Aileron<br />

Figura 3.44: Posição dos módulos na aeronave<br />

65


3.8.1 Características da aeronave completa<br />

Com todos os módulos <strong>de</strong> instr<strong>um</strong>entação, bateria e rádios, a aeronave conta com as seguintes<br />

características:<br />

• Peso: 1516 g<br />

• Autonomia: 10 minutos (bateria <strong>de</strong> 2100 mAh), motor no máximo<br />

• Cons<strong>um</strong>o <strong>de</strong> energia da instr<strong>um</strong>entação: 2,5 W (pico, 240 mA a 12,0 V típico)<br />

66


Capítulo 4<br />

Software<br />

“Any fool can write co<strong>de</strong> that a computer can un<strong>de</strong>rstand.<br />

Good programmers write co<strong>de</strong> that h<strong>um</strong>ans<br />

can un<strong>de</strong>rstand.” –Martin Fowler<br />

4.1 Introdução<br />

A maior parte do valor agregado <strong>de</strong> <strong>um</strong> sistema complexo como <strong>um</strong>a aeronave não é o hardware<br />

em si, e sim o software - ou seja, a implementação <strong>de</strong> algoritmos sofisticados para garantir o<br />

funcionamento do sistema em qualquer situação possível.<br />

É importante lembrar que, do ponto <strong>de</strong> vista <strong>de</strong> confiabilida<strong>de</strong> do sistema, o software ten<strong>de</strong><br />

a ser <strong>um</strong> pouco mais piedoso do que o hardware - códigos bem feitos po<strong>de</strong>m <strong>de</strong>tectar situações<br />

adversas (falhas <strong>de</strong> software) e recuperar o sistema, enquanto que <strong>um</strong>a falha <strong>de</strong> hardware durante o<br />

vôo po<strong>de</strong> significar a perda do experimento ou da aeronave. Por outro lado, <strong>um</strong>a ação <strong>de</strong> controle<br />

espúria causada por <strong>um</strong> bug po<strong>de</strong> causar danos mais graves do que qualquer falha <strong>de</strong> hardware.<br />

A quantida<strong>de</strong> <strong>de</strong> hardware <strong>de</strong>senvolvido especialmente para o projeto e a particularida<strong>de</strong> das<br />

funcionalida<strong>de</strong>s necessárias traduziram-se no <strong>de</strong>senvolvimento <strong>de</strong> boa parte do software embarcado<br />

na aeronave, das interfaces com os dispositivos <strong>de</strong> baixo nível aos protocolos <strong>de</strong> comunicação e a<br />

interface com o usuário. Por <strong>um</strong> lado, isso forneceu <strong>um</strong> grau <strong>de</strong> integração muito alto ao sistema,<br />

por outro, a gran<strong>de</strong> quantida<strong>de</strong> <strong>de</strong> código novo utilizado e o risco para a aeronave significou <strong>um</strong>a<br />

quantida<strong>de</strong> <strong>de</strong> testes e <strong>um</strong> longo cronograma <strong>de</strong> <strong>de</strong>senvolvimento. Para reduzir esses problemas,<br />

<strong>um</strong>a metodologia <strong>de</strong> programação <strong>de</strong>ve que ser seguida a risca.<br />

Outro software importante foi o simulador <strong>de</strong> vôo, capaz <strong>de</strong> utilizar e validar o código <strong>de</strong><br />

estimação e controle <strong>de</strong>senvolvido para o sistema embarcado.<br />

Esse capítulo visa mostrar a forma <strong>de</strong> programação e doc<strong>um</strong>entar em linhas gerais que programa<br />

está sendo executado em cada dispositivo, e como eles foram organizados. Ele também<br />

tenta esclarecer a motivação por trás <strong>de</strong> alg<strong>um</strong>as das <strong>de</strong>cisões técnicas, e orientar <strong>um</strong> programador<br />

examinando o código pela primeira vez.<br />

Esse capítulo está organizado da seguinte maneira: primeiramente, a forma <strong>de</strong> programação<br />

está <strong>de</strong>talhada na Seção 4.2. A modularização a nível <strong>de</strong> sistema está <strong>de</strong>scrita na Seção 4.3. Os<br />

67


códigos dos sistemas embarcados <strong>de</strong> 8 bits (AVRs) estão <strong>de</strong>scritos nas Seções 4.4, 4.5 e 4.6. O<br />

código do LPC2148 está <strong>de</strong>scrito na Seção 4.7, e do G<strong>um</strong>stix Overo na Seção 4.8. Por último, o<br />

simulador está <strong>de</strong>scrito na Seção 4.9.<br />

4.2 Filosofias e Metodologias <strong>de</strong> Programação<br />

Na maior parte dos cursos <strong>de</strong> graduação <strong>de</strong> engenharia, o que é ensinado como programação<br />

são os fundamentos básicos (função, variáveis, etc.) e a sintaxe <strong>de</strong> <strong>um</strong>a linguagem específica - ou<br />

seja, como que esses fundamentos são implementados. Porém, a experiência mostra que não basta<br />

dominar as nuâncias <strong>de</strong> <strong>um</strong>a <strong>de</strong>terminada linguagem <strong>de</strong> programação, e sim aplicar <strong>um</strong>a filosofia<br />

<strong>de</strong> programação a fim <strong>de</strong> escrever <strong>um</strong> código eficiente e, acima <strong>de</strong> tudo, legível e compreensível.<br />

A existência <strong>de</strong> <strong>um</strong>a filosofia se torna mais importante ainda quando mais <strong>de</strong> <strong>um</strong>a pessoa está<br />

escrevendo código - sem ela, <strong>um</strong>a quantida<strong>de</strong> gran<strong>de</strong> <strong>de</strong> código é duplicada, e a possibilida<strong>de</strong> <strong>de</strong><br />

problemas sérios no código são agravadas <strong>de</strong>vido a incompatibilida<strong>de</strong> da forma <strong>de</strong> programação.<br />

Com isso em mente, alguns princípios foram <strong>de</strong>finidos antes <strong>de</strong> começar o <strong>de</strong>senvolvimento do<br />

software, na tentativa <strong>de</strong> evitar problemas sérios nos programas feitos para esse projeto. Vale lembrar<br />

que quase a totalida<strong>de</strong> do código <strong>de</strong>senvolvido foi em C, logo, essa metodologia foi elaborada<br />

visando o próprio C e <strong>um</strong>a equipe reduzida e qualificada.<br />

4.2.1 Programação Modular<br />

Um dos princípios mais fundamentais que foram adotados foi o uso da programação modular<br />

- ou seja, o código era sempre separado em módulos, com entradas, saídas e funcionalida<strong>de</strong>s bem<br />

<strong>de</strong>finidas. Cada módulo é formado por <strong>um</strong>a série <strong>de</strong> funções, alg<strong>um</strong>as <strong>de</strong> acesso interno ao módulo,<br />

outras <strong>de</strong> acesso externo (acessíveis por outros módulos).<br />

A idéia da programação modular é reaproveitar ao máximo o código entre diferentes programas<br />

- ou seja, se <strong>um</strong> módulo chamado <strong>de</strong> “protocolo <strong>de</strong> comunicação” é <strong>de</strong>senvolvido, ele po<strong>de</strong> ser<br />

utilizado em outro programa modularizado sem nenh<strong>um</strong>a modificação. As atualizações do módulo<br />

se propagam para todos os programas que utilizam esse módulo, adicionando funcionalida<strong>de</strong>s ou<br />

removendo bugs.<br />

Um outro bom motivo para modularizar o código é a legibilida<strong>de</strong> - escolhendo os nomes<br />

dos módulos e das variáveis <strong>de</strong> entrada e saída <strong>de</strong> forma apropriada, o que está efetivamente<br />

acontecendo no código fica muito claro até para quem não está familiarizado com o código. A<br />

modularização também separa claramente o código <strong>de</strong> cada módulo, tornando a manutenção muito<br />

simplificada.<br />

A programação modular também é i<strong>de</strong>al para trabalho em equipe, pois cada membro da equipe<br />

só precisar conhecer as entradas e saídas <strong>de</strong> cada módulo. Cada programador po<strong>de</strong> ser responsável<br />

por <strong>um</strong> ou mais módulos, o que também facilita a gerência do processo <strong>de</strong> <strong>de</strong>senvolvimento.<br />

O fato das entradas e saídas estarem muito bem <strong>de</strong>finidas também facilita o processo <strong>de</strong> teste<br />

68


dos módulos, permitindo inclusive que programas testem os módulos <strong>de</strong> forma padronizada e<br />

rápida.<br />

Quando se tem acesso direto ao hardware, como no caso <strong>de</strong> microcontroladores, é interessante<br />

adicionar <strong>um</strong>a camada especial <strong>de</strong> modularização chamada <strong>de</strong> hardware abstraction layer - HAL.<br />

Essa camada <strong>de</strong> modularização torna as rotinas <strong>de</strong> acesso <strong>de</strong> baixo nível (escrita em registradores)<br />

em função <strong>de</strong> alto nível, como “iniciar timers”. A idéia é tornar o código que <strong>de</strong>pen<strong>de</strong> do hardware<br />

portátil entre plataformas.<br />

4.2.2 Padronização do Estilo<br />

Outro fator que afeta enormemente a legibilida<strong>de</strong>, e consequentemente, a facilida<strong>de</strong> que o<br />

programador tem <strong>de</strong> programar e enten<strong>de</strong>r o código escrito (e logo, a quantida<strong>de</strong> <strong>de</strong> bugs), é o<br />

estilo <strong>de</strong> programação. O estilo visa padronizar elementos do código como nome <strong>de</strong> variáveis,<br />

organização <strong>de</strong> arquivos e a forma que as funções são construídas.<br />

O estilo é algo que muda <strong>de</strong> programador para programador, e até <strong>de</strong> projeto para projeto.<br />

Porém, <strong>um</strong> estilo consistente é essencial para facilitar o trabalho em equipe, como acontece nesse<br />

projeto. Dessa forma, <strong>um</strong> manual <strong>de</strong> estilo informal foi criado com base na experiência dos<br />

projetistas. Dentre os elementos do manual, po<strong>de</strong>mos <strong>de</strong>stacar:<br />

• O primeiro elemento que foi padronizado foi a nomenclatura <strong>de</strong> funções e variáveis. Todas as<br />

funções iniciavam com o nome do módulo, a fim <strong>de</strong> facilitar a i<strong>de</strong>ntificação da funcionalida<strong>de</strong><br />

do mesmo, e todas as funções <strong>de</strong> <strong>um</strong> mesmo módulo estavam em <strong>um</strong> mesmo arquivo. As<br />

variáveis eram sempre seguidas <strong>de</strong> unida<strong>de</strong>s, quando fosse o caso, e os nomes <strong>de</strong>ssas eram<br />

sempre os mais <strong>de</strong>scritivos possíveis - ou seja, sem abreviaturas. Ponteiros são iniciados com<br />

a letra p.<br />

• As saídas <strong>de</strong> todas as funções eram escritas através <strong>de</strong> ponteiros, e as funções sempre retornavam<br />

se a função foi executada com sucesso ou não. Quando possível, todos os dados eram<br />

con<strong>de</strong>nsados em <strong>um</strong> struct (estrutura <strong>de</strong> dados) para diminuir a quantida<strong>de</strong> <strong>de</strong> parâmetros<br />

que eram passados para função.<br />

• Todos os módulos contém funções para inicialização e para fechamento, mesmo que elas<br />

sejam vazias<br />

Outros elementos padronizados foram a in<strong>de</strong>ntação, o posicionamento <strong>de</strong> parênteses e chaves,<br />

e os comentários. Dessa forma, o código escrito ficou extremamente consistente entre ambos os<br />

programadores, permitindo inclusive que as ativida<strong>de</strong>s <strong>de</strong> manutenção fossem comutadas entre<br />

<strong>de</strong>senvolvedores sem gran<strong>de</strong> dificulda<strong>de</strong>s.<br />

4.2.3 Automação <strong>de</strong> Tarefas<br />

Um dos outros pilares da filosofia <strong>de</strong> programação utilizada é a automação <strong>de</strong> processos on<strong>de</strong><br />

possível, a fim <strong>de</strong> diminuir o tédio associado a tarefas rotineiras (como compilar o programa e<br />

69


enviar o código ao microcontrolador) e diminuir a chance <strong>de</strong> erros gerados por essas tarefas.<br />

Dentre os utilitários utilizados para fazer a automação, <strong>de</strong>ve-se <strong>de</strong>stacar os Makefiles, que<br />

são scripts que facilitam o processo <strong>de</strong> compilação do código. Nesse projeto, os Makefiles foram<br />

utilizados não só para agilizar o processo <strong>de</strong> compilação do código, mas para criar versões diferentes<br />

do código <strong>de</strong>pen<strong>de</strong>ndo da plataforma (embarcado ou PC) e para executar tarefas como programar<br />

o microcontrolador ou acionar o <strong>de</strong>bugger.<br />

Outro conjunto <strong>de</strong> utilitários utilizados foi o Bitbake, que é <strong>um</strong>a série <strong>de</strong> programas/scripts que<br />

facilitam o processo <strong>de</strong> cross-compiling, que é compilar em <strong>um</strong>a plataforma (x86) <strong>um</strong> código para<br />

outra plataforma (ARM). Esses utilitários são os disponibilizados pela G<strong>um</strong>stix como plataforma<br />

<strong>de</strong> <strong>de</strong>senvolvimento.<br />

4.2.4 Controle <strong>de</strong> Versão<br />

O uso efetivo <strong>de</strong> <strong>um</strong> sistema <strong>de</strong> controle <strong>de</strong> versão também foi chave para o sucesso do projeto.<br />

O sistema <strong>de</strong> controle <strong>de</strong> versão permite que todos os códigos e seus históricos fiquem armazenados,<br />

permitindo que o programador volte para qualquer ponto do tempo aos códigos. Esse sistema<br />

também permite que o código seja facilmente distribuído entre várias máquinas e que a contribuição<br />

<strong>de</strong> cada programador seja integrada ao projeto <strong>de</strong> forma simples e eficiente.<br />

O uso <strong>de</strong> sistemas <strong>de</strong> controle <strong>de</strong> versão específicos também permitem que <strong>um</strong>a cópia do projeto<br />

seja mantida em cada máquina, atuando como forma <strong>de</strong> backup distribuído. Ele também permite<br />

visualizar quem fez cada modificação, facilitando <strong>um</strong> eventual processo <strong>de</strong> auditoria.<br />

O git foi o sistema <strong>de</strong> controle <strong>de</strong> versão escolhido, <strong>de</strong>vido ao gran<strong>de</strong> número <strong>de</strong> usuários,<br />

facilida<strong>de</strong> <strong>de</strong> uso e baixa manutenção. Além disso, ele é <strong>um</strong> dos sistemas <strong>de</strong> controle <strong>de</strong> versão<br />

mais mo<strong>de</strong>rnos, permitindo o uso <strong>de</strong> ferramentas avançadas para gerência do repositório e adotando<br />

a forma peer-distributed, on<strong>de</strong> cada usuário tem <strong>um</strong>a cópia completa <strong>de</strong> todas as modificações.<br />

O uso do git foi essencial para garantir a integrida<strong>de</strong> dos arquivos do projeto, e para transferir<br />

e fundir <strong>de</strong> forma fácil os códigos sendo <strong>de</strong>senvolvidos <strong>de</strong> forma paralela entre os programadores.<br />

Esse forma <strong>de</strong> trabalho funcionou tão bem que também foi utilizado para escrever este trabalho<br />

em L A TEX.<br />

4.3 Projeto a Nível <strong>de</strong> Sistema<br />

Do ponto <strong>de</strong> vista <strong>de</strong> software, o projeto a nível <strong>de</strong> sistema se res<strong>um</strong>e a, com base no projeto<br />

<strong>de</strong> hardware, <strong>de</strong>finir a funcionalida<strong>de</strong> <strong>de</strong> cada parte do sistema e como eles vão se comunicar entre<br />

si.<br />

Voltando a projeto a nível <strong>de</strong> sistema do hardware, enfatizando os módulos programáveis:<br />

Percebe-se que existem 5 módulos programáveis: 3 microcontroladores AVR (leitura e geração<br />

<strong>de</strong> PWMs e IMU), 1 microcontrolador LPC2148 e 1 G<strong>um</strong>stix Overo. O principal <strong>de</strong>safio é <strong>de</strong>finir<br />

<strong>de</strong> forma clara o que cada módulo <strong>de</strong>ve fazer e como esses programas irão se comunicar entre si,<br />

70


Mo<strong>de</strong>m<br />

Digi XBee-<br />

PRO<br />

PC (HMM)<br />

Microcontrolador<br />

IMU<br />

Atmel AVR<br />

ATMega 328P<br />

Serial LVTTL<br />

RS232<br />

SPI LVTTL<br />

Processador<br />

Principal<br />

G<strong>um</strong>stix Overo<br />

Serial LVTTL<br />

Processador<br />

Auxiliar<br />

NXP LPC2148<br />

SPI LVTTL<br />

Microcontrolador<br />

Atuação<br />

Atmel AVR<br />

ATMega 328P<br />

Microcontrolador<br />

Leitura Rádio<br />

Atmel AVR<br />

ATMega 328P<br />

Figura 4.1: Diagrama do sistema, com os módulos programáveis<br />

a fim <strong>de</strong> fazer <strong>um</strong> projeto <strong>de</strong> software compatível com as necessida<strong>de</strong>s do projeto.<br />

A função <strong>de</strong> cada módulo é <strong>de</strong>finida principalmente pelo hardware conectado a cada dispositivo.<br />

O módulo <strong>de</strong> leitura <strong>de</strong> PWMs é responsável por fazer a leitura dos sinais <strong>de</strong> PWM gerados pelo<br />

rádio, comandar a chave <strong>de</strong> emergência, e repassar esses dados para o módulo <strong>de</strong> processamento<br />

auxiliar. O módulo <strong>de</strong> geração <strong>de</strong>ve gerar <strong>de</strong> forma contínua os sinais PWM <strong>de</strong> comando dos rádios<br />

conforme comandados pelo LPC2148. Já o módulo da IMU é responsável por fazer a aquisição<br />

dos sinais analógicos e digitais da IMU e repassar esses dados para o processador auxiliar.<br />

O módulo auxiliar, além <strong>de</strong> gerenciar os dados gerados e fornecidos a cada <strong>um</strong> dos módulos<br />

periféricos (IMU, leitura e geração <strong>de</strong> PWM), <strong>de</strong>ve gerenciar a adquisição <strong>de</strong> dados e controle <strong>de</strong><br />

outros dispositivos conectados a ele (como altímetro, GPS e medidas analógicas), e transferir esses<br />

dados para o módulo <strong>de</strong> processamento principal.<br />

Por último, o módulo <strong>de</strong> processamento principal <strong>de</strong>ve requisitar os dados, executar o processamento<br />

dos dados (condicionamento digital e estimação), calcular a lei <strong>de</strong> controle, e enviar <strong>um</strong><br />

sinal <strong>de</strong> atuação para ser enviado aos servos.<br />

4.3.1 Sincronismo dos Módulos<br />

Do ponto <strong>de</strong> vista <strong>de</strong> sistema, <strong>um</strong> dos <strong>de</strong>safio é como lidar com dados <strong>de</strong> fontes síncronas e<br />

assíncronas. Nesse projeto, alguns módulos, como o GPS e o altímetro, fornecem dados assim que<br />

eles estão disponíveis, enquanto outros exigem que seja feito <strong>um</strong>a requisição para receber o valor<br />

mais recente.<br />

A solução adotada foi utilizar o módulo principal como “base <strong>de</strong> tempo” do sistema - ou seja,<br />

ele que <strong>de</strong>finiria o período <strong>de</strong> amostragem. Isso seria feito enviando requisições ao processador<br />

auxiliar no início do da amostragem, que <strong>de</strong>veria enviar todo o conjunto <strong>de</strong> dados disponível como<br />

resposta. Dessa forma, para o processador principal, todo o sistema seria síncrono - nenh<strong>um</strong> dado<br />

seria recebido sem que existe <strong>um</strong>a requisição para o mesmo. A fim <strong>de</strong> garantir o <strong>de</strong>terminismo no<br />

período <strong>de</strong> aquisição, <strong>um</strong> sistema operacional em tempo real seria necessário.<br />

71


Já o módulo auxiliar teria que lidar com tanto com dados disponíveis <strong>de</strong> forma contínua (como<br />

os dados analógicos), como com dados enviados para o módulo assim que disponíveis (GPS), e<br />

com módulos que po<strong>de</strong>m ser programados para se comportarem <strong>de</strong> ambas as formas (leitura e<br />

geração <strong>de</strong> PWMs e IMU).<br />

A idéia foi utilizar <strong>um</strong> sistema operacional em tempo real, com tarefas periódicas para cada<br />

sensor ou módulo periférico. Quando <strong>um</strong>a requisição do processador principal era recebida, os dados<br />

disponíveis na memória interna eram repassados como resposta. Os períodos foram ajustados<br />

a fim <strong>de</strong> garantir que os dados mais recentes estavam sempre disponíveis na memória.<br />

Essa forma <strong>de</strong> projeto exigiu que os módulos programáveis fossem programados da forma<br />

mestre/escravo - ou seja, esses módulos enviam os dados mais recentes quanto requisitados pelo<br />

processador auxiliar.<br />

Dessa forma, os módulos críticos com requisição (como PWM e IMU) eram atualizados a <strong>um</strong>a<br />

frequência superior a frequência <strong>de</strong> amostragem do processador prinicipal, a fim <strong>de</strong> garantir que os<br />

dados mais recentes estavam disponíveis sempre. Os módulos não críticos <strong>de</strong> dinâmica mais lenta,<br />

como as tensões da bateria, eram amostrados a <strong>um</strong>a frequência mais baixa. Os dados que eram<br />

enviados <strong>de</strong> forma assíncrona eram armazenados em <strong>um</strong> buffer e processados <strong>de</strong> forma periódica<br />

a fim <strong>de</strong> garantir que eles fossem disponibilizados assim que sua transimssão fosse completada.<br />

Já a atuação (ação <strong>de</strong> controle) era enviada para o processador auxiliar, que armazenava os<br />

valores na memória. Esses valores eram enviados para o módulo <strong>de</strong> geração <strong>de</strong> PWM na frequência<br />

<strong>de</strong> atuação dos servos, a fim <strong>de</strong> garantir que o valor mais recente estava sendo gerado.<br />

Finalmente, os módulo <strong>de</strong> leitura <strong>de</strong> PWM atuava lendo os rádios <strong>de</strong> forma contínua através<br />

<strong>de</strong> interrupções, e guardando os valores mais recentes na memória. O módulo <strong>de</strong> geração <strong>de</strong> PWM<br />

sempre gerava o último valor recebido. Já o módulo da IMU fazia a aquisição contínua <strong>de</strong> todos<br />

os sensores (na maior frequência possível), armazenava esses dados na memória, e transmitia esses<br />

valores quando requisitado.<br />

Essa arquitetura se mostrou muito efetiva para garantir que os dados eram disponibilizados<br />

no período <strong>de</strong> amostragem correto, porém, ela se mostrou bastante complexa <strong>de</strong> implementar na<br />

prática. A principal dificulda<strong>de</strong> foi o atraso introduzido <strong>de</strong>vido ao processamento necessário no<br />

módulo auxiliar, e na necessida<strong>de</strong> <strong>de</strong> gerência <strong>de</strong> tarefas ocorrendo <strong>de</strong> forma paralela e <strong>de</strong> prevenir<br />

mudanças <strong>de</strong> variáveis durante a transmissão <strong>de</strong> dados.<br />

A ilustração <strong>de</strong>sse sistema está na Figura 4.2.<br />

4.3.2 Protocolo <strong>de</strong> Comunicação<br />

Outro <strong>de</strong>talhe que <strong>de</strong>ve ser com<strong>um</strong> entre os módulos é o protocolo <strong>de</strong> comunicação. Seguinte o<br />

princípio <strong>de</strong> modularização, <strong>um</strong> módulo <strong>de</strong> comunicação foi <strong>de</strong>senvolvido em torno <strong>de</strong> <strong>um</strong> protocolo<br />

flexível, robusto e rápido, <strong>de</strong> tal forma que ele resolvesse todas as necessida<strong>de</strong>s <strong>de</strong> comunicação do<br />

projeto. O protocolo foi <strong>de</strong>senvolvido seguindo as orientações <strong>de</strong> [43, 44].<br />

O protocolo foi <strong>um</strong>a evolução do protocolo <strong>de</strong>senvolvido para o projeto Bioloid do <strong>LARA</strong><br />

72


Requisição<br />

<strong>de</strong> dados<br />

Recebimento<br />

dos dados<br />

Nova requisição<br />

<strong>de</strong> dados<br />

Processador<br />

Principal<br />

Processamento<br />

Periódico<br />

t<br />

...<br />

Processador<br />

Auxiliar<br />

Organização dos<br />

dados disponíveis<br />

na memória<br />

Aquisição<br />

Periódica<br />

(Processo 1)<br />

Aquisição<br />

Periódica<br />

(Processo 2)<br />

Aquisição<br />

Periódica<br />

(Processo n)<br />

Aquisição<br />

contínua<br />

Envio <strong>de</strong> dados<br />

ao módulo auxiliar<br />

Envio <strong>de</strong> dados<br />

(Resposta a aquisição<br />

periódica - Processo 1)<br />

Módulo Auxiliar<br />

(Síncrono)<br />

Módulo Auxiliar<br />

(Assíncrono)<br />

Figura 4.2: Organização do sistema <strong>de</strong> sincronismo <strong>de</strong> dados<br />

[45], que em si foi baseado em <strong>um</strong> esqueleto <strong>de</strong> protocolo genérico muito com<strong>um</strong> em sistema <strong>de</strong><br />

comunicação serial. O protocolo em si está <strong>de</strong>scrito na Figura 4.3<br />

Hea<strong>de</strong>r<br />

1<br />

Hea<strong>de</strong>r<br />

2<br />

Tipo <strong>de</strong><br />

pacote<br />

(ID)<br />

Tamanho<br />

(n bytes)<br />

Dados<br />

(Byte 1)<br />

Dados<br />

(Byte 2)<br />

. . .<br />

Dados<br />

(Byte n)<br />

Checks<strong>um</strong><br />

Figura 4.3: Protocolo <strong>de</strong> comunicação utilizado no sistema<br />

Basicamente, o protocolo é serial, utilizando bytes como tamanho da palavra digital, a fim <strong>de</strong><br />

utilizar esse protocolo em dispositivos UART ou SPI sem modificações. Ele é composto <strong>de</strong> dois<br />

digitos únicos, chamados <strong>de</strong> hea<strong>de</strong>rs, que são utilizados para sinalizar o início <strong>de</strong> <strong>um</strong>a comunicação,<br />

seguido <strong>de</strong> <strong>um</strong> ID, que i<strong>de</strong>ntifica o tipo <strong>de</strong> pacote a ser enviado (requisição <strong>de</strong> dados, dados <strong>de</strong><br />

atuação, reset do sistema, etc.). O próximo dado é a quantida<strong>de</strong> <strong>de</strong> dados a ser enviados, seguido<br />

dos dados em si, e <strong>de</strong> <strong>um</strong> checks<strong>um</strong>, que são os bits menos significativos <strong>de</strong> todos os dados.<br />

O uso <strong>de</strong> dois hea<strong>de</strong>rs garante que o sistema <strong>de</strong>tecte <strong>de</strong> forma confiável o início <strong>de</strong> <strong>um</strong>a nova<br />

comunicação, facilitando a recuperação <strong>de</strong> eventuais erros <strong>de</strong> comunicação. O tipo <strong>de</strong> pacote e<br />

tamanho variáveis permitem a flexibilização da comunicação, enquanto que o checks<strong>um</strong> garante<br />

a integrida<strong>de</strong> dos dados. O uso <strong>de</strong>sse protocolo entre os dispositivos significa que para cada<br />

comunicação, só os hea<strong>de</strong>rs, tipos <strong>de</strong> pacotes e formas <strong>de</strong> <strong>de</strong>codificação precisam ser <strong>de</strong>finidas e<br />

testadas, facilitando muito o <strong>de</strong>senvolvimento.<br />

A <strong>de</strong>codificação foi implementada utilizando <strong>um</strong>a máquina <strong>de</strong> estados. Uma versão simplificada<br />

<strong>de</strong>ssa máquina está ilustrada na Figura 4.4. A versão completa inclui algoritmos <strong>de</strong> validação dos<br />

IDs e timeouts.<br />

Durante os testes, esse protocolo mostrou taxas <strong>de</strong> erro <strong>de</strong> 0,005% em 3 horas <strong>de</strong> comunicação<br />

73


Não chegou<br />

Hea<strong>de</strong>r 1<br />

Não chegou<br />

Hea<strong>de</strong>r 2<br />

Estado<br />

Inicial<br />

Chegou<br />

Hea<strong>de</strong>r 1<br />

Aguardando<br />

Hea<strong>de</strong>r 2<br />

Chegou<br />

Hea<strong>de</strong>r 2<br />

Não chegaram<br />

todos os dados<br />

Aguardando<br />

ID<br />

Checks<strong>um</strong><br />

diferente do<br />

calculado<br />

Calcula<br />

Checks<strong>um</strong><br />

Chegaram<br />

todos<br />

os dados<br />

Armazena<br />

dado<br />

Aguardando<br />

Tamanho (N)<br />

Aguardando<br />

Checks<strong>um</strong><br />

Checks<strong>um</strong><br />

igual ao<br />

calculado<br />

Processa<br />

dados<br />

recebidos<br />

Figura 4.4: Máquina <strong>de</strong> estados para <strong>de</strong>codificação do protocolo <strong>de</strong> comunicação<br />

a <strong>um</strong>a taxa <strong>de</strong> 50 pacotes (com cerca <strong>de</strong> 100 bytes) por segundo. Porém, é importante reconhecer<br />

as limitações - não existe forma <strong>de</strong> corrigir erros a não ser a retransmissão, e o programa está<br />

limitado a 256 bytes <strong>de</strong> dados. O overhead para pequenos pacotes também é significante. Uma<br />

possível melhoria seria o uso <strong>de</strong> <strong>um</strong>a algoritmo como CRC32 ou <strong>um</strong>a variante do Reed-Solomon,<br />

que permitiria a correção dos erros <strong>de</strong> comunicação.<br />

4.4 Gerador <strong>de</strong> PWM<br />

O gerador <strong>de</strong> PWM é <strong>um</strong> dos dispositivos mais importantes da aeronave - sem ele, os sistemas<br />

<strong>de</strong> controle não conseguem atuar sobre os servos. Como esse dispositivo <strong>de</strong>ve ser extremamente<br />

confiável, a idéia foi utilizar o software mais simples possível, evitando a introdução <strong>de</strong> eventuais<br />

bugs no código.<br />

Como visto na seção <strong>de</strong> hardware, esse dispositivo está baseado em <strong>um</strong> microcontrolador Atmel<br />

AVR ATmega328P, ou seja, em <strong>um</strong>a arquitetura <strong>de</strong> 8 bits. A vantagem <strong>de</strong>sse tipo <strong>de</strong> dispositivo<br />

(sem sistema operacional) é o acesso direto aos periféricos internos, como timers, e a redução<br />

máxima na latência das interrupções.<br />

Uma primeira idéia seria utilizar os módulos <strong>de</strong> PWM embutidos em hardware, porém, essa<br />

técnica limitaria o número <strong>de</strong> canais utilizados ao número <strong>de</strong> PWMs do dispositivo (nesse caso,<br />

3). Como são gerar 8 sinais PWM (<strong>um</strong> para cada servo), a abordagem utilizada foi “reaproveitar”<br />

o mesmo timer para todos os canais. Essa abordagem foi utilizada em [2].<br />

O timer foi configurado para gerar <strong>um</strong>a interupção e zerar a cada 1 ms (mudança <strong>de</strong> canal,<br />

“Estado A”), e para gerar <strong>um</strong>a interupção quando o seu valor fosse igual a <strong>um</strong> valor <strong>de</strong> referência<br />

(mudança <strong>de</strong> nível lógico, “Estado B”), entre 0 e 1000 µs. Esse conceito está ilustrado na Figura<br />

4.5.<br />

74


1 ms<br />

20 ms<br />

Tamanho<br />

variável<br />

(0 - 1 ms)<br />

Canal 1<br />

Tamanho<br />

fixo (1 ms)<br />

Estado B<br />

t<br />

Canal 2<br />

Estado A<br />

t<br />

Canal 3<br />

t<br />

Figura 4.5: Geração dos sinais PWM para os servos<br />

A forma mais simples <strong>de</strong> enten<strong>de</strong>r o funcionamento é utilizar <strong>um</strong> exemplo. Nesse caso, ass<strong>um</strong>ese<br />

que o canal 2 está sendo estudado. No início do estado A, sabe-se que o canal 1 já está a 1 ms<br />

em nível lógico alto. Nesse início, o canal 2 é colocado em nível lógico alto, iniciando o seu ciclo <strong>de</strong><br />

trabalho. A primeira interrupção ocorre quando o timer <strong>de</strong>tecta que chegou no valor <strong>de</strong> referência<br />

- nesse instante, o sistema muda o nível lógico do canal 1 para zero, sinalizando o final do ciclo <strong>de</strong><br />

trabalho do canal 1. O programa salva como novo valor <strong>de</strong> referência o valor do período do canal<br />

2 menos 1 ms.<br />

A segunda interrupção ocorre quando o timer chega a 1 ms. Nesse instante, ele zera a contagem,<br />

e coloca o canal 3 em nível lógico alto. Quando ele chegar ao valor <strong>de</strong> referência gravado no canal<br />

2 (período do canal 2 menos 1 ms), ele muda o nível lógico do canal 2, sinalizando o final do ciclo<br />

<strong>de</strong> trabalho do canal 2. Esse procedimento é repetido para todos os 8 canais, e volta a executar a<br />

partir do canal 1 a cada 20 ms, garantindo a frequência <strong>de</strong> 50 Hz.<br />

Essa abordagem permitiu que qualquer <strong>um</strong> dos pinos fosse utilizado como saída PWM, e<br />

permitiu a geração <strong>de</strong> vários canais simultaneamente sem sobrecarregar o processador. No restante<br />

do tempo, o microcontrolador aguarda novos dados pela porta SPI, e assim que os recebe, calcula<br />

os novos valores <strong>de</strong> referência para os 8 canais.<br />

4.5 Leitor dos Rádios<br />

O sistema mais crítico da aeronave é o leitor do sistema <strong>de</strong> rádios, pois ele é o responsável pelo<br />

controle do sistema <strong>de</strong> emergência. Basicamente, após feita a leitura, o programa <strong>de</strong>ve <strong>de</strong>cidir se<br />

o multiplexador utilizará os dados do rádio ou os dados fornecidos pelo processador principal.<br />

Dessa forma, como no gerador <strong>de</strong> PWMs, esse código <strong>de</strong>ve ser o mais simples possível, a fim<br />

<strong>de</strong> se evitar qualquer bug durante o vôo.<br />

Esse programa utiliza a interrupção por mudança <strong>de</strong> nível lógico do ATMega328P. Basicamente,<br />

75


o programa utiliza <strong>um</strong> timer operando <strong>de</strong> forma contínua, e grava o instante <strong>de</strong> tempo da borda<br />

<strong>de</strong> subida e <strong>de</strong>scida do sinal, permitindo assim o cálculo do período do sinal. Um segundo timer<br />

é utilizado para verificar a condição <strong>de</strong> loss os signal - ou seja, quando o sinal não está presente.<br />

Na rotina principal do programa, são verificadas requisições <strong>de</strong> dados do processador auxiliar,<br />

e a condição <strong>de</strong> comutação do MUX (canal 8 maior ou menor que 1500 µs) é avaliada e executada.<br />

4.6 Central Inercial Sparkfun 9DOF Razor<br />

O ênfase do programa da Central Inercial Sparkfun 9DOF Razor é garantir que os dados dos<br />

girômetros, acelerômetros e magnetômetros sejam disponibilizados para o processador auxiliar<br />

com a menor latência possível.<br />

Duas abordagens eram possíveis: amostrar todos os sensores assim que existisse <strong>um</strong>a requisição<br />

do processador auxiliar, ou amostrar <strong>de</strong> forma contínua os sinais e disponibilizar a última amostra<br />

quando requisitado. A primeira forma po<strong>de</strong> parecer mais correta, porém, esse processo introduz<br />

a latência <strong>de</strong> aquisição no processo <strong>de</strong> comunicação. Assim, a segunda opção foi a escolhida para<br />

esse programa.<br />

Dessa forma, o programa se res<strong>um</strong>e a <strong>um</strong>a tarefa <strong>de</strong> fundo responsável por amostrar todos<br />

os sensores (acelerômetro, magnetômetro e girômetros) <strong>de</strong> forma contínua. A comunicação fica<br />

por conta da interrupção da porta SPI, que envia todos os dados disponíveis na memória quando<br />

requisitado.<br />

4.7 Módulo <strong>de</strong> Processamento Auxiliar - LPC2148<br />

O coração da aeronave é o módulo <strong>de</strong> processamento auxiliar. O seu programa é provavelmente<br />

o mais complexo <strong>de</strong> todos os presentes na aeronave, e o seu funcionamento é crucial para a operação<br />

autônoma.<br />

Infelizmente, <strong>um</strong>a abordagem simples como a utilizada para o subsistema <strong>de</strong> rádio ou para a<br />

IMU não seria o suficiente nesse caso. A solução adotada foi utilizar <strong>um</strong> sistema operacional em<br />

tempo real, possibilitando a operação multitarefa do LPC2148.<br />

4.7.1 Sistema Operacional em Tempo Real - FreeRTOS<br />

Um sistema operacional atua como camada entre o hardware e os aplicativos escritos para<br />

o mesmo, permitindo que programas diferentes sejam executados em diferentes dispositivos com<br />

poucas (ou nenh<strong>um</strong>a) modificação. Um sistema operacional tipicamente implementa alg<strong>um</strong>as<br />

funcionalida<strong>de</strong>s padronizadas, como semáforos e filas, e permite a execução <strong>de</strong> várias tarefas em<br />

paralelo, através da implementação <strong>de</strong> <strong>um</strong> escalonador.<br />

O diferencial <strong>de</strong> <strong>um</strong> sistema operacional em tempo real são que todas as funcionalida<strong>de</strong>s<br />

são feitas para aten<strong>de</strong>r as <strong>de</strong>mandas temporais dos processos <strong>de</strong> forma <strong>de</strong>terminísitica, ou seja,<br />

76


o escalonador é feito para aten<strong>de</strong>r as restrições <strong>de</strong> tempo <strong>de</strong>terminadas pelo programador [46].<br />

Dessa forma, se existe <strong>um</strong>a tarefa <strong>de</strong> alta priorida<strong>de</strong> que <strong>de</strong>ve ser executada a cada 10 ms, o<br />

sistema fará o possível para aten<strong>de</strong>r essa <strong>de</strong>manda. Esse tipo <strong>de</strong> <strong>de</strong>terminismo e restrição não<br />

existe em sistemas operacionais comuns, on<strong>de</strong> latências gran<strong>de</strong>s são aceitáveis.<br />

O uso <strong>de</strong> <strong>um</strong> sistema operacional em tempo real se torna extremamente importante quando os<br />

períodos das tarefas fica próximo dos limites do sistema, e quando é necessário se <strong>de</strong>finir priorida<strong>de</strong>s<br />

entre essas tarefas. Essas necessida<strong>de</strong>s ficaram muito claras quando <strong>um</strong>a primeira implementação<br />

do código do LPC2148 se mostrou muito lenta - por mais que todos os dados eram enviados no<br />

período correto, a ação <strong>de</strong> controle não era suficientemente rápida para controlar a dinâmica da<br />

aeronave, <strong>de</strong>vido a ausência <strong>de</strong> priorida<strong>de</strong>s e a quantida<strong>de</strong> gran<strong>de</strong> <strong>de</strong> interrupções. A necessida<strong>de</strong><br />

<strong>de</strong> se implementar filas e semáforos rudimentares foram outros fatores que motivaram a mudança<br />

para <strong>um</strong> sistema operacional em tempo real.<br />

Dentre as possíveis escolhas <strong>de</strong> RTOS, <strong>de</strong>ve-se <strong>de</strong>stacar o Xenomai, que é <strong>um</strong>a extensão em<br />

tempo real para o Linux, o VxWorks, o QNX e o FreeRTOS. Desses, somente o Xenomai e o<br />

FreeRTOS são livres e gratuitos, e somente o FreeRTOS era projetado para operar em plataformas<br />

como o LPC2148.<br />

O FreeRTOS é <strong>um</strong> sistema operacional em tempo real <strong>de</strong>senvolvido para especificamente para<br />

microcontroladores. Sua principal vantagem é o amplo suporte a várias famílias <strong>de</strong> processadores<br />

e a portabilida<strong>de</strong> entre diferentes suites <strong>de</strong> compiladores. Ele também implementa semáforos, filas<br />

e <strong>um</strong> escalonador, suprindo todas as necessida<strong>de</strong>s do projeto.<br />

O principal <strong>de</strong>safio foi adaptar a última versão do FreeRTOS (versão 7.1.1) para o toolchain<br />

utilizado no <strong>de</strong>senvolvimento em ARM no <strong>LARA</strong> (GNU GCC fornecido Mentor Graphics Sourcery<br />

Co<strong>de</strong>Bench Lite). Para tal, o mapeamento <strong>de</strong> memória interna (<strong>de</strong>finidas pelos linker scripts),<br />

as rotinas <strong>de</strong> baixo nível em assembly (startup files), as diretivas do compilador e o hardware<br />

abstraction layer do FreeRTOS diveram que ser modificadas para o LPC2148 com o GCC. É<br />

chamado <strong>de</strong> porting, ou adaptação, da última versão do FreeRTOS para o LPC2148. Esse trabalho<br />

foi feito com base no manual do LPC2148 [47].<br />

É importante <strong>de</strong>stacar que essa versão “portada” do FreeRTOS está disponível livremente<br />

na Wiki do <strong>LARA</strong>. A forma que o port foi feito está <strong>de</strong>ntro dos padrões estabelecidos pelos<br />

<strong>de</strong>senvolvedores do FreeRTOS, permitindo atualizações do código fonte sem gran<strong>de</strong>s dificulda<strong>de</strong>s.<br />

É importante resaltar que a modularização foi essencial para o <strong>de</strong>senvolvimento <strong>um</strong>a vez que<br />

o FreeRTOS foi implementado e testado. Todos os módulos <strong>de</strong> comunicação, processamento e<br />

atuação para cada dispositivo já haviam sido <strong>de</strong>senvolvidos e testados no LPC2148 sem sistema<br />

operacional, o que res<strong>um</strong>iu a implementação <strong>de</strong> cada tarefa a inicializar o módulo e adquir dados<br />

periodicamente.<br />

4.7.1.1 Tarefas utilizadas<br />

A principal motivação para utilizar <strong>um</strong> sistema operacional em tempo real foi a possibilida<strong>de</strong><br />

<strong>de</strong> se ter várias tarefas sendo executadas em paralelo. Logo, a <strong>de</strong>cisão principal <strong>de</strong> projeto foi<br />

77


<strong>de</strong>cidir quais tarefas seriam executadas, com qual periodicida<strong>de</strong> e com qual priorida<strong>de</strong> [48].<br />

As tarefas escolhidas estão na Tabela 4.1.<br />

Tarefa Período (ms) Priorida<strong>de</strong><br />

Escrita - PWM 7 4<br />

Leitura - PWM 20 3<br />

Protocolo 3 3<br />

GPS 100 2<br />

IMU 10 2<br />

Bateria 100 1<br />

Pitot 10 1<br />

Altímetro 100 1<br />

Sonar 20 1<br />

Tabela 4.1: Tarefas utilizadas no FreeRTOS no LPC2148<br />

As tarefas foram dividas da mesma forma que os módulos - ou seja, com base no subsistema<br />

e no tipo <strong>de</strong> dado sendo coletado. Os períodos <strong>de</strong> amostragem tentaram respeitar as necessida<strong>de</strong>s<br />

do sistema (por exemplo, não há necessida<strong>de</strong> <strong>de</strong> dados da bateria a <strong>um</strong>a frequência muito alta,<br />

pois a dinâmica é lenta) e da frequência <strong>de</strong> atualização do próprio sensor.<br />

As priorida<strong>de</strong>s foram ajustadas <strong>de</strong> acordo com a realida<strong>de</strong> do sistema. É importante <strong>de</strong>stacar<br />

que tanto os períodos como as priorida<strong>de</strong>s foram ajustadas manualmente para garantir que o<br />

sistema se comportasse como planejado, ou seja, sendo capaz <strong>de</strong> executar a aquisição e o controle<br />

em tempo real.<br />

Do ponto <strong>de</strong> vista <strong>de</strong> código, cada tarefa <strong>de</strong> aquisição se res<strong>um</strong>e a requisitar e guardar na<br />

memória os últimos dados adquiridos. A tarefa <strong>de</strong> atuação (escrita dos PWMs) envia o último<br />

dado <strong>de</strong> atuação para o microcontrolador responsável pela geração. Finalmente, o protocolo<br />

monitora e envia todos os dados disponíveis quando requisitado, ou atualiza os valores <strong>de</strong> atuação<br />

quando os recebe.<br />

É importante <strong>de</strong>stacar que o código é implementado <strong>de</strong> tal forma que o processador principal<br />

saiba que dados são novos (e valídos) e que dados são antigos, prevenindo que <strong>um</strong> dado passado<br />

seja interpretado como <strong>um</strong> dado atual.<br />

4.8 Módulo <strong>de</strong> Processamento Principal - G<strong>um</strong>stix Overo<br />

O cérebro <strong>de</strong> toda a aeronave é o processador principal. O seu código, além <strong>de</strong> ser confiável,<br />

<strong>de</strong>ve ser simples o suficiente para tornar fácil a implementação <strong>de</strong> novos algoritmos, flexibilizando<br />

ao máximo as possibilida<strong>de</strong>s <strong>de</strong> uso da plataforma.<br />

Como <strong>de</strong>scrito no projeto <strong>de</strong> sistema, o processador principal é o responsável por toda a<br />

temporização do sistema - logo, o programa <strong>de</strong>ve ser <strong>de</strong>terminísitico em termos <strong>de</strong> temporização,<br />

e <strong>de</strong>ve ser capaz <strong>de</strong> executar todas as tarefas necessárias (estimação e lei <strong>de</strong> controle) <strong>de</strong>ntro do<br />

78


período <strong>de</strong> amostragem.<br />

4.8.1 Sistema Operacional em Tempo Real - Xenomai<br />

Devido aos requisitos do projeto, o sistema original fornecido pelo G<strong>um</strong>stix teve que ser modificado<br />

para funcinar em tempo real. Originalmente, o G<strong>um</strong>stix vem com <strong>um</strong> sistema operacional<br />

Linux baseado no OpenEmbed<strong>de</strong>d, <strong>um</strong>a distribuição para sistemas embarcados em geral. Dessa<br />

forma, visando manter o Linux para usurfruir da gran<strong>de</strong> quantida<strong>de</strong> <strong>de</strong> bibliotecas e suporte, a<br />

idéia foi exten<strong>de</strong>r o Linux para aten<strong>de</strong>r as exigências <strong>de</strong> tempo real.<br />

Os dois gran<strong>de</strong>s projetos que fornecem tempo real para o Linux são o RTAI (RealTime Application<br />

Interface for Linux) e o Xenomai [49]. O primeiro é mais antigo, porém, sua última<br />

atualização foi em 2010. O Xenomai é <strong>um</strong> projeto mais novo (baseado no RTAI), que está sendo<br />

continuamente atualizado. A principal dificulada<strong>de</strong> associada a esses projetos são a necessida<strong>de</strong><br />

<strong>de</strong> se modificar o kernel do Linux.<br />

Devido a experiência no <strong>LARA</strong>, a escolha foi a utilização do Xenomai utilizando <strong>um</strong>a versão<br />

modificada do OpenEmbed<strong>de</strong>d <strong>de</strong>senvolvida <strong>de</strong>ntro do <strong>LARA</strong> (com base em [50, 51]). O sistema<br />

resultante é <strong>um</strong>a versão embarcada <strong>de</strong> tamanho reduzido do Linux com Xenomai, e está disponibilizado<br />

livremente na Wiki do <strong>LARA</strong>.<br />

A versão modificada do OpenEmbed<strong>de</strong>d removeu todos os aplicativos não essenciais, a fim <strong>de</strong><br />

reduzir ao máximo o tamanho do sistema operacional. Todos os serviços também foram removidos,<br />

para reduzir o cons<strong>um</strong>o <strong>de</strong> RAM e diminuir o tempo <strong>de</strong> boot. O kernel também foi modificado para<br />

remover qualquer tipo <strong>de</strong> funcionalida<strong>de</strong> que fosse interferir com o funcionamento da aeronave e<br />

do sistema operacional em tempo real. Finalmente, os módulos do kernel não essenciais foram<br />

removidos, e os essenciais compilados diretamente no kernel.<br />

Com base nessa versão, o kernel recebeu o A<strong>de</strong>os I-pipe (interrupt pipeline), que implementa<br />

<strong>um</strong> nano-kernel que opera em paralelo com o kernel do Linux, permitindo que o Xenomai interrompa<br />

o kernel do Linux para garantir a operação em tempo real [49]. O A<strong>de</strong>os utilizado foi<br />

especialmente modificado para uso no OMAP3530 do G<strong>um</strong>stix. As bibliotecas do Xenomai foram<br />

acrescentadas ao sistema base para gerar o sistema operacional completo para a aeronave.<br />

Antes <strong>de</strong> continuar o <strong>de</strong>senvolvimento, o <strong>de</strong>terminismo e latência do sistema foram aferidos<br />

utilizando <strong>um</strong> osciloscópio e <strong>um</strong> código <strong>de</strong>senvolvido no <strong>LARA</strong>, além da suíte <strong>de</strong> testes fornecida<br />

pelo Xenomai. O sistema também passou por <strong>um</strong> teste <strong>de</strong> confiabilida<strong>de</strong>, on<strong>de</strong> ele executou<br />

programas <strong>de</strong> teste em tempo real por várias horas sem violar o <strong>de</strong>terminismo ou travar.<br />

Outra dificulda<strong>de</strong> do Xenomai é a utilização <strong>de</strong> dispositivos <strong>de</strong> hardware em tempo real. A<br />

forma tradicional <strong>de</strong> implementação <strong>de</strong> drivers no Linux fazem com que todos os comandos passem<br />

pelo HAL do Linux [52], o que gera <strong>um</strong>a latência fora do controle do Xenomai - violando as<br />

premissas do sistema operacional em tempo real. Como toda a comunicação é serial, surgiu a<br />

necessida<strong>de</strong> <strong>de</strong> <strong>de</strong>senvolvimento <strong>de</strong> <strong>um</strong>a forma <strong>de</strong> acesso direto a porta serial através do Xenomai.<br />

A solução encontrada foi a remoção dos drivers do Linux, para evitar a interferência dos<br />

79


mesmos durante a operação em tempo real. Esses drivers foram substituídos por <strong>um</strong>a série <strong>de</strong><br />

rotinas <strong>de</strong> acesso ao hardware <strong>de</strong> baixo nível (através da memória) e pela implementação manual<br />

das rotinas <strong>de</strong> configuração e acesso a porta serial, como <strong>de</strong>scrito no guia <strong>de</strong> <strong>de</strong>senvolvimento da<br />

plataforma OMAP3530 [53]. Essa implementação reduziu a latência <strong>de</strong> leitura e escrita da porta<br />

serial <strong>de</strong> 10 ms para aproximadamente 100 µs.<br />

Vale resaltar que essa não é a forma recomendada <strong>de</strong> <strong>de</strong>senvolver drivers para sistemas com<br />

Xenomai - atualmente, se utiliza o RTDM (Real Time Driver Mo<strong>de</strong>l), que reduz a latência e evita<br />

a mudança <strong>de</strong> contexo, a<strong>um</strong>ento a eficiência e portabilida<strong>de</strong> dos drivers. Porém, o RTDM também<br />

é mais complexo <strong>de</strong> ser programado e testado, o que levou a solução efetivamente utilizada.<br />

4.8.2 Programa <strong>de</strong> Aquisição e Controle da Aeronave<br />

O principal elemento <strong>de</strong> projeto do programa <strong>de</strong> aquisição, estimação e controle da aeronave<br />

foi a flexibilida<strong>de</strong> para o usuário final. A idéia do projeto era ir além <strong>de</strong> construir <strong>um</strong> veículo<br />

aéreo não-tripulado - era acrescentar ao repertório do <strong>LARA</strong> <strong>um</strong>a nova plataforma <strong>de</strong> pesquisa e<br />

<strong>de</strong>senvolvimento. Para tal, o programa <strong>de</strong>veria ser fácil <strong>de</strong> enten<strong>de</strong>r e modificar para testar novas<br />

técnicas <strong>de</strong> estimação e controle.<br />

O elemento chave para <strong>de</strong>senvolver esse tipo <strong>de</strong> programa é a modularização, permitindo<br />

que <strong>um</strong> pesquisador trate todo o sistema <strong>de</strong> baixo nível como <strong>um</strong>a “caixa preta” que executa a<br />

aquisição e o controle. Essa forma diminui o conhecimento técnico necessário para se utilizar a<br />

plataforma, diminuindo significativamente a curva <strong>de</strong> aprendizado e permitindo que o ênfase seja<br />

dado a inovação, e não ao uso e manutenção da plataforma.<br />

Outra necessida<strong>de</strong> <strong>de</strong>sse tipo <strong>de</strong> programa é a execução tanto em Linux em tempo real (Xenomai)<br />

como em Linux com<strong>um</strong>, e na plataforma PC (<strong>de</strong>senvolvido seguindo Threads POSIX [54]) e<br />

no G<strong>um</strong>stix. Isso é feito para facilitar o <strong>de</strong>senvolvimento, permitindo o eventual uso <strong>de</strong> <strong>de</strong>buggers<br />

e simuladores do tipo software-in-the-loop 1 . Mais <strong>um</strong>a vez, a modularização foi essencial, pois <strong>um</strong><br />

módulo <strong>de</strong> gerência <strong>de</strong> threads po<strong>de</strong>ria ser implementando permitindo a comutação entre as duas<br />

formas <strong>de</strong> execução do programa com o mesmo código em C. Isso garante que só <strong>um</strong> programa<br />

<strong>de</strong>ve ser mantido - ou seja, o código em ambos os modos (tempo real ou Linux tradicional) é<br />

sempre o mais recente.<br />

O programa <strong>de</strong>ve ser capaz <strong>de</strong> operar em frequências <strong>de</strong> até 50 Hz, que é o limite da taxa <strong>de</strong><br />

atualização do sinal <strong>de</strong> referências dos servos e do motores.<br />

Com isso em mente, o diagrama <strong>de</strong> blocos do programa da aeronave foi elaborado, como<br />

mostrado na Figura 4.6.<br />

Desses diagrama <strong>de</strong> blocos, <strong>de</strong>ve-se comentar:<br />

• Driver Serial em Tempo Real: É o módulo responsável pela interface com a porta serial<br />

1 Simuladores software-in-the-loop substituem o hardware com <strong>um</strong> simulador, modificando o sistema <strong>de</strong> comunicação.<br />

Essa técnica permite que o mesmo programa que irá controlar a aeronave controle <strong>um</strong> simulador. Isso é feito<br />

para validar o código e verificar a robustez do sistema diversas situações <strong>de</strong> falha.<br />

80


Mo<strong>de</strong>lo<br />

Magnético da<br />

Terra<br />

WMM 2010<br />

Mo<strong>de</strong>lo<br />

Gravitacional da<br />

Terra<br />

WGS84<br />

Mo<strong>de</strong>lo para<br />

Estimação<br />

Driver Serial em<br />

Tempo Real<br />

Módulo <strong>de</strong><br />

Comunicação<br />

Protocolo<br />

Dados<br />

Brutos<br />

Módulo <strong>de</strong><br />

Calibração<br />

Dados<br />

Calibrados<br />

Módulo <strong>de</strong><br />

Estimação<br />

Módulo <strong>de</strong> Processamento<br />

Auxiliar - LPC2148<br />

Ação <strong>de</strong><br />

Controle<br />

Módulo <strong>de</strong><br />

Controle<br />

Estimativa <strong>de</strong><br />

Estado<br />

Interface com<br />

Usuário<br />

Gerência <strong>de</strong><br />

Threads<br />

Módulo <strong>de</strong><br />

I<strong>de</strong>ntificação<br />

Sinal <strong>de</strong> I<strong>de</strong>ntificação<br />

Datalogger<br />

Figura 4.6: Diagrama <strong>de</strong> blocos do software do programa principal<br />

física em tempo real. Nota-se que esse módulo é distinto para os casos com e sem tempo<br />

real (Xenomai/Linux) e <strong>de</strong> acordo com a plataforma (PC ou G<strong>um</strong>stix).<br />

• Módulo <strong>de</strong> Comunicação e Protocolo: Responsável pela implementação do protocolo e<br />

<strong>de</strong>tecção <strong>de</strong> eventuais erros. Retorna os dados recebidos ou <strong>um</strong>a mensagem <strong>de</strong> erro.<br />

• Módulo <strong>de</strong> Calibração: Dá sentido físico aos dados recebidos, utilizando os parâmetros <strong>de</strong><br />

calibração (obtidos offline) e os mo<strong>de</strong>los da Terra. Também fornece as condições <strong>de</strong> referência<br />

para o campo magnético, a aceleração gravitacional e as matrizes <strong>de</strong> transformação para o<br />

sistema <strong>de</strong> coor<strong>de</strong>nadas local.<br />

• Módulo <strong>de</strong> Estimação: Faz a estimação <strong>de</strong> atitute, velocida<strong>de</strong> e posição a partir dos dados<br />

calibrados.<br />

• Módulo <strong>de</strong> Controle: Calcula a ação <strong>de</strong> controle com base no vetor <strong>de</strong> estados fornecido<br />

pelo módulo <strong>de</strong> estimação.<br />

• Módulo <strong>de</strong> I<strong>de</strong>ntificação: Gera sinais referentes ao processo <strong>de</strong> i<strong>de</strong>ntificação <strong>de</strong> sistemas.<br />

• Datalogger: Salva todos os dados para processamento e análise no MATLAB.<br />

• Interface com Usuário: Permite a visualização do estado <strong>de</strong> todos os subsistemas em<br />

tempo real, além do controle <strong>de</strong> funcionalida<strong>de</strong>s <strong>de</strong> alguns módulos. Ilustrada na Figura 4.7.<br />

• Gerência <strong>de</strong> Threads: Faz interface entre o Linux/Xenomai, permitindo que o mesmo<br />

código seja executado em ambos os modos <strong>de</strong> operação.<br />

81


Figura 4.7: Interface com o usuário do programa <strong>de</strong> aquisição e controle<br />

4.9 Simulador<br />

Um programa adicional que foi <strong>de</strong>senvolvido foi o simulador <strong>de</strong> vôo. A simulação é essencial<br />

para aferir o funcionamento das rotinas <strong>de</strong> estimação e controle, e para execução <strong>de</strong> experimentos<br />

sem a necessida<strong>de</strong> e risco <strong>de</strong> executar <strong>um</strong> vôo real.<br />

Ao invés <strong>de</strong> <strong>de</strong>senvolver <strong>um</strong> simulador a partir do zero, optou-se pela utilização <strong>de</strong> <strong>um</strong> simulador<br />

<strong>de</strong> vôo código livre já consolidado com <strong>um</strong>a interface simples <strong>de</strong> ser utilizada - o FlightGear. Na<br />

realida<strong>de</strong>, o FlightGear se res<strong>um</strong>e a <strong>um</strong>a bela interface gráfica para <strong>um</strong> simulador <strong>de</strong> dinâmica <strong>de</strong><br />

vôo <strong>de</strong> uso científico, o JSBSim, que tem a implementação baseada em [55].<br />

Outra <strong>de</strong> vantagem <strong>de</strong> utilizar o JSBSim como núcleo <strong>de</strong> simulação é a inclusão <strong>de</strong> dinâmicas<br />

não consi<strong>de</strong>radas no mo<strong>de</strong>lo não-linear tradicional, como variação do coeficiente <strong>de</strong> ataque α com<br />

a velocida<strong>de</strong> aerodinâmica e interações da aeronave com o solo (ground effects). Uma quantida<strong>de</strong><br />

gran<strong>de</strong> <strong>de</strong> aeronaves já estão disponíveis como mo<strong>de</strong>los <strong>de</strong> simulação do JSBSim, permitindo o<br />

<strong>de</strong>senvolvimento e teste <strong>de</strong> algoritmos em dinâmicas muito fiéis a realida<strong>de</strong>.<br />

Como o objetivo era validar os códigos <strong>de</strong> controle, i<strong>de</strong>ntificação e estimação em <strong>um</strong> ambiente<br />

<strong>de</strong> simulação, a abordagem modular em C foi a escolha mais lógica. A idéia foi escrever <strong>um</strong><br />

programa em C que gerasse dados simulados dos sensores a partir dos dados fornecidos pelo<br />

simulador. Esses dados alimentariam os mesmos módulos <strong>de</strong> estimação e controle que o programa<br />

embarcado estaria rodando, que gerariam <strong>um</strong>a ação <strong>de</strong> controle que seria enviada ao simulador.<br />

Para testes, todos os dados seriam guardados por <strong>um</strong> datalogger para visualização e análise no<br />

82


MATLAB. Com essa abordagem em mente, chegou-se no diagrama <strong>de</strong> blocos da Figura 4.8.<br />

Mo<strong>de</strong>lo da<br />

Aeronave<br />

Módulo <strong>de</strong><br />

Geração <strong>de</strong><br />

Variáveis<br />

Aleatórias<br />

Mo<strong>de</strong>lo<br />

Magnético da<br />

Terra<br />

WMM 2010<br />

Mo<strong>de</strong>lo<br />

Gravitacional da<br />

Terra<br />

WGS84<br />

Mo<strong>de</strong>lo para<br />

Estimação<br />

JSBSim<br />

FlightGear<br />

Socket<br />

Interface<br />

Flightgear<br />

Ground Truth<br />

Geração <strong>de</strong><br />

dados<br />

sensorias<br />

Módulo <strong>de</strong><br />

Estimação<br />

Joystick<br />

Simulação<br />

Instr<strong>um</strong>entos /<br />

Cockpit<br />

Ação <strong>de</strong><br />

Controle<br />

Módulo <strong>de</strong><br />

Controle<br />

Estimativa <strong>de</strong><br />

Estado<br />

Sinal <strong>de</strong> I<strong>de</strong>ntificação<br />

Datalogger<br />

Módulo <strong>de</strong><br />

I<strong>de</strong>ntificação<br />

Interface <strong>de</strong> Simulação<br />

Figura 4.8: Diagrama <strong>de</strong> blocos do simulador<br />

O simulador (JSBSim e FlightGear) é executado a <strong>um</strong>a frequência <strong>de</strong> 250 Hz, e amostrado<br />

na mesma taxa que o sistema <strong>de</strong> aquisição e controle real opera (50 Hz), utilizando <strong>um</strong> mo<strong>de</strong>lo<br />

dinâmico não-linear pré-<strong>de</strong>terminado. Esses dados geram o chamado ground truth, que são os<br />

dados simulados sem ruído, que são transferidos por <strong>um</strong> socket para o programa <strong>de</strong> interface.<br />

Essa interface é ilustrada na Figura 4.9.<br />

Esses dados são “corrompidos” para gerar os dados sensoriais. Os sensores simulados são:<br />

• GPS<br />

• Acelerômetro (3 eixos)<br />

• Magnetômetro (3 eixos)<br />

• Girômetro (3 eixos)<br />

• Altímetro<br />

• Sonares<br />

• Tubo <strong>de</strong> Pitot (velocida<strong>de</strong> aerodinâmica)<br />

A fim <strong>de</strong> se aproximar ao máximo dos sensores reais, os sensores são corrompidos utilizando:<br />

• Frequência <strong>de</strong> amostragem (dados disponíveis na mesma frequência que os reais)<br />

• Bias aleatório na inicialização<br />

83


• Scale factor aleatório na inicialização<br />

• Erro <strong>de</strong> alinhamento (matriz <strong>de</strong> rotação) entre sensores aleatório na inicialização (cross-axis<br />

misaligment) para o acelerômetro, girômetro e magnetômetro<br />

• Ruído branco <strong>de</strong> média nula nas medidas<br />

• Erro <strong>de</strong> quantização das medidas<br />

• Falhas <strong>de</strong> comunicação aleatórias<br />

Por fim, todos esses dados são armazenados para processamento e análise no MATLAB utilizando<br />

o mesmo formato que o software do microprocessador principal, permitindo que os programas<br />

<strong>de</strong> análise sejam utilizados tanto com dados reais como dados simulados.<br />

Figura 4.9: Interface com o usuário do simulador<br />

84


Capítulo 5<br />

Estimação<br />

“Torture n<strong>um</strong>bers, and they’ll confess to anything.”<br />

–Gregg Easterbrook<br />

5.1 Introdução<br />

A estimação <strong>de</strong> estados é <strong>um</strong> dos problemas clássicos associados a tecnologia aeroespacial -<br />

sensores como girômetros, acelerômetros e magnetômetros não conseguem medir a orientação sem<br />

problemas <strong>de</strong> singularida<strong>de</strong>s ou divergência ao longo do tempo [56]. Operações <strong>de</strong> precisão, tais<br />

como pousos, precisam <strong>de</strong> estimativas <strong>de</strong> posição com precisão melhor do que as fornecidas pelo<br />

sistema GPS. Para completar, é necessário <strong>de</strong>tectar e contornar eventuais falhas sensoriais para<br />

garantir a segurança do voo.<br />

O objetivo principal do sistema <strong>de</strong> estimação <strong>de</strong> <strong>um</strong>a aeronave é fornecer ao piloto (ou controlador)<br />

informações confiáveis a respeito da posição, velocida<strong>de</strong> e orientação, utilizando como<br />

entrada mo<strong>de</strong>los dinâmicos e <strong>um</strong>a série <strong>de</strong> sensores - ou seja, é <strong>um</strong> problema <strong>de</strong> fusão sensorial<br />

clássico.<br />

As estimativas também são essenciais para o processo <strong>de</strong> i<strong>de</strong>ntificação <strong>de</strong> sistemas, já que não<br />

existe outra forma confiável <strong>de</strong> se obter informações sobre a orientação e velocida<strong>de</strong> da aeronave.<br />

Esse capítulo visa mostrar a solução <strong>de</strong> estimação adotada nesse projeto, passando pela mo<strong>de</strong>lagem<br />

dos sensores, pelos mo<strong>de</strong>los geométricos, gravitacionais e magnéticos da Terra, e por fim<br />

pelos algoritmos <strong>de</strong> estimação <strong>de</strong> atitu<strong>de</strong> e fusão <strong>de</strong> dados. É importante ressaltar que o sistema<br />

<strong>de</strong>senvolvido aqui visa <strong>um</strong> pequeno veículo aéreo não-tripulado, ou seja, ele visa percorrer distâncias<br />

inferiores a 100 quilômetros em voos não-acrobáticos. Isso permite que <strong>um</strong> sistema <strong>de</strong><br />

coor<strong>de</strong>nadas local seja utilizado, e facilita a sintonia dos parâmetros dos filtros.<br />

A solução foi <strong>de</strong>senvolvida em torno do Filtro <strong>de</strong> Kalman Estendido, que também foi base <strong>de</strong><br />

outros trabalhos do <strong>LARA</strong> [1, 4, 57, 58] nesse sentido.<br />

Essa capítulo está organizado da seguinte maneira: os mo<strong>de</strong>los dos sensores e Terrestres estão<br />

<strong>de</strong>scritos na Seção 5.2. As técnicas <strong>de</strong> calibração estão <strong>de</strong>scritas na Seção 5.3, e formas <strong>de</strong>terminísticas<br />

<strong>de</strong> estimação <strong>de</strong> orientação estão <strong>de</strong>scritas na Seção 5.4. Finalmente, a solução proposta<br />

está na Seção 5.5.<br />

85


5.2 Mo<strong>de</strong>los Sensoriais e Terrestres<br />

A parte mais importante <strong>de</strong> <strong>um</strong> projeto <strong>de</strong> instr<strong>um</strong>entação é enten<strong>de</strong>r o que o sensor está<br />

lhe dizendo - ou seja, o que é informação, o que é ruído, e o que são erros <strong>de</strong> medidas. Essas<br />

informações são traduzidas <strong>de</strong> forma matemática em mo<strong>de</strong>los, que são utilizadas tanto nos estimadores<br />

(remoção <strong>de</strong> erros e ruído) como na etapa <strong>de</strong> calibração, dando sentido físico a gran<strong>de</strong>za<br />

medida [59].<br />

Nesse projeto, os sensores estão divididos em dois gran<strong>de</strong>s grupos: sensores lineares simples, que<br />

utilizam <strong>um</strong> mo<strong>de</strong>lo bastante simples <strong>de</strong> medição, e sensores especiais, com mo<strong>de</strong>los e tratamento<br />

matemático mais complexo.<br />

Além <strong>de</strong> dominar a medida, é importante saber o que está sendo medido. Nesse contexto,<br />

também serão estudados os mo<strong>de</strong>los terrestres relevantes para o sistema <strong>de</strong> instr<strong>um</strong>entação, que<br />

fornecem medidas atmosféricas, <strong>de</strong> gravida<strong>de</strong> e <strong>de</strong> campo magnético referenciais.<br />

5.2.1 Sensores Lineares<br />

Boa parte dos sensores po<strong>de</strong>m ser ditos lineares, ou seja, eles seguem <strong>um</strong> mo<strong>de</strong>lo <strong>de</strong> reta dado<br />

por [59, 60]:<br />

¯z = sf z z + b z + ε (5.1)<br />

On<strong>de</strong> ¯z é a medida do sensor, s f é o fator <strong>de</strong> escala (scale factor) ou ganho do sensor, b é o viés<br />

(bias ou offset) do sensor, z é a gran<strong>de</strong>za física medida, e ε é <strong>um</strong>a variável aleatória que representa<br />

o ruído, dado por:<br />

on<strong>de</strong> σ 2 é a variância da medida.<br />

ε ∼ N (0, σ 2 ) (5.2)<br />

O processo <strong>de</strong> calibração se res<strong>um</strong>e a <strong>de</strong>duzir os valores <strong>de</strong> sf z e b z . Como não é possível<br />

distinguir ε diretamente, o mo<strong>de</strong>lo que leva da medida a variável com sentido físico é [59]:<br />

z = ¯z − b z<br />

sf z<br />

(5.3)<br />

Na aeronave, os seguintes sensores seguem esse mo<strong>de</strong>lo:<br />

• GPS<br />

• Monitor <strong>de</strong> tensão da bateria<br />

• Monitor <strong>de</strong> corrente da bateria<br />

• Temperatura do ar externo<br />

• Comandos dos rádios<br />

• Sonar<br />

86


Vale lembrar que na teoria o GPS não segue esse tipo <strong>de</strong> mo<strong>de</strong>lo. Porém, quando as medidas<br />

são transformadas para <strong>um</strong> sistema <strong>de</strong> coor<strong>de</strong>nadas local (Sistema N), as medidas se tornam quase<br />

in<strong>de</strong>pen<strong>de</strong>ntes, e esse mo<strong>de</strong>lo se aproxima muito bem dos dados obtidos nos experimentos [21,61].<br />

Deve-se ressaltar que os dados fornecidos pelos rádios não são <strong>um</strong> sensor propriamente dito, mas<br />

essa formulação permite que os dados sejam normalizados para que a compreensão da ação <strong>de</strong><br />

controle seja mais fácil <strong>de</strong> ser visualizada.<br />

Esses sensores são <strong>de</strong> fácil caracterização, pois os valores <strong>de</strong> sf z e b z po<strong>de</strong>m ser <strong>de</strong>terminados<br />

com poucas medidas. O valor <strong>de</strong> σ 2 também po<strong>de</strong> ser <strong>de</strong>terminado coletando <strong>um</strong>a sequência <strong>de</strong><br />

dados com <strong>um</strong>a entrada fixa. É importante notar que sf z , b z e σ 2 po<strong>de</strong>m variar com parâmetros<br />

como a temperatura, o que po<strong>de</strong> levar a <strong>um</strong> mo<strong>de</strong>lo que leva em consi<strong>de</strong>ração a temperatura como<br />

entrada. Nesse trabalho, ass<strong>um</strong>e-se que a variação em função da temperatura na faixa <strong>de</strong> operação<br />

é muito pequena, e logo, os valores das constantes <strong>de</strong> calibração são fixas.<br />

5.2.2 Magnetômetro<br />

O magnetômetro é o sensor responsável por medir, i<strong>de</strong>almente, o valor do campo magnético<br />

da terra para <strong>de</strong>terminar a atitu<strong>de</strong> da aeronave no espaço. Infelizmente, esse sensor está sujeito<br />

não só aos fatores <strong>de</strong> escala e viés como nos sensores lineares.<br />

A principal fonte <strong>de</strong> erro em <strong>um</strong> magnetômetro são campos magnéticos diferentes do campo<br />

magnético terrestre atuando sobre o sensor. Esses campos po<strong>de</strong>m ser gerados por imãs permanentes<br />

presentes na aeronave (fácil <strong>de</strong> ser corrigido - fixo no tempo), ou por correntes circulando<br />

por cabos próximos ao sensor. Nesse segundo caso, a forma mais fácil <strong>de</strong> se evitar esse tipo <strong>de</strong><br />

erro é geométrica - ou seja, posicionar o sensor longe <strong>de</strong>sse tipo <strong>de</strong> interferência.<br />

Outra fonte <strong>de</strong> erro são os metais presentes na aeronave, que distorcem o campo <strong>de</strong> forma não<br />

linear <strong>de</strong> acordo com a orientação. O fato dos sensores serem fabricados <strong>de</strong> forma <strong>de</strong>salinhada<br />

também não auxilia muito no mo<strong>de</strong>lo.<br />

Dessa forma, como <strong>de</strong>scrito em [62], chega-se ao seguinte mo<strong>de</strong>lo:<br />

¯m = C m C sf C si (m + δm) (5.4)<br />

On<strong>de</strong> C m é a matriz <strong>de</strong> alinhamento e ortogonalida<strong>de</strong>, que visa corrigir falhas <strong>de</strong> fabricação e<br />

alinhamento entre os eixos, C sf é <strong>um</strong>a matriz diagonal com os fatores <strong>de</strong> escala dos 3 eixos do<br />

magnetômetro, C si é o matriz <strong>de</strong> erros <strong>de</strong> metais na estrutura (soft iron errors), e δm representa<br />

o viés causado por metais magnetizados e imãs (hard iron errors). O ¯m representa o campo magnético<br />

medido pelo magnetômetro, enquanto que m representa o valor real do campo magnético.<br />

A matriz C si e δm são extremamente sensíveis a geometria <strong>de</strong> montagem do magnetômetro e da<br />

aeronave, o que reforça a necessida<strong>de</strong> <strong>de</strong> fixação <strong>de</strong> todos os componentes.<br />

É importante ressaltar que, <strong>um</strong>a vez obtido m, ele ainda po<strong>de</strong> estar sujeito ao mo<strong>de</strong>lo <strong>de</strong>scrito<br />

na Equação 5.1 para receber alg<strong>um</strong> sentido físico, ou seja, para converter as medidas digitais em<br />

medidas físicas.<br />

87


5.2.3 Acelerômetro<br />

O acelerômetro é o sensor que me<strong>de</strong>, na realida<strong>de</strong>, a força específica sobre o sensor, ou seja, a<br />

soma das forças normalizadas como aceleração para <strong>um</strong> dado corpo <strong>de</strong> provas <strong>de</strong>ntro do sensor.<br />

Isso faz com que o sensor seja capaz <strong>de</strong> medir não só a aceleração do corpo em si, mas também a<br />

gravida<strong>de</strong> e outras forças atuantes sobre o corpo [61, 63].<br />

Por <strong>um</strong> lado, a possibilida<strong>de</strong> <strong>de</strong> medição da gravida<strong>de</strong> permite a estimação <strong>de</strong> atitu<strong>de</strong> do corpo,<br />

através da medição do vetor gravida<strong>de</strong> no sistema <strong>de</strong> coor<strong>de</strong>nadas da aeronave. Por outro lado,<br />

isso dificulta muito a estimativa <strong>de</strong> aceleração da aeronave em si, pois o vetor gravida<strong>de</strong> <strong>de</strong>ve ser<br />

rotacionado com base na estimativa <strong>de</strong> orientação e <strong>de</strong>pois subtraído do resultado - <strong>um</strong> processo<br />

que gera muitas incertezas.<br />

O mo<strong>de</strong>lo do acelerômetro é dado por [63]:<br />

¯f = Cm C sf (g + a rot + a + b) (5.5)<br />

On<strong>de</strong> C m é a matriz <strong>de</strong> alinhamento entre os eixos e dos eixos com o corpo, C sf é a matriz diagonal<br />

dos fatores <strong>de</strong> escala, g é o vetor gravida<strong>de</strong> no sistema <strong>de</strong> coor<strong>de</strong>nadas do acelerômetro, a rot é a<br />

aceleração centrífuga <strong>de</strong>vido a rotação do corpo, a é a aceleração em si, e b é o viés. ¯f é o que é<br />

efetivamente lido pelo acelerômetro.<br />

O componente a rot merece certo <strong>de</strong>staque. Ele é fruto da aceleração centrífuga que surge<br />

quando o corpo está em movimento <strong>de</strong> rotação. Duas rotações <strong>de</strong>vem ser consi<strong>de</strong>radas: a da<br />

rotação do acelerômetro em torno do centro <strong>de</strong> gravida<strong>de</strong> da aeronave, e a da rotação da terra em<br />

torno do próprio eixo. Em aplicações mais sensíveis (IMUs <strong>de</strong> alta precisão), ambos os fenômenos<br />

<strong>de</strong>vem ser compensados [61, 63]. Porém, nessa aeronave, o acelerômetro foi posicionado o mais<br />

próximo possível do centro <strong>de</strong> massa da aeronave, para minimizar o efeito da rotação da aeronave,<br />

e a sensibilida<strong>de</strong> do acelerômetro não captura o efeito da rotação da terra (também chamada <strong>de</strong><br />

componente tangencial da gravida<strong>de</strong>).<br />

Outra simplificação que po<strong>de</strong> ser feito no mo<strong>de</strong>lo é ass<strong>um</strong>ir que os eixos são ortogonais e<br />

alinhados, ou seja, C m = I 3 . Dessa forma, o mo<strong>de</strong>lo simplificado é:<br />

¯f = Csf (g + a + b) (5.6)<br />

Cujo resultado é <strong>de</strong> cada elemento do vetor resultante é sujeito a Equação 5.1 para receber<br />

sentido físico.<br />

5.2.4 Girômetro<br />

Os girômetros são os sensores responsáveis pela medida das velocida<strong>de</strong>s angulares nos eixos da<br />

aeronave. Tradicionalmente, eles são consi<strong>de</strong>rados os sensores mais confiáveis para a estimação <strong>de</strong><br />

orientação, pois sensores <strong>de</strong> alta qualida<strong>de</strong> po<strong>de</strong>m ser integrados para fazer a estimativa <strong>de</strong> pose<br />

a partir <strong>de</strong> <strong>um</strong>a referência inicial [61, 63]. Porém, sensores que apresentam viés baixo o suficiente<br />

para tornar a estimativa utilizável cost<strong>um</strong>am custar muito caro e ser <strong>de</strong> uso militar ou aeronáutico<br />

(restrito para uso civil).<br />

88


Recentemente, o mercado vem sido inundado com girômetros <strong>de</strong> baixo custo, cujo objetivo é<br />

dar <strong>um</strong>a medida <strong>de</strong> precisão razoável da velocida<strong>de</strong> angular, utilizável para estimação <strong>de</strong> orientação<br />

para <strong>um</strong>a pequena janela <strong>de</strong> tempo. Esse tipo <strong>de</strong> sensor tem visto muita utilização no mercado<br />

<strong>de</strong> dispositivos que fazem interface para jogos, como controles <strong>de</strong> vi<strong>de</strong>o games e celulares.<br />

Esses sensores tem o seguinte mo<strong>de</strong>lo [56]:<br />

¯ω = C m C sf (ω + b) (5.7)<br />

on<strong>de</strong> C m é a matriz <strong>de</strong> alinhamento entre os eixos e dos eixos com o corpo, C sf é a matriz diagonal<br />

dos fatores <strong>de</strong> escala, e b é o viés. ω é a velocida<strong>de</strong> angular real e ¯ω é o medido pelo sensor.<br />

Esse tipo <strong>de</strong> sensor é o que tem menos interferência <strong>de</strong> elementos externos, porém, <strong>de</strong>pen<strong>de</strong>ndo<br />

da tecnologia empregada, ele ainda po<strong>de</strong> sofrer <strong>de</strong>gradação <strong>de</strong>vido a acelerações e vibrações. O<br />

elemento b cost<strong>um</strong>a variar bastante com o tempo e a temperatura, o que normalmente exige a<br />

estimação <strong>de</strong>sse parâmetro em tempo real.<br />

Como nos outros sensores, os elementos do vetor ω são aplicados na Equação 5.1 para receber<br />

sentido físico.<br />

5.2.5 Tubo <strong>de</strong> Pitot<br />

O tubo <strong>de</strong> Pitot (Pitot-Static Tube) é o dispositivo responsável pela medida da velocida<strong>de</strong><br />

aerodinâmica da aeronave. Ele (associado ao altímetro) é o instr<strong>um</strong>ento mais essencial <strong>de</strong> qualquer<br />

aeronave tradicional, e tem papel essencial no controle do ponto <strong>de</strong> operação do VANT.<br />

O diagrama típico <strong>de</strong> <strong>um</strong> tubo <strong>de</strong> Pitot está na Figura 5.1. O dispositivo se res<strong>um</strong>e a <strong>um</strong>a<br />

tomada <strong>de</strong> pressão dinâmica e outra estática.<br />

Pressão<br />

Estática<br />

Pressão<br />

Total<br />

Figura 5.1: Diagrama do tubo <strong>de</strong> Pitot<br />

Utilizando a equação <strong>de</strong> Bernoulli, chega-se na seguinte equação:<br />

v =<br />

√<br />

2(p t − p e )<br />

ρ<br />

(5.8)<br />

89


on<strong>de</strong> v é a velocida<strong>de</strong> do fluido, p t é a pressão total, p e é a pressão estática, e ρ é a <strong>de</strong>nsida<strong>de</strong> do<br />

fluido.<br />

O sensor utilizado me<strong>de</strong> a diferença <strong>de</strong> pressão. Chamando a pressão dinâmica p d = p t − p e ,<br />

temos que:<br />

¯p d = s f p d + b (5.9)<br />

on<strong>de</strong> ¯p d é o que o sensor efetivamente me<strong>de</strong>, p d é a medida <strong>de</strong> pressão dinâmica real, b o viés e s f<br />

o fator <strong>de</strong> escala. Assim,<br />

p d = ¯p d − b<br />

s f<br />

(5.10)<br />

Chamando<br />

√ 2<br />

ρ<br />

<strong>de</strong> k, e incluindo a dinâmica do sensor <strong>de</strong> pressão diferencial, temos que:<br />

√<br />

¯pd − b<br />

v = k<br />

(5.11)<br />

s f<br />

O principal problema associado a esse tipo <strong>de</strong> sensor é a não-linearida<strong>de</strong>, que torna alguns<br />

pontos <strong>de</strong> operação muito sensíveis e outros pouco sensíveis. Por isso, esse tipo <strong>de</strong> sensor tem<br />

precisão ruim em baixas velocida<strong>de</strong>s. Outro problema é a variação <strong>de</strong> ρ com a temperatura, e a<br />

introdução <strong>de</strong> outras não linearida<strong>de</strong>s introduzidas pela construção do próprio tubo <strong>de</strong> pitot.<br />

5.2.6 Altímetro e Mo<strong>de</strong>lo Atmosférico da Terra<br />

O altímetro é, junto com o tubo <strong>de</strong> Pitot, o instr<strong>um</strong>ento mais essencial <strong>de</strong> <strong>um</strong>a aeronave<br />

tradicional. É a partir <strong>de</strong>le que se estima a altitu<strong>de</strong> da aeronave em relação ao nível do mar. Esses<br />

valores são padronizados na aviação civil (flight levels) para facilitar a navegação e evitar colisões.<br />

O altímetro me<strong>de</strong> a pressão absoluta (estática) do local. Essa medida, associada a <strong>um</strong> mo<strong>de</strong>lo<br />

<strong>de</strong> referência da atmosfera, permite a estimativa da altitu<strong>de</strong> da aeronave. Essa medida <strong>de</strong> altitu<strong>de</strong><br />

é chamada <strong>de</strong> pressure height.<br />

Como na Equação 5.1, a medida <strong>de</strong> pressão segue o mo<strong>de</strong>lo linear, ou seja:<br />

on<strong>de</strong> p atm é a pressão atmosférica medida.<br />

p atm ¯ = s f p atm + b (5.12)<br />

Com a pressão p atm , <strong>um</strong> mo<strong>de</strong>lo atmosférico po<strong>de</strong> ser utilizado para casar os valores <strong>de</strong> pressão<br />

a <strong>um</strong>a altitu<strong>de</strong>, permitindo o uso do sensor <strong>de</strong> pressão como altímetro. Existem vários mo<strong>de</strong>los<br />

disponíveis na literatura, porém, para fins aeronáuticos, o U.S. Standard Atmosphere (versão <strong>de</strong><br />

1976) e o International Standard Atmosphere (ISA) [64]. O segundo é o padrão recomendado pela<br />

ICAO.<br />

O mo<strong>de</strong>lo ISA ass<strong>um</strong>e que a atmosfera po<strong>de</strong> ser separada em 8 camadas com mo<strong>de</strong>los distintos,<br />

cobrindo <strong>de</strong>s<strong>de</strong> o nível do mar a 84 km acima do nível do mar [64,65]. Cada mo<strong>de</strong>lo segue a equação<br />

barométrica padrão:<br />

P = P b<br />

(<br />

T b<br />

T b + L b (h − h b )<br />

) g 0 M<br />

R ∗ L b<br />

(5.13)<br />

90


on<strong>de</strong>:<br />

• P b : Pressão <strong>de</strong> referência (Pa)<br />

• T b : Temperatura <strong>de</strong> referência (K)<br />

• L b : Gradiente adiabático (K/m)<br />

• h: Altitu<strong>de</strong> acima do nível do mar da referência (m)<br />

• h b : Altitu<strong>de</strong> acima da referência (m)<br />

• R ∗ : Constante universal dos gases perfeitos Nm/(mol K)<br />

• g 0 : Aceleração da gravida<strong>de</strong> (m/s 2 )<br />

• M: Massa molar do ar atmosférico (kg/mol)<br />

e o subíndice b indica a camada do mo<strong>de</strong>lo utilizado.<br />

Para pequenos veículos aéreos não tripulados, só a primeira camada (camada 0) interessa - a<br />

troposfera - que cobre altitu<strong>de</strong>s entre o nível do mar e 11 km. Assim, os parâmetros fixos utilizados<br />

são [64, 65]:<br />

• L 0 : -0,0065<br />

• h 0 : 0<br />

• R ∗ : 8,31432<br />

• M: 0,0289644<br />

Como estamos interessados em estimar a altitu<strong>de</strong> em relação ao solo, ou seja, em relação a origem<br />

do sistema <strong>de</strong> coor<strong>de</strong>nadas local (h 0 = 0), os valores <strong>de</strong> P 0 , T 0 e g 0 são obtidos na inicialização do<br />

sistema.<br />

Isolando h, temos que:<br />

⎛<br />

h − h 0 = T 0<br />

⎝1 −<br />

−L 0<br />

⎞<br />

( ) P −L 0 R∗<br />

g 0 M<br />

⎠ (5.14)<br />

P 0<br />

nesse caso, P = p atm obtido diretamente do altímetro.<br />

5.2.7 Sistema Geodésico <strong>de</strong> Referência da Terra<br />

Um Sistema Geodésico <strong>de</strong> Referência da Terra (World Geo<strong>de</strong>tic System, WGS) é <strong>um</strong> padrão<br />

utilizado para fins <strong>de</strong> cartografia e navegação na superfície da terra. Ele é composto por <strong>um</strong><br />

sistema <strong>de</strong> coor<strong>de</strong>nadas, <strong>um</strong>a representação geométrica da terra (utilizada como referência para<br />

altitu<strong>de</strong>) e <strong>um</strong> mo<strong>de</strong>lo gravitacional terrestre [66].<br />

91


Esse sistema é extremamente importante pois os dados do sistema GPS fornecidas em <strong>um</strong> dado<br />

WGS, e as informações <strong>de</strong>sse sistema são necessárias para conversão <strong>de</strong> <strong>um</strong> sistema <strong>de</strong> coor<strong>de</strong>nadas<br />

global para <strong>um</strong> sistema <strong>de</strong> coor<strong>de</strong>nadas local. Além disso, o mo<strong>de</strong>lo gravitacional é importante<br />

para <strong>de</strong>terminar a suposta gravida<strong>de</strong> local, permitindo o funcionamento do sistema em qualquer<br />

ponto do globo.<br />

O WGS mais utilizado atualmente é o WGS84, originalmente concebido em 1984 e revisado em<br />

2004. É esse o sistema utilizado pelo sistema GPS. Esse sistema utiliza como origem do sistema o<br />

centro <strong>de</strong> massa da Terra, e como mo<strong>de</strong>lo geométrico <strong>um</strong> elipsoi<strong>de</strong>, com os parâmetros na Tabela<br />

5.1, retirados <strong>de</strong> [66].<br />

Parâmetro Símbolo Valor<br />

Semi-eixo maior a 6378137,0 m<br />

Semi-eixo menor b 6356752,3 m<br />

Inverso do Achatamento 1/f 298,257<br />

Excentricida<strong>de</strong> ao quadrado e 2 6,69437999×10 −3<br />

Tabela 5.1: Parâmetros do Sistema Geodésico <strong>de</strong> Referência da Terra WGS84<br />

O mo<strong>de</strong>lo gravitacional utilizado é o EGM96, que ass<strong>um</strong>e que a gravida<strong>de</strong> é na superfície da<br />

elipsoi<strong>de</strong> po<strong>de</strong> ser dada por [66]:<br />

1 + k sin 2 φ<br />

γ = γ e √<br />

1 − e 2 sin 2 φ<br />

(5.15)<br />

on<strong>de</strong><br />

k = aγ p<br />

bγ e<br />

− 1 (5.16)<br />

e a, b e e 2 são parâmetros do mo<strong>de</strong>lo WGS84, γ e é a gravida<strong>de</strong> teórica nos polos, γ p é a gravida<strong>de</strong><br />

teórica no equador, e φ a latitu<strong>de</strong>.<br />

Porém, na maior parte dos casos, a aeronave não está localizada no nível do mar, ou seja, na<br />

superfície do elipsoi<strong>de</strong>. Dessa forma, <strong>de</strong>ve-se consi<strong>de</strong>rar o efeito da massa da Terra que esta entre<br />

a superfície real e o elipsoi<strong>de</strong>. A forma mais com<strong>um</strong> <strong>de</strong> resolver esse problema é utilizar <strong>um</strong>a série<br />

<strong>de</strong> Taylor para aproximar a função real, cujo resultado é dado por:<br />

on<strong>de</strong><br />

(<br />

γ h = γ 1 − 2 (<br />

)<br />

1 + f + m − 2f sin 2 φ h + 3 )<br />

a<br />

a 2 h2<br />

m = ω2 a 2 b<br />

GM<br />

(5.17)<br />

(5.18)<br />

e a, b e f são parâmetros do mo<strong>de</strong>lo WGS84, G é a constante gravitacional universal, M é a massa<br />

da Terra, φ a latitu<strong>de</strong>, h é a altitu<strong>de</strong> acima do elipsoi<strong>de</strong>, e γ é a gravida<strong>de</strong> no elipsoi<strong>de</strong> calculado<br />

pela Equação 5.15.<br />

Vale lembrar que essas equações só tratam da componente vertical da gravida<strong>de</strong> - a componente<br />

horizontal (que ten<strong>de</strong> a zero) <strong>de</strong>ve ser calculada utilizando outro mo<strong>de</strong>lo. Nesse trabalho, ela é<br />

<strong>de</strong>sconsi<strong>de</strong>rada.<br />

92


5.2.8 Mo<strong>de</strong>lo Magnético da Terra<br />

O mo<strong>de</strong>lo magnético da Terra é essencial para <strong>de</strong>terminar o suposto campo magnético referencial<br />

para navegação através do magnetômetro. Diferente da gravida<strong>de</strong>, que varia pouco com<br />

a latitu<strong>de</strong> e longitu<strong>de</strong>, o campo magnético sofre distorções sensíveis em função da latitu<strong>de</strong>, longitu<strong>de</strong>,<br />

dia e ano. Essas mudanças são causadas por fenômenos <strong>de</strong>ntro da crosta terrestre, cuja<br />

maior parte não são previsíveis.<br />

Felizmente, o sistema é bastante lento, o que permite que mo<strong>de</strong>los sejam obtidos para pequenos<br />

intervalos <strong>de</strong> tempo a partir <strong>de</strong> observações realizadas por diversos centros <strong>de</strong> pesquisa no<br />

mundo. Dessa forma, o NOAA (National Oceanic and Atmospheric Administration) do governo<br />

dos Estados Unidos cria <strong>um</strong> novo mo<strong>de</strong>lo, atualizado a cada 5 anos, chamado <strong>de</strong> World Magnetic<br />

Mo<strong>de</strong>l (WMM).<br />

Esse mo<strong>de</strong>lo calcula, com base na localização e na data, o campo magnético do local. Esse mo<strong>de</strong>lo<br />

é extremamente complexo do ponto <strong>de</strong> vista computacional (utilizando a solução da equação<br />

<strong>de</strong> Laplace em coor<strong>de</strong>nadas esféricas), mas felizmente o NOAA fornece <strong>um</strong> código em C <strong>de</strong> <strong>um</strong>a<br />

implementação padronizada para uso científico.<br />

Esse projeto faz uso do WMM2010, que é válido <strong>de</strong>s<strong>de</strong> 1 <strong>de</strong> janeiro <strong>de</strong> 2010 até 31 <strong>de</strong> <strong>de</strong>zembro<br />

<strong>de</strong> 2014.<br />

5.3 Calibração dos Sensores<br />

A calibração é parte essencial <strong>de</strong> qualquer sistema <strong>de</strong> medição - é normalmente ela que dá sentido<br />

físico as medidas, além <strong>de</strong> ser responsável pela acurácia das medidas. Um bom procedimento<br />

<strong>de</strong> calibração leva a projetos on<strong>de</strong> a acurácia inicial dos sensores é quase que irrelevante - o que<br />

realmente importa é a sua mudança com o tempo [60].<br />

O processo <strong>de</strong> calibração não passa <strong>de</strong> <strong>um</strong>a aplicação específica do processo <strong>de</strong> i<strong>de</strong>ntificação<br />

<strong>de</strong> sistemas, tratado em <strong>de</strong>talhes no Capítulo 6. Essa Seção visa dar <strong>um</strong>a visão geral dos procedimentos<br />

práticos utilizados para os sensores.<br />

5.3.1 Sensores Lineares<br />

Como já <strong>de</strong>scrito, os sensores lineares seguem a equação 5.1, ou seja:<br />

¯z = s f z + b + ε (5.19)<br />

Para facilitar a calibração, a Equação 5.20 foi reescrita como:<br />

z = ¯z − b<br />

s f<br />

(5.20)<br />

z = a ′¯z + b ′ (5.21)<br />

93


ou seja, a gran<strong>de</strong>za física é dada pelo dado fornecido pelo sensor (¯z) multiplicado por <strong>um</strong>a constante<br />

a ′ e somado a outra constante b ′ .<br />

Como a medida é corrompida por ruído suposto branco e <strong>de</strong> média nula, o método i<strong>de</strong>al para a<br />

estimação dos parâmetros a ′ e b ′ é o dos mínimos quadrados, como <strong>de</strong>scrito na Seção 6.4.1. Nesse<br />

caso, temos que:<br />

,<br />

e<br />

θ =<br />

(<br />

a<br />

′<br />

b ′ )<br />

⎛ ⎞<br />

¯z 1 1<br />

¯z 2 1<br />

X =<br />

⎜<br />

⎝ . . ⎟<br />

⎠<br />

¯z n 1<br />

⎛ ⎞<br />

z 1<br />

z 2<br />

y =<br />

⎜<br />

⎝ . ⎟<br />

⎠<br />

z n<br />

(5.22)<br />

(5.23)<br />

(5.24)<br />

O experimento para a estimação dos parâmetros é bastante simples: utilizando outro sensor<br />

(já calibrado) ou <strong>um</strong>a medida <strong>de</strong> referência, a i-ésima amostra (ẑ i , z i ) é obtida, formada pela<br />

referência e pela medida do sensor [59, 60].<br />

Muda-se o ponto <strong>de</strong> operação, a fim <strong>de</strong> se obter<br />

amostras em toda a faixa <strong>de</strong> operação do sensor. Isso é repetido n vezes. Esses dados alimentam<br />

o algoritmo MQ, e as estimativas <strong>de</strong> a ′ e b ′ são validadas com <strong>um</strong> experimento semelhante.<br />

Para os sensores que me<strong>de</strong>m gran<strong>de</strong>zas elétricas (tensão e corrente da bateria), a referência foi<br />

<strong>um</strong>a segunda medida feita por <strong>um</strong> multímetro <strong>de</strong> bancada calibrado HP 3478A. As medidas <strong>de</strong><br />

calibração dos sonares foram obtidas através <strong>de</strong> experimentos com alvos e distâncias <strong>de</strong> referência.<br />

Porém, alguns sensores são <strong>de</strong> difícil excitação, como o sensor <strong>de</strong> temperatura externa. Para<br />

esses casos, os valores do datasheets foram utilizados como parâmetros <strong>de</strong> calibração.<br />

Outros<br />

sensores já fornecem dados pré-calibrados, como o GPS e o sensor <strong>de</strong> pressão absoluta (altímetro).<br />

Nesses casos, os valores da fábrica foram utilizados.<br />

5.3.1.1 Tubo <strong>de</strong> Pitot<br />

O tubo <strong>de</strong> Pitot foi <strong>um</strong> caso particular do processo <strong>de</strong> calibração. Para calibrar esse sensor,<br />

o era necessário gerar <strong>um</strong>a velocida<strong>de</strong> aerodinâmica semelhante as obtidas na aeronave - ou seja,<br />

entre 30 e 70 km/h. Para tal, o tubo <strong>de</strong> vento da Engenharia Mecânica da UnB foi utilizado com<br />

a supervisão do Prof. Rafael Gontijo.<br />

A calibração foi feita da seguinte forma: <strong>um</strong> tubo <strong>de</strong> Pitot com sensor calibrado era utilizado<br />

para gerar a referência <strong>de</strong> pressão diferencial. Esse valor foi obtido para 10 pontos, referentes<br />

a velocida<strong>de</strong>s aerodinâmicas diferentes. Com isso, o método dos mínimos quadrados padrão foi<br />

utilizado para obter a função <strong>de</strong> calibração.<br />

94


Para obter a medida <strong>de</strong> velocida<strong>de</strong>, ass<strong>um</strong>ui-se ρ = 1, 1839 kg/m 3 (ass<strong>um</strong>indo a ISA a 25 o C)<br />

constante na Equação 5.8. A validação foi feita <strong>de</strong> forma qualitativa, dada a falta <strong>de</strong> <strong>um</strong> instr<strong>um</strong>ento<br />

próprio para medição da pressão aerodinâmica.<br />

5.3.2 Acelerômetro e Magnetômetro<br />

O procedimento <strong>de</strong> calibração mais complexa <strong>de</strong> todo o sistema é o procedimento referente a<br />

calibração dos acelerômetros e magnetômetros. Tipicamente, em aplicações <strong>de</strong> precisão e <strong>de</strong> uso<br />

militar, são utilizados laboratórios e equipamentos especializados capazes <strong>de</strong> gerar as gran<strong>de</strong>zas<br />

<strong>de</strong> referência.<br />

Infelizmente, a UnB não conta com nenh<strong>um</strong> tipo <strong>de</strong> equipamento para esse tipo <strong>de</strong> calibração.<br />

Para agravar o problema, sensores <strong>de</strong> baixo custo precisam ser calibrados para obter o <strong>de</strong>sempenho<br />

necessário para esse tipo <strong>de</strong> aplicação.<br />

Para tentar calibrar o sistema, a primeira hipótese simplificadora foi dizer que ambos os sensores<br />

são <strong>de</strong> fato lineares, ou seja, C m = I 3 e C sf = I 3 nas Equações 5.5 e 5.4.<br />

A i<strong>de</strong>ia para calibração foi a seguinte: supondo que o sensor está medindo somente o campo<br />

(magnético ou gravitacional) <strong>de</strong> módulo constante, <strong>um</strong> algoritmo <strong>de</strong> otimização po<strong>de</strong> ser utilizado<br />

para calcular o viés e o fator <strong>de</strong> escala <strong>de</strong> cada <strong>um</strong> dos eixos, como <strong>de</strong>scrito em [1]. Em outras<br />

palavras, sabemos que:<br />

√<br />

)<br />

||m|| = √( ¯mx − b x<br />

+<br />

s x<br />

( ) ( )<br />

¯my − b y ¯mz − b z<br />

+<br />

= constante (5.25)<br />

s y s z<br />

on<strong>de</strong> ¯m i é a medida bruta (não calibrada), b i é o viés, e s i é o fator <strong>de</strong> escala, referidas ao eixo i.<br />

Dessa forma, basta coletar <strong>um</strong> número suficientemente gran<strong>de</strong> <strong>de</strong> dados nessa condição (campo<br />

magnético ou gravitacional constante), visando excitar todos os eixos, e encontrar valores para os<br />

parâmetros.<br />

Uma solução simples para esse problema é utilizar o método <strong>de</strong> Newton-Raphson. Ass<strong>um</strong>indo<br />

<strong>um</strong>a função <strong>de</strong> custo da i-ésima amostra, dados os parâmetros iniciais,<br />

e i = ||m|| − α (5.26)<br />

α =<br />

√ ( ) ( ) ( )<br />

¯mx − θ 1 ¯my − θ 2 ¯mz − θ 3<br />

+<br />

+<br />

θ 4 θ 5 θ 6<br />

e <strong>um</strong>a matriz Jacobiana cuja i-ésima coluna é dada por<br />

⎡ ⎤<br />

J i =<br />

⎢<br />

⎣<br />

¯m x−θ 1<br />

θ 2 4 α<br />

¯m y−θ 2<br />

θ 2 5 α<br />

¯m z−θ 3<br />

θ 2 6 α<br />

¯m x−θ 1<br />

θ 2 4 α<br />

¯m y−θ 2<br />

θ 2 5 α<br />

¯m z−θ 3<br />

θ 2 6 α<br />

⎥<br />

⎦<br />

(5.27)<br />

(5.28)<br />

95


on<strong>de</strong><br />

⎡ ⎤ ⎡ ⎤<br />

θ 1 b x<br />

θ 2<br />

b y<br />

θ =<br />

θ 3<br />

=<br />

b z<br />

θ 4<br />

s x<br />

⎢<br />

⎣θ ⎥ ⎢ 5 ⎦ ⎣s ⎥ y ⎦<br />

θ 6 s z<br />

(5.29)<br />

O algoritmo recursivo se res<strong>um</strong>e a montar as matrizes J e e, e atualizar as estimativas por:<br />

θ k+1 = θ k − λ(J T J)J T e (5.30)<br />

on<strong>de</strong> λ é <strong>um</strong> fator escalar escolhido para melhorar a convergência. A cada passo, novas matrizes<br />

J e e são calculadas com todos os dados. O critério <strong>de</strong> parada é <strong>um</strong> número <strong>de</strong> iterações máximo<br />

N max ou a convergência quando a ee T /2N for menor que <strong>um</strong> valor pré-<strong>de</strong>terminado ɛ.<br />

Parte essencial <strong>de</strong>sse algoritmo é <strong>um</strong> bom ponto <strong>de</strong> partida, ou seja, <strong>um</strong> bom valor inicial para<br />

θ. Como estimativa inicial, os valores dos fatores <strong>de</strong> escala foram os mesmos que os <strong>de</strong>terminados<br />

pelos datasheets como típicos, e a média <strong>de</strong> todas as amostras <strong>de</strong> <strong>um</strong> dado eixo como estimativa<br />

<strong>de</strong> viés.<br />

Esse método se mostrou muito efetivo, com resultados bastantes coerentes (<strong>de</strong>ntro da faixa<br />

especificada no datasheet) e aferidos através <strong>de</strong> <strong>um</strong> conjunto <strong>de</strong> dados <strong>de</strong> validação.<br />

5.3.3 Girômetro<br />

O girômetro é o sensor mais importante para estimação <strong>de</strong> atitu<strong>de</strong> em curtas janelas <strong>de</strong> tempo.<br />

É ele o responsável pela redução significativa <strong>de</strong> ruído no processo <strong>de</strong> fusão <strong>de</strong> dados.<br />

Esse sensor também é notório por ser <strong>de</strong> difícil calibração. Como no caso dos acelerômetros<br />

e magnetômetros, a forma tradicional <strong>de</strong> calibração para sistemas aeronáuticos é a utilização <strong>de</strong><br />

aparelhos especializados.<br />

Os dados do girômetros são integrados no tempo para obter a estimativa <strong>de</strong> orientação. Dessa<br />

forma, a principal fonte <strong>de</strong> erro é o viés do sensor. Para tornar a calibração factível, do mo<strong>de</strong>lo<br />

da Equação 5.7, ass<strong>um</strong>imos que os sensores não estão <strong>de</strong>salinhados (C m = I 3 ) e que a matriz C sf<br />

é dada pelos valores típicos do datasheet. Assim, só basta <strong>de</strong>terminar o valor do viés b.<br />

Para tal, na inicialização do sistema, ass<strong>um</strong>imos que o corpo está parado por alguns segundos.<br />

Logo, o valor <strong>de</strong> b é dado pela média aritmética dos dados dos girômetros na inicialização.<br />

Essa estimativa é boa para <strong>um</strong> primeiro momento, mas o viés ten<strong>de</strong> a variar com a temperatura<br />

e o tempo <strong>de</strong> operação. Assim, essa informação é <strong>um</strong> dos parâmetros do estimador, que é estimado<br />

online como parte do vetor <strong>de</strong> estados.<br />

96


5.4 Estimação <strong>de</strong> Atitu<strong>de</strong> Determinística<br />

Os controladores mais importantes da aeronave - os que garantem que a aeronave está seguindo<br />

<strong>um</strong>a referência angular estável - <strong>de</strong>pen<strong>de</strong>m <strong>de</strong> <strong>um</strong>a medida confiável da atitu<strong>de</strong>. Os algoritmos<br />

mais simples utilizam soluções <strong>de</strong>terminísticas, que são geralmente muito sujeitas a ruído. Esse<br />

tipo <strong>de</strong> sistema é chamado <strong>de</strong> AHRS (Attitu<strong>de</strong> and Heading Reference System).<br />

Basicamente, o problema se res<strong>um</strong>e encontrar a matriz <strong>de</strong> rotação C b m no seguinte caso:<br />

s b = C b ns n (5.31)<br />

On<strong>de</strong> s b é a medida do sensor no sistema <strong>de</strong> coor<strong>de</strong>nadas do corpo (Sistema B) e s n é a medida<br />

do sensor no sistema <strong>de</strong> coor<strong>de</strong>nadas <strong>de</strong> referência (sistema N). A matriz C b n, que leva <strong>de</strong> <strong>um</strong><br />

sistema <strong>de</strong> coor<strong>de</strong>nadas ao outro, contém a informação da orientação do sistema.<br />

Ao invés da estimativa da matriz completa (9 parâmetros), as abordagens tentam estimar os<br />

ângulos <strong>de</strong> rotação (3 parâmetros) ou <strong>um</strong> quaternion (4 parâmetros). Essas representações po<strong>de</strong>m<br />

ser facilmente convertidas entre si [67].<br />

É importante frisar que para não existir múltiplas soluções, são necessárias sempre duas ou<br />

mais medidas vetoriais diferentes, pois duas componentes da medida não po<strong>de</strong>m ser zero, ou seja,<br />

o sensor não po<strong>de</strong> ficar alinhado ao campo. A forma mais fácil <strong>de</strong> explicar é com <strong>um</strong> exemplo: no<br />

caso <strong>de</strong> <strong>um</strong> acelerômetro, se ele estiver perpendicular a gravida<strong>de</strong>, ou seja, com medidas somente<br />

no eixo z, será impossível <strong>de</strong>terminar o seu ângulo em torno <strong>de</strong>sse eixo (qualquer atitu<strong>de</strong> terá a<br />

mesma medida, ou seja, a gravida<strong>de</strong> no eixo z).<br />

5.4.1 Integração do Girômetro<br />

Talvez a forma mais tradicional <strong>de</strong> se estimar a orientação seja através da integração dos<br />

girômetros [61, 63, 68]. Como eles fornecem <strong>um</strong>a medida da velocida<strong>de</strong> angular, basta realizar a<br />

integração n<strong>um</strong>érica para se obter a nova orientação, ou seja,<br />

⎡ ⎤ ⎡ ⎤ ⎡ ⎤<br />

φ k+1 φ k ω x<br />

⎢<br />

⎣θ ⎥ k+1 ⎦ = ⎢<br />

⎣θ ⎥ k ⎦ + ∆T ⎢<br />

⎣ω y<br />

⎥<br />

⎦ (5.32)<br />

ψ k+1 ψ k ω z<br />

On<strong>de</strong> φ é o ângulo <strong>de</strong> rolagem, θ é o ângulo <strong>de</strong> arfagem, ψ é o ângulo <strong>de</strong> guinada, ω são as<br />

velocida<strong>de</strong>s angulares e ∆T é o período <strong>de</strong> amostragem.<br />

O mais interessante acontece quando a mesma operação é executada com quatérnions [9, 61,<br />

63, 68]. Utilizando a notação <strong>de</strong> [63], temos que:<br />

˙q b n = − 1 2 qb n ⊗<br />

[<br />

0<br />

ω]<br />

(5.33)<br />

97


Reescrevendo:<br />

⎡<br />

⎤<br />

0 ω x ω y ω z<br />

−ω x 0 −ω z ω y<br />

W =<br />

⎢<br />

⎣−ω y ω z 0 −ω x<br />

⎥<br />

⎦<br />

−ω z −ω y ω x 0<br />

(5.34)<br />

˙q b n = − 1 2 Wqb n (5.35)<br />

O erro mais com<strong>um</strong> é na etapa <strong>de</strong> implementação discreta <strong>de</strong>ssa equação, pois muitos utilizam<br />

a integração pelo método <strong>de</strong> Euler [1]. A forma correta é:<br />

q b n(k) = e−W∆T q b n(k−1)<br />

(5.36)<br />

⎡<br />

sen(d/2)<br />

cos(d/2) −δ x d<br />

sen(d/2)<br />

sen(d/2)<br />

e −W∆T δ<br />

=<br />

x d<br />

cos(d/2) δ z d<br />

sen(d/2)<br />

⎢δ ⎣ y d<br />

δ z<br />

sen(d/2)<br />

d<br />

−δ y<br />

sen(d/2)<br />

d<br />

sen(d/2)<br />

sen(d/2)<br />

−δ z d<br />

cos(d/2) δ x d<br />

δ y<br />

sen(d/2)<br />

d<br />

−δ x<br />

sen(d/2)<br />

d<br />

⎤<br />

sen(d/2)<br />

−δ z d<br />

sen(d/2)<br />

−δ y d<br />

⎥<br />

⎦<br />

cos(d/2)<br />

(5.37)<br />

δ i = ω i ∆T (5.38)<br />

√<br />

d = δx 2 + δy 2 + δz 2 (5.39)<br />

Mais <strong>um</strong>a vez, o principal problema <strong>de</strong>ssa abordagem é a integração do viés, e a divergência da<br />

estimativa com o tempo. Porém, se os sensores utilizados tiverem <strong>um</strong> viés suficientemente baixo,<br />

ou se a estimativa for periodicamente corrigida, essa forma mostra resultados excelentes.<br />

5.4.2 TRIAD<br />

Existem várias técnicas que visam extrair a informação <strong>de</strong> orientação a partir <strong>de</strong> medidas<br />

vetoriais e suas referências. Dentre elas, <strong>de</strong>ve-se <strong>de</strong>stacar o QUEST [69], que utiliza o método<br />

dos mínimos quadrados para encontrar o quaternion que melhor representa a rotação do sistema<br />

inercial ao corpo, e mo<strong>de</strong>los geométricos que utilizam somente as medidas e a referência <strong>de</strong> <strong>um</strong>a<br />

única medida vetorial.<br />

Uma outra técnica é o TRIAD, que utiliza as duas medidas vetoriais para estimar <strong>um</strong>a matriz<br />

<strong>de</strong> rotação C b n [1]:<br />

[<br />

] [<br />

]<br />

C b n = i b j b k b i n j n k n T<br />

(5.40a)<br />

98


i = u<br />

j = u × v<br />

|u × v|<br />

k = i × j<br />

(5.40b)<br />

(5.40c)<br />

(5.40d)<br />

On<strong>de</strong> u e v são vetores unitários referentes ao campo gravitacional g e ao campo magnético<br />

m, respectivamente. Nota-se que as componentes no sistema inercial (segunda componente) são<br />

constantes. Esse algoritmo pressupõe que os sensores só estão medindo aquele campo.<br />

Essa matriz <strong>de</strong> rotação po<strong>de</strong> ser facilmente convertida em ângulos <strong>de</strong> Euler ou em quaternions.<br />

A principal vantagem <strong>de</strong>sse algoritmo em relação ao outras abordagens é sua simplicida<strong>de</strong>, o que<br />

leva a <strong>um</strong>a solução rápida e robusta do ponto <strong>de</strong> vista computacional.<br />

O principal problema associado a esse algoritmo é que existem interferências no campo magnético,<br />

e que o acelerômetro me<strong>de</strong> não só o campo gravitacional, mas sim a força específica sobre<br />

o corpo (Equação 5.5). Isso faz com que o algoritmo forneça estimativas muito ruins em condições<br />

<strong>de</strong> aceleração e <strong>de</strong> interferência magnética.<br />

5.5 Solução <strong>de</strong> Estimação<br />

A solução <strong>de</strong> estimação <strong>de</strong> estados tenta combinar todas as informações disponíveis na melhor<br />

estimativa possível da posição e atitu<strong>de</strong> da aeronave - ou seja, se res<strong>um</strong>e a <strong>um</strong> problema <strong>de</strong> fusão<br />

sensorial. Esse problema po<strong>de</strong> até ser consi<strong>de</strong>rado clássico, porém, vários artigos recentes mostram<br />

que essa linha <strong>de</strong> pesquisa ainda está ativa.<br />

5.5.1 Tipos <strong>de</strong> solução<br />

É importante notar que existem várias formas <strong>de</strong> se montar <strong>um</strong> estimador, e cada estimador<br />

tem proprieda<strong>de</strong>s que os tornam mais interessantes para <strong>um</strong>a dada situação. A primeira escolha<br />

é o sistema <strong>de</strong> estimação <strong>de</strong> posição será associado ao sistema <strong>de</strong> estimação <strong>de</strong> atitu<strong>de</strong>. Se esses<br />

estiverem associados, <strong>de</strong>ve-se <strong>de</strong>cidir se o sistema será do tipo tightly coupled ou loosely coupled<br />

[56, 61, 68].<br />

A vantagem <strong>de</strong> sistemas <strong>de</strong> estimação <strong>de</strong> atitu<strong>de</strong> e posição in<strong>de</strong>pen<strong>de</strong>ntes são práticos - na<br />

teoria, esse tipo <strong>de</strong> sistema apresenta o pior resultado, porém, ele é muito mais fácil <strong>de</strong> sintonizar<br />

e implementar, além <strong>de</strong> ter <strong>um</strong> custo computacional menor que as outras soluções. Ele também<br />

previne que a divergência <strong>de</strong> <strong>um</strong>a estimativa afete a outra, tornando <strong>de</strong> certa forma o sistema mais<br />

robusto. Sistemas que fazem as estimativas <strong>de</strong> forma conjunta fornecem estimativas melhores, mas<br />

são <strong>de</strong> implementação e sintonia mais complexa.<br />

Os sistemas tightly coupled utilizam as medidas diretas dos satélites (pseudoranges) GPS e das<br />

centrais inerciais para fazer a estimação <strong>de</strong> posição, enquanto que os sistemas loosly coupled utilizam<br />

a estimativa <strong>de</strong> posição fornecida pelo módulo GPS como entrada. Mais <strong>um</strong>a vez, o primeiro<br />

tem resultados muito melhores, mas é <strong>de</strong> difícil implementação e sintonia. Alguns sistemas tightly<br />

99


coupled chegam a ter erros menores que 2 cm.<br />

Outra escolha que <strong>de</strong>ve ser feita é a representação angular. Nesse aspecto, duas escolhas<br />

são tipicamente utilizadas: os ângulos <strong>de</strong> Euler e os quaternions [67]. Os ângulos <strong>de</strong> Euler são<br />

mais fáceis <strong>de</strong> interpretar, e são utilizados como entrada da maioria dos controladores, porém, os<br />

quaternions apresentam várias vantagens no contexto <strong>de</strong> estimação. A primeira vantagem são que<br />

os quaternions não apresentam singularida<strong>de</strong>s, o que ocorre com ângulos <strong>de</strong> Euler. As operações<br />

com quaternions também são mais leves do ponto <strong>de</strong> vista computacional.<br />

A principal dificulda<strong>de</strong> associada a quaternions são que sua norma <strong>de</strong>ve ser unitária para que<br />

ele represente <strong>um</strong>a rotação - ou seja, o problema se torna <strong>de</strong> estimação sob restrição.<br />

A forma <strong>de</strong> solução <strong>de</strong> estimação também <strong>de</strong>ve ser escolhida cuidadosamente. Tipicamente, o<br />

Exten<strong>de</strong>d Kalman Filter (EKF, ou Filtro <strong>de</strong> Kalman Estendido) e suas variantes são as escolhas<br />

mais tradicionais na indústria aeronáutica [56]. Dentre eles, <strong>de</strong>vemos citar o Correlated Measurements<br />

Exten<strong>de</strong>d Kalman Filter (CEKF, ou Filtro <strong>de</strong> Kalman Correlato), que trata <strong>de</strong> etapas<br />

<strong>de</strong> predição e correção com medidas correlatas, o Multiplicative Exten<strong>de</strong>d Kalman Filter (MEKF)<br />

e o Generalized Multiplicative Exten<strong>de</strong>d Kalman Filter (GEKF) [70, 71], que tenta lidar com a<br />

restrição <strong>de</strong> norma unitária dos quaternions.<br />

Muitos pesquisadores também utilizam o Unscented Kalman Filter (UKF), que utiliza a transformada<br />

Unscented reduzir a incerteza gerada pelo uso <strong>de</strong> não-linearida<strong>de</strong>s [71]. Outros grupos<br />

também utilizam técnicas como filtro <strong>de</strong> partículas e Passive Complementary Filters, todos com<br />

excelentes resultados [71–74].<br />

5.5.2 O Filtro <strong>de</strong> Kalman<br />

Como a maior parte das soluções giram em torno do filtro <strong>de</strong> Kalman, logo, <strong>um</strong>a breve revisão<br />

sobre o assunto é pertinente. Uma abordagem mais <strong>de</strong>talhada sobre filtragem e estimação po<strong>de</strong> ser<br />

encontrada em [75,76], e sobre estimação aplicada a aeronáutica po<strong>de</strong> ser encontrada em [56,61].<br />

O filtro <strong>de</strong> Kalman é <strong>um</strong>a técnica <strong>de</strong> fusão sensorial que visa unir as informações fornecidas por<br />

<strong>um</strong> mo<strong>de</strong>lo (etapa <strong>de</strong> predição) as informações fornecidas pelas medidas (etapa <strong>de</strong> correção). Essa<br />

técnica fornece a estimativa ótima (ou seja, <strong>de</strong> menor variância e não polarizada) para sistemas<br />

lineares incertos. É por esse motivo que o filtro <strong>de</strong> Kalman e suas variantes continuam sendo a<br />

técnica <strong>de</strong> estimação mais encontrada na literatura. Sua principal vantagem é que ele leva em<br />

consi<strong>de</strong>ração a incerteza do mo<strong>de</strong>lo e da medida.<br />

As equações nessa seção são adaptas <strong>de</strong> [5]. O filtro ass<strong>um</strong>e que o processo é dado por:<br />

x (k) = F (k−1) x (k−1) + G (k) u (k) + w ((k))<br />

y (k) = H (k) x (k) + v (k)<br />

(5.41a)<br />

(5.41b)<br />

Os vetores x, u e y são <strong>de</strong>nominados vetor <strong>de</strong> estados, vetor <strong>de</strong> controle e vetor <strong>de</strong> medição.<br />

Os termos w e v são variáveis aleatórias <strong>de</strong>scorrelacionadas representando ruído branco <strong>de</strong> média<br />

nula com matrizes <strong>de</strong> covariância Q e R e são <strong>de</strong>nominados ruído <strong>de</strong> processo e ruído <strong>de</strong> medição,<br />

100


espectivamente.<br />

Outro parâmetro associado ao filtro <strong>de</strong> Kalman é a matriz P, que é a matriz <strong>de</strong> covariância<br />

do estado e representa a incerteza do filtro a respeito da estimativa. Como o filtro é formulado <strong>de</strong><br />

forma recursiva, é preciso fornecer <strong>um</strong>a estimativa inicial x (0) ∼ N (ˆx (0) , ˆP (0) ).<br />

O filtro po<strong>de</strong> ser divido em duas etapas, <strong>um</strong>a <strong>de</strong> predição (on<strong>de</strong> somente as informações do<br />

mo<strong>de</strong>lo são atualizadas) e <strong>um</strong>a <strong>de</strong> correção, (on<strong>de</strong> somente as medidas são utilizadas). A predição<br />

é dada por:<br />

ˆx (k|k−1) = F (k−1)ˆx (k−1) + G (k) u (k)<br />

ˆP (k|k−1) = F (k−1) ˆP(k−1) F T (k−1) + Q (k)<br />

(5.42a)<br />

(5.42b)<br />

ou seja, a estimativa <strong>de</strong> estado é atualizada <strong>de</strong> acordo com o mo<strong>de</strong>lo, e a matriz <strong>de</strong> covariância é<br />

atualizada <strong>de</strong> acordo com a incerteza <strong>de</strong> processo Q.<br />

Já a correção é feita utilizado o termo <strong>de</strong> inovação, que é a diferença entre a medida e a<br />

estimativa <strong>de</strong> estado dado pela predição, e pelo ganho <strong>de</strong> Kalman, que leva em consi<strong>de</strong>ração a<br />

incerteza da medição e do processo. Assim,<br />

K (k) = ˆP<br />

(<br />

−1<br />

(k|k−1) H T (k) H (k) ˆP(k|k−1) H T (k) (k)) + R (5.43a)<br />

(<br />

)<br />

ˆx (k) = ˆx (k|k−1) + K (k) y (k) − H (k)ˆx (k|k−1) (5.43b)<br />

) (<br />

) T<br />

ˆP (k) =<br />

(I − K (k) H (k) ˆP(k|k−1) I − K (k) H (k) + K(k) R (k) K T (k) (5.43c)<br />

Para mo<strong>de</strong>los não-lineares, a solução mais tradicional é a do Filtro <strong>de</strong> Kalman Estendido, que<br />

faz <strong>um</strong>a linearização em torno do ponto <strong>de</strong> operação para atualizar as matrizes <strong>de</strong> covariância.<br />

Assim, o mo<strong>de</strong>lo é dado por:<br />

x (k) = f(x (k−1) , u (k) ) + w (k)<br />

y (k) = h(x (k) ) + v (k)<br />

(5.44a)<br />

(5.44b)<br />

Linearizando:<br />

(<br />

)<br />

x (k) ≈ f(ˆx (k−1) , u (k) ) + F x x (k−1) − ˆx (k−1) + F u u (k) + w (k) (5.45a)<br />

)<br />

y (k) ≈ h(ˆx (k) ) + H<br />

(x (k−1) − ˆx (k−1) + v (k) (5.45b)<br />

F x = ∂f(x (k−1), u (k) )<br />

∂x (k−1)<br />

F u = ∂f(x (k−1), u (k) )<br />

∂u (k)<br />

H = ∂h(x (k))<br />

∂x (k)<br />

(5.45c)<br />

(5.45d)<br />

(5.45e)<br />

101


Dessa forma, a predição é dada por:<br />

ˆx (k|k−1) = F xˆx (k−1) + F u u (k)<br />

ˆP (k|k−1) = F x ˆP(k−1) F x T + Q (k)<br />

(5.46a)<br />

(5.46b)<br />

E a correção é dada por:<br />

K (k) = ˆP<br />

(<br />

−1<br />

(k|k−1) H T (k) H (k) ˆP(k|k−1) H T (k) (k)) + R (5.47a)<br />

(<br />

)<br />

ˆx (k) = ˆx (k|k−1) + K (k) y (k) − H (k)ˆx (k|k−1) (5.47b)<br />

) (<br />

) T<br />

ˆP (k) =<br />

(I − K (k) H (k) ˆP(k|k−1) I − K (k) H (k) + K(k) R (k) K T (k) (5.47c)<br />

5.5.3 Solução Adotada - Res<strong>um</strong>o<br />

A solução adotada levou em consi<strong>de</strong>ração todos os trabalhos anteriores do <strong>LARA</strong>, visando a<br />

reutilização <strong>de</strong> conceitos e códigos implementados quando possível [1, 2, 4, 5, 7].<br />

As soluções do <strong>LARA</strong> sempre utilizaram o Filtro <strong>de</strong> Kalman Estendido (EKF) como base, pois<br />

ele apresenta o melhor compromisso entre custo computacional e qualida<strong>de</strong> dos resultados. Como<br />

representação da orientação, os quaternions são a forma escolhida, principalmente pela ausência<br />

<strong>de</strong> singularida<strong>de</strong>s. O sistema <strong>de</strong> coor<strong>de</strong>nadas para posição e velocida<strong>de</strong> é sempre o NED, ou seja,<br />

<strong>um</strong> sistema <strong>de</strong> coor<strong>de</strong>nadas local.<br />

Dessa forma, o vetor <strong>de</strong> estados estimado é:<br />

⎡ ⎤<br />

q n<br />

b r n<br />

x =<br />

⎢<br />

⎣v n<br />

⎥<br />

⎦<br />

b f<br />

(5.48)<br />

on<strong>de</strong> qn b é quaternion <strong>de</strong> representa a rotação do sistema <strong>de</strong> coor<strong>de</strong>nadas local (NED) ao sistema<br />

<strong>de</strong> coor<strong>de</strong>nadas do corpo (body), r n são as estimativas <strong>de</strong> posição no sistema <strong>de</strong> coor<strong>de</strong>nadas local,<br />

v n são as estimativas das velocida<strong>de</strong>s, e b f são as estimativas <strong>de</strong> viés do acelerômetro (calculadas<br />

online).<br />

Nesse trabalho, duas soluções são apresentadas: o CEKF, mesmo algoritmo que utilizado<br />

em [1], e o Decoupled EKF, que foi <strong>de</strong>senvolvido para esse projeto com base em [1, 57, 58, 77, 78].<br />

A principal diferença entre os dois é como as medidas vetoriais (acelerômetro e magnetômetro)<br />

são tratadas na correção.<br />

Em ambos os casos, o primeiro passo é inicializar o módulo <strong>de</strong> calibração. A partir dos dados<br />

<strong>de</strong> posição, data e hora, esse módulo inicializa o sistema <strong>de</strong> coor<strong>de</strong>nadas local e obtém os valores<br />

102


eferenciais para a gravida<strong>de</strong> e para o campo magnético da terra. É importante frisar que esse<br />

sistema <strong>de</strong> coor<strong>de</strong>nadas local não passa <strong>de</strong> <strong>um</strong> plano tangente a Terra no ponto <strong>de</strong> inicialização,<br />

ou seja, a curvatura da Terra não é levada em consi<strong>de</strong>ração.<br />

A inicialização também estima o valor da pressão atmosférica <strong>de</strong> referência (P 0 da Equação<br />

5.14) e o viés do girômetros.<br />

Como estimativa inicial <strong>de</strong> atitu<strong>de</strong>, o algoritmo TRIAD (Equação 5.40) é executado. Como se<br />

ass<strong>um</strong>e que a aeronave está na origem do sistema <strong>de</strong> coor<strong>de</strong>nadas durante a inicialização, e que<br />

ela está parada, a posição e velocida<strong>de</strong> iniciais são zero.<br />

Após essa etapa, o sistema adota a estrutura típica dos Filtros <strong>de</strong> Kalman: predição e correção.<br />

A predição é feita utilizando os girômetros para a atitu<strong>de</strong>, da aceleração linear do corpo para<br />

velocida<strong>de</strong>, e da velocida<strong>de</strong> para a posição.<br />

Já para a correção, o CEKF utiliza o TRIAD como medida <strong>de</strong> orientação. O Decoupled EKF<br />

utiliza as medidas vetoriais puras, <strong>de</strong>ixando que o próprio filtro estime o quaternion <strong>de</strong> rotação,<br />

como medida <strong>de</strong> orientação. O filtro faz a correção <strong>de</strong> forma sequencial, utilizando principalmente<br />

o GPS para a correção <strong>de</strong> posição e velocida<strong>de</strong>.<br />

5.5.4 Inicialização<br />

A inicialização do sistema <strong>de</strong> estimação consiste em duas etapas: obtenção <strong>de</strong> dados ass<strong>um</strong>idos<br />

constantes durante a operação do sistema, e a estimativa <strong>de</strong> estado inicial.<br />

Os dados ass<strong>um</strong>idos constantes são:<br />

• Sistema <strong>de</strong> coor<strong>de</strong>nadas local<br />

• Campo magnético e gravitacional local<br />

• Pressão atmosférica na origem do sistema <strong>de</strong> coor<strong>de</strong>nadas<br />

Vale lembrar que para longos períodos <strong>de</strong> operação (vários dias) e para gran<strong>de</strong>s <strong>de</strong>slocamentos<br />

(centenas <strong>de</strong> quilômetros), o campo magnético e gravitacional local não são constantes e <strong>de</strong>vem<br />

ser recalculados periodicamente. A pressão atmosférica po<strong>de</strong> mudar em questão <strong>de</strong> horas, prejudicando<br />

a estimativa <strong>de</strong> altitu<strong>de</strong> fornecida pelo altímetro. Porém, <strong>um</strong>a limitação da plataforma é<br />

sua autonomia, que garante a constância <strong>de</strong>sses dados durante o funcionamento da aeronave.<br />

Já a estimativa <strong>de</strong> estado inicial consiste <strong>de</strong>:<br />

• Posição e velocida<strong>de</strong> no sistema <strong>de</strong> coor<strong>de</strong>nadas local<br />

• Orientação<br />

• Viés dos girômetros<br />

103


A pressão atmosférica e o viés dos girômetros são obtidos ass<strong>um</strong>indo que a aeronave é inicializada<br />

parada. Assim, por <strong>um</strong> período <strong>de</strong> T segundos, amostras da pressão e velocida<strong>de</strong> angular são<br />

coletadas. O viés e a pressão inicial são dadas pela média aritmética <strong>de</strong>ssas amostras. Esses dados<br />

são passados para o módulo <strong>de</strong> calibração, que automaticamente corrige essas medidas quando<br />

aplicam os mo<strong>de</strong>los sensoriais para repassar dados com sentido físico para o estimador.<br />

Os campos também são <strong>de</strong> fácil inicialização - o cálculo se res<strong>um</strong>e a aplicar a posição inicial<br />

(fornecida pelo GPS sem qualquer forma <strong>de</strong> processamento após convergência da estimativa) e a<br />

data/hora aos mo<strong>de</strong>los das Seções 5.2.7 e 5.2.8.<br />

Um diagrama <strong>de</strong> todas as funcionalida<strong>de</strong>s do módulo <strong>de</strong> calibração, responsável por fornecer<br />

esses dados e estimativas, está na Figura 5.2.<br />

Mo<strong>de</strong>lo<br />

Terrestre<br />

Mo<strong>de</strong>lo<br />

Magnético<br />

Mo<strong>de</strong>lo<br />

Gravitacional<br />

GPS<br />

WGS84 WMM2010 EGM96<br />

Girômetro<br />

Acelerômetro<br />

Altímetro<br />

Módulo <strong>de</strong> Calibração<br />

Campo Magnético Local<br />

Campo Gravitacional Local<br />

Coor<strong>de</strong>nadas ECEF da Origem<br />

Matriz <strong>de</strong> Rotação ECEF/Local<br />

Atitu<strong>de</strong> Inicial<br />

Posição/Velocida<strong>de</strong> Inicial<br />

Pressão Referência<br />

Viés dos Girômetros<br />

Figura 5.2: Inicialização do sistema <strong>de</strong> estimação<br />

5.5.4.1 Sistema <strong>de</strong> coor<strong>de</strong>nadas local<br />

O ser h<strong>um</strong>ano consegue navegar <strong>de</strong> forma muito intuitiva em <strong>um</strong> espaço aparentemente plano<br />

- as distâncias são facilmente estimadas, e o caminho a se seguir fica muito claro. Infelizmente,<br />

o globo é melhor representado por <strong>um</strong>a elipse - ou seja, a menor distância entre dois pontos é<br />

<strong>um</strong>a curva. Para piorar, a gravida<strong>de</strong>, o norte e o sul (e o sistema <strong>de</strong> referência <strong>de</strong> navegação da<br />

aeronave) variam <strong>de</strong> acordo com a posição no globo.<br />

A forma <strong>de</strong> se resolver esse problema foi a utilização <strong>de</strong> <strong>um</strong> sistema <strong>de</strong> coor<strong>de</strong>nadas local<br />

formado pela Norte (North), pelo Leste (East) e pela gravida<strong>de</strong> (Down), ou seja, o sistema NED.<br />

Esse sistema se res<strong>um</strong>e a traçar <strong>um</strong> plano tangente ao globo terrestre no ponto <strong>de</strong> inicialização,<br />

utilizando o ponto tangencial como origem do sistema <strong>de</strong> coor<strong>de</strong>nadas. A principal vantagem<br />

<strong>de</strong>ssa representação é que para curtas distâncias (menos que alg<strong>um</strong>as centenas <strong>de</strong> quilômetros),<br />

o erro <strong>de</strong>ssa representação não é significativo. Como o alcance da aeronave é limitado a alguns<br />

quilômetros, essa representação facilita muito o <strong>de</strong>senvolvimento do sistema <strong>de</strong> estimação e os<br />

algoritmos <strong>de</strong> navegação. Uma boa representação do sistema NED está na Figura 2.2.<br />

Esse sistema também facilita a integração <strong>de</strong> sensores como o altímetro e os sonares, pois suas<br />

104


medidas estão diretamente relacionadas ao sistema <strong>de</strong> coor<strong>de</strong>nadas local.<br />

A principal dificulda<strong>de</strong> é então converter os dados fornecidos no sistema <strong>de</strong> coor<strong>de</strong>nadas global<br />

do GPS (latitu<strong>de</strong>, longitu<strong>de</strong> e altitu<strong>de</strong>) em dados no sistema <strong>de</strong> coor<strong>de</strong>nadas local.<br />

A conversão dos dados fornecidos pelo GPS (latitu<strong>de</strong> ϕ, longitu<strong>de</strong> λ e altitu<strong>de</strong> h - sistema<br />

LLA) para o sistema <strong>de</strong> coor<strong>de</strong>nadas local é feita em duas etapas. Primeiramente, os dados são<br />

convertidos para o sistema ECEF (Earth Centered, Earth Fixed), cuja origem é o centro da terra.<br />

Depois, esses dados são subtraídos da origem do sistema <strong>de</strong> coor<strong>de</strong>nadas local, e finalmente, os<br />

eixos são corrigidos para que os mesmos coincidam com os eixos do NED.<br />

Dessa forma, a inicialização dos sistema <strong>de</strong> coor<strong>de</strong>nadas se res<strong>um</strong>e a calcular as coor<strong>de</strong>nadas<br />

da origem no sistema ECEF e a matriz <strong>de</strong> rotação do ECEF para o NED local.<br />

Assim, <strong>de</strong> LLA para ECEF temos:<br />

N(φ) =<br />

a<br />

√<br />

1 − e 2 sin 2 ϕ<br />

(5.49a)<br />

X ECEF = (N(φ) + h) cos ϕ cos λ<br />

Y ECEF = (N(φ) + h) cos ϕ sin λ<br />

Z ECEF = (N(φ)(1 − e 2 ) + h) sin ϕ<br />

(5.49b)<br />

(5.49c)<br />

(5.49d)<br />

on<strong>de</strong> a e e 2 são parâmetros do WGS84, especificados na Tabela 5.1, e X, Y e Z são as coor<strong>de</strong>nadas<br />

no ECEF.<br />

Do ECEF para o NED, dados as coor<strong>de</strong>nadas da origem do sistema local no ECEF X r , Y r e<br />

Z r , e os dados a serem convertidos no ECEF X, Y e Z, as coor<strong>de</strong>nadas no sistema local X NED ,<br />

Y NED e Z NED po<strong>de</strong>m ser calculados por:<br />

⎡ ⎤ ⎡<br />

⎤<br />

X NED X r − X ECEF<br />

⎢<br />

⎣Y NED<br />

⎥<br />

⎦ = R ⎢<br />

⎣ Y r − Y ECEF<br />

⎥<br />

⎦ (5.50)<br />

Z NED Z r − Z ECEF<br />

A matriz R po<strong>de</strong> ser calculada dadas as coor<strong>de</strong>nadas da origem no LLA φ r e λ r :<br />

⎡<br />

⎤<br />

− sin ϕ r cos λ r − sin ϕ r sin λ r cos ϕ r<br />

R = ⎢<br />

⎣ − sin λ r cos λ r 0 ⎥<br />

⎦ (5.51)<br />

− cos ϕ r cos λ r − cos ϕ r sin λ r − sin ϕ r<br />

Em sua, o processo <strong>de</strong> inicialização do sistema <strong>de</strong> coor<strong>de</strong>nadas local ass<strong>um</strong>e que a aeronave<br />

começa na origem do sistema, e calcula os valores <strong>de</strong> R, X r , Y r e Z r para que todo novo dado do<br />

GPS seja convertido para ECEF, e <strong>de</strong>pois para o NED, para que esses dados sejam fornecidos ao<br />

filtro no sistema <strong>de</strong> coor<strong>de</strong>nadas local.<br />

5.5.4.2 Estimativa <strong>de</strong> estado inicial<br />

A estimativa do estado inicial e sua covariância são outros parâmetros importantes para a inicialização<br />

do sistema <strong>de</strong> estimação. Quanto melhor essa estimativa, mais rápido será a convergência<br />

do filtro, e melhores serão os resultados <strong>de</strong> estimação.<br />

105


Conforme visto na Seção 5.5.4.1, a inicialização do sistema utiliza o ponto <strong>de</strong> partida como<br />

origem do sistema <strong>de</strong> coor<strong>de</strong>nadas local, ou seja, a estimativa <strong>de</strong> posição inicial (x, y, z) é (0, 0, 0).<br />

O mesmo vale para a estimativa <strong>de</strong> velocida<strong>de</strong> - parte-se da hipótese que o sistema está parado,<br />

ou seja, (v x , v y , v z ) = (0, 0, 0)<br />

A estimativa <strong>de</strong> orientação é fornecida utilizando o TRIAD, <strong>de</strong>scrito na Seção 5.4.2, utilizando<br />

as medidas dos acelerômetros e magnetômetros e as referências dos campos magnéticos e gravitacionais<br />

fornecidas pelos mo<strong>de</strong>los WMM2010 e EGM96. A matriz <strong>de</strong> rotação obtida é transformada<br />

em <strong>um</strong> quaternion, fornecendo (q 0 , q 1 , q 3 , q 4 ).<br />

5.5.5 CEKF<br />

O Filtro <strong>de</strong> Kalman Correlato (CEKF) é a implementação padrão do <strong>LARA</strong> [1, 4, 5]. Sua<br />

implementação original foi feita para o projeto Caracarah [58], com base no trabalho <strong>de</strong> Bó [1], e<br />

na bibliografia clássica sobre o assunto [75, 76].<br />

Esse filtro e sua implementação estão <strong>de</strong>scritas em <strong>de</strong>talhe em [5]. Esse trabalho só irá citar<br />

as principais equações e suas implicações, <strong>de</strong>ixando a análise para o Decoupled EKF <strong>de</strong>senvolvido<br />

para esse projeto.<br />

O vetores <strong>de</strong> estado estimados, entrada e medição são dados por:<br />

⎡ ⎤<br />

q n<br />

b r n<br />

x =<br />

⎢<br />

⎣v n<br />

⎥<br />

⎦<br />

b f<br />

13x1<br />

; u =<br />

[ ]<br />

ω<br />

b<br />

ib<br />

f b<br />

6x1<br />

⎡ ⎤<br />

q n<br />

b v n<br />

; y =<br />

⎢<br />

⎣ r n<br />

⎥<br />

⎦<br />

e pseudo<br />

11x1<br />

(5.52)<br />

on<strong>de</strong> q b n é o quaternion que representa a orientação, r n é o vetor posição, v n é o vetor velocida<strong>de</strong>,<br />

e b f é o viés do acelerômetro.<br />

O mo<strong>de</strong>lo <strong>de</strong> processo para predição discreto é dado por:<br />

q b n(k) = e−W (k)∆T q b n(k−1)<br />

⎡<br />

sen(d/2)<br />

cos(d/2) −δ x d<br />

sen(d/2)<br />

sen(d/2)<br />

δ<br />

=<br />

x d<br />

cos(d/2) δ z d<br />

sen(d/2)<br />

⎢δ ⎣ y d<br />

δ z<br />

sen(d/2)<br />

d<br />

−δ y<br />

sen(d/2)<br />

d<br />

sen(d/2)<br />

sen(d/2)<br />

−δ z d<br />

cos(d/2) δ x d<br />

δ y<br />

sen(d/2)<br />

d<br />

−δ x<br />

sen(d/2)<br />

d<br />

v n (k) = v n (k−1) + (C b n(k−1) f b (k) + g n )∆T<br />

r n (k) = r n (k−1) + v n (k−1)∆T + (C b n(k−1) f b (k) + g n ) ∆T 2<br />

⎤<br />

sen(d/2)<br />

−δ z d<br />

sen(d/2)<br />

−δ y d<br />

qn(k−1)<br />

b ⎥<br />

⎦<br />

cos(d/2)<br />

2<br />

(5.53a)<br />

(5.53b)<br />

(5.53c)<br />

(5.53d)<br />

106


⎡<br />

⎤<br />

0 ω x ω y ω z<br />

−ω x 0 −ω z ω y<br />

W =<br />

⎢<br />

⎣−ω y ω z 0 −ω x<br />

⎥<br />

⎦<br />

−ω z −ω y ω x 0<br />

δ i = ω i ∆T<br />

√<br />

d = δx 2 + δy 2 + δz<br />

2<br />

(5.54a)<br />

(5.54b)<br />

(5.54c)<br />

Ou seja, o quaternion é propagado utilizando as medidas do girômetro.<br />

A estimativa <strong>de</strong><br />

orientação e a informação da gravida<strong>de</strong> é utilizada para calcular a aceleração linear do corpo e<br />

integrada para realizar a nova estimativa <strong>de</strong> velocida<strong>de</strong>. As estimativas <strong>de</strong> velocida<strong>de</strong> e aceleração<br />

linear são utilizadas para encontrar a nova estimativa <strong>de</strong> posição.<br />

O mo<strong>de</strong>lo <strong>de</strong> medição é dado por matrizes H lineares que relacionam as medidas obtidas com<br />

o estado. Nesse caso, as medidas utilizadas são o quaternion fornecido pelo TRIAD, a posição do<br />

GPS, da velocida<strong>de</strong> do GPS, e eventuais medidas fornecidas pelos sonares e altímetro.<br />

Também <strong>de</strong>ve-se <strong>de</strong>stacar que, na prática, a implementação <strong>de</strong>sse filtro <strong>de</strong> Kalman é dado <strong>de</strong><br />

forma sequencial, ou seja, <strong>um</strong>a etapa <strong>de</strong> correção é feita para cada sensor com <strong>um</strong>a matrix H<br />

diferente. Isso permite com que a etapa <strong>de</strong> correção seja realizada sem que todos os dados estejam<br />

disponíveis, permitindo a utilização <strong>de</strong> sensores com frequências <strong>de</strong> amostragem diferentes.<br />

Como exemplo, a medição para os dados vindos do TRIAD é dada por:<br />

y (k+1)T RIAD = [ q 0 q 1 q 2 q 3 ] T (5.55)<br />

Logo, a matriz <strong>de</strong> matriz <strong>de</strong> medição h(x (k) ) é:<br />

⎡<br />

⎤<br />

⎢<br />

⎥<br />

h(x (k) ) = ⎣ I 4 0 4x3 0 4x3 0 4x3 ⎦ x (k) (5.56)<br />

Para o GPS, temos que:<br />

y (k+1)GP S = [ r x r y r z v x v y v z ]<br />

T<br />

(5.57)<br />

⎡<br />

h(x (k) ) =<br />

⎢<br />

⎣<br />

⎤<br />

0 3x4 I 3 0 3x3 0 3x3<br />

x (k) (5.58)<br />

⎥<br />

0 3x4 0 3x3 I 3 0 3x3 ⎦<br />

Esse mesmo procedimento é seguido para dados dos sonares, do altímetro, etc.<br />

Para propagar a covariância, a linearização em torno do ponto <strong>de</strong> operação é feita calculando<br />

H = ∂h(x (k))<br />

∂x<br />

e utilizando o resultado nas equação tradicionais do filtro <strong>de</strong> Kalman. Para todos<br />

(k)<br />

cuja função <strong>de</strong> medição é dada por h(x (k) ) = Hx (k) , a <strong>de</strong>rivada é a própria matriz H.<br />

107


A escolha das matrizes R <strong>de</strong> covariância das medidas é feita <strong>de</strong> acordo com a característica<br />

dos sensores. Um caso especial é para o algoritmo TRIAD, on<strong>de</strong> a covariância po<strong>de</strong> ser calculada<br />

com base na transformada Unscented a partir da incerteza das medidas do acelerômetro e<br />

magnetômetro. Outra forma é sobrestimar o valor <strong>de</strong> R. O implementado código visa propagar a<br />

incerteza utilizando <strong>um</strong>a linearização n<strong>um</strong>érica em torno <strong>de</strong> ponto <strong>de</strong> operação [5].<br />

Um <strong>de</strong>talhe importante é a restrição: a norma do quaternion <strong>de</strong>ve ser igual a 1 para representar<br />

<strong>um</strong>a rotação, ou seja, esse norma <strong>de</strong>ve ser mantida para garantir a estabilida<strong>de</strong> do algoritmo <strong>de</strong><br />

localização. Essa restrição é incorporada diretamente no filtro utilizando <strong>um</strong>a pseudo-medida:<br />

∣<br />

e pseudo(k) = 1 − ∣ ∣∣ (5.59)<br />

∣q b n(k)<br />

A principal diferença <strong>de</strong>ssa implementação é levar em conta que as medidas do acelerômetro são<br />

utilizadas na etapa <strong>de</strong> correção e predição, o que leva a <strong>um</strong>a implementação correlata. Na prática,<br />

isso significa utilizar <strong>um</strong> conjunto <strong>de</strong> equações <strong>um</strong> pouco diferente da abordagem tradicional.<br />

A seguir, estão as equações e o algoritmo da implementação do CEKF, adaptadas <strong>de</strong> [5], e<br />

verificadas <strong>de</strong> acordo com [75, 76].<br />

⎡<br />

−<br />

−<br />

f(x (k−1) , u (k) ) =<br />

⎢<br />

⎣<br />

Mo<strong>de</strong>lo não-linear<br />

cos(d/2)q 0 − δ x<br />

sen(d/2)<br />

d<br />

q 1 − δ y<br />

sen(d/2)<br />

d<br />

q 2 − δ z<br />

sen(d/2)<br />

d<br />

q 3<br />

δ x<br />

sen(d/2)<br />

d<br />

q 0 + cos(d/2)q 1 + δ z<br />

sen(d/2)<br />

d<br />

q 2 − δ y<br />

sen(d/2)<br />

d<br />

q 3<br />

δ y<br />

sen(d/2)<br />

d<br />

q 0 + δ z<br />

sen(d/2)<br />

d<br />

q 1 + cos(d/2)q 2 − δ x<br />

sen(d/2)<br />

d<br />

q 3<br />

δ z<br />

sen(d/2)<br />

d<br />

q 0 − δ y<br />

sen(d/2)<br />

d<br />

q 1 + δ x<br />

sen(d/2)<br />

d<br />

q 2 + cos(d/2)q 3<br />

v x + (c x + g x )∆T<br />

v y + (c x + g y )∆T<br />

v z + (c z + g z )∆T<br />

r x + v x ∆T + (c x + g x ) ∆T 2<br />

2<br />

r y + v y ∆T + (c y + g y ) ∆T 2<br />

2<br />

r z + v z ∆T + (c z + g z ) ∆T 2<br />

2<br />

b fx<br />

b fy<br />

b fz<br />

⎤<br />

⎥<br />

⎦<br />

(5.60)<br />

[<br />

h(x (k) ) =<br />

∣<br />

q 0 q 1 q 2 q 3 v x v y v z r x r y r z 1 − ∣<br />

∣qn<br />

b ∣<br />

∣<br />

∣<br />

] T<br />

(5.61)<br />

c x = (q 2 0 + q 2 1 − q 2 2 − q 2 3)f x + (2q 1 q 2 − 2q 0 q 3 )f y + (2q 1 q 3 + 2q 0 q 2 )f z<br />

c y = (2q 1 q 2 + 2q 0 q 3 )f x + (q 2 0 − q 2 1 + q 2 2 − q 2 3)f y + (2q 2 q 3 − 2q 0 q 1 )f z<br />

c z = (2q 1 q 3 − 2q 0 q 2 )f x + (2q 2 q 3 + 2q 0 q 1 )f y + (q 2 0 − q 2 1 − q 2 2 + q 2 3)f z<br />

(5.62a)<br />

(5.62b)<br />

(5.62c)<br />

108


Linearização do mo<strong>de</strong>lo<br />

(<br />

)<br />

x (k) ≈ f(ˆx (k−1) , u (k) ) + F x x (k−1) − ˆx (k−1) + F u u (k) + w (k) (5.63a)<br />

)<br />

y (k) ≈ h(ˆx (k) ) + H<br />

(x (k−1) − ˆx (k−1) + v (k) (5.63b)<br />

⎡<br />

F x =<br />

⎢<br />

⎣<br />

⎤<br />

I 4 0 4x3 0 4x3 0 4x3<br />

∂v n<br />

∂v n<br />

∂qn<br />

b I 3 0 3x3 ∂b f<br />

∂r n<br />

∂r n<br />

∂qn<br />

b ∆T I 3 I 3 ∂b f<br />

0 3x3 0 3x3 0 3x3 0 3x3<br />

⎥<br />

0 3x3 0 3x3 0 3x3 I 3<br />

⎦<br />

(5.64)<br />

⎡<br />

F u =<br />

⎢<br />

⎣<br />

⎤<br />

∂qn<br />

b<br />

∂ω b 0 4x3<br />

ib<br />

∂v n<br />

0 3x3<br />

∂f b<br />

∂r n<br />

0 3x3 ∂f b<br />

⎥<br />

0 6x3 0 6x3 ⎦<br />

(5.65)<br />

⎡<br />

H =<br />

⎢<br />

⎣<br />

⎤<br />

I 4 0 4x3 0 4x3<br />

0 3x4 I 3 0 3x3<br />

0 3x4 0 3x3 I 3<br />

∂e pseudo<br />

⎥<br />

∂qn<br />

b 0 1x3 0 1x3 ⎦<br />

(5.66)<br />

109


∂q b n<br />

∂ω b ib<br />

=<br />

⎡<br />

⎤<br />

α x q 0 + β x Σ q0 − γq 1 α y q 0 + β y Σ q0 − γq 2 α z q 0 + β z Σ q0 − γq 3<br />

α x q 1 + β x Σ q1 + γq 0 α y q 1 + β y Σ q1 − γq 3 α z q 1 + β z Σ q1 + γq 2<br />

⎢<br />

⎣α x q 2 + β x Σ q2 + γq 3 α y q 2 + β y Σ q2 + γq 0 α z q 2 + β z Σ q2 − γq 1<br />

⎥<br />

⎦<br />

α x q 3 + β x Σ q3 − γq 2 α y q 3 + β y Σ q3 + γq 1 α z q 3 + β z Σ q3 + γq 0<br />

(5.67a)<br />

∂v n<br />

∂q b n<br />

= 2Φ∆T<br />

∂v n<br />

∂b f<br />

= −Θ∆T<br />

∂v n<br />

= Θ∆T<br />

∂f b<br />

(5.67b)<br />

∂r n<br />

∂q b n<br />

∂e pseudo<br />

∂q b n<br />

= 2Φ ∆T 2<br />

2<br />

[<br />

= − q 0<br />

||qn||<br />

b<br />

∂r n<br />

= −Θ ∆T 2<br />

∂b f 2<br />

− q 1<br />

||q b n||<br />

− q 2<br />

||q b n||<br />

∂r n<br />

2<br />

∂f b = Θ∆T 2<br />

]<br />

− q 3<br />

||qn||<br />

b<br />

(5.67c)<br />

(5.67d)<br />

α i = − sen(d/2) δ i ∆T<br />

2d<br />

(5.68a)<br />

β i = [− d 2cos(d/2) + sen(d/2)]<br />

d 3 δ i ∆T (5.68b)<br />

γ = sen(d/2) ∆T<br />

d<br />

(5.68c)<br />

Σ q0 = ( δ x q 1 + δ y q 2 + δ z q 3 ) (5.68d)<br />

Σ q1 = (−δ x q 0 + δ y q 3 − δ z q 2 )<br />

Σ q2 = (−δ x q 3 − δ y q 0 + δ z q 1 )<br />

(5.68e)<br />

(5.68f)<br />

Σ q3 = ( δ x q 2 − δ y q 1 − δ z q 0 ) (5.68g)<br />

(5.68h)<br />

⎡<br />

⎤<br />

(q 0 f x − q 3 f y + q 2 f z ) (q 1 f x + q 2 f y + q 3 f z ) (−q 2 f x + q 1 f y + q 0 f z ) (−q 3 f x − q 0 f y + q 1 f z )<br />

Φ = ⎢<br />

⎣(q 3 f x + q 0 f y − q 1 f z ) (q 2 f x − q 1 f y − q 0 f z ) ( q 1 f x + q 2 f y + q 3 f z ) ( q 0 f x − q 3 f y + q 2 f z ) ⎥<br />

⎦<br />

(q 2 f x − q 1 f y + q 0 f z ) (q 3 f x + q 0 f y − q 1 f z ) (−q 0 f x + q 3 f y − q 2 f z ) ( q 1 f x + q 2 f y + q 3 f z )<br />

⎡<br />

(q0 2 + q2 1 − q2 2 − q2 3 ) (2q ⎤<br />

1q 2 − 2q 0 q 3 ) (2q 1 q 3 + 2q 0 q 2 )<br />

Θ = ⎢<br />

⎣ (2q 1 q 2 + 2q 0 q 3 ) (q0 2 − q2 1 + q2 2 − q2 3 ) (2q 2q 3 − 2q 0 q 1 ) ⎥<br />

⎦<br />

(2q 1 q 3 − 2q 0 q 2 ) (2q 2 q 3 + 2q 0 q 1 ) (q0 2 − q2 1 − q2 2 + q2 3 )<br />

(5.68i)<br />

(5.68j)<br />

110


Algoritmo 1 Fusão Sensorial GPS/IMU utilizando o CEKF<br />

Inicialização: ˆx (0) , P (0)<br />

Parâmetros ajustáveis: Q (k) , R (k)<br />

Laço Principal<br />

Se há dados não processados , então<br />

Se dados provenientes da IMU , então<br />

Etapa <strong>de</strong> Predição :<br />

˜Q (k) = F u η u F u T + Q (k)<br />

ˆx (k|k−1) ← f(ˆx (k−1) , u (k) )<br />

ˆP (k|k−1) ← F x ˆP(k−1) F x T + ˜Q (k)<br />

Etapa <strong>de</strong> Correção (atitu<strong>de</strong>) :<br />

˜R (k) = G u η u G T u + G m η m G T m + R (k)<br />

˜S (k) = F u η u G u<br />

(<br />

K (k) = ˆP(k|k−1) H T + ˜S<br />

)<br />

(k)<br />

(H ˆP (k|k−1) H T + H˜S (k) + ˜S T (k) HT + ˜R<br />

) −1<br />

(k)<br />

y [1:4]<br />

(k)<br />

= g(u (k) , m (k) )<br />

)<br />

ˆx (k) ← ˆx (k|k−1) + K (k)<br />

(y (k) − h(ˆx (k|k−1) )<br />

(<br />

ˆP (k) ← I − K (k) H)<br />

ˆP(k|k−1)<br />

Se dados provenientes do GPS , então<br />

Etapa <strong>de</strong> Correção (posição e velocida<strong>de</strong>) :<br />

K (k) = ˆP (k|k−1) H T ( H ˆP (k|k−1) H T + ˜R (k)<br />

) −1<br />

y [5:10]<br />

(k)<br />

= y GP S<br />

)<br />

ˆx (k) ← ˆx (k|k−1) + K (k)<br />

(y (k) − h(ˆx (k|k−1) )<br />

(<br />

ˆP (k) ← I − K (k) H)<br />

ˆP(k|k−1)<br />

Etapa <strong>de</strong> Correção (pseudo-medição) :<br />

K (k) = ˆP (k|k−1) H T ( H ˆP (k|k−1) H T + ˜R (k)<br />

) −1<br />

y [11] ∣∣ ∣∣ (k) = 1 − ∣∣ ∣∣q b ∣∣ ∣∣<br />

n<br />

)<br />

ˆx (k) ← ˆx (k|k−1) + K (k)<br />

(y (k) − h(ˆx (k|k−1) )<br />

(<br />

ˆP (k) ← I − K (k) H)<br />

ˆP(k|k−1)<br />

5.5.6 Decoupled EKF<br />

Durante as simulações, <strong>de</strong>tectou-se <strong>um</strong> problema com o implementação utilizada do CEKF:<br />

em situações on<strong>de</strong> o acelerômetro está sujeito a forças diferentes da gravida<strong>de</strong> por longos períodos<br />

<strong>de</strong> tempo, a estimativa <strong>de</strong> orientação ficava ruim, errando em mais <strong>de</strong> 20 graus a estimativa.<br />

Esse tipo <strong>de</strong> situação é com<strong>um</strong> em situações <strong>de</strong> pouso, <strong>de</strong>colagem e curvas, que são os momentos<br />

que o sistema <strong>de</strong> controle mais <strong>de</strong>pen<strong>de</strong> da estimativa <strong>de</strong> orientação. O <strong>de</strong>sempenho do filtro<br />

também não era muito bom em situações on<strong>de</strong> o acelerômetro está sujeito a muito ruído, que foi<br />

observado na prática em alguns voos iniciais. Dessa forma, optou-se por <strong>de</strong>senvolver <strong>um</strong>a nova<br />

forma <strong>de</strong> incorporar as medidas <strong>de</strong> orientação provindas do magnetômetro e acelerômetro <strong>de</strong> forma<br />

in<strong>de</strong>pen<strong>de</strong>nte, permitindo assim modular a matriz <strong>de</strong> covariância da medição R (k) <strong>de</strong> acordo com<br />

111


a situação. A i<strong>de</strong>ia era <strong>de</strong>scartar o acelerômetro quando a medida <strong>de</strong>le não era coerente com a<br />

medida do campo gravitacional.<br />

O mo<strong>de</strong>lo <strong>de</strong> predição do Decoupled EKF é idêntico ao do CEKF, <strong>de</strong>scrito pela Equação 5.53.<br />

Na etapa <strong>de</strong> correção, foi utilizada a mesma abordagem <strong>de</strong> utilizar correções sequenciais. A<br />

diferença na etapa <strong>de</strong> correção é não utilizar o TRIAD para estimar a atitu<strong>de</strong>, e sim as medidas<br />

provindas diretamente dos sensores. Os outros passos (correção por GPS, sonar e altímetro) são<br />

idênticos. Essa abordagem é baseada em [77, 79].<br />

Voltando a Equação 5.31, reproduzida aqui por conveniência:<br />

s b = C b ns n (5.69)<br />

temos que o dado vindo do sensor no sistema do corpo s b é o dado no sistema inercial rotacionado<br />

pela orientação do corpo C b ns n . Ass<strong>um</strong>indo que o sensor só me<strong>de</strong> o campo no sistema inercial c n ,<br />

s b = C b nc n (5.70)<br />

Basta então representar a matriz <strong>de</strong> rotação em função dos estados, ou seja, em função <strong>de</strong> q b n.<br />

Utilizando a notação <strong>de</strong> [1, 5, 63], temos que:<br />

⎡<br />

q0 2<br />

C b n(qn) b + q2 1 − q2 2 − ⎤<br />

q2 3 2q 1 q 2 + 2q 0 q 3 2q 1 q 3 − 2q 0 q 2<br />

= ⎢<br />

⎣ 2q 1 q 2 − 2q 0 q 3 q0 2 − q2 1 + q2 2 − q2 3 2q 2 q 3 + 2q 0 q 1<br />

⎥<br />

⎦ (5.71)<br />

2q 1 q 3 + 2q 0 q 2 2q 2 q 3 − 2q 0 q 1 q0 2 − q2 1 − q2 2 + q2 3<br />

A fim <strong>de</strong> dar mais robustez ao sistema, os dados dos sensores e do campo <strong>de</strong> referência são<br />

normalizado para ter norma unitária. Dessa forma, o termo <strong>de</strong> inovação v é dado por:<br />

s b<br />

c n<br />

v =<br />

||s b || − Cb n<br />

||c n ||<br />

e a matriz <strong>de</strong> medição H dada por:<br />

H = ∂h(x (k))<br />

= ∂ (<br />

C b<br />

∂x (k) ∂x<br />

n(qn) b c )<br />

n<br />

(k) ||c n ||<br />

(5.72)<br />

(5.73)<br />

Essa abordagem foi utilizada para as medidas do acelerômetro e magnetômetro, utilizando os<br />

valores <strong>de</strong> c i obtidos dos mo<strong>de</strong>los EGM96 e WMM2010.<br />

Esse filtro também utiliza a modulação da matriz <strong>de</strong> covariância da medida R <strong>de</strong> acordo com o<br />

valor da medida. Como sabe-se que o sensor <strong>de</strong>ve medir somente o campo, utiliza-se a modulação<br />

do valor <strong>de</strong> acordo da seguinte forma:<br />

on<strong>de</strong> λ é <strong>um</strong> valor <strong>de</strong> ajuste <strong>de</strong> acordo com o sensor.<br />

R (k) = exp(λ ||( ||s b || − ||c n || )||) (5.74)<br />

Dessa forma, a implementação do Decoupled EKF é idêntica ao do CEKF, salvo a correção da<br />

atitu<strong>de</strong>. Isso permitiu que boa parte do código fosse reutilizado.<br />

Os experimentos iniciais mostraram que essa solução mostrava <strong>um</strong>a variância maior em regime<br />

permanente que o CEKF, porém, ela não mostrou os problemas associados aos pontos <strong>de</strong> operação<br />

com aceleração linear diferente <strong>de</strong> zero, como exibido pelo CEKF com TRIAD.<br />

112


Capítulo 6<br />

I<strong>de</strong>ntificação<br />

“Be sure you positively i<strong>de</strong>ntify your target before<br />

you pull the trigger.” –Tom Flynn<br />

6.1 Introdução<br />

No mundo, existem diversos processos dinâmicos interessantes ao homem e que <strong>de</strong>man<strong>de</strong>m<br />

certo conhecimento sobre suas características, como ocorre sua evolução no tempo, como seus<br />

parâmetros mudam, <strong>de</strong>ntre outros. Esse conhecimento po<strong>de</strong> ser <strong>de</strong>mandado pela necessida<strong>de</strong> <strong>de</strong><br />

observação do processo, como por exemplo, observação da evolução da trajetória <strong>de</strong> <strong>um</strong> planeta,<br />

ou pela necessida<strong>de</strong> <strong>de</strong> controle <strong>de</strong>sse, como o controle <strong>de</strong> torque e velocida<strong>de</strong> <strong>de</strong> <strong>um</strong> motor [80,81].<br />

O conceito <strong>de</strong> i<strong>de</strong>ntificação <strong>de</strong> sistemas dinâmicos se insere nesse aspecto. A princípio, não se<br />

conhece o mo<strong>de</strong>lo <strong>de</strong> <strong>de</strong>terminado processo e a i<strong>de</strong>ntificação é utilizada para obtê-lo. O gran<strong>de</strong><br />

<strong>de</strong>safio <strong>de</strong> se fazer <strong>um</strong>a boa i<strong>de</strong>ntificação é a obtenção <strong>de</strong> <strong>um</strong> mo<strong>de</strong>lo que se assemelhe ao máximo<br />

do mo<strong>de</strong>lo real. Depen<strong>de</strong>ndo da aplicação, é possível a aceitação <strong>de</strong> <strong>um</strong> mo<strong>de</strong>lo que não explique<br />

completamente o processo, ou seja, contendo erros, pois a obtenção <strong>de</strong> mo<strong>de</strong>los mais simples é<br />

mais rápida e fácil.<br />

Os processos po<strong>de</strong>m ser lineares ou não lineares. Processos lineares po<strong>de</strong>m ser escritos na forma<br />

<strong>de</strong> espaço <strong>de</strong> estados ou em funções <strong>de</strong> transferência, on<strong>de</strong> a taxa <strong>de</strong> variação dos estados <strong>de</strong>pen<strong>de</strong><br />

linearmente dos estados passados e das entradas. Em processos não lineares essa <strong>de</strong>pendência<br />

não é linear, po<strong>de</strong>ndo as taxas <strong>de</strong> variação serem <strong>de</strong>pen<strong>de</strong>ntes da multiplicação <strong>de</strong> estados ou <strong>de</strong><br />

funções não lineares. A obtenção <strong>de</strong> mo<strong>de</strong>los não lineares é mais complicada, <strong>de</strong>vido à dificulda<strong>de</strong><br />

<strong>de</strong> nossas ferramentas i<strong>de</strong>ntificarem certos parâmetros, pois possuem forte acoplamento <strong>de</strong>vido à<br />

não linearida<strong>de</strong>.<br />

Muitas vezes para contornar a dificulda<strong>de</strong> <strong>de</strong> se fazer <strong>um</strong>a i<strong>de</strong>ntificação <strong>de</strong> <strong>um</strong> mo<strong>de</strong>lo não<br />

linear, lineariza-se o processo em pequenas faixas <strong>de</strong> operação em torno <strong>de</strong> <strong>um</strong> ponto específico,<br />

chamado ponto <strong>de</strong> operação, pois em pequenas faixas <strong>de</strong> operação o processo po<strong>de</strong> ser aproximado<br />

como linear. Características do processo e a margem <strong>de</strong> erro são fatores que o projetista usa em<br />

consi<strong>de</strong>ração para calcular a faixa <strong>de</strong> operação. Quanto maior o erro aceitável, maior será a faixa<br />

<strong>de</strong> operação. O VANT possui mo<strong>de</strong>lo não linear, e trabalharemos com ambos os mo<strong>de</strong>los.<br />

113


Certos cuidados são requisitados ao se fazer a i<strong>de</strong>ntificação <strong>de</strong> <strong>um</strong> sistema. É necessário<br />

selecionar <strong>de</strong>vidamente o mo<strong>de</strong>lo e o método <strong>de</strong> i<strong>de</strong>ntificação para evitar que a i<strong>de</strong>ntificação seja<br />

ten<strong>de</strong>nciosa ou polarizada. Segundo [81] po<strong>de</strong>mos <strong>de</strong>finir polarização ou bias como:<br />

b = E[ˆθ − θ] (6.1)<br />

on<strong>de</strong> θ é o vetor <strong>de</strong> parâmetros do mo<strong>de</strong>lo e o circunflexo caracteriza os parâmetros i<strong>de</strong>ntificados.<br />

Brevemente po<strong>de</strong>mos afirmar que correlação entre amostras corrobora a polarização, e será<br />

preciso aproveitar certas características <strong>de</strong> alg<strong>um</strong>as ferramentas para minimizar a polarização do<br />

mo<strong>de</strong>lo i<strong>de</strong>ntificado.<br />

O principal objetivo <strong>de</strong> nosso projeto é realizar o voo autônomo do VANT, e para realizar o<br />

seu controle é necessário o mo<strong>de</strong>lo dinâmico da aeronave, contento informações sobre a evolução<br />

no tempo <strong>de</strong> variáveis <strong>de</strong> posição, velocida<strong>de</strong> e aceleração lineares e angulares. Possuindo essas<br />

informações, é possível condicionar o mo<strong>de</strong>lo com controladores, assunto do Capítulo subsequente,<br />

e assim manter a aeronave em <strong>um</strong> <strong>de</strong>terminado estado, ou mais especificamente, em <strong>de</strong>terminada<br />

rota.<br />

Este capítulo será dividido da seguinte forma: as formas <strong>de</strong> i<strong>de</strong>ntificação serão classificadas na<br />

Seção 6.2, os tipos <strong>de</strong> mo<strong>de</strong>los dinâmicos possíveis <strong>de</strong> serem utilizados em <strong>um</strong>a i<strong>de</strong>ntificação <strong>de</strong><br />

<strong>um</strong>a aeronave na Seção 6.3, as ferramentas para a i<strong>de</strong>ntificação serão introduzidas na Seção 6.4,<br />

os mo<strong>de</strong>los implementados no VANT para sua i<strong>de</strong>ntificação mostrados em 6.5 e por fim na Seção<br />

6.6 foram <strong>de</strong>talhados os procedimentos utilizados para experimentação.<br />

6.2 Classificação<br />

É muito importante classificarmos os formas <strong>de</strong> i<strong>de</strong>ntificação <strong>de</strong> sistemas para que sejam atribuídas<br />

suas características, vantagens e <strong>de</strong>svantagens, justificando ou não seu uso no projeto.<br />

Enquanto à forma do mo<strong>de</strong>lo i<strong>de</strong>ntificado, po<strong>de</strong>mos listar os métodos <strong>de</strong> i<strong>de</strong>ntificação paramétricos<br />

e os não paramétricos. Os primeiros retornam mo<strong>de</strong>los matemáticos, que relacionam as<br />

entradas e saídas por meio <strong>de</strong> parâmetros a serem i<strong>de</strong>ntificados. Utilizando a notação <strong>de</strong> [81] ,<br />

<strong>um</strong>a função f com x e y entradas e saídas respectivamente, po<strong>de</strong>m ser escritas por y = f(x, θ)<br />

aon<strong>de</strong> θ é o vetor <strong>de</strong> parâmetros, que po<strong>de</strong> ser obtido através <strong>de</strong> <strong>um</strong>a série <strong>de</strong> medidas <strong>de</strong> x e y.<br />

Em contraponto métodos não paramétricos não retornam mo<strong>de</strong>los matemáticos e sim expressões<br />

gráficas caracterizando a dinâmica do sistema. Neste trabalho só temos interesse em mo<strong>de</strong>los<br />

paramétricos, pois através <strong>de</strong>les é possível fazer <strong>um</strong> controle mais refinado do processo <strong>de</strong>vido<br />

à presença relações matemáticas, como <strong>um</strong>a função <strong>de</strong> transferência ou equações <strong>de</strong> espaço <strong>de</strong><br />

estados, que permitem a implementação <strong>de</strong> técnicas clássicas <strong>de</strong> controle.<br />

Existe também a classificação relativa ao tratamento do ruído. Métodos <strong>de</strong>terminísticos não<br />

dão nenh<strong>um</strong> tratamento especial ao ruído e por consequência possuem <strong>um</strong>a baixa imunida<strong>de</strong>. Para<br />

<strong>um</strong>a i<strong>de</strong>ntificação razoável utilizando métodos <strong>de</strong>terminísticos em dados ruidosos, é necessário <strong>um</strong>a<br />

alta relação sinal ruído, como prova [81] no capítulo sobre métodos <strong>de</strong>terminísticos. Já os métodos<br />

114


estocásticos, levam em consi<strong>de</strong>ração o ruído presente nas medições, tratando-os diminuindo a<br />

<strong>de</strong>pendência da relação sinal ruído para <strong>um</strong>a boa i<strong>de</strong>ntificação.<br />

O segundo será preferido neste trabalho, visto que as medições feitas, mesmo que tratadas<br />

com estimador apresentam ruído significativo para atrapalhar <strong>um</strong>a i<strong>de</strong>ntificação feita por métodos<br />

<strong>de</strong>terminísticos.<br />

Enquanto ao processamento dos dados para obtenção dos parâmetros. No método chamado<br />

i<strong>de</strong>ntificação por batelada, todos os dados são i<strong>de</strong>ntificados <strong>de</strong> <strong>um</strong>a vez, gerando <strong>um</strong> conjunto <strong>de</strong><br />

parâmetros ao final do processo. No método <strong>de</strong> i<strong>de</strong>ntificação nomeado como recursivo, os dados<br />

são apresentados individualmente, e os parâmetros são calculados passo a passo, modificando-se<br />

a cada iteração. A gran<strong>de</strong> vantagem <strong>de</strong>ste método é a possibilida<strong>de</strong> <strong>de</strong> a i<strong>de</strong>ntificação ocorrer<br />

enquanto o processo se <strong>de</strong>senvolve, além <strong>de</strong> exigir menos esforço computacional. No caso <strong>de</strong>ste<br />

trabalho não há vantagens em se trabalhar com i<strong>de</strong>ntificação recursiva a menos da utilização do<br />

Filtro <strong>de</strong> Kalman, pois para que o controle seja feito, é necessário <strong>um</strong>a i<strong>de</strong>ntificação robusta já<br />

feita. E como esta é feita com todos os dados em mãos, com a aeronave em solo, não possuímos<br />

limitações <strong>de</strong> processamento que justifiquem este tipo <strong>de</strong> i<strong>de</strong>ntificação.<br />

O algoritmo Filtro <strong>de</strong> Kalman é o único algoritmo <strong>de</strong> i<strong>de</strong>ntificação recursiva utilizado. A<br />

justificação <strong>de</strong> sua utilização é sua robustez ao ruído, e a possibilida<strong>de</strong> <strong>de</strong> fazer <strong>um</strong>a i<strong>de</strong>ntificação<br />

<strong>de</strong> estados e parâmetros simultaneamente [81].<br />

É possível ainda classificar a i<strong>de</strong>ntificação com base no momento em que ela ocorre em relação<br />

ao projeto. Caso ela ocorra durante a execução do processo, é chamada <strong>de</strong> i<strong>de</strong>ntificação online.<br />

Caso ela seja feita ao final do processo, é <strong>de</strong>signada offline. No VANT fazemos <strong>um</strong>a i<strong>de</strong>ntificação<br />

offline por motivos justificados no parágrafo anterior. Neste aspecto, muitas confusões acontecem<br />

entre a <strong>de</strong>nominação online e tempo real. Uma tarefa em tempo real, é realizada <strong>de</strong> forma<br />

online, neste caso a i<strong>de</strong>ntificação, que exige sua execução em <strong>um</strong> <strong>de</strong>terminado intervalo <strong>de</strong> tempo<br />

especificado pelo usuário.<br />

Res<strong>um</strong>indo, os métodos utilizados para a i<strong>de</strong>ntificação feita serão paramétrios, estocásticos e<br />

offline. Além <strong>de</strong>ssas características, serão feitos testes com mo<strong>de</strong>los <strong>de</strong> i<strong>de</strong>ntificação recursivos e<br />

em batelada.<br />

6.3 Mo<strong>de</strong>los dinâmicos utilizados para a i<strong>de</strong>ntificação<br />

Previamente à i<strong>de</strong>ntificação, é necessário especificar o mo<strong>de</strong>lo (representação matemática) a<br />

ser utilizado. Existem inúmeros tipos e formas <strong>de</strong> mo<strong>de</strong>los, aqui serão apresentados os mo<strong>de</strong>los<br />

viáveis <strong>de</strong> implementação no projeto.<br />

6.3.1 Representações em Tempo discreto<br />

Des<strong>de</strong> muito tempo, as representações em espaço contínuo geralmente são as primeiras apresentadas<br />

a alunos <strong>de</strong> engenharia em cursos <strong>de</strong> Controle e Automação <strong>de</strong>vido à naturalida<strong>de</strong> <strong>de</strong> se<br />

115


pensar em sinais contínuos ou analógicos, comuns na natureza. E com essa visão, ten<strong>de</strong>-se a achar<br />

mais natural representações em tempo contínuo.<br />

Porém, com a gran<strong>de</strong> presença <strong>de</strong> microprocessadores digitais no mercado, aliado à facilida<strong>de</strong><br />

trazida por eles, as representações em tempo discreto estão sendo mais utilizadas.<br />

No caso <strong>de</strong> nosso projeto, como visto no capítulo 3 e 4 referentes ao hardware e sofware<br />

respectivamente, nossa arquitetura <strong>de</strong> processamento <strong>de</strong> sinais é digital. Ou seja, visto que os<br />

sinais <strong>de</strong> medição e a atuação são digitais, é interessante que a representação seja em tempo<br />

discreto, assim como o controle. Dessa forma, evitaremos problemas com conversões <strong>de</strong> <strong>um</strong> tipo<br />

<strong>de</strong> representação para outro e tornamos nossa representação mais eficiente.<br />

6.3.1.1 Características <strong>de</strong> resposta ao impulso<br />

Um mo<strong>de</strong>lo po<strong>de</strong> ser caracterizado <strong>de</strong> acordo com a sua resposta ao impulso, e com essa<br />

caracterização po<strong>de</strong>mos analisar seu comportamento e estabilida<strong>de</strong>.<br />

Supomos que <strong>um</strong> mo<strong>de</strong>lo discreto seja excitado com <strong>um</strong> impulso em k = 0. Caso a resposta seja<br />

cessada em <strong>um</strong> tempo finito o mo<strong>de</strong>lo é <strong>de</strong>nominado FIR (Finite Impulse Response, ou Resposta<br />

Finita ao Impulso). Caso sempre houver <strong>um</strong> valor não nulo como resposta <strong>de</strong>sse mo<strong>de</strong>lo a <strong>um</strong><br />

impulso esse mo<strong>de</strong>lo tem <strong>de</strong>nominação IIR (Infinite Impulse Response, ou Resposta Infinita ao<br />

Impulso).<br />

Um mo<strong>de</strong>lo FIR não possui <strong>de</strong>nominador em sua função <strong>de</strong> transferência, ou seja, não possui<br />

realimentação em sua malha, o que causa a resposta infinita ao impulso. Esse tipo <strong>de</strong> mo<strong>de</strong>lo<br />

é estável, justamente por isso. Caso seja feita <strong>um</strong>a i<strong>de</strong>ntificação <strong>de</strong> <strong>um</strong> processo, que tenha<br />

realimentação, com <strong>um</strong> mo<strong>de</strong>lo FIR, será necessário que o mo<strong>de</strong>lo tenha or<strong>de</strong>m elevada para<br />

suprir a falta do <strong>de</strong>nominador. Se a or<strong>de</strong>m <strong>de</strong>ste mo<strong>de</strong>lo ten<strong>de</strong>r ao infinito sua resposta ten<strong>de</strong>rá<br />

a resposta do processo.<br />

Por outro lado, utilizando <strong>um</strong> mo<strong>de</strong>lo IIR para i<strong>de</strong>ntificação do processo anteriormente citado,<br />

será necessário menos parâmetros para <strong>de</strong>screvê-lo, porém sob o risco <strong>de</strong> se construir <strong>um</strong> mo<strong>de</strong>lo<br />

instável.<br />

6.3.1.2 Mo<strong>de</strong>lo ARX<br />

[81]:<br />

Inicialmente apresentamos o mo<strong>de</strong>lo mais geral, transcrevendo os mo<strong>de</strong>los apresentados em<br />

A(q)y(k) = B(q) C(q)<br />

u(k) + ν(k) (6.2)<br />

F (q) D(q)<br />

on<strong>de</strong> q apresenta o operador atraso e seu coeficiente n, na forma q −n significa quantos instantes<br />

<strong>de</strong> tempo o atraso foi dado e ν(k) é o ruído branco no instante k. Os coeficientes A, B, C e D são<br />

escritos como:<br />

116


A(q) = 1 − a 1 q −1 − ... − a ny q −ny (6.3)<br />

B(q) = b 1 q −1 − ... − b nu q −nu<br />

C(q) = 1 − c 1 q −1 − ... − c nν q −nν<br />

D(q) = 1 − d 1 q −1 − ... − d nd q −n d<br />

Partindo <strong>de</strong>ste mo<strong>de</strong>lo mais complexo, introduzimos o mo<strong>de</strong>lo ARX, abreviação <strong>de</strong> autoregressive<br />

with exogenous inputs ou em português “auto regressivo com variável exógena”. Antes <strong>de</strong><br />

comentar sobre o mo<strong>de</strong>lo, <strong>de</strong>screveremos antes matematicamente:<br />

A(q)y(k) = B(q)u(k) + ν(k) (6.4)<br />

Em relação a Equação 6.2 temos as componentes C(q) = D(q) = 1. O mo<strong>de</strong>lo <strong>de</strong>scrito pela<br />

Equação 6.4 representa o mo<strong>de</strong>lo ARX da forma FIR, pois não há funções do tipo atraso nos<br />

<strong>de</strong>nominadores das componentes u(k) e ν(k). Porém é mais prático <strong>de</strong>screver o mo<strong>de</strong>lo isolando<br />

a saída y(k), para facilida<strong>de</strong> <strong>de</strong> assimilação e controle do processo.<br />

y(k) = B(q)<br />

A(q) u(k) + 1 ν(k) (6.5)<br />

A(q)<br />

Assim, a Equação 6.5 isola a componente y(k). Ao se fazer esse procedimento, o resultado foi<br />

<strong>um</strong> mo<strong>de</strong>lo IIR, <strong>de</strong>vido à realimentação <strong>de</strong> estados <strong>de</strong>vido ao polinômio A(q) no <strong>de</strong>nominador à<br />

esquerda da igualda<strong>de</strong>.<br />

O mo<strong>de</strong>lo é auto regressivo, AR, justamente <strong>de</strong>vido à realimentação IIR causada por A(q). A<br />

variável exógena é referente à variável <strong>de</strong> entrada u(k).<br />

Enquanto ao ruído, na saída existem agora <strong>um</strong> ruído da forma ν(k)/A(q). Devido ao polinômio<br />

A(q) o ruído na saída não é mais branco, e é chamado <strong>de</strong> auto regressivo <strong>de</strong>vido à realimentação<br />

dada pelo polinômio no <strong>de</strong>nominador.<br />

6.3.1.3 Mo<strong>de</strong>lo ARMAX<br />

Muito similar em relação ao mo<strong>de</strong>lo ARX. A sigla ARMAX significa autoregressive moving<br />

average with exogenous inputs ou em português, “auto regressivo com média móvel e variável <strong>de</strong><br />

entrada exógena”. Utilizando o mo<strong>de</strong>lo completo dado pela Equação 6.2, tornando-se D(q) = 1,<br />

teremos nosso mo<strong>de</strong>lo ARMAX.<br />

Po<strong>de</strong>-se <strong>de</strong>screver a equação característica do mo<strong>de</strong>lo ARMAX já em sua representação IIR:<br />

y(k) = B(q) C(q)<br />

u(k) + ν(k) (6.6)<br />

A(q) A(q)<br />

117


Pela Equação 6.6 é possível perceber que a diferença entre o mo<strong>de</strong>lo ARX e o ARMAX é<br />

justamente a presença do polinômio C(q) que torna o ruído, que <strong>de</strong>vido à A(q) já é auto regressivo,<br />

média móvel. Então <strong>de</strong>nominamos o filtro C(q)<br />

A(q)<br />

<strong>um</strong> filtro ARMA, auto regressivo com média móvel.<br />

Assim como o mo<strong>de</strong>lo ARX, o mo<strong>de</strong>lo ARMAX também não apresenta ruído branco, visto que<br />

ele é filtrado, tornando-se “colorido”.<br />

6.3.1.4 Mo<strong>de</strong>lo OE<br />

Esse mo<strong>de</strong>lo apresenta maiores diferenças com os anteriores. Sua sigla significa Output Error<br />

ou “erro na saída”. Ele possui esse nome porque ao contrário dos mo<strong>de</strong>los ARX e ARMAX, o<br />

ruído é representado diretamente na saída sem filtragem. Po<strong>de</strong>mos <strong>de</strong>screvê-lo com a equação na<br />

forma IIR:<br />

y(k) = B(q) u(k) + ν(k) (6.7)<br />

F (q)<br />

6.3.2 Mo<strong>de</strong>lo linear versus mo<strong>de</strong>lo não linear<br />

Visto a necessida<strong>de</strong> <strong>de</strong> caracterizar o processo do VANT, nos <strong>de</strong>paramos com dois tipos <strong>de</strong><br />

mo<strong>de</strong>los a serem utilizados. O mo<strong>de</strong>lo linear po<strong>de</strong> ser escrito na forma <strong>de</strong> espaço <strong>de</strong> estados, on<strong>de</strong><br />

as saídas só <strong>de</strong>pen<strong>de</strong>m <strong>de</strong> combinações lineares das entradas e saídas em momentos passados. Em<br />

mo<strong>de</strong>los não lineares essa <strong>de</strong>pendência não é linear, po<strong>de</strong>ndo haver multiplicação entre saídas,<br />

entradas ou até estados, assim como funções não lineares.<br />

No caso <strong>de</strong> <strong>um</strong>a aeronave <strong>de</strong> asa fixa, referente a esse trabalho, sabemos claramente que se<br />

caracteriza <strong>um</strong> processo não linear. Porém, é possível ainda <strong>de</strong>screver o processo na forma linear,<br />

com seu <strong>de</strong>vido ônus <strong>de</strong> precisão.<br />

A vantagem em se <strong>de</strong>screver o processo como linear é a facilida<strong>de</strong> <strong>de</strong> se i<strong>de</strong>ntificá-lo. Como há<br />

menos relações entre as variáveis, as ferramentas para obtenção <strong>de</strong> parâmetros tem comportamento<br />

mais bem condicionado, evitando divergências. Assim como a i<strong>de</strong>ntificação, o controle <strong>de</strong> mo<strong>de</strong>los<br />

lineares é mais fácil <strong>de</strong> fazer, além <strong>de</strong> existirem técnicas consagradas como controle no espaço <strong>de</strong><br />

estados e controlador PID. A <strong>de</strong>svantagem é não se conseguir representar <strong>um</strong> processo fielmente,<br />

visto que <strong>um</strong> processo não linear está sendo <strong>de</strong>scrito como linear.<br />

Já representar <strong>um</strong> processo da maneira não linear (caso ele seja não linear) possui a vantagem<br />

<strong>de</strong> se conseguir <strong>de</strong>screvê-lo mais fielmente à realida<strong>de</strong>. Porém, a i<strong>de</strong>ntificação <strong>de</strong>sse processo<br />

torna-se mais difícil <strong>de</strong>vido à forte <strong>de</strong>pendência dos parâmetros às variáveis, que são <strong>de</strong>pen<strong>de</strong>ntes<br />

<strong>de</strong> funções não lineares contribuindo para <strong>um</strong>a gran<strong>de</strong> possibilida<strong>de</strong> <strong>de</strong> divergência das ferramentas<br />

utilizadas para i<strong>de</strong>ntificação.<br />

118


6.3.3 Caixa Branca<br />

Sobre o conhecimento e estruturação do mo<strong>de</strong>lo, po<strong>de</strong>mos citar três formas a serem escolhidos<br />

para o projeto. O mo<strong>de</strong>lo caixa branca é o mo<strong>de</strong>lo <strong>um</strong> mo<strong>de</strong>lo clássico <strong>de</strong> i<strong>de</strong>ntificação, no qual<br />

se conhece o processo com relativa clareza. As equações dos estados são montadas <strong>de</strong> acordo com<br />

as leis físicas que governam o processo e todos os parâmetros possuem significado físico. Tais<br />

parâmetros por sua vez, são obtidos através <strong>de</strong> formulações matemáticas <strong>de</strong> acordo com a física<br />

do processo.<br />

Este tipo <strong>de</strong> mo<strong>de</strong>lo é muito antigo, pois era o único meio <strong>de</strong> se obter os parâmetros <strong>de</strong> <strong>um</strong><br />

mo<strong>de</strong>lo físico. A gran<strong>de</strong> vantagem em <strong>de</strong>screver <strong>um</strong> processo por caixa branca é a presença <strong>de</strong><br />

variáveis com significado físico, o que facilita a verificação <strong>de</strong> erros, pois é esperado que essas variáveis<br />

tenham certos valores <strong>de</strong> acordo com a física do processo. A <strong>de</strong>svantagem é a necessida<strong>de</strong><br />

<strong>de</strong> se possuir <strong>um</strong> conhecimento muito gran<strong>de</strong> do processo para <strong>de</strong>screvê-lo e calcular seus parâmetros<br />

matematicamente. Além disso, sempre existem eventos em que o mo<strong>de</strong>lo não <strong>de</strong>screve, como<br />

alg<strong>um</strong> tipo <strong>de</strong> atrito ou <strong>de</strong>sgaste <strong>de</strong> <strong>um</strong>a peça com o tempo, e com isso haverá discrepâncias entre<br />

a saída real e a saída do mo<strong>de</strong>lo.<br />

Para o projeto em questão, <strong>um</strong>a i<strong>de</strong>ntificação em caixa branca é inviável. Por mais que<br />

tenhamos o mo<strong>de</strong>lo do VANT em espaço <strong>de</strong> estados, mostrado na Seção 6.5.5 <strong>de</strong>ste Capítulo,<br />

o cálculo <strong>de</strong> todas as suas variáveis seria inviável dados nossos instr<strong>um</strong>entos. Seria necessário<br />

instr<strong>um</strong>entos <strong>de</strong> maior precisão como balanças e túneis <strong>de</strong> vento, para calcular corretamente<br />

momentos lineares, angulares e coeficientes aerodinâmicos.<br />

6.3.4 Caixa Cinza<br />

O mo<strong>de</strong>lo tipo caixa cinza é muito semelhante com o mo<strong>de</strong>lo caixa branca. Ele se assemelha<br />

no fato <strong>de</strong> as equações do mo<strong>de</strong>lo serem escritas <strong>de</strong> acordo com a física do processo, <strong>de</strong> maneira<br />

que todos os parâmetros possuem significado físico. Porém os parâmetros são obtidos através <strong>de</strong><br />

ferramentas como o método dos Mínimos quadrados no caso linear, citado na Seção 6.4.1 ou o<br />

Filtro <strong>de</strong> Kalman, citado na Seção 6.4.2, por exemplo, junto <strong>de</strong> <strong>um</strong> conjunto <strong>de</strong> medições feitas<br />

do processo.<br />

A vantagem <strong>de</strong> se utilizar esse método é mesma do método caixa branca, a presença <strong>de</strong> variáveis<br />

com significado físico. Porém esse método é mais interessante, pois os parâmetros são obtidos por<br />

ferramentas computacionais, e não por cálculos matemáticos. A <strong>de</strong>svantagem <strong>de</strong>ste mo<strong>de</strong>lo é a<br />

necessida<strong>de</strong> <strong>de</strong> conhecimento do processo para <strong>de</strong>screvê-lo e confiabilida<strong>de</strong> nas medições feitas.<br />

Caso elas não sejam confiáveis, a i<strong>de</strong>ntificação não será feita corretamente.<br />

Este método será utilizado nesse trabalho, pois se tem conhecimento do mo<strong>de</strong>lo mas não<br />

possuímos instr<strong>um</strong>entos suficientes para obter os parâmetros, que serão obtidos com as ferramentas<br />

citadas na Seção 6.4. Os mo<strong>de</strong>los utilizados nas Seções 6.5.5 e 6.5.4 são do tipo caixa cinza.<br />

119


6.3.5 Caixa Preta<br />

Contrabalanceando os mo<strong>de</strong>los citados anteriormente, o mo<strong>de</strong>lo caixa preta não exige muito<br />

conhecimento do processo para sua estruturação. Neste tipo <strong>de</strong> mo<strong>de</strong>lagem os parâmetros não<br />

possuem significado físico e as equações não são <strong>de</strong>rivadas das leis físicas que governam o processo.<br />

Porém é preciso <strong>um</strong> conhecimento básico do mo<strong>de</strong>lo para escolha <strong>de</strong> sua estrutura, pois ela <strong>de</strong>ve<br />

ser o mais parecido possível com o mo<strong>de</strong>lo físico, <strong>de</strong> forma que o mo<strong>de</strong>lo caixa preta consiga<br />

representar bem a dinâmica do processo.<br />

Para i<strong>de</strong>ntificação dos parâmetros <strong>de</strong>ste mo<strong>de</strong>lo po<strong>de</strong>-se utilizar as ferramentas citadas na<br />

Seção 6.4.<br />

A não necessida<strong>de</strong> <strong>de</strong> completo conhecimento do mo<strong>de</strong>lo físico do processo é <strong>um</strong>a das vantagens<br />

do mo<strong>de</strong>lo caixa preta. Porém a <strong>de</strong>svantagem é a precisão <strong>de</strong> sua representação em relação aos<br />

mo<strong>de</strong>los do tipo caixa preta e caixa cinza.<br />

Os mo<strong>de</strong>los lineares utilizados na Seção 6.5.3 se encaixam na caracterização caixa preta.<br />

6.4 Ferramentas<br />

Para que a i<strong>de</strong>ntificação <strong>de</strong> sistemas seja feita, é necessário introduzir alg<strong>um</strong>as ferramentas<br />

que serão utilizadas para a obtenção dos mo<strong>de</strong>los e parâmetros do UAV.<br />

6.4.1 Mínimos Quadrados<br />

O método dos Mínimos Quadrados, ou abreviadamente MQ, também chamado <strong>de</strong> Least Squares<br />

em inglês, é <strong>um</strong> método muito famoso para obtenção <strong>de</strong> parâmetros <strong>de</strong> <strong>um</strong>a mo<strong>de</strong>lo pré<strong>de</strong>terminado<br />

que se baseia na minimização dos erros médios quadráticos das diferenças entre os<br />

valores estimados e o valores medidos.<br />

Nesta Seção serão reproduzidas as equação do Capítulo 5 [81], para fundamentação teórica do<br />

método MQ por batelada.<br />

Para aplicação dos métodos <strong>de</strong> Mínimos Quadrados, é necessário classificar dois casos em<br />

relação ao número <strong>de</strong> equações e o número <strong>de</strong> incógnitas.<br />

6.4.1.1 Caso criticamente <strong>de</strong>terminado<br />

Neste caso o número <strong>de</strong> equações e incógnitas será o mesmo. Em termos práticos, o número <strong>de</strong><br />

medições terá o mesmo número <strong>de</strong> parâmetros a serem <strong>de</strong>terminados. En<strong>um</strong>erando as medições,<br />

temos:<br />

120


y 1 = f(x 1 , θ) (6.8)<br />

y 2 = f(x 2 , θ)<br />

. = .<br />

y N = f(x N , θ)<br />

sendo N o número <strong>de</strong> medições e θ o vetor <strong>de</strong> parâmetros a serem <strong>de</strong>terminados. Determinando<br />

as dimensões <strong>de</strong> θ como [N x 1], <strong>um</strong> vetor coluna, e <strong>de</strong>finindo y e X como sendo <strong>um</strong> conjunto das<br />

medições das saídas (variável <strong>de</strong>pen<strong>de</strong>nte) em forma <strong>de</strong> vetor coluna e <strong>um</strong> conjunto <strong>de</strong> medições<br />

das entradas (variável in<strong>de</strong>pen<strong>de</strong>nte) em forma <strong>de</strong> vetor linha respectivamente, po<strong>de</strong>mos escrever:<br />

y = Xθ (6.9)<br />

Então po<strong>de</strong>mos obter <strong>um</strong>a única solução para o vetor <strong>de</strong> parâmetros da forma:<br />

θ = X −1 y (6.10)<br />

A gran<strong>de</strong> <strong>de</strong>svantagem <strong>de</strong> obter <strong>um</strong> número <strong>de</strong> medições igual ao número <strong>de</strong> parâmetros é a<br />

gran<strong>de</strong> <strong>de</strong>pendência <strong>de</strong>ssas medições para a obtenção do vetor θ. Por exemplo, caso alg<strong>um</strong>a <strong>de</strong>ssas<br />

medições for <strong>um</strong>a medição feita com altos índices <strong>de</strong> ruído que esteja fora da curva esperada,<br />

conhecida pela expressão outlier, irá influenciar <strong>de</strong> forma negativa na obtenção dos parâmetros,<br />

ten<strong>de</strong>ndo a i<strong>de</strong>ntificação a valores equivocados.<br />

Para resolver esse problema, se obtém <strong>um</strong> número <strong>de</strong> amostras maior que o número <strong>de</strong> parâmetros<br />

e se aplica o Método dos Mínimos Quadrados como será visto na próxima Seção.<br />

6.4.1.2 Caso sobre<strong>de</strong>terminado<br />

Para contornar o problema <strong>de</strong> gran<strong>de</strong> <strong>de</strong>pendência da valida<strong>de</strong> <strong>de</strong> todos os dados, apresentamos<br />

o Método dos Mínimos Quadrados, que é utilizado para a i<strong>de</strong>ntificação em casos on<strong>de</strong> o número<br />

<strong>de</strong> amostras é maior que o número <strong>de</strong> parâmetros. Com isso veremos que a presença <strong>de</strong> outlier<br />

não será tão tra<strong>um</strong>ático como no caso anterior e outras proprieda<strong>de</strong>s interessantes surgirão.<br />

Aqui será apresentado <strong>um</strong> <strong>de</strong>senvolvimento simples das equações dos MQ, pois o objetivo<br />

<strong>de</strong>ssa Seção é somente apresentar as equações e dar <strong>um</strong>a breve <strong>de</strong>scrição sobre o método e suas<br />

características.<br />

Como ponto <strong>de</strong> partida, sabemos que a Equação 6.9 ainda sim po<strong>de</strong> ser utilizada para o cálculo<br />

da saída, porém a matriz X não po<strong>de</strong> ser invertida por não ser quadrada. Então se multiplica<br />

121


ambos os lados por X T para termos:<br />

X T y = X T Xθ (6.11)<br />

Multipicando os dois lados por X T X, obteremos a equação principal do método dos MQ<br />

clássico:<br />

θ = [X T X] −1 X T y (6.12)<br />

obtendo <strong>de</strong>ssa forma os parâmetros θ. A matriz [X T X] −1 X T é conhecida como matriz pseudoinversa<br />

A, em alusão à matriz X que <strong>de</strong>veria ser invertida para o cálculo <strong>de</strong> θ, mas como não é<br />

possível fazê-lo por não ser quadrada, utiliza-se esse “truque”.<br />

Obtido os parâmetros do mo<strong>de</strong>lo, po<strong>de</strong>mos calcular o valor das saídas com os parâmetros<br />

i<strong>de</strong>ntificados pelo MQ e as entradas:<br />

y = Xˆθ + ξ (6.13)<br />

O circunflexo significa que a matriz <strong>de</strong> parâmetros utilizada foi i<strong>de</strong>ntificada, e ξ é o resíduo<br />

e representa o que o mo<strong>de</strong>lo não consegue explicar em relação ao processo real, pela equação a<br />

seguir:<br />

ξ = y − ŷ (6.14)<br />

Vale observar a diferença entre ruído e resíduo, muitas vezes confundidos no campo <strong>de</strong> i<strong>de</strong>ntificação.<br />

O ruído, ao contrário do resíduo, não é relativo a falhas do mo<strong>de</strong>lo i<strong>de</strong>ntificado, e sim<br />

“<strong>de</strong>vido a erros na medição ou não linearida<strong>de</strong>s do processo”, [81].<br />

É possível ainda provar que este método minimiza a soma dos erros quadráticos, dando origem<br />

ao seu nome.<br />

6.4.1.3 Proprieda<strong>de</strong>s<br />

O estimador <strong>de</strong> Mínimos quadrados possui proprieda<strong>de</strong>s muito interessantes para utilização<br />

no projeto do VANT. Este método apresenta robustez ao ruído, semelhante aos comprovados para<br />

funções correlação. Classifica-se então como <strong>um</strong> método estocástico, <strong>de</strong>vido à esse tratamento<br />

especial ao ruído o que será muito útil à nossa utilização, pois como dito acima, nossas medidas<br />

apresentarão ruído que <strong>de</strong>verá ser especialmente tratado na i<strong>de</strong>ntificação.<br />

Quanto à ortogonalida<strong>de</strong>, po<strong>de</strong>mos afirmar que o MQ gera valores <strong>de</strong> y e ξ ortogonais. Isso<br />

significa que ao se <strong>de</strong>screver a saída estimada com os regressores (lista <strong>de</strong> variáveis a serem multiplicadas<br />

pelos parâmetros) com os vetor <strong>de</strong> regressores estimados como eixo <strong>de</strong> coor<strong>de</strong>nadas, a<br />

diferença entre y e ŷ será mínima e consequentemente ortogonal.<br />

122


Quanto à polarização, o método dos MQ não apresenta polarização quando o ruído é branco<br />

e o mo<strong>de</strong>lo <strong>de</strong> i<strong>de</strong>ntificação do tipo ARX. Outros mo<strong>de</strong>los como OE e ARMAX mesmo se o ruído<br />

for branco, <strong>um</strong>a i<strong>de</strong>ntificação por MQ será polarizada. Para contornar este problema existe o<br />

método dos MQ estendido. Neste método a matriz <strong>de</strong> regressores é estendida para i<strong>de</strong>ntificar o<br />

ruído, eliminando a polarização quando o ruído é branco.<br />

6.4.1.4 Utilização<br />

O método dos Mínimos quadrados será utilizado quando a i<strong>de</strong>ntificação do mo<strong>de</strong>lo linear<br />

MIMO (Multiple Input, Multiple Output, ou em português, Múltiplas Entradas, Múltiplas Saídas)<br />

for feita. A System I<strong>de</strong>ntification Toolbox do programa MATLAB também é baseada no algoritmo<br />

do MQ para fazer a i<strong>de</strong>ntificação, e será bastante utilizada adiante.<br />

6.4.2 Filtro <strong>de</strong> Kalman<br />

O Filtro <strong>de</strong> Kalman é <strong>um</strong> estimador ótimo <strong>de</strong> variância mínima. Basicamente esse estimador<br />

faz <strong>um</strong>a média pon<strong>de</strong>rada entre o valor <strong>de</strong> <strong>um</strong> mo<strong>de</strong>lo que <strong>de</strong>screve o processo com base nos<br />

estados anteriores e o valor das medições das saídas do processo. É chamado <strong>de</strong> <strong>um</strong> estimador do<br />

tipo preditor-corretor. Na predição o Filtro calcula o próximo estado predito através do mo<strong>de</strong>lo e<br />

na fase <strong>de</strong> correção esse estado é corrigido pelas medições feitas.<br />

É possível com o Filtro <strong>de</strong> Kalman, além <strong>de</strong> estimar estados, i<strong>de</strong>ntificar parâmetros bastando<br />

expandir alg<strong>um</strong>as matrizes para isso. Este é usado para fazer a i<strong>de</strong>ntificação do mo<strong>de</strong>lo não linear<br />

baseado em velocida<strong>de</strong>s angulares, comentado na Seção 6.5.4.<br />

Não será feito aqui <strong>um</strong> estudo aprofundado do Filtro <strong>de</strong> Kalman aqui, pois ele é tratado em<br />

na Seção 5.5.2.<br />

6.4.3 MATLAB System I<strong>de</strong>ntification Toolbox<br />

O programa <strong>de</strong> matemática computacional MATLAB, ou MAtrix LABoratory, é muito conhecido<br />

para resolver problemas <strong>de</strong> engenharia. O MATLAB disponibiliza aos usuários pacotes ou<br />

como são conhecidos mais com<strong>um</strong>ente toolboxes especializados em resolver <strong>de</strong>terminados problemas.<br />

Inserido nesses pacotes, está o System I<strong>de</strong>ntification Toolbox. Responsável por implementar<br />

algoritmos para i<strong>de</strong>ntificação <strong>de</strong> sistemas, essa toolbox apresenta tanto comandos específicos para<br />

utilização <strong>de</strong>ntro <strong>de</strong> <strong>um</strong> código MATLAB (*.m) quanto <strong>um</strong>a interface gráfica (GUI ) própria.<br />

Na interface amigável <strong>de</strong>sta GUI, vemos que sua utilização é relativamente simples. A importação<br />

<strong>de</strong> dados é feita através do menu Import Data e os dados importados são dispostos nos<br />

retângulos à esquerda da tela. A toolbox disponibiliza ferramentas para retirar a média, para<br />

evitar polarização, a seleção <strong>de</strong> amostras para i<strong>de</strong>ntificação, fusão <strong>de</strong> experimentos, filtragem do<br />

sinal <strong>de</strong>ntre outros. Esses recursos estão presentes no menu Preprocess.<br />

123


Selecionando o experimento <strong>de</strong>finitivo, é possível fazer i<strong>de</strong>ntificação <strong>de</strong> várias formas, incluindo<br />

formas lineares (ARX, ARMAX, etc ), não lineares, métodos não paramétricos, <strong>de</strong>ntre outros.<br />

Feita a i<strong>de</strong>ntificação, é possível comparar a resposta dos mo<strong>de</strong>los i<strong>de</strong>ntificados entre si e com a<br />

resposta do processo, tanto graficamente quanto n<strong>um</strong>ericamente através do índice <strong>de</strong> fitness que<br />

indica o quanto a resposta i<strong>de</strong>ntificada se “encaixa” com a real.<br />

Para a i<strong>de</strong>ntificação não linear do tipo caixa cinza, utilizamos a função pem (Prediction error<br />

estimate of linear or nonlinear mo<strong>de</strong>l), que utiliza o algoritmo <strong>de</strong> Levenberg-Marquardt para<br />

minimizar o erro <strong>de</strong> predição.<br />

Como nosso problema possui 4 entradas e várias saídas (esse número <strong>de</strong>pen<strong>de</strong> do mo<strong>de</strong>lo<br />

utilizado, e será <strong>de</strong>talhada mais a frente), utilizamos a a System I<strong>de</strong>ntification Toolbox em forma<br />

<strong>de</strong> linha <strong>de</strong> código em <strong>um</strong> arquivo MATLAB (*.m) <strong>de</strong>vido à maior facilida<strong>de</strong> <strong>de</strong> se trabalhar<br />

com sistemas MIMO. O resultado é o mesmo do entregue pela interface gráfica, pois os mesmos<br />

algoritmos são utilizados.<br />

6.5 Mo<strong>de</strong>los implementados no VANT<br />

6.5.1 Entradas e Saídas<br />

Antes <strong>de</strong> montar o mo<strong>de</strong>lo, é necessário relacionar as entradas e saídas do processo.<br />

As entradas serão os comandos das superfícies <strong>de</strong> atuação, aileron, profundor e leme e controle<br />

do motor. Como queremos mo<strong>de</strong>lar o processo como <strong>um</strong> todo, escolhemos como entradas os comandos<br />

e não as posições angulares <strong>de</strong>stas superfícies, assim como a rotação do motor. Isso porque<br />

<strong>de</strong>sta maneira estaremos incluindo a dinâmica dos servos atuadores, no caso das superfícies, e do<br />

motor nas funções <strong>de</strong> transferência ou na equação <strong>de</strong> espaço <strong>de</strong> estados obtida com a i<strong>de</strong>ntificação.<br />

Como o controlador será colocado na entrada do sistema como <strong>um</strong> todo, as dinâmicas dos servos<br />

e do motor o afetarão e por isso <strong>de</strong>verão ser previstas.<br />

Como saídas teremos as três velocida<strong>de</strong>s angulares e lineares, as três acelerações lineares e<br />

angulares e os ângulos <strong>de</strong> rolagem, arfagem e guinada totalizando 12 saídas. As posições po<strong>de</strong>m<br />

ser obtidas através da integração das velocida<strong>de</strong>s lineares. Essas 12 saídas serão também os estados<br />

do processo.<br />

6.5.2 Desacoplamento entre mo<strong>de</strong>los<br />

Como po<strong>de</strong>rá ser visto nas equações mostradas na Seção 6.5.5, o mo<strong>de</strong>lo não linear completo é<br />

muito complexo pois além das não linearida<strong>de</strong>sapresenta <strong>um</strong> forte acoplamento entre os estados.<br />

Uma das maneiras <strong>de</strong> amenizar essa complexida<strong>de</strong> é <strong>de</strong>sacoplar alg<strong>um</strong>as daquelas equações.<br />

Baseado no conhecimento do processo, sabe-se que alguns estados <strong>de</strong>pen<strong>de</strong>m mais <strong>de</strong> certos<br />

atributos que outros. Assim, separamos dois mo<strong>de</strong>los <strong>de</strong>sacoplados (<strong>de</strong>finindo aqui como MD), o<br />

mo<strong>de</strong>lo longitudinal e o mo<strong>de</strong>lo lateral.<br />

124


O mo<strong>de</strong>lo longitudinal restringe o movimento da aeronave ao plano XZ. As saídas serão as<br />

velocida<strong>de</strong>s lineares U e W em X e Z, a velocida<strong>de</strong> angular Q em Y e o ângulo <strong>de</strong> arfagem θ, no<br />

mesmo eixo. Assim a aeronave só se movimenta <strong>de</strong>ntro <strong>de</strong>ste plano, não “entrando” no eixo Y .<br />

O mo<strong>de</strong>lo lateral por sua vez restringe o movimento ao plano XY da mesma maneira. Como<br />

saídas teremos a velocida<strong>de</strong> linear V em Y , as velocida<strong>de</strong>s angulares P e R em X e Z, e os ângulos<br />

<strong>de</strong> rolagem e guinada φ e ψ nos eixos X e Z. Essa divisão entre mo<strong>de</strong>los é evi<strong>de</strong>nciada na Figura<br />

6.1.<br />

Como se trata <strong>de</strong> <strong>um</strong>a aproximação, esse mo<strong>de</strong>lo não valerá para toda a excursão <strong>de</strong> trabalho da<br />

aeronave, mas po<strong>de</strong>mos restringir <strong>um</strong>a faixa <strong>de</strong> operação para utilizar esses mo<strong>de</strong>los <strong>de</strong>sacoplados.<br />

U<br />

Motor<br />

W<br />

Profundor<br />

Mo<strong>de</strong>lo Longitudinal<br />

Q<br />

θ<br />

V<br />

Leme<br />

P<br />

Aileron<br />

Mo<strong>de</strong>lo Lateral<br />

R<br />

φ<br />

ψ<br />

Figura 6.1: Mo<strong>de</strong>los Desacoplados<br />

Foram feitas também i<strong>de</strong>ntificações <strong>de</strong> mo<strong>de</strong>los com mesmas entradas dos mo<strong>de</strong>los citados<br />

anteriormente com entradas <strong>de</strong>sacopladas (<strong>de</strong>finindo como MSD, Mo<strong>de</strong>los Semi <strong>de</strong>sacoplados),<br />

sendo que as saídas do mo<strong>de</strong>lo longitudinal terão mo<strong>de</strong>los com entradas <strong>de</strong> seu respectivo mo<strong>de</strong>lo,<br />

assim como as saídas do mo<strong>de</strong>lo lateral. Exemplos <strong>de</strong> mo<strong>de</strong>los MSD são mostrando na Figura 6.2.<br />

No caso da i<strong>de</strong>ntificação em malha fechada o mo<strong>de</strong>lo i<strong>de</strong>ntificado foi totalmente <strong>de</strong>sacoplado<br />

(<strong>de</strong>finindo como MTD, Mo<strong>de</strong>los totalmente <strong>de</strong>sacoplados), <strong>de</strong> <strong>um</strong>a entrada e <strong>um</strong>a saída, sendo que<br />

foram escolhidas a entrada que mais influencia tal saída. Dessa forma a i<strong>de</strong>ntificação do mo<strong>de</strong>lo <strong>de</strong><br />

125


Motor<br />

MSD<br />

U<br />

Profundor<br />

Leme<br />

V<br />

MSD<br />

Aileron<br />

Figura 6.2: Exemplo <strong>de</strong> mo<strong>de</strong>los semi-<strong>de</strong>sacoplados<br />

rolagem atua no aileron, o mo<strong>de</strong>lo <strong>de</strong> guinada atua no leme e o mo<strong>de</strong>lo <strong>de</strong> arfagem no profundor.<br />

Esse mo<strong>de</strong>los do tipo MTD só serão utilizados para i<strong>de</strong>ntificação em malha fechada, pois <strong>de</strong>vido<br />

à realimentação que mantém a aeronave em <strong>um</strong> ponto <strong>de</strong> operação específico <strong>de</strong> maneira efetiva,<br />

é possível isolar bem o sinal PRBS em somente <strong>um</strong> eixo. Como a excitação está isolada, não há<br />

influências <strong>de</strong> perturbações nos eixos in<strong>de</strong>vidos, possibilitando o <strong>de</strong>sacoplamento total das entradas<br />

e saídas. Mais sobre essa utilização po<strong>de</strong> ser encontrado nas Seções 6.6.4, 7.5.4 e 7.5.5.<br />

No caso dos mo<strong>de</strong>los MTD, as velocida<strong>de</strong>s U, W e Q e o ângulo θ terão como entrada a referência<br />

<strong>de</strong> guinada. As velocida<strong>de</strong>s V e R terão como entrada a referência <strong>de</strong> arfagem. E para<br />

velocida<strong>de</strong> P e ângulo φ a referência <strong>de</strong> rolagem. A Figura 6.3 mostra exemplos <strong>de</strong>sse mo<strong>de</strong>lo.<br />

As Figuras <strong>de</strong> 6.1 a 6.3 foram inspiradas em [82].<br />

126


Rolagem<br />

MTD<br />

P<br />

Arfagem<br />

MTD<br />

U<br />

Figura 6.3: Exemplo <strong>de</strong> mo<strong>de</strong>los totalmente <strong>de</strong>sacoplados<br />

6.5.3 Mo<strong>de</strong>lo Linear<br />

Para i<strong>de</strong>ntificação do VANT foram implementados dois mo<strong>de</strong>los lineares, o auto regressivo do<br />

tipo ARX e outro em espaço <strong>de</strong> estados, chamado <strong>de</strong> n4sid. Os parâmetros <strong>de</strong>sses mo<strong>de</strong>los foram<br />

calculados por meio da System I<strong>de</strong>ntification Toolbox do MATLAB. Foram escolhidos diversas<br />

or<strong>de</strong>ns <strong>de</strong> mo<strong>de</strong>los para i<strong>de</strong>ntificação a fim <strong>de</strong>obter melhores restuldados. Este mo<strong>de</strong>lo será do<br />

tipo caixa preta pois os parâmetros não terão significado físico.<br />

A fim <strong>de</strong> conseguirmos montar <strong>um</strong> mo<strong>de</strong>lo mais fiel à realida<strong>de</strong>, é necessário <strong>um</strong> conhecimento<br />

mínimo do processo. Sabemos que há <strong>um</strong> acoplamento muito gran<strong>de</strong> entre os estados e parâmetros,<br />

como po<strong>de</strong>mos notar do mo<strong>de</strong>lo completo mostrado na Seção 6.5.5. Vemos então que o mo<strong>de</strong>lo é<br />

altamente não linear.<br />

Justificado pelo fato <strong>de</strong> simplificar a i<strong>de</strong>ntificação tornando-a viável, o uso <strong>de</strong>ste mo<strong>de</strong>lo tornase<br />

muito interessante. Com ele não conseguiremos explicar o processo do VANT perfeitamente<br />

como o mo<strong>de</strong>lo não linear em toda faixa <strong>de</strong> operação, porém a i<strong>de</strong>ntificação feita será mais fácil<br />

e será possível utilizar os métodos clássicos <strong>de</strong> controle como <strong>um</strong> PID ou controle em espaço <strong>de</strong><br />

estados.<br />

Analisando as equações do mo<strong>de</strong>lo completo, po<strong>de</strong>mos observar que as entradas e saídas são<br />

127


todas acopladas, a<strong>um</strong>entando a complexida<strong>de</strong> da i<strong>de</strong>ntificação. Para tornar a i<strong>de</strong>ntificação caixa<br />

preta mais fiel utilizaremos esse acoplamento, ou seja, as saídas serão influenciadas pelas entradas<br />

e pelas saídas no instante anterior. Muito cuidado é exigido neste ponto, pois essa realimentação<br />

<strong>de</strong> vários estados po<strong>de</strong> facilmente causar instabilida<strong>de</strong> na i<strong>de</strong>ntificação. Neste caso, mo<strong>de</strong>los <strong>de</strong><br />

menor or<strong>de</strong>m serão preferidos para evitar esse tipo <strong>de</strong> comportamento.<br />

Para fazer este tipo <strong>de</strong> i<strong>de</strong>ntificação <strong>de</strong>vemos restringir o VANT a <strong>de</strong>terminado ponto <strong>de</strong><br />

operação. Dentro <strong>de</strong>ste ponto <strong>de</strong> operação, <strong>de</strong>limitamos as faixas <strong>de</strong> operação restringindo a<br />

atuação das entradas, assim linearizamos o processo. Esta etapa é importante, pois restringindo<br />

a faixa <strong>de</strong> operação do processo po<strong>de</strong>mos conseguir bons resultados <strong>de</strong> i<strong>de</strong>ntificação, pois para<br />

pequenos sinais o mo<strong>de</strong>lo tem comportamento aproximadamente linear. Com isso <strong>de</strong>vemos limitar<br />

faixas para cada modo <strong>de</strong> voo como <strong>de</strong>colagem, cruzeiro, curva e pouso.<br />

Além das não linearida<strong>de</strong>s intrínsecas do mo<strong>de</strong>lo não linear, seus coeficientes ten<strong>de</strong>m a mudar<br />

conforme o modo <strong>de</strong> voo, a<strong>um</strong>entando a dificulda<strong>de</strong> <strong>de</strong> i<strong>de</strong>ntificação do processo e fornecendo<br />

outro motivo pra restringir o voo <strong>de</strong> i<strong>de</strong>ntificação a faixas <strong>de</strong> operação.<br />

Para manter este ponto <strong>de</strong> operação inicialmente foi utilizada a experiência do piloto, tanto em<br />

simulação quanto em voo real. Porém houve dificulda<strong>de</strong> em manter o avião no mesmo ponto <strong>de</strong><br />

operação. Para contornar este problema fechamos a malha da estimação <strong>de</strong> ângulos e projetamos<br />

<strong>um</strong> controlador <strong>de</strong> forma que a aeronave <strong>de</strong>ntro da faixa <strong>de</strong>sejada. Assim o sinal <strong>de</strong> i<strong>de</strong>ntificação<br />

PRBS, mencionado na Seção 6.6.1, não retirou o aeronave do ponto <strong>de</strong> operação e assim resultados<br />

melhores foram obtidos. Mais sobre o fato será discutido em 6.6.<br />

Como discutido na Seção 6.5.2 foi mostrado que é possível <strong>de</strong>sacoplar os mo<strong>de</strong>los em dois<br />

modos <strong>de</strong> voo, o modo longitudinal e o modo lateral. A i<strong>de</strong>ia <strong>de</strong> implementar o <strong>de</strong>sacoplamento<br />

é diminuir a interação entre estados que possuem fraco acoplamento. Assim a realimentação<br />

entre estados fica ligeiramente menos acoplada, colaborando para a diminuição da tendência <strong>de</strong><br />

instabilida<strong>de</strong> tanto da i<strong>de</strong>ntificação dos parâmetros tanto no mo<strong>de</strong>lo i<strong>de</strong>ntificado.<br />

Como forma <strong>de</strong> comparação serão feitas i<strong>de</strong>ntificações do mo<strong>de</strong>lo com estados acoplados, parcialmente<br />

<strong>de</strong>sacoplados e totalmente <strong>de</strong>sacoplados evi<strong>de</strong>nciando a tendência <strong>de</strong> instabilida<strong>de</strong> do<br />

mo<strong>de</strong>lo. Inspirados em [82], utilizaremos os mo<strong>de</strong>los <strong>de</strong>sacoplados citados em 6.3.2 e iremos <strong>de</strong>sacoplando<br />

as entradas e saídas para fins comparativos.<br />

O enfoque linear é muito parecido com [83], principalmente no que diz respeito a utilização<br />

da System I<strong>de</strong>ntification Toolbox. Porém tentamos sofisticar a i<strong>de</strong>ntificação utilizando <strong>um</strong> sinal<br />

<strong>de</strong> i<strong>de</strong>ntificação mais completo, explicado em 6.6. A validação também foi mais elaborada, pois<br />

utilizamos <strong>um</strong> sinal com características semelhantes ao da i<strong>de</strong>ntificação.<br />

6.5.3.1 Mo<strong>de</strong>lo IIR<br />

Com o intuito <strong>de</strong> explorar a realimentação intrínseca das equações da aeronave, <strong>de</strong>ntro da<br />

caracterização caixa preta, utilizaremos duas formas <strong>de</strong> representação. Uma <strong>de</strong>las é o mo<strong>de</strong>lo IIR.<br />

Assim é possível representar o processo com mo<strong>de</strong>lo <strong>de</strong> or<strong>de</strong>ns relativamente baixas, <strong>de</strong>vido<br />

128


à presença da realimentação. E através do mo<strong>de</strong>lo <strong>de</strong> baixa or<strong>de</strong>m obtido, o projeto <strong>de</strong> <strong>um</strong><br />

controlador do tipo PID po<strong>de</strong>rá ser feito <strong>de</strong> maneira relativamente simples.<br />

A <strong>de</strong>svantagem é a tendência <strong>de</strong> instabilida<strong>de</strong> do processo, evi<strong>de</strong>nciado nas Seções 7.5.2 e<br />

7.5.3.1, principalmente quando a or<strong>de</strong>m do mo<strong>de</strong>lo i<strong>de</strong>ntificado é muito maior ou menor do que<br />

<strong>de</strong>veria ser.<br />

6.5.3.2 Mo<strong>de</strong>lo FIR<br />

Para contornar o problema da instabilida<strong>de</strong> do mo<strong>de</strong>lo i<strong>de</strong>ntificado e da i<strong>de</strong>ntificação dos<br />

parâmetros, utilizamos <strong>um</strong> mo<strong>de</strong>lo FIR. A or<strong>de</strong>m do sistema i<strong>de</strong>ntificado <strong>de</strong>ve ser <strong>de</strong> or<strong>de</strong>m relativamente<br />

elevada para compensar a falta <strong>de</strong> realimentação. Porém o controle <strong>de</strong> <strong>um</strong> processo<br />

representado da forma FIR requer maior estudo, visto que técnicas clássicas e <strong>de</strong> fácil implementação<br />

não se aplicam a mo<strong>de</strong>los <strong>de</strong> or<strong>de</strong>m elevada.<br />

Resultados para esse tipo <strong>de</strong> i<strong>de</strong>ntificação serão mostrados na Seção 7.5.3.2.<br />

6.5.4 Mo<strong>de</strong>lo não linear baseado em velocida<strong>de</strong>s angulares<br />

Para fazer o controle da aeronave, os estados mais importantes são os ângulos e velocida<strong>de</strong>s<br />

angulares, pois com esse conjunto <strong>de</strong> estados é possível <strong>de</strong>screver a atitu<strong>de</strong> do avião, e com base<br />

nas relações <strong>de</strong> entradas e saídas é possível posicioná-lo <strong>de</strong> forma que ele c<strong>um</strong>pra <strong>um</strong> modo <strong>de</strong><br />

voo específico, como por exemplo, angulação constante nula (modo <strong>de</strong> voo <strong>de</strong> cruzeiro) ou <strong>um</strong>a<br />

angulação <strong>de</strong> arfagem constante (modo <strong>de</strong> voo <strong>de</strong>colagem).<br />

Escrevendo o mo<strong>de</strong>lo retirado <strong>de</strong> [84] na forma <strong>de</strong> espaço <strong>de</strong> estados:<br />

ṗ =<br />

1<br />

I x I z − Ixz<br />

2 {I z [L + (I y − I z )qr] + I xz [N + (I x − I y + I z )pq − I xz qr]} (6.15)<br />

˙q = 1 I y<br />

[M + pr(I z − I x ) + (r 2 − p 2 )I xz ] (6.16)<br />

ṙ =<br />

1<br />

I x I z − Ixz<br />

2 {I x [N + (I x − I y )pq] + I xz [L + (I y − I x − I z )qr − I xz pq]} (6.17)<br />

Aon<strong>de</strong> p, q e r são as velocida<strong>de</strong>s angulares em x, y e z repectivamente, I são os momentos <strong>de</strong><br />

inércia relativa aos ângulos <strong>de</strong> seus subíndices. L, M e N momentos aerodinâmicos em x, y e z.<br />

Relacionando os momentos com as entradas:<br />

L = L p p + L r r + L δa δ a + L δr δ r L δth δ th (6.18)<br />

M = M q q + M δe δ e + M δth δ th (6.19)<br />

N = N p p + N r r + N δa δ a + N δr δ r N δth δ th (6.20)<br />

129


O <strong>de</strong>senvolvimento completo <strong>de</strong>ssas equações é dado em [85].<br />

As entradas do processo serão: δ a , δ r , δ e , δ th , significando as entradas do aileron, leme (ou em<br />

inglês, explicando o subíndice r, rud<strong>de</strong>r), profundor (elevator), e motor (throttle). As constantes<br />

L, M e N com subíndices relacionam estados e entradas com os momentos aerodinâmicos. Através<br />

<strong>de</strong>ssas equações que as entradas interagem com os estados. Uma mudança na atuação <strong>de</strong> <strong>um</strong>a<br />

entrada modifica os momentos aerodinâmicos que por sua vez influenciam os estados.<br />

Este mo<strong>de</strong>lo será i<strong>de</strong>ntificado da forma caixa cinza, pois os parâmetros possuem significado<br />

físico e serão i<strong>de</strong>ntificados pelo Filtro <strong>de</strong> Kalman. Os vetores <strong>de</strong> estado e entrada serão:<br />

x = [p q r] T (6.21)<br />

u = [δ e δ r δ a δ th ] (6.22)<br />

Definimos f função <strong>de</strong>:<br />

As saídas nada mais são que os três estados.<br />

[pq qr pr p 2 r 2 p q r δ e δ r δ a δ th ] (6.23)<br />

Para implementação do Filtro <strong>de</strong> Kalman, <strong>de</strong>screvemos o mo<strong>de</strong>lo como:<br />

x − k+1 = f(x k, u k , w k ) (6.24)<br />

⎡ ⎤<br />

p + v k<br />

y k = ⎢<br />

⎣q + v ⎥ k ⎦ (6.25)<br />

r + v k<br />

on<strong>de</strong> w k e v k são os ruídos <strong>de</strong> processo e observação.Na equação 6.25, f representa as Equações<br />

<strong>de</strong> 6.15 a 6.17 . Como queremos fazer a i<strong>de</strong>ntificação dos parâmetros, <strong>de</strong>vemos a<strong>um</strong>entar a matriz<br />

<strong>de</strong> estados para:<br />

x = [p q r L p L r L δr L δa N p N r N δr N δa M q M δe M δth L δth N δth I x I y I z I xz ] T (6.26)<br />

totalizando 17 parâmetros para serem i<strong>de</strong>ntificados mais 3 estados a serem estimados.<br />

Das Equações <strong>de</strong> 6.15 a 6.17 notamos que o problema é não linear e por isso <strong>de</strong>ve ser utilizado o<br />

Filtro <strong>de</strong> Kalman Estendido. Como o problema é não linear também nos parâmetros, não é possível<br />

utilizar o método dos Mínimos Quadrados. A i<strong>de</strong>ntificação proposta, utilizando Filtro <strong>de</strong> Kalman,<br />

é muito parecida com [86], porém com a diferença entre o mo<strong>de</strong>lo i<strong>de</strong>ntificado. A abordagem aqui<br />

utilizada para i<strong>de</strong>ntificação foi <strong>um</strong> pouco diferente do artigo original [85], justamente por utilizar<br />

o Filtro <strong>de</strong> Kalman.<br />

130


Porém como são muitos parâmetros a serem i<strong>de</strong>ntificados é muito gran<strong>de</strong> e existem somente<br />

três entradas, existem muitos graus <strong>de</strong> liberda<strong>de</strong> para que o Filtro acha <strong>um</strong>a solução que não<br />

seja a <strong>de</strong>sejada, ou que haja divergência nas matrizes <strong>de</strong> covariância <strong>de</strong> processo e <strong>de</strong> estados.<br />

Para diminuir essa possibilida<strong>de</strong>, utilizamos dados conhecidos (no caso da i<strong>de</strong>ntificação em <strong>um</strong><br />

voo simulado), pois o programa <strong>de</strong> simulação fornece os parâmetros utilizados.<br />

O mo<strong>de</strong>lo proposto está escrito na forma <strong>de</strong> Espaço <strong>de</strong> Estados, e essa forma relaciona a<br />

<strong>de</strong>rivada das variáveis <strong>de</strong> estado (acelerações) com os estados (velocida<strong>de</strong>s). Os estados, que serão<br />

a saída do processo, são as <strong>de</strong>rivadas das variáveis <strong>de</strong>sejadas. Assim para obter as velocida<strong>de</strong>s<br />

angulares através das acelerações, a integração feita foi <strong>de</strong> natureza n<strong>um</strong>érica.<br />

A vantagem <strong>de</strong> se utilizar esse mo<strong>de</strong>lo em face do mo<strong>de</strong>lo linear completo é sua “menor linearida<strong>de</strong>”.<br />

Isso significa que há interações não lineares <strong>de</strong> parâmetros como a multiplicação, porém<br />

não há a presença <strong>de</strong> funções não lineares como sen, cos e arctan. Isso acontece pois nesse mo<strong>de</strong>lo<br />

só as velocida<strong>de</strong>s e acelerações angulares são utilizadas, e como as velocida<strong>de</strong>s e acelerações<br />

lineares não estão presentes, não é necessário relacionar as gran<strong>de</strong>zas lineares e angulares, razão<br />

do surgimento das funções não lineares citadas, o que facilitará a i<strong>de</strong>ntificação.<br />

6.5.5 Mo<strong>de</strong>lo não linear completo<br />

Uma das formas <strong>de</strong> atacar o problema da i<strong>de</strong>ntificação é utilizar o mo<strong>de</strong>lo não linear completo,<br />

incluindo todas as velocida<strong>de</strong>s e acelerações lineares e angulares. O mo<strong>de</strong>lo retirado <strong>de</strong> [7],<br />

<strong>de</strong>senvolvido no sistema <strong>de</strong> coor<strong>de</strong>nadas fixas no corpo, é dado por:<br />

˙U = K tδ t<br />

m + ¯qS ( )<br />

( )<br />

W W<br />

m (C¯L sin(arctan )) − C D cos(arctan ) + RV − QW − g sin θ (6.27)<br />

U<br />

U<br />

˙V = ¯qS m C Y − RU + P W − g sin φ cos θ (6.28)<br />

Ẇ = ¯qS ( )<br />

( )<br />

W W<br />

m (−C D sin(arctan )) − C¯L cos(arctan ) + QU − P V + g cos φ cos θ (6.29)<br />

U<br />

U<br />

˙ P = (c 1 R + C 2 P )Q + c 3¯qSbC ¯L + c 4¯qSbC N (6.30)<br />

˙Q = c 5 P R − c 6 (P 2 − R 2 ) + c 7¯qScC M (6.31)<br />

Ṙ = (c 8 P − c 2 R)Q + c 4¯qSbC ¯L + c 9¯qSbC N (6.32)<br />

˙φ = P + Q sin φ tan θ + R cos φ tan θ (6.33)<br />

˙θ = Q cos φ − R sin θ (6.34)<br />

˙ψ = Q sin φ<br />

cos θ + Rcos φ<br />

cos θ<br />

(6.35)<br />

E os coeficientes são dados por:<br />

131


( ) W<br />

C¯L = + arctan K C¯L0 C¯Lα C¯Le δe δ e +<br />

U<br />

c<br />

2V T<br />

(C¯L ˙α<br />

˙( W<br />

arctan<br />

V<br />

)<br />

+ C¯LQ Q) (6.36)<br />

C D = C D0 + C Dδe |K δe δ e | + C Dδr |K δr δ r | + (C¯L − C¯Lmin )<br />

(6.37)<br />

( )<br />

πeAR<br />

V<br />

C Y = C Yβ arcsin + C Yδr K δr δ r + b (C UP P + C UR R) (6.38)<br />

V T 2V<br />

( )<br />

T<br />

V<br />

C L = C Lβ arcsin + C Lδa K δa δ a + C Lδr K δr δ r + b (C LP P + C LR R) (6.39)<br />

V T 2V T<br />

( ) W<br />

C M = C M0 + C Mα arctan C<br />

U ¯Me K δe δ e +<br />

c<br />

˙( ) W<br />

(C M<br />

2V ˙α<br />

arctan + C MQ Q) (6.40)<br />

T V<br />

( ) V<br />

C N = C Nβ arcsin + C Nδa K δa δ a + C Nδr K δr δ r + b (C NP P + C NR R) (6.41)<br />

V T 2V T<br />

E as equações <strong>de</strong> velocida<strong>de</strong>s lineares no sistema <strong>de</strong> coor<strong>de</strong>nadas fixo na terra NED po<strong>de</strong>m ser<br />

obtidas através <strong>de</strong> <strong>um</strong>a mudança <strong>de</strong> coor<strong>de</strong>nadas:<br />

Ẋ NED = U cos φ cos ψ + V (sin φ sin θ cos ψ − cos φ sin ψ) + W (cos φ sin θ cos ψ + sin φ sin φ)<br />

(6.42)<br />

Ẏ NED = U cos θ sin ψ + V (sin φ sin θ sin ψ + cos φ cos ψ) + W (cos φ sin θ sin ψ − sin φ cos ψ)<br />

(6.43)<br />

Ż NED = −U sin θ + V sin φ cos θ + W cos φ cos θ (6.44)<br />

Originalmente esse mo<strong>de</strong>lo foi obtido <strong>de</strong> [87], e adaptado por [7]. Essa representação foi<br />

utilizada, pois encontra-se em forma mais didática que original. Os coeficientes c com coeficientes<br />

n<strong>um</strong>éricos presentes no mo<strong>de</strong>lo envolvendo as velocida<strong>de</strong>s angulares são referentes aos momentos<br />

<strong>de</strong> inércia. São várias combinações que por simplicida<strong>de</strong> foram contraídas a fim <strong>de</strong> facilitar a<br />

visualização.<br />

Deste mo<strong>de</strong>lo po<strong>de</strong>mos observar que o problema é muito complexo. Extraímos <strong>de</strong>ste <strong>um</strong> total<br />

<strong>de</strong> 48 parâmetros a serem i<strong>de</strong>ntificados e 9 estados. Como as velocida<strong>de</strong>s lineares no sistema <strong>de</strong><br />

coor<strong>de</strong>nadas NED po<strong>de</strong>m ser obtida apenas por <strong>um</strong>a mudança <strong>de</strong> coor<strong>de</strong>nadas, <strong>de</strong>pois <strong>de</strong> obtidos<br />

as velocida<strong>de</strong>s lineares e ângulos, e não há acoplamento entre as variáveis no NED e os outros<br />

estados, as Equações <strong>de</strong> 6.42 a 6.44 serão consi<strong>de</strong>rados a parte do mo<strong>de</strong>lo <strong>de</strong> espaço <strong>de</strong> estados.<br />

Outros fatores complicadores da i<strong>de</strong>ntificação são o forte acoplamento entre as variáveis <strong>de</strong><br />

estado e a gran<strong>de</strong> não linearida<strong>de</strong> do processo, <strong>de</strong>vido à <strong>de</strong>pendência da multiplicação entre estados,<br />

aplicação <strong>de</strong> funções não lineares e não linearida<strong>de</strong> nos parâmetros. O último exemplo é a razão<br />

<strong>de</strong> não ser possível se utilizar o método dos Mínimos Quadrados.<br />

A i<strong>de</strong>ntificação <strong>de</strong>ste mo<strong>de</strong>lo será feita na forma <strong>de</strong> caixa cinza. Utilizaremos para fazer a<br />

i<strong>de</strong>ntificação utilizando a função pem da System I<strong>de</strong>ntification Toolbox do MATLAB, citada na<br />

Seção 6.4.3.<br />

Foram feitos dois tipos <strong>de</strong> i<strong>de</strong>ntificação. O primeiro foi <strong>um</strong>a tentativa <strong>de</strong> implementar o<br />

mo<strong>de</strong>lo completo no programa para i<strong>de</strong>ntificação. O segundo, inspirado em [2] foi <strong>um</strong>a tentativa<br />

132


<strong>de</strong> <strong>de</strong>sacoplar alguns conjuntos <strong>de</strong> equações para permitir que o programa consiga obter <strong>um</strong>a<br />

melhor i<strong>de</strong>ntificação. Isso foi feito isolando as equações <strong>de</strong> três em três. Em cada conjunto, os<br />

estados que não são os principais representados serão tidos como entrada, para a i<strong>de</strong>ntificação<br />

obter mais dados e mais relações para a obtenção dos parâmetros.<br />

6.5.6 Mo<strong>de</strong>lo obtido com o Software Tornado<br />

Tornado é <strong>um</strong> programa feito em MATLAB para <strong>de</strong>sign <strong>de</strong> asas e superfícies aerodinâmicas.<br />

Através <strong>de</strong> medições passamos as informações principais da aeronave, como geometria, posição <strong>de</strong><br />

centro <strong>de</strong> gravida<strong>de</strong> e quarto <strong>de</strong> corda através <strong>de</strong> <strong>um</strong> menu implementado no terminal do MATLAB.<br />

Através <strong>de</strong>ssas medidas o programa retorna diversas informações, mas a mais importante para o<br />

projeto são os coeficientes aerodinâmicos.<br />

Os coeficientes dados pelo Tornado se encaixam no mo<strong>de</strong>lo dado na Seção 6.5.5. Através da<br />

obtenção <strong>de</strong>sses coeficientes po<strong>de</strong>mos aplicá-los diretamente nas equações ou colocá-los como condição<br />

inicial para o algoritmo <strong>de</strong> i<strong>de</strong>ntificação, <strong>de</strong> forma que ele parta <strong>de</strong> <strong>um</strong> ponto supostamente<br />

correto, evitando divergências, e através das medições chegue a parâmetros mais próximos da<br />

aeronave em questão.<br />

Quando passamos a geometria das asas para o Tornado, nos é retornado as Figuras <strong>de</strong> 6.4 a<br />

6.6. Já nas Figuras 6.7 e 6.8 observamos os parâmetros que nos foi dada pela i<strong>de</strong>ntificação.<br />

3D wing and partition layout<br />

0.6 MAC<br />

Aircraft body y-coordinate<br />

0.4<br />

0.2<br />

0<br />

-0.2<br />

-0.4<br />

ref point<br />

c.g.<br />

-0.6<br />

-0.4 -0.2 0 0.2 0.4 0.6 0.8 1<br />

Aircraft body x-coordinate<br />

Figura 6.4: Asas vista <strong>de</strong> cima<br />

6.6 Experimentos<br />

Para obter os mo<strong>de</strong>los dinâmicos <strong>de</strong> nossa aeronave e implementação das ferramentas citadas<br />

anteriormente, é necessário que experimentos sejam feitos <strong>de</strong> forma específica para se extrair o<br />

133


Si<strong>de</strong><br />

Front<br />

Top<br />

ISO<br />

Figura 6.5: Quatro vistas da asa<br />

3D wing configuration, vortex and wake layout.<br />

Body z-coord<br />

0.1<br />

0<br />

0.6<br />

0.4<br />

0.2<br />

0<br />

-0.2<br />

0.6<br />

Body y-coord<br />

-0.4<br />

-0.6<br />

0<br />

0.2<br />

0.4<br />

Body x-coord<br />

Figura 6.6: Vista em 3D<br />

máximo <strong>de</strong> informação para a i<strong>de</strong>ntificação.<br />

Sabemos que como todos os mo<strong>de</strong>los propostos são dinâmicos, eles apresentam comportamento<br />

diverso <strong>de</strong>pen<strong>de</strong>ndo da frequência. Então naturalmente o sinal <strong>de</strong> entrada do sistema para<br />

i<strong>de</strong>ntificação <strong>de</strong>ve varrer todas as frequências em que o processo irá ser submetido. Isso é obtido<br />

aplicando <strong>um</strong> sinal pseudo-aleatório (PRBS). As frequências e amplitu<strong>de</strong>s serão escolhidas<br />

observando a dinâmica do processo. A menor frequência <strong>de</strong>ve ser obviamente 0, pois em certos<br />

momentos o avião <strong>de</strong>ve estabelecer voo em regime permanente <strong>de</strong> ângulos 0 e entradas constantes.<br />

A maior frequência <strong>de</strong>ve ser a maior frequência <strong>de</strong> atuação do controlador, lembrando que o<br />

134


TORNADO CALCULATION RESULTS, Derivatives<br />

JID: 1<br />

Reference area: 18.2605 α[<strong>de</strong>g]: 4.466 P [rad/s]: 0<br />

Reference chord: 3.3835 β[<strong>de</strong>g]: 0 Q[rad/s]: 0<br />

Reference span: 6.6 Airspeed: 54.54 R[rad/s]: 0<br />

CL <strong>de</strong>rivatives :<br />

CD <strong>de</strong>rivatives :<br />

CL α<br />

4.7477 CD α<br />

0.21091<br />

CL β<br />

4.7465e-06 CD β<br />

4.4659e-07<br />

CL P<br />

-1.0683e-07 CD P<br />

1.7041e-06<br />

CL Q<br />

8.1984 CD Q<br />

0.29299<br />

CL R -1.4587e-09 CD R 2.6003e-08<br />

CY <strong>de</strong>rivatives :<br />

CY α<br />

3.1772e-14<br />

CY β<br />

-0.0037523<br />

CY P<br />

-0.037793<br />

CY Q<br />

1.0725e-12<br />

CY R -0.0059667<br />

Roll <strong>de</strong>rivatives :<br />

Cl α<br />

7.1181e-14<br />

Cl β<br />

-0.0078854<br />

Cl P<br />

-0.30269<br />

Cl Q<br />

3.4301e-12<br />

Cl R<br />

-0.017612<br />

Pitch <strong>de</strong>rivatives :<br />

Cm α<br />

-1.9867<br />

Cm β<br />

-3.0797e-06<br />

Cm P<br />

-3.4585e-08<br />

Cm Q<br />

-6.9632<br />

Cm R<br />

-6.7432e-10<br />

Yaw <strong>de</strong>rivatives :<br />

Cn α<br />

1.2228e-14<br />

Cn β<br />

-0.0013796<br />

Cn P<br />

-0.022971<br />

Cn Q<br />

1.6711e-13<br />

Cn R<br />

-0.0028525<br />

Figura 6.7: Parâmetros encontrados - Parte 1<br />

Tornado Computation Results<br />

JID: 1 Downwash matrix condition: 57.3877<br />

Reference area: 18.2605 Supersonic flow warning: 0<br />

Reference chord: 3.3835 Reference point pos: 0 0 0<br />

Reference span: 6.6 Center of gravity : 0 0 0<br />

Net Wind Forces: (N)<br />

Drag: 184.3166<br />

Si<strong>de</strong>: -1.0267e-13<br />

Lift: 7915.9587<br />

CL 0.27546<br />

CD 0.006414<br />

CY -3.5727e-18<br />

CD trefftz<br />

N/A<br />

Net Body Forces: (N)<br />

X: -432.6401<br />

Y: -1.0267e-13<br />

Z: 7906.2758<br />

CZ 0.27513<br />

CX -0.015055<br />

CC -3.5727e-18<br />

Net Body Moments: (Nm)<br />

Roll: -1.35e-12<br />

Pitch: -9080.711<br />

Yaw: -2.2504e-13<br />

Cm -0.093393<br />

Cn -1.1865e-18<br />

Cl -7.1181e-18<br />

STATE:<br />

α[<strong>de</strong>g]: 4.466<br />

β[<strong>de</strong>g]: 0<br />

Airspeed: 54.54<br />

Altitu<strong>de</strong>: 1500<br />

Density: 1.0581<br />

P [rad/s]: 0<br />

Q [rad/s]: 0<br />

R [rad/s]: 0<br />

PG Correction: 0<br />

Mach: 0.16305<br />

Rud<strong>de</strong>r setting [<strong>de</strong>g]:<br />

0 0 0<br />

0 0 0<br />

0 0 0<br />

Figura 6.8: Parâmetros encontrados - Parte 2<br />

controlador po<strong>de</strong> atuar com chaveamento rápido, característica com<strong>um</strong> em controladores do tipo<br />

P. É interessante salientar que a geometria da aeronave torna sua resposta bxpassa-baixa, ou seja,<br />

altas frequências <strong>de</strong> atuação não são percebidas. As amplitu<strong>de</strong>s precisam estar <strong>de</strong>ntro do ponto<br />

<strong>de</strong> operação e não po<strong>de</strong>m causar a queda da aeronave.<br />

É necessário personalizar o experimento para o mo<strong>de</strong>lo utilizado. Essa divisão é feita entre<br />

<strong>um</strong> mo<strong>de</strong>lo linear e o mo<strong>de</strong>lo não linear. Mo<strong>de</strong>los não lineares por <strong>de</strong>finição apresentam diferentes<br />

tipos <strong>de</strong> comportamento para diversas faixas <strong>de</strong> operação, o que não ocorre com o mo<strong>de</strong>lo linear<br />

que apresenta comportamento homogêneo.<br />

Essa diferença <strong>de</strong> comportamento exige diferentes experimentos. No mo<strong>de</strong>lo linear, selecionamos<br />

<strong>um</strong>a faixa <strong>de</strong> operação no qual o controle irá atuar, como por exemplo, <strong>um</strong> modo <strong>de</strong> voo,<br />

e nessa faixa aplicamos <strong>um</strong> sinal PRBS. Nesse caso o sinal <strong>de</strong> i<strong>de</strong>ntificação ass<strong>um</strong>irá dois níveis,<br />

indicando a faixa <strong>de</strong> operação.<br />

O mo<strong>de</strong>lo não linear exige maiores cuidados. Além <strong>de</strong> varrermos todas as frequências <strong>de</strong><br />

interesse, <strong>de</strong>ve-se varrer o máximo <strong>de</strong> valores <strong>de</strong> amplitu<strong>de</strong> <strong>de</strong>ntro da faixa <strong>de</strong> operação. Aqui se<br />

135


adiciona mais <strong>um</strong>a dificulda<strong>de</strong> <strong>de</strong> se utilizar <strong>um</strong> mo<strong>de</strong>lo não linear.<br />

Vale dizer que a i<strong>de</strong>ntificação não se comporta muito bem com extrapolação. Isso significa que<br />

o mo<strong>de</strong>lo i<strong>de</strong>ntificado funciona bem, caso a validação tenha retornado bons valores, para a faixa<br />

<strong>de</strong> operação no qual foi i<strong>de</strong>ntificado. Isso é bem evi<strong>de</strong>nte em todos os mo<strong>de</strong>los implementados<br />

para a aeronave. O mo<strong>de</strong>lo linear só funciona bem <strong>de</strong>ntro da faixa i<strong>de</strong>ntificada, pois o processo só<br />

po<strong>de</strong> ser linearizado daquela forma naquele ponto <strong>de</strong> operação. Em outros lugares a linearização<br />

evi<strong>de</strong>ntemente será diferente. No mo<strong>de</strong>lo não linear, por mais amplo e completo que ele seja para<br />

esse caso, como foi citado na Seção 6.5.5, os seus parâmetros sofrem influência <strong>de</strong> cada modo <strong>de</strong><br />

voo, apresentando modificações em suas magnitu<strong>de</strong>s.<br />

Então <strong>de</strong>vemos colher os sinais <strong>de</strong> i<strong>de</strong>ntificação (entrada) e as respostas do sistema para fazer<br />

a i<strong>de</strong>ntificação utilizando as ferramentas apresentadas na Seção 6.4. Como estamos trabalhando<br />

com o domínio discreto, os sinais <strong>de</strong>vem ser amostrados <strong>de</strong> forma que as amostras adjacentes não<br />

tenham correlação, e assim a dinâmica do processo seja bem i<strong>de</strong>ntificada.<br />

Essa exigência é mais bem percebida nos mo<strong>de</strong>los lineares do tipo ARX. Neste mo<strong>de</strong>lo vemos<br />

claramente as realimentações do processo e a utilização <strong>de</strong> saídas e entradas passadas. Caso<br />

as saídas e entradas passadas sejam muito correlacionadas com as atuais, haverá muitos valores<br />

iguais, e <strong>de</strong> pouco adiantará a presença <strong>de</strong>sses atrasos. Esse fenômeno acontece quando o taxa <strong>de</strong><br />

amostragem é alta, ou falamos que o sinal é sobreamostrado. Mas em contraponto caso o sinal<br />

tenha taxa <strong>de</strong> amostragem gran<strong>de</strong>, subamostrado, a dinâmica do processo não é representada<br />

bem, pois é possível que eventos importantes que aconteceram entre os tempos <strong>de</strong> amostragem<br />

não sejam gravados.<br />

Em todos os casos, por segurança o sinal é sobreamostrado, e através <strong>de</strong> experimentos verificase<br />

a taxa <strong>de</strong> amostragem mais interessante. Então é feita a dizimação, ou <strong>de</strong>cimação, em que se<br />

dispensa certas amostras para que o sinal tenha <strong>um</strong>a taxa <strong>de</strong> amostragem menor. Caso o sinal<br />

seja subamostrado não há o que fazer, e o mais correto é refazer o experimento. Há <strong>um</strong> estudo<br />

mais aprofundado sobre esse assunto no Capítulo 12 <strong>de</strong> [81].<br />

Para a aeronave, i<strong>de</strong>ntificamos que é necessário fazer a dizimação para a i<strong>de</strong>ntificação das velocida<strong>de</strong>s<br />

lineares. Já para as velocida<strong>de</strong>s angulares não foi necessário. Esse fato se explica, pois as<br />

velocida<strong>de</strong>s lineares mudam lentamente, sendo que há correlação entre as amostras adjacentes. As<br />

velocida<strong>de</strong>s angulares mudam mais rapidamente, e as amostras adjacentes conseguem caracterizar<br />

o processo porque apresentam menos correlação.<br />

No caso <strong>de</strong>ste trabalho a taxa <strong>de</strong> amostragem dos dados como <strong>um</strong> todo é <strong>de</strong> 50hz.<br />

Para fazer a i<strong>de</strong>ntificação do sistema, as variáveis <strong>de</strong> saída foram todas transpostas para o<br />

sistema <strong>de</strong> coor<strong>de</strong>nadas ABC. Assim todas as medições estarão referenciadas à aeronave, e não a<br />

<strong>um</strong> ponto fixo na superfície terrestre. Com isso, evitamos a tendência <strong>de</strong> aparecimento <strong>de</strong> bias,<br />

que é <strong>um</strong>a constante somada ao sinal i<strong>de</strong>ntificado e drift.<br />

No caso da i<strong>de</strong>ntificação linear, como são obtidas funções <strong>de</strong> transferência, foi necessário remover<br />

a média dos sinais <strong>de</strong> entrada e saída i<strong>de</strong>ntificados no trecho <strong>de</strong> i<strong>de</strong>ntificação, para evitar o<br />

aparecimento <strong>de</strong> bias. Isso foi feito, pois se existe <strong>um</strong>a compontente DC nos sinais <strong>de</strong> entrada e<br />

136


saída, essa componente existirá na função <strong>de</strong> transferência i<strong>de</strong>ntificada.<br />

6.6.1 Gerador <strong>de</strong> PRBS<br />

Para i<strong>de</strong>ntificar <strong>um</strong> sistema, é essencial que ele seja excitado com <strong>um</strong> sinal que abranja as<br />

frequências e pontos <strong>de</strong> operação <strong>de</strong> interesse [80, 81]. Uma forma simples <strong>de</strong> se excitar esse<br />

sistema é com <strong>um</strong> ruído branco, que tem todas as componentes <strong>de</strong> frequência, ou <strong>um</strong> ruído branco<br />

filtrado, como sugerido em [80].<br />

Na prática, a maior parte dos sistemas é excitado por <strong>um</strong> Pseudorandom binary sequence<br />

(PRBS, Sequência Binária Pseudo-Randômica). Esse sinal é binário, ou seja, alterna níveis possíveis<br />

em instantes <strong>de</strong> tempo calculados para aproximar esse sinal <strong>de</strong> <strong>um</strong> ruído branco do ponto <strong>de</strong><br />

vista espectral.<br />

Existem várias formas <strong>de</strong> se implementar <strong>um</strong> sinal PRBS, mas a mais tradicional é utilizando<br />

<strong>um</strong> registrador <strong>de</strong> <strong>de</strong>slocamento realimentado com <strong>um</strong>a combinação dos registros atuais e <strong>um</strong>a<br />

lógica baseado em portas XOR. Essa técnica é <strong>de</strong>talhada em [81].<br />

Nesse trabalho, os módulos <strong>de</strong> i<strong>de</strong>ntificação (Seção 4.8) implementaram <strong>um</strong> gerador <strong>de</strong> PRBS<br />

em C com base nos parâmetros especificados em [80,81]. O gerador <strong>de</strong> PRBS permite especificar o<br />

valor <strong>de</strong> N (tamanho do registrador <strong>de</strong> <strong>de</strong>slocamento), os níveis binários, e a faixa <strong>de</strong> frequência a<br />

ser abrangida pelo PRBS. A implementação foi validada contra o código fornecido pelo MATLAB.<br />

A principal vantagem <strong>de</strong> se utilizar <strong>um</strong> gerador embarcado ao invés <strong>de</strong> utilizar <strong>um</strong> arquivo com<br />

a sequência gravada é a possibilida<strong>de</strong> <strong>de</strong> se reprogramar os parâmetros do PRBS em tempo real<br />

durante o experimento, e a facilida<strong>de</strong> <strong>de</strong> gerar <strong>um</strong> número gran<strong>de</strong> <strong>de</strong> PRBS <strong>de</strong>scorrelacionados<br />

para i<strong>de</strong>ntificações do tipo MIMO.<br />

6.6.2 Detalhamento dos voos experimentais<br />

Foram feitos voos em simulação e em situação real para i<strong>de</strong>ntificação. Nessas situações a<br />

aeronave foi excitada <strong>de</strong> modo que sua dinâmica seja realçada <strong>de</strong> acordo com as especificações da<br />

Seção 6.6.<br />

Com o gerador <strong>de</strong> PRBS, basicamente a aeronave foi colocada em <strong>um</strong> ponto <strong>de</strong> operação<br />

manualmente, sob operação <strong>de</strong> piloto, e em <strong>um</strong> certo ponto o sinal <strong>de</strong> PRBS foi acionado. A<br />

i<strong>de</strong>ntificação se baseou em obter o comportamento da aeronave em relação à sinais <strong>de</strong> entrada<br />

para as superfícies <strong>de</strong> atuação.<br />

Explorando o acoplamento entre módulos, foram feitos experimentos com sinais pseudo-aleatórios<br />

atuando em conjunto e atuando separadamente para fins <strong>de</strong> comparação e obtenção do melhor<br />

mo<strong>de</strong>lo.<br />

Em situação <strong>de</strong> voo real, existe <strong>um</strong>a chave que no caso do voo para i<strong>de</strong>ntificação, irá sobrepor<br />

o sinal PRBS ao sinal do piloto. Assim o piloto fará a <strong>de</strong>colagem, <strong>de</strong>ixará o avião no ponto <strong>de</strong><br />

operação, e assim a chave será acionada. Caso a aeronave <strong>de</strong>monstre comportamento instável o<br />

137


sinal é retirado por segurança e o piloto retoma o controle.<br />

As frequências e amplitu<strong>de</strong>s <strong>de</strong>sse sinal foram obtidas testando-se o sinal <strong>de</strong> i<strong>de</strong>ntificação em<br />

simulação e em voo real, observando o comportamento da aeronave <strong>de</strong> modo que não haja perigo<br />

<strong>de</strong> queda no voo em questão.<br />

Para validação, assim como [82], utilizaremos parte do voo para i<strong>de</strong>ntificação, parte do voo<br />

para validação do mo<strong>de</strong>lo i<strong>de</strong>ntificado. Porém, ao contrário <strong>de</strong>sse autor, será aplicado sinal <strong>de</strong><br />

PRBS nas entradas para i<strong>de</strong>ntificação.<br />

Os sinais <strong>de</strong> PRBS foram aplicados individualmente nas entradas, para i<strong>de</strong>ntificação totalmente<br />

<strong>de</strong>sacoplada, proposta por [82]. Em outro experimento, o sinal <strong>de</strong> PRBS foi aplicado no aileron<br />

e no leme, ou no caso <strong>de</strong> 6.6.4 na rolagem e guinada, para o mo<strong>de</strong>lo lateral. Para o mo<strong>de</strong>lo<br />

longitudinal a entrada será a posição do profundor (arfagem, 6.6.4) e o motor. Não aplicamos<br />

sinais <strong>de</strong> i<strong>de</strong>ntificação no motor para evitar condições <strong>de</strong> perigo, on<strong>de</strong> o stall po<strong>de</strong>ria ocorrer e<br />

também porque geralmente o piloto mantém o motor a <strong>um</strong>a rotação constante. Como nosso intuito<br />

é reproduzir o comportamento <strong>de</strong> <strong>um</strong> piloto h<strong>um</strong>ano, achamos que essa premissa seria válida<br />

6.6.3 Voo em malha aberta<br />

Inicialmente tentou-se fazer <strong>um</strong> voo em malha aberta, ou seja, o piloto <strong>de</strong>ixa a aeronave em<br />

<strong>um</strong> ponto <strong>de</strong> operação específico e liga os sinais <strong>de</strong> i<strong>de</strong>ntificação. Enquanto esse sinal atua, o<br />

próprio piloto mantém a aeronave no ponto <strong>de</strong> operação, visto que o sinal <strong>de</strong> i<strong>de</strong>ntificação é<br />

apenas sobreposto ao sinal <strong>de</strong> controle.<br />

Aqui o sinal <strong>de</strong> i<strong>de</strong>ntificação é sobreposto ao sinal <strong>de</strong> entrada as superfícies <strong>de</strong> atuação.<br />

Porém vimos que há <strong>um</strong>a gran<strong>de</strong> dificulda<strong>de</strong> do piloto <strong>de</strong> manter a aeronave em <strong>um</strong> ponto <strong>de</strong><br />

operação. Visualmente não conseguimos perceber, mas observando os dados em gráficos na Seção<br />

7.5.3.1, percebemos que o ponto <strong>de</strong> operação não é mantido, principalmente no que diz respeito<br />

às velocida<strong>de</strong> lineares.<br />

Assim o sistema i<strong>de</strong>ntificado é o processo da aeronave em malha aberta.<br />

Para validação será utilizado outra parte do voo no modo <strong>de</strong> cruzeiro.<br />

6.6.4 Voo em malha fechada<br />

Em <strong>um</strong>a tentativa <strong>de</strong> manter a aeronave mais próxima do ponto <strong>de</strong> operação foi implementado<br />

<strong>um</strong> sistema <strong>de</strong> controle do tipo P em malha fechada. Cada superfície ganhou <strong>um</strong> controlador P<br />

e foi feita <strong>um</strong>a realimentação, <strong>de</strong> forma que a referência seja o ângulo <strong>de</strong> arfagem, guinada ou<br />

rolagem e não mais a posição das superfícies, totalizando nessa etapa três controladores.<br />

Com a realimentação, a aeronave ten<strong>de</strong> a manter o ponto <strong>de</strong> operação pois agora na entrada<br />

do processo estará a diferença entre referência e saída, ou seja, a própria malha irá compensar<br />

<strong>de</strong>svios e restabelecer o ponto <strong>de</strong> referência. Inicialmente o controlador P será sintonizado experimentalmente<br />

apenas para manter a aeronave em <strong>um</strong> ponto <strong>de</strong> operação. Após a i<strong>de</strong>ntificação esse<br />

138


controlador será sintonizado <strong>de</strong> acordo com a função <strong>de</strong> transferência i<strong>de</strong>ntificada.<br />

Para validação será utilizada outra parte do voo contendo outro sinal PRBS, gerado especialmente<br />

para esse propósito.<br />

Ao contrário do voo em malha fechada, o sinal <strong>de</strong> i<strong>de</strong>ntificação é aplicado na entrada da malha<br />

e não na entrada do processo. Logo, a referência, que agora significa ângulos da aeronave, será<br />

consi<strong>de</strong>rada a entrada e consequentemente o mo<strong>de</strong>lo i<strong>de</strong>ntificado será o mo<strong>de</strong>lo em malha fechada<br />

incluindo o controlador.<br />

139


Capítulo 7<br />

Resultados Experimentais<br />

7.1 Introdução<br />

“Never promise more than you can perform.” –<br />

Publilius Syrus<br />

A parte experimental é essencial em qualquer trabalho <strong>de</strong> engenharia. Sem ela, é muito difícil<br />

dizer se o que é proposto funciona na prática, ou seja, em <strong>um</strong> ambiente real - não-linear, variante<br />

no tempo e incerto.<br />

Os experimentos são <strong>de</strong> especial significância quando a proposta principal é <strong>de</strong>senvolver <strong>um</strong>a<br />

plataforma experimental. É nessa etapa que se verifica se a usabilida<strong>de</strong> da plataforma - ou seja,<br />

qual o grau <strong>de</strong> confiabilida<strong>de</strong> que po<strong>de</strong>-se associar a plataforma, qual a sua curva <strong>de</strong> aprendizado<br />

e as limitações experimentais.<br />

É na etapa <strong>de</strong> testes que também os surgem os principais problemas <strong>de</strong> estimação e i<strong>de</strong>ntificação<br />

- etapas imprescindíveis para implementação real <strong>de</strong> qualquer controlador.<br />

Esse capítulo visa mostrar os principais resultados obtidos nesse trabalho, visando os experimentos<br />

em ambiente <strong>de</strong> simulação e na plataforma real. Ele está organizado da seguinte maneira:<br />

na Seção 7.2, os dados obtidos na calibração são mostrados. A Seção 7.3 mostra o <strong>de</strong>sempenho do<br />

sistema <strong>de</strong> aquisição <strong>de</strong> dados, e a Seção 7.4 tem os resultados dos estimadores em simulação e com<br />

dados reais. Finalmente, a Seção 7.5 trata do processo <strong>de</strong> i<strong>de</strong>ntificação <strong>de</strong> sistemas da aeronave.<br />

7.2 Calibração<br />

Um resultado significativo que é normalmente ignorado é são os parâmetros <strong>de</strong> calibração dos<br />

sensores. Se a calibração não for bem executada, os sensores fornecem dados não correspon<strong>de</strong>ntes<br />

as gran<strong>de</strong>zas físicas, o que po<strong>de</strong> levar os diverdir os estimadores ou invalidar <strong>um</strong> conjunto<br />

mo<strong>de</strong>lo/controlador.<br />

Os resultados da calibração estão no Anexo III.<br />

Os primeiros sensores calibrados foram os sensores que me<strong>de</strong>m as gran<strong>de</strong>zas elétricas.<br />

Ba-<br />

141


sicamente, o procedimento foi fazer <strong>um</strong>a medida com o sistema e comparar o valor obtido com<br />

<strong>um</strong>a medida conhecida e calibrada (transfer standard). Várias medidas foram realizadas com <strong>um</strong><br />

multímetro calibrado e o método dos mínimos quadrados foi aplicado para ajustar o mo<strong>de</strong>lo.<br />

Devido a simplicida<strong>de</strong> dos circuitos, dos mo<strong>de</strong>los, e da baixa não-linearida<strong>de</strong>, todos os resultados<br />

foram excelentes, como ilustrados pela Figura 7.1, que mostra a curva <strong>de</strong> calibração da célula<br />

1 da bateria.<br />

5.5<br />

Calibração - Bateria<br />

5<br />

4.5<br />

Saída (V)<br />

4<br />

3.5<br />

3<br />

2.5<br />

2<br />

Dados<br />

Resultados MQ<br />

1.5<br />

300 350 400 450 500 550 600 650 700 750 800<br />

Entrada (Digital)<br />

Figura 7.1: Curva <strong>de</strong> calibração da bateria, mínimos quadrados<br />

A mesma técnica foi utilizada para calibrar o tubo <strong>de</strong> Pitot. Nesse caso, a aeronave foi colocada<br />

em <strong>um</strong> túnel <strong>de</strong> vento (operado pelo Prof. Rafael Gontijo, do grupo Vortex, da Eng. Mecânica)<br />

on<strong>de</strong> velocida<strong>de</strong>s aerodinâmicas <strong>de</strong> referência foram geradas. A curva <strong>de</strong> calibração, também<br />

obtida por mínimos quadrados, está mostrada na Figura 7.2<br />

25<br />

Calibração - Tubo <strong>de</strong> Pitot<br />

20<br />

Saída (m/s)<br />

15<br />

10<br />

5<br />

Dados<br />

Resultados MQ<br />

0<br />

780 790 800 810 820 830 840 850 860 870 880<br />

Entrada (Digital)<br />

Figura 7.2: Curva <strong>de</strong> calibração do tubo <strong>de</strong> Pitot, mínimos quadrados<br />

142


Porém, o resultado mais interessante foram as obtidos para o acelerômetro e magnetômetro,<br />

utilizando o método <strong>de</strong> Newton-Raphson. Nesse caso, a aeronave foi levada para <strong>um</strong> local longe<br />

<strong>de</strong> interferências eletromagnéticas, e movida <strong>de</strong> forma relativamente lenta para garantir que o<br />

magnetômetro e acelerômetro medissem somente os campos magnéticos e gravitacionais, respectivamente.<br />

O método estimou os 6 parâmetros em menos <strong>de</strong> 700 iterações, como mostrado pela<br />

Figura 7.3. Vale notar que o ponto inicial é essencial para a convergência do algoritmo, pois o<br />

algoritmo não convergiu para pontos <strong>de</strong> viés iniciais muito distantes do original (fator <strong>de</strong> escala<br />

ten<strong>de</strong> ao infinito).<br />

7.3 Aquisição <strong>de</strong> Dados - Vôo Real<br />

Outro resultado extremamente importante foi o <strong>de</strong>sempenho do sistema <strong>de</strong> aquisição <strong>de</strong> dados,<br />

que constitui <strong>de</strong> todo o conjunto <strong>de</strong> hardware e software embarcado. O funcionamento <strong>de</strong>sse<br />

sistema, junto com a capacida<strong>de</strong> <strong>de</strong> cálculo e atuação nas superfícies <strong>de</strong> controle da aeronave,<br />

são os resultados mais significativos <strong>de</strong>sse trabalho, pois validam o trabalho <strong>de</strong>senvolvido como<br />

plataforma <strong>de</strong> pesquisa do <strong>LARA</strong>.<br />

Os primeiros testes foram executados com a aeronave <strong>de</strong>ntro <strong>de</strong> <strong>um</strong> carro, a fim <strong>de</strong> i<strong>de</strong>ntificar<br />

qualquer falha no hardware e para eliminar qualquer tipo <strong>de</strong> bug no software sem arriscar o<br />

equipamento. Os testes no carro também permitiram estudar o <strong>de</strong>sempenho dos estimadores,<br />

além <strong>de</strong> aperfeiçoar os procedimentos para vôo.<br />

Os primeiros testes foram muito bem sucedidos, o que permitiu a evolução para testes <strong>de</strong><br />

vôo visando a validação do sistema como <strong>um</strong> todo. Esses testes permitiram o teste não só da<br />

integrida<strong>de</strong> física dos dispositivos instalados na aeronave, mas também a qualida<strong>de</strong> do software,<br />

e a i<strong>de</strong>ntificação <strong>de</strong> pequenos problemas <strong>de</strong> balanceamento e integrida<strong>de</strong>. Esse primeiro teste<br />

também marcou o início da base <strong>de</strong> dados <strong>de</strong> vôos do <strong>LARA</strong>, visando a coleta <strong>de</strong> dados sensoriais<br />

em situações reais para teste e avaliação <strong>de</strong> estimadores.<br />

O teste validou o sistema <strong>de</strong> comutação <strong>de</strong> emergência e autonomia da aeronave. Todos os<br />

testes foram executados com taxa <strong>de</strong> amostragem <strong>de</strong> 50 Hz. O sistema pronto para vôo está na<br />

Figura 7.4.<br />

Os dados obtidos pelos sensores estão nas Figuras 7.5, 7.6, 7.7, 7.8, 7.9, 7.10 e 7.11.<br />

Alguns <strong>de</strong>sses dados merecem ser comentados. Primeiramente, <strong>de</strong>ve-se notar a variância e<br />

ruídos dos sensores inerciais e magnéticos (Figuras 7.5, 7.6, 7.7), o que ilustra a real necessida<strong>de</strong><br />

<strong>de</strong> <strong>um</strong> bom estimador <strong>de</strong> estados para extração <strong>de</strong> informação <strong>de</strong> atitu<strong>de</strong>. Essa gran<strong>de</strong> quantida<strong>de</strong><br />

<strong>de</strong> ruído <strong>de</strong>ve ser associada não só aos sensores em si, mas a dinâmica da aeronave e a forma <strong>de</strong><br />

montagem - ambos problemas típicos associados a sistemas reais. Outro fator a ser notado são os<br />

picos das Figuras 7.5 e 7.6 - no caso do acelerômetro, esse valor chega a -50 m/s 2 durante <strong>um</strong>a<br />

manobra brusca.<br />

A qualida<strong>de</strong> das medidas GPS (Figura 7.8) também supreen<strong>de</strong>ram - tanto a posição como a<br />

velocida<strong>de</strong> mostram variâncias extremamente baixas, com <strong>um</strong> grau <strong>de</strong> precisão compatível com as<br />

143


necessida<strong>de</strong>s do projeto. Do ponto <strong>de</strong> vista qualitativo, esse é o sensor mais confiável a bordo da<br />

aeronave.<br />

O altímetro (Figura 7.9) é outro sensor que surpreen<strong>de</strong>u - suas medidas foram extremamente<br />

semelhantes as do GPS utilizando somente a pressão atmosférica. Esses resultados validam as medidas<br />

do sensor e o mo<strong>de</strong>lo atmosférico utilizado. Isso indica que esse sensor po<strong>de</strong> ser utilizado com<br />

certa confiança para auxiliar a estimação <strong>de</strong> altitu<strong>de</strong>, dado <strong>um</strong> período <strong>de</strong> tempo razoavelmente<br />

curto on<strong>de</strong> as condições atmosféricas se manterem constantes.<br />

Finalmente, os dados do tubo <strong>de</strong> Pitot (Figura 7.10) mostraram <strong>um</strong>a variância muito acima<br />

do esperado. Porém, isso po<strong>de</strong> ser associado as manobras realizadas pelo piloto, que mudavam<br />

bruscamente a velocida<strong>de</strong> da aeronave. A aquisição dos rádios também funciou muito bem (Figura<br />

7.11), o que indica que esses dados po<strong>de</strong>m ser utilizados como entradas <strong>de</strong> i<strong>de</strong>ntificação.<br />

144


-166<br />

-166.5<br />

-167<br />

-167.5<br />

-168<br />

-168.5<br />

0 100 200 300 400 500 600 700<br />

Iterações<br />

Bias X (bx)<br />

Bias Y (by)<br />

Bias Z (bz)<br />

-169<br />

-169.5<br />

-170<br />

13.2<br />

13.1<br />

13<br />

12.9<br />

12.8<br />

12.7<br />

12.6<br />

110<br />

100<br />

90<br />

80<br />

70<br />

60<br />

50<br />

40<br />

30<br />

20<br />

10<br />

0 100 200 300 400 500 600 700<br />

Iterações<br />

-510<br />

-520<br />

-530<br />

-540<br />

-550<br />

-560<br />

-570<br />

-580<br />

0 100 200 300 400 500 600 700<br />

Iterações<br />

0 100 200 300 400 500 600 700<br />

Iterações<br />

Scale Factor X (sfx)<br />

Scale Factor Y (sfy)<br />

Scale Factor Z (sfz)<br />

12.5<br />

12.92<br />

12.9<br />

12.88<br />

12.86<br />

12.84<br />

12.82<br />

12.8<br />

12.78<br />

12.76<br />

12.74<br />

0 100 200 300 400 500 600 700<br />

Iterações<br />

10.8<br />

10.6<br />

10.4<br />

10.2<br />

10<br />

9.8<br />

9.6<br />

9.4<br />

0 100 200 300 400 500 600 700<br />

Iterações<br />

Figura 7.3: Calibração do magnetômetro, método <strong>de</strong> Newton-Raphson<br />

145


Figura 7.4: Aeronave pronta para o vôo <strong>de</strong> testes<br />

30<br />

Medidas do Acelerômetro<br />

Forca Especifica (m/s 2 )<br />

20<br />

10<br />

0<br />

-10<br />

-20<br />

-30<br />

-40<br />

-50<br />

-60<br />

0 50 100 150 200 250 300 350 400<br />

Tempo (s)<br />

a x<br />

a y<br />

a z<br />

Figura 7.5: Aquisição <strong>de</strong> Dados - Vôo Real - Acelerômetro<br />

146


Velocida<strong>de</strong> Angular (rad/s)<br />

4<br />

3<br />

2<br />

1<br />

0<br />

-1<br />

-2<br />

Medidas do Girômetro<br />

ω x<br />

ω y<br />

ω z<br />

-3<br />

0 50 100 150 200 250 300 350 400<br />

Tempo (s)<br />

Figura 7.6: Aquisição <strong>de</strong> Dados - Vôo Real - Girômetro<br />

Campo Magnético (µT)<br />

40<br />

30<br />

20<br />

10<br />

0<br />

-10<br />

-20<br />

-30<br />

-40<br />

-50<br />

Medidas do Magnetômetro<br />

0 50 100 150 200 250 300 350 400<br />

Tempo (s)<br />

m x<br />

m y<br />

m z<br />

Figura 7.7: Aquisição <strong>de</strong> Dados - Vôo Real - Magnetômetro<br />

Posição (m)<br />

150<br />

100<br />

50<br />

0<br />

-50<br />

Medidas do GPS<br />

North<br />

East<br />

Down<br />

-100<br />

-150<br />

0 50 100 150 200 250 300 350 400<br />

Tempo (s)<br />

Figura 7.8: Aquisição <strong>de</strong> Dados - Vôo Real - GPS (Sistema NED)<br />

147


Altitu<strong>de</strong> (m)<br />

80<br />

70<br />

60<br />

50<br />

40<br />

30<br />

20<br />

10<br />

0<br />

-10<br />

Medidas do Altímetro<br />

Alt.<br />

GPS<br />

0 50 100 150 200 250 300 350 400<br />

Tempo (s)<br />

Figura 7.9: Aquisição <strong>de</strong> Dados - Vôo Real - Altímetro e GPS<br />

Velocida<strong>de</strong> Aerodinâmica (m/s)<br />

18<br />

16<br />

14<br />

12<br />

10<br />

8<br />

6<br />

4<br />

2<br />

0<br />

Medidas do Tubo <strong>de</strong> Pitot<br />

0 50 100 150 200 250 300 350 400<br />

Tempo (s)<br />

Figura 7.10: Aquisição <strong>de</strong> Dados - Vôo Real - Tubo <strong>de</strong> Pitot<br />

Sinal do Radio (µs)<br />

2000<br />

1900<br />

1800<br />

1700<br />

1600<br />

1500<br />

1400<br />

1300<br />

1200<br />

1100<br />

0 50 100 150 200 250 300 350 400<br />

Tempo (s)<br />

Medidas do Rádio<br />

2000<br />

Motor<br />

Aile.<br />

1900<br />

Sinal do Rádio (µs)<br />

1800<br />

1700<br />

1600<br />

1500<br />

1400<br />

1300<br />

1200<br />

1100<br />

Prof.<br />

Leme<br />

1000<br />

0 50 100 150 200 250 300 350 400<br />

Tempo (s)<br />

Figura 7.11: Aquisição <strong>de</strong> Dados - Vôo Real - Rádios<br />

148


7.4 Estimação<br />

A validação dos estimadores é outro ponto muito importante <strong>de</strong>sse projeto. A principal dificulda<strong>de</strong><br />

associada a validação <strong>de</strong> <strong>um</strong> estimador é saber qual o estado real - o que só po<strong>de</strong> ser<br />

feito através <strong>de</strong> <strong>um</strong>a medição realizada por <strong>um</strong> sensor <strong>de</strong> baixíssima variância (normalmente indisponível)<br />

ou através <strong>de</strong> <strong>um</strong>a simulação, que normalmente não é completamente fiél ao processo<br />

real.<br />

Para piorar, filtros complexos (com muitas entradas e variáveis <strong>de</strong> estado) po<strong>de</strong>m apresentar<br />

problemas <strong>de</strong> convergência, que po<strong>de</strong>m só aparecer <strong>de</strong>pois <strong>de</strong> muito tempo <strong>de</strong> operação ou com<br />

<strong>um</strong>a excitação inesperada dos sensores - situações que, normalmente, só aparecem com o uso real<br />

do sistema, quando não há <strong>um</strong>a outra medida <strong>de</strong> estado disponível. A situação só piora quando<br />

se trata <strong>de</strong> filtragem sob restrição (nesse caso, a norma unitária dos quaternions).<br />

Com isso em mente, o processo <strong>de</strong> teste e validação dos filtros passou por três etapas: em <strong>um</strong><br />

primeiro momento, o código foi validado utilizando <strong>um</strong>a simulação simples (trajetórias circulares e<br />

o Figure 8 <strong>de</strong> [56]) que gerava dados reais corrompidos por ruídos brancos <strong>de</strong> média nula, hipótese<br />

do Filtro <strong>de</strong> Kalman.<br />

Em <strong>um</strong>a segunda etapa, os dados passaram a ser gerados pelo simulador <strong>de</strong>senvolvido para esse<br />

projeto com base no JSBSim (Seção 4.9) e <strong>um</strong> mo<strong>de</strong>lo <strong>de</strong> <strong>um</strong>a aeronave tradicional (nesse caso,<br />

<strong>um</strong> monomotor Cessna 172). Esse simulador resolve as equações não-lineares <strong>de</strong> vôo (incluindo<br />

condições como vento lateral e arrasto do trem <strong>de</strong> pouso), gerando “dados reais” que seguem a<br />

dinâmica da aeronave. Esses dados são corrompidos por mo<strong>de</strong>los completos (levando em conta<br />

amostragem, viés, erros <strong>de</strong> calibração e alinhamento) para gerar <strong>um</strong> conjunto <strong>de</strong> dados “sensorias”<br />

para os estimadores. Dessa forma, a estimação po<strong>de</strong> ser comparada com o estado real.<br />

Finalmente, os estimadores foram testados com dados <strong>de</strong> vôo. Nessa etapa, a análise é qualitativa,<br />

pois os únicos dados disponíveis são da câmera <strong>de</strong> bordo.<br />

A fim <strong>de</strong> realizar <strong>um</strong>a análise do <strong>de</strong>sempenho comparativa, tanto o CEKF como o Decoupled<br />

EKF foram testados, adicionando mais <strong>um</strong> grau <strong>de</strong> liberada<strong>de</strong> ao sistema. Essa gran<strong>de</strong> quantida<strong>de</strong><br />

<strong>de</strong> escolhas (mo<strong>de</strong>los, parâmetros, sensores, algoritmos e implementações) são o que tornam a<br />

escolha e sintonia <strong>de</strong> <strong>um</strong> estimador <strong>de</strong> estados <strong>um</strong>a tarefa tão complexa.<br />

7.4.1 Simulação<br />

Inúmeras simulações foram realizadas para tentar enten<strong>de</strong>r o comportamento dos filtros e<br />

realizar ajustes para que os mesmos ficassem confiáveis. Infelizmente, boa parte dos ajustes nos<br />

parâmetros do filtro <strong>de</strong>vem ser realizados <strong>de</strong> forma heurística, o que torna o problema muito difícil<br />

<strong>de</strong> ser resolvido.<br />

O que se notou em simulação é que tanto o CEKF como o Decoupled EKF funcionavam bem nas<br />

simulações simples, com o Decoupled EKF mostrando <strong>um</strong>a variância maior em regime permamente<br />

quando a aceleração linear era pequena. Porém, quando a aceleração linear era maior, o CEKF<br />

mostrava <strong>um</strong> erro em regime permanente que po<strong>de</strong>ria chegar a 20 graus, enquanto que o Decoupled<br />

149


EKF mostrava a mesma variância em torno do valor real.<br />

Porém, o segundo estágio <strong>de</strong> simulação surpreen<strong>de</strong>u muito - ambos os estimadores divergiam<br />

com parâmetros que funcionavam bem na primeira simulação. Muitos ajustes nas matrizes Q e R<br />

foram necessários para atingir a estabilida<strong>de</strong>, e mesmo assim os resultados não foram satisfatórios<br />

- em alg<strong>um</strong>as situações, o erro chegava a mais <strong>de</strong> 10 graus entre o estado real e o estado estimado.<br />

A fim <strong>de</strong> tentar contornar esse problema, foram implementados diversos filtros <strong>de</strong> medidas a<br />

fim <strong>de</strong> remover possíveis outliers e forma <strong>de</strong> <strong>de</strong>teção <strong>de</strong> divergência para evitar a <strong>de</strong>generação do<br />

filtro em <strong>um</strong>a situação real. Mesmo assim, os filtros ainda ficaram extremamente sensíveis em<br />

simulação, funcionando apenas para <strong>um</strong> conjunto muito particular <strong>de</strong> parâmetros.<br />

Os resultados <strong>de</strong> <strong>um</strong>a simulação comparativa, on<strong>de</strong> a aeronave <strong>de</strong>cola e pousa, está mostrada<br />

nas Figuras 7.12, 7.13, 7.14, 7.15 e 7.16.<br />

q0<br />

0.8<br />

0.75<br />

0.7<br />

0.65<br />

Quaternions (Simulação)<br />

CEKF<br />

Dec. EKF<br />

Simulação<br />

q1<br />

q2<br />

q3<br />

0.2<br />

0.1<br />

0<br />

-0.1<br />

-0.2<br />

0.3<br />

0.2<br />

0.1<br />

0<br />

-0.1<br />

0.8<br />

0.75<br />

0.7<br />

0.65<br />

0 10 20 30 40 50 60 70 80 90<br />

CEKF<br />

Dec. EKF<br />

Simulação<br />

0 10 20 30 40 50 60 70 80 90<br />

CEKF<br />

Dec. EKF<br />

Simulação<br />

0 10 20 30 40 50 60 70 80 90<br />

CEKF<br />

Dec. EKF<br />

Simulação<br />

0 10 20 30 40 50 60 70 80 90<br />

tempo (s)<br />

Figura 7.12: Estimação - Simulação - Quaternions<br />

O principal problema é a estimativa <strong>de</strong> orientação, principalmente no ângulo <strong>de</strong> arfagem, que<br />

diverge durante a subida da aeronave, como mostrado na Figura 7.13. Essa etapa do vôo está<br />

associada a <strong>um</strong>a forte aceleração linear. O mais interessante é que o Decoupled EKF, que <strong>de</strong>veria<br />

ser imune a esse tipo <strong>de</strong> problema, mostrou o mesmo tipo <strong>de</strong> divergência que o CEKF. A posição<br />

e velocida<strong>de</strong> dos estimadores (Figuras 7.14, 7.15 e 7.16) ficaram muito próximas dos valores reais,<br />

porém, o próprio GPS já fornecia <strong>um</strong>a estimativa próxima do valor simulado.<br />

Uma tentativa <strong>de</strong> atenuar o erro <strong>de</strong> estimação <strong>de</strong> atitu<strong>de</strong> seria a modulação da matriz R<br />

referente ao TRIAD no CEKF, que não estudado nesse trabalho.<br />

Esses problemas po<strong>de</strong>m ser atribuídos a <strong>um</strong>a série <strong>de</strong> fatores. Um <strong>de</strong>les seria a própria simulação,<br />

que po<strong>de</strong> estar gerando dados supostamente “reais” incoerentes <strong>de</strong>vido a <strong>um</strong> erro <strong>de</strong><br />

implementação. De fato, o JSBSim é extremamente sensível a taxa <strong>de</strong> amostragem utilizada -<br />

150


Rolagem (graus)<br />

10<br />

5<br />

0<br />

-5<br />

-10<br />

Ângulos <strong>de</strong> Euler (Simulação)<br />

CEKF<br />

Dec. EKF<br />

Simulação<br />

0 10 20 30 40 50 60 70 80 90<br />

Arfagem (graus)<br />

Guinada (graus)<br />

20<br />

15<br />

10<br />

5<br />

0<br />

-5<br />

-10<br />

95<br />

90<br />

85<br />

80<br />

75<br />

70<br />

CEKF<br />

Dec. EKF<br />

Simulação<br />

0 10 20 30 40 50 60 70 80 90<br />

CEKF<br />

Dec. EKF<br />

Simulação<br />

0 10 20 30 40 50 60 70 80 90<br />

tempo (s)<br />

Figura 7.13: Estimação - Simulação - Ângulos <strong>de</strong> Euler<br />

vx (north, m/s)<br />

5<br />

4<br />

3<br />

2<br />

1<br />

0<br />

-1<br />

Velocida<strong>de</strong> (Simulacao)<br />

CEKF<br />

Dec. EKF<br />

Simulação<br />

0 10 20 30 40 50 60 70 80 90<br />

vy (east, m/s)<br />

vz (down, m/s)<br />

40<br />

30<br />

20<br />

10<br />

0<br />

-10<br />

10<br />

5<br />

0<br />

-5<br />

-10<br />

CEKF<br />

Dec. EKF<br />

Simulação<br />

0 10 20 30 40 50 60 70 80 90<br />

CEKF<br />

Dec. EKF<br />

Simulação<br />

0 10 20 30 40 50 60 70 80 90<br />

tempo (s)<br />

Figura 7.14: Estimação - Simulação - Velocida<strong>de</strong><br />

alguns mo<strong>de</strong>los <strong>de</strong> teste simples não funcionam bem quando a taxa é muito alta ou muito baixa.<br />

O ajuste in<strong>de</strong>vido do filtro (matrizes Q e R) também po<strong>de</strong>m ser causa dos resultados ruins.<br />

O gran<strong>de</strong> número <strong>de</strong> parâmetros e a restrição torna o ajuste muito complexo e sensível.<br />

Outra possibilida<strong>de</strong> é <strong>um</strong> erro <strong>de</strong> formulação ou implementação dos estimadores - por exemplo,<br />

<strong>um</strong> eventual erro <strong>de</strong> mo<strong>de</strong>lagem. Nesse caso, o primeiro estágio <strong>de</strong> simulação funcionaria bem,<br />

151


x (north, m)<br />

y (east, m)<br />

z (down, m)<br />

200<br />

150<br />

100<br />

50<br />

0<br />

-50<br />

2500<br />

2000<br />

1500<br />

1000<br />

500<br />

0<br />

-500<br />

40<br />

20<br />

0<br />

-20<br />

-40<br />

-60<br />

-80<br />

Posição (Simulação)<br />

CEKF<br />

Dec EKF<br />

Simulação<br />

0 10 20 30 40 50 60 70 80 90<br />

CEKF<br />

Dec EKF<br />

Simulação<br />

0 10 20 30 40 50 60 70 80 90<br />

CEKF<br />

Dec EKF<br />

Simulação<br />

0 10 20 30 40 50 60 70 80 90<br />

tempo (s)<br />

Figura 7.15: Estimação - Simulação - Posição<br />

Posicao 3D<br />

2000<br />

1500<br />

z (up, m) [m]<br />

60<br />

40<br />

20<br />

-20 0<br />

150 100 50<br />

y (north, m)<br />

0<br />

0<br />

500<br />

1000<br />

x (east, m)<br />

Figura 7.16: Estimação - Simulação - Posição 3D do Decoupled EKF, sistema ENU<br />

pois os mo<strong>de</strong>los utilizados são os mesmos dos simulados, e esses problemas só apareceriam no<br />

mo<strong>de</strong>lo “caixa preta” do segundo simulador. Porém, os mo<strong>de</strong>los utilizados são conhecidos na<br />

literatura [56, 61, 63], mas com <strong>um</strong>a implementação sugerida ligeiramente diferente.<br />

A qualida<strong>de</strong> da linearização pelo EKF (primeira or<strong>de</strong>m) po<strong>de</strong> ser também <strong>um</strong> dos culpados<br />

pelos problemas <strong>de</strong> convergência do filtro. Se esse for o caso, a substituição por <strong>um</strong> UKF ou outra<br />

152


técnica não-linear <strong>de</strong> maior precisão [71] po<strong>de</strong> solucionar o problema.<br />

Uma última hipótese talvez seja a própria restrição imposta pelo norma unitária do quaternion.<br />

As soluções mais consagradas na literatura [70, 71, 77, 78] utilizam parametrizações dos quaternions<br />

no vetor <strong>de</strong> estados, acrescidos <strong>de</strong> <strong>um</strong> quaternion <strong>de</strong> erro, a fim <strong>de</strong> evitar os problemas <strong>de</strong><br />

convergência e contornar a restrição. A maioria dos trabalhos não menciona a pseudo-medida<br />

como forma <strong>de</strong> normalizar o quaternion.<br />

7.4.2 Dados Reais<br />

Mesmo com os problemas apontados <strong>de</strong> estimação apontados por simulação, os estimadores<br />

foram validados com dados reais <strong>de</strong> vôo. Os dados são referentes ao primeiro vôo <strong>de</strong> testes da<br />

aeronave, e estão mostrados nas Figuras 7.17, 7.18 e 7.19 para o CEKF e Decoupled EKF.<br />

Rolagem (graus)<br />

200<br />

100<br />

0<br />

-100<br />

-200<br />

Ângulos <strong>de</strong> Euler (Vôo Real)<br />

CEKF<br />

Dec EKF<br />

0 50 100 150 200 250 300 350 400<br />

Guinada (graus) Arfagem (graus)<br />

100<br />

50<br />

0<br />

-50<br />

-100<br />

200<br />

100<br />

0<br />

-100<br />

-200<br />

0 50 100 150 200 250 300 350 400<br />

0 50 100 150 200 250 300 350 400<br />

tempo (s)<br />

CEKF<br />

Dec EKF<br />

CEKF<br />

Dec EKF<br />

Figura 7.17: Estimação - Dados Reais - Ângulos <strong>de</strong> Euler<br />

É importante notar que o CEKF só foi executado com sucesso <strong>de</strong>pois <strong>de</strong> se aplicarem técnicas<br />

<strong>de</strong> pré-processamento nas medidas (rejeição <strong>de</strong> outliers), como sugerido em [56].<br />

Da Figura 7.17, percebe-se que o CEKF as vezes apresenta picos muito fora da realida<strong>de</strong> nos<br />

três eixos. Ao mesmo tempo, percebe-se que ele está centrado em torno <strong>de</strong> zero, como seria <strong>de</strong> se<br />

esperar <strong>de</strong> <strong>um</strong>a aeronave.<br />

O Decoupled EKF mostrou <strong>um</strong> comportamento mais suave, mas a estimativa <strong>de</strong> rolagem e<br />

arfagem pareceu divergir com o tempo. Porém, ambos os algoritmos mostraram bons resultados<br />

para o ângulo <strong>de</strong> guinada.<br />

As Figuras 7.18 e 7.19 mostram que os estimadores ficam muito próximos nas estimativas <strong>de</strong><br />

velocida<strong>de</strong> e posição. Po<strong>de</strong>-se perceber <strong>um</strong> pequeno jitter na Figura 7.19, referente ao erro <strong>de</strong><br />

153


vx (m/s)<br />

20<br />

10<br />

0<br />

-10<br />

Velocida<strong>de</strong> (Vôo Real)<br />

CEKF<br />

Dec. EKF<br />

-20<br />

0 50 100 150 200 250 300 350 400<br />

vz (m/s)<br />

vy (m/s)<br />

30<br />

20<br />

10<br />

0<br />

-10<br />

-20<br />

15<br />

10<br />

5<br />

0<br />

-5<br />

-10<br />

CEKF<br />

Dec. EKF<br />

0 50 100 150 200 250 300 350 400<br />

CEKF<br />

Dec. EKF<br />

0 50 100 150 200 250 300 350 400<br />

tempo (s)<br />

Figura 7.18: Estimação - Dados Reais - Velocida<strong>de</strong><br />

Posição 3D<br />

80<br />

GPS<br />

CEKF<br />

Dec. EKF<br />

60<br />

z (up, m)<br />

40<br />

20<br />

0<br />

150<br />

-20<br />

100<br />

40<br />

20<br />

0<br />

-20<br />

-40<br />

-60<br />

y (north, m)<br />

-80<br />

-100<br />

-120<br />

-150<br />

-100<br />

-50<br />

50<br />

0<br />

x (east, m)<br />

Figura 7.19: Estimação - Dados Reais - Posição 3D do Decoupled EKF, sistema ENU<br />

predição em relação a correção. A amplitu<strong>de</strong> <strong>de</strong>sses “pulos” é <strong>de</strong> no máximo 0,2 m, o que mostra<br />

a predição está coerente para pequenos horizontes <strong>de</strong> tempo.<br />

Como não há <strong>um</strong>a referência, não há como afirmar qual estimador é melhor. Porém, o CEKF<br />

mostrou mais coerentes do ponto <strong>de</strong> vista qualitativo, mas isso po<strong>de</strong> ser atribuído a <strong>um</strong> ajuste<br />

mais correto do filtro.<br />

154


7.5 I<strong>de</strong>ntificação<br />

Os presentes gráficos mostram os resultados oriundos <strong>de</strong> <strong>um</strong>a i<strong>de</strong>ntificação aproximando o<br />

processo por <strong>um</strong> mo<strong>de</strong>lo linear, assim como [82] e [83]. Nossa abordagem foi muito semelhante à<br />

<strong>de</strong>les, pois utilizamos o MATLAB para tal.<br />

Os mo<strong>de</strong>los utilizados além <strong>de</strong> serem linearizados, foram <strong>de</strong>sacoplados, como comentado em<br />

6.5.2. Para evitar influências <strong>de</strong> acoplamento <strong>de</strong> variáveis que possivelmente po<strong>de</strong>riam afetar a<br />

estabilida<strong>de</strong> <strong>de</strong> nosso mo<strong>de</strong>lo i<strong>de</strong>ntificado, mo<strong>de</strong>los cada vez mais <strong>de</strong>sacoplados foram utilizados,<br />

como também foi sugerido em [82], e com isso foram obtidos bons mo<strong>de</strong>los i<strong>de</strong>ntificados.<br />

Basicamente a i<strong>de</strong>ntificação foi feita com três tipos <strong>de</strong> mo<strong>de</strong>lo. Os mo<strong>de</strong>los <strong>de</strong>sacoplados<br />

longitudinal e lateral (MD), com 2 entradas e 4 saídas e mo<strong>de</strong>los com todas saídas <strong>de</strong>sacopladas<br />

(MSD), com 2 entradas e 1 saída. Basicamente é <strong>um</strong> MD com saídas <strong>de</strong>sacopladas.<br />

Em alguns casos que serão explicitados foi feita <strong>um</strong>a i<strong>de</strong>ntificação totalmente <strong>de</strong>sacoplada<br />

(MTD), sendo que escolhemos as entradas mais influentes para i<strong>de</strong>ntificação daquelas saídas. Na<br />

Seção 6.5.2 é feita <strong>um</strong>a explicação mais <strong>de</strong>talhada.<br />

Em todos os experimentos o sinal <strong>de</strong> controle foi aplicado na aeronave no modo <strong>de</strong> voo <strong>de</strong><br />

cruzeiro. Isso foi feito, pois <strong>de</strong>seja-se fazer, pelo menos inicialmente, o controle <strong>de</strong> voo nesse<br />

modo. A princípio fazer a <strong>de</strong>colagem com os mesmos parâmetros do modo <strong>de</strong> voo em cruzeiro<br />

é possível, pois geralmente o piloto coloca o motor em rotação máxima e controla a subida com<br />

o profundor e o vento lateral com o leme. Caso tenhamos <strong>um</strong>a pista larga e comprida, ou seja,<br />

tolerando certo erro <strong>de</strong> aproximação entre os mo<strong>de</strong>los <strong>de</strong> cruzeiro e pouso, é possível, com os<br />

parâmetros i<strong>de</strong>ntificados, implementar <strong>um</strong> controlador do tipo PID que controle os ângulos <strong>de</strong><br />

guinada e arfagem, principais influenciados pelas superfícies <strong>de</strong> controle citadas.<br />

Infelizmente esse mo<strong>de</strong>lo não po<strong>de</strong> ser utilizado para os modos <strong>de</strong> voo <strong>de</strong> curvas abruptas e<br />

pouso. No primeiro modo os coeficientes mudam bastante, e consequentemente o mo<strong>de</strong>lo. No<br />

segundo, além das mudanças dos coeficientes, o erro não é tolerado pois caso o controle não seja<br />

feito <strong>de</strong> maneira correta, a aeronave po<strong>de</strong> colidir com o chão e se danificar.<br />

As or<strong>de</strong>ns dos mo<strong>de</strong>los utilizados giraram em torno <strong>de</strong> 3 e 6 no que diz respeito à realimentação<br />

<strong>de</strong> estados e realimentação <strong>de</strong> saídas. Não colocaremos todas as or<strong>de</strong>ns dos mo<strong>de</strong>los para não<br />

<strong>de</strong>ixar a leitura enfadonha e cansativa. Os resultados que foram <strong>de</strong>monstrados nesse trabalho<br />

foram escolhidos <strong>de</strong> forma a mostrar como as i<strong>de</strong>ntificações se comportaram <strong>de</strong> maneira res<strong>um</strong>ida<br />

e eficiente.<br />

7.5.1 Experimento 1 - Simulação malha aberta<br />

Nessa Seção foram feitos nossos primeiros testes para i<strong>de</strong>ntificação. O sinal <strong>de</strong> voo foi gerado<br />

manualmente, on<strong>de</strong> a experiência do piloto foi utilizada para tentar excitar todas as frequências<br />

em todas as superfícies <strong>de</strong> atuação e manter a aeronave no ponto <strong>de</strong> operação. Foram utilizados<br />

mo<strong>de</strong>los MD e MSD.<br />

155


Vel V - m/s<br />

Vel P - rad/s<br />

Vel R - rad/s<br />

φ- rad<br />

10<br />

0<br />

-10<br />

0<br />

-0.5<br />

-1<br />

-1.5<br />

0<br />

-0.5<br />

-1<br />

1<br />

0.5<br />

0<br />

-0.5<br />

Measured<br />

n4sid; fit: -304.2%<br />

arx; fit: -95.63%<br />

Mo<strong>de</strong>lo Lateral Desacoplado<br />

1 1.01 1.02 1.03 1.04 1.05 1.06 1.07 Tempo(s) 1.08 1.09 1.1 1.11<br />

P. (sim)<br />

×10 4<br />

Measured<br />

n4sid; fit: -286.1%<br />

arx; fit: 42.22%<br />

1 1.01 1.02 1.03 1.04 1.05 1.06 1.07 Tempo(s) 1.08 1.09 1.1 1.11<br />

R. (sim)<br />

×10 4<br />

Measured<br />

n4sid; fit: -308.9%<br />

arx; fit: -47.21%<br />

1 1.01 1.02 1.03 1.04 1.05 1.06 1.07 Tempo(s) 1.08 1.09 1.1 1.11<br />

×10 4<br />

φ (sim)<br />

Measured<br />

n4sid; fit: -969.3%<br />

arx; fit: -328%<br />

1 1.01 1.02 1.03 1.04 1.05 1.06 1.07 1.08 1.09 1.1 1.11<br />

×10 4<br />

Tempo(s)<br />

Figura 7.20: Mo<strong>de</strong>lo Lateral Desacoplado i<strong>de</strong>ntificado<br />

Velo U - m/s<br />

Vel W - m/s<br />

Vel Q - rad/s<br />

θ- rad<br />

Mo<strong>de</strong>lo Longitudinal Desacoplado<br />

6 Measured<br />

4<br />

n4sid; fit: -118.2%<br />

2<br />

arx; fit: -309.2%<br />

0<br />

-2<br />

-4<br />

9200 9400 9600 9800 10000<br />

Tempo(s)<br />

10200<br />

2<br />

0<br />

-2<br />

0.2<br />

0<br />

-0.2<br />

0.2<br />

0.1<br />

0<br />

-0.1<br />

W. (sim)<br />

9200 9400 9600 9800 10000 10200<br />

Tempo(s)<br />

Q. (sim)<br />

9200 9400 9600 9800 10000 10200<br />

Tempo(s)<br />

θ (sim)<br />

9200 9400 9600 9800Tempo(s)<br />

10000 10200<br />

Measured<br />

n4sid; fit: 53.49%<br />

arx; fit: 37.53%<br />

Measured<br />

n4sid; fit: 57.24%<br />

arx; fit: 21.09%<br />

Measured<br />

n4sid; fit: -23.95%<br />

arx; fit: -116.7%<br />

Figura 7.21: Mo<strong>de</strong>lo Longitudinal Desacoplado i<strong>de</strong>ntificado<br />

Como po<strong>de</strong>mos perceber os resultados dos mo<strong>de</strong>los acoplados, Figuras 7.20 e 7.21 foram razoáveis,<br />

com exceção das velocida<strong>de</strong>s lineares U e V , assim como os ângulos φ e θ. Uma tônica nas<br />

i<strong>de</strong>ntificações é a exclusão do ângulo ψ <strong>de</strong> guinada, pois não conseguimos obter bons resultados<br />

na i<strong>de</strong>ntificação dos ângulos e resolvemos que para obter boas estimativas é melhor obtê-los com<br />

a integração das velocida<strong>de</strong>s angulares que se comportaram melhor.<br />

156


Comparação das velocida<strong>de</strong> P real com as i<strong>de</strong>ntificadas<br />

0.8<br />

0.6<br />

Measured<br />

Pmo<strong>de</strong>ln4sid; fit: 3.489%<br />

Pmo<strong>de</strong>larx; fit: 3.953%<br />

Velocida<strong>de</strong> P - rad/s<br />

0.4<br />

0.2<br />

0<br />

-0.2<br />

-0.4<br />

-0.6<br />

1.13 1.14 1.15 1.16 1.17 1.18 1.19 1.2 1.21 1.22<br />

Tempo(s)<br />

×10 4<br />

Figura 7.22: Velocida<strong>de</strong> P i<strong>de</strong>ntificada<br />

0.2<br />

Comparação do Ângulo θ real com os i<strong>de</strong>ntificados<br />

0.15<br />

Measured<br />

n4sid; fit: -21.12%<br />

arx; fit: -24.71%<br />

0.1<br />

θ- rad<br />

0.05<br />

0<br />

-0.05<br />

-0.1<br />

9200 9400 9600 9800 10000 10200<br />

Tempo(s)<br />

Figura 7.23: Ângulo θ i<strong>de</strong>ntificado<br />

O problema da i<strong>de</strong>ntificação das velocida<strong>de</strong>s lineares é o ponto <strong>de</strong> operação. Como po<strong>de</strong>mos ver<br />

é muito complicado manter manualmente a aeronave <strong>de</strong>ntro <strong>de</strong> <strong>um</strong>a pequena faixa <strong>de</strong> velocida<strong>de</strong>s<br />

lineares e angulares.<br />

Vendo as Figuras 7.22 e7.23, obtivemos resultados inferiores para o mo<strong>de</strong>lo <strong>de</strong>sacoplado, sendo<br />

que o mo<strong>de</strong>lo n4sid divergiu no final do experimento.<br />

157


Para validação utilizamos pontos seguintes ao do experimento <strong>de</strong> i<strong>de</strong>ntificação. Os dados <strong>de</strong><br />

ângulos e velocida<strong>de</strong>s foram oriundos do estimador.<br />

Porém <strong>de</strong>vido à extensa faixa <strong>de</strong> operação faz <strong>de</strong>sse experimento inválido.<br />

158


7.5.2 Experimento 2 - Simulação malha aberta<br />

Comparação das velocida<strong>de</strong> P real com as i<strong>de</strong>ntificadas<br />

0.2<br />

Measured<br />

n4sid; fit: 74.95%<br />

arx; fit: 67.97%<br />

0.15<br />

0.1<br />

Vel P - rad/s<br />

0.05<br />

0<br />

-0.05<br />

-0.1<br />

-0.15<br />

1.18 1.2 1.22 1.24 1.26 1.28<br />

Tempo(s)<br />

×10 4<br />

Figura 7.24: Velocida<strong>de</strong> P i<strong>de</strong>ntificada<br />

Comparação do Ângulo θ real com os i<strong>de</strong>ntificados<br />

0.04<br />

0.02<br />

0<br />

-0.02<br />

θ- rad<br />

-0.04<br />

-0.06<br />

-0.08<br />

-0.1<br />

-0.12<br />

Measured<br />

n4sid; fit: -50.34%<br />

arx; fit: -46.36%<br />

1.96 1.98 2 2.02 2.04 2.06 2.08 2.1 2.12<br />

Tempo(s)<br />

×10 4<br />

Figura 7.25: Ângulo θ i<strong>de</strong>ntificado<br />

O experimento dois foi mais condizente. Foi sobreposto ao sinal <strong>de</strong> atuação <strong>um</strong> sinal PRBS, e<br />

o piloto tentou manter a aeronave em <strong>um</strong> mesmo ponto <strong>de</strong> operação. O sinal <strong>de</strong> i<strong>de</strong>ntificação foi<br />

colocado <strong>um</strong>a vez em cada superfície <strong>de</strong> atuação individualmente. O trecho <strong>de</strong> validação utilizado<br />

159


Comparação das velocida<strong>de</strong> U real com as i<strong>de</strong>ntificadas<br />

9<br />

8<br />

Measured<br />

Umo<strong>de</strong>ln4sid; fit: -238%<br />

Umo<strong>de</strong>larx; fit: -141.1%<br />

7<br />

Velocida<strong>de</strong> U - m/s<br />

6<br />

5<br />

4<br />

3<br />

2<br />

1<br />

1.96 1.98 2 2.02 2.04 2.06 2.08 2.1 2.12<br />

Tempo(s)<br />

×10 4<br />

Figura 7.26: Velocida<strong>de</strong> U i<strong>de</strong>ntificada<br />

Comparação das velocida<strong>de</strong> V real com as i<strong>de</strong>ntificadas<br />

2<br />

1.5<br />

1<br />

Velocida<strong>de</strong> V - m/s<br />

0.5<br />

0<br />

-0.5<br />

-1<br />

-1.5<br />

-2<br />

-2.5<br />

Measured<br />

Vmo<strong>de</strong>ln4sid; fit: -34.08%<br />

Vmo<strong>de</strong>larx; fit: -33.9%<br />

-3<br />

1.52 1.54 1.56 1.58 1.6 1.62 1.64<br />

×10 4<br />

Tempo(s)<br />

Figura 7.27: Velocida<strong>de</strong> V i<strong>de</strong>ntificada<br />

foi subsequente ao trecho <strong>de</strong> validação. Foi utilizado somente o mo<strong>de</strong>lo (MSD), pois o acoplamento<br />

requerido pelo mo<strong>de</strong>lo MD não se comportou muito bem.<br />

Vemos das Figuras 7.26 a 7.27 que a i<strong>de</strong>ntificação ainda não foi satisfatória. Obtivemos bons<br />

resultados das velocida<strong>de</strong>s P e W ,Figuras (7.24) e (7.24) respectivamente, e ângulos θ (7.25).<br />

Porém as velocida<strong>de</strong>s U e V não foram bem i<strong>de</strong>ntificadas.<br />

160


Comparação das velocida<strong>de</strong> W real com as i<strong>de</strong>ntificadas<br />

1<br />

0.5<br />

Velocida<strong>de</strong> W - m/s<br />

0<br />

-0.5<br />

-1<br />

Measured<br />

N4sid; fit: 64.33%<br />

Arx; fit: 51.79%<br />

1.96 1.98 2 2.02 2.04 2.06 2.08 2.1 2.12<br />

Tempo(s)<br />

×10 4<br />

Figura 7.28: Velocida<strong>de</strong> W i<strong>de</strong>ntificada<br />

As saídas do processo utilizadas para i<strong>de</strong>ntificação foi tratada pelo estimador.<br />

Uma razão para a i<strong>de</strong>ntificação não ter ficado boa é a dificulda<strong>de</strong> <strong>de</strong> o piloto manter a aeronave<br />

no ponto <strong>de</strong> operação, assim como aconteceu no experimento dois. A validação também não foi<br />

feita da maneira mais correta, pois o trecho i<strong>de</strong>ntificado não necessariamente traduz características<br />

i<strong>de</strong>ntificadas. O mais correto seria colocar outro sinal PRBS que excite bem a dinâmica do sistema<br />

para validá-lo.<br />

161


7.5.3 Experimento 3 - Real malha aberta<br />

7.5.3.1 I<strong>de</strong>ntificação mo<strong>de</strong>lo IIR<br />

1.5<br />

Comparação das velocida<strong>de</strong> P real com as i<strong>de</strong>ntificadas<br />

1<br />

0.5<br />

Velocida<strong>de</strong> P - rad/s<br />

0<br />

-0.5<br />

-1<br />

-1.5<br />

Measured<br />

n4sid; fit: -169.8%<br />

arx; fit: -189.6%<br />

240 242 244 246 248 250 252<br />

Tempo(s)<br />

Figura 7.29: Velocida<strong>de</strong> P i<strong>de</strong>ntificada<br />

Comparação das velocida<strong>de</strong> R real com as i<strong>de</strong>ntificadas<br />

1<br />

Measured<br />

Rmo<strong>de</strong>ln4sid; fit: -415.3%<br />

Rmo<strong>de</strong>larx; fit: -226.3%<br />

0.5<br />

Velocida<strong>de</strong> R - rad/s<br />

0<br />

-0.5<br />

-1<br />

-1.5<br />

240 242 244 246 248 250 252<br />

Tempo(s)<br />

Figura 7.30: Velocida<strong>de</strong> R i<strong>de</strong>ntificada<br />

Esse experimento foi o primeiro com dados reais. O sinal <strong>de</strong> i<strong>de</strong>ntificação se comportou da<br />

mesma maneira que o experimento anterior, ou seja, com o sinal <strong>de</strong> PRBS sobreposto ao sinal<br />

162


Comparação do Ângulo θ real com os i<strong>de</strong>ntificados<br />

2.5<br />

2<br />

1.5<br />

Measured<br />

n4sid; fit: -507.9%<br />

arx; fit: -275.4%<br />

1<br />

0.5<br />

θ- rad<br />

0<br />

-0.5<br />

-1<br />

-1.5<br />

-2<br />

-2.5<br />

125 130 135 140<br />

Tempo(s)<br />

Figura 7.31: Ângulo θ i<strong>de</strong>ntificado<br />

20<br />

Comparação das velocida<strong>de</strong> U real com as i<strong>de</strong>ntificadas<br />

18<br />

16<br />

Measured<br />

Umo<strong>de</strong>ln4sid; fit: 8.836%<br />

Umo<strong>de</strong>larx; fit: 6.664%<br />

14<br />

Velocida<strong>de</strong> U - m/s<br />

12<br />

10<br />

8<br />

6<br />

4<br />

2<br />

125 130 135 140<br />

Tempo(s)<br />

Figura 7.32: Velocida<strong>de</strong> U i<strong>de</strong>ntificada<br />

do piloto. A aeronave foi <strong>de</strong>ixada em condição <strong>de</strong> cruzeiro, e o piloto seleciona <strong>um</strong> botão para<br />

alternar as superfícies <strong>de</strong> atuação que recebiam o sinal <strong>de</strong> atuação.<br />

Foi utilizado somente o mo<strong>de</strong>lo MSD, pois o mo<strong>de</strong>lo MD não se comportou muito bem. Um<br />

fato notado nessa i<strong>de</strong>ntificação foi que as velocida<strong>de</strong>s V e R, Figura 7.30 se comportaram melhor<br />

com sinal <strong>de</strong> i<strong>de</strong>ntificação no leme. Claramente elas são fortemente afetadas por ele, pois o leme<br />

163


provoca rotação no eixo Z e <strong>um</strong>a mudança <strong>de</strong> ângulo na trajetória direcionando a aeronave para<br />

o eixo Y . O mesmo ocorre como a velocida<strong>de</strong> P 7.29 e o ângulo φ com o sinal <strong>de</strong> i<strong>de</strong>ntificação no<br />

aileron. Isso evi<strong>de</strong>ncia <strong>um</strong>a sugestão <strong>de</strong> <strong>de</strong>sacoplar esse mo<strong>de</strong>lo separando essas variáveis, o que<br />

foi feito em experimentos posteriores.<br />

As saídas correspon<strong>de</strong>ntes ao mo<strong>de</strong>lo longitudinal foram i<strong>de</strong>ntificadas com o sinal PRBS no<br />

aileron.<br />

Porém mais <strong>um</strong>a vez a i<strong>de</strong>ntificação não foram satisfatórios, observando <strong>de</strong> 7.29,7.30,7.31 e<br />

7.32, exatamente pelos motivos anteriores, o piloto não conseguiu manter a aeronave no ponto <strong>de</strong><br />

operação, visto que é complicado fazê-lo ainda mais controlando-o do solo.<br />

Para validação foi utilizado o voo do experimento 4. As saídas correspon<strong>de</strong>ntes ao mo<strong>de</strong>lo<br />

longitudinal foram i<strong>de</strong>ntificadas com o trecho <strong>de</strong> PRBS atuando no aileron. Para validação das<br />

saídas correspon<strong>de</strong>ntes ao mo<strong>de</strong>lo lateral foi feito o mesmo para o leme e profundor.<br />

Para a i<strong>de</strong>ntificação das velocida<strong>de</strong>s lineares, utilizamos a dizimação, por motivos discutidos<br />

na Seção 6.6. Para isso o fator foi <strong>de</strong> 20.<br />

Nesse caso as saídas do processo utilizadas para a i<strong>de</strong>ntificação foram as saídas do estimador,<br />

pois não há condições <strong>de</strong> se utilizar dados brutos <strong>de</strong>vido aos ruídos, bias etc. E também não temos<br />

ground truth para o experimento real.<br />

Muito cuidado foi tomado para a execução <strong>de</strong>sse experimento, pois sinais <strong>de</strong> i<strong>de</strong>ntificação muito<br />

instáveis e <strong>de</strong> gran<strong>de</strong> amplitu<strong>de</strong> po<strong>de</strong>riam levar a aeronave a queda.<br />

164


7.5.3.2 I<strong>de</strong>ntificação mo<strong>de</strong>lo FIR<br />

Comparação das velocida<strong>de</strong> Q real com as i<strong>de</strong>ntificadas<br />

2<br />

1.5<br />

Measured<br />

Qmo<strong>de</strong>larx; fit: -26.83%<br />

1<br />

Velocida<strong>de</strong> Q - rad/s<br />

0.5<br />

0<br />

-0.5<br />

-1<br />

-1.5<br />

240 260 280 300 320 340<br />

Tempo(s)<br />

Figura 7.33: Velocida<strong>de</strong> Q i<strong>de</strong>ntificada<br />

Comparação do Ângulo θ real com os i<strong>de</strong>ntificados<br />

2<br />

1.5<br />

Measured<br />

arx; fit: -60.63%<br />

1<br />

θ- rad<br />

0.5<br />

0<br />

-0.5<br />

-1<br />

240 260 280 300 320 340<br />

Tempo(s)<br />

Figura 7.34: Velocida<strong>de</strong> θ i<strong>de</strong>ntificada<br />

Com intuito <strong>de</strong> minimizar a tendência <strong>de</strong> instabilida<strong>de</strong> do mo<strong>de</strong>lo i<strong>de</strong>ntificado, foi feita <strong>um</strong>a<br />

i<strong>de</strong>ntificação com mo<strong>de</strong>los FIR <strong>de</strong> alta or<strong>de</strong>m, cerca <strong>de</strong> or<strong>de</strong>m 10 a 15, por motivos já discutido<br />

em 6.5.3.2. Foram utilizados mo<strong>de</strong>los MSD e i<strong>de</strong>ntificados <strong>de</strong> maneira semelhante à utilizada para<br />

o mo<strong>de</strong>lo IIR.<br />

165


Comparação das velocida<strong>de</strong> U real com as i<strong>de</strong>ntificadas<br />

25<br />

20<br />

15<br />

Velocida<strong>de</strong> U - m/s<br />

10<br />

5<br />

0<br />

-5<br />

-10<br />

-15<br />

Measured<br />

Umo<strong>de</strong>larx; fit: 8.715%<br />

-20<br />

-25<br />

240 260 280 300 320 340 360<br />

Tempo(s)<br />

Figura 7.35: Velocida<strong>de</strong> U i<strong>de</strong>ntificada<br />

Comparação das velocida<strong>de</strong> W real com as i<strong>de</strong>ntificadas<br />

10<br />

5<br />

Velocida<strong>de</strong> W - m/s<br />

0<br />

-5<br />

-10<br />

-15<br />

Measured<br />

arx; fit: -62.15%<br />

240 250 260 270 280 290 300 310<br />

Tempo(s)<br />

Figura 7.36: Velocida<strong>de</strong> W i<strong>de</strong>ntificada<br />

Porém vendo <strong>de</strong> 7.33 a 7.36 não obtivemos bons resultados pelos mesmos motivos citados na<br />

Seção anterior.<br />

166


7.5.4 Experimento 6 - Simulação malha fechada<br />

Vel U - m/s<br />

Vel W - m/s<br />

Vel Q - rad/s<br />

Mo<strong>de</strong>lo Longitudinal Desacoplado<br />

0<br />

Measured<br />

2.76 2.78 2.8 2.82 2.84 2.86 2.88 2.9<br />

Tempo(s)<br />

2.92 2.94 2.96<br />

×10 4<br />

-1<br />

n4sid; fit: -92.48%<br />

arx; fit: -72.22%<br />

-2<br />

W. (sim)<br />

2<br />

1<br />

0<br />

-1<br />

-2<br />

2.76 2.78 2.8 2.82 2.84 2.86 2.88 2.9<br />

Tempo(s)<br />

2.92 2.94 2.96<br />

Q. (sim)<br />

0.4<br />

0.2<br />

0<br />

-0.2<br />

2.76 2.78 2.8 2.82 2.84 2.86 2.88 2.9 2.92 2.94 2.96<br />

Tempo(s)<br />

θ (sim)<br />

Measured<br />

n4sid; fit: 72.13%<br />

arx; fit: 82.62%<br />

×10 4<br />

Measured<br />

n4sid; fit: 83.44%<br />

arx; fit: 86.2%<br />

×10 4<br />

2.76 2.78 2.8 2.82 2.84 2.86 2.88<br />

Tempo(s)<br />

2.9 2.92 2.94 2.96<br />

×10 4<br />

0.05<br />

Measured<br />

n4sid; fit: 73.03%<br />

0<br />

arx; fit: 88.81%<br />

-0.05<br />

θ- rad<br />

Figura 7.37: Mo<strong>de</strong>lo Longitudinal <strong>de</strong>sacoplado i<strong>de</strong>ntificado<br />

Mo<strong>de</strong>lo Lateral Desacoplado velocida<strong>de</strong>s(P e φ)<br />

Velocida<strong>de</strong> P - m/s<br />

0.6<br />

0.4<br />

0.2<br />

0<br />

-0.2<br />

-0.4<br />

-0.6<br />

Measured<br />

n4sid; fit: 73.26%<br />

arx; fit: 73.04%<br />

2.26 2.28 2.3 2.32 2.34 2.36 2.38 2.4 2.42 2.44 ×10 4<br />

Tempo(s)<br />

φ (sim)<br />

0.2<br />

0.1<br />

φ - rad<br />

0<br />

-0.1<br />

-0.2<br />

Measured<br />

n4sid; fit: 64.4%<br />

arx; fit: 63.6%<br />

2.26 2.28 2.3 2.32 2.34 2.36 2.38 2.4 2.42 2.44<br />

×10 4 Tempo(s)<br />

Figura 7.38: Mo<strong>de</strong>lo Lateral <strong>de</strong>sacoplado, com variáveis P e φ i<strong>de</strong>ntificado<br />

167


Velocida<strong>de</strong> V - m/s<br />

8<br />

6<br />

4<br />

2<br />

0<br />

-2<br />

-4<br />

-6<br />

Mo<strong>de</strong>lo Lateral Desacoplado velocida<strong>de</strong>s (V e R)<br />

Measured<br />

n4sid; fit: 44.57%<br />

arx; fit: 41.52%<br />

2.54 2.56 2.58 2.6 2.62 2.64 2.66 2.68<br />

×10 4<br />

Velocida<strong>de</strong> R - rad/s<br />

0.4<br />

0.2<br />

0<br />

-0.2<br />

-0.4<br />

R. (sim)<br />

Measured<br />

n4sid; fit: 69.94%<br />

arx; fit: 73.28%<br />

2.54 2.56 2.58 2.6 2.62 2.64 2.66 2.68<br />

Tempo(s)<br />

×10 4<br />

Figura 7.39: Mo<strong>de</strong>lo Lateral <strong>de</strong>sacoplado, com variáveis V e R i<strong>de</strong>ntificado<br />

Comparação das velocida<strong>de</strong> P real com as i<strong>de</strong>ntificadas<br />

0.6<br />

Measured<br />

n4sid; fit: 67.3%<br />

arx; fit: 16.75%<br />

0.4<br />

Velocida<strong>de</strong> P - rad/s<br />

0.2<br />

0<br />

-0.2<br />

-0.4<br />

-0.6<br />

2.26 2.28 2.3 2.32 2.34 2.36 2.38 2.4 2.42 2.44<br />

×10 4<br />

Tempo(s)<br />

Figura 7.40: Velocida<strong>de</strong> P i<strong>de</strong>ntificada<br />

168


Comparação do Ângulo φ real com os i<strong>de</strong>ntificados<br />

0.2<br />

0.15<br />

0.1<br />

Measured<br />

n4sid; fit: 64.23%<br />

arx; fit: 64.08%<br />

0.05<br />

φ- rad<br />

0<br />

-0.05<br />

-0.1<br />

-0.15<br />

-0.2<br />

-0.25<br />

2.26 2.28 2.3 2.32 2.34 2.36 2.38 2.4 2.42 2.44<br />

Tempo(s)<br />

×10 4<br />

Figura 7.41: Ângulo φ i<strong>de</strong>ntificado<br />

Comparação das velocida<strong>de</strong> Q real com as i<strong>de</strong>ntificadas<br />

0.4<br />

0.3<br />

0.2<br />

Velocida<strong>de</strong> Q - rad/s<br />

0.1<br />

0<br />

-0.1<br />

-0.2<br />

-0.3<br />

Measured<br />

n4sid; fit: 90.04%<br />

arx; fit: 44.41%<br />

2.76 2.78 2.8 2.82 2.84 2.86 2.88 2.9 2.92 2.94 2.96<br />

×10<br />

Tempo(s)<br />

4<br />

Figura 7.42: Velocida<strong>de</strong> Q i<strong>de</strong>ntificada<br />

169


Comparação das velocida<strong>de</strong> R real com as i<strong>de</strong>ntificadas<br />

0.3<br />

Measured<br />

n4sid; fit: 74.34%<br />

arx; fit: 13.79%<br />

0.2<br />

Velocida<strong>de</strong> R - rad/s<br />

0.1<br />

0<br />

-0.1<br />

-0.2<br />

-0.3<br />

2.54 2.56 2.58 2.6 2.62 2.64 2.66 2.68<br />

Tempo(s)<br />

×10 4<br />

Figura 7.43: Velocida<strong>de</strong> R i<strong>de</strong>ntificada<br />

Comparação das velocida<strong>de</strong> U real com as i<strong>de</strong>ntificadas<br />

-0.5<br />

-1<br />

Velocida<strong>de</strong> U - m/s<br />

-1.5<br />

-2<br />

Measured<br />

n4sid; fit: -10.75%<br />

-2.5<br />

arx; fit: -42.45%<br />

2.76 2.78 2.8 2.82 2.84 2.86 2.88 2.9 2.92 2.94 2.96<br />

Tempo(s)<br />

×10 4<br />

Figura 7.44: Velocida<strong>de</strong> U i<strong>de</strong>ntificada<br />

170


Comparação das velocida<strong>de</strong> V real com as i<strong>de</strong>ntificadas<br />

8<br />

6<br />

Measured<br />

n4sid; fit: 37.09%<br />

arx; fit: 42.09%<br />

4<br />

Velocida<strong>de</strong> V - m/s<br />

2<br />

0<br />

-2<br />

-4<br />

-6<br />

2.54 2.56 2.58 2.6 2.62 2.64 2.66 2.68<br />

Tempo(s)<br />

×10 4<br />

Figura 7.45: Velocida<strong>de</strong> V i<strong>de</strong>ntificada<br />

Comparação das velocida<strong>de</strong> W real com as i<strong>de</strong>ntificadas<br />

2.5<br />

2<br />

1.5<br />

1<br />

Velocida<strong>de</strong> W - m/s<br />

0.5<br />

0<br />

-0.5<br />

-1<br />

-1.5<br />

Measured<br />

-2<br />

n4sid; fit: 77.77%<br />

arx; fit: 49.32%<br />

-2.5<br />

2.76 2.78 2.8 2.82 2.84 2.86 2.88 2.9 2.92 2.94 2.96<br />

×10 4<br />

Tempo(s)<br />

Figura 7.46: Velocida<strong>de</strong> W i<strong>de</strong>ntificada<br />

171


A fim <strong>de</strong> manter o voo <strong>de</strong>ntro da faixa <strong>de</strong> operação, a malha foi fechada, o que foi explicado<br />

em 6.6.4. Os mo<strong>de</strong>los i<strong>de</strong>ntificados foram do tipo MD 7.37, e MTD, Figuras 7.40 a 7.46. Para<br />

as saídas correspon<strong>de</strong>ntes ao mo<strong>de</strong>lo lateral, foi feita <strong>um</strong>a variação <strong>de</strong> MD: Separamos as saídas<br />

V e R, 7.39 e P e φ 7.38 como foi sugerido na Seção 7.5.3.1, e conseguimos resultados ótimos.<br />

Apesar das saídas do processo serem ground truth, o que não se po<strong>de</strong> obter na realida<strong>de</strong>,<br />

somente por uso <strong>de</strong> simulação, foi mostrado que é possível fazer <strong>um</strong>a i<strong>de</strong>ntificação linear confiável.<br />

Retiramos o estimador, pois ele adiciona sua própria dinâmica ao processo, e isso po<strong>de</strong>ria estar<br />

causando problemas na i<strong>de</strong>ntificação. Como temos a nossa disposição o simulador e dados sem<br />

ruído, utilizamo-nos <strong>de</strong>les.<br />

Mais <strong>um</strong>a vez as velocida<strong>de</strong>s lineares, 7.44 e 7.45 não foram muito bem i<strong>de</strong>ntificadas. Notamos<br />

que a i<strong>de</strong>ntificação linear <strong>de</strong> velocida<strong>de</strong>s lineares é muito complicada e a faixa <strong>de</strong> operação <strong>de</strong>ve<br />

ser muito pequena. Po<strong>de</strong>mos atribuir também à taxa <strong>de</strong> amostragem. É possível que a i<strong>de</strong>ntificação<br />

das velocida<strong>de</strong>s lineares necessite <strong>de</strong> <strong>um</strong> fator <strong>de</strong> dizimação maior, 6.6, como o utilizado<br />

no experimento 3. O que evi<strong>de</strong>ncia que talvez isso possa ser necessário é a velocida<strong>de</strong> linear W ,<br />

7.46 que executou mais variações, dando mais informações à i<strong>de</strong>ntificação e fazendo com que as<br />

amostras adjacentes tenham menos correlação.<br />

Para os ângulos e velocida<strong>de</strong>s angulares conseguimos ótimos valores <strong>de</strong> fitness, evi<strong>de</strong>nciando<br />

que o método utilizado é válido. Os mo<strong>de</strong>los MD também se comportaram <strong>de</strong> maneira muito boa,<br />

com bons resultados, evi<strong>de</strong>nciados nas Figuras 7.37, 7.39 e 7.38.<br />

Para validação, em <strong>um</strong>a segunda parte do mesmo voo foram aplicados sinais PRBS na mesma<br />

or<strong>de</strong>m dos sinais aplicados na i<strong>de</strong>ntificação. O trecho selecionado é aquele que melhor excita o<br />

mo<strong>de</strong>lo i<strong>de</strong>ntificado, por exemplo, em <strong>um</strong> mo<strong>de</strong>lo MTD a velocida<strong>de</strong> angular P , no eixo X, é<br />

validada com PRBS no referência do ângulo <strong>de</strong> rolagem, assim como foi i<strong>de</strong>ntificada. O mesmo<br />

acontece para as outras velocida<strong>de</strong>s e ângulos.<br />

7.5.5 Experimento 8 - Simulação malha fechada<br />

Esse experimento foi feito <strong>de</strong> maneira muito semelhante ao Experimento 6. Porém foram<br />

utilizados somente mo<strong>de</strong>los MD e MTD. Isso porque o sinal <strong>de</strong> PRBS foi aplicado à rolagem e<br />

à guinada simultaneamente. Isso permite fazer <strong>um</strong>a i<strong>de</strong>ntificação do mo<strong>de</strong>lo lateral MD, ou seja,<br />

com as saídas V, P, R e φ <strong>de</strong>ntro do mesmo mo<strong>de</strong>lo. Como o sinal <strong>de</strong> i<strong>de</strong>ntificação foi aplicado<br />

em conjunto nesses dois ângulos, nenh<strong>um</strong>a variável <strong>de</strong>sse conjunto leva vantagem na i<strong>de</strong>ntificação<br />

do mo<strong>de</strong>lo. Para as variáveis correspon<strong>de</strong>ntes ao mo<strong>de</strong>lo longitudinal, os mo<strong>de</strong>los MD e MTD<br />

continuam sendo i<strong>de</strong>ntificadas com sinal PRBS na arfagem.<br />

A i<strong>de</strong>ntificação utilizou dados ground truth e os mo<strong>de</strong>los validados com sinais <strong>de</strong> PRBS aplicados<br />

em <strong>um</strong>a segunda parte do voo, na mesma sequência, semelhante ao que foi feito no Experimento<br />

6.<br />

Ótimos mo<strong>de</strong>los foram encontrados e, porém com problemas semelhantes para as velocida<strong>de</strong>s<br />

lineares. O acoplamento entre os estados, evi<strong>de</strong>nciado nos mo<strong>de</strong>los MD, 7.47 e 7.48 amenizaram<br />

o problema, mostrando <strong>um</strong>a <strong>de</strong>pendência maior <strong>de</strong>ssas variáveis ao acoplamento entre estados.<br />

172


Vel U - m/s<br />

Vel W - m/s<br />

Vel Q - rad/s<br />

θ - rad<br />

1<br />

0<br />

-1<br />

2<br />

1<br />

0<br />

-1<br />

-2<br />

0.4<br />

0.2<br />

0<br />

-0.2<br />

0.05<br />

0<br />

-0.05<br />

Mo<strong>de</strong>lo Longitudinal Desacoplado<br />

Measured<br />

n4sid; fit: 20.86%<br />

arx; fit: 18.61%<br />

2.65 2.7 2.75<br />

W. (sim)<br />

2.8Tempo(s)<br />

2.85 2.9<br />

×10 4<br />

Measured<br />

n4sid; fit: 79.57%<br />

arx; fit: 86.9%<br />

2.65 2.7 2.75<br />

Q. (sim)<br />

2.8 Tempo(s) 2.85 2.9<br />

×10 4<br />

Measured<br />

n4sid; fit: 84.61%<br />

arx; fit: 86.82%<br />

2.65 2.7 2.75<br />

θ (sim)<br />

2.8 Tempo(s) 2.85 2.9<br />

×10 4<br />

Measured<br />

n4sid; fit: 75.83%<br />

arx; fit: 89.46%<br />

2.65 2.7 2.75 2.8<br />

Tempo(s)<br />

2.85 2.9<br />

×10 4<br />

Figura 7.47: Mo<strong>de</strong>lo Longitudinal <strong>de</strong>sacoplado i<strong>de</strong>ntificado<br />

Mo<strong>de</strong>lo Lateral Desacoplado<br />

Vel V - m/s<br />

Vel P - rad/s<br />

Vel R - rad/s<br />

φ - rad<br />

5<br />

0<br />

-5<br />

0.5<br />

0<br />

-0.5<br />

0.4<br />

0.2<br />

0<br />

-0.2<br />

-0.4<br />

0.2<br />

0.1<br />

0<br />

-0.1<br />

-0.2<br />

1 1.1 1.2 1.3 1.4 1.5<br />

Tempo(s)<br />

P. (sim)<br />

1 1.1 1.2 1.3 1.4<br />

Tempo(s)<br />

1.5<br />

R. (sim)<br />

1 1.1 1.2 1.3 Tempo(s) 1.4 1.5<br />

φ (sim)<br />

1 1.1 1.2 1.3 1.4 1.5<br />

Tempo(s)<br />

Measured<br />

n4sid; fit: 71.66%<br />

arx; fit: 70.37%<br />

×10 4<br />

Measured<br />

n4sid; fit: 81.73%<br />

arx; fit: 87.48%<br />

×10 4<br />

Measured<br />

n4sid; fit: 83.99%<br />

arx; fit: 83.73%<br />

×10 4<br />

Measured<br />

n4sid; fit: 81.32%<br />

arx; fit: 85.26%<br />

×10 4<br />

Figura 7.48: Mo<strong>de</strong>lo Longitudinal <strong>de</strong>sacoplado i<strong>de</strong>ntificado<br />

7.5.6 I<strong>de</strong>ntificação <strong>de</strong> mo<strong>de</strong>los não lineares<br />

Em 6.5 foi proposto a i<strong>de</strong>ntificação <strong>de</strong> parâmetros <strong>de</strong> dois mo<strong>de</strong>los não lineares, o mo<strong>de</strong>lo<br />

completo e o mo<strong>de</strong>lo baseado em velocida<strong>de</strong>s angulares.<br />

Como foi dito em 6.5.4, o mo<strong>de</strong>lo baseado em velocida<strong>de</strong>s angulares foi i<strong>de</strong>ntificado com <strong>um</strong><br />

173


Comparação das velocida<strong>de</strong> P real com as i<strong>de</strong>ntificadas<br />

0.8<br />

Measured<br />

0.6<br />

n4sid; fit: 74.75%<br />

arx; fit: 28.41%<br />

0.4<br />

Velocida<strong>de</strong> P - rad/s<br />

0.2<br />

0<br />

-0.2<br />

-0.4<br />

-0.6<br />

-0.8<br />

2.15 2.2 2.25 2.3 2.35 2.4 2.45 2.5<br />

Tempo(s)<br />

×10 4<br />

Figura 7.49: Velocida<strong>de</strong> P i<strong>de</strong>ntificada<br />

Comparação do φ phi real com os i<strong>de</strong>ntificados<br />

0.25<br />

0.2<br />

0.15<br />

Measured<br />

n4sid; fit: 50.97%<br />

arx; fit: 51.6%<br />

0.1<br />

0.05<br />

φ - rad<br />

0<br />

-0.05<br />

-0.1<br />

-0.15<br />

-0.2<br />

2.15 2.2 2.25 2.3 2.35 2.4 2.45 2.5<br />

Tempo(s)<br />

×10 4<br />

Figura 7.50: Ângulo φ i<strong>de</strong>ntificado<br />

Filtro <strong>de</strong> Kalman Estendido (EKF) assim como feito em [84]. Utilizamos essa i<strong>de</strong>ntificação inicialmente<br />

em simulação. Para inicialização dos estados, as velocida<strong>de</strong>s começavam em 0 (aeronave<br />

parada) e os parâmetros foram retirados do mo<strong>de</strong>lo utilizado pelo simulador, assim, a convergência<br />

seria mais rápida aos valores corretos, para aferirmos se o Filtro estava funcionando corretamente.<br />

174


Comparação das velocida<strong>de</strong> Q real com as i<strong>de</strong>ntificadas<br />

0.4<br />

0.3<br />

Measured<br />

n4sid; fit: 90.81%<br />

arx; fit: 48.02%<br />

0.2<br />

Velocida<strong>de</strong> Q - rad/s<br />

0.1<br />

0<br />

-0.1<br />

-0.2<br />

-0.3<br />

-0.4<br />

2.65 2.7 2.75 2.8 2.85 2.9<br />

Tempo(s)<br />

×10 4<br />

Figura 7.51: Velocida<strong>de</strong> Q i<strong>de</strong>ntificada<br />

Comparação das velocida<strong>de</strong> R real com as i<strong>de</strong>ntificadas<br />

0.3<br />

Measured<br />

n4sid; fit: 49.12%<br />

0.2<br />

arx; fit: -2.287%<br />

Velocida<strong>de</strong> R - rad/s<br />

0.1<br />

0<br />

-0.1<br />

-0.2<br />

-0.3<br />

2.15 2.2 2.25 2.3 2.35 2.4 2.45 2.5<br />

Tempo(s)<br />

×10 4<br />

Figura 7.52: Velocida<strong>de</strong> R i<strong>de</strong>ntificada<br />

Para simular <strong>um</strong>a situação real, após essa etapa colocamos valores iniciais mais distantes, pois<br />

em experimentos reais não temos o conhecimento exato <strong>de</strong>sses parâmetros, justamente por isso<br />

a i<strong>de</strong>ntificação está sendo feita. Com isso o Filtro estaria preparado para a i<strong>de</strong>ntificação do caso<br />

real. Esse procedimento foi feito também para i<strong>de</strong>ntificação do mo<strong>de</strong>lo não linear completo.<br />

175


Comparação do Angulo θ com os i<strong>de</strong>ntificados<br />

0.08<br />

0.06<br />

0.04<br />

Angulo θ - rad<br />

0.02<br />

0<br />

-0.02<br />

-0.04<br />

-0.06<br />

-0.08<br />

Measured<br />

n4sid; fit: 63.29%<br />

arx; fit: 58.2%<br />

2.65 2.7 2.75 2.8 2.85 2.9<br />

Tempo(s)<br />

10 4<br />

Figura 7.53: Velocida<strong>de</strong> θ i<strong>de</strong>ntificada<br />

Comparação das velocida<strong>de</strong> U real com as i<strong>de</strong>ntificadas<br />

1<br />

Measured<br />

n4sid; fit: -3.527%<br />

arx; fit: 9.975%<br />

0.5<br />

Velocida<strong>de</strong> U - m/s<br />

0<br />

-0.5<br />

-1<br />

-1.5<br />

2.65 2.7 2.75 2.8 2.85 2.9<br />

Tempo(s)<br />

×10 4<br />

Figura 7.54: Velocida<strong>de</strong> U i<strong>de</strong>ntificada<br />

Os dados utilizados foram do Experimento 2, pela geração <strong>de</strong> PRBS pois até então só tínhamos<br />

esse dois experimentos, sendo que o segundo é melhor que o primeiro pela<br />

Porém o filtro estava estabilizando os valores <strong>de</strong> parâmetros diferentes dos esperados. Tentamos<br />

procurar o erro, mas este não foi encontrado. Provavelmente houve má interpretação do mo<strong>de</strong>lo<br />

176


Comparação das velocida<strong>de</strong> V real com as i<strong>de</strong>ntificadas<br />

6<br />

4<br />

Measured<br />

n4sid; fit: 43.04%<br />

arx; fit: 44.51%<br />

Velocida<strong>de</strong> V - m/s<br />

2<br />

0<br />

-2<br />

-4<br />

-6<br />

2.15 2.2 2.25 2.3 2.35 2.4 2.45 2.5<br />

Tempo(s)<br />

×10 4<br />

Figura 7.55: Velocida<strong>de</strong> V i<strong>de</strong>ntificada<br />

Comparação das velocida<strong>de</strong> W real com as i<strong>de</strong>ntificadas<br />

2<br />

1.5<br />

1<br />

Velocida<strong>de</strong> W - m/s<br />

0.5<br />

0<br />

-0.5<br />

-1<br />

-1.5<br />

-2<br />

-2.5<br />

Measured<br />

n4sid; fit: 69.46%<br />

arx; fit: 61.67%<br />

2.65 2.7 2.75 2.8 2.85 2.9<br />

×10 4<br />

Tempo(s)<br />

Figura 7.56: Velocida<strong>de</strong> W i<strong>de</strong>ntificada<br />

proposto por [85] e i<strong>de</strong>ntificado com Filtro <strong>de</strong> Kalman por [84].<br />

No caso da i<strong>de</strong>ntificação do mo<strong>de</strong>lo não linear completo, Seção 6.5.5, o método foi o mesmo<br />

da i<strong>de</strong>ntificação do mo<strong>de</strong>lo baseado em velocida<strong>de</strong>s angulares, porém com <strong>um</strong>a função específica<br />

do MATLAB para i<strong>de</strong>ntificação <strong>de</strong> sistemas não lineares. Não conseguimos fazê-la i<strong>de</strong>ntificar o<br />

177


mo<strong>de</strong>lo completo com todos os parâmetros, e então tentamos <strong>de</strong>sacoplar os estados como feito<br />

em [2] e explicado na respectiva Seção. Também não conseguimos valores confiáveis.<br />

Como estávamos obtendo bons resultados com os mo<strong>de</strong>los lineares e não estávamos conseguindo<br />

fazer a i<strong>de</strong>ntificação <strong>de</strong> mo<strong>de</strong>los não lineares retornarem bons valores, <strong>de</strong>pois <strong>de</strong> muitas tentativas<br />

escolhemos <strong>de</strong>ixá-las <strong>de</strong> lado e utilizar os mo<strong>de</strong>los lineares.<br />

178


Capítulo 8<br />

Conclusões<br />

“It’s more fun to arrive to a conclusion than to<br />

justify it.” –Malcolm Forbes<br />

Esse trabalho tratou do <strong>de</strong>senvolvimento da plataforma experimental <strong>de</strong> robótica aérea do<br />

<strong>LARA</strong> - o VANT <strong>de</strong> asa fixa batizado <strong>de</strong> plataforma ANU (Autonomously Navigated UAV ). A<br />

i<strong>de</strong>ia era acrescentar <strong>um</strong>a plataforma <strong>de</strong> uso científico ao acervo <strong>de</strong> robôs do <strong>LARA</strong> para pesquisa<br />

em filtragem, estimação e controle <strong>de</strong> veículos aéreos. Dessa forma, a ênfase foi em criar e testar<br />

<strong>um</strong> sistema confiável e flexível para o pesquisador, facilitando ao máximo o seu uso e incentivando<br />

a continuação dos trabalhos.<br />

Uma das principais contribuições <strong>de</strong>sse trabalho foi a parte <strong>de</strong> hardware, ou seja, a escolha<br />

e modificação da plataforma base (aeromo<strong>de</strong>lo <strong>de</strong> asa fixa) e o <strong>de</strong>senvolvimento <strong>de</strong> <strong>um</strong> sistema<br />

completo <strong>de</strong> instr<strong>um</strong>entação e atuação flight-safe (confiável, com sistema <strong>de</strong> emergência), com<br />

capacida<strong>de</strong> <strong>de</strong> processamento suficiente para executar algoritmos complexos do ponto <strong>de</strong> vista<br />

computacional.<br />

O hardware <strong>de</strong>senvolvido conta com toda a instr<strong>um</strong>entação necessária para realização <strong>de</strong> voos<br />

controlados (para i<strong>de</strong>ntificação) e autônomos, além <strong>de</strong> <strong>um</strong> sistema embarcado capaz <strong>de</strong> controlar<br />

a aeronave a <strong>um</strong>a frequência <strong>de</strong> 50 Hz.<br />

A parte <strong>de</strong> software também foi bastante significativa - entre os 5 dispositivos programáveis e os<br />

códigos em MATLAB, mais <strong>de</strong> 30000 linhas <strong>de</strong> código foram escritas. Esses códigos implementam<br />

não só a parte <strong>de</strong> baixo nível, como a comunicação entre dispositivos, mas modularizam o código<br />

<strong>de</strong> tal forma que o programador po<strong>de</strong> tratar o sistema todo como <strong>um</strong>a caixa preta, se <strong>de</strong>sejado.<br />

A organização e doc<strong>um</strong>entação do código visaram facilitar ao máximo a manutenção do sistema.<br />

Dentre esses códigos, <strong>de</strong>vemos <strong>de</strong>stacar o sistema <strong>de</strong> controle principal, que implementa a parte <strong>de</strong><br />

estimação e controle, e o simulador, que permite o teste <strong>de</strong> todos os algoritmos em <strong>um</strong> ambiente<br />

próximo ao real.<br />

Como contribuição lateral, <strong>um</strong> port do FreeRTOS foi <strong>de</strong>senvolvido para o microcontrolador<br />

NXP LPC2148, e <strong>um</strong> port da extensão Linux em tempo real Xenomai foi <strong>de</strong>senvolvida para o<br />

G<strong>um</strong>stix Overo. Um driver serial em tempo real também foi <strong>de</strong>senvolvido, testado e validado.<br />

179


Esse trabalho também contribui no <strong>de</strong>senvolvimento e teste <strong>de</strong> estimadores estado (orientação,<br />

posição e velocida<strong>de</strong>) para VANTs em situações reais, tentando mostrar as possíveis formulações e<br />

seus resultados, além dos principais problemas associados a estimação sob restrição. O Decoupled<br />

EKF foi formulado na tentativa <strong>de</strong> resolver esses problemas, porém, os resultados obtidos mostram<br />

<strong>um</strong> <strong>de</strong>sempenho equivalente a outras formulações disponíveis na literatura.<br />

O projeto também investigou o processo <strong>de</strong> i<strong>de</strong>ntificação <strong>de</strong> sistemas para <strong>um</strong>a aeronave,<br />

fazendo <strong>um</strong>a revisão das técnicas apropriadas e ressaltando as principais dificulda<strong>de</strong>s associadas<br />

a esse processo, como a importância <strong>de</strong> manter o sistema no ponto <strong>de</strong> operação. Vários mo<strong>de</strong>los<br />

foram i<strong>de</strong>ntificados e validados, preparando <strong>um</strong> trabalho em torno do controle da aeronave.<br />

Voltando aos objetivos originais, que se res<strong>um</strong>em a acrescentar <strong>um</strong>a plataforma com todo o<br />

sistema <strong>de</strong> hardware e software para voo autônomo ao <strong>LARA</strong> - objetivo claramente atingido, como<br />

ilustrados pelos resultados experimentais. A experiência obtida também será imprescindível para<br />

o projeto FINEP/MINIVANT, que utilizará parte da arquitetura <strong>de</strong>senvolvida como base do novo<br />

protótipo.<br />

É importante ressaltar que todos os resultados obtidos (software, hardware, estimação e i<strong>de</strong>ntificação)<br />

não se aplicam apenas a esse projeto, mas po<strong>de</strong>m ser facilmente utilizados em outras<br />

plataformas aéreas com pequenas modificações.<br />

Para os trabalhos futuros, sugere-se a adição do software necessário para a implementação da<br />

estação base sobre o link XBee disponível no sistema utilizando o MAVLink e o QGroundControl<br />

como base. A estação base é importante para monitorar e ajustar parâmetros <strong>de</strong> voo em tempo<br />

real, além <strong>de</strong> permitir a implementação <strong>de</strong> <strong>um</strong> sistema <strong>de</strong> planejamento <strong>de</strong> missão com <strong>um</strong>a<br />

interface amigável e intuitiva. A avaliação da necessida<strong>de</strong> e implementação <strong>de</strong> algoritmos <strong>de</strong><br />

calibração online para os sensores também <strong>de</strong>vem ser estudados, a fim <strong>de</strong> fornecer dados coerentes<br />

aos estimadores em todas as situações <strong>de</strong> voo.<br />

Outra sugestão é a evolução no estudo dos estimadores <strong>de</strong> estado, tomando especial atenção<br />

a formulação e a questão da convergência. As implementações mais citadas na literatura são as<br />

que utilizam o MEKF [77] como base, porém, os melhores resultados são os que utilizam técnicas<br />

não-lineares para estimação, como o UKF [78]. Outra sugestão é o uso <strong>de</strong> outros sensores para<br />

melhorar a estimação, como os sonares e o vetor direção <strong>de</strong> movimento fornecido pelo GPS, e a<br />

estimação da direção e intensida<strong>de</strong> do vento para navegações <strong>de</strong> longo alcance.<br />

Na parte <strong>de</strong> i<strong>de</strong>ntificação, a i<strong>de</strong>ntificação caixa preta utilizando controladores para manter a<br />

aeronave no ponto <strong>de</strong> operação com dados reais <strong>de</strong> voo e a i<strong>de</strong>ntificação <strong>de</strong> <strong>um</strong> mo<strong>de</strong>lo completo<br />

utilizando técnicas do tipo caixa cinza ficam sugeridos como trabalhos futuros.<br />

A implementação <strong>de</strong> <strong>um</strong> sistema completo <strong>de</strong> controle e navegação fica como sugestão final,<br />

tentando utilizar os mo<strong>de</strong>los não-lineares completos obtidos no processo <strong>de</strong> i<strong>de</strong>ntificação. Com<br />

essa etapa completa, a plataforma ANU po<strong>de</strong> evoluir e se tornar <strong>um</strong>a plataforma <strong>de</strong> aquisição <strong>de</strong><br />

dados aéreos para outros fins científicos, carregando diversos outros sensores, ou po<strong>de</strong> servir <strong>de</strong><br />

base para <strong>um</strong> novo VANT <strong>de</strong>senvolvido em cima <strong>de</strong> todo o conhecimento ac<strong>um</strong>ulado nesse projeto.<br />

Em s<strong>um</strong>a, po<strong>de</strong>mos afirmar que esse projeto foi <strong>um</strong> gran<strong>de</strong> sucesso para o <strong>LARA</strong>.<br />

180


Figura 8.1: Plataforma ANU após o vôo<br />

181


Referências Bibliográficas<br />

[1] BÓ, A. P. L. <strong>Desenvolvimento</strong> <strong>de</strong> <strong>um</strong> sistema <strong>de</strong> localizacão 3D para aplicacão em robôs aéreos.<br />

Dissertação (Mestrado) — Universida<strong>de</strong> <strong>de</strong> Brasília, Brasília, 2007.<br />

[2] BECKMANN, E. D. Arquitetura <strong>de</strong> Instr<strong>um</strong>entação e Controle para <strong>um</strong> Protótipo <strong>de</strong> Robô<br />

Aéreo Baseado em <strong>um</strong> Helimo<strong>de</strong>lo. Dissertação (Mestrado) — Universida<strong>de</strong> <strong>de</strong> Brasília, Brasília,<br />

2008.<br />

[3] SANTANA, P. H. <strong>de</strong> Rodrigues Quemel e A.; BRAGA, M. A. Conepção <strong>de</strong> <strong>um</strong> Veículo Aéreo<br />

Não-<strong>Tripulado</strong> do Tipo Quadrirrotor. 142 f. Monografia (Trabalho <strong>de</strong> Graduação) — Universida<strong>de</strong><br />

<strong>de</strong> Brasília, Brasília, Brasil, 2008.<br />

[4] SANTANA, P. H. Q. e A. Filtragem Estocástica para Sistemas Híbridos e suas Aplicações em<br />

Robótica Aérea. Dissertação (Mestrado) — Universida<strong>de</strong> <strong>de</strong> Brasília, Brasília, 2011.<br />

[5] BRINDEIRO, G. A. Sistema <strong>de</strong> Localização por GPS/UMI para Robôs Móveis em Ambientes<br />

Externos. 96 f. Monografia (Trabalho <strong>de</strong> Graduação) — Universida<strong>de</strong> <strong>de</strong> Brasília, Brasília,<br />

Brasil, 2011.<br />

[6] BAPTISTA, R. <strong>de</strong> S. I<strong>de</strong>ntificação <strong>de</strong> Sistemas Híbridos e Controle H [infinito] para o <strong>Desenvolvimento</strong><br />

<strong>de</strong> VANT Autônomo. Dissertação (Mestrado) — Universida<strong>de</strong> <strong>de</strong> Brasília, Brasília,<br />

2011.<br />

[7] SOUZA, B. <strong>de</strong> C.; DANTAS, D. T. <strong>Desenvolvimento</strong> <strong>de</strong> <strong>um</strong> Sistema <strong>de</strong> Navegação Autônoma<br />

para <strong>um</strong> Mini Veículo Aéreo Não Trupulado <strong>de</strong> Asa Fixa. 79 f. Monografia (Trabalho <strong>de</strong> Conclusão<br />

<strong>de</strong> Curso) — Universida<strong>de</strong> <strong>de</strong> Brasília, Brasília, Brasil, 2012.<br />

[8] COOK, V. Flight Dynamics Principles. Burlington, USA: Elsevier/Butterworth-Heinemann,<br />

2007. (Elsevier Aerospace Engineering Series). ISBN 9780750669276.<br />

[9] KUIPERS, J. B. Quaternions and Rotation Sequences: A Primer with Applications to Orbits,<br />

Aerospace and Virtual Reality. Princeton, USA: Princeton University Press, 2002. Paperback.<br />

[10] RCEXTREME. Manual <strong>de</strong> Instruções - Sky Master. Brasília, Brasil, 2010.<br />

[11] HITEC RCD USA. HS-5055MG Economy Metal Gear Feather Servo. Poway, USA. Datasheet.<br />

[12] TURNIGY. Turnigy C3530-1100 Brushless DC Motor. China. Datasheet.<br />

183


[13] SPEKTRUM. Spektr<strong>um</strong> DX7 Instruction Manual. Champaing, USA, 2008.<br />

[14] WILLIAMS, T. The Circuit Designer’s Companion, Second Edition (EDN Series for Design<br />

Engineers). Oxford, UK: Newnes, 2005. ISBN 0750663707.<br />

[15] SPARKFUN ELECTRONICS. 9 Degrees of Freedom - Razor IMU - AHRS compatible (SEN-<br />

09623 v14). Boul<strong>de</strong>r, USA. Diagrama Esquemático.<br />

[16] STMICROELECTRONICS. LY530ALH MEMS motion sensor: high performance ±300 o /s<br />

analog yaw-rate gyroscope. Geneva, Switzerland. Datasheet. 06-Jul-2009 / Doc ID 15801 Rev 2.<br />

[17] STMICROELECTRONICS. LPR530AL MEMS motion sensor: dual axis pitch and roll ±300<br />

o /s analog gyroscope. Geneva, Switzerland. Datasheet. 06-Jul-2009 / Doc ID 15812 Rev 2.<br />

[18] ANALOG DEVICES. 3-Axis Digital Accelerometer ADXL345. Norwood, USA. Datasheet.<br />

5/09 - Revision 0: Initial Version.<br />

[19] HONEYWELL. 3-Axis Digital Compass IC HMC5843. Plymouth, USA. Datasheet. Form<br />

900367 - February 2009.<br />

[20] NOVATEL. NovAtel SUPERSTAR II User Manual Rev 3. Calgary, Canada, 2004.<br />

[21] JEFFREY, C. An Introduction to GNSS: GPS, GLONASS, Galileo and other Global Navigation<br />

Satellite Systems. 1st. ed. Calgary, Canada: NovAtel Inc, 2010.<br />

[22] V.TORCH ELECTRONICS. GPS Internal Active Antenna - Mo<strong>de</strong>l: VTGPSIA-3. Shenzhen,<br />

China. Datasheet.<br />

[23] GUMSTIX INC. G<strong>um</strong>stix Overo Water Technical Details. Redwood, USA. Datasheet.<br />

[24] TEXAS INSTRUMENTS. OMAP3530/25 Applications Processor (Rev. F). Dallas, USA.<br />

Datasheet. SPRS507F - FEBRUARY 2008 - REVISED OCTOBER 2009.<br />

[25] GUMSTIX INC. G<strong>um</strong>stix Pinto-TH Schematic. Redwood, USA. Diagrama Esquemático.<br />

[26] ATMEL. 8-bit Atmel Microcontroller with 4/8/16/32K Bytes In-System Programmable Flash<br />

- ATmega328P. San Jose, USA. Datasheet. Rev. 8271DS - AVR - 05/11.<br />

[27] NXP SEMICONDUCTORS. LPC2141/42/44/46/48 Product Datasheet. Eindhoven, The<br />

Netherlands. Datasheet. Rev. 5 - 12 August 2011.<br />

[28] OLIMEX. LPC-H2148 Prototype Hea<strong>de</strong>r Board for LPC2148 ARM7TDMI-S Microcontroller.<br />

Plovdiv, Bulgaria. Diagrama Esquemático.<br />

[29] FREESCALE SEMICONDUCTOR. MPXV7002 Series Integrated Silicon Pressure Sensor<br />

On-Chip Signal Conditioned, Temperature Compensated and Calibrated. Austin, USA. Datasheet.<br />

Rev 2, 1/2009.<br />

[30] EAGLE TREE SYSTEMS. Pitot Tube Specifications. Bellevue, USA. Datasheet.<br />

184


[31] VTI TECHNLOGIES. SCP1000 Series Absolute pressure sensor. Vantaa, Finland. Datasheet.<br />

Doc.Nr. 8260800.08 Rev.0.08.<br />

[32] ALLEGRO MICROSYSTEMS. ACS755xCB-150 Fully Integrated, Hall Effect-Based Linear<br />

Current Sensor with High Voltage Isolation and a Low-Resistance Current Conductor. Worcester,<br />

USA. Datasheet. ACS755150-DS Rev. 5.<br />

[33] MAXBOTIX. LV-MaxSonar-EZ4 High Performance Sonar Range Fin<strong>de</strong>r (MB1040). Brainerd,<br />

USA. Datasheet.<br />

[34] TEXAS INSTRUMENTS. LM35 Precision Centigra<strong>de</strong> Temperature Sensors. Dallas, USA.<br />

Datasheet. Rev. B, November 2000.<br />

[35] DIGI. XBee-PRO 900 Point-to-Multipoint Embed<strong>de</strong>d RF Modules for OEMs. Minnetonka,<br />

USA. Datasheet.<br />

[36] PAUL, C. R. Introduction to Electromagnetic Compatibility (Wiley Series in Microwave and<br />

Optical Engineering). Hoboken, USA: Wiley-Interscience, 2006. ISBN 0471755001.<br />

[37] OTT, H. Electromagnetic compatibility engineering. Hoboken, USA: John Wiley and Sons,<br />

2009. ISBN 0470189304.<br />

[38] TEXAS INSTRUMENTS. 6-A 4.5V-14V Input Non-Isolated Wi<strong>de</strong> Output Adjustable Power<br />

Module w/TurboTrans (Rev. L), PTH08T230W, PTH08T231W. Dallas, USA. Datasheet.<br />

SLTS265L - NOVEMBER 2005 - REVISED AUGUST 2011.<br />

[39] NATIONAL SEMICONDUCTOR. LM1117/LM1117I 800mA Low-Dropout Linear Regulator.<br />

Santa Clara, USA. Datasheet. DS100919 - April 2006.<br />

[40] MICROCHIP TECHNOLOGY. MCP601/1R/2/3/4 2.7V to 6.0V Single Supply CMOS Op<br />

Amps. Chandler, USA. Datasheet. DS21314G.<br />

[41] MAXIM INTEGRATED PRODUCTS. ±15kV ESD-Protected, 1µA, 16Mbps, Dual/Quad<br />

Low-Voltage Level Translators in UCSP. San Jose, USA. Datasheet. 19-2328; Rev 2; 11/07.<br />

[42] MAXIM INTEGRATED PRODUCTS. 3.0V to 5.5V, Low-Power, up to 1Mbps, True RS-232<br />

Transceivers Using Four 0.1µF External Capacitors. San Jose, USA. Datasheet. 19-0273; Rev<br />

7; 1/07.<br />

[43] PETERSON, L. Computer networks : a systems approach. San Fransisco, USA: Morgan<br />

Kaufmann, 2007. ISBN 0123740134.<br />

[44] SRIDHAR, T. Designing embed<strong>de</strong>d communications software. San Francisco, USA: CMP Books,<br />

2003. ISBN 157820125x.<br />

[45] CAVALCANTI, B. C. et al. Estabilização fuzzy da postura <strong>de</strong> <strong>um</strong> robô h<strong>um</strong>anói<strong>de</strong>. In: X<br />

Simpósito Brasileiro <strong>de</strong> Automação Inteligente (SBAI 2011). São João <strong>de</strong>l-Rei: X Simpósito<br />

Brasileiro <strong>de</strong> Automação Inteligente, 2011.<br />

185


[46] LI, Q.; YAO, C. Real-Time Concepts for Embed<strong>de</strong>d Systems. San Francisco, USA: CMP, 2003.<br />

ISBN 1578201241.<br />

[47] NXP SEMICONDUCTOR. UM10139 LPC214x User manual Rev 4. Eindhoven, The Netherlands,<br />

2012.<br />

[48] LAPLANTE, P. A. Real-Time Systems Design and Analysis: An Engineer’s Handbook. New<br />

York, USA: IEEE, 1992. ISBN 0780304020.<br />

[49] GERUM, P. Xenomai - Implementing a RTOS emulation framework on GNU/Linux. France,<br />

2004.<br />

[50] HALLINAN, C. Embed<strong>de</strong>d Linux Primer: A Practical Real-World Approach. Upper Saddle<br />

River, USA: Prentice Hall, 2006. ISBN 0131679848.<br />

[51] STALLINGS, W. Operating Systems: Internals and Design Principles (6th Edition). Upper<br />

Saddle River, USA: Prentice Hall, 2008. ISBN 0136006329.<br />

[52] BOVET, D. P.; CESATI, M. Un<strong>de</strong>rstanding the Linux Kernel, Third Edition. Sebastopol,<br />

USA: O’Reilly Media, 2005. ISBN 0596005652.<br />

[53] TEXAS INSTRUMENTS. OMAP35x Technical Reference Manual (Rev. X). Dallas, USA,<br />

2012.<br />

[54] BUTENHOF, D. R. Programming with POSIX Threads. Boston, USA: Addison-Wesley, 1997.<br />

(Professional Computing Series).<br />

[55] STEVENS, B. Aircraft control and simulation. New York, USA: Wiley, 1992. ISBN<br />

0471613975.<br />

[56] GREWAL, M. S.; ANDREWS, A. P. Kalman Filtering: Theory and Practice Using MATLAB.<br />

Hoboken, USA: Wiley-IEEE Press, 2008. ISBN 0470173661.<br />

[57] BÓ, A. P. L.; BORGES, G. A. Low-cost 3D localization system for applications on aerial<br />

robots. In: MIYAGI, P. E.; HORIKAWA, O.; MOTTA, J. M. (Ed.). ABCM symposi<strong>um</strong> series<br />

in mechatronics. Rio <strong>de</strong> Janeiro: Associação Brasileira <strong>de</strong> Engenharia e Ciências Mecânicas,<br />

2008. v. 3, p. 355–362.<br />

[58] BORGES, G. A.; BÓ, A. P. L.; ISHIHARA, J. Y. An IMU/Magnetometer/GPS-based localization<br />

system using correlated Kalman filtering. In: XVII Congresso Brasileiro <strong>de</strong> Automática<br />

(CBA 2008). Juiz <strong>de</strong> Fora: XVII Congresso Brasileiro <strong>de</strong> Automática, 2008. v. 3, p. 1–6.<br />

[59] BENTLEY, J. P. Principles of Measurement Systems. 4th. ed. Harlow, UK: Pearson Prentice<br />

Hall, 2005. Paperback.<br />

[60] FRADEN, J. Handbook of Mo<strong>de</strong>rn Sensors: Physics, Designs, and Applications. San Diego,<br />

USA: Springer, 2003. ISBN 0387007504.<br />

[61] GREWAL, M.; WEILL, L.; ANDREWS, A. Global Positioning Systems, Inertial Navigation,<br />

and Integration. New York, USA: Wiley Inter-Science, 2001.<br />

186


[62] GEBRE-EGZIABHER, D. et al. A non-linear, two-step estimation algorithm for calibrating<br />

solid-state strapdown magnetometers. San Francisco, USA, 2001.<br />

[63] TITTERTON, D. H.; WESTON, J. L. Strapdown Inertial Navigation Technology. 2nd. ed.<br />

Stevenage, United Kingdom: Institution of Electrical Engineers American Institute of Aeronautics<br />

and Astronautics, 2004. (IEE Radar, Sonar, Navigation and Avionics Series 5).<br />

[64] INTERNATIONAL STANDARDS ORGANIZATION (ISO). Standard Atmosphere. Geneva,<br />

Switzerland, 1975. Norm.<br />

[65] VTI Technologies. Application Note 33 - SCP1000-D01/D11 Pressure Sensor as Barometer<br />

and Altimeter. Vantaa, Finland, Finland, 2006.<br />

[66] National Imagery and Mapping Agency. Technical Report 8350.2 - World Geo<strong>de</strong>tic System<br />

1984 - Its Definition and Relationships with Local Geo<strong>de</strong>tic Systems. Washington, USA.<br />

[67] DIEBEL, J. Representing Attitu<strong>de</strong>: Euler Angles, Unit Quaternions, and Rotation Vectors.<br />

Stanford University, Palo Alto, USA, 2006.<br />

[68] GROVES, P. D. Principles of GNSS, Inertial, and Multisensor Integrated Navigation Systems.<br />

Boston, USA: Artech House, 2008. (GNSS Technology and Applications Series).<br />

[69] PSIAKI, M. L. Exten<strong>de</strong>d quest attitu<strong>de</strong> <strong>de</strong>termination filtering. In: Flight Mechanics Symposi<strong>um</strong>.<br />

Greenbelt, USA: NASA, 1999. p. 1–15.<br />

[70] MARTIN, P.; SALAüN, E. Generalized multiplicative exten<strong>de</strong>d kalman filter for ai<strong>de</strong>d attitu<strong>de</strong><br />

and heading reference system. In: AIAA Guidance, Navigation, and Control Conference.<br />

Toronto, Canada: AIAA, 2010.<br />

[71] MARKLEY, F. L.; CRASSIDIS, J. L. Nonlinear attitu<strong>de</strong> filtering methods. AIAA Journal<br />

of Guidance, Control and Dynamics, p. 1–32, 2005.<br />

[72] CARMI, A. Sequential Monte Carlo Methods for Spacecraft Attitu<strong>de</strong> and Angular Rate Estimation<br />

from Vector Observations. Tese (Doutorado) — Israel Institute of Technlogy, 2008.<br />

[73] HALL, J. K.; KNOEBEL, N. B.; MCLAIN, T. W. Quaternion attitu<strong>de</strong> estimation for miniature<br />

air vehicles using a multiplicative exten<strong>de</strong>d kalman filter. In: . Monterey, USA: IEEE,<br />

2008. p. 1230–1237. ISBN 978-1-4244-1536-6.<br />

[74] VERNAZA, P.; LEE, D. Rao-blackwellized particle filtering for 6-dof estimation of attitu<strong>de</strong><br />

and position via gps and inertial sensors. In: Proceedings 2006 IEEE International Conference<br />

on Robotics and Automation, 2006. ICRA 2006. Orlando, USA: IEEE, 2006. p. 1571–1578.<br />

ISBN 0-7803-9505-0.<br />

[75] SIMON, D. Optimal state estimation: Kalman, H [infinity] and nonlinear approaches. New<br />

York, USA: Wiley Inter-Science, 2006.<br />

[76] JAZWINSKI, A. H. Stochastic Processes and Filtering Theory. New York, USA: Aca<strong>de</strong>mic<br />

Press, 1970.<br />

187


[77] LEFFERTS, E. J.; MARKLEY, F. L.; SHUSTER, M. D. Kalman filtering for spacescraft<br />

attitu<strong>de</strong> estimation. AIAA Journal of Guidance, Control and Dynamics, v. 5, n. 5, p. 417–429,<br />

1982.<br />

[78] CRASSIDIS, J. L.; MARKLEY, F. L. Unscented filtering for spacecraft attitu<strong>de</strong> estimation.<br />

Journal of Guidance, Control, and Dynamics, v. 26, n. 4, p. 536–542, jul. 2003. ISSN 0731-5090.<br />

[79] GEBRE-EGZIABHER, D.; ELKAIM, G. H. MAV Attitu<strong>de</strong> Determination From Observations<br />

of Earth’s Magnetic and Gravity Field Vectors. Minneapolis, USA.<br />

[80] LJUNG, L. System I<strong>de</strong>ntification: Theory for the User. Harlow, UK: Pearson Education,<br />

1998. ISBN 9780132440530.<br />

[81] AGUIRRE, L. A. Introdução à I<strong>de</strong>ntificação <strong>de</strong> Sistemas – Técnicas Lineares e Não-Lineares<br />

Aplicadas a Sistemas Reais. Belo Horizonte, Brasil: Editora UFMG, 2007.<br />

[82] WU, H.; SUN, D.; ZHOU, Z. Mo<strong>de</strong>l I<strong>de</strong>ntification of a Micro Air Vehicle in Loitering Flight<br />

Based on Attitu<strong>de</strong>. IEEE Transactions on Robotics, v. 20, n. 4, p. 702–712, 2004.<br />

[83] KHALIL, B.; YESILDIREK, A. System I<strong>de</strong>ntification of UAV un<strong>de</strong>r an Autopilot Trajectory<br />

Using ARX and Hammerstein-Wiener Methods. In: Proceeding of the 7th International Symposi<strong>um</strong><br />

on Mechatronics and its Applications (ISMA10). Sharjah, UAE: American University of<br />

Sharjah, 2010. p. 1–5.<br />

[84] KALLAPUR, A.; ANAVATTI, S. UAV Linear and Nonlinear Estimation Using Exten<strong>de</strong>d<br />

Kalman Filter. In: 2006 International Conference on Computational Inteligence for Mo<strong>de</strong>lling<br />

Control and Automation and International Conference on Intelligent Agents Web Technologies<br />

and International Commerce (CIMCA’06). Sydney, Australia: IEEE, 2006. p. 250–250. ISBN<br />

0-7695-2731-0.<br />

[85] SALMAN, S. A.; SREENATHA, A. G.; CHOI, J. Y. Attitu<strong>de</strong> dynamics i<strong>de</strong>ntification of<br />

unmanned aircraft vehicle. International Journal of Control, Automation and Systems, v. 4,<br />

n. 6, p. 782–787, 2006.<br />

[86] MENG, L.; LI, L.; VERES, S. M. Aerodynamic parameter estimation of an Unmanned Aerial<br />

Vehicle based on exten<strong>de</strong>d kalman filter and its higher or<strong>de</strong>r approach. In: 2010 2nd International<br />

Conference on Advanced Computer Control. China: IEEE, 2010. p. 526–531. ISBN<br />

978-1-4244-5845-5.<br />

[87] PAW, Y. C.; BALAS, G. J. Development and application of an integrated framework for<br />

small UAV flight control <strong>de</strong>velopment. Mechatronics, Elsevier Ltd, v. 21, n. 5, p. 789–802, ago.<br />

2011. ISSN 09574158.<br />

188


ANEXOS<br />

189


I. DIAGRAMAS ESQUEMÁTICOS<br />

I.1 Retrabalho nas placas fabricadas<br />

Alg<strong>um</strong>as modificações foram feitas entre a fabricação das placas (revisão B0) e o circuito atual<br />

(revisão B1, esquemáticos anexados). Essa seção doc<strong>um</strong>enta as modificações.<br />

I.1.1<br />

Todas as placas<br />

• Capacitores <strong>de</strong> Tântalo com no mínimo 16V, ou substituição por cerâmicos equivalentes<br />

I.1.2<br />

Stack <strong>de</strong> Energia<br />

• Mudança do GPS utilizado. Soldar o cabo do GPS (RX/TX/GND/3V3) diretamente nos<br />

pinos do último GPS<br />

I.1.3<br />

Stack <strong>de</strong> Radios<br />

• U3 (74HC540) <strong>de</strong>ve ser alimentado com 5V<br />

I.1.4<br />

Stack <strong>de</strong> Processamento<br />

• Pinos 2 e 3 <strong>de</strong> U3 (MAX3377E) invertidos<br />

• Desconectar pino 12 <strong>de</strong> U4 (MAX3232)<br />

• Conectar pinos <strong>de</strong> energia <strong>de</strong> U1 (Pinto-TH) no conector <strong>de</strong> energia auxiliar J5 (5V)<br />

• Remover R0 quando o U1 (Pinto-TH) estiver instalado<br />

I.1.5<br />

Stack <strong>de</strong> Processamento Auxiliar<br />

• P0.11 trocado com P0.22 em U1 (Olimex LPC-H2148)<br />

• C1, C2, U4, U5 <strong>de</strong>vem ser alimentados por 5V<br />

I.2 Modificações IMU/LPC2148<br />

I.2.1<br />

Olimex LPC-H2148<br />

• Remoção <strong>de</strong> R14 (circuito aberto)<br />

191


I.2.2<br />

IMU Sparkfun 9DOF<br />

• Remoção dos capacitores (substituição por curto) conectados aos pinos OUTX e OUTY <strong>de</strong><br />

U1 (LPR530AL) e U2 (LY530ALH)<br />

• Pino RXI conectado ao pino 14 (SS) <strong>de</strong>U6 (AVR ATmega328P) por cabo<br />

I.3 Esquemáticos e Placas<br />

I.3.1<br />

Dados do Fabricante<br />

• Fabricante: Seeed Studio Fusion PCB Service<br />

• Local <strong>de</strong> fabricação: China<br />

Figura I.1: Limites <strong>de</strong> fabricação do fabricante das PCBs<br />

I.3.2<br />

Especificações das Placas<br />

• Substrato: FR4<br />

• Espessura: 1,6 mm<br />

• Largura mínima <strong>de</strong> trilhas: 10 mils<br />

192


• Isolação mínima entre trilhas: 10 mils<br />

• Quantida<strong>de</strong> <strong>de</strong> cobre: 1 oz<br />

• Dimensões: 1800 mils x 3900 mils (45,72 mm x 99,06 mm)<br />

• Número <strong>de</strong> camadas: 2<br />

• Data <strong>de</strong> envio a fabricação: 10/Setembro/2011<br />

• Quantida<strong>de</strong> fabricada: 10 unida<strong>de</strong>s/módulo<br />

• Quantida<strong>de</strong> testada: 50% (5 unida<strong>de</strong>s, marcadas na lateral)<br />

I.3.3<br />

Diagramas Esquemáticos e Ilustrações das Placas<br />

193


1<br />

2<br />

3<br />

4<br />

5<br />

6<br />

COJ1<br />

1<br />

2<br />

3<br />

4 PIJ104 GPS_RX<br />

PIJ204 4<br />

5 PIJ105 GPS_TX<br />

PIJ205 5<br />

6 PIJ106 SCP1000_CS<br />

PIJ206 6<br />

7 PIJ107 SCP1000_DRDY<br />

PIJ207 7<br />

8 PIJ108 AVR_SCK<br />

PIJ208 8<br />

A 9 PIJ109 AVR_MISO<br />

PIJ209 9<br />

A<br />

10 PIJ1010 AVR_MOSI<br />

PIJ2010 10<br />

11 PIJ1011 AVR1_CS<br />

PIJ2011 11<br />

12 PIJ1012 AVR2_CS<br />

CURRENT_OUT PIJ2012 12<br />

13 PIJ1013<br />

LIPO_CELL_3_BUFFERED PIJ2013 13<br />

14 PIJ1014<br />

LIPO_CELL_2_BUFFERED PIJ2014 14<br />

15 PIJ1015<br />

LIPO_CELL_1_BUFFERED PIJ2015 15<br />

16 PIJ1016<br />

TEMPERATURE_OUT PIJ2016 16<br />

PIJ1017<br />

PIJ2017<br />

17<br />

DIFFERENTIAL_PRESSURE_OUT 17<br />

PIJ1018<br />

PIJ2018<br />

18<br />

18<br />

PIJ1019<br />

PIJ2019<br />

19<br />

19<br />

20 PIJ1020<br />

PIJ2020 20<br />

21 PIJ1021<br />

PIJ2021 21<br />

PIJ1022<br />

PIJ2022<br />

22<br />

22<br />

PIJ1023<br />

PIJ2023<br />

23<br />

23<br />

GND<br />

24 PIJ1024 +5<br />

PIJ2024 24<br />

25 PIJ1025<br />

PIJ2025 25<br />

Hea<strong>de</strong>r 25<br />

PIJ101<br />

PIJ102<br />

PIJ103<br />

PIJ201<br />

PIJ202<br />

PIJ203<br />

COJ2<br />

1<br />

2<br />

3<br />

Hea<strong>de</strong>r 25<br />

ANU Project a Power Stack<br />

Rev. B0<br />

Design/Engineering: Felipe Brandão Cavalcanti<br />

Board to Board Interconnects<br />

+5<br />

COU1<br />

COR2<br />

B PIR202 PIR201<br />

B<br />

4<br />

1<br />

PIC101<br />

V_BAT_PRE_CURRENT PIU104 IP+ VCC PIU101<br />

2<br />

COC1<br />

Res1<br />

C1<br />

GND PIU102<br />

4K7<br />

5<br />

PIC102 Cap<br />

+5<br />

V_BAT PIU105 IP-<br />

3<br />

100nF<br />

VIOUT PIU103<br />

Allegro ACS755 Hall-Effect Current Sensor<br />

PIR102 GND<br />

PIU204<br />

COU2B<br />

+5<br />

COR1<br />

6<br />

MCP604-I/SL<br />

PIU206<br />

LIPO_CELL_1<br />

Res1<br />

PIR302<br />

PIU207 7<br />

4K7<br />

CURRENT_OUT<br />

PIR101<br />

COR3 5<br />

PIR401<br />

PIU204<br />

COU2C<br />

PIU205<br />

PIC201<br />

Res1<br />

COR4<br />

9<br />

MCP604-I/SL<br />

PIU209<br />

COU4<br />

COC2 C2<br />

PIR3011K<br />

1a<br />

8<br />

Cap<br />

47K<br />

LIPO_CELL_1_BUFFERED<br />

PIC202<br />

PIU2011<br />

PIU208<br />

PIR402 10<br />

AVR_MISO PIU403 MISO DRDY PIU401 SCP1000_DRDY<br />

PIU2010<br />

100nF +5<br />

PIR501<br />

AVR_MOSI PIU404 MOSI<br />

COR5<br />

AVR_SCK PIU405 SCK 3V3 PIU406 +3V3<br />

GND<br />

PIC301 GND<br />

1a<br />

PIU2011<br />

SCP1000_CS PIU402 CSB GND PIU407<br />

C12<br />

COC3 C3<br />

PIR50247K<br />

SCP1000<br />

PIC1201 Cap<br />

PIC302 Cap<br />

100nF<br />

100nF<br />

GND<br />

GND<br />

GND<br />

GND<br />

+5<br />

Pressure Sensor<br />

LIPO_CELL_2<br />

COU2D<br />

COR6<br />

13<br />

MCP604-I/SL<br />

PIU2013<br />

DC to DC Converter Current Sensor<br />

1a<br />

14<br />

C PIU2014<br />

82K<br />

LIPO_CELL_2_BUFFERED<br />

C<br />

PIR602 12 PIU2012<br />

V_BAT<br />

COU3<br />

+5<br />

PIR701<br />

2<br />

4<br />

COR7<br />

PIU302 VI VO PIU304<br />

PIC402<br />

PIC501 COC5 C5<br />

10<br />

PIC602<br />

PIC702 PIC801 C8<br />

1a<br />

C4<br />

INH/UVLO<br />

COC8<br />

COC4<br />

Al<strong>um</strong>in<strong>um</strong> electrolytic, 25V 1<br />

7<br />

COC6 C6<br />

COC7<br />

PIU2011<br />

PIU3010<br />

C7<br />

39K<br />

Ceramic (X7R)<br />

SYNC<br />

220uF<br />

Ceramic (X7R) Tantal<strong>um</strong>, 16V<br />

PIR702<br />

PIU301 VoAdj PIU307<br />

PIC401<br />

PIC502<br />

9<br />

PIR1002<br />

PIC601<br />

PIC701<br />

PIC802<br />

22uF<br />

Track<br />

8<br />

R10 100uF<br />

100uF<br />

PIU309<br />

COR10<br />

GND<br />

PIU308 3<br />

PIU303 TT<br />

5<br />

1a, 100ppm, 0.05W<br />

GND<br />

+5<br />

+Sense PIU305<br />

6<br />

PIR1001169R<br />

LIPO_CELL_3<br />

GND -Sense PIU306<br />

Texas Instr<strong>um</strong>ents' PTH08T230W DC to DC Converter<br />

PIR801<br />

PIU204<br />

COU2A<br />

GND<br />

GND<br />

COR8<br />

2<br />

MCP604-I/SL<br />

1a<br />

1<br />

PIU202<br />

C4:<br />

C6/C7:<br />

R10:<br />

PIR802<br />

82K<br />

3<br />

PIU203<br />

LIPO_CELL_3_BUFFERED<br />

PIU201<br />

C4532X7R1E226M (1812) GRM32ER61C476ME15L (47uF) ERJ-6ENF1690V<br />

PIR901<br />

GRM32ER71E226KE15L (1210) C3225Y5V1C476Z (47uF)<br />

RC0805FR-07169RL<br />

COR9<br />

C5750Y5V1C107Z (100uF)<br />

CRCW0805169RFKEA<br />

1a<br />

PIU2011<br />

COU5<br />

22K<br />

GPS_TX PIU507 TX 20 PIU509<br />

+5<br />

+3V3<br />

GND<br />

GPS_RX PIU506 RX 2 PIU5010<br />

+5<br />

COU6<br />

+3V3<br />

GND<br />

1 PIU5011<br />

COF1<br />

3<br />

2<br />

PIU5012 PPS<br />

PIU603 IN OUT PIU602 PIF101 PIF102<br />

+3V3<br />

PIC901<br />

1<br />

MOSI<br />

COC9 C9<br />

4<br />

PIC1001<br />

GND OUT<br />

COC10<br />

PID201<br />

C10<br />

COJ4<br />

PIU501<br />

PIU601<br />

PIU604 0.5A PTC<br />

VBAT MISO<br />

Tantal<strong>um</strong><br />

Tantal<strong>um</strong><br />

COD1<br />

COD2<br />

PIU5013<br />

PIU502<br />

LIPO_CELL_3 PIJ401 1<br />

REG1117-3.3<br />

D<br />

PIC1102<br />

PIC902<br />

3V3 CLK<br />

10uF<br />

PIC1002 10uF<br />

LED0<br />

LED0<br />

PIU505<br />

PIU503<br />

COC11 C11<br />

PID102<br />

PID202<br />

LIPO_CELL_2 PIJ402 2<br />

D<br />

PIU508<br />

Cap<br />

GND CS PIU504<br />

LIPO_CELL_1 PIJ403 3<br />

PIC1101<br />

PIR1102<br />

PIR1202<br />

PIJ404<br />

100nF<br />

4<br />

Venus GPS<br />

R11 COR11<br />

COR12 R12<br />

GND<br />

Res1<br />

Res1<br />

LiPo Balacing connector<br />

PIR1101220<br />

PIR1201220<br />

GND 455-2249-ND<br />

GND<br />

GND<br />

GND<br />

2<br />

3<br />

4<br />

5<br />

6<br />

1<br />

11 4<br />

11 4<br />

11 4<br />

11 4<br />

GPS<br />

PIC1202 COC12<br />

PID101<br />

Aux Regulator<br />

PIR601<br />

PIR902<br />

PIU204<br />

LiPo Voltage Sense Circuit<br />

Figura I.2: Esquemático do stack <strong>de</strong> energia<br />

194


(a) Face superior<br />

(b) Face inferior<br />

Figura I.3: Stack <strong>de</strong> energia<br />

195


ANU Project a Radio Stack<br />

Rev. B1 a Sheet 1/2<br />

Design/Engineering: Felipe Brandão Cavalcanti<br />

A A<br />

COJ1<br />

COJ8<br />

COJ9<br />

GND<br />

PIJ101 22 PIJ1022<br />

GND<br />

PIJ801<br />

PIJ901<br />

RADIO_5V COR1 PIJ102 23 PIJ1023 COR8<br />

RADIO_5V<br />

PIJ802<br />

PIJ902<br />

RADIO_INPUT_1_PREBUF PIR102 PIR101 PIJ103 24 PIJ1024 PIR801 PIR802 RADIO_INPUT_8_PREBUF<br />

PIJ803<br />

PIJ903<br />

Res1<br />

Res1<br />

PIJ804 GPS_RX<br />

PIJ904<br />

GND 220 PIJ104 19 PIJ1019 220<br />

GND<br />

PIJ805 GPS_TX<br />

PIJ905<br />

RADIO_5V COR2 PIJ105 20 PIJ1020 COR7<br />

RADIO_5V<br />

PIJ806 SCP1000_CS<br />

PIJ906<br />

RADIO_INPUT_2_PREBUF PIR202 PIR201 PIJ106 21 PIJ1021 PIR701 PIR702 RADIO_INPUT_7_PREBUF<br />

PIJ807 SCP1000_DRDY<br />

AVR2_DRDY PIJ907<br />

Res1<br />

Res1<br />

PIJ808 AVR_SCK<br />

AVR1_DRDY PIJ908<br />

GND 220 PIJ107 16 PIJ1016 220<br />

GND<br />

PIJ809 AVR_MISO<br />

PIJ909<br />

RADIO_5V COR3 PIJ108 17 PIJ1017 COR6<br />

RADIO_5V<br />

10 PIJ8010 AVR_MOSI<br />

PIJ9010 10<br />

RADIO_INPUT_3_PREBUF PIR302 PIR301 PIJ109 18 PIJ1018 PIR601 PIR602 RADIO_INPUT_6_PREBUF<br />

11 PIJ8011 AVR1_CS<br />

PIJ9011 11<br />

Res1<br />

Res1<br />

12 PIJ8012 AVR2_CS<br />

CURRENT_OUT PIJ9012 12<br />

GND 220 PIJ1010 10 13 PIJ1013 220<br />

GND<br />

13 PIJ8013 LPC_RX<br />

LIPO_CELL_3_BUFFERED PIJ9013 13<br />

RADIO_5V COR4 PIJ1011 11 14 PIJ1014 COR5<br />

RADIO_5V<br />

14 PIJ8014 LPC_TX<br />

LIPO_CELL_2_BUFFERED PIJ9014 14<br />

RADIO_INPUT_4_PREBUF PIR402 PIR401 PIJ1012 12 15 PIJ1015 PIR501 PIR502 RADIO_INPUT_5_PREBUF<br />

15 PIJ8015<br />

LIPO_CELL_1_BUFFERED PIJ9015 15<br />

Res1<br />

Res1<br />

220 HDR3x8<br />

16 PIJ8016<br />

TEMPERATURE_OUT PIJ9016 16<br />

220<br />

PWM Inputs<br />

17 PIJ8017<br />

DIFFERENTIAL_PRESSURE_OUT PIJ9017 17<br />

COJ7<br />

18 PIJ8018<br />

PIJ9018 18<br />

19 PIJ8019<br />

PIJ9019 19<br />

GND<br />

PIJ701 22 PIJ7022<br />

GND<br />

20 PIJ8020<br />

PIJ9020 20<br />

RADIO_5V PIJ702 23 PIJ7023 RADIO_5V<br />

21 PIJ8021<br />

PIJ9021 21<br />

RADIO_OUTPUT_1 PIJ703 24 PIJ7024 RADIO_OUTPUT_8<br />

22 PIJ8022<br />

PIJ9022 22<br />

23 PIJ8023<br />

PIJ9023 23<br />

GND<br />

PIJ704 19 PIJ7019<br />

GND<br />

B GND<br />

24 PIJ8024 +5<br />

PIJ9024 24<br />

RADIO_5V PIJ705 20 PIJ7020 RADIO_5V<br />

B<br />

25 PIJ8025<br />

PIJ9025 25<br />

RADIO_OUTPUT_2 PIJ706 21 PIJ7021 RADIO_OUTPUT_7<br />

Hea<strong>de</strong>r 25<br />

Board to Board Interconnects<br />

Hea<strong>de</strong>r 25<br />

GND<br />

PIJ707<br />

RADIO_5V PIJ708<br />

RADIO_OUTPUT_3 PIJ709<br />

16 PIJ7016<br />

GND<br />

17 PIJ7017 RADIO_5V<br />

18 PIJ7018 RADIO_OUTPUT_6<br />

GND PIJ7010 10 13 PIJ7013<br />

GND<br />

RADIO_5V PIJ7011 11 14 PIJ7014 RADIO_5V<br />

RADIO_OUTPUT_4 PIJ7012 12 15 PIJ7015 RADIO_OUTPUT_5<br />

+5<br />

PIC1301<br />

PIC1302<br />

C13<br />

Tantal<strong>um</strong><br />

10uF<br />

GND<br />

COU6<br />

IN<br />

GND<br />

OUT<br />

OUT<br />

REG1117-3.3<br />

Power Supply<br />

+3V3<br />

COF1<br />

+3V3<br />

PIF101 PIF102<br />

COC14<br />

0.5A PTC<br />

C14<br />

PID101<br />

Tantal<strong>um</strong><br />

10uF<br />

PIU603<br />

PIU602<br />

COC13 PIC1401<br />

PIU601<br />

PIU604<br />

PIC1402<br />

PID102<br />

PIR1902<br />

COR19<br />

PIR1901<br />

GND<br />

R19<br />

Res1<br />

220<br />

COD1<br />

LED0<br />

RADIO_5V<br />

PIR2002<br />

SPEKTRUM_SERIAL<br />

Micro JST Connector (ZHR-3)<br />

Spektr<strong>um</strong> AR7000 Serial Input<br />

AVR_VCC COU1<br />

COR20<br />

AVR_VCC<br />

COU2<br />

19<br />

Res1<br />

19<br />

PIU106<br />

C VCC<br />

ADC6 PIU1019<br />

PIU206 VCC<br />

ADC6 PIU2019<br />

PIC501<br />

PIC601<br />

22<br />

PIR200110K<br />

PIC801<br />

PIC901<br />

22<br />

C<br />

PIU104 VCC<br />

ADC7 PIU1022<br />

PIU204 VCC<br />

ADC7 PIU2022<br />

COC5 C5<br />

COC6 C6<br />

PIR2102<br />

C8 COC8<br />

COC9 C9<br />

PIC502 Cap<br />

PIC602 Cap 18<br />

23<br />

COR21<br />

PIC802 Cap<br />

PIC902 Cap 18<br />

23<br />

PIU1018 AVCC<br />

PC0 (ADC0/PCINT8) PIU1023<br />

100nF 100nF<br />

RADIO_INPUT_1<br />

PIU2018 AVCC<br />

PC0 (ADC0/PCINT8) PIU2023<br />

24<br />

Res1<br />

100nF 100nF<br />

AVR_OUTPUT_1<br />

24<br />

PC1 (ADC1/PCINT9) PIU1024 RADIO_INPUT_2<br />

PC1 (ADC1/PCINT9) PIU2024 AVR_OUTPUT_2<br />

20<br />

25<br />

PIR210110K<br />

20<br />

25<br />

PIU1020 AREF PC2 (ADC2/PCINT10) PIU1025 RADIO_INPUT_3<br />

PIU2020 AREF PC2 (ADC2/PCINT10) PIU2025 AVR_OUTPUT_3<br />

PIC701<br />

26<br />

26<br />

C7<br />

PC3 (ADC3/PCINT11) RADIO_INPUT_4<br />

PIC1001<br />

PIU1026<br />

COC7<br />

PC3 (ADC3/PCINT11) PIU2026<br />

27<br />

COC10 C10<br />

AVR_OUTPUT_4<br />

27<br />

Cap<br />

PC4 (ADC4/SDA/PCINT12) PIU1027 RADIO_INPUT_5<br />

PC4 (ADC4/SDA/PCINT12) PIU2027<br />

28<br />

Cap<br />

AVR_OUTPUT_5<br />

PIC702<br />

GND<br />

28<br />

100nF<br />

PC5 (ADC5/SCL/PCINT13) RADIO_INPUT_6<br />

PIC1002<br />

PIU1028<br />

PC5 (ADC5/SCL/PCINT13) PIU2028<br />

29<br />

100nF<br />

AVR_OUTPUT_6<br />

29<br />

PC6 (RESET/PCINT14) PIU1029 AVR1_RESET<br />

PC6 (RESET/PCINT14) PIU2029 AVR2_RESET<br />

GND<br />

+3V3<br />

PIJ201<br />

PIJ202<br />

PIJ203<br />

COJ2<br />

HDR3x8<br />

PWM Inputs<br />

1 - Serial<br />

2 - GND<br />

3 - 3V3<br />

Radio Connectors<br />

+3V3<br />

GND<br />

PIC201<br />

PIC202<br />

COC2 C2<br />

Cap<br />

100nF<br />

RADIO_5V<br />

GND<br />

PIC301<br />

PIC302<br />

C3 COC3<br />

Cap<br />

100nF<br />

PIC401<br />

PIC402<br />

C4 COC4<br />

Tantal<strong>um</strong><br />

10uF<br />

GND<br />

PWM_DATA_LED SERIAL_DATA_LED<br />

PID201<br />

PID301<br />

PD0 (RXD/PCINT16)<br />

PD1 (TXD/PCINT17)<br />

PD2 (INT0/PCINT18)<br />

PD3 (PCINT19/OC2B/INT1)<br />

PD4 (PCINT20/XCK/T0)<br />

PD5 (PCINT21/OC0B/T1)<br />

PD6 (PCINT22/OC0A/AIN0)<br />

PD7 (PCINT23/AIN1)<br />

30<br />

PIU1030<br />

31<br />

PIU1031<br />

32<br />

PIU1032<br />

PIU101<br />

PIU102<br />

PIU109<br />

10 PIU1010<br />

11<br />

PIU1011<br />

GND<br />

30<br />

SPEKTRUM_SERIAL PD0 (RXD/PCINT16) PIU2030<br />

COJ5<br />

SPEKTRUM_SERIAL<br />

31<br />

PD1 (TXD/PCINT17) PIU2031<br />

32<br />

RADIO_INPUT_7<br />

PIJ502 +3V3<br />

PD2 (INT0/PCINT18) PIU2032 GENERATE_SPEKTRUM_SIGNAL<br />

RADIO_INPUT_8<br />

PIJ501 AVR_VCC<br />

PD3 (PCINT19/OC2B/INT1) PIU201 AVR_OUTPUT_7<br />

MUX_CONTROL<br />

PD4 (PCINT20/XCK/T0) PIU202 AVR_OUTPUT_8<br />

AVR Power Supply<br />

GENERATE_SPEKTRUM_SIGNAL<br />

PD5 (PCINT21/OC0B/T1) PIU209 AVR2_DRDY<br />

UNCONNECT J5 to program AVRsa<br />

10<br />

PD6 (PCINT22/OC0A/AIN0) PIU2010<br />

11<br />

PD7 (PCINT23/AIN1) PIU2011<br />

12<br />

COJ6<br />

12<br />

PB0 (PCINT0/CLKO/ICP1) PIU1012 PWM_DATA_LED<br />

PB0 (PCINT0/CLKO/ICP1) PIU2012<br />

13<br />

13<br />

PB1 (PCINT1/OC1A) PIU1013<br />

SERIAL_DATA_LED GND PIJ601 1 2 PIJ602 GND<br />

PB1 (PCINT1/OC1A) PIU2013<br />

COD2<br />

COD3<br />

14<br />

14<br />

PB2 (PCINT2/SS/OC1B) PIU1014 AVR1_CS AVR_RESET PIJ603 3 4 PIJ604 AVR_SCK<br />

PB2 (PCINT2/SS/OC1B) PIU2014<br />

LED0<br />

LED0<br />

AVR2_CS<br />

15<br />

15<br />

PB3 (PCINT3/OC2A/MOSI) PIU1015 AVR_MOSI AVR_MOSI PIJ605 5 6 PIJ606 AVR_MISO<br />

PB3 (PCINT3/OC2A/MOSI) PIU2015<br />

PID202<br />

PID302<br />

AVR_MOSI<br />

16<br />

16<br />

PB4 (PCINT4/MISO) PIU1016 AVR_MISO AVR_VCC PIJ607 7 8 PIJ608 AVR_VCC<br />

PB4 (PCINT4/MISO) PIU2016 AVR_MISO<br />

PIR2402<br />

PIR2502<br />

17<br />

17<br />

PIU103 GND<br />

PB5 (SCK/PCINT5) PIU1017 AVR_SCK<br />

PIJ609 9 10 PIJ6010<br />

PIU203 GND<br />

PB5 (SCK/PCINT5) PIU2017 AVR_SCK<br />

COR24<br />

COR25<br />

PIU105 GND PB6 (PCINT6/XTAL1/TOSC1) PIU107<br />

PIU205 GND PB6 (PCINT6/XTAL1/TOSC1) PIU207<br />

Res1<br />

Res1 21<br />

AVR ISP<br />

21<br />

PIU1021 GND PB7 (PCINT7/XTAL2/TOSC2) PIU108<br />

GND PB7 (PCINT7/XTAL2/TOSC2)<br />

D<br />

220<br />

220<br />

AVR1_DRDY<br />

PIU2021<br />

PIU208<br />

PIR2401<br />

PIR2501<br />

D<br />

ATmega88A-AU<br />

COJ3<br />

ATmega88A-AU<br />

GND<br />

GND<br />

PIJ303 AVR1_RESET<br />

GND<br />

GND<br />

This AVR is responsible for reading the radios (PWM or serial) and<br />

PIJ302 AVR_RESET<br />

sending the data to the main controller.<br />

This AVR is responsible for generating the output PWM signals.<br />

PIJ301 AVR2_RESET<br />

This will also control the MUX for safety switching.<br />

Programming Select<br />

AVR 1 - Signal Rea<strong>de</strong>r AVR 2 - Signal Generator<br />

1<br />

1<br />

1<br />

2<br />

3<br />

4<br />

5<br />

6<br />

7<br />

8<br />

9<br />

3<br />

1<br />

6<br />

4<br />

3<br />

5<br />

2<br />

2<br />

2<br />

4<br />

1<br />

2<br />

9<br />

7<br />

8<br />

1<br />

2<br />

3<br />

4<br />

5<br />

6<br />

7<br />

8<br />

9<br />

3<br />

3<br />

2<br />

1<br />

3<br />

2<br />

1<br />

4<br />

4<br />

1<br />

2<br />

3<br />

1<br />

2<br />

3<br />

4<br />

5<br />

6<br />

7<br />

8<br />

9<br />

1<br />

2<br />

3<br />

4<br />

5<br />

6<br />

7<br />

8<br />

9<br />

6<br />

4<br />

3<br />

5<br />

5<br />

5<br />

1<br />

2<br />

9<br />

7<br />

8<br />

6<br />

6<br />

Figura I.4: Esquemático do stack <strong>de</strong> rádios<br />

196


1<br />

2<br />

3<br />

4<br />

5<br />

6<br />

+5<br />

+5<br />

COU7<br />

A 1<br />

2<br />

PIC1501<br />

PIC1601<br />

PIC1801<br />

PIU701 A<br />

NC Vs PIU702<br />

8<br />

3<br />

C15 COC15 COC16 C16<br />

+5<br />

C18 COC18<br />

PIU708 NC GND PIU703<br />

7<br />

PIC1502 Cap<br />

PIC1602 Tantal<strong>um</strong><br />

PIC1802 Cap<br />

PIU707 NC<br />

6<br />

10nF 1uF<br />

100nF<br />

PIU706 NC<br />

5<br />

4<br />

PIU808 COU8B<br />

PIU705 NC Vout PIU704<br />

6<br />

MCP602-I/SN<br />

PIU806<br />

GND<br />

MPXV7002DP<br />

GND<br />

7 PIU807<br />

COR23<br />

DIFFERENTIAL_PRESSURE_OUT<br />

5<br />

PIR2302 PIR2301<br />

PIU805<br />

Res1<br />

PIR2401<br />

PIC1701<br />

COR24<br />

1k<br />

C17 COC17<br />

Res1<br />

PIC1702 Cap<br />

PIU804<br />

1k 330nF<br />

GND<br />

COJ4<br />

+5<br />

COU9<br />

U8A<br />

B 1<br />

2<br />

COR22<br />

2<br />

MCP602-I/SN<br />

B<br />

1 PIJ401<br />

PIU901 +VS VO PIU902 PIR2201 PIR2202<br />

PIU802<br />

PIC1901<br />

Res1<br />

PIC2001<br />

1<br />

2 PIJ402<br />

PIU801<br />

COC19 C19 GND<br />

COC20<br />

1k<br />

C20<br />

TEMPERATURE_OUT<br />

3<br />

3 PIJ403<br />

PIU803<br />

PIC1902 Cap<br />

PIC2002 Cap<br />

Micro JST Connector (ZHR-3) 100nF<br />

PIU903<br />

100nF<br />

External LM35 Connector<br />

PIU804<br />

LM35CAZ<br />

COC11 C11<br />

COU4<br />

PIC1102 Cap<br />

COR17<br />

15<br />

16<br />

100nF<br />

MUX_CONTROL PIR1702<br />

PIR1701 MUX<br />

PIU4015 STB VCC PIU4016<br />

Res1<br />

PIR1802<br />

1<br />

MUX PIU401<br />

COR18<br />

SEL<br />

1K<br />

GND<br />

Res1 GND<br />

2<br />

4<br />

COR10<br />

10K<br />

RADIO_INPUT_2_PREBUF PIU402 1A 1Y PIU404 PIR1001 PIR1002<br />

RADIO_OUTPUT_2<br />

PIR1801<br />

3<br />

AVR_OUTPUT_2 PIU403 1B<br />

Res1<br />

5<br />

7<br />

COR9<br />

RADIO_INPUT_1_PREBUF PIU405 2A 2Y PIU407 220 PIR901 PIR902 RADIO_OUTPUT_1<br />

6<br />

AVR_OUTPUT_1 PIU406 2B<br />

Res1<br />

C GND<br />

11<br />

9<br />

COR12<br />

C<br />

RADIO_INPUT_4_PREBUF PIU4011 3A 3Y PIU409 PIR1201 PIR1202 220 RADIO_OUTPUT_4<br />

+5<br />

10<br />

AVR_OUTPUT_4 PIU4010 3B<br />

Res1<br />

14<br />

12<br />

COR11<br />

RADIO_INPUT_3_PREBUF PIU4014 4A 4Y PIU4012 220 PIR1101 PIR1102 RADIO_OUTPUT_3<br />

PIC101<br />

13<br />

C1<br />

AVR_OUTPUT_3 PIU4013 4B<br />

Res1<br />

COC1<br />

220<br />

COU3<br />

PIC102 Cap<br />

8<br />

+5<br />

PIU408<br />

1<br />

20<br />

100nF<br />

GND<br />

PIU301 OE1 VCC PIU3020<br />

19<br />

M74HC157M1R<br />

PIC1201<br />

PIU3019 OE2<br />

GND<br />

GND<br />

GND<br />

COC12 C12<br />

2<br />

18<br />

COU5<br />

PIC1202 Cap<br />

RADIO_INPUT_1_PREBUF PIU302 A1 Y1 PIU3018 RADIO_INPUT_1<br />

3<br />

17<br />

15<br />

16<br />

100nF<br />

RADIO_INPUT_2_PREBUF PIU303 A2 Y2 PIU3017 RADIO_INPUT_2<br />

PIU5015 STB VCC PIU5016<br />

4<br />

16<br />

1<br />

RADIO_INPUT_3_PREBUF PIU304 A3 Y3 PIU3016 RADIO_INPUT_3<br />

MUX PIU501 SEL<br />

5<br />

15<br />

GND<br />

RADIO_INPUT_4_PREBUF PIU305 A4 Y4 PIU3015 RADIO_INPUT_4<br />

6<br />

14<br />

GND<br />

2<br />

4<br />

COR14<br />

RADIO_INPUT_5_PREBUF PIU306 A5 Y5 PIU3014 RADIO_INPUT_5<br />

RADIO_INPUT_6_PREBUF PIU502 1A 1Y PIU504 PIR1401 PIR1402<br />

RADIO_OUTPUT_6<br />

7<br />

13<br />

3<br />

RADIO_INPUT_6_PREBUF PIU307 A6 Y6 PIU3013 RADIO_INPUT_6<br />

AVR_OUTPUT_6 PIU503 1B<br />

Res1<br />

8<br />

12<br />

5<br />

7<br />

COR13<br />

RADIO_INPUT_7_PREBUF PIU308 A7 Y7 PIU3012 RADIO_INPUT_7<br />

RADIO_INPUT_5_PREBUF PIU505 2A 2Y PIU507 220 PIR1301 PIR1302 RADIO_OUTPUT_5<br />

9<br />

11<br />

6<br />

RADIO_INPUT_8_PREBUF PIU309 A8 Y8 PIU3011 RADIO_INPUT_8<br />

AVR_OUTPUT_5 PIU506 2B<br />

Res1<br />

11<br />

9<br />

COR16<br />

RADIO_INPUT_8_PREBUF PIU5011 3A 3Y PIU509 PIR1601 PIR1602 220 RADIO_OUTPUT_8<br />

10<br />

Note: This is an INVERTERa<br />

10<br />

PIU3010 GND<br />

AVR_OUTPUT_8 PIU5010 3B<br />

Res1<br />

Software must check for lowering edges<br />

14<br />

12<br />

COR15<br />

RADIO_INPUT_7_PREBUF PIU5014 4A 4Y PIU5012 220 PIR1501 PIR1502 RADIO_OUTPUT_7<br />

D SN74ABT540DBLE<br />

13<br />

D<br />

AVR_OUTPUT_7 PIU5013 4B<br />

Res1<br />

GND<br />

220<br />

8<br />

PIU508 GND<br />

Input Protection<br />

GND<br />

M74HC157M1R<br />

+3V3<br />

MUX<br />

2<br />

3<br />

4<br />

5<br />

6<br />

1<br />

4<br />

8<br />

4<br />

8<br />

PIR2402<br />

GND<br />

ANU Project a Radio Stack<br />

Rev. B1 a Sheet 2/2<br />

Design/Engineering: Felipe Brandão Cavalcanti<br />

TEMPERATURE_IN<br />

+5<br />

PIU808 COU8A<br />

3<br />

TEMPERATURE_IN<br />

GND<br />

Analog Sensors<br />

GND<br />

PIC1101<br />

Figura I.5: Esquemático do stack <strong>de</strong> rádios<br />

197


(a) Face superior<br />

(b) Face inferior<br />

Figura I.6: Stack <strong>de</strong> rádios<br />

198


1<br />

2<br />

3<br />

4<br />

5<br />

6<br />

ANU Project a G<strong>um</strong>stix Stack<br />

Rev. B1 a Sheet 1/2<br />

Design/Engineering: Felipe Brandão Cavalcanti<br />

A A<br />

J1<br />

1<br />

U1<br />

2<br />

2<br />

a5<br />

42<br />

3<br />

3<br />

ADCIN2<br />

48<br />

46<br />

4 GPS_RX<br />

4<br />

V_BATT<br />

ADCIN3<br />

47<br />

5 GPS_TX<br />

5<br />

ADCIN4<br />

10<br />

44<br />

6 SCP1000_CS<br />

6<br />

a3V3<br />

VCC_3.3<br />

ADCIN5<br />

B 24<br />

43<br />

7 SCP1000_DRDY<br />

7<br />

a1V8<br />

VCC_1.8<br />

ADCIN6<br />

B<br />

34<br />

41<br />

8 AVR_SCK<br />

8<br />

VCC_1.8<br />

ADCIN7<br />

45<br />

9 AVR_MISO<br />

9<br />

AGND<br />

20<br />

10 AVR_MOSI<br />

10<br />

VBACKUP<br />

22<br />

11 AVR1_CS<br />

11<br />

POWERON<br />

19<br />

39 GND<br />

12 AVR2_CS<br />

CURRENT_OUT 12<br />

SYS_EN<br />

PWM0<br />

40<br />

13 LPC_RX<br />

LIPO_CELL_3_BUFFERED 13<br />

PWM1<br />

9<br />

37<br />

14 LPC_TX<br />

LIPO_CELL_2_BUFFERED 14<br />

GND<br />

GPIO147_PWM8<br />

23<br />

38<br />

15<br />

LIPO_CELL_1_BUFFERED 15<br />

GND<br />

GPIO144_PWM9<br />

33<br />

36<br />

16<br />

TEMPERATURE_OUT 16<br />

GND<br />

GPIO145_PWM10<br />

35<br />

17<br />

DIFFERENTIAL_PRESSURE_OUT 17<br />

GPIO146_PWM11<br />

18<br />

18<br />

GND<br />

21<br />

19<br />

19<br />

GPIO0_WAKEUP<br />

17<br />

20<br />

20<br />

RXD1_1V8<br />

GPIO151_RXD1<br />

18<br />

60<br />

21<br />

21<br />

TXD1_1V8<br />

GPIO148_TXD1 GPIO18_MMC3_D0<br />

59<br />

22<br />

22<br />

GPIO19_MMC3_D1<br />

Aux Serial: RXD1/TXD1<br />

58<br />

23<br />

23<br />

GPIO20_MMC3_D2<br />

GND<br />

30<br />

57<br />

24 a5<br />

24<br />

TXD3_1V8<br />

GPIO166_IR_TXD3 GPIO17_MMC3_D3<br />

29<br />

56<br />

C<br />

25<br />

25<br />

RXD3_1V8<br />

GPIO165_IR_RXD3 GPIO14_MMC3_D4<br />

28<br />

55<br />

C<br />

GPIO163_IR_CTS3 GPIO23_MMC3_D5<br />

Hea<strong>de</strong>r 25<br />

Hea<strong>de</strong>r 25 Main Serial: RXD3/TXD3<br />

54<br />

GPIO22_MMC3_D6<br />

53<br />

GPIO21_MMC3_D7<br />

27<br />

49<br />

GPIO170_HDQ_1WIRE GPIO149_MMC3_CD<br />

52<br />

GPIO13_MMC3_CLK<br />

31<br />

51<br />

Board to Board Interconnects<br />

GPIO184_SCL3 GPIO13_MMC3_CMD<br />

32<br />

50<br />

GPIO185_SDA3 GPIO150_MMC3_WP<br />

11<br />

GPIO171_SPI1_CLK<br />

15<br />

4<br />

GPIO173_SPI1_MISO<br />

GPIO064<br />

14<br />

5<br />

GPIO174_SPI1_CS0<br />

GPIO68<br />

13<br />

7<br />

Aux Regulator<br />

GPIO172_SPI1_MOSI<br />

GPIO69<br />

12<br />

3<br />

GPIO114_SPI1_NIRQ<br />

GPIO064<br />

a3V3<br />

1<br />

GPIO66<br />

6<br />

GPIO176<br />

a5<br />

U2<br />

a3V3<br />

16<br />

R1<br />

F1<br />

GPIO175_SPI1_CS1<br />

3<br />

2<br />

8<br />

IN OUT<br />

GPIO65<br />

C1 Res1 1<br />

4<br />

2<br />

GND OUT<br />

0.5A PTC<br />

C2<br />

D1<br />

GPIO168<br />

Tantal<strong>um</strong> 0R<br />

Tantal<strong>um</strong><br />

LED0<br />

25<br />

GPIO_186<br />

REG1117-3.3<br />

26<br />

D<br />

10uF<br />

10uF<br />

GPIO_10<br />

D<br />

GND<br />

2<br />

3<br />

J2<br />

1<br />

Connect only when the<br />

G<strong>um</strong>stix is not present<br />

GND<br />

R2<br />

Res1<br />

220<br />

4<br />

RXD1_3V3 LPC_TX<br />

TXD1_3V3 LPC_RX<br />

G<strong>um</strong>stix Pinto-TH Board<br />

G<strong>um</strong>stix Pinto-TH Board<br />

5<br />

6<br />

1<br />

Figura I.7: Esquemático do stack <strong>de</strong> processamento<br />

199


1<br />

2<br />

3<br />

4<br />

5<br />

6<br />

ANU Project a G<strong>um</strong>stix Stack<br />

Rev. B1 a Sheet 2/2<br />

Design/Engineering: Felipe Brandão Cavalcanti<br />

A A<br />

PIC501<br />

RS232 Interface<br />

LPC_TX_RS232<br />

LPC_RX_RS232<br />

Micro JST Connector aZHR-3)<br />

COC5 C5<br />

COU4<br />

+3V3<br />

GND LPC RS232 Connector<br />

B PIC502 Cap 1<br />

16<br />

PIU401 C1+ VCC PIU4016<br />

B<br />

PIC601<br />

100nF 3<br />

2<br />

COJ6<br />

PIU403 C1- V+ PIU402<br />

COC6 C6<br />

4<br />

PIC801<br />

PIC701<br />

PIU404<br />

Cap<br />

C2+<br />

5<br />

C8 C7<br />

LPC_TX PIJ601 1<br />

PIC602<br />

COC8<br />

COC7<br />

PIU405<br />

100nF<br />

C2-<br />

Cap Cap<br />

LPC_RX PIJ602 2<br />

PIC802<br />

PIC702<br />

PIJ603<br />

11<br />

14<br />

100nF 100nF<br />

3<br />

LPC_TX PIU4011<br />

PIU4014 LPC_TX_RS232<br />

Micro JST Connector aZHR-3)<br />

TXD3_3V3 10<br />

PIU4010<br />

7<br />

PIU407 OVERO_TXD<br />

GND GND<br />

GND LPC Telemetry Connector<br />

12<br />

PIU4012 13<br />

PIU4013 LPC_RX_RS232<br />

COJ7<br />

TXD3_3V3 PIJ701 1<br />

9<br />

8<br />

RXD3_3V3 PIU409<br />

PIU408 OVERO_RXD<br />

RXD3_3V3 PIJ702 2<br />

15<br />

PIU4015 GND V- 6<br />

PIU406<br />

PIC901<br />

PIJ703 3<br />

Micro JST Connector aZHR-3)<br />

MAX3232CSE<br />

C9 COC9<br />

GND<br />

PIC902 Cap<br />

GND Overo Main Telemetry Connector<br />

100nF<br />

COJ4<br />

C<br />

GND<br />

OVERO_TXD PIJ401 1<br />

OVERO_RXD PIJ402 2<br />

C<br />

PIJ403<br />

PIJ301<br />

PIJ302<br />

PIJ303<br />

GND<br />

COJ3<br />

3<br />

1<br />

2<br />

3<br />

Micro JST Connector aZHR-3)<br />

Overo Main Console RS232 Connector<br />

+3V3<br />

+3V3 COU3<br />

+1V8<br />

+1V8<br />

14<br />

1<br />

PIU3014 VCC<br />

VL PIU301<br />

PIC301<br />

13<br />

2<br />

PIC401<br />

C3<br />

TXD1_3V3 PIU3013 I/O VCC1 I/O VL1 PIU302<br />

COC3<br />

TXD1_1V8<br />

12<br />

3<br />

COC4 C4<br />

Cap<br />

RXD1_3V3 PIU3012 I/O VCC2 I/O VL2 PIU303 RXD1_1V8<br />

PIC302<br />

11<br />

4<br />

PIC402 Cap +3V3<br />

+5<br />

100nF<br />

TXD3_3V3 PIU3011 I/O VCC3 I/O VL3 PIU304 TXD3_1V8<br />

10<br />

5<br />

100nF<br />

COJ8<br />

COJ5<br />

RXD3_3V3 PIU3010 I/O VCC4 I/O VL4 PIU305 RXD3_1V8<br />

PIC1001<br />

PIC1101<br />

PIJ801<br />

GND<br />

8<br />

9<br />

GND<br />

C10<br />

1<br />

PIJ501<br />

COC10<br />

C11 COC11<br />

1<br />

+1V8 PIU308 THREE-STATE DNC PIU309<br />

PIJ802<br />

7<br />

6<br />

Cap<br />

2<br />

PIJ502<br />

Cap<br />

2<br />

PIC1002<br />

PIC1102<br />

PIU307 GND<br />

DNC PIU306<br />

100nF<br />

External Power 100nF<br />

External Power<br />

MAX3377E<br />

Aux 3V3 Aux 5V0<br />

GND<br />

GND<br />

GND<br />

D D<br />

Logic Level Converter<br />

Aux Connectors<br />

2<br />

3<br />

4<br />

5<br />

6<br />

1<br />

Figura I.8: Esquemático do stack <strong>de</strong> processamento<br />

200


(a) Face superior<br />

(b) Face inferior<br />

Figura I.9: Stack <strong>de</strong> processamento<br />

201


1<br />

2<br />

3<br />

4<br />

5<br />

6<br />

COU1<br />

LPC_TX PIU101 P0.0/TXD0/PWM1<br />

P1.16 PIU1031<br />

PIU102<br />

PIU1032<br />

LPC_RX P0.1/RXD0/PWM3/EINT0<br />

P1.17<br />

AVR2_CS PIU103 P0.2/SCL0/CAP0.0<br />

P1.19 PIU1034<br />

AVR1_CS PIU104 P0.3/SDA0/MAT0.0/EINT1<br />

P1.18 PIU1033<br />

A TIas REF3033AIDBZT<br />

AVR_SCK PIU105 P0.4/SCK0/CAP0.1/AD0.6<br />

P1.20 PIU1035<br />

A<br />

+5<br />

COU6<br />

AVR_MISO PIU106 P0.5/MISO0/MAT0.1/AD0.7<br />

P1.21 PIU1036<br />

REF3033 3.3V Precision Voltage Reference<br />

1<br />

2<br />

AVR_MOSI PIU107 P0.6/MOSI0/CAP0.2/AD1.0<br />

P1.22 PIU1037 PIU601 Vin Vout PIU602 VREF<br />

PIC901<br />

PIC1001<br />

SCP1000_CS PIU108 P0.7/SSEL0/PWM2/EINT2<br />

P1.23 PIU1038<br />

C9 COC9<br />

COC10 C10<br />

GPS_RX PIU109 P0.8/TXD1/PWM4/AD1.1<br />

P1.24 PIU1039<br />

+5<br />

PIC902 Cap<br />

PIC1002 Cap<br />

GPS_TX PIU1010 P0.9/RXD1/PWM6/EINT3 P1.25/EXTIN0 PIU1040<br />

100nF<br />

100nF<br />

SONAR_LEFT_WING PIU1011 P0.10/RTS1/CAP1.0/AD1.2 P1.26/RTCK PIU1041<br />

PIC1201 COC12 C12<br />

COJ3<br />

SONAR_RIGHT_WING PIU1012 P0.11/CTS1/CAP1.1/SCL1 P1.27/TDD PIU1042<br />

PIU603<br />

Cap PIJ301 1<br />

LIPO_CELL_2_CONDITIONED PIU1013 P0.12/DSR1/MAT1.0/AD1.3 P1.28/TDI PIU1043<br />

PIC1202 100nF PIJ302 2<br />

LIPO_CELL_1_CONDITIONED PIU1014 P0.13/DTR1/MAT1.1/AD1.4 P1.29/TCK PIU1044<br />

PIJ303 3<br />

AVR2_DRDY PIU1015 P0.14/DCD1/EINT1/SDA1 P1.30/TMS PIU1045<br />

GND<br />

AVR1_DRDY PIU1016 P0.15/RI1/EINT2/AD1.5 P1.31/TRST PIU1046<br />

GND<br />

Micro JST Connector (ZHR-3)<br />

PIU1017 P0.16/EINT0/MAT0.2/CAP0.2<br />

MaxBotix MaxSonar<br />

SONAR_LEFT_WING<br />

IMU_SCK PIU1018 P0.17/CAP1.2/SCK1/MAT1.2<br />

IMU_MISO PIU1019 P0.18/CAP1.3/MISO1/MAT1.3<br />

RST PIU1052<br />

NOTE: R14 on the LPC2148 board MUST be<br />

IMU_MOSI PIU1020 P0.19/MAT1.2/MOSI1/CAP1.2<br />

+5<br />

removed to connect VREF<br />

IMU_CS PIU1021 P0.20/MAT1.3/SSEL1/EINT3<br />

LIPO_CELL_3_CONDITIONED PIU1022 P0.21/PWM5/AD1.6/CAP1.3<br />

PIC1301 COC13 C13<br />

COJ4<br />

SONAR_LEFT_WING PIU1023 P0.22/AD1.7/CAP0.0/MAT0.0<br />

3V3 PIU1050 +3V3<br />

Cap<br />

PIJ401 1<br />

SONAR_RIGHT_WING PIU1024 P0.23<br />

V_BAT PIU1048<br />

PIC1302 100nF PIJ402 2<br />

CURRENT_CONDITIONED PIU1025 P0.25/AD0.4/AOUT<br />

V_REF PIU1047 VREF<br />

PIJ403 3<br />

TEMPERATURE_CONDITIONED PIU1027 P0.28/AD0.1/CAP0.2/MAT0.2 V_IN (5V) PIU1049 +5<br />

PIC1101<br />

B DIFFERENTIAL_PRESSURE_CONDTIONED PIU1028 P0.29/AD0.2/CAP0.3/MAT0.3<br />

GND PIU1051<br />

GND<br />

Micro JST Connector (ZHR-3)<br />

C11 COC11<br />

B<br />

SCP1000_DRDY PIU1029 P0.30/AD0.3/EINT3/CAP0.0<br />

GND PIU1026<br />

MaxBotix MaxSonar<br />

PIC1102 Cap<br />

SONAR_RIGHT_WING<br />

PIU1030 P0.31/UP_LED/CONNECT<br />

100nF<br />

Olimex LPC-H2148<br />

GND<br />

COJ1<br />

1<br />

ANU Project a G<strong>um</strong>stix Stack<br />

Rev. B1<br />

Design/Engineering: Felipe Brandão Cavalcanti<br />

COJ2<br />

1<br />

PIJ101<br />

PIJ201<br />

+5<br />

2 PIJ102<br />

PIJ202 2<br />

+5<br />

3 PIJ103<br />

PIJ203 3<br />

4 PIJ104 GPS_RX<br />

PIJ204 4<br />

5 PIJ105 GPS_TX<br />

PIJ205 5<br />

PIU404<br />

PIU404<br />

COU4B<br />

COU4A<br />

6<br />

MCP604-I/SL<br />

6 PIJ106 SCP1000_CS<br />

PIJ206 6<br />

PIU406<br />

2<br />

MCP604-I/SL 7<br />

7 PIJ107 SCP1000_DRDY AVR2_DRDY PIJ207 7<br />

PIU402<br />

PIU407<br />

1<br />

COR4<br />

CURRENT_CONDITIONED<br />

5<br />

8 PIJ108 AVR_SCK<br />

AVR1_DRDY PIJ208 8<br />

COR3 PIU401 LIPO_CELL_3_CONDITIONED<br />

CURRENT_OUT PIR402 PIR401 PIU405<br />

9 PIJ109 AVR_MISO<br />

PIJ209<br />

3<br />

9 LIPO_CELL_3_BUFFERED PIR302 PIR301 PIU403<br />

Res1<br />

PIC601<br />

10 AVR_MOSI<br />

10<br />

Res1 PIC501<br />

COC6 C6<br />

PIJ1010<br />

PIJ2010<br />

4K7<br />

C5 COC5<br />

11 AVR1_CS<br />

11<br />

4K7<br />

+5 +5<br />

PIC602 Cap<br />

PIJ1011<br />

PIJ2011<br />

PIC502 Cap<br />

PIU4011<br />

PIU4011<br />

100nF<br />

12 PIJ1012 AVR2_CS<br />

CURRENT_OUT PIJ2012 12<br />

100nF<br />

13 PIJ1013 LPC_RX LIPO_CELL_3_BUFFERED PIJ2013 13<br />

PIC101<br />

PIC201<br />

C1 COC1<br />

COC2 C2<br />

14 PIJ1014 LPC_TX LIPO_CELL_2_BUFFERED PIJ2014 14<br />

C PIC102 Cap<br />

PIC202 Cap<br />

GND<br />

15 PIJ1015<br />

LIPO_CELL_1_BUFFERED PIJ2015 15<br />

C<br />

GND<br />

100nF 100nF<br />

+5<br />

16 PIJ1016<br />

TEMPERATURE_OUT PIJ2016 16<br />

+5<br />

17 PIJ1017 DIFFERENTIAL_PRESSURE_OUT PIJ2017 17<br />

GND GND<br />

18 PIJ1018<br />

PIJ2018 18<br />

19 PIJ1019<br />

PIJ2019 19<br />

PIU404<br />

PIU508 COU5B<br />

COU4D<br />

6<br />

MCP602-I/SN<br />

20 PIJ1020<br />

PIJ2020 20<br />

PIU506<br />

13<br />

MCP604-I/SL<br />

7<br />

21 PIJ1021<br />

PIJ2021 21<br />

PIU4013<br />

14<br />

COR6<br />

PIU507 DIFFERENTIAL_PRESSURE_CONDTIONED<br />

5<br />

22 PIJ1022<br />

PIJ2022 22<br />

PIU4014<br />

LIPO_CELL_2_CONDITIONED DIFFERENTIAL_PRESSURE_OUT PIR602 PIR601 PIU505<br />

COR2 12<br />

23<br />

23 LIPO_CELL_2_BUFFERED<br />

Res1<br />

PIC801<br />

PIJ1023<br />

PIJ2023<br />

PIR202 PIR201 PIU4012<br />

GND<br />

24 +5<br />

24<br />

Res1 PIC401<br />

COC8<br />

4K7<br />

C8<br />

PIJ1024<br />

PIJ2024<br />

C4<br />

25<br />

25<br />

4K7<br />

COC4<br />

PIC802 Cap<br />

PIJ1025<br />

PIJ2025<br />

PIC402 Cap<br />

PIU4011<br />

PIU504<br />

100nF<br />

Hea<strong>de</strong>r 25<br />

Hea<strong>de</strong>r 25<br />

100nF<br />

COU2<br />

PIU206 DTR MISO PIU207 IMU_MISO<br />

PIC1401<br />

COU4C<br />

U5A<br />

PIU205 TXO 3V3 (Prog) PIU208<br />

COC14 C14<br />

+3V3<br />

9<br />

MCP604-I/SL<br />

2<br />

MCP602-I/SN<br />

IMU_CS PIU204 RXI SCK PIU209 IMU_SCK<br />

PIU409<br />

PIU502<br />

PIC1402 Cap<br />

8<br />

1<br />

PIU203 3V3 MOSI PIU2010 IMU_MOSI<br />

PIU408<br />

100nF<br />

LIPO_CELL_1_CONDITIONED<br />

10<br />

PIU501<br />

COR1<br />

COR5<br />

TEMPERATURE_CONDITIONED<br />

3<br />

D PIU202 CTS RESET PIU2011<br />

LIPO_CELL_1_BUFFERED PIR102 PIR101 PIU4010<br />

TEMPERATURE_OUT PIR502 PIR501 PIU503<br />

D<br />

PIU201 GND GND PIU2012<br />

Res1 PIC301<br />

Res1<br />

PIC701<br />

GND<br />

4K7<br />

C3 COC3<br />

4K7<br />

COC7 C7<br />

Razor 9DOF IMU<br />

PIC302 Cap<br />

PIU4011<br />

PIC702 Cap<br />

PIU504<br />

GND GND<br />

100nF<br />

100nF<br />

2<br />

3<br />

4<br />

5<br />

6<br />

1<br />

11 4<br />

11 4<br />

11 4<br />

11 4<br />

3<br />

GND<br />

Sonar Connectors<br />

LPC-H2148<br />

+3V3<br />

GND<br />

+5<br />

GND<br />

+5<br />

4<br />

8<br />

4<br />

8<br />

Board to Board Interconnects<br />

PIU404<br />

PIU508 COU5A<br />

IMU<br />

GND<br />

Analog Front End<br />

GND<br />

Figura I.10: Esquemático do stack <strong>de</strong> processamento auxiliar<br />

202


(a) Face superior<br />

(b) Face inferior<br />

Figura I.11: Stack <strong>de</strong> processamento auxiliar<br />

203


1<br />

2<br />

3<br />

4<br />

+5<br />

J1<br />

+5<br />

J3<br />

A +5 A<br />

+5 1<br />

R1<br />

5 SONAR_LEFT R4<br />

2<br />

C1<br />

Res1<br />

4<br />

SONAR_LEFT 3<br />

Cap Pol1<br />

220<br />

3<br />

Res1<br />

47uF 2<br />

100<br />

GND<br />

Sonar Left/LPC<br />

1 SYNC<br />

J2<br />

D1 GND Sonar Left<br />

GND<br />

LED0<br />

+5 1<br />

+5<br />

J4<br />

2<br />

+5<br />

SONAR_RIGHT 3<br />

5 SONAR_RIGHT R5<br />

C2<br />

4<br />

GND<br />

Sonar Right/LPC GND<br />

B<br />

Cap Pol1 3<br />

Res1<br />

+5<br />

B<br />

47uF 2<br />

100<br />

1 SYNC<br />

R3<br />

Res1<br />

180K<br />

GND<br />

Sonar Right<br />

GND<br />

U1<br />

+5<br />

+5 4<br />

RST DIS<br />

7<br />

R2 6<br />

3<br />

C3<br />

THR OUT SYNC<br />

C Res1<br />

C<br />

Cap<br />

f = 1.44/aaRa+2Rb)C) =<br />

300K 2<br />

5<br />

100nF<br />

TRIG CVOLT<br />

21.8 Hz<br />

T = 45 ms<br />

8<br />

1<br />

+5 V+ GND<br />

GND<br />

C4 LM555<br />

Cap Poliester<br />

GND<br />

100nF<br />

Title<br />

GND Sonar Sync Circuit<br />

Size N<strong>um</strong>ber Revision<br />

D<br />

A<br />

D<br />

Date: 7/3/2012 Sheet of<br />

File: C:\Users\..\sync_circuit.SchDoc Drawn By:<br />

2<br />

3<br />

A0<br />

Felipe Brandão Cavalcanti<br />

4<br />

1<br />

Figura I.12: Esquemático do circuito <strong>de</strong> sincronismo dos sonares<br />

204


II.<br />

DESCRIÇÃO DO CONTEÚDO DO DVD<br />

No disco DVD entregue com o trabalho é disponibilizada <strong>um</strong>a cópia digital do relatório, bem<br />

como <strong>um</strong>a pasta com todos arquivos utilizados em sua elaboração.<br />

• Dados contém os arquivos referentes aos dados experimentais (calibração, dados crus <strong>de</strong><br />

voo, estimação e i<strong>de</strong>ntificação).<br />

• Datasheets contém os datasheets, manuais e outros doc<strong>um</strong>entos referentes aos componentes<br />

eletrônicos.<br />

• Fontes contém os arquivos L A TEX<strong>de</strong>sse relatório e da apresentação, além <strong>de</strong> arquivos referentes<br />

aos gráficos <strong>de</strong>sse trabalho.<br />

• Fotos contém fotos (processadas e não processadas) do Projeto ANU.<br />

• Hardware contém os arquivos referentes ao projeto elétrico, incluido o projeto das placas<br />

para o Alti<strong>um</strong> Designer 10.<br />

• Outros contém arquivos antigos do projeto ANU e outros arquivos que não se encaixam em<br />

nenh<strong>um</strong>a outra categoria.<br />

• Programas-C contém o código fonte e o repositório <strong>de</strong> todos os códigos <strong>de</strong>senvolvidos em<br />

C.<br />

• Programas-MATLAB contém o código fonte e o repositório <strong>de</strong> todos os códigos <strong>de</strong>senvolvidos<br />

em MATLAB.<br />

• Referencias contém artigos e livros sobre VANTs, utilizados nesse trabalho.<br />

• RTOS contém implementações do Xenomai para o G<strong>um</strong>stix Overo e do FreeRTOS para o<br />

LPC2148.<br />

205


III.<br />

PARÂMETROS DE CALIBRAÇÃO<br />

Esse anexo doc<strong>um</strong>enta os parâmetros <strong>de</strong> calibração obtidos através das técnicas <strong>de</strong>scritas na<br />

Seção 5.3.<br />

Monitor <strong>de</strong> Energia<br />

Tensão da Bateria<br />

Forma <strong>de</strong> Calibração Mínimos Quadrados<br />

Mo<strong>de</strong>lo<br />

x = aˆx + b<br />

Parâmetro a 0,006405<br />

Parâmetro b 0,01878<br />

Tabela III.1: Parâmetros <strong>de</strong> calibração para Tensão da Bateria - Célula 1<br />

Forma <strong>de</strong> Calibração Mínimos Quadrados<br />

Mo<strong>de</strong>lo<br />

x = aˆx + b<br />

Parâmetro a 0,009969<br />

Parâmetro b -0,009428<br />

Tabela III.2: Parâmetros <strong>de</strong> calibração para Tensão da Bateria - Célula 2<br />

Forma <strong>de</strong> Calibração Mínimos Quadrados<br />

Mo<strong>de</strong>lo<br />

x = aˆx + b<br />

Parâmetro a 0,01519<br />

Parâmetro b -0,02035<br />

Tabela III.3: Parâmetros <strong>de</strong> calibração para Tensão da Bateria - Célula 3<br />

Corrente da Bateria<br />

Forma <strong>de</strong> Calibração Mínimos Quadrados<br />

Mo<strong>de</strong>lo<br />

x = aˆx + b<br />

Parâmetro a 0,06284<br />

Parâmetro b -23,41<br />

Tabela III.4: Parâmetros <strong>de</strong> calibração para corrente da bateria<br />

207


Central Inercial<br />

Acelerômetros<br />

Forma <strong>de</strong> Calibração Newton-Raphson<br />

( )<br />

Mo<strong>de</strong>lo x = −1.0 ˆx−b<br />

s f<br />

Parâmetro s f 26,396<br />

Parâmetro b -20,445<br />

Gran<strong>de</strong>za <strong>de</strong> entrada<br />

Digital<br />

Gran<strong>de</strong>za <strong>de</strong> saída Aceleração (m/s 2 )<br />

Tabela III.5: Parâmetros <strong>de</strong> calibração para o acelerômetro - eixo x<br />

Forma <strong>de</strong> Calibração Newton-Raphson<br />

( )<br />

Mo<strong>de</strong>lo x = −1.0 ˆx−b<br />

s f<br />

Parâmetro s f 26,471<br />

Parâmetro b 10,118<br />

Gran<strong>de</strong>za <strong>de</strong> entrada<br />

Digital<br />

Gran<strong>de</strong>za <strong>de</strong> saída Aceleração (m/s 2 )<br />

Tabela III.6: Parâmetros <strong>de</strong> calibração para o acelerômetro - eixo y<br />

Forma <strong>de</strong> Calibração Newton-Raphson<br />

( )<br />

Mo<strong>de</strong>lo x = −1.0 ˆx−b<br />

s f<br />

Parâmetro s f 25,494<br />

Parâmetro b -36,415<br />

Gran<strong>de</strong>za <strong>de</strong> entrada<br />

Digital<br />

Gran<strong>de</strong>za <strong>de</strong> saída Aceleração (m/s 2 )<br />

Tabela III.7: Parâmetros <strong>de</strong> calibração para o acelerômetro - eixo z<br />

208


Magnetômetros<br />

Forma <strong>de</strong> Calibração Newton-Raphson<br />

( )<br />

Mo<strong>de</strong>lo x = −1.0 ˆx−b<br />

s f<br />

Parâmetro s f 12,662<br />

Parâmetro b -169,576<br />

Gran<strong>de</strong>za <strong>de</strong> entrada<br />

Gran<strong>de</strong>za <strong>de</strong> saída<br />

Digital<br />

Campo magnético (µT)<br />

Tabela III.8: Parâmetros <strong>de</strong> calibração para o magnetômetro - eixo x<br />

Forma <strong>de</strong> Calibração Newton-Raphson<br />

( )<br />

Mo<strong>de</strong>lo x = −1.0 ˆx−b<br />

s f<br />

Parâmetro s f 12,875<br />

Parâmetro b 101,868<br />

Gran<strong>de</strong>za <strong>de</strong> entrada<br />

Gran<strong>de</strong>za <strong>de</strong> saída<br />

Digital<br />

Campo magnético (µT)<br />

Tabela III.9: Parâmetros <strong>de</strong> calibração para o magnetômetro - eixo y<br />

Forma <strong>de</strong> Calibração Newton-Raphson<br />

( )<br />

Mo<strong>de</strong>lo x = −1.0 ˆx−b<br />

s f<br />

Parâmetro s f 10,529<br />

Parâmetro b -518,383<br />

Gran<strong>de</strong>za <strong>de</strong> entrada<br />

Gran<strong>de</strong>za <strong>de</strong> saída<br />

Digital<br />

Campo magnético (µT)<br />

Tabela III.10: Parâmetros <strong>de</strong> calibração para o magnetômetro - eixo z<br />

209


Girômetros<br />

Forma <strong>de</strong> Calibração Dados do datasheet [17]<br />

Mo<strong>de</strong>lo<br />

x = s f ˆx + b<br />

Parâmetro s f 0,01689<br />

Parâmetro b Determinado online<br />

Gran<strong>de</strong>za <strong>de</strong> entrada<br />

Digital<br />

Gran<strong>de</strong>za <strong>de</strong> saída Velocida<strong>de</strong> angular (rad/s)<br />

Tabela III.11: Parâmetros <strong>de</strong> calibração para o girômetro - eixo x<br />

Forma <strong>de</strong> Calibração Dados do datasheet [17]<br />

Mo<strong>de</strong>lo<br />

x = s f ˆx + b<br />

Parâmetro s f 0,01689<br />

Parâmetro b Determinado online<br />

Gran<strong>de</strong>za <strong>de</strong> entrada<br />

Digital<br />

Gran<strong>de</strong>za <strong>de</strong> saída Velocida<strong>de</strong> angular (rad/s)<br />

Tabela III.12: Parâmetros <strong>de</strong> calibração para o girômetro - eixo y<br />

Forma <strong>de</strong> Calibração Dados do datasheet [16]<br />

Mo<strong>de</strong>lo<br />

x = s f ˆx + b<br />

Parâmetro s f 0,01689<br />

Parâmetro b Determinado online<br />

Gran<strong>de</strong>za <strong>de</strong> entrada<br />

Digital<br />

Gran<strong>de</strong>za <strong>de</strong> saída Velocida<strong>de</strong> angular (rad/s)<br />

Tabela III.13: Parâmetros <strong>de</strong> calibração para o girômetro - eixo z<br />

210


Tubo <strong>de</strong> Pitot<br />

Forma <strong>de</strong> Calibração Ensaio em túnel <strong>de</strong> vento / Mínimos Quadrados<br />

Mo<strong>de</strong>lo<br />

x = s f ˆx + b<br />

Parâmetro s f 2,958<br />

Parâmetro b -2331,0<br />

Gran<strong>de</strong>za <strong>de</strong> entrada<br />

Digital<br />

Gran<strong>de</strong>za <strong>de</strong> saída<br />

Pressão (Pa)<br />

Tabela III.14: Parâmetros <strong>de</strong> calibração para o tubo <strong>de</strong> pitot<br />

Sonares<br />

Forma <strong>de</strong> Calibração Dados do datasheet [33]<br />

Mo<strong>de</strong>lo<br />

x = s f ˆx + b<br />

1<br />

Parâmetro s f 5787,4<br />

Parâmetro b 0<br />

Gran<strong>de</strong>za <strong>de</strong> entrada<br />

Gran<strong>de</strong>za <strong>de</strong> saída<br />

Digital<br />

Distância (m)<br />

Tabela III.15: Parâmetros <strong>de</strong> calibração para os sonares<br />

Sensor <strong>de</strong> Temperatura<br />

Forma <strong>de</strong> Calibração Dados do datasheet [34]<br />

Mo<strong>de</strong>lo<br />

x = s f ˆx + b<br />

Parâmetro s f 0,3223<br />

Parâmetro b 0<br />

Gran<strong>de</strong>za <strong>de</strong> entrada Digital<br />

Gran<strong>de</strong>za <strong>de</strong> saída Temperatura ( o C)<br />

Tabela III.16: Parâmetros <strong>de</strong> calibração para os sonares<br />

211

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!