implementação de um simulador de robôs quadrotores

91
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

Upload: fabiano-formagini

Post on 04-Jan-2016

18 views

Category:

Documents


2 download

DESCRIPTION

Drone

TRANSCRIPT

Page 1: Implementação de Um Simulador de Robôs Quadrotores

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

Page 2: Implementação de Um Simulador de Robôs Quadrotores

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

Page 3: Implementação de Um Simulador de Robôs Quadrotores

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)

Page 4: Implementação de Um Simulador de Robôs Quadrotores

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

Page 5: Implementação de Um Simulador de Robôs Quadrotores

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.

Page 6: Implementação de Um Simulador de Robôs Quadrotores

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.

Page 7: Implementação de Um Simulador de Robôs Quadrotores

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.

Page 8: Implementação de Um Simulador de Robôs Quadrotores

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.

Page 9: Implementação de Um Simulador de Robôs Quadrotores

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

Page 10: Implementação de Um Simulador de Robôs Quadrotores

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

Page 11: Implementação de Um Simulador de Robôs Quadrotores

Lista de Tabelas

Tabela 1 Resumo dos movimentos elementares do quadrotor .............................20

Page 12: Implementação de Um Simulador de Robôs Quadrotores

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)

Page 13: Implementação de Um Simulador de Robôs Quadrotores

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

Page 14: Implementação de Um Simulador de Robôs Quadrotores

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

Page 15: Implementação de Um Simulador de Robôs Quadrotores

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

Page 16: Implementação de Um Simulador de Robôs Quadrotores

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.

Page 17: Implementação de Um Simulador de Robôs Quadrotores

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

Page 18: Implementação de Um Simulador de Robôs Quadrotores

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).

Page 19: Implementação de Um Simulador de Robôs Quadrotores

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.

Page 20: Implementação de Um Simulador de Robôs Quadrotores

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.

Page 21: Implementação de Um Simulador de Robôs Quadrotores

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.

Page 22: Implementação de Um Simulador de Robôs Quadrotores

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).

Page 23: Implementação de Um Simulador de Robôs Quadrotores

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.

Page 24: Implementação de Um Simulador de Robôs Quadrotores

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

Page 25: Implementação de Um Simulador de Robôs Quadrotores

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.

Page 26: Implementação de Um Simulador de Robôs Quadrotores

26

Figura 8: Mini-drones planejados pela Amazon

(Fonte: ZERO HORA, 2013).

Page 27: Implementação de Um Simulador de Robôs Quadrotores

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

Page 28: Implementação de Um Simulador de Robôs Quadrotores

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

Page 29: Implementação de Um Simulador de Robôs Quadrotores

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

Page 30: Implementação de Um Simulador de Robôs Quadrotores

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)

Page 31: Implementação de Um Simulador de Robôs Quadrotores

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).

Page 32: Implementação de Um Simulador de Robôs Quadrotores

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)

Page 33: Implementação de Um Simulador de Robôs Quadrotores

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).

Page 34: Implementação de Um Simulador de Robôs Quadrotores

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).

Page 35: Implementação de Um Simulador de Robôs Quadrotores

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)

Page 36: Implementação de Um Simulador de Robôs Quadrotores

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)

Page 37: Implementação de Um Simulador de Robôs Quadrotores

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

Page 38: Implementação de Um Simulador de Robôs Quadrotores

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)

Page 39: Implementação de Um Simulador de Robôs Quadrotores

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

Page 40: Implementação de Um Simulador de Robôs Quadrotores

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

Page 41: Implementação de Um Simulador de Robôs Quadrotores

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.

Page 42: Implementação de Um Simulador de Robôs Quadrotores

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

Page 43: Implementação de Um Simulador de Robôs Quadrotores

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)

Page 44: Implementação de Um Simulador de Robôs Quadrotores

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)

Page 45: Implementação de Um Simulador de Robôs Quadrotores

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

𝑗 𝑣

𝑗 𝑣

ψ

Page 46: Implementação de Um Simulador de Robôs Quadrotores

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

Page 47: Implementação de Um Simulador de Robôs Quadrotores

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:

(

)

( )

(

)

( )

Page 48: Implementação de Um Simulador de Robôs Quadrotores

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:

Page 49: Implementação de Um Simulador de Robôs Quadrotores

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

Page 50: Implementação de Um Simulador de Robôs Quadrotores

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)

Page 51: Implementação de Um Simulador de Robôs Quadrotores

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

Page 52: Implementação de Um Simulador de Robôs Quadrotores

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)

Page 53: Implementação de Um Simulador de Robôs Quadrotores

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)

Page 54: Implementação de Um Simulador de Robôs Quadrotores

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.

Page 55: Implementação de Um Simulador de Robôs Quadrotores

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

Page 56: Implementação de Um Simulador de Robôs Quadrotores

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.

Page 57: Implementação de Um Simulador de Robôs Quadrotores

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

Page 58: Implementação de Um Simulador de Robôs Quadrotores

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

]

Page 59: Implementação de Um Simulador de Robôs Quadrotores

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.

Page 60: Implementação de Um Simulador de Robôs Quadrotores

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

Page 61: Implementação de Um Simulador de Robôs Quadrotores

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.

Page 62: Implementação de Um Simulador de Robôs Quadrotores

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.

Page 63: Implementação de Um Simulador de Robôs Quadrotores

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

Page 64: Implementação de Um Simulador de Robôs Quadrotores

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.

Page 65: Implementação de Um Simulador de Robôs Quadrotores

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

Page 66: Implementação de Um Simulador de Robôs Quadrotores

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

Page 67: Implementação de Um Simulador de Robôs Quadrotores

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

Page 68: Implementação de Um Simulador de Robôs Quadrotores

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

Page 69: Implementação de Um Simulador de Robôs Quadrotores

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

Page 70: Implementação de Um Simulador de Robôs Quadrotores

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

Page 71: Implementação de Um Simulador de Robôs Quadrotores

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

]

Page 72: Implementação de Um Simulador de Robôs Quadrotores

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

Page 73: Implementação de Um Simulador de Robôs Quadrotores

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

Page 74: Implementação de Um Simulador de Robôs Quadrotores

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

Page 75: Implementação de Um Simulador de Robôs Quadrotores

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

]

Page 76: Implementação de Um Simulador de Robôs Quadrotores

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

Page 77: Implementação de Um Simulador de Robôs Quadrotores

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

Page 78: Implementação de Um Simulador de Robôs Quadrotores

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

Page 79: Implementação de Um Simulador de Robôs Quadrotores

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

Page 80: Implementação de Um Simulador de Robôs Quadrotores

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

Page 81: Implementação de Um Simulador de Robôs Quadrotores

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

Page 82: Implementação de Um Simulador de Robôs Quadrotores

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

Page 83: Implementação de Um Simulador de Robôs Quadrotores

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

Page 84: Implementação de Um Simulador de Robôs Quadrotores

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 [

Page 85: Implementação de Um Simulador de Robôs Quadrotores

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

Page 86: Implementação de Um Simulador de Robôs Quadrotores

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

Page 87: Implementação de Um Simulador de Robôs Quadrotores

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 [

Page 88: Implementação de Um Simulador de Robôs Quadrotores

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

]

Page 89: Implementação de Um Simulador de Robôs Quadrotores

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

Page 90: Implementação de Um Simulador de Robôs Quadrotores

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

Page 91: Implementação de Um Simulador de Robôs Quadrotores

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

]