• Nenhum resultado encontrado

Piloto semi-automático para auxiliar na captura de vídeos usando veículos aéreos não tripulados

N/A
N/A
Protected

Academic year: 2021

Share "Piloto semi-automático para auxiliar na captura de vídeos usando veículos aéreos não tripulados"

Copied!
104
0
0

Texto

(1)

DEPARTAMENTO ACADˆ

EMICO DE INFORM ´

ATICA

DEPARTAMENTO ACADˆ

EMICO DE ELETR ˆ

ONICA

GUSTAVO TEIXEIRA R ¨

UDIGER

PILOTO SEMI-AUTOM ´

ATICO PARA AUXILIAR NA

CAPTURA DE V´

IDEOS USANDO VE´

ICULOS A´

EREOS

N ˜

AO TRIPULADOS

TRABALHO DE CONCLUS ˜

AO DE CURSO

CURITIBA

(2)

PILOTO SEMI-AUTOM ´

ATICO PARA AUXILIAR NA

CAPTURA DE V´

IDEOS USANDO VE´

ICULOS A´

EREOS

N ˜

AO TRIPULADOS

Trabalho de Conclus˜ao de Curso de Engenharia de Computa¸c˜ao apresentado aos Departamentos Acadˆemicos de Inform´atica e Eletrˆonica da Uni-versidade Tecnol´ogica Federal do Paran´a como re-quisito parcial para obten¸c˜ao do t´ıtulo de “Enge-nheiro em Computa¸c˜ao”.

Orientador: Prof. Dr. Marco Aur´elio Wehr-meister

CURITIBA 2017

(3)

Gostaria de agradecer ao professor Marco Aur´elio Wehrmeister pelos conselhos e paciˆencia como orientador deste projeto, aos amigos que me ajudaram emprestando equi-pamentos e importando componentes necess´arios e que me motivaram durante o processo, e finalmente `a minha m˜ae me incentivou e me acompanhou todas as vezes que fiz voos de teste, filmando as tentativas fracassadas e bem sucedidas.

(4)

TEIXEIRA R ¨UDIGER, Gustavo. PILOTO SEMI-AUTOM ´ATICO PARA AUXILIAR NA CAPTURA DE V´IDEOS USANDO VE´ICULOS A´EREOS N ˜AO TRIPULADOS. 101 f. Trabalho de Conclus˜ao de Curso – Departamentos Acadˆemicos de Eletrˆonica e Inform´atica, Universidade Tecnol´ogica Federal do Paran´a. Curitiba, 2017.

Este trabalho apresenta uma solu¸c˜ao para facilitar o uso de VANTs (Ve´ıculos A´ereos N˜ao Tripulados) por entusiastas para filmagens a´ereas. Pilotos com pouca experiˆencia tˆem dificuldade em realizar movimentos complexos. A ideia do projeto ´e permitir que mesmo pilotos pouco experientes consigam executar estes movimentos gra¸cas a um piloto semi-autom´atico implementado na placa controladora do VANT. Para chegar neste resultado, foi utilizado um piloto-autom´atico open source como base para desenvolver novos modos de voo. Estes novos modos de voo executam movimentos inspirados nas tecnologias utilizadas no cinema e suas t´ecnicas de movimenta¸c˜ao de cˆameras. Ap´os a realiza¸c˜ao dos testes em simulador, um quadric´optero foi montado com o objetivo de realizar os testes pr´aticos. Por fim, os modos de voo desenvolvidos al´em de facilitar a execu¸c˜ao dos movimentos, os fazem em menor tempo e com maior qualidade.

(5)

TEIXEIRA R ¨UDIGER, Gustavo. SEMI-AUTOMATIC PILOT FOR ASSIST RECOR-DING VIDEOS WITH UNMANNED AERIAL VEHICLES. 101 f. Undergraduation Course Final Project – Academics Departaments of Eletronics and Informatics, Federal University of Parana-Brasil(UTFPR). Curitiba, 2017.

This work presents a solution to facilitate the use of UAVs (Unmaned Aerial Vehicles) by aerial filmmaking enthusiasts. Beginners pilots with little experience have dificulties performing complex movements. This project aim to allow these pilots to perform these movements more easily with the help of an semi-autonomous pilot implemented on the UAV controller. To acomplish this, an open source autopilot software is used as base to develop new flight modes. This new flight modes execute movements that were created inspired by the tecnologies and camera moves used in cinema. After tests were made in a simulated enviroment, an quadricopter was assembled to make tests in a real enviroment. As result, the flight modes developed helped to execute the movements in less time and with better quality.

(6)

– FIGURA 2.1 Tilt . . . 16 – FIGURA 2.2 Pan . . . 16 – FIGURA 2.3 Truck . . . 16 – FIGURA 2.4 Pedestal . . . 16 – FIGURA 2.5 Dolly . . . 16 – FIGURA 2.6 zoom . . . 16 – FIGURA 2.7 Steadicam . . . 17 –

FIGURA 2.8 Guindaste (Crane) . . . 18 –

FIGURA 2.9 Cable Cam . . . 18 –

FIGURA 2.10 Eixos do VANT . . . 20 –

FIGURA 2.11 Controle Modo 2 . . . 21 –

FIGURA 2.12 Circunferˆencia . . . 22 –

FIGURA 2.13 Espiral . . . 23 –

FIGURA 2.14 Curva Est´atica . . . 23 –

FIGURA 2.15 Curva Cont´ınua . . . 24 –

FIGURA 2.16 SOLO . . . 26 –

FIGURA 2.17 Phantom 4 . . . 27 –

FIGURA 2.18 Parrot Bebop 2 . . . 27 –

FIGURA 3.1 Tabela do fornecedor do Motor Brushless . . . 32 – FIGURA 3.2 PXFmini . . . 33 – FIGURA 3.3 PWM vs PPM . . . 34 – FIGURA 3.4 PPM SUM . . . 35 –

FIGURA 3.5 Foto do quadric´optero montado . . . 37 –

FIGURA 3.6 Arquitetura Ardupilot . . . 39 –

FIGURA 4.1 B´ussola do Ardupilot . . . 46 –

FIGURA 4.2 C´alculo do ˆangulo da camera . . . 48 –

FIGURA 5.1 Modo Golden Spiral . . . 53 –

FIGURA 5.2 Modo Free Circle . . . 53 –

FIGURA 5.3 Modo Crane . . . 54 –

FIGURA 5.4 Modo Dolly . . . 55 –

FIGURA 5.5 Cama anti-vibra¸c˜ao . . . 56 –

FIGURA 5.6 Vibra¸c˜oes sem a cama anti-vibra¸c˜ao . . . 57 –

FIGURA 5.7 Vibra¸c˜oes com a cama anti-vibra¸c˜ao . . . 57 –

FIGURA 5.8 Tens˜ao da bateria de 2000mAh ao longo do voo . . . 58 –

FIGURA 5.9 Tens˜ao da bateria de 5000mAh ao longo do voo . . . 59 –

FIGURA 5.10 Joypad para PC . . . 60 –

FIGURA 5.11 Captura de tela do Mission Planner executando um dos cen´arios de teste . . . 61 –

FIGURA 5.12 Trajet´orias do Cen´ario 1 . . . 62 –

FIGURA 5.13 Ajustes pelo r´adio controle do Cen´ario 1 . . . 62 –

FIGURA 5.14 Trajet´orias do Cen´ario 2 . . . 63 –

(7)

FIGURA 5.18 Trajet´orias do Cen´ario 4 . . . 65 –

(8)

TABELA 3.1 Lista de Componentes . . . 36 –

TABELA 5.1 Valida¸c˜oes do Cen´ario 1 . . . 61 –

TABELA 5.2 Valida¸c˜oes do Cen´ario 2 . . . 63 –

TABELA 5.3 Valida¸c˜oes do Cen´ario 3 . . . 64 –

(9)

DSLR Digital Single-lens Reflex Cameras - Cˆamera Reflex Monobjetiva Digital VANT Ve´ıculo A´ereo N˜ao Tripulado

GPS Global Positional System - Sistema de Posicionamento Global POV Point of View - Ponto de Vista

PWM Pulse Width Modulation - Modula¸c˜ao por Largura de Pulso

PPM Position-Pulse Modulation - Modula¸c˜ao por Posicionamento de Pulso

IDE Integrated Development Enviroment - Ambiente de Desenvolvimento Integrado RC Radio Controle

RTOS Real Time Operational System - Sistema Operacional em Tempo Real SITL Software In The Loop - Software em Loop

ROS Robot Operational System - Sistema Operacional de Robˆos IMU Inertial Measurement Unit - Unidade de Medida Inercial

(10)

1 INTRODU ¸C ˜AO . . . 9

1.1 JUSTIFICATIVA . . . 11

1.2 OBJETIVO DO TRABALHO . . . 12

1.3 CONTRIBUI ¸C ˜OES DESTE TRABALHO . . . 12

1.4 ESTRUTURA DO DOCUMENTO . . . 12

2 REVIS ˜AO BIBLIOGR ´AFICA . . . 14

2.1 A C ˆAMERA E A CINEMATOGRAFIA . . . 14

2.1.1 Movimentos de Cˆamera . . . 15

2.1.1.1 Movimentos B´asicos . . . 15

2.1.1.2 Movimentos Avan¸cados . . . 16

2.1.2 Tecnologias para a Movimenta¸c˜ao da Cˆamera . . . 17

2.2 A MOVIMENTA ¸C ˜AO DOS VANTS CINEMATOGR ´AFICOS . . . 19

2.3 ESTADO DA ARTE . . . 24

2.3.1 Explora¸c˜ao e Monitoria . . . 24

2.3.2 Filmagem . . . 25

2.3.3 Servi¸cos Especializados de Filmagem usando VANT . . . 28

3 MATERIAIS E M´ETODOS . . . 30

3.1 METODOLOGIA . . . 30

3.2 RECURSOS DE HARDWARE E SOFTWARE . . . 31

3.2.1 Hardware . . . 31 3.2.2 Software . . . 37 3.3 ARDUPILOT . . . 38 3.3.1 Vis˜ao Geral . . . 38 3.3.2 Ve´ıculos . . . 39 3.3.3 Modos de Voo . . . 40

3.4 MONTANDO O QUADRIC ´OPTERO . . . 41

3.5 AMBIENTE DE SIMULA ¸C ˜AO . . . 42

4 NOVOS MODOS DE VOO PARA ARDUPILOT . . . 44

4.1 FREE CIRCLE . . . 44

4.2 GOLDEN SPIRAL . . . 45

4.3 DOLLY . . . 45

4.4 CRANE . . . 47

4.5 C ˆAMERA AUT ˆONOMA . . . 48

4.6 REQUISITOS . . . 49

4.6.1 Requisitos Funcionais . . . 49

4.6.2 Requisitos N˜ao-Funcionais . . . 51

5 RESULTADOS . . . 52

5.1 TESTES NO SIMULADOR . . . 52

5.1.1 Forma dos movimentos elaborados . . . 52

5.1.1.1 Golden Spiral . . . 53

5.1.1.2 Free Circle . . . 53

(11)

5.3 VALIDA ¸C ˜OES . . . 59

5.3.1 Cen´ario 1: Valida¸c˜ao do modo Free Circle . . . 61

5.3.2 Cen´ario 2: Valida¸c˜ao do modo Golden Spiral . . . 62

5.3.3 Cen´ario 3: Valida¸c˜ao do modo Crane . . . 63

5.3.4 Cen´ario 4: Valida¸c˜ao do modo Dolly . . . 65

5.3.5 Discuss˜ao . . . 66

6 CONCLUS ˜AO . . . 67

REFERˆENCIAS . . . 70

Anexo A -- C ´ODIGO DOS NOVOS MODOS DE VOO . . . 72

A.1 FREE CIRCLE . . . 72

A.2 GOLDEN SPIRAL . . . 76

A.3 CRANE . . . 80

A.4 DOLLY . . . 85

(12)

1 INTRODU ¸C ˜AO

Um dos usos mais comuns para Ve´ıculos A´ereos n˜ao Tripulados (VANTs) ´e a captura de imagens a´ereas. Devido a seu baixo custo e grande mobilidade, eles s˜ao uma alternativa para o uso de helic´opteros, que possuem um custo de uso maior. Entretanto, a cria¸c˜ao de movimentos complexos e precisos com o VANT requer muitas horas de pr´atica, dificultando que um entusiasta consiga executar movimentos complexos. Existem v´arios projetos de piloto autom´atico para VANTs visando facilitar o seu uso. Contudo, quando falamos de filmagens, a maioria destas solu¸c˜oes emprega o uso de pilotos autom´aticos junto com equipamentos para um feedback em tempo real do v´ıdeo capturado. Isto faz com que o pre¸co do produto se eleve devido ao n´umero de tecnologias que s˜ao integradas pra obter o resultado. A ideia deste projeto ´e desenvolver uma forma mais simples e barata para obter bons resultados quando o objetivo ´e o uso de VANTs para filmagens cinematogr´aficas, utilizando os sensores j´a usualmente presentes para garantir que os movimentos realizados sejam executados de forma suave e fluida, e consequentemente, retornando uma boa filmagem.

Desde seu surgimento, o cinema permitiu que hist´orias e ideias, realidade e fic¸c˜ao fossem transmitidas de forma visual. A cˆamera tem um papel fundamental nesta tarefa, pois ´e ela que fornece a perspectiva pela qual conhecemos a hist´oria. A cˆamera ´e um narrador mudo que faz com que o telespectador seja inserido no universo que est´a sendo apresentado. Diferente de ler um livro ou ouvir um relato, onde constru´ımos em nossas mentes uma interpreta¸c˜ao visual do ocorrido, a cˆamera restringe o espa¸co para a imagi-na¸c˜ao e fornece um cen´ario pronto para sua hist´oria, apresentando assim o seu ponto de vista. A forma com que a cˆamera ´e usada e movimentada permite que a informa¸c˜ao seja passada na forma de onisciˆencia, para que todos os detalhes sejam conhecidos em uma cena se utilizam v´arios ˆangulos e movimentos, ou na forma de observa¸c˜ao, onde os fatos s˜ao conhecidos a partir de um ponto de vista fazendo com que alguns acontecimentos n˜ao sejam conhecidos por ocorrerem em um ponto cego da cˆamera (MARTIN, 2003).

(13)

populariza¸c˜ao. As cˆameras passaram por v´arios aprimoramentos, come¸cando com cˆameras grandes e pesadas, tendo seu tamanho reduzido e ganhado mais mobilidade com o passar das d´ecadas (SCHRADER, 2015). Um detalhamento sobre esta hist´oria ´e apresentado no cap´ıtulo 2.

O Ve´ıculo A´ereo N˜ao Tripulado (VANT) surgiu para uso militar com o objetivo permitir a execu¸c˜ao de tarefas de alto risco em ´areas inimigas sem pˆor em risco a vida de soldados (KEANE; CARR, 2013). Um uso muito comum ´e o de fazer o reconhecimento de uma determinada ´area utilizando-se uma cˆamera acoplada ao VANT. Com a utiliza¸c˜ao de processadores com alto poder computacional, assim como cˆameras port´ateis de alta defini¸c˜ao, a aplica¸c˜ao de um VANT em filmagens se tornou mais f´acil e barata. Com isto surgiram aplica¸c˜oes de uso civis. Fot´ografos, cinegrafistas e agricultores tˆem grande interesse nas possibilidades e aplica¸c˜oes que esta tecnologia proporciona. O VANT ´e uma forma barata de se obter uma imagem panorˆamica de uma grande ´area como uma fazenda ou planta¸c˜ao, e podem ser aproveitados para realizar a vigilˆancia destes locais.

Um VANT pode possuir ou n˜ao um sistema de voo autˆonomo. Ele pode ser controlado remotamente por um piloto que ser´a respons´avel por todas as a¸c˜oes realizadas. Quando o VANT possui um sistema de voo autˆonomo, isto n˜ao significa que ele possua a capacidade de realizar voos sem o controle remoto do piloto. Em alguns casos o piloto autom´atico ´e respons´avel apenas por manter a altitude, efetuar decolagens ou pousos. Podemos compar´a-lo ao controle autom´atico de velocidade presente em alguns carros, onde o motorista ainda ´e necess´ario para controlar a dire¸c˜ao do ve´ıculo. Em outros casos o piloto autom´atico do VANT funciona como piloto e obedece aos comandos que lhe s˜ao fornecidos. Podem ser dadas ordens para decolagem, ir at´e determinada coordenada ou realizar uma a¸c˜ao programada, por exemplo. Este tipo de piloto autom´atico torna o VANT autˆonomo. Este trabalho est´a interessado em uma forma h´ıbrida onde o piloto autom´atico possa auxiliar o piloto, fornecendo parte do controle a ele e executando sozinho a parte mais dif´ıcil.

´

E necess´ario tamb´em diferenciar os tipos de ve´ıculos. Existem ve´ıculos de asa-fixa, e.g. avi˜oes de aeromodelo; monomotores; e.g. helic´opteros de aeromodelo (pouco utilizado); e multi-rotores cujo funcionamento se assemelha ao funcionamento de um heli-c´optero, mas ao inv´es de possuir uma ´unica h´elice para fazer a propuls˜ao vertical possuem trˆes ou mais, sendo mais comum encontrar multi-rotores de quatro ou seis rotores. Os multi-rotores s˜ao os preferidos no uso de filmagens pois permitem movimentos mais con-trolados e tem a capacidade de parar em um mesmo ponto no ar. O n´umero de rotores pode variar dependendo da quantidade de peso que se deseja carregar. Um multi-rotor

(14)

utilizado para fotografia utilizando uma cˆamera semi-profissional (DSLR) ir´a necessitar de 6 a 8 rotores devido ao peso da cˆamera e da lente. Um n´umero maior de rotores reflete em um consumo maior de bateria mas, em contrapartida, consegue melhorar a rela¸c˜ao entre tempo de voo e o peso do multi-rotor que, por consequˆencia, tamb´em ir´a precisar de baterias maiores para alimentar os motores el´etricos. Existem cˆameras sendo fabricadas especialmente para este uso, sendo assim mais leves e permitindo um menor consumo de bateria e, consequentemente, mais tempo de voo.

V´arios dos movimentos de cˆamera utilizados no cinema com equipamentos po-dem ser realizados utilizando apenas um multi-rotor com uma cˆamera acoplada e sendo controlado por um operador. Entretanto alguns dos movimentos mais complexos ainda s˜ao um desafio. N˜ao que um multi-rotor n˜ao seja capaz de realiz´a-lo, mas devido `a habi-lidade requerida do piloto que o controla. Conhecendo os v´arios tipos de movimento de cˆamera utilizados na cinegrafia e os controles utilizados no multi-rotor, observa-se que a maioria dos movimentos b´asicos de cˆamera exemplificados pode ser executada movendo-se apenas um eixo do ve´ıculo. Esta facilidade ´e uma das grandes vantagens da utiliza¸c˜ao de multi-rotores para este fim. Contudo movimentos mais complexos s˜ao corriqueiros em uma filmagem mais elaborada, e ´e nesta hora que a habilidade do piloto ´e requerida. Na sess˜ao 2.2 esta dificuldade ´e explicada em mais detalhes.

Sabendo da existˆencia de uma comunidade de desenvolvimento open source para VANTs, este trabalho foca em incrementar um piloto autom´atico j´a existente com a capacidade de realizar os movimentos de cˆamera complexos, ao mesmo tempo que permite ao piloto controlar as principais caracter´ısticas deste movimento.

1.1 JUSTIFICATIVA

O desenvolvimento deste projeto visa permitir que mais pessoas tenham contato com VANTs uma vez que simplifica o seu uso e reduz o investimento necess´ario para obter resultados satisfat´orios ao realizar filmagens com grande mobilidade da cˆamera. Enquanto o avan¸co tecnol´ogico dos VANTs permite que eles realizem cada vez mais movimentos autˆonomos, pouco se aproveitou desta caracter´ıstica para fornecer ao piloto uma forma mais simples de controle com movimentos assistidos. Em sua maioria, os movimentos s˜ao realizados ou pelo piloto ou pelo sistema de voo do VANT.

Este trabalho foi motivado pelo contato cont´ınuo que o aluno teve com a comu-nidade de VANTs e pelo desejo de contribuir para a expans˜ao do uso destes em tarefas do dia a dia que podem ser facilitadas pelo uso deste equipamento.

(15)

1.2 OBJETIVO DO TRABALHO

O objetivo geral deste trabalho ´e fornecer um VANT capaz de executar semi-automaticamente movimentos complexos, que s˜ao deslocamentos que requerem o uso coordenado dois ou mais eixos do VANT, permitindo ao piloto controlar determinados parˆametros como velocidade e angula¸c˜ao em tempo real, visando auxiliar a cria¸c˜ao de v´ıdeos mais pr´oximos do que se produz em cinema sem exigir os equipamentos espec´ıficos comumente usados e, ao mesmo tempo, sem exigir grandes habilidades do piloto.

Para atingir o objetivo principal, as seguintes etapas foram necess´arias:

• Selecionar um firmware open source para ser utilizado como base para o projeto.

• Estudar os recursos computacionais (Hardware e Software) existentes na comunidade open source de VANTs.

• Obter um modo de pilotagem que aproxime o controle do VANT ao de uma cˆamera cinematogr´afica.

• Implementar no firmware escolhido um assistente de voo para auxiliar a realiza¸c˜ao de movimentos espec´ıficos que visam imitar os movimentos de cˆamera usados no cinema.

• Validar o trabalho na forma de estudos de cor representando movimentos de cˆamera usados no cinema.

1.3 CONTRIBUI ¸C ˜OES DESTE TRABALHO

• Fornecer uma ferramenta f´acil de usar para realiza¸c˜ao de filmagens.

• Apresentar uma nova forma de utilizar os recursos presentes em VANTs com os modos de voos assistidos pelo piloto autom´atico.

• Inspirar futuros trabalhos utilizando VANTs e suas in´umeras aplica¸c˜oes.

1.4 ESTRUTURA DO DOCUMENTO

Este documento est´a organizado da seguinte forma. O Cap´ıtulo 2 apresenta a revis˜ao bibliogr´afica e o estudo realizado sobre o uso de cˆameras no cinema, sua movimen-ta¸c˜ao e como os VANTs s˜ao atualmente utilizados para este fim. O cap´ıtulo 3 apresenta

(16)

a metodologia utilizada, os recursos de hardware e software, descreve o processo de mon-tagem do quadric´optero utilizado, assim como o ambiente de simula¸c˜ao. No cap´ıtulo 4 s˜ao apresentados os modos de voo desenvolvidos e quais as caracter´ısticas de cada um. O cap´ıtulo 5 apresenta os resultados obtidos e as valida¸c˜oes realizadas para comprovar a efic´acia dos novos modos de voo. Por fim o cap´ıtulo 6 apresenta a conclus˜ao e os trabalhos futuros.

(17)

2 REVIS ˜AO BIBLIOGR ´AFICA

Este cap´ıtulo aborda o estudo feito sobre o uso de cˆameras no cinema, prin-cipalmente as formas de moviment´a-las. Na se¸c˜ao 2.1 s˜ao apresentadas as tecnologias envolvidas e os movimentos de cˆamera, na sess˜ao 2.2 ´e apresentado como os VANTs s˜ao utilizados no cinema atual e na sess˜ao 2.3 ´e apresentado como os VANTs vˆem sendo utilizados para ilustrar sua versatilidade.

2.1 A C ˆAMERA E A CINEMATOGRAFIA

Existem dois tipos de movimento de cˆamera: motivado e n˜ao motivado. Movi-mentos motivados de cˆamera tˆem como objetivo seguir a a¸c˜ao que est´a ocorrendo. J´a movimentos de cˆamera n˜ao motivados s˜ao usados para passar um sentido emocional ou supernatural. Seguir um personagem enquanto ele caminha ´e um movimento motivado. Dar um close na m˜ao de um personagem enquanto ele mexe em algo ´e um movimento n˜ ao-motivado, a cˆamera faz o movimento que o telespectador faria caso estivesse inserido na cena, como se fosse uma testemunha real e parte do que est´a acontecendo (SCHRADER, 2015).

Cˆameras de m˜ao (handheld camera) demoraram a ser utilizadas na hist´oria do cinema. As primeiras cˆameras eram muito pesadas e necessitavam ter um suporte para serem manuseadas. Mesmo o uso de cˆameras motorizadas, que retiravam grande parte do trabalho de movimenta¸c˜ao, s´o se tornou popular no fim dos anos 50. Para movimentar a cˆamera, ela era montada em uma plataforma com quatro rodas e por muitas vezes deslocada sob trilhos. Somente nos anos 70 come¸caram a surgir solu¸c˜oes que permitiram dar `a cˆamera uma maior mobilidade e liberdade de movimento com o surgimento de tecnologias como a Steadicam e a Luma (SCHRADER, 2015).

(18)

2.1.1 MOVIMENTOS DE C ˆAMERA

Podem-se dividir os movimentos de cˆamera em duas categorias: b´asicos e avan-¸cados. Os movimentos b´asicos em sua maioria requerem que a cˆamera se mova somente em um eixo, deixando a cˆamera est´atica nos outros eixos. Por este motivo os movimentos b´asicos s˜ao os mais simples de serem executados. J´a os movimentos avan¸cados incluem uma combina¸c˜ao de movimento em dois ou mais eixos ao mesmo tempo, tornando o seu controle mais complexo.

2.1.1.1 Movimentos B´asicos

Para melhor compreens˜ao, alguns movimentos b´asicos ser˜ao descritos abaixo. Existem in´umeras varia¸c˜oes que podem ser feitas com estes movimentos mas ´e poss´ıvel listar os mais utilizados para ilustr´a-los (VINEYARD, 2008).

• Tilt (ver figura 2.1): Consiste em mover a cˆamera para cima ou para baixo mudando o seu ˆangulo de inclina¸c˜ao.

• Pan (ver figura 2.2): Consiste em girar a cˆamera em volta do seu eixo vertical mudando a dire¸c˜ao para a qual ela aponta.

• Pedestal (ver figura 2.4): Consiste em mover a cˆamera para cima ou para baixo sem mudar seu eixo vertical, como se a cˆamera estivesse em um elevador.

• Dolly (ver figura 2.5): Consiste em mover a cˆamera em dire¸c˜ao a um objeto ou na dire¸c˜ao contr´aria. Este movimento muda a distˆancia da cˆamera para o objeto em foco sem mudar a distˆancia focal da lente. Ao contr´ario do zoom ele n˜ao produz distor¸c˜oes ou mudan¸cas na profundidade de campo.

• Truck (ver figura 2.3): Truck ´e um movimento parecido com Dolly mas ao inv´es de movimentar a cˆamera na dire¸c˜ao do objeto, ela ´e movimentada para a esquerda ou direita.

• Zoom (ver figura 2.6): Consiste em mudar a distancia focal da lente da cˆamera para aproximar ou distanciar o objeto em foco.

(19)

Figura 2.1: Tilt Autoria Pr´opria Figura 2.2: Pan Autoria Pr´opria Figura 2.3: Truck Autoria Pr´opria Figura 2.4: Pedestal Autoria Pr´opria Figura 2.5: Dolly Autoria Pr´opria Figura 2.6: zoom Autoria Pr´opria

2.1.1.2 Movimentos Avan¸cados

Movimentos avan¸cados muitas vezes s˜ao formados combinando-se dois movimen-tos b´asicos. Outros tipos de movimenta¸c˜ao requerem um equipamento espec´ıfico. Alguns exemplos s˜ao:

• Cˆamera flutuante: Tamb´em conhecido como Stabilizing Shot, este movimento de cˆamera faz uso de um mecanismo de estabiliza¸c˜ao para que a camera se mova livremente sem produzir as trepida¸c˜oes geradas pela movimenta¸c˜ao do operador (ver figura 2.7).

(20)

• Crane: Tamb´em conhecido como Boom Shot, este movimento utiliza um guindaste para suspender a cˆamera, e as vezes o operador, para filmagens que mudam de posi¸c˜oes baixas para altas ou vice-versa, ou movimentos flu´ıdos cobrindo uma ´area fixa cujo bra¸co do guindaste alcance (ver figura 2.8).

2.1.2 TECNOLOGIAS PARA A MOVIMENTA ¸C ˜AO DA C ˆAMERA

Nos in´ıcio dos anos 70, Garret Brown criou a Steadicam, um sistema onde a cˆamera ´e fixada ao corpo do operador por meio de um colete e um bra¸co. Este bra¸co tem o objetivo de isolar os movimentos feitos pelo operador enquanto ele anda, dando a impress˜ao de que a cˆamera flutua. Como no come¸co somente Brown sabia usar sua inven¸c˜ao, para se fazer um filme usando a Steadicam era necess´ario esperar que Brown estivesse dispon´ıvel para fazer as filmagens. O filme que mais marcou pelo uso da Ste-adicam e mostrou todo o seu potencial foi “O Iluminado”, filmado em 1978 por Stanley Kubrick. Esta tecnologia permitiu que tomadas longas e complexas fossem feitas sem cortes, seguindo a movimenta¸c˜ao dos personagens.(SCHRADER, 2015)

Figura 2.7: Steadicam

Fonte: en.wikipedia.org

(21)

para realizar o movimento de crane (guindaste). Esta tecnologia ´e uma das ferramentas mais utilizadas quando se deseja uma boa movimenta¸c˜ao de cˆamera (BROWN, 1972). Criada na Fran¸ca, ela consiste em um guindaste com uma cˆamera na extremidade contro-lada remotamente. Ela tem a capacidade de girar e rotacionar em trˆes eixos. A cabe¸ca da cˆamera pode apontar para qualquer dire¸c˜ao e, atrav´es do uso do guindaste, ela pode se locomover livremente. Anteriormente, ao usar somente o guindaste, um operador de cˆamera ficava na sua ponta, o que gerava alguns problemas pois o peso a ser levantado era maior e, dependendo do ˆangulo, o operador poderia sofrer algum acidente.

Figura 2.8: Guindaste (Crane)

Fonte: en.wikipedia.org

A CableCam foi uma tecnologia que se popularizou para a transmiss˜ao de jogos em est´adios na qual a cˆamera ´e pendurada em um cabo onde ela possa se locomover livremente, permitindo movimentar a cˆamera ao longo de sua extens˜ao. Ao utilizar-se dois cabos perpendiculares pode-se movimentar a cˆamera como se esta estivesse em um plano cartesiano. Esta ´e uma solu¸c˜ao ideal para quando a cˆamera deve percorrer uma ´

area fixa e ao mesmo tempo ser capaz que obter v´arios ˆangulos diferentes ou se locomover rapidamente para seguir um objeto em movimento.

Figura 2.9: Cable Cam

(22)

2.2 A MOVIMENTA ¸C ˜AO DOS VANTS CINEMATOGR ´AFICOS

Existem algumas solu¸c˜oes para o uso de VANTs em filmagens que visam enfrentar algumas dificuldades encontradas ao tentar efetuar certos tipos de movimento. Pela na-tureza dos rotores, ao efetuar deslocamento lateral, para frente ou para tr´as, o VANT ir´a sofrer uma inquina¸c˜ao. Uma cˆamera acoplada a ele ir´a sofrer a mesma inclina¸c˜ao durante o movimento. Isto n˜ao ´e necessariamente um problema, mas sim uma caracter´ıstica de VANTs multi-rotores que deve ser considerada na execu¸c˜ao de filmagens. Para contornar est´a caracter´ıstica ´e utilizado o Gimbal, um instrumento acoplado ao VANT que tem a mesma fun¸c˜ao que a Steadicam: isola a cˆamera dos movimentos de inclina¸c˜ao sofridos pelo VANT. O gimbal possui outra vantagem, que ´e reduzir as trepida¸c˜oes provocadas pelos rotores ou pelo vento. Em algumas situa¸c˜oes ele ´e controlado remotamente para permitir que a cˆamera seja movida e apontada para uma determinada dire¸c˜ao independente da dire¸c˜ao na qual o VANT se desloca.

Um movimento muito utilizado pelo guindaste ´e o de circular um objeto enquanto o mant´em em foco. Este ´e um movimento que um VANT pode executar facilmente devido `

as suas caracter´ısticas de voo por´em requer uma grande concentra¸c˜ao e habilidade do pi-loto. Quando deseja-se um bom resultado final, qualquer trepida¸c˜ao ou movimento brusco tem um impacto significativo no v´ıdeo gravado. Neste caso, o piloto dever´a rotacionar o VANT sob seu eixo vertical (o movimento de Yaw na figura 2.10) de forma constante ao mesmo tempo em que o desloca para a lateral. Uma rota¸c˜ao a mais ou a menos ir´a alterar o raio da circunferˆencia, retirando o objeto de foco. Qualquer rota¸c˜ao que n˜ao seja constante ir´a exigir uma corre¸c˜ao, acarretando em uma trepida¸c˜ao ou, na pior das hip´oteses, um movimento brusco, ambos indesejados em uma filmagem.

Um VANT possui 3 eixos de rota¸c˜ao para efetuar os seus movimentos. O Yaw ´e respons´avel por rotacionar o VANT em torno de seu eixo vertical; o Pitch inclina o VANT para frente ou para tr´as; e o Roll ´e respons´avel por mover o VANT para os lados. Esses trˆes movimentos s˜ao ilustrados na figura 2.10. O interessante ´e que estes controles n˜ao mudam caso o VANT seja de asa-fixa (i.e. avi˜ao), por´em, a diferen¸ca ser´a que junto a todos estes movimentos um VANT de asa-fixa est´a sempre se locomovendo para frente. Al´em disso, o movimento de Yaw ´e mais restrito em um VANT asa-fixa em compara¸c˜ao com o multi-rotor.

(23)

Figura 2.10: Eixos do VANT

Fonte: www.qualtre.com

Assim, para que se possa controlar um VANT multi-rotor, s˜ao necess´arios quatro movimentos diferentes e, portanto, quatro comandos podem ser enviados para o mesmo. Existem 4 diferentes modos de controle que devem ser observados. O r´adio controle possui dois joysticks com dois eixos de movimento em cada para representar pitch, roll, yaw e throttle. Cada um dos quatro modos de controle associa esses movimentos aos joysticks de forma diferente. O mais comum no uso de ve´ıculos rotores ´e o modo 2. Neste modo o joystick da esquerda controla a altura (throttle) no eixo vertical e a rota¸c˜ao (yaw ) no eixo horizontal do controle. J´a o joystick direito controla o deslocamento frente-tr´as (pitch) no eixo vertical e o deslocamento lateral (roll ) no eixo horizontal do controle. Podemos entender melhor o controle observando a figura 2.11. O modo 1 inverte o throttle e o pitch de joystick. Os modos 3 e 4 dificilmente s˜ao usados e consistem em, baseando-se no modo 1 e 2, inverter o roll e o pitch de joystick.

(24)

Figura 2.11: Controle Modo 2

Fonte: https://oscarliang.com/

Os movimentos b´asicos de cˆamera apresentados anteriormente podem ser exe-cutados rotacionando somente um eixo. O movimento de Pan pode ser feito utilizando somente o roll. O movimento de Pedestal utiliza somente o throttle. O movimento de Dolly pode ser feito utilizando somente o pitch. Ainda existem outras possibilidades que podem ser executadas apenas utilizando um ˆangulo de cˆamera diferente e movendo somente um eixo do VANT.

Movimentos avan¸cados exigem que se trabalhe com dois ou mais eixos ao mesmo tempo. Isto torna o controle do VANT mais dif´ıcil uma vez que o piloto deve balancear a intensidade de cada eixo utilizado simultaneamente para que o movimento seja executado corretamente. Para executar uma circunferˆencia, como mostrado na figura 2.12 onde o VANT aponta para o centro da circunferˆencia enquanto faz um deslocamento lateral, o eixo de yaw deve ser utilizado ao mesmo tempo que o pitch ou o roll.

(25)

Figura 2.12: Circunferˆencia

Autoria Pr´opria

Variando a intensidade do yaw pode-se obter um movimento em espiral como mostrado na figura 2.13. Entretanto este movimento se torna quase imposs´ıvel de ser executado em torno de um ponto central utilizando-se apenas o ˆangulo de vis˜ao do piloto e ir´a requirir dele a exata precis˜ao no controle do yaw ao longo do movimento. ´E importante destacar que em ambos movimentos a habilidade do piloto ir´a determinar a qualidade do movimento executado e, consequentemente, do v´ıdeo capturado. Estes movimentos s˜ao feitos na maioria da vezes utilizando-se uma steadicam ou guindaste para garantir movimentos fluidos e precisos.

(26)

Figura 2.13: Espiral

Autoria Pr´opria

Outro movimento utilizado ´e o Tracking, onde a cˆamera segue um objeto ou uma pessoa enquanto ela se desloca. No filme O Iluminado temos um ´otimo exemplo na cena em que a cˆamera segue uma crian¸ca enquanto ela percorre os corredores de um hotel com seu triciclo. Nesta cena, a cˆamera efetua curvas idˆenticas `as que o menino faz em seu triciclo toda vez que vira em um corredor. Um VANT multi-rotor pode reproduzir este movimento de duas maneiras. Ele pode ser feito como mostrado na figura 2.14, onde o VANT fica est´atico enquanto gira at´e possuir o ˆangulo correto para continuar se locomovendo, ou como mostrado na figura 2.15 onde ´e necess´ario o controle de dois eixos para que o movimento seja cont´ınuo assim como feito na cena do filme. Al´em disso o piloto deve compensar o movimento inercial do VANT com um movimento oposto como uma forma de se frenar o ve´ıculo antes que ele mude de dire¸c˜ao.

Figura 2.14: Curva Est´atica

(27)

Figura 2.15: Curva Cont´ınua

Autoria Pr´opria

2.3 ESTADO DA ARTE

Exitem v´arios projetos utilizando diversas controladoras de VANT para efetuar tarefas autˆonomas e que podem ser encontrados facilmente na Internet. Estes projetos podem variar de pequena a grande complexidade. Entretanto quando tratamos de piloto autom´atico o assunto tende a ser mais complexo.

2.3.1 EXPLORA ¸C ˜AO E MONITORIA

O artigo de Semsch et al. (2009) apresenta um algoritmo desenvolvido para so-lucionar o problema de oclus˜ao de objetos no uso de VANTs autˆonomos em ambientes urbanos repleto de obst´aculos. A solu¸c˜ao inclui o c´alculo do menor caminho a ser per-corrido ao mesmo tempo que considera evitar pontos cegos durante o plano de voo que ´e gerado pelo algoritmo. Al´em disto ´e considerada a manobrabilidade do VANT durante o

(28)

voo e como isto pode afetar a qualidade do v´ıdeo capturado, fazendo com que o VANT execute sempre movimentos cont´ınuos e suaves.

Outro artigo de Xu et al. (2011) demonstra um algoritmo desenvolvido para cobrir um determinado terreno da forma mais eficiente poss´ıvel utilizando-se um VANT. O objetivo deste algoritmo ´e percorrer toda a ´area delimitada previamente evitando obs-t´aculos, n˜ao sobrepor caminhos e terminar no mesmo ponto de partida. Projetado para cobrir longas distˆancias, este estudo foi feito com aeronaves com asas fixas.

O trabalho de Andersen (2014) teve como objetivo projetar um multic´optero de baixo custo para ser usado em miss˜oes de busca e resgate. Para tal um hexac´optero portando uma cˆamera e executando o c´odigo de voo autˆonomo, foi usado para executar simula¸c˜oes usando MATLAB. O destaque deste trabalho est´a na vis˜ao computacional empregada para permitir que o VANT reconhe¸ca pessoas na miss˜oes em que ´e enviado e permita o r´apido envio de aux´ılio.

O artigo de Scherer et al. (2012) utiliza uma combina¸c˜ao dos sensores do VANT para permitir que com o aux´ılio do GPS e uma camera ele seja capaz de percorrer o leito de um rio e efetuar o seu mapeamento. Neste caso a computa¸c˜ao visual tamb´em ´e empregada para que o VANT diferencie o rio da vegeta¸c˜ao nas suas margens. O resultado final inclui a varia¸c˜ao da largura do rio ao longo do percurso.

O Arducopter Parenting no artigo de Wallich (2012) foi desenvolvido por um pai que estava cansado de acompanhar seu filho at´e o ponto do ˆonibus escolar e resolveu desenvolver um VANT com live-stream de v´ıdeo para substitu´ı-lo. Utilizando uma con-troladora baseada em um Arduino ele construiu um quadric´optero com feedback de v´ıdeo em tempo real para monitorar seu filho at´e chegar ao ponto do ˆonibus em seguran¸ca.

Todos estes trabalhos utilizam VANTS com pilotos autom´aticos para realizarem suas a¸c˜oes. Eles foram projetados visando utilizar a cˆamera do VANT para capturar imagens que ser˜ao processadas para se transformarem em informa¸c˜ao. Apesar de existir uma preocupa¸c˜ao com o movimento realizado, o objetivo n˜ao ´e que o resultado obtido seja uma bela cinematografia.

2.3.2 FILMAGEM

A 3DR ´e atualmente uma das maiores empresas envolvidas no uso de VANTs. Eles oferecem solu¸c˜oes para v´arias finalidades incluindo o uso de VANTs para filmagens. Seu ´ultimo lan¸camento ´e um VANT chamado SOLO, capaz de controlar

(29)

automatica-mente tanto o voo quanto o posicionamento da cˆamera. Quem opera o VANT pode optar por deixar que o VANT fa¸ca tudo sozinho, programando suas a¸c˜oes previamente em um software espec´ıfico, automatizar o controle da cˆamera enquanto controla o VANT ou au-tomatizar o VANT e controlar a cˆamera em tempo de voo, ou ainda utilizar o VANT manualmente controlando o seu movimento e a cˆamera. O SOLO vem equipado com um Gimbal de 3-eixos, um processador de 1GHz, uma cˆamera GoPro e uma controladora de voo PIXHAWK 2. O SOLO tamb´em possui GPS e conex˜ao Wi-Fi e um controle remoto acoplado a uma tela respons´avel pelo feedback de v´ıdeo (figura 2.16) (3DR, 2016).

Figura 2.16: SOLO

Fonte: http://3dr.com/solo-drone

Outra empresa que se destaca nesta ´area ´e a DJI. Sua s´erie de VANTs Phantom ´e uma das mais conhecidas no mercado, e hoje ela se encontra na sua quarta vers˜ao. O Phantom 4 ´e capaz de identificar e desviar de objetos a at´e 15 metros de distˆancia automaticamente. Ele utiliza computa¸c˜ao visual para seguir objetos e mantˆe-los em foco durante o voo. Assim como o SOLO ele permite programar um plano de voo previamente para ser executado autonomamente e ser controlado por um aplicativo em seu smartphone, e vem equipado com GPS, gimbal, uma cˆamera e controladora de voo pr´opria, Wi-Fi e um r´adio controle com feedback de v´ıdeo (figura 2.17) (DJI, 2015).

(30)

Figura 2.17: Phantom 4

Fonte: www.dji.com/product/phantom-4

A terceira empresa que vale ser mencionada ´e a Parrot. O AR.Drone foi um dos primeiros a oferecer a op¸c˜ao de controle via aplicativo do smartphone e aproximar o interesse de usu´arios mais leigos ao uso dos camera-drones. Hoje a empresa possui uma linha de v´arios modelos com objetivos espec´ıficos. Com o objetivo de fazer filmagens elaboradas, quem se destaca entre o cat´alogo de produtos da empresa ´e o Bebop 2. O Bebop 2, assim como toda a linha da Parrot, ´e focado no uso de um aplicativo no celular ou tablet que fornece todas as op¸c˜oes de controle, automa¸c˜ao e feedback de v´ıdeo em tempo real. Por este motivo n˜ao existe um suporte a r´adio controles e toda a comunica¸c˜ao do VANT ´e feita por Wi-Fi (figura 2.18) (PARROT, 2015).

Figura 2.18: Parrot Bebop 2

Fonte: ww.parrot.com/usa/products/bebop2

(31)

equipa-mento para fornecer o feedback do v´ıdeo em tempo real. Apesar de possu´ırem um piloto autom´atico e alguns recursos para facilitar filmagens, seu controle depende desta intera¸c˜ao com o feedback em tempo real e do software embarcado no controle, tablet ou smartphone. Caso o piloto deseje realizar algum dos movimentos mencionados na sess˜ao 2.2 ele n˜ao ter´a aux´ılio do piloto autom´atico.

2.3.3 SERVI ¸COS ESPECIALIZADOS DE FILMAGEM USANDO VANT

Algumas empresas est˜ao focando na presta¸c˜ao de servi¸cos de filmagens utilizando VANTs. Uma das pioneiras foi a Dron Crew (CREW, 2015). Apesar de n˜ao estar mais operando, a empresa americana do estado da Calif´ornia j´a foi contratada para realizar v´arias filmagens em filmes de Hollywood e comerciais. Ela oferecia todo o suporte neces-s´ario para realizar filmagens profissionais de alta qualidade, incluindo todo o hardware necess´ario assim como um piloto treinado para efetuar o controle do VANT e da cˆamera. Entre seus clientes estavam empresas como BBC, National Geographic, 20th Century Fox, Toyota, Audi, RedBull, entre outras.

Outras empresas na mesma ´area podem ser encontradas em diversos pa´ıses. No Brasil podemos citar a MaxDrone, DroneImages, Curitiba Drones, entre muitas outras. O valor deste servi¸co pode variar de R$800,00 por uma filmagem simples de pouco minutos e sem edi¸c˜ao a valores na casa dos 5 d´ıgitos contando com p´os-produ¸c˜ao e v´arias horas de filmagem. O alto custo dos VANTs usados ´e um dos motivos do alto valor na presta¸c˜ao do servi¸co.

Em 2012 o diretor Sam Mendes contratou uma empresa para filmar a cena que abre o filme “007 - Opera¸c˜ao Skyfall ” em uma persegui¸c˜ao de motocicletas entre telhados do Grand Bazzar em Istanbul. Martin Scorsese tamb´em contratou uma empresa chamada Freefly Cinema para as tomadas a´ereas da cena da festa na piscina de “O Lobo de Wall Street” em 2013. O filme “Mercen´arios 3”, de 2014 possui 30 cenas gravadas com VANTs filmadas pela empresa ZM Interactive. O diretor Neill Blomkamp fez uso de VANTs em seu filme “Chappie” de 2015. O filme que conta a hist´oria de um robˆo que adquire auto-consciˆencia utilizou VANTs para simular uma cena em primeira pessoa ou POV(Point of View). Um artigo no blog do site Skytango (2015) conta como estes e mais 3 filmes utilizaram VANTs em sua filmagens.

Este forma de uso dos VANTs foi uma das inspira¸c˜oes para o desenvolvimento deste trabalho. Enquanto estas empresas focam no uso de VANTs para filmagens profis-sionais este projeto foca no uso semi-profissional e amador. Para tal se torna necess´ario

(32)

simplificar o seu uso e reduzir o seu custo. ´E nestes dois itens que o piloto semi-autom´atico contribui, fazendo com que seja exigido menos do piloto e reduzindo o n´umero de equipa-mentos extras necess´arios para realizar movimentos cinematogr´aficos.

(33)

3 MATERIAIS E M´ETODOS

3.1 METODOLOGIA

A primeira e principal etapa para o desenvolvimento do projeto foi o estudo rea-lizado para aprofundar o conhecimento sobre o firmware utirea-lizado. Este estudo permitiu conhecer melhor a capacidade do firmware e as ferramentas e funcionalidades j´a existentes. As etapas realizadas foram as seguintes:

• Estudo do firmware open source;

• Estudo das ferramentas dispon´ıveis;

• Desenvolvimento do assistente de voo;

• Teste do assistente de voo.

O aprofundamento sobre o firmware e outras ferramentas relacionadas ocorreu ao longo de todo o desenvolvimento do projeto. Um processo iterativo entre estudo, desenvolvimento e teste foi realizado para permitir um avan¸co gradual nestas etapas. Cada vez que este processo era repetido, uma nova funcionalidade estudada era aplicada de forma pr´atica e testada. Assim conhecendo o funcionamento e aplicabilidade do c´odigo do Ardupilot e principalmente de suas bibliotecas. Como o c´odigo vem sendo atualizado por uma comunidade muito grande, a documenta¸c˜ao para o mesmo ´e gerada pela pr´opria comunidade e `as vezes possui uma explica¸c˜ao superficial, sendo necess´ario um tempo maior para conhecer o c´odigo.

Os testes iniciais foram feitos em simulador, e n˜ao ´e necess´ario o uso de nenhum hardware para testes envolvendo somente o c´odigo Ardupilot. Os testes utilizando o quadric´optero foram feitos somente ap´os o c´odigo ter sido testado repetidas vezes no simulador para identificar e eliminar poss´ıveis erros que comprometessem a seguran¸ca do equipamento.

(34)

3.2 RECURSOS DE HARDWARE E SOFTWARE

A seguir ser˜ao apresentados os recursos de hardware e software utilizados para o desenvolvimento do projeto.

3.2.1 HARDWARE

Nesta sess˜ao s˜ao apresentados os componentes utilizados para montar o quadri-c´optero utilizado para efetuar os testes pr´aticos. Tamb´em ´e explicado o motivo da escolha de cada componente. Na tabela 3.1 encontra-se a lista dos componentes.

A escolha do frame (corpo de sustenta¸c˜ao do VANT) levou dois fatores em con-sidera¸c˜ao, seu peso e a finalidade para qual o quadric´optero seria usado. Optou-se por um frame de fibra de carbono pelo seu baixo peso e alta resistˆencia, e porque o modelo escolhido j´a possui um suporte para gimbal e trens de pouso altos para evitar que o gimbal encoste no ch˜ao. Os motores usados possuem uma rota¸c˜ao mais baixa por´em oferecem um torque maior, o que permite levantar mais peso. Os f´oruns especializados recomendam que os motores para quadric´opteros com gimbal possuam um KV menor que 1000. O KV indica o n´umero de rota¸c˜oes por Volt que o motor produz. O ESC (Eletronic Speed Controller) deve ser escolhido de acordo com o motor utilizado pois deve suportar a cor-rente m´axima exigida pelo motor. O ESC utilizado possui um circuito opto-acoplado para receber o sinal PWM gerado pela controladora. Nem todos os ESCs s˜ao opto-acoplados. Este recurso traz uma seguran¸ca a mais caso ocorra um defeito em um ESC uma vez que isola os circuitos de alimenta¸c˜ao dos motores da controladora, pois enquanto os motores trabalham com tens˜oes de at´e 16V a controladora trabalha com 5V. As h´elices devem respeitar o tamanho m´aximo especificado pelo fabricante dos motores. Cada fabricante divulga o empuxo que cada tamanho de h´elice fornece dado o tipo de bateria utilizado. A tabela da figura 3.1 foi utilizada como referˆencia para calcular o empuxo gerado. Fo-ram usadas h´elices de fibra de carbono pois, segundo coment´arios de pilotos nos f´oruns especializados, por serem mais r´ıgidas, transmitem menos vibra¸c˜ao para a cˆamera em compara¸c˜ao `as h´elices de pl´astico.

(35)

Figura 3.1: Tabela do fornecedor do Motor Brushless

Fonte: http://rctimer.com/product-1188.html

Uma vez escolhido o Ardupilot para ser o piloto autom´atico do quadric´optero, foram procuradas as controladoras compat´ıveis com este c´odigo. Levou-se em considera-¸c˜ao o pre¸co e a facilidade de adquirir o hardware necess´ario que deveria ser importado, uma vez que n˜ao existem controladoras produzidas em territ´orio nacional. O PXFmini ´e um shield open source para Raspberry Pi contendo todos os sensores essenciais para o desenvolvimento de um drone (figura 3.2). O shield ´e uma placa de hardware feita para adicionar funcionalidades ao ser acoplada no hardware existente. Neste shield est˜ao pre-sentes um acelerˆometro e um girosc´opio de 3 eixos, uma b´ussola digital, um barˆometro, um sensor de temperatura e um conversor ADC para medi¸c˜ao do n´ıvel da bateria. Ele ainda fornece duas portas I2C e uma UART onde pode ser conectado um GPS ou outro dispositivo de interesse. Desenvolvido pela Erle Robotics, possui suporte ao Ardupilot e ao PX4 (ROBOTICS, 2017). A Erle Robotics tamb´em fornece uma imagem do Sis-tema Operacional Debian adaptado para usar o Raspberry Pi com o shield PXFMini. A instala¸c˜ao ´e facilitada para que a maior preocupa¸c˜ao seja o desenvolvimento do c´odigo espec´ıfico do controle do ve´ıculo.

(36)

Figura 3.2: PXFmini

Fonte: http://erlerobotics.com/blog/product/pxfmini/

Junto com a importa¸c˜ao do PXFmini, importou-se o GPS e o Power Module dispon´ıveis no site da Erle Robotics. O GPS possui uma precis˜ao de at´e 2M e o Power Module permite informar ao Ardupilot a tens˜ao da bateria durante o voo.

Foi necess´ario que o R´adio Controle utilizado possu´ısse ao menos 6 canais. Os quatro primeiros canais s˜ao utilizados para throttle, pitch, roll e yaw, sobrando dois canais que foram utilizados para alternar entre os modos de voo e ativar ou desativar a cˆamera autˆonoma. Atendendo estas caracter´ısticas o modelo do r´adio se torna mais uma escolha pessoal de cada piloto.

A maioria dos receivers de r´adio controle gera um sinal de Pulse Width Modu-lation (PWM) para cada canal. Isso significa que ´e necess´ario um cabo por canal entre receiver e a placa controladora. As controladoras do projeto Ardupilot utilizam um ´unico sinal para comunicar os comandos recebidos do R´adio Controle (RC). O PXFmini aceita somente o signal PPM-SUM que consiste em um sinal contendo o Position-Pulse Modu-lation (PPM) de todos os canais recebidos. O PPM ´e uma t´ecnica de modula¸c˜ao que utiliza o tempo de offset at´e o acontecimento do pulso para determinar o valor que ele representa. Assim como no PWM, o per´ıodo do sinal ´e de 20 milissegundos. O valor do sinal ´e atribu´ıdo dependendo de quantos milissegundos se passam at´e que o pulso seja lido. Na figura figura 3.3 podemos observar como o mesmo valor de um sinal PWM ´e representado em PPM. Enquanto o PWM leva em conta o tempo que o sinal encontra-se em n´ıvel alto, o PPM considera um ´unico pulso de 1ms separando o sinal em n´ıvel alto

(37)

do n´ıvel baixo. (FUJIWARA, 2013)

Figura 3.3: PWM vs PPM

Fonte: Autoria Pr´opria

O PPM-SUM envia uma sequˆencia de pulsos onde o intervalo de tempo entre eles ´e o valor do PWM em n´ıvel alto do canal como mostra a figura 3.4. Assim o PPM-SUM desconsidera o tempo em que o sinal permaneceu em n´ıvel baixo. Como os sinais PWM utilizados variam de 1 a 2 ms em n´ıvel alto, o PPM-SUM consegue enviar o sinal de at´e 8 canais PWM em um intervalo de 20 ms sem perdas, considerando o maior tempo em todos os canais.

O encoder utilizado pode ser encontrado no Ardupilot.org que possui um projeto chamado ArduPPM baseado no processador ATMEGA328 para este fim1. Utilizou-se um Arduino Uno e o c´odigo do ArduPPM disponibilzado no github2 para converter os 6 canais do r´adio controle em um sinal PPM-SUM.

1Encoder PPM: http://ardupilot.org/copter/docs/common-ppm-encoder.html

(38)

Figura 3.4: PPM SUM

Fonte: Autoria Pr´opria

O gimbal necessita de somente dois eixos de movimenta¸c˜ao, um para manter a cˆamera est´avel no eixo horizontal enquanto o quadric´optero se desloca, e outro para controlar o ˆangulo de inclina¸c˜ao da cˆamera para manter o objeto no centro da imagem capturada conforme a altura de voo varia. Foi escolhido um gimbal que fosse leve e cujo tamanho fosse compat´ıvel com a cˆamera utilizada. Existem in´umeras op¸c˜oes de cˆamera destinadas ao uso em VANTs. Esta se torna outra escolha que varia conforme a preferˆencia pessoal. A ´unica restri¸c˜ao ´e o peso, pois uma cˆamera muito pesada ir´a exigir um motor maior ou at´e mesmo mais motores.

A cama anti-vibra¸c˜ao ´e essencial para isolar a vibra¸c˜ao gerada pela rota¸c˜ao dos motores dos sensores acelerˆometros. Inicialmente ela n˜ao havia sido utilizada e nos resul-tados pudemos observar a diferen¸ca obtida com sua adi¸c˜ao.

Foram utilizadas dois tipos de bateria, uma de 2200mAh e outra de 5200mAh. Recomenda-se utilizar a ´ultima pois sua capacidade influencia no tempo de voo final e o peso adicional da cˆamera faz com que mais corrente seja utilizada pelos motores, reduzindo o tempo de voo total poss´ıvel.

(39)

Componente Quantidade Frame S500 em vibra de carbono com suporte para gimbal 1

Motor Brushless RCTimer 2830 - 850KV 4

ESC RCTimer de 30A 4

H´elice RCTimer 10x4,6 de fibra de carbono 4

Raspberry Pi B+ 1

PXFmini 1

GPS uBlox Neo 8M 1

Power Module 1

R´adio Controle Spektrum DX6i de 6 canais 1

Encoder PPM 1

Gimbal BGC 2-Eixos 1

Cˆamera Xiaomi Yi 1

Cama Anti-Vibra¸c˜ao 1

Base em Acr´ılico feita sob-medida 1

Bateria LiPo 5000mAh 1

Bateria LiPo 2000mAh 1

Tabela 3.1: Lista de Componentes

A figura 3.5 mostra o resultado ap´os todos os componentes serem instalados no frame.

(40)

Figura 3.5: Foto do quadric´optero montado

Fonte: Autoria Pr´opria

3.2.2 SOFTWARE

Procurou-se utilizar apenas softwares de c´odigo livre ou de uso gratuito visando tornar o projeto o mais acess´ıvel poss´ıvel.

• Ardupilot: Piloto autom´atico pra VANTs que inclui uma s´erie de ferramentas para desenvolvimento e teste do seu c´odigo inclusive um simulador chamado de Software In The Loop (SITL).

• Mision Planner, APM Planner2: Ground Control Station (GCS) que funciona como uma central de controle em terra para facilitar a configura¸c˜ao do VANT, foram utilizado para calibrar e obter os logs de voo do Ardupilot;

• Putty: Software utilizado para acesso remoto ao Raspberry Pi usando SSH, ´e atrav´es dele que o arquivo compilado do Ardupilot ´e enviado ao Raspberry Pi e a configu-ra¸c˜ao do sistema operacional ´e feita;

(41)

• Octave: Software para solu¸c˜ao de problemas num´ericos utilizado pra efetuar as valida¸c˜oes e an´alises do log de voo;

• GIMP, Inkscape: Softwares de edi¸c˜ao de imagem utilizados para fazer as imagens ilustrativas;

• Visual Studio Comunity: Ambiente de Desenvolvimento Integrado (IDE) utilizada para estudo do c´odigo do Mission Planner;

• Eclipse Neon: IDE utilizada para estudo e desenvolvimento do c´odigo Ardupilot;

• Git: Software utilizado pra o controle de vers˜ao do c´odigo;

• Linux Ubuntu: Utilizado para compilar o c´odigo do Ardupilot;

3.3 ARDUPILOT

O projeto Ardupilot come¸cou em 2007 na comunidade DIYDrones.com que ´e uma comunidade online dedicada `a cultura do “fa¸ca vocˆe mesmo” focada na constru¸c˜ao de drones. Com o tempo, v´arios projetos foram integrados at´e que em 2010 a primeira placa dedicada ao Ardupilot foi lan¸cada pela 3D Robotics. Em 2013, o c´odigo que se encontrava no Google Code passa para o Github. Em 2014 o primeiro voo feito em uma controladora com um SO em Linux ´e feito, e no final do mesmo ano ´e criada a funda¸c˜ao DroneCode com o objetivo de incentivar o compartilhamento de c´odigo aberto entre desenvolvedores de drones. Em 2015 a Erle Robotics lan¸ca kits de desenvolvimento para Linux. Em mar¸co de 2016 ´e criada a organiza¸c˜ao ardupilot.org e o novo website. Desde mar¸co de 2016 o Ardupilot recebe mais de uma atualiza¸c˜ao por semana adicionando novas funcionalidades e expandindo a sua compatibilidade com sensores e atuadores3.

3.3.1 VIS ˜AO GERAL

O Ardupilot pode ser acessado pelo seu reposit´orio no github4. Nele s˜ao disponi-bilizadas todas as atualiza¸c˜oes, tanto no seu funcionamento b´asico como nas bibliotecas e novos drivers para novas controladoras. Por ser um projeto utilizando v´arias plataformas o seu c´odigo possui n´ıveis de abstra¸c˜ao para que altera¸c˜oes em seu n´ucleo sejam imedi-atamente compat´ıveis com os v´arios tipos de hardware suportados. A figura 3.6 mostra como sua arquitetura est´a organizada. Ele ´e feito sobre a arquitetura baseada em Linux e

3Fonte: http://ardupilot.org/ardupilot/docs/common-history-of-ardupilot.html 4Reposit´orio Ardupilot: https://github.com/ArduPilot/ardupilot

(42)

pode ser executado em teoricamente qualquer placa controladora que rode alguma vers˜ao ou varia¸c˜ao deste sistema operacional, dado que os drivers necess´arios estejam dispon´ıveis para ela e possam ser incorporados na biblioteca do Ardupilot.

Figura 3.6: Arquitetura Ardupilot

Fonte: http://ardupilot.org

3.3.2 VE´ICULOS

Cada tipo de ve´ıculo a ser controlado pelo Ardupilot requer um c´odigo espec´ıfico. O comportamento de um ve´ıculo terrestre n˜ao ´e o mesmo que um ve´ıculo a´ereo ou aqu´atico. Por este motivo o Ardupilot ´e subdividido em quatro categorias principais de ve´ıculos. S˜ao elas Copter (quadrotores), Plane (aeromodelos de asa fixa), Rover (ve´ıculos terrestres) e Sub (ve´ıculos subaqu´aticos). Apesar da subdivis˜ao as quatro categorias usam a mesma biblioteca para efetuar a leitura de sensores e o controle de atuadores. Assim, ao compilar o c´odigo para um ve´ıculo em espec´ıfico, ´e necess´ario compilar o projeto Ardupilot como um todo. O ve´ıculo para o qual se deseja o c´odigo ´e especificado na hora da compila¸c˜ao. Quando se refere ao ArduCopter, est´a se referindo especificamente ao c´odigo respons´avel pelo comportamento de ve´ıculos quadrotores. Cada tipo possui uma pasta com seu nome

(43)

com seus c´odigos individuais. O tipo de ve´ıculo e a controladora s˜ao especificados na linha de comando na hora de compilar o c´odigo.

3.3.3 MODOS DE VOO

O comportamento do ve´ıculo durante o voo depende do modo de voo ativo. O ArduCopter possui alguns modos b´asicos de voo e outros com comportamentos bem espe-c´ıficos. Esses modos s˜ao divididos em duas categorias: a primeira fornece modos de voos que n˜ao requerem o GPS e a segunda os modos de voo que n˜ao funcionam sem ele. A documenta¸c˜ao do ardupilot recomenda 5 modos de voo que fornecem as funcionalidades b´asicas:

• Stabilize: O piloto tem controle total do ve´ıculo enquanto o ArduCopter fica respon-s´avel somente por estabiliz´a-lo e garantir que seu ˆangulo de inclina¸c˜ao n˜ao ultrapasse um valor m´aximo definido nos parˆametros de configura¸c˜ao;

• Alt Hold : Mesmo que o modo Stabilize com o adicional que o ArduCopter mant´em o ve´ıculo na mesma altura, evitando que o mesmo perca altitude durante o voo;

• Loiter : Neste modo o ArduCopter tenta manter a posi¸c˜ao atual do ve´ıculo assim como a dire¸c˜ao para a qual ele se encontra. Deslocamentos devido ao vento ou qualquer outro fator que n˜ao tenha sido causado por um comando do piloto s˜ao compensados para que o ve´ıculo mantenha sua posi¸c˜ao;

• Return To Launch (RTL): Este modo ´e ativado automaticamente quando o ve´ıculo perde comunica¸c˜ao com o r´adio controle. Ele tamb´em pode ser ativado manualmente pelo piloto e far´a com que o piloto autom´atico assuma controle e retorne o ve´ıculo para a posi¸c˜ao na qual os motores foram armados antes de decolar.

• Auto: Um dos modos mais atrativos do ArduPilot pois permite que o ve´ıculo execute autonomamente um plano de voo previamente estipulado. Pode-se realizar um voo completo neste modo sem que nenhuma a¸c˜ao do piloto seja necess´aria.

Esses s˜ao os modos mais usados e s˜ao o suficiente para realizar a maioria das a¸c˜oes poss´ıveis. Outro fator importante ´e que destes 5 modos, apenas Stabilize e Alt Hold n˜ao requerem GPS. Assim n˜ao existem muitos modos de voo que podem ser utilizados em ambientes fechados.

Um modo de voo ´e composto por duas fun¸c˜oes b´asicas em c´odigo C++ respons´ a-veis por iniciar o modo de voo e manter o modo de voo ativo. O projeto adota por padr˜ao

(44)

que o nome destas fun¸c˜oes deve seguir a regra “X init()” e “X run()” sendo X o nome do modo ao qual pertencem. A fun¸c˜ao init() ´e respons´avel por verificar se as condi¸c˜oes necess´arias para se iniciar o modo s˜ao satisfat´orias e, caso sejam, inicia as vari´avel que seja de interesse. ´E esta fun¸c˜ao que deve impedir que o modo seja ativado no caso dele exigir um sinal de GPS que n˜ao esteja presente, assim como a falta de qualquer outro sen-sor essencial para o funcionamento esperado modo de voo. Caso as condi¸c˜oes n˜ao sejam encontradas o modo de voo atual ´e mantido. A fun¸c˜ao run() tem como principal objetivo ler os sensores necess´arios e fazer a corre¸c˜ao adequada no comportamento de voo. ´E nela tamb´em que s˜ao feitas as leituras dos comandos recebidos pelo RC em rela¸c˜ao ao throttle, pitch, roll e yaw que depois s˜ao processados adequadamente. Atrav´es da bibliotecas dis-pon´ıveis do Ardupilot, a informa¸c˜ao do comportamento desejado ´e ent˜ao passada para a camada de abstra¸c˜ao de hardware, que, por sua vez, ´e traduzido em comandos de atua¸c˜ao para aos motores do ve´ıculo. Est´a fun¸c˜ao ´e chamada no m´ınimo 100 vezes por segundo para manter o comportamento de voo desejado5.

3.4 MONTANDO O QUADRIC ´OPTERO

O ArduCopter permite escolher qual ser´a o tipo do ve´ıculo utilizado. ´E poss´ıvel escolher se ser´a utilizado um quadri, hexa ou octac´optero, assim como definir se o frame ser´a em formato de X (dois motores `a frente e dois atr´as) ou cruz (um motor `a frente, um atr´as e um em cada lado). Estas escolhas n˜ao afetam o funcionamento do c´odigo devido `a abstra¸c˜ao feita pelo Ardupilot para os v´arios tipo de ve´ıculos. Pela praticidade escolheu-se um frame de quadric´optero em formato “x” devido `a estabilidade e posicionamento da cˆamera. Outro fator importante na escolha do frame foi o trem de pouso. Neste caso o trem de pouso deve dar uma altura suficiente para que o gimbal n˜ao encoste no ch˜ao quando o quadric´optero estiver pousando.

O gimbal necessita de 11 Volts para operar corretamente uma vez que tamb´em utiliza motores para movimentar a cˆamera. Para este fim utilizou-se um cabo em paralelo com a alimenta¸c˜ao fornecida pela bateria uma vez que as tens˜oes s˜ao compat´ıveis.

O Ardupilot disponibiliza em seu site uma lista com as controladoras suporta-das6. Cada uma pode diferir no tipo de sistema operacional usado ou nos tipos e n´umero de conectores para sensores e atuadores, por´em n˜ao diferem em rela¸c˜ao ao funcionamento do c´odigo. O projeto come¸cou com uma controladora baseada em Arduino e ´e poss´ıvel

5Code Overview: http://ardupilot.org/dev/docs/apmcopter-code-overview.html

6Escolhendo uma Controladora:

(45)

implementar o ArduCopter at´e sua vers˜ao 3.2.1. O desenvolvimento com Arduino justifica o uso do ”Ardu” em Ardupilot mesmo que as novas vers˜oes n˜ao utilizem mais essa plata-forma. Conforme novas funcionalidades foram criadas, elas necessitavam de uma maior capacidade de processamento embarcado, ent˜ao o desenvolvimento migrou para um Real Time Operational System RTOS ou, no caso do Erle-Brain e do Navio, hardware execu-tando um sistema operacional Linux. Enquanto controladoras execuexecu-tando um RTOS s˜ao recomendadas para uso geral, aquelas com sistema Linux s˜ao recomendadas para o desen-volvimento de aplica¸c˜oes utilizando vis˜ao computacional devido `a compatibilidade com outros hardware que um sistema Linux oferece, assim como a facilidade para desenvolver aplica¸c˜oes espec´ıficas em qualquer linguagem de preferˆencia.

A Pixhawk ´e a controladora mais simples de se utilizar com o Ardupilot. Desen-volvida em colabora¸c˜ao com a 3D Robotics, ela utiliza um RTOS chamado NuttX e j´a inclui todos os sensores e interfaces b´asicas. Possui um Processador Cortex M4 de 168 MHz, acelerˆometro, girosc´opio, magnetˆometro e barˆometro e 5 UARTs. Apesar dele aten-der as necessidades para o desenvolvimento deste projeto, optou-se por utilizar o PXFmini por j´a possuir um Raspberry Pi, sendo necess´ario adquirir somente o PXFmini, e pela possibilidade de desenvolver projetos futuros aproveitando-se das vantagens de utilizar um sistema Linux embarcado.

3.5 AMBIENTE DE SIMULA ¸C ˜AO

Como ambiente de simula¸c˜ao utilizou-se a biblioteca SITL do Ardupilot, que gera um execut´avel para Windows ou Linux, capaz de se comunicar atrav´es do MAVLink. As-sim pode-se executar o GCS de preferencia para control´a-lo utilizando o protocolo padr˜ao. Escolheu-se o Mission Planner por fazer parte do projeto Ardupilot e tamb´em ser um pro-jeto open source al´em de ser o GCS mais completo para Ardupilot at´e o momento. Ele n˜ao esta dispon´ıvel para Linux, mas caso necess´ario pode ser substitu´ıdo pelo APM Planner 2 que est´a dispon´ıvel para Linux, Windows e Mac. Depois de instalar as dependˆencias necess´arias basta conectar o software GCS ao execut´avel utilizando o MAVLink. A co-munica¸c˜ao por MAVLink tamb´em possibilita que o Ardupilot seja controlado atrav´es de um programa em ROS7 e utilizar o Gazebo8 como simulador. O Gazebo permite uma simula¸c˜ao em 3D avan¸cada incluindo diferentes cen´arios e a simula¸c˜ao do comportamento do Ardupilot ao aproximar-se de objetos virtuais inseridos na simula¸c˜ao. Entretanto esta op¸c˜ao n˜ao foi necess´aria pois o SITL do Ardupilot consegue simular o comportamento

7ROS: Robot Operational System - http://www.ros.org/about-ros/ 8Gazebo: Simulador para Robos autˆonomos - http://gazebosim.org/

(46)
(47)

4 NOVOS MODOS DE VOO PARA ARDUPILOT

Neste cap´ıtulo ser´a detalhado como cada modo de voo foi criado visando realizar um tipo de movimento de cˆamera espec´ıfico. Alguns destes modos s˜ao capazes de executar mais de um movimento de cˆamera. Neste trabalho, o foco ser´a o c´odigo de voo dos ve´ıculos do tipo Copter, assim as outras partes do c´odigo do Ardupilot n˜ao ser˜ao alteradas e as altera¸c˜oes realizadas para esta categoria n˜ao afetar˜ao as demais. Para cada movimento de cˆamera desejado, foi criado um novo modo de voo que ir´a permitir ao piloto executar o movimento desejado de forma simplificada.

4.1 FREE CIRCLE

Este modo foi pensado com o objetivo de prover ao piloto uma forma de realizar um movimento circular onde o raio pode variar de acordo com sua vontade. Ele foi inspirado no modo de voo Circle j´a existente no ArduCopter e aproveita de algumas de suas caracter´ısticas para dar mais op¸c˜oes ao piloto. O modo Circle utiliza o GPS para determinar um ponto central em torno do qual o ve´ıculo descreve uma circunferˆencia de raio fixo. Aproveitando-se desta caracter´ıstica o modo Free Circle foi pensado para permitir que o piloto consiga alterar o raio e a velocidade do movimento de ´orbita em rela¸c˜ao a um ponto. O ponto inicial ´e definido ao ativar o modo de voo e n˜ao se altera enquanto ele estiver ativo. O raio pode ser controlado pelo piloto utilizando o pitch do seu radio controle. J´a a velocidade angular pode ser controlada utilizando o yaw. Mantendo um raio constante o ve´ıculo ir´a executar uma circunferˆencia idˆentica com o modo Circle mas, ao alterar o raio, o ve´ıculo ir´a se deslocar para se ajustar ao novo raio estipulado. Caso o raio seja incrementado ou decrementado de forma constante, o ve´ıculo ir´a descrever uma espiral. Por padr˜ao, o sentido do movimento ´e hor´ario, por´em este pode ser invertido uma vez que a velocidade do movimento for negativa, o que pode ser obtido deslocando o yaw para a esquerda do ponto central. Com um raio igual a 0 o movimento de cˆamera ser´a o mesmo de Pan (figura 2.2).

(48)

criada com base na biblioteca AC Circle utilizada pelo modo Circle. Notou-se a neces-sidade de criar uma nova biblioteca uma vez que a biblioteca AC Circle n˜ao atualiza o valor do raio de forma eficiente para gerar uma trajet´oria em espiral. Os testes feitos n˜ao forneciam um movimento flu´ıdo como desejado, assim optou-se por criar esta biblioteca com algumas modifica¸c˜oes que permitiram criar os dois tipos de movimento em espiral desenvolvidos. Neste movimento, a biblioteca AC Spiral corrigiu o c´alculo das velocida-des horizontais (latitude e longitude), que antes era feito com um raio constante. Como o controle do deslocamento do ve´ıculo ´e feito integrando-se o valor do acelerˆometro por um curto per´ıodo de tempo, e a biblioteca AC Circle considerava que o raio era constante, com o passar do tempo o ve´ıculo se encontrava em um raio diferente do calculado devido ao erro acumulativo. Este erro foi corrigido incluindo-se o valor atualizado do raio no c´alculo das velocidades.

Assim o modo permite que o piloto realize uma espiral variando o raio ao longo do movimento ou uma circunferˆencia com velocidade variada. Outra op¸c˜ao ´e realizar apenas uma fra¸c˜ao da circunferˆencia e inverter o seu sentido alterando a velocidade angular do movimento. Um movimento de Pan constante tamb´em pode ser realizado definindo o raio igual a zero.

4.2 GOLDEN SPIRAL

A principal diferen¸ca deste movimento para o movimento anterior ´e o fato de que o raio n˜ao ´e controlado pelo piloto. O piloto pode controlar o sentido (hor´ario ou anti-hor´ario do movimento) atrav´es do pitch mas o desenvolvimento da espiral ´e autom´atico. O raio ´e calculado a partir do ˆangulo total percorrido pelo movimento utilizando-se a f´ormula da espiral de ouro r(θ ) = e0,30635.θ (MAINZER, 1996), onde θ ´e o ˆangulo total em radianos. Assim o movimento de espiral ´e executado praticamento sozinho. O piloto tem o controle sobre a velocidade angular apenas, podendo acelerar, pausar ou inverter o sentido do movimento.

4.3 DOLLY

Neste modo o ArduCopter guarda a dire¸c˜ao para a qual o ve´ıculo esta apontando no momento em que o modo ´e ativado. Uma vez estabelecida esta dire¸c˜ao, o ve´ıculo n˜ao ir´a assumir outra dire¸c˜ao de movimento mesmo que o seu eixo yaw seja alterado. Isto permite que movimentos de Dolly sejam realizados em uma dire¸c˜ao espec´ıfica, mudando a dire¸c˜ao para a qual o ve´ıculo aponta mas mantendo a mesma dire¸c˜ao de deslocamento.

(49)

Figura 4.1: B´ussola do Ardupilot

Fonte: Autoria pr´opria

A primeira biblioteca utilizada neste movimento foi a AHRS para fornecer o ˆ an-gulo atual para qual o ve´ıculo aponta. O ˆangulo ´e fornecido por esta biblioteca de acordo com a figura 4.1 e ´e sempre relativo ao norte verdadeiro. A AHRS faz automaticamente a convers˜ao do norte magn´etico obtido pelo magnetˆometro para o norte verdadeiro. Uti-lizando o conceito de matriz de rota¸c˜ao (ANTON; RORRES, 2012), foram definidas as equa¸c˜oes abaixo para que o valor de roll e pitch fossem convertidos para manter sempre a mesma dire¸c˜ao que a inicial.

roll = −pitchRC∗ sin(θ ) (4.1)

pith= pitchRC∗ cos(θ ) (4.2)

rollf inal = roll ∗ cos(α) + pitch ∗ sin(α) (4.3)

pitchf inal= −roll ∗ sin(α) + pitch ∗ cos(α) (4.4)

onde pitchRC´e o valor de pitch fornecido pelo r´adio controle, θ ´e o ˆangulo para o qual o ve´ıculo apontava quando o modo foi iniciado e α ´e o ˆangulo atual. S˜ao necess´arias duas rota¸c˜oes. A primeira converte o pitch do piloto para pitch e roll do ve´ıculo conforme o ˆangulo inicial em rela¸c˜ao ao norte verdadeiro (equa¸c˜oes 4.1 e 4.2). Est´a convers˜ao faz com que o ˆangulo referˆencia passe a ser o ˆangulo θ . A segunda serve para rotacionar os valores obtidos para o ˆangulo desejado (equa¸c˜oes 4.3 e 4.4) baseando-se no ˆangulo atual

(50)

para qual o ve´ıculo se encontra.

A segunda biblioteca utilizada foi a WP Nav. Neste modo n˜ao interessa a na-vega¸c˜ao por coordenadas geogr´aficas que ela oferece, mas sim em uma fun¸c˜ao espec´ıfica que utiliza o GPS e os sensores da IMU para compensar um poss´ıvel deslocamento do ve´ıculo causado pelo vento. Ao inv´es de passar os valores recebidos do r´adio controle aos motores, estes valores s˜ao tratados pela biblioteca e a a¸c˜ao necess´aria para compensar o vento ´e adicionada aos valores de pitch e roll.

4.4 CRANE

O modo Crane, como o pr´oprio nome induz, visa simular o funcionamento da Luma mencionado anteriormente. Ao ser ativado, o ArduCopter guarda a localiza¸c˜ao atual como ponto de referˆencia e a partir de ent˜ao, n˜ao importa qual movimento seja realizado, o ve´ıculo manter´a a sua frente apontada para aquele ponto

Para obter o resultado utilizou-se o mesmo princ´ıpio apresentado no desenvolvi-mento do modo Dolly para a convers˜ao de pitch e roll recebidos. Desta vez, o valor de roll tamb´em entra no c´alculo da primeira rota¸c˜ao conforme as equa¸c˜oes abaixo:

roll = rollRC∗ cos(θ ) − pitchRC∗ sin(θ ) (4.5)

pith= rollRC∗ sin(θ ) + pitchRC∗ cos(θ ) (4.6)

rollf inal = roll ∗ cos(α) + pitch ∗ sin(α) (4.7)

pitchf inal= −roll ∗ sin(α) + pitch ∗ cos(α) (4.8)

A primeira rota¸c˜ao (equa¸c˜oes 4.5 e 4.6) faz com que o ve´ıculo se desloque como se estivesse em um plano cartesiano rotacionado de acordo com sua posi¸c˜ao inicial. A segunda rota¸c˜ao (equa¸c˜oes 4.7 e 4.8) faz com que o ve´ıculo em si rotacione para apontar para a coordenada estabelecida quando o modo de voo foi iniciado. Como a biblioteca WP Nav j´a possui uma fun¸c˜ao que calcula o ˆangulo necess´ario entre o ve´ıculo e uma coordenada de destino, bastou configurar a coordenada inicial como ponto de destino na inicializa¸c˜ao do modo, na fun¸c˜ao init(), e passar para a biblioteca o ˆangulo obtido toda vez que o modo run() era executado.

Referências

Documentos relacionados

Neste artigo são apresentados e discutidos os resultados obtidos do estudo realizado sobre a utilização do sistema fotogramétrico VANT – SIMEPAR para a obtenção de

O presente trabalho pretende explorar as mudanças no ambiente da guerra proporcionadas pela introdução de Veículos Aéreos Não Tripulados (VANTs), popularmente

Um dos aspectos mais importantes que se observou nas aplicações do modelo distribuído nas bacias do rio Uruguai, apresentada neste trabalho, e dos rios Taquari- Antas, no Rio Grande

Idealmente, a melhor comparação para as UC tratadas viria do grupo de UC tratadas, ou seja, o grupo que receberam as ações de EE, mas na situação em que eles não tivessem

3 Mecanismos que visam garantir que o grupo de controle não receba as ações de EE são fundamentais para que a contaminação do grupo de controle não inviabilize a

The purpose of the auction is to hire entities to carry out energy efficiency (EE) actions aimed at reducing electricity consumption in the city of Boa Vista in the state of

a) AHP Priority Calculator: disponível de forma gratuita na web no endereço https://bpmsg.com/ahp/ahp-calc.php. Será utilizado para os cálculos do método AHP

Objetivo: Garantir estimativas mais realistas e precisas para o projeto, ao considerar nesta estimativa o esforço necessário (em horas ou percentual do projeto) para