26.12.2014 Views

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

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

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

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!