implementação de um simulador de robôs quadrotores
DESCRIPTION
DroneTRANSCRIPT
Curso de Engenharia Elétrica
Monografia do Projeto de Fim de Curso
Implementação de um simulador de robôs quadrotores
para a construção civil em VRML
Marisabel Pastorini de Souza
2013
Instituto Federal de Educação, Ciência e Tecnologia Sul-rio-grandense
Departamento de Ensino de Graduação e Pós-Graduação
Campus Pelotas
Curso de Engenharia Elétrica
Marisabel Pastorini de Souza
Orientador: Glaucius Décio Duarte
IMPLEMENTAÇÃO DE UM SIMULADOR DE ROBÔS QUADROTORES
PARA A CONSTRUÇÃO CIVIL EM VRML
Monografia do Projeto de Fim de Curso
Pelotas, RS
2013
Instituto Federal de Educação, Ciência e Tecnologia Sul-rio-grandense
Departamento de Ensino de Graduação e Pós-Graduação
Curso de Engenharia Elétrica
Monografia do Projeto de Fim de Curso
IMPLEMENTAÇÃO DE UM SIMULADOR DE ROBÔS
QUADROTORES PARA A CONSTRUÇÃO CIVIL EM VRML
Marisabel Pastorini de Souza
Relatório submetido como requisito parcial
para obtenção do grau de Engenheiro Eletricista
Banca Examinadora
Prof. Glaucius Décio Duarte, Dr. (Orientador)
Prof. Cláudio Luís d'Elia Machado, Dr. (Examinador)
Prof. Mauro André Barbosa Cunha, Dr. (Examinador)
CESSÃO DE DIREITOS
AUTOR: Marisabel Pastorini de Souza TÍTULO: Implementação de um simulador de robôs quadrotores para a construção civil em
VRML
GRAU: Engenheiro Eletricista ANO: 2013
É concedida ao Instituto Federal de Educação, Ciência e Tecnologia Sul-rio-grandense permissão para reproduzir cópias desta monografia de graduação e para emprestar ou vender tais cópias somente para propósitos acadêmicos e científicos. O(s) autor(es) reserva(m) outros direitos de publicação e nenhuma parte desta monografia de graduação pode ser reproduzida sem autorização por escrito do(s) autor(es).
Marisabel Pastorini de Souza Rua Juvenal Muller, nº 315 A 96080-510 – Pelotas – RS – Brasil
Dedico ...
...aos meus pais, Manuel Renato Soares de Souza e Zilá Pastorini de Souza que sempre
estiveram ao meu lado, mesmo nos momentos mais difíceis, fazendo tudo por mim e
investindo na minha formação.
Agradecimentos
Primeiramente agradeço a Deus pela saúde, por iluminar o meu caminho e ter me ajudado a
concluir esta etapa. Agradeço ao meu irmão José Ricardo pelo convite para realizar o
vestibular para Engenharia Elétrica, bem como, pelo seu companheirismo na realização de
trabalhos e demais atividades nos primeiros semestres. Agradeço ao meu irmão José Renato
pelo seu apoio e incentivo. Agradeço ao meu noivo Cássio pelo seu carinho, motivação e
compreensão. Agradeço as minhas amigas Ediane e Cristiane pelo companheirismo,
paciência e pela compreensão que tiveram quando eu não conseguia chegar no horário
combinado e quando eu não aceitava algum convite por motivo de algum trabalho ou prova.
Agradeço ao meu orientador, professor Glaucius Duarte, por todo o apoio prestado na
realização deste projeto desde a sugestão do assunto até a última revisão. Agradeço também
aos professores Cláudio Machado e Mauro André Cunha que fizeram parte da banca
examinadora por aceitarem avaliar a minha apresentação e pelas alterações sugeridas a fim
de melhorar esta monografia. Finalmente, não há palavras que expressem a minha gratidão
a toda minha família, chefes, colegas de trabalho, professores e colegas do curso que me
ajudaram a chegar até aqui.
Resumo
Os quadrotores são máquinas aéreas não-tripuláveis impulsionadas por quatro motores
e apresentam grande estabilidade. Voam com quatro lâminas giratórias, como um helicóptero,
sendo que podem operar de maneira autônoma. Por sua vez, estes robôs aéreos tem vasta
gama de aplicações em diversas áreas. Na construção civil, podem ser empregados, com
segurança, para a construção de torres, andaimes, armações e edifícios comerciais. Em vista
disso, este trabalho apresenta os fundamentos para utilização de robôs quadrotores, como
estudo de caso, na montagem de estruturas modulares simples. Introduz-se a teoria utilizada
para o desenvolvimento dos robôs quadrotores, para empregos na indústria da construção
civil, assim como a implementação de um simulador, para estes robôs, modelado em realidade
virtual, com utilização da linguagem VRML 2.0 (Virtual Reality Modeling Language – versão
2.0). Assim, o objetivo principal deste trabalho consiste na construção de um protótipo
virtual, a fim de auxiliar a difusão e assimilação desta tecnologia em obras de construção
civil.
Palavras-chave: Quadrotores. Robôs aéreos. Simulador. Realidade virtual. VRML.
Abstract
The quadrotores are unmanned flying machines propelled by four engines and have great
stability. Flying with four rotating blades like a helicopter, and can operate autonomously. In
turn, these aerial robots have wide range of applications in various areas. In construction, can
be used safely for building towers, scaffolding, frames and commercial buildings. In view of
this, this paper presents the foundations for using quadrotores robots, as a case study, the
assembly of simple modular structures. Introduces the theory used for the development of
robots quadrotores for jobs in the construction industry, as well as the implementation of a
simulator for these robots, modeled in virtual reality, using the language VRML 2.0 (Virtual
Reality Modeling Language - version 2.0 ). Thus, the main objective of this work is to
construct a virtual prototype, in order to improve the diffusion and assimilation of this
technology in construction works .
Keywords: Quadrotores. Aerial robots. Simulator. Virtual reality. VRML.
Lista de Figuras
Figura 1 Modelo teórico do quadrotor, onde o motor 1 corresponde a sua frente e
o motor 3 sua direita..................................................................................................... 19
Figura 2 Esquema de comandos para controle de um quadrotor........................ 20
Figura 3 Modelo 3D do primeiro quadrotor Bréguet-Richet Gyroplane.............22
Figura 4 Projeto do Oemichen............................................................................ 23
Figura 5 Flying Octopus..................................................................................... 23
Figura 6 Quadrotor empilhando blocos.............................................................. 24
Figura 7 Garra do quadrotor e parte da estrutura................................................ 25
Figura 8 Mini-drones planejados pela Amazon.................................................. 26
Figura 9 Diagrama de blocos do sistema............................................................ 27
Figura 10 Representação 3D dos dispositivos...................................................... 28
Figura 11 Placa com acelerômetro BMA180........................................................ 30
Figura 12 Giroscópio Mecânico de Foucault........................................................ 30
Figura 13 Simulação de um giroscópio................................................................. 31
Figura 14 Placa com giroscópio ITG-3200........................................................... 32
Figura 15 Placa com magnetômetro HMC5883L................................................. 32
Figura 16 Placa com o sensor de pressão BMP805.............................................. 33
Figura 17 Placa de sensores com MPU6050......................................................... 34
Figura 18 Plataforma Arduino Mega 2560........................................................... 36
Figura 19 Plataforma MBED................................................................................ 37
Figura 20 ESC genérico........................................................................................ 38
Figura 21 Forma de onda gerada para alimentação de cada fase.......................... 39
Figura 22 ESC com driver de corrente e BEC...................................................... 39
Figura 23 (A) Esquema BLDC inrunner (B) Esquema BLDC outrunner............. 41
Figura 24 Comutação das bobinas........................................................................ 42
Figura 25 Bateria Turnigy..................................................................................... 43
Figura 26 Monitor de bateria com besouro........................................................... 43
Figura 27 Coordenadas do frame inercial............................................................. 44
Figura 28 Coordenadas do frame do veículo........................................................ 45
Figura 29 Frame do veículo 1............................................................................... 45
Figura 30 Frame do veículo 2................................................................................46
Figura 31 Frame do corpo.................................................................................... 46
Figura 32 Representação do quadrotor em VRML............................................... 58
Figura 33 Quadrotor com garra aberta.................................................................. 61
Figura 34 Quadrotor com garra fechada................................................................61
Figura 35 Quadrotor carregando uma peça............................................................62
Figura 36 Quadrotor montando a estrutura............................................................62
Lista de Tabelas
Tabela 1 Resumo dos movimentos elementares do quadrotor .............................20
Lista de Abreviaturas e Siglas
ARM Advanced RISC Machine
BEC Battery Eliminator Circuit
BLDC Brushless Direct Current
DC Direct Current
ESC Eletronic Speed Controller
GPS Global Positioning System
IMU Inertial Measurement Unit
I2C Inter-Integrated Circuit
LiPo Lithium-ion polymer
MEMS Microelectromechanical Systems
MOSFET Metal Oxide Semiconductor Field Effect Transistor
PFC Projeto de Fim de Curso
PID Proporcional – Integral – Derivativo
PWM Pulse-Width Modulation
RISC Reduced Instruction Set Computer
SCK Serial Clock Signal
SDA Serial Data Signal
SPI Serial Peripheral Interface
UAV Unmanned Aerial Vehicle
VRML Virtual Reality Modeling Language
WRL Worlds (extensão de arquivo VRML)
Lista de Símbolos
F Força
F b
Frame do corpo
F i
Frame inercial
F
Frame do veículo
F
Frame do veículo 1
F
Frame do veículo 2
h A altitude da aeronave medida ao longo de em F i
m Massa
p Taxa de rolagem medida ao longo de em F b
pe A posição inercial (leste) do quadrotor ao longo de em F i
pn A posição inercial (norte) do quadrotor ao longo de em F i
q Taxa de arfagem medida ao longo de em F b
r Taxa de guinada medida ao longo de em F b
u A velocidade do frame do corpo medida ao longo de em F b
v A velocidade do frame do corpo medida ao longo de em F b
v Velocidade instantânea da massa
w A velocidade do frame do corpo medida ao longo de em F b
Ω Velocidade angular
Ângulo de roll
Ângulo de yaw
Torque
Ângulo de pitch
Sumário
1 Introdução..........................................................................................................16
1.1 Contextualização .......................................................................................................................16
1.2 Objetivo ..................................................................................................................................... 18
1.3 Funcionamento .........................................................................................................................18
1.4 Estrutura do Trabalho . ..............................................................................................................20
2 Revisão Bibliográfica............................................................................................22
2.1 História . .....................................................................................................................................22
3 Hardware .............................................................................................................. 27
3.1 Sensores .................................................................................................................................... 28
3.1.1 Acelerômetro ...................................................................................................................29
3.1.2 Giroscópio ........................................................................................................................30
3.1.3 Magnetômetros ...............................................................................................................32
3.1.4 Altímetro..........................................................................................................................33
3.1.5 Comunicação I2C entre Microprocessador e Sensores ................................................... 34
3.1.6 Fusão de Dados ............................................................................................................... 35
3.2 Microprocessador ......................................................................................................................36
3.3 Atuadores ..................................................................................................................................37
3.3.1 Controlador Eletrônico de Velocidade (ESC) ................................................................... 37
3.3.2 Hélices ............................................................................................................................. 39
3.3.3 Motores ........................................................................................................................... 40
3.4 Sistema de Alimentação. ...........................................................................................................42
3.4.1 Bateria...............................................................................................................................42
4 Modelagem Cinemática e Dinâmica do Quadrotor .............................................. 44
4.1 Dinâmica de Corpos Rígidos ...................................................................................................... 48
4.2 Forças e Momentos ................................................................................................................... 51
4.3 Modelo para Projeto de Controle.............................................................................................. 53
5 Implementação do Simulador ............................................................................... 55
5.1 VRML ......................................................................................................................................... 55
5.2 Simulador .................................................................................................................................. 57
6 Conclusões e Trabalhos Futuros ........................................................................... 63
7 Referências Bibliográficas .................................................................................... 65
Apêndice A – Modelo VRML do Quadrotor ................................................................. 67
1 Introdução
Neste capítulo será apresentada a contextualização, os objetivos, o funcionamento e a
estrutura da monografia.
1.1 Contextualização
Nos tempos contemporâneos tem-se difundido a utilização de unidades aéreas do tipo
Veículo Aéreo Não Tripulado (VANT), expressão originária do inglês Unmanned Aerial
Vehicle (UAV), também conhecido como drone (zangão), para diversos tipos de missões, tais
como para proteção civil (apoio a coordenação e comando no combate a incêndio, e operações
de busca e salvamento), manutenção de estruturas (inspeção de estruturas, planejamento de
obras em fábrica, manutenção de estradas e autoestradas), fotografia aérea e vídeo (cobertura
jornalística de eventos, cinema e filmes promocionais, fotografia de animais selvagens,
fotografia profissional), segurança (inspeção de zonas críticas, alterações de ordem pública,
vigilância de perímetros), proteção ambiental (investigação de acidentes ambientais), militar
(vigilância militar tática e ataque), aplicação da lei (investigação de cena de crime e
recolhimento de informação, investigação de acidentes de viação, análise de
congestionamento de trânsito, eliminação de engenhos explosivos), entre outros.
Contudo, a difusão acima citada, não corresponde à realidade da maioria dos países,
pois esta tecnologia ainda é cara e pouco conhecida e desenvolvida. Em vista disso, este
trabalho apresenta o desenvolvimento de um simulador (protótipo virtual) para a análise de
possibilidades de aplicação de quadrotores na construção civil, tornando esta ferramenta uma
peça chave para a montagem de estruturas que envolvam questões de segurança para os seres
humanos operários. Espera-se, dessa forma, contribuir para o crescimento do
desenvolvimento tecnológico deste país.
Nesse sentido, verifica-se que estes veículos aéreos apresentam propulsão própria,
utilizando forças aerodinâmicas que provocam a sua sustentação, podendo, inclusive, serem
controlados à distância. Por outro lado, também podem possuir algoritmos sofisticados de
voo, sem requerem a intervenção humana. Estes veículos podem ter duas, três, quatro, seis ou
oito motores, sendo que, quanto maior o número de motores, melhor a manobrabilidade e
estabilidade dinâmica aérea.
17
Somado ao que foi citado anteriormente, tem-se que aliado ao constante uso destas
aeronaves para sanar as questões de insalubridade, emocionais e até mesmo de contingente
para execução de tarefas. Isto ocorre, pois tendo-se VANTs disponíveis e um programador
pronto a executar comandos para operacionalização destes, se poupará muita mão de obra e,
consequentemente, se conseguirá obter uma significativa redução de custos.
O quadrotor é uma aeronave de pequena dimensão não tripulada, constituído por
quatro rotores fixos que asseguram a sua sustentação em voo e possui asas rotativas. Os
rotores são instalados nos quatro vértices extremos de uma estrutura cruzada e, no seu centro,
possui todos os equipamentos de medição, controle, comunicação e energia. Esta aeronave
permite decolagens e pousos verticais, incluindo capacidade para manobras em espaços
reduzidos e com obstáculos. Todos estes movimentos são controlados variando-se apenas a
velocidade dos quatro rotores (SOUSA, 2010).
O quadrotor possui grande estabilidade e sua aplicação na construção civil
fundamenta-se na possibilidade de incrementar a segurança humana na construção de torres,
andaimes, armações e edifícios comerciais.
A implementação do simulador de um robô quadrotor foi realizada utilizando-se a
realidade virtual, uma subárea da área de computação gráfica, que se divide, basicamente em:
modelagem, relacionada com a construção da cena utilizando bases matemáticas e
visualização, que busca uma forma de representação visual dos objetos.
Foi adotada a linguagem Virtual Reality Modelling Language (VRML 2.0), para
construir o modelo virtual em três dimensões do quadrotor, esta linguagem além de mostrar
objetos tridimensionais, permite mecanismo de navegação pelo objeto como a aproximação
ou distanciamento e a rotação do mesmo. VRML foi lançada em meados de 1994, e é uma
linguagem independente de plataforma que permite visualizar os objetos em ângulos de
visualização diferentes além de permitir a interação com eles, através de um navegador
(browser). Como os arquivos são salvos em formato ASCII com a extensão .wrl, para criar
uma cena em VRML é necessário somente um editor de textos (BIASI, 2001).
A fim de visualizar o movimento do robô quadrotor, torna-se necessária a criação de
uma animação em VRML, isto é possível após determinar um cenário. A produção de cenas
em VRML é baseada na definição de nodos. Cada nodo tem um nome, um tipo e define
valores iniciais para seus parâmetros. Existem vários tipos de nodos, mas os que se destacam
para animação são os nodos sensores e interpoladores. Os primeiros, que geram eventos
18
baseados em ações do usuário, são responsáveis pela interação em VRML. Já os
interpoladores, definem pontos chaves da animação que serão interpolados por uma função
linear.
1.2 Objetivos
Este projeto tem como objetivo o desenvolvimento de um simulador de robôs
quadrotores para a construção civil, em realidade virtual, utilizando a linguagem VRML,
servindo de controlador para o hardware. Além disso, o simulador desenvolve os movimentos
reais do robô e permite analisar o princípio de funcionamento do mesmo. O projeto se propõe
também a servir para teste dos algoritmos de estabilização do quadrotor diminuindo os ricos
de danificar a estrutura física do mesmo.
Com todas estas funcionalidades o ambiente virtual gerado auxilia a difusão e a
assimilação desta tecnologia de veículos não tripulados e de grande utilidade.
1.3 Funcionamento
Nesta seção, serão apresentados alguns conceitos necessários para a melhor
compreensão do princípio de funcionamento do quadrotor.
Desde a construção dos primeiros quadrotores, estes possuem na sua configuração
quatro rotores de mesmas dimensões, cada um acoplado a um motor, dispostos em forma de
“X”, com defasamento de 90º entre si. A movimentação do quadrotor pode ser decomposta
em movimentos básicos de rotação em torno do eixo e translação ao longo dos eixos. Esses
movimentos básicos têm relação com o empuxo gerado por cada atuador.
Conforme a Figura 1, o funcionamento do quadrotor consiste em girar dois pares de
propulsores em sentidos contrários, ou seja, os rotores 1 e 2, que estão localizados em
extremidades opostas em relação ao centro da estrutura, giram no sentido anti-horário e os
outros rotores, 3 e 4, giram no sentido horário, a fim de anular o torque de reação que cada um
cria. Os locais onde estes propulsores estão posicionados correspondem aos pontos onde serão
aplicados os empuxos que movimentarão o quadrotor. Assim, quanto maior for a distância
entre os motores e o centro do quadrotor, maior será o momento aplicado por cada força e
menor será a interferência devida a outro propulsor. Porém, aumenta muito o tamanho do
quadrotor, tornando-o mais pesado e aumenta o tempo de resposta do sistema (MELO, 2010).
19
Figura 1: Modelo teórico do quadrotor, onde o motor 1
corresponde a sua frente e o motor 3 sua direita.
(Fonte: Elaborada pela autora).
Conforme se pode observar na Figura 2, o movimento vertical se dá através do
comando throttle (aceleração), aumentando a velocidade de rotação, o que amplia as forças de
elevação. Se as forças aplicadas forem de mesma intensidade para os quatro motores, o
quadrotor irá deslocar-se na vertical de baixo para cima e se esta velocidade diminuir, as
forças sofrem um decréscimo. Isso acontecendo, o quadrotor desce.
O movimento na horizontal pode ser realizado por dois outros comandos: roll
(rolagem) e pitch (arfagem). Com o comando roll, a aeronave é inclinada para frente ou para
trás. Já com o comando pitch a aeronave é inclinada para um lado ou para o outro.
Para atuar o roll, o par de motores (3, 4) devem manter a sua velocidade de rotação
constante, enquanto o motor 2 deve aumentar a sua velocidade de rotação e o motor 1 deve
diminuí-la na mesma intensidade. Isto faz com que a força de sustentação resultante tenha
uma projeção também sobre o eixo X, resultando no movimento horizontal para frente.
Para atuar, o comando pitch segue o mesmo procedimento de roll, porém o par de
motores que deverá manter-se fixo é o (1, 2), o motor 3 deve diminuir a sua velocidade e
aumentar tanto quanto o do motor 4. Isto faz o quadrotor se movimentar para direita, ao longo
do eixo Y.
O movimento em torno do seu eixo vertical Z, ou seja, uma guinada, é feito pelo
comando yaw (guinada). Para fazer este giro, seja no sentido horário ou anti-horário, basta
aumentar igualmente a velocidade de dois rotores que giram no mesmo sentido no mesmo
tanto que se diminui a velocidade dos outros dois motores, e vice-versa.
20
Figura 2: Esquema de comandos para controle de um quadrotor
(Fonte: NASCIMENTO, 2011).
Estes movimentos elementares podem ser combinados possibilitando o quadrotor se
movimentar em qualquer direção no espaço.
Tabela 1: Resumo dos movimentos elementares do quadrotor.
Movimento Motor 1 Motor 2 Motor 3 Motor 4
Para cima (throttle +) ν1 + Δν ν2 + Δν ν3 + Δν ν4 + Δν
Para baixo (throttle -) ν1 - Δν ν2 - Δν ν3 - Δν ν4 - Δν
Para frente (roll +) ν1 - Δν ν2 + Δν ν3 ν4
Para trás (roll -) ν1 + Δν ν2 - Δν ν3 ν4
Para direita (pitch +) ν1 ν2 ν3 + Δν ν4 - Δν
Para esquerda (pitch -) ν1 ν2 ν3 - Δν ν4 + Δν
Horário (yaw +) ν1 + Δν ν2 + Δν ν3 - Δν ν4 - Δν
Horário (yaw -) ν1 - Δν ν2 - Δν ν3 + Δν ν4 + Δν
Fonte: Melo (2010).
1.4 Estrutura do trabalho
Na parte inicial do trabalho, isto é, no primeiro capítulo, é apresentada uma breve
introdução ao tema através da contextualização, os objetivos da sua elaboração, as
informações preliminares sobre o princípio de funcionamento e movimentação do quadrotor e
também a organização da monografia.
No segundo capítulo apresenta-se a revisão bibliográfica, apresentando-se uma breve
referência à história do quadrotor.
21
No terceiro capítulo são apresentados os hardwares que compõem o quadrotor,
informando todos os dados necessários para, futuramente, realizar a construção do veículo
físico. Serão apresentados os componentes necessários, incluindo sensores, microprocessador,
atuadores e sistema de alimentação.
No quarto capítulo é apresentada a modelagem cinemática e dinâmica a fim de
orientar o desenvolvimento de um controlador para o quadrotor.
No quinto capítulo é descrita a implementação do simulador do quadrotor. Este
simulador tem como objetivo servir de controlador para o hardware através de um driver a ser
implementado que interfaceie a eletrônica do quadrotor com o controlador. Outra aplicação
deste simulador é poder testar o controle do quadrotor antes de implementá-lo no projeto
físico, desta maneira não se compromete a estrutura do robô, visto que somente será
implementado se as simulações apresentarem resultados satisfatórios. Este teste pode ser
realizado através da implementação do controle em MATLAB e SIMULINK, sendo que o
modelo da estrutura física do quadrotor salvo em um arquivo .wrl é carregado através do
Simulink 3D Animation toolbox do Matlab, permitindo a visualização tridimensional do
quadrotor executando os movimentos definidos pela simulação. O código fonte do simulador,
escrito na linguagem VRML, encontra-se no Apêndice A.
Por fim, no capítulo 6, encontra-se a conclusão do trabalho e sugestões para melhorias
e trabalhos futuros.
22
2 Revisão Bibliográfica
2.1 História
O primeiro quadrotor surgiu no início do século XX. Em 1906, Louis Bréguete e seu
irmão Jacques começaram a construir o primeiro quadrotor e terminaram em 1907. Este
veículo possuía um motor único de 40/45 HP (30/34 kW), tinha um peso de 578 kg, incluindo
o peso de dois tripulantes, havia também quatro propulsores de cerca de 8,1m um em cada
vértice extremo e os mesmos eram controlados através de uma alavanca mecânica, porém
havia uma grande dificuldade de estabilização e de condução. Nessa aeronave, os pares de
propulsores rodavam em sentidos opostos e este princípio de funcionamento é utilizado até
hoje, conforme Leishman (2002), Hirschberg (2000).
Figura 3: Modelo 3D do primeiro quadrotor Bréguet-Richet Gyroplane
(Fonte: VIEIRA, 2011)
Em 1922, surgiu o quadrotor Oemichen, idealizado por um engenheiro da Peugeot,
Etienne Oemichen. Sua aeronave pesava 800 kg, possuía um motor de 180HP (134 kW), tinha
quatro propulsores e oito hélices laterais. Este quadrotor possuía mais controlabilidade e
estabilidade (LEISHMAN, 2000).
23
Figura 4: Projeto do Oemichen
(Fonte: HIRSHBERG, 2000)
Também em 1922, surgia um dos maiores quadrotores do exército dos EUA, o Flying
Octopus, que foi construído pelo russo Georges Bothezate. Este quadrotor pesava 1.678 kg e
possuía um motor de 220 HP (164 kW). Apresentava uma estrutura em X, com braços de 9 m
incluindo quatro rotores de 8.1 m cada um com seis propulsores. Esse modelo mostrou-se
bastante estável, porém o projeto foi cancelado devido à baixa potência e aos altos custos
financeiros. (LEISHMAN, 2002) e (HIRSCHBERG, 2000).
Figura 5: Flying Octopus
(Fonte: LEISHMAN, 2002)
Durante muito tempo o quadrotor deixou de ser explorado, pois os resultados obtidos
não eram bons o suficiente para continuar com o projeto por causa da sua dificuldade de
estabilização. No entanto, nos últimos anos, devido aos avanços tecnológicos dos sensores,
atuadores e processamento de dados, os estudos a cerca da estabilização do voo do quadrotor
foram retomados para a construção das UAVs, que são mais simples que um helicóptero
convencional de mesmo porte, diminuindo os custos de construção e manutenção.
24
Assim, os quadrotores de hoje são muito mais avançados. Eliminou-se a necessidade
de um piloto a bordo do veículo, diminuindo, significativamente, as dimensões do mesmo.
Esses veículos são equipados com diversos tipos de sensores e possuem a capacidade de
realizar manobras incríveis. No estudo desenvolvido por Rafaello D’Andrea (professor da
Swiss Federal Institute of Technology (ETH) e membro da FMA) e pelos arquitetos Fabio
Gramazio e Matthias Kohler, uma dupla de quadrotores empilham blocos de espuma em uma
parede, conforme ilustra a Figura 6, que mostra um quadrotor carregando um bloco para
posicioná-lo na parede. A torre é composta por mais de 1.500 blocos de espuma, precisamente
posicionados na escultura (EDDY, 2011)
Figura 6: Quadrotor empilhando blocos
(Fonte: EDDY, 2011)
Outro trabalho de destaque, com aplicação na construção civil, é o realizado no
GRASP LAB da Universidade de Pennsylvania, Philadelphia, por dois alunos de
doutoramento, Quentin Lindsey e Daniel Mellinger, que baseia-se na cooperação entre
Quadrotores Hummingbird para a construção de estruturas cúbicas. Esses quadrotores
possuem uma garra na parte inferior que permite transportar a estrutura a ser montada. Essas
partes são prismas retangulares que permitem ligar em cada nó até seis membros, e o seu
conjunto pesa no máximo 179 g (LINDSEY; MELLINGER; KUMAR, 2011).
Cada Hummingbird tem dois níveis de controle para a montagem das estruturas, ou
seja, alto nível e baixo nível, sendo que este divide-se em três objetivos de movimentos:
primeiro, pairar em determinada posição; segundo, deslocar-se numa trajetória especificada
entre dois pontos; terceiro, aplicar momentos de yaw para testar se a estrutura está bem
25
montada. No alto nível, os quadrotores são coordenados para efetuar uma montagem
específica com eficiência e segurança. A Figura 7 demonstra o processo de construção de uma
pirâmide.
Figura 7: Garra do quadrotor e parte da estrutura
(Fonte: LINDSEY; MELLINGER; KUMAR, 2011).
O quadrotor atua quase sempre em condições de suspensão, os ângulos roll e pitch são
proporcionais à aceleração em x e y, e as acelerações de comando são calculadas pelo
feedback PID do erro de posição. Aqui, o termo integral do controle adapta-se,
constantemente, às mudanças de massa, do centro de massa e mudança no carregamento. O
bloco de controle de atitude gera velocidades diferenciais nos motores de acordo com o
controle PD nos ângulos de Euler e velocidades angulares. O controle envia dados para as
entradas do processador ARM7 (Advanced Risc Machine) presente no quadrotor através da
tecnologia ZIGBEE e a uma taxa de 100 Hz fixos, que executa o baixo nível e calcula a
velocidade desejada dos motores.
Em matéria recente do jornal Zero Hora (02/12/2013) foi apresentada uma notícia que
despertou atenção do mercado onde o fundador da Amazon, Jeff Bezos, anunciou que planeja
utilizar mini-drones para entregar pacotes pequenos, de até 2,3 quilos, a seus clientes em até
meia hora em um raio de 16 km, ainda o fundador confessou que este veículo é menos
impactante ao meio ambiente, pois utilizam motores elétricos e também é mais atraente em
termos de agilidade e economia. A estimativa de que se comece a realizar a distribuição de
mercadorias desta maneira é de aproximadamente quatro anos, contando com a aprovação dos
órgãos de aviação dos Estados Unidos.
A Figura 8 demonstra o mini-drone planejado para ser utilizado pela Amazon.
26
Figura 8: Mini-drones planejados pela Amazon
(Fonte: ZERO HORA, 2013).
27
3 Hardware
Neste capítulo serão apresentados os sensores, assim como os demais componentes
eletrônicos necessários para a construção de um quadrotor. Além disso, serão apresentados os
atuadores e o sistema de alimentação. Portanto, serão relacionados neste capítulo todos os
hardwares necessários para uma futura construção deste quadrotor.
A Figura 9, obtida em (MELO, 2010) demonstra o diagrama de blocos do sistema,
incluindo os dispositivos necessários para a construção do quadrotor.
Figura 9: Diagrama de blocos do sistema.
(Fonte: Melo, 2010.)
Conforme pode ser observado na Figura 9, na construção deste quadrotor foi utilizado
quatro motores Brushless Dierect Current (BLDC), quatro ESCs (Controlador Eletrônico de
Velocidade), uma placa com microcontrolador, uma placa de sensores que também pode ser
chamada de IMU (Unidade de Medida Inercial do inglês – Inertial Measurement Unit) que
28
contém acelerômero e giroscópio, uma bateria do tipo LiPo (Lithium-Polymer) e rádio
transmissor.
A Figura 10 demonstra os dispositivos utilizados no projeto (ARDUCOPTER, 2013).
Neste exemplo tridimensional podem ser vistos diversos componentes, tais como: módulo de
comunicação sem fio, GPS, magnetômetro, placa Arduino, placa de sensores, ESCs e bateria
LiPo.
Figura 10: Representação 3D dos dispositivos.
(Fonte: ArduCopter, 2013.)
3.1 Sensores
Os sensores são componentes importantes e que possibilitam que o veículo se mova de
forma mais real e estável possível. Este controle é possível devido ao sensor estimar a
orientação e a posição do centro de massa do quadrotor. Para controlar a altitude e a
29
orientação se utiliza na construção destes quadrotores, um sistema inercial de nove graus de
liberdade, composto por acelerômetro, giroscópio e magnetômetro, cada um com três eixos.
Para a realização de decolagem, pouso e controle de altitude, é importante, também, a
utilização de um altímetro.
Neste subcapítulo será explicado cada um destes sensores, a sua importância e as suas
características.
3.1.1 Acelerômetro
Os acelerômetros são sensores que fornecem o valor de aceleração na direção de seus
três eixos ortogonais, inclinação, vibração, colisão e aceleração da gravidade. Sendo que
quando este sensor não está acelerado o mesmos fornece apenas a direção do vetor aceleração
da gravidade (VASCONCELLOS; CATUNDA, 2013) Estes dispositivos devem ser
colocados o mais próximo possível do centro de gravidade do corpo, para aumentar a sua
eficácia. Os tipos de acelerômetros existentes são: mecânicos e eletromecânicos, Micro
Electro-Mechanical Systems (MEMS), este último tem aumentado a sua popularidade,
substituindo os acelerômetros mecânicos (VIEIRA, 2011).
Os acelerômetros utilizados nos quadrotores são do tipo MEMS, e podem transformar
as acelerações em sinais analógicos ou digitais. São aplicados a muitas áreas, tais como
médicas, biomédicas, indústria de automóvel, nos controles para videojogos, nos aparelhos de
GPS, nos telemóveis e na indústria de informática (VIEIRA, 2011).
Esses dispositivos MEMS são construídos em silício, e dividem-se em duas parte: a
massa sísmica e um par de eletrodos de detecção. A primeira fica suspensa por uma espécie
de mola que é formada em cada extremidade. Por sua vez, a segunda parte permite aos
componentes eletrônicos detectar o movimento da massa sísmica em relação à plataforma em
torno do silício. Em vista disso, sempre que o chip sofrer uma aceleração, a massa irá mover-
se em relação ao chip e à estrutura fixa dentro dele. O tamanho deste movimento depende da
aceleração, da massa sísmica, e da rigidez das molas. Com este movimento há uma mudança
na impedância entre as estruturas sensórias, sendo detectada pelo sistema eletrônico e
convertida por este num valor de aceleração (VIEIRA, 2011).
Um acelerômetro que pode ser utilizado no projeto do quadrotor é o BMA180, sendo
um dispositivo que possui três eixos digital, de altíssimo desempenho e baixo consumo
(650µA). Além disso, possui filtros digitais integrados programáveis (passa-altas, passa-
baixas e passa-faixas) e saída digital com interface SPI (Serial Peripheral Interface) e I2C
30
(Inter-Integrated Circuit), com faixa de sensoriamento programável (1g, 1,5g, 2g, 3g, 4g, 8g,
16g.)
A Figura 11 mostra uma placa com acelerômetro BMA180, fabricado pela Bosch.
Figura 11: Placa com acelerômetro BMA180.
(Fonte: AEROQUAD, 2013)
3.1.2 Giroscópio
O giroscópio é um sensor utilizado para medir velocidade angular. Os diversos tipos
de giroscópios podem ser agrupados em dois grupos: giroscópios mecânicos e ópticos.
O giroscópio baseia-se na lei da inércia, o princípio da Física
formulado por Newton, segundo o qual um corpo em movimento permanece
em movimento até que uma força externa a ele o impeça de continuar.
(OLIVEIRA; SILVA; BARBOSA).
O giroscópio, que foi inventado em 1950 por Jean Bernard Léon Foucault, consiste em
uma roda giratória, cujo eixo é livre para tomar qualquer orientação e gira no centro de uma
estrutura “Gimbal”, que consiste em dois anéis concêntricos. Assim, os anéis podem mover-se
para qualquer lado, mantendo-se a roda a girar sempre no mesmo plano paralelo ao original
(VIEIRA, 2011).
Figura 12: Giroscópio Mecânico de Foucault
(Fonte: OLIVEIRA; SILVA; BARBOSA)
31
Tanto os aparelhos mecânicos como os ópticos são grandes e caros. Portanto, nos
últimos anos, começaram a surgir giroscópios do tipo MEMS com menor custo e boa
resolução, o que fez com que fossem amplamente utilizados nas mais diversas aplicações, tais
como na área da saúde, na área do desporto, entre outras.
Os giroscópios MEMS permitem medir a velocidade angular e integrando em ordem ao
tempo, é possível obter a posição angular nos eixos, yaw, pitch e roll (VIEIRA, 2011).
O funcionamento desse giroscópio acontece da seguinte forma: quando o giroscópio
está parado deverá comportar-se como ilustra a Figura 13(A). Por sua vez, quando o
giroscópio é rotacionado, Figura 13(B), a massa é submetida ao efeito de Coriolis, que gera
uma vibração secundária ortogonal à direção original da vibração, a qual imprime na massa
um movimento de rotação secundário em direção ortogonal à da rotação inicial (VIEIRA,
2011).
Figura 13: Simulação de um giroscópio
(Fonte: VIEIRA, 2011)
A força de Coriolis, aplicada à massa é dada por Fc = 2.m.ν.Ω, onde Ω é a velocidade
angular, m é a massa e ν é a velocidade instantânea da massa. Como consequência, é gerada
uma aceleração ɑc = 2.ν.Ω, que é utilizada para calcular a velocidade angular.
A Figura 14 mostra uma placa com o giroscópio tri-axial do tipo MEMS ITG-3200, o
qual pode ser utilizado na construção de um quadrotor. Este dispositivo é fabricado pela
InvenSense, possui filtro programável digitalmente, sensor de temperatura, interface I2C,
entrada de clock externo opcional e saída digital X-/Y-/Z- com escala completa de 2000º/s.
(INVENSENSE, ITG-3200, 2013).
32
Figura 14: Placa com giroscópio ITG-3200.
(Fonte: AEROQUAD, 2013)
3.1.3 Magnetômetros
Os Magnetômetros são capazes de medir campos magnéticos, assim como a sua
orientação. Estes dispositivos têm sido utilizados em aplicações direcionadas para direção ou
navegação, como bússolas. Porém, com o desenvolvimento tecnológico, houve uma evolução
nesses sensores de forma que ficaram menores, mais precisos, com menor consumo de
energia e compatíveis com uma grande parte de dispositivos eletrônicos (VIEIRA, 2011).
No quadrotor são utilizados os magnetômetros tipo MEMS. Para realizar o
sensoriamento de três eixos, são encapsulados em um único circuito integrados três
magnetômetros a fim de que cada um realize o sensoriamento de um eixo diferente.
A Figura 15 mostra um exemplo de magnetômetro que pode ser utilizado no projeto.
Figura 15: Placa com magnetômetro HMC5883L.
(Fonte: AEROQUAD, 2013)
33
3.1.4 Altímetro
O altímetro é um sensor que mede a altitude atual da aeronave. Existem dois tipos de
altímetros: os barométricos e os baseados em radar. Os altímetros do tipo barométrico medem
a pressão atmosférica e calculam a altura atual de acordo com a pressão, dessa maneira o
dispositivo informa a altura em relação ao nível do mar. Já os sensores baseados em radar
emitem uma onda em direção ao solo e calcula a altura através do tempo levado para a onda ir
e voltar (NASCIMENTO, 2011).
A Figura 16 mostra um sensor de pressão BMP085, fabricado pela Bosch, capaz de
medir de 300 a 1.100 hPa (hectopascal – unidade de medida de pressão). Apresenta interface
I2C e sensor de temperatura interno.
Figura 16: Placa com o sensor de pressão BMP805.
(Fonte: AEROQUAD, 2013)
O sonar é um sensor de ultrassons, que tem como função realizar a detecção de
obstáculos e a medição de distâncias. A base de seu funcionamento está na emissão e
recepção de ultrassons, e medição do tempo de propagação do eco. Portanto, o dispositivo
envia um impulso a uma alta frequência e quando este impulso encontra um objeto, o mesmo
reflete e volta em forma de eco (VIEIRA, 2011).
Este sensor é muito importante para controlar o quadrotor, visto que este dispositivo
pode informar a altitude na qual se encontra o drone, permitindo manter o mesmo estável a
uma altura desejada, sendo útil também nas operações de decolagem e pouso. Para que se
possa medir a altitude do quadrotor, o sonar deverá ser colocado no centro da estrutura e
apontar para baixo (VIEIRA, 2011).
34
3.1.5 Comunicação I2C entre Microprocessador e Sensores
Os sensores são conectados ao processador ARM através de um único barramento I2C.
O ARM é o dispositivo mestre da comunicação (I2C Master) e os outros componentes são os
dispositivos escravos (I2C Slaves). O magnetômetro é conectado ao barramento através de um
bypass estabelecido pelo MPU6050 (VASCONCELLOS; CATUNDA, 2013).
A Figura 17 mostra uma placa de sensor que utiliza o chip MPU6050, combinando um
acelerômetro e um giroscópio de três eixos. Existe também o chip MPU9150 que combina o
MPU6050 com um magnetômetro.
Figura 17: Placa de sensores com MPU6050.
(Fonte: ARDUINO, 2013)
A utilização deste barramento I2C possibilita elaborar, facilmente, um circuito com
vários dispositivos conectados, devido ser necessário, somente, um barramento de duas vias,
isto é, uma via SDA para dados e outra SCK para clock (VASCONCELLOS; CATUNDA,
2013).
35
3.1.6 Fusão de dados
Faz-se necessário combinar os dados adquiridos do acelerômetro, do giroscópio e do
magnetômetro, a fim de se obter uma estimativa mais confiável da orientação correta do
quadrotor, visto que esses sensores sozinhos são incapazes de fazê-la, porquanto há momentos
durante o voo que a orientação do quadrotor muda bruscamente gerando erro na integração
numérica, impossibilitando a estabilização do quadrotor (VASCONCELLOS; CATUNDA,
2013).
Para realizar a fusão dos dados é aconselhado utilizar o Filtro de Kalman (LEVY,
1997) que apresenta um desempenho melhor para esta função, porém o mesmo é muito
complexo computacionalmente. Por este motivo, muitas vezes este filtro é substituído pela
utilização do Filtro Complementar.
O Filtro Complementar é mais simples, possui baixa complexidade computacional
tornando fácil a sua implementação, embora o resultado seja inferior ao do Filtro de Kalman,
ele é bastante satisfatório para uma primeira fase do projeto do quadrotor. Este filtro pode ser
implementado através da soma ponderada entre os dados de velocidade angular e posição
angular obtidos com o giroscópio e o acelerômetro, respectivamente. A estimativa da posição
angular (ângulos de roll e pitch) pode ser obtida através da Equação 1, a ser implementada no
ARM (VASCONCELLOS; CATUNDA, 2013).
√ (1)
√
onde xraw, yraw e zraw são as projeções do vetor aceleração da gravidade em cada eixo do
acelerômetro. Desta forma, o ângulo estimado com base na informação dos dois sensores é
dado por:
[ ] ( [ ] [ ]) [ ] (2)
onde α é uma constante de peso. A equação acima funciona como um filtro passa-altas para o
giroscópio e como um passa-baixas para o acelerômetro. Verifica-se o efeito passa-baixas
sobre o acelerômetro, suprimindo-se a entrada do giroscópio e aplicando-se a transformada Z,
conforme as Equações 3 e 4, respectivamente.
[ ] [ ] [ ] (3)
(
) (4)
36
Apesar de existirem outras formas de implementar o Filtro Complementar, esta é uma forma
bem simplificada.
3.2 Microprocessador
O microprocessador é o responsável pelo controle dos atuadores, sendo considerado o
principal componente da inteligência embarcada, portanto a sua escolha para a utilização no
processamento das informações de um quadrotor é uma decisão muito importante no projeto.
Nos sistemas embarcados encontram-se componentes tais como processador, memórias de
processamento e armazenamento, e interfaces de entrada e saída. Estes sistemas podem ser
construídos baseado tanto em microcontroladores como em microprocessadores e podem ser
utilizados para diversas aplicações.
O processamento das informações para o controle e gerenciamento do quadrotor pode
ser realizado através da plataforma Arduino Mega 2560, que possui o microcontrolador de
arquitetura Atmel megaAVR como unidade de processamento. Além dessa plataforma, pode
ser utilizada também uma plataforma própria cuja unidade de processamento é um
controlador de arquitetura Advanced Risc Machine (ARM). A diferença entre as duas
plataformas é que a Arduino é bastante simples, sendo esta uma grande vantagem para a
realização de projetos de sistemas embarcados, enquanto que a arquitetura ARM possui maior
vantagem, em relação, por exemplo, ao desempenho e recursos nativos disponíveis
(NASCIMENTO, 2011).
A Figura 18 mostra a plataforma de desenvolvimento Arduino Mega 2560, que é
utilizada em muitos projetos de quadrotores.
Figura 18: Plataforma Arduino Mega 2560
(Fonte: ARDUINO, 2013)
37
Os microprocessadores de arquitetura ARM são muito utilizados em dispositivos
móveis e periféricos de computador. Esta larga utilização deste microprocessador nestes
equipamentos, que necessitam de muito recursos computacionais ao mesmo tempo, e que
possuem recursos limitados de energia, se deve ao fato do circuito integrado do processador
ARM ser constituído por uma baixa densidade de transistores, conferindo ao processador
baixo custo e maior eficiência energética (VASCONCELLOS; CATUNDA, 2013).
A Figura 19 mostra a plataforma de desempenho MBED a qual é baseada na
arquitetura ARM.
Figura 19: Plataforma MBED
(Fonte: NASCIMENTO, 2011)
3.3 Atuadores
O quadrotor possui quatro atuadores. Cada um é constituído por três componentes:
Controlador Eletrônico de Velocidade (ESC), hélice e motor. Para o seu funcionamento o
atuador recebe um sinal PWM (Pulse-Width Modulation) do microprocessador e as saídas
geradas do atuador consistem em vetores de empuxo perpendiculares ao plano do quadrotor e
diretamente proporcionais ao sinal PWM aplicado na entrada.
3.3.1 Controlador Eletrônico de Velocidade (ESC)
O Controlador Eletrônico de Velocidade (ESC) é utilizado para controlar motores
trifásicos outrunner fornecendo aos mesmos três sinais trapezoidais com um defasamento de
38
120º entre si. Através de modulação de largura de impulso, PWM, é possível controlar o
motor BLDC. Além disso, este dispositivo é responsável por definir o nível de alimentação e
consequentemente a velocidade de rotação do motor.
O microcontrolador interno fornece sinais para cada uma das três fases do motor. O
circuito gerador do sinal de cada fase possui transistores do tipo MOSFET com configuração
push-pull, com a finalidade de gerar os pulsos com amplitude de tensão igual a tensão da
bateria. Para o ESC saber se os motores estão ou não respondendo aos seus comandos, é
enviada uma informação de feedback de cada motor para o microcontrolador através da Força
Eletromotriz retornada. Se for verificado que os motores não estão recebendo os comandos, o
ESC para de enviar os pulsos para cada fase.
Os principais componentes de um circuito básico de um ESC são o driver IGBT, a
ponte inversora trifásica, o microprocessador e o circuito para detecção de posição do motor.
Na Figura 20, R,S e T são os terminais que devem ser conectados às três fases de um
motor brushless. O ESC deve ser dimensionado com base no valor máximo de corrente
suportado pelo motor e a tensão nominal de entrada. Dentre as suas funcionalidades
destacam-se:
Low Voltage Cutoff (LVC): o controlador desliga a alimentação do motor se a
tensão da bateria passar a ser menor do que um certo limite a fim de preservar a
bateria de Lithium-Polymer (LiPo).
Circuito Eliminador de Bateria (BEC): é um circuito que possui um abaixador de
tensão de 5V.
Programabilidade: o usuário pode ajustar os parâmetros do ESC através de um
protocolo de comunicação usando o sinal PWM.
Figura 20: ESC genérico
(Fonte: MELO, 2010)
39
Na Figura 21 são mostradas as saídas para alimentação das fases do motor (R, S e T),
representadas por IA, IB e IC, respectivamente.
Figura 21: Forma de onda gerada para alimentação de cada fase
(Fonte: MELO, 2010)
A Figura 22 mostra um Controlador Eletrônico de Velocidade, fabricado pela Hobbywing, que
contém um driver de corrente e BEC.
Figura 22: ESC com driver de corrente e BEC
(Fonte: HOBBYWING SKY WALKER)
3.3.2 Hélices
Para o atuador produzir certa quantidade de empuxo (FE), o mesmo necessita de uma
potência que é inversamente proporcional à área do rotor (POUNDS, 2007). Assim, para se
40
obter uma maior eficiência energética é aconselhado maximizar o comprimento do hélice, no
entanto deve-se mantê-lo dentro das limitações estruturais do projeto.
É importante observar a seguinte relação eletrodinâmica:
FE = r4Ω
2 (5)
Sendo FE o empuxo gerado pelo atuador, Ω a velocidade angular do motor e r o raio
do rotor (POUNDS; MAHONY, 2009). Nota-se que na Equação 5, há uma relação quadrática
entre o empuxo gerado pelo atuador e a velocidade de rotação do motor.
Além do comprimento, são considerados também o pitch (equivale ao passo do hélice,
é diferente do ângulo de pitch que corresponde à posição angular do quadrotor em relação ao
eixo Y do sistema de coordenadas que possui origem em seu centro de massa), o número de
pás do hélice e a composição do material como parâmetros que influenciam na carga
resultante que atua sobre o motor e na capacidade de empuxo do atuador. Portanto, quanto
maior for o comprimento do hélice, maior será o torque inicial necessário para fazê-los
girarem. Isto deve ser considerado quando for feita a escolha do motor-hélice.
Para a realização da escolha dos hélices deve-se levar em conta a disponibilidade de
configurações de comprimento e passo, e a compatibilidade dos mesmos com a capacidade
dos motores. Deve-se considerar também a existência de um conjunto de hélices equivalentes
com passo invertido, porque quando o quadrotor estiver em funcionamento, dois dos seus
motores girarão no sentido horário, enquanto os outros dois irão girar no sentido anti-horário.
Isto acontece para compensar o momento angular do corpo em torno do eixo Z
(VASCONCELLOS; CATUNDA, 2013).
3.3.3 Motores
Um motor comumente utilizado no projeto de quadrotores, para a propulsão, é o motor
outrunner (caixa rotativa) do tipo BLDC sem sensor. Este tipo de motor utiliza fonte de tensão
DC (Direct Current), no entanto, comutando a fase do estator pelo ESC (VASCONCELLOS;
CATUNDA, 2013). Embora o BLDC possa ter configuração com uma, duas ou três fases, os
mais populares são os de três fases.
Dizer que o motor é do tipo outrunner significa que a sua armadura gira junto com o
eixo de rotação. Os imãs permanentes do motor ficam instalados na armadura girante,
enquanto as bobinas ficam presas no suporte. Geralmente, possuem maior torque e menor
velocidade de rotação em relação aos inrunners (imãs rotativos). Neste tipo, é a carcaça que
41
se encontra imóvel e contém as bobinas, encontrando-se os ímãs permanentes fixos ao eixo do
motor. Estes dois tipos divergem no posicionamento do rotor e do estator, conforme se pode
observar na Figura 23. No entanto, há alguns quadrotores comerciais que utilizam motores
inrunners em conjunto com uma engrenagem.
Figura 23: (A) Esquema BLDC inrunner (B) Esquema BLDC outrunner
(Fonte: VIEIRA, 2011)
Os motores BLDC são considerados motores síncronos onde os ímãs permanentes
polarizados fazem parte do rotor. Como o rotor contém somente ímãs, o mesmo não necessita
de qualquer alimentação, sendo parecidos aos motores DC tradicionais, porém, não possuem
as estruturas de escovas na comutação. Uma consequência positiva disto, é que não há
qualquer desgaste, demandando uma baixa manutenção.
A principal diferença entre motores com e sem escovas é a forma como realizam a
comutação das bobinas do motor. O motor de escovas possui uma armadura que atua como
um eletroímã, com dois polos, e funciona da seguinte forma: as escovas entram em contato
com o comutador, invertendo o sentido da corrente duas vezes a cada ciclo. Por sua vez, no
motor sem escovas, para que a comutação dos sinais ocorra no momento correto, se torna
necessário um meio de detecção da posição do rotor. Esta detecção pode ser realizada através
da utilização dos sensores Hall e encoders, ou por força contra-eletromotriz (Back-EMF).
Neste caso, a posição exata do rotor é continuamente enviada ao ESC, que comuta o estado
através de transistores de potência, fornecendo corrente ao próximo enrolamento para manter
a rotação ativa (VIEIRA, 2011). A Figura 24 ilustra cada uma das comutações.
42
Figura 24: Comutação das bobinas
(Fonte: VIEIRA, 2011)
Os motores BLDC possuem várias vantagens em relação aos motores DC tradicionais,
tais como: menor ruído sonoro, menor necessidade de manutenção, menor produção de
interferência eletromagnética e na maioria das vezes, são mais compactos e mais leves,
apresentando, também, um tempo de vida útil maior. Entretanto, as suas maiores
desvantagens são que estes motores precisam de circuitos eletrônicos mais complexos para
seu controle, além de apresentarem preços mais elevados.
3.4 Sistema da Alimentação
A alimentação do quadrotor é realizada por uma bateria que fornece 12V de tensão aos
atuadores, sendo que a alimentação da eletrônica embarcada é fornecida por um circuito
eliminador de baterias, presente no ESC, fornecendo 5V de tensão.
3.4.1 Bateria
Para determinar qual a bateria deve ser utilizada, muitos fatores devem ser levados em
consideração, incluindo as necessidades do projeto. Entretanto, as necessidades mais
importantes são as características do motor, ESC utilizados e a autonomia do quadrotor.
As baterias mais utilizadas na construção de um quadrotor são as de Lithium-Polymer
(LiPo), visto que possuem uma maior capacidade em relação ao peso (VIEIRA, 2011).
Para a alimentação do ESC, com um potencial máximo de 4 células – 4S, a corrente
nominal máxima dos motores é de 16A, que para o conjunto de 4 motores, resulta em 64A.
Para esta configuração, pode ser escolhida a bateria Turnigy 5.000 mAh 4s/14.8 V 20c-30c
LiPo. Esta bateria possui 4 células 14.8 V e cada uma das suas células deve atingir uma
tensão máxima de 4.2V e o valor de tensão mínimo de 2.7V, correndo o risco de destruição do
material, caso o valor de tensão desça abaixo deste valor. A capacidade nominal de descarga
43
da bateria é de 20C, podendo fornecer 100A em funcionamento contínuo e picos de
aproximadamente 150 A.
Figura 25: Bateria Turnigy
(Fonte: VIEIRA, 2011)
Devido a estas baterias se descarregarem rápido e ao quadrotor necessitar de uma
determinada autonomia da bateria para o seu perfeito funcionamento, faz-se necessário
monitorar a bateria. Para isso, pode ser utilizado um monitor de bateria com besouro,
conforme ilustrado na Figura 26. Este monitor é um dispositivo eletrônico que emite sinais
sonoros e luminosos quando a tensão das células da bateria chega ao valor mínimo. Estes
sinais servem para alertar o usuário que este deve substituir ou carregar a bateria, de forma
que ela não venha a se descarregar demasiadamente, originando um possível dano da bateria
ou do quadrotor, devido a falha de alimentação e a consequente queda (VIEIRA, 2011).
Figura 26: Monitor de bateria com besouro
(Fonte: VIEIRA, 2011)
44
4 Modelagem Cinemática e Dinâmica do
Quadrotor
O objetivo deste capítulo é detalhar a modelagem tanto cinemática quanto dinâmica
dos quadrotores. Os modelos matemáticos utilizam vários frames de referência, ou seja, são
desenvolvidos em diferentes referenciais (BEARD, 2008).
Frame fixo ao quadrotor que é necessário para a resolução das equações de
movimento de Newton;
Frame do corpo, o qual é utilizado para o cálculo das forças aerodinâmicas e
torques;
Frame inercial é utilizado pelos sensores, para que os mesmos obtenham
medidas em relação a este frame.
Para que se possa obter um modelo para construir, por exemplo, as leis de controles
para os ângulos de roll e pitch, é necessário realizar as transformações lineares de translação e
rotação que transformam um frame em outro.
Serão apresentados a seguir os seguintes frames de coordenadas: o frame inercial, o
frame do veículo, o frame do veículo 1, o frame do veículo 2, e o frame do corpo. Assumindo
a Terra plana e estacionária (BEARD, 2008).
Frame inercial (F i): Este frame é um sistema de coordenadas fixo à Terra com a
origem no local de partida.
Figura 27: Coordenadas do frame inercial
(Fonte: Elaborada pela autora)
45
Frame do veículo (F ): A sua origem é o centro de massa do quadrotor e os eixos das
suas coordenadas são alinhados com os eixos do frame inercial.
Figura 28: Coordenadas do frame do veículo
(Fonte: Elaborada pela autora)
Frame 1 do veículo (F 1
): A origem deste frame coincide com a origem do frame do
veículo, porém F 1
é rotacionado positivamente ao redor de de um ângulo yaw
Figura 29: Frame do veículo 1
(Fonte: Elaborada pela autora)
A transformação entre F
e F
é dada por:
Onde é a matriz de rotação dada por:
ψ(
)
Frame 2 do veículo (F 2
): A origem deste frame, assim como no frame 1 do veículo,
é o centro de gravidade, porém é obtido rotacionando o F ao redor de por um ângulo de
pitch θ.
F
𝑖 𝑣 (Norte)
𝑗 𝑣 (Leste)
𝑣 (para a Terra)
𝑖 𝑣 (Norte)
𝑖 𝑣
F
𝑗 𝑣
𝑗 𝑣
ψ
46
Figura 30: Frame do veículo 2
(Fonte: Elaborada pela autora)
Portanto, a transformação entre F
e F
é dada por:
Onde é a matriz de rotação dada por:
(
)
Frame do corpo (F b): Este frame é obtido rotacionando o F
2 em um ângulo de roll
ao redor de .
Figura 31: Frame do corpo
(Fonte: Elaborada pela autora)
Portanto, a transformação entre F
e F b é dada por:
b
Onde é a matriz de rotação dada por:
(
)
Pode-se encontrar a matriz de rotação para a transformação entre o frame do veículo e
o do corpo, a qual é dada por:
θ F 𝑖 𝑣
𝑖 𝑣
𝑣 𝑣
𝑣 𝑏
𝑗 𝑏
𝑗 𝑣 ϕ
F b
47
(
)(
)(
)
(
)
onde os termos cα e sα são, respectivamente, cos(α) e sen(α).
As 12 variáveis de estado do quadrotor são apresentadas a seguir:
pn = a posição inercial (norte) do quadrotor ao longo de em F i,
pe = a posição inercial (leste) do quadrotor ao longo de em F i,
h = a altitude da aeronave medida ao longo de em F i,
u = a velocidade do frame do corpo medida ao longo de em F b,
v = a velocidade do frame do corpo medida ao longo de em F b,
w = a velocidade do frame do corpo medida ao longo de em F b,
o ângulo de rolagem definido em relação a F ,
o ângulo de arfagem definido em relação a F ,
o ângulo de guinada definido em relação a F ,
p = taxa de rolagem medida ao longo de em F b,
q = taxa de arfagem medida ao longo de em F b,
r = taxa de guinada medida ao longo de em F b.
A relação entre posição e velocidade é dada por:
(
)
( )
(
)
( )
48
(
) (
)( ) (13)
Como as taxas angulares p, q e r são definidas no frame F b, e o ângulo de rolagem ϕ é
definido em F 2
, o ângulo de arfagem θ é definido em F 1
, e o ângulo de guinada é
definido no frame do veículo F , torna-se necessário relacionar p, q e r a . Sendo que
são pequenos e notando que
I (14)
Tem-se
( )
( ) (
) ( )
( ) ( )
( ) ( )
( ) ( )
( ) (
) (
)( )
(
)(
)(
)
( ) (
)(
) (15)
Que invertendo torna-se
(
) (
)( )
4.1 Dinâmica de Corpos Rígidos
As leis de Newton apenas se aplicam a referenciais inerciais, portanto as leis de
Newton aplicadas ao movimento translacional é
m
f (17)
onde v a velocidade do quadrotor, m é a massa do quadrotor, f é a força total aplicada ao
quadrotor, e
é a derivada no tempo no frame inercial. Da equação de Coriolis dada por:
49
(18)
tem-se,
(
) (19)
onde b/i é a velocidade angular do frame aéreo em relação ao frame inercial. Uma vez que a
força de controle é computada e aplicada nas coordenadas do corpo, e que é medida
também nestas coordenadas, será expressa a Equação 19 em função do frame do corpo, onde
, e . Portanto, em coordenadas do corpo, a Equação 19 torna-
se
( ) (
)
(
) (20)
Onde fb
.
Para o movimento de rotação, a segunda lei de Newton diz que
(21)
onde h é o momento angular e m é o torque aplicado. Usando a equação de Coriolis tem-se
(22)
Novamente, a Equação 22 é mais facilmente solucionada nas coordenadas do corpo
onde , onde J é a matriz constante de inércia dada por:
(
∫ ∫ ∫
∫ ∫ ∫
∫ ∫ ∫ )
(
) (23)
O quadrotor é essencialmente simétrico em relação aos eixos, portanto Jxy = Jxz = Jyz =
0, o que implica em
50
J = (
) (24)
Portanto
J-1
=
(
)
(25)
A inércia para uma esfera sólida é dada por J =2MR2/5, (BEARD, 2008).
Portanto,
Jx =
(26)
Jy =
(27)
Jz =
(28)
Definindo mb ( ) pode-se escrever a Equação 22 nas coordenadas do
corpo como
(
)
(
)
*(
) (
) ( ) (
)+ (29)
(
)
(
)
(
)
(30)
Portanto o modelo dos seis graus de liberdade para a cinemática e a dinâmica do
quadrotor é dado por:
(
) = (
)( ) (31)
( ) (
)
(
) (32)
51
(
) (
)( )
(
)
(
)
(
)
(34)
4.2 Forças e Momentos
As forças e momentos são gerados pela gravidade e pelos quatro propulsores. Tendo
como base a Figura 1 que representa o modelo teórico do quadrotor, nota-se que cada motor
produz uma força F e um torque . O total de forças que agem sobre o quadrotor é dado por:
F = F1 + F2 + F3 + F4 (35)
O torque de rolamento é produzido pelas forças dos motores da direita e esquerda
) (36)
O torque de arfagem é produzido pelas forças dos motores traseiro e dianteiro
) (37)
O torque de guinada é produzido pelo arrasto dos propulsores, sendo que a direção do
torque será oposta à direção de movimento do propulsor. Portanto, o torque de guinada total é
dado por:
(38)
A sustentação e arrasto produzido pelos propulsores é proporcional ao quadrado da
velocidade angular. Considerando a velocidade angular diretamente proporcional ao comando
de largura de pulso (PWM) enviado ao motor, a força e o torque de cada motor será:
F* = k1δ* (39)
* = k2δ* (40)
onde k1 e k2 são constantes que precisam ser determinadas experimentalmente, δ* é o sinal de
comando do motor, e * representa 1,2,3 e 4.
Portanto, as forças e torques no quadrotor podem ser escritas na matriz como
52
(
) (
)(
) (
) (41)
O comando dos motores podem ser encontrados com
(
) = (
) (42)
O comando de PWM deve estar entre 0 e 1. A gravidade também exerce força no
quadrotor. No frame F a força de gravidade que atua no centro de massa é dada por:
(
) (43)
Como é expresso em F bdeve-se transformar o frame do corpo
(
) (
) (44)
Portanto, as equações 32 – 34 tornam-se:
(
) = (
)( ) (45)
( ) (
) (
)
(
) (46)
(
) (
)( )
(
)
(
)
(
)
(48)
53
4.3 Modelo para Projeto de Controle
Nas equações do movimento do quadrotor dadas em 45 - 48 devem ser feitas algumas
considerações para torná-las mais simples, para que se possa construir o projeto de
controladores.
Como é importante encontrar a posição do quadrotor em relação a um alvo no solo e
px, py e pz denotam o vetor de posição relativa entre o alvo e o veículo, transforma-se a
Equação 45 em:
(
) (
)(
) (49)
Considerando que ϕ e θ são pequenos, bem como, qr, pr e pq, pode-se simplificar as
equações 47 e 48 respectivamente, de modo que se obtém:
(
) ( )
(
)
(
)
(51)
Combinando 50 e 51 se obtém
(
)
(
)
Derivando-se a equação 45 e desprezando a matriz de rotação , obtém-se:
(
) = (
)( ) (53)
Desconsiderando os termos Coriolis e combinando as equações 53 e 46, tem-se:
(
) = ( ) (
)
(54)
54
Portanto, o modelo inercial simplificado é dado por:
(55)
(56)
(57)
(58)
(59)
(60)
Porém, as informações adquiridas para roll e pitch são realizadas no frame do veículo
1, que é equivalente ao frame do veículo inercial após ser rotacionado de um ângulo de yaw.
Diferenciando a Equação 49 e desconsiderando o termo , obtém-se:
(
) = (
)(
) (61)
Desconsiderando os termos Coriolis e combinando as equações 46 e 61, tem-se:
(
) = ( ) (
)
(62)
Então, o modelo simplificado no frame do veículo 1 é dado por:
(63)
(64)
(65)
(66)
(67)
(68)
A partir desse resultado é possível realizar o controle dos ângulos roll, pitch e yaw.
55
5 Implementação do Simulador
Neste capítulo serão apresentados todos os passos utilizados para a implementação, em
realidade virtual, do simulador de um robô quadrotor, com aplicação, mais especificamente,
na construção civil. Este simulador foi implementado em linguagem VRML onde é possível
modelar o robô em três dimensões e realizar a sua animação, a fim de ilustrar todos os
movimentos desempenhados pelos quadrotor, assim como, o seu princípio de funcionamento,
observável através do sentido de rotação e velocidade dos hélices, conforme o deslocamento
da aeronave.
5.1 VRML
A linguagem VRML possibilita descrever objetos tridimensionais e agrupá-los,
permitindo assim, construir e animar cenas, ou seja, estabelecer um “mundo virtual”. A
descrição do “mundo” consiste em um arquivo VRML que contém textos onde descreve como
construir shapes (figuras ou formas), onde colocá-las, que cores terão, entre outras
propriedades do objeto. Estes textos podem ser criados em qualquer editor ou processador
incluindo o “Edit” do DOS, “Bloco de Notas” do Windows e Emacs, lembrando que devem
ser salvos com a extensão “.wrl”. (VRML).
Geralmente, as cenas criadas são disponibilizadas na WWW e são aplicadas à diversas
áreas, incluindo representações artísticas, entretenimento, educação e tecnológica.
As cenas são construídas a partir da disposição, combinação e interação entre os
nodos, estes por sua vez, são responsáveis por descrever os objetos da cena e suas
propriedades. Eles podem ser agrupados hierarquicamente a fim de viabilizarem a
representação audiovisual dos objetos, além de participarem do processo de geração e
transmissão de eventos. Para a construção da cena existem os componentes fundamentais,
dentre estes estão as esferas, os cubos, a luz e o som (AULA 1).
Existem vários tipos de nodos e cada tipo de nodo (node type) define valores iniciais
para seus parâmetros, os quais podem ser de dois tipos: campos (fields) e eventos (events). Os
fields podem se de dois tipos: fields (atributo do tipo private) e exposedFields (atributo do
tipo public). Os eventos podem ser enviados de um nodo para outro através de um eventOut e
recebê-lo através de um eventIn. Cada nodo pode se comunicar com outros nodos através das
56
rotas (routes) que correspondem a conexões entre o nodo que está gerando e o nodo que
deverá receber o evento (AULA 1).
Cada nodo apresenta as seguintes características:
Tipo: Box, Color, Group, Sphere, Sound, etc;
Zero ou mais atributos para campos: define como um nodo difere de outro
nodo do mesmo tipo;
Conjunto de eventos que um nodo pode receber e enviar: cada nodo pode
receber zero ou mais tipos diferentes de eventos, os quais geram alterações no
estado do nodo. Como também, podem gerar tipos distintos de eventos para
comunicar alterações em seu estado;
Implementação: define como cada nodo reage a eventos que pode receber, à
geração de eventos e as suas características visuais no mundo virtual;
Nome: pode-se atribuir um nome a um nodo, permitindo fazer referências a
uma instância específica de um nodo. Isso é feito através das palavras
DEF/USE, ou seja, uma vez tendo atribuído um nome a um nodo, através da
palavra DEF, pode-se, futuramente, referenciá-lo através da palavra USE. A
declaração de USE não cria uma nova cópia do nodo, mas insere o mesmo
nodo na cena uma segunda vez. A utilização de um mesmo nodo múltiplas
vezes dá-se o nome de “instanciação”. Esta técnica torna o arquivo VRML
menor e mais fácil de ler, além de diminuir o tempo que se leva para carregar a
cena, isto indica uma melhoria na performance geral.
Um arquivo VRML é essencialmente hierárquico, ou seja, cada nodo pode conter
outros nodos na sua especificação. Portanto, para a formação de uma cena é usual haver
“nodos incluídos em outros nodos”. Os nodos que estão situados mais no topo da hierarquia
são chamados de ancestrais (ancestors) e os demais são considerados seus descendentes. Dá-
se o nome de “nodo raiz” (root node) ao nodo que não está contido em nenhum outro nodo
(AULA 1).
Os nodos básicos para a construção de objetos geométricos são os do tipo “Shape”.
Estes tipos de nodos associam um nodo geométrico (geometry node) a nodos que definem as
características visuais do objeto.
57
A VRML fornece um conjunto de nodos geométrico, incluindo o Box, Cone, Cylinder,
ElevationGrid, Extrusion, IndexedFaceSet, IndexedLineSet, PointSet, Sphere, Text. Além
desses, pode-se criar outros nodos geométricos através do método de “prototyping” AULA 1).
Para uma animação ser criada é necessário um cenário, um contexto, feito isso, pode-
se detalhar o que será animado e quais as ações que fará. Terminando esta parte que é
considerada como a de modelagem da animação, inicia-se a parte de animação realmente.
Os eventos e as rotas definem a animação no mundo virtual. Dentre os vários nodos
existentes na VRML os mais importantes para animação são os sensores e os interpoladores.
Os eventos gerados pelos sensores são causados por ações do usuário. A partir de uma ação o
sensor produz um eventOut que pode ser “roteado” para um outro eventIn e causar o início de
uma animação. Os interpoladores, por sua vez, definem os pontos chaves da animação os
quais serão interpolados por uma função linear. Portanto, os efeitos de animação podem ser
gerados pela interpolação, mistura de rotas, aplicação de texturas e agrupamentos de nodos
(BIASI, 2001).
5.2 Simulador
A representação gráfica do quadrotor e a sua animação foram realizadas em VRML.
Nesta seção serão apresentados os nodos geométricos utilizados para criar cada parte do robô,
a trajetória que o mesmo consegue desenvolver e a relação do movimento dos hélices com o
movimento desenvolvido pelo quadrotor, ou seja, o princípio de funcionamento do mesmo.
Para criar a parte do centro do quadrotor, onde fisicamente se encontram os
componentes eletrônicos, bem como a placa de sensores e de controle, foi utilizado o nodo
geométrico do tipo Cylinder, conforme pode ser observado no código abaixo:
Transform
rotation 0 0 1 0
translation 0 0.15 0
children [
Shape
appearance Appearance
material Material
diffuseColor 0 0 1
geometry Cylinder height 0.45 radius 0.4
58
]
O nodo Cylinder é utilizado também para representar os motores dos hélices,
conforme pode ser visualizado na Figura 26.
Figura 32: Representação do quadrotor em VRML.
Fonte: Elaborada pela autora.
Os demais componentes físicos, tais como os braços, os hélices, a base da garra e a
própria garra são representadas no simulador por diferentes tamanhos do nodo Box. Pode ser
observada no código a seguir a utilização do nodo Box para criar um braço do quadrotor.
Transform
rotation 1 0 0 1.5707
translation 0 0.08 1.0
children [
Shape
appearance Appearance
material Material
transparency 0
diffuseColor 1 1 1
geometry Box size 0.25 1.5 0.1
]
59
A animação do quadrotor para desenvolver uma trajetória desejada é realizada tendo
como base os conceitos de evento, sensores, rotas e interpoladores.
A animação em VRML ocorre durante certo período de tempo, a partir de um
determinado instante ou ainda a partir de uma interação do usuário com o mundo virtual. No
caso do simulador implementado neste trabalho o usuário deverá acionar um sensor para que
inicialize a animação.
Os nodos sensores habilitam eventos quando o objeto determinado for clicado. Para
definir um sensor foi criado um objeto tipo nodo Box que ao ser clicado determina o início do
movimento do quadrotor, inicialmente o quadrotor se desloca para cima ao mesmo tempo em
que os hélices desenvolvem um sentido e velocidade de rotação necessária para esse
deslocamento. O código abaixo foi utilizado para desenvolver o sensor.
Transform
rotation 0 0 1 1.5707
translation 4 .3 0
children [
Shape
appearance Appearance
material Material
diffuseColor 0 1 0
geometry Box size 0.3 0.3 0.3
DEF BASE_SENSOR TouchSensor
]
O movimento de translação, executado pelo quadrotor para decolar, foi programado
utilizando-se o nodo PositionInterpolator. Neste nodo, é necessário especificar as posições do
caminho a ser percorrido, e para cada posição, uma fração entre 0 e 1 do tempo especificado
para toda a animação, ficando para o interpolador a tarefa de calcular as posições
intermediárias. Este mesmo nodo foi utilizado também para determinar o movimento
horizontal e o pouso da aeronave.
60
O código, a seguir, exemplifica o uso deste interpolador a fim de realizar o movimento
de decolagem do quadrotor.
DEF MOV_QUADROTOR PositionInterpolator
key [ 0.0, 0.1, 0.4, 0.45, 0.55, 0.6, 0.9, 1.0 ]
keyValue [ 0.0 0.0 0.0,
0.0 0.0 0.0,
0.0 2.5 0.0,
0.0 2.5 0.0,
1.0 2.5 0.0,
1.0 2.5 0.0,
1.0 0.0 0.0,
1.0 0.0 0.0 ]
Os valores atribuídos em key se referem a fração do tempo total, sendo este igual a 10.
Durante este tempo o quadrotor recebe comando para subir, deslocar-se horizontalmente e
descer.
Para melhor representar o movimento de rotação dos hélices foi utilizado o nodo
OrientationInterpolator, que é um interpolador que utiliza uma lista de valores de rotação, ou
seja, coordenadas 3D mais um ângulo, no campo keyValue, e é usado para animar objetos,
girando-os de acordo com os valores no campo keyValue.
Além do movimento do quadrotor e da rotação dos hélices, há também o movimento da
garra que utiliza movimento de rotação para abrir e fechar, a fim de largar ou capturar algum
objeto.
Todos esses movimentos realizados pelo programa, são controlados pelo tempo
estabelecido para cada etapa, através do sensor TimeSensor, por exemplo, que gera
automaticamente um evento (fraction_changed) a cada tique do relógio, representando este,
uma fração de tempo do ciclo de animação, definido no campo cycleInterval, no
programa este campo recebeu um valor igual a 10 para todos os casos de animação.
Foi necessário conectar os nodos, usando para isto as Rotas (Route), abaixo foi retirado
do programa o uso da rota que determina o movimento do quadrotor a fim de que a peça seja
alimentada ao sistema.
ROUTE QUADROTOR_TIMER.fraction_changed TO MOV_QUADROTOR.set_fraction
ROUTE MOV_QUADROTOR.value_changed TO QUADROTOR.set_translation
61
Para ativar o sensor, quando é clicado com o mouse sobre o mesmo, é necessário que o
programa reconheça este comando através do seguinte código:
ROUTE BASE_SENSOR.touchTime TO QUADROTOR_TIMER.startTime
Conforme o código do simulador em VRML (Apêndice A), observa-se que há somente
um sensor no programa, porém o mesmo ativa vários movimentos os quais são controlados
pelo tempo.
O quadrotor modelado neste PFC tem a finalidade de se comportar de forma
semelhante ao quadrotor Hummingbird, realizado no GRASP LAB da Universidade de
Pennsylvania, utilizado para a construção de estruturas cúbicas. As Figuras 33 e 34
representam uma das animações que o simulador desenvolve que é o movimento da sua garra
para transportar as estruturas a serem montadas.
Figura 33: Quadrotor com garra aberta.
Fonte: Elaborada pela autora.
Figura 34: Quadrotor com garra fechada.
Fonte: Elaborada pela autora.
62
As Figuras 35 e 36 mostram parte da simulação do quadrotor sendo utilizado para
montar a estrutura.
Figura 35: Quadrotor carregando uma peça.
Fonte: Elaborada pela autora.
Figura 36: Quadrotor montando a estrutura.
Fonte: Elaborada pela autora.
63
6 Conclusões e Trabalhos Futuros
Neste Projeto de Fim de Curso (PFC) foi implementado um simulador de um robô
quadrotor para a construção civil, modelado em realidade virtual, utilizando a linguagem
VRML 2.0, também foi apresentada a teoria utilizada para o desenvolvimento físico do
projeto, como especificação dos hardwares necessários, e a modelagem cinemática e
dinâmicas destes quadrotores.
No capítulo 2, além do levantamento histórico deste drone, foi apresentado o seu
funcionamento, explicando a relação entre os empuxos gerados por cada um dos propulsores e
os movimentos básicos realizados pelo robô, tais como: roll, pitch yaw e translação ao longo
dos eixos x,y e z.
No capítulo 3 foram apresentados os hardwares necessários para a construção de um
protótipo. Foi descrito o funcionamento dos sensores e demais componentes, incluindo
motores, bateria, entre outros.
No capítulo 4 foi apresentada a modelagem cinemática e dinâmica do quadrotor que
servirá de base para a construção do controlador em trabalhos futuros.
E, finalmente, no capítulo 5 foi apresentada a implementação do simulador onde foram
expostos alguns conceitos da VRML necessários para compreender o código utilizado para
modelar o quadrotor.
Com a realização deste trabalho, nota-se que o quadrotor modelado em VRML,
permite, através de animações, simular todos os movimentos realizados por este veículo
aéreo. Além de auxiliar a assimilação desta tecnologia que ainda é motivo de muito estudo
como foi apresentado na revisão bibliográfica deste PFC, o quadrotor implementado neste
trabalho também se propõe a servir para testar o sistema de controle antes que estes sejam
implementados no projeto físico para não comprometer a estrutura física do veículo.
Neste PFC já foram especificados os componentes necessários para a construção do
quadrotor, portanto como sugestão para trabalhos futuros, seria interessante construir um
protótipo do quadrotor.
A partir das informações adquiridas do protótipo, incluindo o valor de medidas e
massa do mesmo, pode-se dar sequência a modelagem cinemática e dinâmica apresentada
64
neste trabalho desenvolvendo um controlador para este projeto, o qual pode ser realizado no
MATLAB e SIMULINK, tornando possível utilizar o código desenvolvido neste PFC, que se
encontra no Apêndice A deste documento, carregando-o através do Simulink 3D Animation
toolbox do Matlab, permitindo, assim, testar diferentes algoritmos de controle e visualizar o
seu efeito com uma animação tridimensional do quadrotor, executando os movimentos
definidos pela simulação, antes de implementá-lo no protótipo.
65
7 Referências Bibliográficas
AeroQuad. Disponível na web em:
<http://aeroquad.com/showwiki.php?title=Recommended+components+for+your+AeroQuad
>. Acesso em: 29.11.2013.
ArduCopter. Disponível na web em:
<https://code.google.com/p/arducopter/wiki/ArduCopter_Electronics>. Acesso em:
28.11.2013.
ARDUINO MPU-6050. Disponível na web em: <http://playground.arduino.cc/Main/MPU-
6050>. Acesso em 28.11.2013.
Aula 1. Disponível na web em:
<http://www.dca.fee.unicamp.br/sibgrapi99/vrml/Aula1/aula1.html>. Acesso em: 28.11.2013.
BEARD, R. W. Quadrotor dynamics and control. Brigham Young University, 2008.
BIASI, H. H. de. Desenvolvimento de uma metodologia de visão computacional para o
auxílio no planejamento cirúrgico no implante de próteses endoluminais. 2001. Dissertação
(Mestrado em Ciência da Computação) – Universidade Federal de Santa Catarina, 2001.
COSTA, E. B. Algoritmos de controle aplicados à estabilização do voo de um quadrotor.
2012. Dissertação (Mestrado em Engenharia Elétrica) – Universidade Federal de Juiz de Fora,
2012.
EDDY, M. Quadrotor robots work together to assemble massive sculpture from 1.500 bricks.
2011. Disponível na web em: < http://www.geekosystem.com/quadrotor-art/>. Acesso em:
25.11.2013.
HIRSCHBERG, M. J. The American helicopter - an overview helicopter developments in
America 1908-1999. jul. 2000. Disponível na web em: <http://www.iasa.com.au/folders/
Publications/pdf_library/ospreypdfs/The%20American%20Helicopter.pdf>. Acesso em:
26.11.2013
INVENSENSE. ITG 3200. Disponível em:
<http://www.invensense.com/cn/mems/gyro/itg3200.html>.Acesso em: 29.11.2013
LEISHMAN, J. G. Principles of helicopter aerodynamics. 3. ed. New York: Cambridge
University Press, 2002.
LEISHMAN, J. G. The Breguet-Richet quad-rotor helicopter of 1907. Disponível na web em:
<http://aero.umd.edu/~leishman/Aero/Breguet.pdf>. Acesso em: 26.11.2013
66
LEVY, L. J. The Kalman Filter: Navigation integration ’s workhorse. Ttratto da GPSWorld,
1997. Disponível na web em: <http://www.cs.unc.edu/~welch/kalman/Levy1997/>. Acesso
em: 26.11.2013.
LINDSEY, Q.; MELLINGER, D.; KUMAR, V. Construction of cubic structures with
quadrotor teams. ROBOTICS SCIENCE AND SYSTEMS, Los Angeles, CA, jun. 27/jul. 1,
2011.
MPU6050. Disponível na web em: <http://avrbrasil.com.br/sensores/41-mpu6050.html>.
Acesso em: 30.11.2013
MUNSON, K. Helicopters and other rotorcraft since 1907. s.l. : Blandford P, 1973.
NASCIMENTO, D. A. do. Análise de requisitos de hardware em projeto de UAV quadrotor.
2011. 58 f. Monografia (Graduação em Engenharia da Computação) - Escola Politécnica de
Pernambuco, Universidade de Pernambuco, Recife, 2011.
OLIVEIRA, E. J. L. de.; SILVA, F. R. da.; BARBOSA, L. F. W. Dispositivo inercial baseado
em giroscópio. XII Encontro Latino Americano de Iniciação Científica e VIII Encontro Latino
Americano de Pós-Graduação, Universidade do Vale do Paraíba.
POUNDS, P. Design, construction and control of a large quadrotor micro air vehicle. Ph.D.
thesis, Australian National University, 2007.
POUNDS, P.; MAHONY, R. Design principles os large quadrotores for practical
applications. Ieee international conference on robotics and automation, may 2009.
SOUSA, J. D. A. de. Development of Unmanned Aerial Four-Rotor. 2010. Dissertação
(Mestrado em Engenharia Eletrotécnica e de Computadores Major Automação) – Faculdade
de Engenharia da Universidade do Porto, 2010.
VASCONCELLOS, C. S. C. C.; CATUNDA, P. R. Y. Projeto, Construção e Controle de um
Protótipo de um Quadrirrotor. 2013. 114 f. Monografia (Graduação em Engenharia Eletrônica
e de Computação) - Escola Politécnica, Universidade Federal do Rio de Janeiro, 2013.
VIEIRA, J. C. S. Plataforma móvel aérea quadrotor. 2011. Dissertação (Mestrado em
Engenharia Eletrônica Industrial e Computadores) - Escola de Engenharia, Universidade do
Minho, Guimarães, 2011.
VRML. Disponível na web em:
<http://www.inf.pucrs.1br/manssour/VRML/ConceitosImportantes.html>. Acesso em:
28.11.2013.
ZERO HORA. Disponível em:
<http://zerohora.clicrbs.com.br/rs/economia/noticia/2013/12/amazon-planeja-usar-drones-
para-entregar-mercadorias-na-porta-de-casa-4351951.html.>. Acesso em: 05.12.2013
67
Apêndice A – Modelo VRML do Quadrotor
#VRML V2.0 utf8
Background
groundAngle [ 0.9, 1.5, 1.57 ]
groundColor [ 0 0.8 0,
0.174249 0.82 0.187362,
0.467223 0.82 0.445801,
0.621997 0.67 0.600279 ]
skyAngle [ 0.1, 1.2, 1.57 ]
skyColor [ 0.76238 0.8 0.1427,
0.277798 0.219779 0.7,
0.222549 0.390234 0.7,
0.60094 0.662637 0.69 ]
DEF QUADROTOR
Transform
rotation 0 0 1 0
translation 0 0.15 0
children [
Shape
appearance Appearance
material Material
diffuseColor 0 0 1
geometry Cylinder height 0.45 radius 0.4
]
Transform
rotation 1 0 0 1.5707
translation 0 0.08 1.0
children [
Shape
appearance Appearance
material Material
transparency 0
diffuseColor 1 1 1
68
geometry Box size 0.25 1.5 0.1
]
Transform
rotation 1 0 0 1.5707
translation 0 0.08 -1.0
children [
Shape
appearance Appearance
material Material
transparency 0
diffuseColor 1 1 1
geometry Box size 0.25 1.5 0.1
]
Transform
translation -1.0 0.08 0
children [
Shape
appearance Appearance
material Material
transparency 0
diffuseColor 1 1 1
geometry Box size 1.5 0.1 0.25
]
Transform
#rotation 1 0 0 1.5707
translation 1.0 0.08 0
children [
Shape
appearance Appearance
69
material Material
transparency 0
diffuseColor 1 1 1
geometry Box size 1.5 0.1 0.25
]
DEF motor Transform
rotation 0 0 1 0
translation 0 0.14 1.58
children [
Shape
appearance Appearance
material Material
diffuseColor 1 1 1
geometry Cylinder height 0.02 radius 0.13
]
Transform
rotation 0 0 1 0
translation 0 0.21 1.58
children [
Shape
appearance Appearance
material Material
diffuseColor 0 0 1
geometry Cylinder height 0.12 radius 0.13
]
Transform
rotation 0 0 1 0
translation 0 0.28 1.58
70
children [
Shape
appearance Appearance
material Material
diffuseColor 1 1 1
geometry Cylinder height 0.02 radius 0.13
]
Transform
rotation 0 0 1 0
translation 0 0.14 -1.58
children [
Shape
appearance Appearance
material Material
diffuseColor 1 1 1
geometry Cylinder height 0.02 radius 0.13
]
Transform
rotation 0 0 1 0
translation 0 0.21 -1.58
children [
Shape
appearance Appearance
material Material
diffuseColor 0 0 1
geometry Cylinder height 0.12 radius 0.13
]
Transform
71
rotation 0 0 1 0
translation 0 0.28 -1.58
children [
Shape
appearance Appearance
material Material
diffuseColor 1 1 1
geometry Cylinder height 0.02 radius 0.13
]
Transform
rotation 0 0 1 0
translation 1.58 0.14 0
children [
Shape
appearance Appearance
material Material
diffuseColor 1 1 1
geometry Cylinder height 0.02 radius 0.13
]
Transform
rotation 0 0 1 0
translation 1.58 0.21 0
children [
Shape
appearance Appearance
material Material
diffuseColor 0 0 1
geometry Cylinder height 0.12 radius 0.13
]
72
Transform
rotation 0 0 1 0
translation 1.58 0.28 0
children [
Shape
appearance Appearance
material Material
diffuseColor 1 1 1
geometry Cylinder height 0.02 radius 0.13
]
Transform
rotation 0 0 1 0
translation -1.58 0.14 0
children [
Shape
appearance Appearance
material Material
diffuseColor 1 1 1
geometry Cylinder height 0.02 radius 0.13
]
Transform
rotation 0 0 1 0
translation -1.58 0.21 0
children [
Shape
appearance Appearance
material Material
diffuseColor 0 0 1
geometry Cylinder height 0.12 radius 0.13
73
]
Transform
rotation 0 0 1 0
translation -1.58 0.28 0
children [
Shape
appearance Appearance
material Material
diffuseColor 1 1 1
geometry Cylinder height 0.02 radius 0.13
]
DEF HELICE3
Transform
rotation 0 0 1 0
translation 0 0.32 1.58
children [
Shape
appearance Appearance
material Material
diffuseColor 1 1 1
geometry Cylinder height 0.07 radius 0.015
]
Transform
rotation 1 0 0 1.5707
translation 0 0.34 1.58
children [
Shape
appearance Appearance
material Material
74
transparency 0
diffuseColor 1 1 1
geometry Box size 0.8 0.08 0.01
]
Transform
rotation 0 0 1 0
translation 0 0.37 1.58
children [
Shape
appearance Appearance
material Material
diffuseColor 1 1 1
geometry Cylinder height 0.035 radius 0.025
]
DEF HELICE1
Transform
rotation 0 0 1 0
translation 0 0.32 -1.58
children [
Shape
appearance Appearance
material Material
diffuseColor 1 1 1
geometry Cylinder height 0.07 radius 0.015
]
Transform
rotation 1 0 0 1.5707
translation 0 0.34 -1.58
75
children [
Shape
appearance Appearance
material Material
transparency 0
diffuseColor 1 1 1
geometry Box size 0.8 0.08 0.01
]
Transform
rotation 0 0 1 0
translation 0 0.37 -1.58
children [
Shape
appearance Appearance
material Material
diffuseColor 1 1 1
geometry Cylinder height 0.035 radius 0.025
]
DEF HELICE2
Transform
rotation 0 0 1 0
translation 1.58 0.32 0
children [
Shape
appearance Appearance
material Material
diffuseColor 1 1 1
geometry Cylinder height 0.07 radius 0.015
]
76
Transform
rotation 1 0 0 1.5707
translation 1.58 0.34 0
children [
Shape
appearance Appearance
material Material
transparency 0
diffuseColor 1 1 1
geometry Box size 0.08 0.8 0.01
]
Transform
rotation 0 0 1 0
translation 1.58 0.37 0
children [
Shape
appearance Appearance
material Material
diffuseColor 1 1 1
geometry Cylinder height 0.035 radius 0.025
]
DEF HELICE4
Transform
rotation 0 0 1 0
translation -1.58 0.32 0
children [
Shape
appearance Appearance
material Material
diffuseColor 1 1 1
77
geometry Cylinder height 0.07 radius 0.015
]
Transform
rotation 1 0 0 1.5707
translation -1.58 0.34 0
children [
Shape
appearance Appearance
material Material
transparency 0
diffuseColor 1 1 1
geometry Box size 0.08 0.8 0.01
]
Transform
rotation 0 0 1 0
translation -1.58 0.37 0
children [
Shape
appearance Appearance
material Material
diffuseColor 1 1 1
geometry Cylinder height 0.035 radius 0.025
]
# BASE PARA A GARRA
Transform
rotation 1 0 0 1.5707
translation 0 -0.14 0
children [
Shape
78
appearance Appearance
material Material
transparency 0
diffuseColor 1 1 0
geometry Box size 0.36 0.6 0.05
]
Transform
rotation 0 0 1 0
translation 0 -0.08 0
children [
Shape
appearance Appearance
material Material
diffuseColor 1 1 1
geometry Cylinder height 0.06 radius 0.025
]
Transform
rotation 1 0 0 1.5707
translation -0.1 -0.35 -0.23
children [
Shape
appearance Appearance
material Material
transparency 0
diffuseColor 0 1 0
geometry Box size 0.1 0.05 0.4
]
Transform
79
rotation 1 0 0 1.5707
translation 0.1 -0.35 0.23
children [
Shape
appearance Appearance
material Material
transparency 0
diffuseColor 1 0 0
geometry Box size 0.1 0.05 0.4
]
Transform
rotation 1 0 0 1.5707
translation -0.1 -0.35 0.23
children [
Shape
appearance Appearance
material Material
transparency 0
diffuseColor 0 0 1
geometry Box size 0.1 0.05 0.4
]
Transform
rotation 1 0 0 1.5707
translation 0.1 -0.35 -0.23
children [
Shape
appearance Appearance
material Material
transparency 0
diffuseColor 1 0 1
80
geometry Box size 0.1 0.05 0.4
]
Transform
translation 0.13 -0.57 0
children [
Shape
appearance Appearance
material Material
transparency 0
diffuseColor 0 1 0
geometry Box size 0.1 0.05 0.55
]
Transform
#rotation 1 0 0 1.5707
translation -0.13 -0.57 0
children [
Shape
appearance Appearance
material Material
transparency 0
diffuseColor 0 0 1
geometry Box size 0.1 0.05 0.55
]
Transform
rotation 0 1 0 1.5707
translation 0 -0.57 0.225
children [
Shape
appearance Appearance
81
material Material
transparency 0
diffuseColor 1 0 1
geometry Box size 0.1 0.05 0.34
]
Transform
rotation 0 1 0 1.5707
translation 0 -0.57 -0.225
children [
Shape
appearance Appearance
material Material
transparency 0
diffuseColor 0 1 1
geometry Box size 0.1 0.05 0.34
]
Transform
rotation 0 1 0 1.5707
translation 0 -0.37 -0.225
children [
Shape
appearance Appearance
material Material
transparency 0
diffuseColor 0 1 1
geometry Box size 0.05 0.1 0.3
]
Transform
82
rotation 0 1 0 1.5707
translation 0 -0.37 0.225
children [
Shape
appearance Appearance
material Material
transparency 0
diffuseColor 0 1 1
geometry Box size 0.05 0.1 0.3
]
# PARAFUSOS PARA A GARRA
Transform
rotation 1 0 0 1.5707
translation 0.06 -0.37 0.3
children [
Shape
appearance Appearance
material Material
diffuseColor 1 0 1
geometry Cylinder height 0.2 radius 0.025
]
Transform
rotation 1 0 0 1.5707
translation -0.06 -0.37 0.3
children [
Shape
appearance Appearance
material Material
diffuseColor 1 0 1
geometry Cylinder height 0.2 radius 0.025
83
]
Transform
rotation 1 0 0 1.5707
translation -0.06 -0.37 -0.3
children [
Shape
appearance Appearance
material Material
diffuseColor 1 0 1
geometry Cylinder height 0.2 radius 0.025
]
Transform
rotation 1 0 0 1.5707
translation 0.06 -0.37 -0.3
children [
Shape
appearance Appearance
material Material
diffuseColor 1 0 1
geometry Cylinder height 0.2 radius 0.025
]
# PARAFUSO NA PARTE INTERIOR
Transform
rotation 1 0 0 1.5707
translation -0.06 -0.37 0.2
children [
Shape
appearance Appearance
material Material
84
diffuseColor 1 1 1
geometry Cylinder height 0.02 radius 0.026
]
Transform
rotation 1 0 0 1.5707
translation -0.06 -0.37 -0.2
children [
Shape
appearance Appearance
material Material
diffuseColor 1 1 1
geometry Cylinder height 0.02 radius 0.026
]
Transform
rotation 1 0 0 1.5707
translation 0.06 -0.37 0.2
children [
Shape
appearance Appearance
material Material
diffuseColor 1 1 1
geometry Cylinder height 0.02 radius 0.026
]
Transform
rotation 1 0 0 1.5707
translation 0.06 -0.37 -0.2
children [
85
Shape
appearance Appearance
material Material
diffuseColor 1 1 1
geometry Cylinder height 0.02 radius 0.026
]
# GARRA
Transform
rotation 1 0 0 1.5707
translation 0.06 -0.35 -0.4
children [
Shape
appearance Appearance
material Material
diffuseColor 0 1 1
geometry Cylinder height 0.05 radius 0.06
]
Transform
rotation 1 0 0 1.5707
translation -0.06 -0.35 -0.4
children [
Shape
appearance Appearance
material Material
diffuseColor 0 1 1
geometry Cylinder height 0.05 radius 0.06
]
DEF GARRA1
86
Transform
rotation 0 0 1 -1.2
translation -0.2 -0.4 -0.4
children [
Shape
appearance Appearance
material Material
transparency 0
diffuseColor 0 1 1
geometry Box size 0.07 0.25 0.05
]
Transform
#rotation 0 0 1 -0.45
translation -0.29 -0.59 -0.4
children [
Shape
appearance Appearance
material Material
transparency 0
diffuseColor 0 1 1
geometry Box size 0.07 0.35 0.05
]
DEF GARRA2
Transform
rotation 0 0 1 1.2
translation 0.2 -0.4 -0.4
children [
Shape
appearance Appearance
material Material
transparency 0
diffuseColor 0 1 1
87
geometry Box size 0.07 0.25 0.05
]
Transform
#rotation 0 0 1 -0.65
translation 0.29 -0.59 -0.4
children [
Shape
appearance Appearance
material Material
transparency 0
diffuseColor 0 1 1
geometry Box size 0.07 0.35 0.05
]
Transform
rotation 1 0 0 1.5707
translation 0.06 -0.35 0.4
children [
Shape
appearance Appearance
material Material
diffuseColor 0 1 1
geometry Cylinder height 0.05 radius 0.06
]
Transform
rotation 1 0 0 1.5707
translation -0.06 -0.35 0.4
children [
88
Shape
appearance Appearance
material Material
diffuseColor 0 1 1
geometry Cylinder height 0.05 radius 0.06
]
DEF GARRA3
Transform
rotation 0 0 1 -1.2
translation -0.2 -0.4 0.4
children [
Shape
appearance Appearance
material Material
transparency 0
diffuseColor 0 1 1
geometry Box size 0.07 0.25 0.05
]
Transform
translation -0.29 -0.59 0.4
children [
Shape
appearance Appearance
material Material
transparency 0
diffuseColor 0 1 1
geometry Box size 0.07 0.35 0.05
]
89
Transform
rotation 0 0 1 -0.2
translation -0.27 -0.70 0
children [
Shape
appearance Appearance
material Material
transparency 0
diffuseColor 0 1 1
geometry Box size 0.09 0.02 0.9
]
DEF GARRA4
Transform
rotation 0 0 1 1.2
translation 0.2 -0.4 0.4
children [
Shape
appearance Appearance
material Material
transparency 0
diffuseColor 0 1 1
geometry Box size 0.07 0.25 0.05
]
Transform
translation 0.29 -0.59 0.4
children [
Shape
appearance Appearance
material Material
transparency 0
diffuseColor 0 1 1
90
geometry Box size 0.07 0.35 0.05
]
Transform
rotation 0 0 1 0.2
translation 0.27 -0.7 0
children [
Shape
appearance Appearance
material Material
transparency 0
diffuseColor 0 1 1
geometry Box size 0.09 0.02 0.9
]
# PARAFUSO NA PARTE EXTERIOR
Transform
rotation 1 0 0 1.5707
translation 0.06 -0.37 -0.43
children [
Shape
appearance Appearance
material Material
diffuseColor 1 1 1
geometry Cylinder height 0.02 radius 0.027
]
Transform
rotation 1 0 0 1.5707
translation -0.06 -0.37 -0.43
children [
Shape
91
appearance Appearance
material Material
diffuseColor 1 1 1
geometry Cylinder height 0.02 radius 0.027
]
Transform
rotation 1 0 0 1.5707
translation 0.06 -0.37 0.43
children [
Shape
appearance Appearance
material Material
diffuseColor 1 1 1
geometry Cylinder height 0.02 radius 0.027
]
Transform
rotation 1 0 0 1.5707
translation -0.06 -0.37 0.43
children [
Shape
appearance Appearance
material Material
diffuseColor 1 1 1
geometry Cylinder height 0.02 radius 0.027
]