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 ...
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