Computing">
Nothing Special   »   [go: up one dir, main page]

TCC Fga

Fazer download em pdf ou txt
Fazer download em pdf ou txt
Você está na página 1de 53

Universidade de Brasília - UnB

Faculdade UnB Gama - FGA


Engenharia Eletrônica

PROJETO DE UM CONTROLADOR
EMBARCADO PARA UM QUADRIROTOR

Autor: Leonardo Avelino de Lima Jacinto


Orientador: Dr. Evandro Leonardo Silva Teixeira

Brasília, DF
2016
Leonardo Avelino de Lima Jacinto

PROJETO DE UM CONTROLADOR EMBARCADO


PARA UM QUADRIROTOR

Monografia submetida ao curso de graduação


em (Engenharia Eletrônica) da Universidade
de Brasília, como requisito parcial para ob-
tenção do Título de Bacharel em (Engenharia
Eletrônica).

Universidade de Brasília - UnB


Faculdade UnB Gama - FGA

Orientador: Dr. Evandro Leonardo Silva Teixeira

Brasília, DF
2016
Leonardo Avelino de Lima Jacinto
PROJETO DE UM CONTROLADOR EMBARCADO PARA UM QUADRI-
ROTOR/ Leonardo Avelino de Lima Jacinto. – Brasília, DF, 2016-
51 p. : il. (algumas color.) ; 30 cm.

Orientador: Dr. Evandro Leonardo Silva Teixeira

Trabalho de Conclusão de Curso – Universidade de Brasília - UnB


Faculdade UnB Gama - FGA , 2016.
1. quadrirotor. 2. sistemas embarcados. I. Dr. Evandro Leonardo Silva
Teixeira. II. Universidade de Brasília. III. Faculdade UnB Gama. IV. PROJETO
DE UM CONTROLADOR EMBARCADO PARA UM QUADRIROTOR

CDU 02:141:005.6
Leonardo Avelino de Lima Jacinto

PROJETO DE UM CONTROLADOR EMBARCADO


PARA UM QUADRIROTOR

Monografia submetida ao curso de graduação


em (Engenharia Eletrônica) da Universidade
de Brasília, como requisito parcial para ob-
tenção do Título de Bacharel em (Engenharia
Eletrônica).

Trabalho aprovado. Brasília, DF, 05 de Agosto de 2016:

Dr. Evandro Leonardo Silva Teixeira


Orientador

Dr. Renato Vilela Lopes


Convidado 1

Dr. André Murilo de Almeida Pinto


Convidado 2

Brasília, DF
2016
Este trabalho é dedicado à minha mãe, Joselene,
ao meu pai, Almir, aos meus irmãos Lucas
e Luís, e à minha namorada Amanda.
Agradecimentos

Agradeço à minha família, meus pais e irmãos, por sempre acreditarem em mim e
por todo investimento, carinho e suporte ao longo de todas as etapas da minha vida.
Agradeço à minha namorada Amanda, que apesar da distância está sempre me
apoiando, respeitando minhas decisões e me incentivando a sempre optar pelas melhores
escolhas.
Agradeço ao meu tio Marcos, por todos os conselhos desde a infância até a fase
adulta, por todo o apoio que precisei para tomar decisões importantes ao longo das etapas
vividas.
Agradeço aos meus colegas de curso Rafael, Hugo e Paulo, pela amizade e compa-
nheirismo durante a minha jornada universitária.
Agradeço ao professor Evandro pela oportunidade de trabalhar nesse projeto e por
todo o suporte ao longo do processo de aprendizado, e ao professor Sandro, por todos os
conselhos e por sua disponibilidade para ajudar os alunos sempre que há necessidade.
“Success is not the key to happiness.
Hapiness is the key to success.
If you love what you are doing,
you will be successful.”
(Albert Schweitzer)
Resumo
O presente trabalho aborda o projeto de um controlador embarcado para Veículos Aéreos
Não Tripulados (VANTs) do tipo quadrirotor. O objetivo é a implementação de mode-
los de controle de vôo conhecidas, como o controlador PID, em arquiteturas open-source
visando um melhor desempenho através da utilização de técnicas para desenvolvimento
em sistemas embarcados, como o uso de programação concorrente. A implementação será
feita utilizando a placa controladora Pixhawk para total controle de vôo, e também, com
esta operando em conjunto com o microcontrolador Raspberry Pi. Uma comparação dos
resultados obtidos nos dois casos em relação ao desempenho e tempo de processamento
será apresentada, além de uma posterior comparação destes resultados com softwares co-
merciais existentes no mercado. Ao final, será sugerida a melhor configuração de algoritmo
de controle com a arquitetura de hardware em que se obtêm maior velocidade e melhor
desempenho, visando uma melhor estabilidade para usuários que desejam aproveitar ao
máximo os recursos de processamento.

Palavras-chaves: quadrirotor. sistemas embarcados. técnicas de controle.


Abstract
This present work addresses the project of an embedded controller for Unmanned Aerial
Vehicles (UAV) type quadrotor. The aim of this work is the implementation of known
flight control models, like the PID controller, through open-source architectures seeking
the best performance using techniques of embedded systems development, like concurrent
programming. The implementation will be performed using the Pixhawk flight controller
as a full flight controller board, and also, both Pixhawk and the Raspberry Pi microcon-
troller working together. A comparison of the results obtained from both cases regarding
performance and processing time will be presented in addition to a further comparison
among these results with existing commercial softwares in the market. Lastly, the best
control algorithm is suggested along with the best hardware architecture in which the
best performance and speed are achieved, seeking a better stability for users who want to
take full advantage of the processing resources.

Key-words: quadrotor. embedded systems. control techniques.


Lista de ilustrações

Figura 1 – Cálculo para as aplicações comerciais de VANTs . . . . . . . . . . . . . 25


Figura 2 – Drone comercial da empresa 3DR . . . . . . . . . . . . . . . . . . . . . 30
Figura 3 – Sentido de rotação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Figura 4 – Sistema de coordenadas . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Figura 5 – Movimentação do quadrirotor: (a)Throttle; (b)Roll; (c)Pitch e (d)Yaw . 33
Figura 6 – Controlador PID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Figura 7 – Arquitetura genérica de um quadrirotor . . . . . . . . . . . . . . . . . 36
Figura 8 – Placa controladora Pixhawk. . . . . . . . . . . . . . . . . . . . . . . . . 38
Figura 9 – Representação da ligação entre motores e ESC à bateria. . . . . . . . . 40
Figura 10 – Etapas do estudo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Figura 11 – Arquitetura do estudo do estudo de caso 2 . . . . . . . . . . . . . . . . 48
Lista de tabelas

Tabela 1 – Cronograma do Trabalho . . . . . . . . . . . . . . . . . . . . . . . . . 49


Lista de abreviaturas e siglas

CPU Central Processing Unit

E/S Entrada/Saída

ESC Electronic Speed Controller

IMU Inertial Measure Unit

GPS Global Positioning System

LQR Linear Quadratic Regulator

PID Proportional Integral Derivative

RPi Raspberry Pi

RPM Rotações Por Minuto

RTOS Real Time Operating System

TCC Trabalho de Conclusão de Curso

UAV Unmanned Aerial Vehicle

VANT Véiculo Aéreo Não-Tripulado


Lista de símbolos

θ Ângulo de arfagem

ψ Ângulo de guinada

φ Ângulo de rolamento
Sumário

1 INTRODUÇÃO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
1.1 Objetivo geral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
1.2 Objetivo específico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
1.3 Estrutura do Trabalho . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

2 REVISÃO BIBLIOGRÁFICA . . . . . . . . . . . . . . . . . . . . . . 29
2.1 VANT: Veículo Aéreo Não-Tripulado . . . . . . . . . . . . . . . . . . 29
2.2 Quadrirotor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.2.1 Técnicas de controle para quadrirotor . . . . . . . . . . . . . . . . . . . . 32
2.2.1.1 Controlador PID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.2.1.2 Controlador LQR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
2.2.1.3 Outras técnicas de controle . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
2.3 Arquitetura do quadrirotor . . . . . . . . . . . . . . . . . . . . . . . . 35
2.3.1 Placa controladora de vôo . . . . . . . . . . . . . . . . . . . . . . . . . . 36
2.3.1.1 Softwares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
2.3.2 Sensores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
2.3.3 Comunicação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
2.3.4 Motores e ESC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
2.3.4.1 Motores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
2.3.4.2 ESC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
2.3.5 Hélices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
2.3.6 Bateria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
2.4 Sistemas de tempo real . . . . . . . . . . . . . . . . . . . . . . . . . . 42

3 METODOLOGIA . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
3.1 Etapa 1 - Revisão Bibliográfica . . . . . . . . . . . . . . . . . . . . . . 45
3.2 Etapa 2 - Ambiente de Desenvolvimento . . . . . . . . . . . . . . . . 46
3.3 Etapa 3 - Implementação do Modelo de Controle . . . . . . . . . . . 46
3.4 Etapa 4 - Validação do Modelo . . . . . . . . . . . . . . . . . . . . . 46
3.5 Etapa 5 - Análise e Discussão dos Resultados . . . . . . . . . . . . . 46

4 ESTUDO DE CASO . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
4.1 Caso 1: Pixhawk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
4.2 Caso 2: Pixhawk e Raspberry Pi . . . . . . . . . . . . . . . . . . . . . 48
4.3 Cronograma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Referências . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
25

1 Introdução

Devido ao avanço da tecnologia na área de robótica e aviação, o uso de Veículos


Aéreos Não-Tripulados para diversos propósitos é uma realidade do século XXI. Mesmo
que, no início de seu desenvolvimento, os VANTs tenham sido usados para propósitos
militares (CHAVES, 2013), atualmente a demanda é bem grande por estes na área cívil.
De acordo com a revista Exame, em artigo de 2016, as aplicações para o mercado de
VANTS pode chegar a 127 bilhões de doláres. Isto inclui diversas áreas como transporte,
infraestrutura, segurança, telecomunicações, agricultura e entretenimento como pode ser
visto na Figura 11 .

Figura 1: Cálculo para as aplicações comerciais de VANTs

Estes veículos aéreos, que são dividos em duas categorias, quadrirotores e VANT
de asa fixa, podem realizar missões de vôo de maneira autônoma atráves de missões
pré-programadas ou podem ser controlados por pilotos através do uso de controles via
rádio. O que possibilita a execução das missões, é o fato de que eles possuem um sistema
computacional que lê o comando dado por um controlador embarcado ou pelo seu piloto
via rádio, e executa o movimento. Os sensores dos VANTs são constantemente lidos para
que a correção de vôo seja feita em tempo real. Esse termo é usado para denominar
sistemas em que o tempo de resposta é pré-determinado, e um não cumprimento do
mesmo acarreta em uma falha catastrófica.
Devido ao grande crescimento de aplicações para o uso de VANTs, é necessário
cada vez mais que técnicas de sistemas embarcados sejam usados nesses sistemas, para
1
http://exame.abril.com.br/economia/noticias/como-os-drones-vao-mexer-com-a-economia
26 Capítulo 1. Introdução

que haja um aprovetamento ótimo dos recursos dos controladores embarcados. Operações
de leitura de sensores, acionamento de motores, inversão de matrizes para aplicações
de técnicas de controle, além de outras operações, precisam ser executadas ao mesmo
tempo que o VANT captura imagens, por exemplo. Desta forma, os algoritmos de controle
precisam ser implementado de maneira a obter um máximo desempenho, de maneira que
as operações possam ser executadas em paralelo, e que mesmo em situações críticas como
no uso intenso de memória ou de CPU, os deadlines sejam cumpridos para que o veículo
não perca controle de vôo.
A implementação desses algoritmos para ótima qualidade de desempenho a partir
de técnicas de controle conhecidas é o objetivo deste trabalho.

1.1 Objetivo geral


O objetivo deste trabalho é aplicar as técnicas de controle de quadrirotor exis-
tente em uma flight controller, ou controladora de vôo, visando um melhor desempenho
e aproveitamento dos recursos da mesma quando comparadas com softwares open-source
famosos. Deseja-se testar o uso de diferentes arquiteturas a fim de propor uma melhor
combinação de hardware-software para operações em que são exigidos um grande poder
de processamento em tempo-real.

1.2 Objetivo específico


Este trabalho possui como objetivo específico a implementação de um controla-
dor em linguagem C utilizando linux embarcado modificado para aplicações que exigem
tempo-real, ou garantia de cumprimento de deadlines, em microcontrolador. Deseja-se
desenvolver toda a comunicação com os periféricos e sensores envolvidos. O quadrirotor
deverá estar apto a voar com o controlador embarcado no fim do projeto, e os resulta-
dos de desempenho serão avaliados. Um sistema em que diferentes técnicas de controle
possam ser escolhidas e programadas com uma simples interface também é de desejo do
autor desse trabalho.

1.3 Estrutura do Trabalho


O texto deste trabalho foi organizado em quatro capítulos seguidos das referên-
cias bibliográficas. A seguir é apresentado um breve resumo do que o leitor pode deverá
encontrar em cada um destes capítulos:
Capítulo 2: Neste capítulo é abordada a revisão bibliográfica que serviu de base
para e execução deste trabalho. Uma introdução aos quadrirotores, além de uma revisão
1.3. Estrutura do Trabalho 27

de cada uma das principais partes que compõe este veículo foi elaborada neste capítulo.
Técnicas de controle destes, além de modelos já existentes e uma revisão de sistemas de
tempo-real são também abordadas.
Capítulo 3: Neste capítulo é abordada a metodologia para a execução deste traba-
lho. Lá é descrito passo a passo os métodos que foram utilizados durante o desenvolvimento
deste trabalho, desde a revisão bibliográfica aos testes e análise de resultados.
Capítulo 4: O capítulo 4 trata da descrição dos estudos de caso deste trabalho. O
primeiro trata-se de uma arquitetura de controle utilizando a placa controladora Pixhawk.
Já no segundo caso de estudo, analisa-se a implementação das técnicas de controle uti-
lizando a placa de controle Pixhawk para interação com os dispositivos comunicando-se
com o microcontrolador Raspberry Pi, que possui o controlador embarcado.
29

2 Revisão Bibliográfica

Esta seção apresenta a importância dos drones no cenário mundial atual, bem
como uma revisão de como o drone do tipo quadrirotor - foco deste trabalho - funciona
apresentando as características de cada componente do mesmo. Há também diversas men-
ções a modelos de controle, softwares e hardwares já existentes no mercado ao decorrer
desta seção.

2.1 VANT: Veículo Aéreo Não-Tripulado


Também conhecido como drone e UAV, Unmanned Aerial Vehicle em inglês,
VANTs são aeronaves que não possuem passageiros ou pilotos à bordo, sendo opera-
dos por pilotos em terra com o uso de controles remotos, por computadores ou podem ser
pré-programados para realizar missões. Essas aeronaves vêm em diversos tipos de modelo
e tamanho, podendo ter estrutura similares à aviões e helicópteros comerciais tendo asa
fixa, hélices ou os dois, e tamanho variando desde poucos centímetros até dezenas de
metros de comprimento.
Inicialmente, os VANTs foram desenvolvidos com intuito de serem utilizados na
área militar. Esses veículos poderiam explorar e até realizar ataques no lugar de naves
tripuladas evitando risco de perder soldados. A utilização dessas aeronaves com propósito
militar chamou bastante a atenção dos países depois da utilização das mesmas na Guerra
do Líbano em 1982 por Israel1 , passando a ser produzidos e utilizados em larga escala por
vários paises ao redor do mundo.
Porém, nas últimas decadas, o crescimento dessas aeronaves na área cívil e in-
dustrial também têm crescido largamente. As pesquisas antes existentes somente para o
uso e aperfeiçoamento na área militar está sendo direcionada para diversas áreas como
segurança, monitoração, resgate, agricultura, telecomunicações, entretenimento e até, re-
centemente, o uso no transporte de passageiros2 . Um exemplo de drone comercial para uso
na área cívil pode ser visto na Figura 2. De acordo com o relatório The Drones Report da
empresa norte-americana de jornalismo Business Insider Intelligence publicado em 2016,
o uso de drones para fins cívil/comercial irá crescer à uma taxa composta anual de 19%
entre 2015 e 2020 comparado com 5% para fins militares nos Estados Unidos. Além disso,
existe uma projeção de lucro com vendas de VANTs de aproximadamente 12 bilhões para
2021.

1
http://isnblog.ethz.ch/security/civilian-drones-fixing-an-image-problem
2
https://www.theguardian.com/technology/2016/jan/07/first-passenger-drone-makes-world-debut
30 Capítulo 2. Revisão Bibliográfica

Figura 2: Drone comercial da empresa 3DR

Por essa razão, o mercado global de VANTs vêm se expandindo rapidamente,


atraindo bastante investidores, não só dos Estados Unidos, como de diversos países ao
redor do mundo. Somente em 2015, a China por exemplo, recebeu investimentos de apro-
ximadamente 500 milhões de doláres neste setor 3 . Já em pesquisas da empresa francesa
Delair-Tech, a França teve um crescimento de 1000% no mercado de VANTs nos últimos
cinco anos, e conseguiu fundos de investimento de aproximadamente 13 milhões de euros
recentemente4 . Rússia, Reino Unido, Israel e Japão estão também entre os países que
possuem grandes investimentos nessa área.
Já no Brasil, apesar de não existir estatísticas oficiais, existem levantamentos que
indicam que há cerca de mais de vinte mil profissionais operando VANTs no território.
Incluindo vendas, treinamentos e prestação de serviçõs, há uma estimativa de um mercado
de aproximadamente 100 à 200 milhões de reais em 2016, de acordo com a empresa
brasileira de comunicação MundoGEO.

2.2 Quadrirotor
O quadrirotor, também conhecido como quadrotor ou quadricóptero, é um tipo
de helicoptéro que possui quatro rotores, cada um com uma hélice. Embora seu uso
tenha começado como aeronaves para passageiros no começo do século XX (SA; CORKE,
2012), hoje em dia o mesmo é usado largamente como Veículo Aéreo Não-Tripulado. Estes
veículos estão cada vez mais populares, principalmente devido as avançadas técnicas de
controle desenvolvidas, o que possibilita que eles sejam controlados por computadores em
terra, por controles de rádio, ou até mesmo fazer vôos autônomos sem a necessidade de
3
http://techcrunch.com/2016/06/03/drones-putting-chinas-economy-on-autopilot/
4
https://blog.econocom.com/en/blog/commercial-drones-a-growing-market/
2.2. Quadrirotor 31

um piloto.
Várias são as aplicações dos quadricópteros nos dias de hoje como a sua utilização
na área militar na procura de bombas e identificação de alvos, na área de segurança como
monitoramento de propriedades privadas, rastreamento de veículos nas estradas e também
monitoramento de cargas. O uso também é bastante frequente para análise da atmosfera
para previsão do tempo, detecção de áreas de incêndio e até mesmo para transporte de
objetos (KRAJNIK et al., 2011).
Uma das vantagens do quadrirotor é que este é um veículo simétrico, sendo sim-
ples a sua construção e possui facilidade de manutenção, tudo isso devido ao fato de que
este veículo possui os ângulos constantes em suas hélices, evitando-se assim o sistema de
variação de ângulos destas que são sistemas mais complexos e menos robustos (MUNOZ,
2012). Possui também algumas vantagens que o VANT de asa fixa não tem como deco-
lagem vertical, maior facilidade de manobra e consegue pairar sob o ar. Além disso, o
quadrirotor não precisa de uma área grande para aterrisagem, o que é necessário no caso
do drone de asa fixa.
As lâminas das hélices do quadrirotor são conectadas nos rotores paralelamente
entre si, fixando-as de maneira a obter uma estrutura rígida, permitindo que a única coisa
que possa ser variada seja a velocidade de rotação das mesmas (BRESCIANI, 2008). Ao
variar a velocidade, os rotores geram a propulsão necessária para a estrutura poder voar.
A mecânica do vôo de um quadrirotor é possível graças aos diferentes sentidos de
rotação de seus rotores como poder ser visto na Figura 3. Neste exemplo de configuração,
a rotação das hélices 1 e 3 movem-se no sentido horário, ao passo que as hélices 2 e 4 são
rotacionadas no sentido anti-horário.

Figura 3: Sentido de rotação

Para modelar essa movimentação, utiliza-se do sistema de coordenadas mostrado


na Figura 4. Os ângulos responsáveis pelos movimentos desse VANT são conhecidos como
ângulos de Euler: o ângulo de rolamento φ, o ângulo de arfagem θ e o ângulo de guinada
ψ (do inglês medição angular RPY : roll, pitch e yaw).
32 Capítulo 2. Revisão Bibliográfica

Figura 4: Sistema de coordenadas

Tendo como referência esse sistema de coordenadas, existem quatro movimentos


básicos que permitem o quadricóptero atingir uma determinada posição e altitude, e
eles estão representados na Figura 5. O primeiro deles é o movimento de throttle, que
não é nada mais que o movimento de subida ou descida. Para esse movimento occorer
todos os rotores devem aumentar ou diminuir a rotação na mesma proporção. O segundo
movimento é o de variação no eixo transversal do drone (ângulo de rolamento), que é
possibilitado alterando-se a velocidade de um dos rotores que giram no sentido horário.
O terceiro tipo de movimento, de variação no eixo longitudinal (ângulo de arfa-
gem), é bem similar ao de segundo tipo, e deve ser efetuado alterando-se a velocidade de
um dos rotores que estão rotacionando no sentido anti-horário. Por fim, o último movi-
mento é o que altera o ângulo de guinada. Para efetuá-lo, a velocidade das hélices que
giram no sentido horário deve ser aumentada ou diminuida, ao passo que a velocidade das
hélices que giram no sentido oposto deve ser diminuída ou aumentada, sempre de maneira
contrária às outras hélices.

2.2.1 Técnicas de controle para quadrirotor


Para que o quadrirotor possa voar de maneira adequada, existe a necessidade de um
controle das suas variáveis através de algoritmos computacionais. Quando um comando é
enviado do transmissor (piloto) para que ocorra um certo tipo de movimento, o sistema
2.2. Quadrirotor 33

Figura 5: Movimentação do quadrirotor: (a)Throttle; (b)Roll; (c)Pitch e (d)Yaw

deve ler esse sinal e modificar a rotação dos motores com a precisão necessária para que
o movimento seja de acordo com o esperado. O controlador deve estar calibrado para
executar os seus passos no tempo correto e erro minimizado, caso contrário o vôo do
quadricóptero estará comprometido.
Apesar do quadrirotor possuir uma mecânica simples quando comparada com ou-
tros veículos aéreos, seu controle não é tão trivial devido a imprecisão do seu modelo
dinâmico por ser um sistema sub-atuado, e a não-linearidade do seu modelo matemático
(ZULU; JOHN, 2014). Sendo assim, teorias de sistemas de controle são bastante utilizadas
na elaboração dos algoritmos de análise e controle para o quadrirotor.
Existem vários tipos de algoritmos utilizados hoje em dia para o controle do qua-
drirotor, cada um com suas vantagens e desvantagens. Algumas das características mais
importantes que devem ser levadas em consideração para a escolha adequada da técnica
de controle são:

• Robustez

• Adaptação

• Otimização

• Inteligência

• Capacidade de rastreamento

• Rápida convergência/Resposta

• Precisão

• Simplicidade
34 Capítulo 2. Revisão Bibliográfica

• Rejeição às pertubações

• Tratamentro de parâmetros não-modelados

• Sintonização manual

• Ruído

• Tratamentro de parâmetros não-modelados

• Vibração/Perda de energia

Obviamente não é possível desenvolver um algoritmo que possua uma excelente


solução para todos esses parâmetros, portanto deve ser feita a escolha dos parâmetros mais
importantes a serem otimizados levando em conta a aplicação do sistema a ser construído.

2.2.1.1 Controlador PID

Uma das técnicas de controle mais utlizadas na indústria é o controlador PID


(Proportional Integral Derivative) devido a sua estrutura e sintonia simplificada. Esta
técnica consiste em estimar uma diferença de erro - através do seu mecanismo de controle
com realimentação - através da diferença entre o ponto em que o sistema está atualmente
e o ponto desejado, e assim ajustar esse erro alterando as entradas de controle (atuadores)
(KHATOON; GUPTA; DAS, 2014), como pode ser visto na Figura 6.

Figura 6: Controlador PID

Os três diferentes parâmetros envolvidos nesta técnica - P, I e D - são descritos em


termos do tempo, sendo o erro presente dependendente de P, o erro passado dependente
de I e o erro futuro dependente de D. O termo P, também chamado de coeficiente de ganho
proporcional, é o parâmetro mais importante pois seu valor determinará quão reativo será
o quadrirotor à variações, através das medições da diferença entre a posição desejada e
a posição atual. Já o parâmetro I, conhecido como o termo integral, é importante para
tornar o sistema mais preciso devido ao erro passado acumulado. Por fim, o parâmetro
2.3. Arquitetura do quadrirotor 35

derivativo, D, faz com que o sistema aumente a velocidade de reação de acordo com a
taxa de variação do erro.
Este controlador deve ser aplicado para cada eixo do sistema de coordenadas. Os
ângulos de Euler são usados como realimentação do sistema que servem como posição
atual, ao passo que as entradas são fornecidas pelo piloto, seja automático ou não. Os
parâmetros de ganho são ajustados de acordo com o tipo de movimento que se deseja, há
algumas técnicas por exemplo, que não utiliza o ganho D para o controle.

2.2.1.2 Controlador LQR

A técnica de controle LQR, (Linear Quadratic Regulator), é também uma técnica


bastante usada devido à sua implementação facilitada. Ela consiste em operar o sistema
dinâmico através da minimização de um função de custo. Para que seja possível a execu-
ção desta técnica as equações do movimento do quadricóptero devem estar linearizadas.
(COSTA, 2008)
Este tipo de controlador costuma ser aplicado em modelos completos para a dinâ-
mica do movimento, em comparação ao PID que normalmente é usado em modelos mais
simplificados. Por esse motivo, o controlador LQR possui como característica uma melhor
perfomance no controle do quadrirotor, porém a sua sintonia - tunning - é mais complexa
de ser ajustada.
Esta técnica costuma ser combinada com filtro de Kalman, usada para fusão sen-
sorial, tornando-a ainda mais robusta.

2.2.1.3 Outras técnicas de controle

Existem outras técnicas bastante conhecidas para controle de quadrirotores como


controle Backstepping. Esta se baseia na quebra do algoritmo do controlador em estágios,
seguida de uma estabalização progressiva de cada subsistema resultante. Este controlador
possui uma boa capacidade de lidar com turbulências e possui uma reduzido usado de
recursos computacionais devido a rápida convergência dos algoritmos.
Há várias outras técnicas como H(∞) não-linear, controle por linearização da re-
alimentação e controle SMC Sliding Mode Control. Há ainda algumas que combinam
diferentes técnicas como algoritmos de controle adaptivo e algoritmos de controle óptimo,
para resolver determinados problemas, ou propor melhores soluções.

2.3 Arquitetura do quadrirotor


A arquitetura geral de um quadrirotor consiste em um bloco central responsável
pelo processamento de dados, comunicação e navegação conectado aos blocos dos motores
36 Capítulo 2. Revisão Bibliográfica

representado na Figura 7.
O bloco central possui geralmente uma placa principal controladora de vôo que
contêm um microcontrolador, pinos de E/S e os sensores principais responsáveis pela
Unidade de Medidas Inerciais ou Inertial Measure Unit (IMU). Os sensores principais da
placa são:

• Girômetro

• Acelerômetro

• Barômetro

• GPS

Porém a maioria das arquiteturas para quadricópteros dos dias de hoje incluem
alguns outros sensores auxiliares, como magnetômetro e sonar.

Figura 7: Arquitetura genérica de um quadrirotor

Os pinos de E/S do microcontrolador são as saídas do bloco principal que conectam-


se aos blocos dos motores. Estes contêm os controladores dos motores chamados de ESCs
(Electronic Speed Controls) conectados aos motores das hélices. Os pinos conectam-se tam-
bém ao receptor de radio frequência, necessário para navegação, e aos demais módulos e
sensores complementares do sistema.

2.3.1 Placa controladora de vôo


A placa controladora de vôo, ou Flight Controller, é basicamente o cerébro do
quadrirotor. Ela é responsável por avaliar a performance do sistema através da leitura dos
sensores executada centenas de vezes por segundo, e então executar micro ajustes que são
necessários em cada motor para manter o quadricóptero estável.
Todo placa controladora de vôo principal contêm o microcontrolador responsável
pelas operações em tempo real de leitura dos sensores e envio de comando para os respec-
tivos motores. Essa placa possui, geralmente, além do microcontrolador, os sensores das
IMU, demais circuitos para comunicação e barramento de dados.
2.3. Arquitetura do quadrirotor 37

Existem diversas modelos no mercado, que são projetadas já com diversos compo-
nentes integrados como os sensores girômetros, acelerômetros, barômetros e GPS, além
de circuitos de comunicação, antenas e transceptores. Essas placas controladoras são es-
colhidas de acordo com a aplicação do quadrirotor, pois cada uma tem especificação de
hardware e software difrente, resultando em diferentes características de vôo. Existem
aplicações que necessitam, por exemplo, de muita memória para processamento, como
aquelas que usam algoritmos de visão computacional, outras que necessitam de um alta
memória de barramento para acessar múltiplos dispositivos simultâneamente, outras que
possuem componentes de ajuste de ganhos de controle manuais.
Entre as controladoras de vôo existente no mercado, existem as open-source, as
quais qualquer usuário pode fazer o download dos arquivos fontes dos algoritmos de con-
trole e modificá-los da maneira que achar conveniente, e existem também as que são
closed-source, as quais o sistema são propriedade dos seus criadores e os usuários não
podem modificá-los.
(LIM et al., 2012) fez um levantamento das placas controladores de vôo open-
source com base no volume de usuários e quão ativo está o projeto na comunidade. Com
base nisso, ele fez um ranking das mais relevantes que são:

• Arducopter: baseado na plataforma Arduino e desenvolvido por engenheiros indivi-


duais ao redor do mundo, fornece software com interface gráfica que exibe informa-
ções de vôo e ajuste de ganhos para o controlador.

• Openpilot: utiliza licensa GPL - General Public License - e o seu sistema possui um
RTOS modificado do FreeRTOS. Software com interface gŕafica é fornecido para
ajuste de ganhos e recebimento de dados de vôo.

• Paparazzi: é um sistema de piloto automático desenvolvido para diversos tipos de


VANT, com licensa GPL. Fornece software com interface gráfica para planejar mis-
sões de vôo.

• Pixhawk (Figura 85 ): sistema de piloto automático que possui algoritmos desenvol-


vidos para pilotagem através de imagens, e está sob licensa GPL. Fornece software
com interface gráfica.

• Mikrokopter: sistema de piloto automático desenvolvido para quadrirotores. Fornece


software com interface gráfica com ajustes de ganho para o controlador e monitora-
ção de bateria.

• KKmulticopter: sistema de piloto automático simples contendo um microcontrolador


de 8 bits e um girômetro para cada eixo. Não fornece software.
5
Adaptada de https://3drobotics.zendesk.com/hc/en-us/articles/207358096-3DR-Pixhawk
38 Capítulo 2. Revisão Bibliográfica

• Multiwii: sistema de piloto automático para quadrirotores que utiliza o arduino


como processador, e sensores que variam de acordo com o modelo. Está sob licensa
GPL e é fornecido software com interface gráfica.

• Aeroquad: baseado em Arduino, é também um sistema de piloto automático desen-


volvido para quadrirotores, e fornece software com interface gráfica.

Figura 8: Placa controladora Pixhawk.

Existem diversos outros modelos porém, que pequenos grupos desenvolvem base-
ados em plataformas open-source como Arduino e adicionam dispositivos necessários de
acordo com a necessidade da aplicação a ser desenvolvida.

2.3.1.1 Softwares

A maioria das placas de controle de vôo modernas oferecem um software com


interface gráfica para computadores, tablets e smartphones. Esses softwares permitem que
os usuários modifiquem os ganhos de controle e controle as demais configurações de vôo
do quadrirotor e de comunicação com o mesmo. Alguns deles permitem também a criação
de missões de vôo, que possibilta que o quadricóptero execute uma missão totalmente
autônoma. A maioria dos softwares existentes oferecem suporte a USB, bluetooth, wi-fi e
comunicação via rádio.

2.3.2 Sensores
Diversos tipos de sensores são empregados na construção de um quadricoptéro
moderno, porém alguns possuem importância vital para um correto funcionamento do
mesmo.
2.3. Arquitetura do quadrirotor 39

O girômetro é um sensor de extrema importância para o funcionamento do sistema,


pois este é responsável pelas medidas de variação na velocidade angular. Sua utilização é
necessária para detectar as mudanças nas rotações nos parâmetros de Roll, Pitch e Yaw,
então utiliza-se três girômetros, um para cada eixo do sistema.
Assim como o girômetro, o acelerômetro é fundamental pois detecta o grau de
variação da aceleração ao longo de eixo. Portanto, existe a necessidade de se utilizar um
em cada eixo. Essa combinação de três girômetros e três acelerômetros forma o IMU que é
uma unidade que fornece as acelerações lineares ao longo dos eixos x, y e z, e as acelerações
angulares em torno deles.
O barômetro é um outro sensor de bastante importância, pois este mede a pressão
atmosférica que é frequentemente convertida na altitude, assim é possível saber quão alto
o sistema está localizado.
De modo geral o quadrirotor consegue se estabilizar muito bem com os sensores
girômetro, acelerômetro e barômetro. Esses três fornece todos os dados que a controla-
dora de vôo precisa para manter o sistema estável. Porém existem sensores adicionais
que podem ser utilizados para adiconarem funcionalidades mais avançadas. Existem o
magnetômetro e o sonar, por exemplo, que são sensores auxiliares para obter-se uma me-
lhor referência para estabilidade no vôo do quadrirotor. O primeiro detecta as direções
dos eixos x, y e z através da medição da intensidade do campo magnético. O segundo
mede a distância, o que permite obter informações de altitude conhecendo-se a atitude
do quadrirotor.
Há ainda o sensor GPS que indica a posição global vista por satélite, sensores de
flux óptico que é uma que fornece a velocidade, e sensores de velocidade de ar, além de
diversos outros que auxiliam tarefas de visão computacional e inteligência artificial.

2.3.3 Comunicação
Há bastante troca de informação durante o vôo do quadrirotor. Sensores estão
sendo lidos a todo instante, e informações sendo trocada entre os periféricos, portanto
diversos tipos de protocolos são utilizados, dependendo da velocidade necessária. A co-
municação serial entre os dispositivos controladores é uma das mais usadas devido a sua
velocidade e facilidade de configuração.
Já para transmissão de dados a longa distância por conexões sem fio, transmissores
e receptores de radio frequência são utilizados para transmitir sinais de um controle de um
piloto para o microcontrolador do quadrirotor. O piloto envia pulsos PWM ou PPM à uma
determinada frequência ao mexer no controle, que é interpretado atráves do receptores de
sinais de radio contidos na placa principal, que identificam qual o tipo de movimento e
qual a amplitude de acordo com a largura dos pulsos enviados.
40 Capítulo 2. Revisão Bibliográfica

O quadrirotror pode possuir, também, antenas dedicadas a comunicação com um


computador em terra, para controle de vôo do mesmo e monitoração das informações
em tempo real, obtendo-se assim uma maior segurança contra falhas futuras que podem
acontecer. Transceptores de alta frequência como Xbee são utilizados para esse propósito.

2.3.4 Motores e ESC


Para garantir que o quadricóptero possua uma boa performance na hora do vôo,
a escolha de motores que possam fornecer a propulsão necessária para erguer a estrutura,
e ESCs que possam fornecer uma corrente necessária com baixo consumo de energia são
fundamentais. Esta seção discute um pouco dos tipos de motores e ESC mais usados para
a construção do quadrirotor. A Figura 96 ilustra a ligação destes componentes à bateria.

Figura 9: Representação da ligação entre motores e ESC à bateria.

2.3.4.1 Motores

Motores brushless DC, ou motores de corrente contínua sem escovas são utilizados
em quadrirotores devido a sua maior durabilidade, eficiência e reduzida necessidade de
manutenção quando comparado com os motores de escova (brushed motors).
6
Adaptada de http://www.rcgroups.com/forums/showthread.php?t=1174262
2.3. Arquitetura do quadrirotor 41

Os principais fatores que devem ser conhecidos para a correta escolha do motor
são a tensão, corrente, propulsão, potência, eficiência e velocidade. Portanto deve-se saber
qual o peso da estrutura que irá voar para que os motores possam trabalhar com uma
certa "folga"e não consumam toda a bateria rapidamente. O peso é fundamental para
saber também a propulsão necessária para a escolha do motor. Uma fórmula geralmente
usada para encontrar a propulsão é necessária é multiplicar o peso total da estrutura por
dois, e dividir pelo número de motores (quatro).
Os motores brushless são classificados em Kv, unidade de medida que relaciona
RPM (K) com a tensão necessária (em Volts). Geralmente motores com elevado Kv são
usados em estruturas mais leves, em sistemas que priorizam velocidade ou rápidas acro-
bacias. Motores com Kv menores são geralmente utilizados em estruturas mais pesadas
como quadricópteros que precisam carregar equipamentos de imagem. Os motores tam-
bém são classificados quanto ao número de pólos que pode variar de dois até quatorze
(QUADCOPTERS. . . , 2015). Motores menores que para quadrirotores mais rápidos pos-
suem menor número de pólos ao passo que motores maiores para carregar estruturas
pesadas possuem elevado número de pólos.
Uma combinação adequada do motor com o tamanho das hélices a serem utilizadas
é fundamental, pois isso influenciará na rotação e, consequentemente, na performance do
sistema. É desejável que um motor rápido seja combinado com uma hélice mais curta,
e que um motor mais lento que carregue peso seja combinado com uma hélice de maior
comprimento.

2.3.4.2 ESC

Os controladores de velocidade do motor, ou ESCs são importante para uma in-


termediação entre os sinais de controle recebidos pelo microcontrolador através de ondas
PWM ou via radio frequência, e a potência elétrica trifásica de baixa tensão que fornece
energia aos motores, vinda da bateria. Os ESCs basicamente converte uma sequência de
dados recebidas em sinais de corrente alternada gerados pelo circuito eletrônico que será
fornecida aos motores, possibilitando assim a movimentação do quadricóptero.
Geralmente, esse componente é classificado de acordo com a corrente máxima o
mesmo pode fornecer. Nos modelos mais modernos, existe um microcontrolador embar-
cado que interpreta as entradas do ESC e elabora o controle de acordo com um software
existente. Uma sincronia precisa e tempo de execução são parâmetros muito importantes
nesses equipamentos, pois se os atuadores não forem acionados na velocidade adequada,
a estabilidade do sistema será comprometida.
42 Capítulo 2. Revisão Bibliográfica

2.3.5 Hélices
As hélices do quadrirotor são componentes vitais do sistema. São necessárias duas
hélices que giram no sentido horário e duas que giram no sentido anti-horário para que
o vôo seja executado. As hélices são geralmente feitas de diversos materiais, como plás-
tico, fibra de carbono, e madeira, e são geralmente classificadas de acordo com o seu
comprimento e o seu passo.
Hélices de comprimento menores são geralmente usadas com motores pequenos
com grande capacidade de rotação (alto Kv), o que ajuda a obter uma boa performance
em velocidade, ao passo que hélices maiores são utilizadas com motores com capacidade
de rotação mais baixa, porém aguentam uma carga mais elevada.
Já o passo da hélice, que é definido como a distância percorrida por uma revolução
completa da hélice, deve ser escolhida tendo conhecimento que um passo menor gera mais
torque, possibilitando uma menor utilização dos motores. Isso quer dizer que os motores
não utilizarão corrente demasiadamente, o que possibilita um maior tempo de vôo. Por
outro lado, uma hélice de passo maior pode se mover mais, porém gera mais torque
consumindo mais energia.
É importante uma boa combinação desses dois parâmetros na escolha da hélice
de acordo com o tipo de aplicação que o quadrirotor irá possuir para garantir uma boa
performance.

2.3.6 Bateria
A bateria é a parte responsável por fornecer energia elétrica para alimentar os
motores do quadricóptero. As baterias do tipo LiPo (polímero de lítio) são as mais usadas
para esse propósito por conseguirem segurar uma maior densidade de energia comparada
com outros tipos.
De modo geral, as baterias são escolhidas de acordo com a necessidade do motor e
a especificação do ESC. O conhecimento da quantidade de corrente que será drenada por
vôo é essencial, pois assim uma escolha correta de capacidade de bateria pode ser feita.
Os quadrirotores utilizam normalmente uma bateria, porém existem aqueles que utilizam
duas para garantir uma melhor segurança caso uma falhe durante a missão, ao preço de
um custo mais elevado e maior dificuldade de montagem da estrutura.

2.4 Sistemas de tempo real


Para que o sistema de controle do quadrirotor funcione de maneira adequada deve
existir uma garantia de entrega de dados no tempo estipulado de acordo com a sua técnica
de controle. Os sensores devem ser lidos, seus dados processados, e a rotação dos motores
2.4. Sistemas de tempo real 43

deve ser regulada, tudo isso em um tempo determinado conhecido, caso contrário uma
falha catastŕofica pode acontecer. Esse tipo de sistema não possui tolerância à atrasos,
portanto seu sistema computacional deve ser implementado de maneira que ele possa
cumprir os seus deadlines - que é o intervalo de tempo entre a observação do estímulo e
a reação do mesmo - até mesmo em condições de sobrecarga.
RTOS, ou sistemas operacionais de tempo-real, são usados normalmente usados
para controlar o vôo de um quadrirotor. Esses sistemas possuem como característica prin-
cipal a garantia de que o deadline será cumprido, diferentemente dos sistemas operacionais
usados no dia-à-dia, que não proporciona esta garantia, visando apenas uma performance
média. Geralmente, um RTOS é projetado para possuir melhor desempenho particular na
execução de suas tarefas, para isso, ele conta com um consumo de memória otimizada e um
escalonador, parte principal do núcleo do sistema operacional que atribui a sequência de
execução das tarefas, com políticas aprimoradas. Os sistemas operacionais de tempo-real
possuem também serviços de gerenciamento tarefas, responsáveis por organizar diversas
atividades ocorrendo, seja de maneira paralela ou sequencial, tendo em vista o cumpri-
mento da entrega no tempo estipulado e manipulando estas de maneira a evitar disputa
por recursos e situações de deadlock.
Há ainda outros serviços que um RTOS fornece como temporização de módulos
de E/S (entrada/saída), serviço que controla a comunicação do sistema com recursos
externos, tratamento de interrupções geradas tanto por software quando por hardware,
chamadas do sistema (system calls), necessárias quando os programas precisam que o
sistema execute tarefas relacionadas ao hardware, gerenciamento de recursos de modo
geral, dentre outras.
45

3 Metodologia

Esta seção apresenta a metodologia que foi adotada para o desenvolvimento deste
trabalho seguida do detalhamento de cada etapa do processo. O trabalho foi divido em
cinco etapas que são: revisão bibliográfica, ambiente de desenvolvimento, implementação
do modelo de controle, validação do modelo proposto e análise e discussão dos resultados.
A Figura 10, abaixo, apresenta estas etapas em forma esquemática:

Figura 10: Etapas do estudo

3.1 Etapa 1 - Revisão Bibliográfica


A primeira etapa consiste na revisão bibliográfica de todos os conceitos impor-
tantes para a formulação deste trabalho. Ela abrange toda a parte de componentes de
quadrirotores, além do funcionamento do mesmo e de técnicas de controle existentes. Es-
ses conceitos são a base para a implementação do controlador nesses veículos, tornando
esta etapa, sem dúvidas, uma das mais importantes de todo o trabalho de conclusão de
curso.
46 Capítulo 3. Metodologia

3.2 Etapa 2 - Ambiente de Desenvolvimento


Esta etapa foi sem dúvida uma das mais longas do projeto. Ela consiste no estudo
e configuração do ambiente de desenvolvimento do controlador, e para isso, os datasheets
do microcontrolador Raspberry Pi, assim como seu sistema operacional com aplicação de
tempo-real tiveram de ser cuidadosamente estudados. Além dela, o guia de desenvolvedor
da controladora de vôo Pixhawk também foi investigado.

3.3 Etapa 3 - Implementação do Modelo de Controle


Esta etapa consiste na implementação das técnicas de controle estudadas. Os mo-
delos já existentes serão implementados nas placas controladoras de võo visando uma
performance melhor do que o software nativo das mesmas.

3.4 Etapa 4 - Validação do Modelo


Na etapa de validação do modelo, o sistema de controle implementado nas placas
controladoras de vôo será submetidos à diversos testes, sendo o final efetuado em vôo real,
provando-se que o modelo proposto é, de fato, cabível de ser executado.

3.5 Etapa 5 - Análise e Discussão dos Resultados


Por fim, na etapa cinco, é executada uma análise e discussão dos resultados obtidos.
Essa etapa conclui o trabalho proposto, realizando uma análise dos resultados obtidos e
os resultados esperados, além de uma comparação entre os modelos implementados, e os
modelos que já são previamente implementados ao adquirir-se uma das placas de controle
já existente no mercado. Uma análise do impacto dessas técnicas implementadas para a
literatura é também apresentada.
47

4 Estudo de Caso

Esta seção apresenta a descrição dos estudos de caso realizados. Dois estudos serão
desenvolvidos, sendo que o primeiro trata das técnicas de controle sendo implementadas
diretamente na controladora de vôo Pixhawk, arquitetura que irá efetuar todo o controle de
vôo do quadrirotor incluindo leitura dos sensores, processamento de dados e acionamento
dos atuadores. Já o segundo caso, analisa-se a utilização de um microcontrolador dedicado
para o controle, Raspberry Pi, comunicando-se com a controladora de vôo Pixhawk, que
será responsável pela leitura dos sensores e atuação do VANT. Por fim é apresentado um
cronograma com as datas previstas para entrega de cada uma das etapas.

4.1 Caso 1: Pixhawk


A placa controladora de vôo Pixhawk desenvolvida pela empresa multinacional 3D
Robotics é um moderno equipamento que oferece um grande suporte para controle de vôo
para VANTs. Devido ao fato de possuir uma arquitetura open-source, e possuir um bom
suporte para sistema operacional Linux, vários canais de comunicação, além de sensores
como acelerômetro, girômetro, magnetômetro e barômetro, essa placa foi escolhida como
ponto de partida para a execução deste trabalho.
Além de seu processador de 32 bits trabalhando a 187 MHz, um poder de proces-
samento considerável para aplicações de controle de vôo, esta flight controller também
possui um sistema operacional nativo chamado NuttX, que é de tempo-real e possui ca-
racterísticas desejáveis como o gerenciamento de tarefas pelo núcleo, carregamento de
módulos, pelo fato de ser totalmente preemptivel, além de outras 1 . Todo o ambiente para
compilação de softwares para esse sistema operacional é fornecida, portanto essas razões
fortaleceram na decisão por essa placa.
A implementação da técnica de controle PID juntamente com outra técnica a ser
escolhida será efetuada utilizando-se os conceitos de multi-tarefas e paralelismo, compa-
rando com o modelo de execução sequencial. A restrição de tempo adotada será de 30 à
60 milisegundos, valores especificados de acordo com as técnicas de controle.
Busca-se, com este estudo de caso, avaliar o tempo de processamento dessa contro-
ladora de vôo ao executar cada técnica de controle, com e sem conceitos de paralelismo,
com o objetivo de traçar a melhor estratégia para essa arquitetura. A Pixhawk por si só,
deve ser capaz de ler os sensores IMU, processar os dados, e realizar o acionamento dos
motores de maneira autônoma.
1
http://nuttx.org/
48 Capítulo 4. Estudo de Caso

4.2 Caso 2: Pixhawk e Raspberry Pi


A placa microcontroladora Raspberry Pi, desenvolvida na Inglaterra com propósi-
tos didáticos, possui um processamento de ótima qualidade para o seu tamanho. O modelo
RPi 2 B possui um processador de quatro núcleos, memória RAM de um gigabyte e qua-
renta pinos de E/S. Esta capacidade de processamento torna a mesma uma arquitetura
considerada para a execução dos algoritmos de controle do quadrirotor, em conjunto com
a textitPixhawk cuja as características são citadas acima no primeiro estudo de caso.
Além da qualidade de processamento, pelo fato desse microcontrolador ser open-
source e possuir sistema operacional baseado em Linux, existe uma comunidade por trás
da mesma, a qual desenvolve funcionalidades para a mesma a todo tempo. Um exemplo
disso, é o framework Xenomai, desenvolvido para ambiente Linux, que permite que o
sistema operacional possua aplicações de tempo-real. Essa ferramenta deve ser compilada
juntamente com o kernel, ou núcleo, do sistema operacional da Raspberry Pi.
Busca-se neste estudo de caso, implementar as técnicas de controle na Raspberry
Pi, e esta, irá se comunicar com a Pixhawk que executará a parte de leitura de senso-
res, e ativação dos motores. A protocolo de comunicação será via serial. Os conceitos de
paralelismo serão também implementados, visando-se um melhor desempenho. Deseja-se
verificar as vantagens computacionais em utilizar essa configuração em que existe um pro-
cessador dedicado para o algoritmo de controle, e um dedicado para leitura de informação
(sensores) e para a interface com os dispositivos externos (motores). A Figura 11 ilustra o
estudo de caso proposto. O tempo de resposta será verificado para que a restrição adotada
de 30 à 60 milisegundos seja garantida.

Figura 11: Arquitetura do estudo do estudo de caso 2


4.3. Cronograma 49

4.3 Cronograma
O cronograma desse trabalho pode ser visualizado na Tabela 4.3. Para a entrega
do TCC 1 foram realizadas a escolha do tema, revisão bibliográfica e preparação do
ambiente da Raspberry Pi. O motivo de ter-se preparado o ambiente da RPi primeiro,
ainda que a Pixhawk seja mais importante nesse trabalho, foi devido ao fato de que,
inicialmente, somente aquela seria usada para implementar toda o controle do motor
e interação com sensores e demais dispositivos. Entretanto, devido ao curto prazo de
execução deste trabalho, no fim do TCC 1 optou-se por adotar uma arquitetura com
sensores integrados, e com maior suporte quando o assunto é controle de vôo, já que a
Pixhawk foi desenvolvida para este propósito.
Já para o TCC 2, será feita a ambientação da Pixhawk, implementação dos estudos
de caso, verificação dos resultados em softwares de simulação a serem definidos, e por fim,
testes de vôo para validar o trabalho.

Período 1o /2016 Jul/2016 Ago/2016 Set/2016 Out/2016 Nov/2016


Escolha do
tema
Revisão Bibli-
ográfica
Ambientação
Raspberry Pi
Entrega TCC
1
Ambientação
Pixhawk
Implementação
Caso 1
Implementação
Caso 2
Verificação de
resultados
Teste dos ca-
sos em Vôo
Entrega TCC
2
Tabela 1: Cronograma do Trabalho
51

Referências

BRESCIANI, T. Modelling, identification and control of a quadrotor helicopter. Lund


University, Lund, Sweden, p. 180, 2008. Citado na página 31.

CHAVES, A. N. Proposta de modelo de veículos aéreos não tripulados (vants)


cooperativos aplicados a operações de busca. Universidade de São Paulo, São Paulo,
Brasil, 2013. Citado na página 25.

COSTA, S. E. da. Controlo e Simulação de um Quadrirotor convencional. Instituto


Superior Técnico, Universidade Técnica de Lisboa, Lisboa, Portugal, 2008. Citado na
página 35.

KHATOON, S.; GUPTA, D.; DAS, L. Pid and lqr control for a quadrotor: Modeling and
simulation. 2014 International Conference on Advances in Computing, Communications
and Informatics (ICACCI), Faculty of Engineering Jamia Millia Islamia, New Delhi,
India, 2014. Citado na página 34.

KRAJNIK, T. et al. Ar-drone as a platform for robotic research and education.


Communications in Computer and Information Science, 2011. Citado na página 31.

LIM, H. et al. Build your own quadrotor. IEEE ROBOTICS AND AUTOMATION
MAGAZINE, September 2012. Citado na página 37.

MUNOZ, M. E. P. Modelagem matemática e controle de um quadrimotor. Universidade


de Brasília, DF, Brasil, p. 104, 2012. Citado na página 31.

QUADCOPTERS, Multicopters: The Basic of Propellers and Motors. [S.l.],


2015. Disponível em: <http://learnrobotix.com/uavs/quadcopter-basics/
quadcopters-multirotors-motors-propellers-basics.html>. Citado na página
41.

SA, I.; CORKE, P. I. System identification, estimation and control for a cost effective
open-source quadcopter. Proceedings - IEEE International Conference on Robotics and
Automation, 2012. Citado na página 30.

ZULU, A.; JOHN, S. A review of control algorithms for autonomous quadrotors. Journal
of Applied Sciences, Lund University, Lund, Sweden, v. 4, p. 547–556, 2014. Citado na
página 33.

Você também pode gostar