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.

<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

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

Saved successfully!

Ooh no, something went wrong!