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.

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

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

Saved successfully!

Ooh no, something went wrong!