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.

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

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

Saved successfully!

Ooh no, something went wrong!