SlideShare uma empresa Scribd logo
1 de 107
Baixar para ler offline
PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS
Programa de Graduação em Engenharia Mecânica (Linha de formação em
Mecatrônica)
Daniel de Castro Ribeiro Resende
Nicolas Ives Roque Pacheco
CONTROLE DE ESTABILIDADE DE AEROMODELO TIPO QUADCOPTER
AUTÔMATO POR LEI DE CONTROLE PID
Belo Horizonte
2014
Daniel de Castro Ribeiro Resende
Nicolas Ives Roque Pacheco
CONTROLE DE ESTABILIDADE DE AEROMODELO TIPO QUADCOPTER
AUTÔMATO POR LEI DE CONTROLE PID
Monografia apresentada ao curso de
Engenharia Mecânica (Linha de formação em
Mecatrônica) da Pontifícia Universidade
Católica de Minas Gerais, como requisito
parcial para obtenção do título de Bacharel em
Engenharia Mecânica (Linha de formação em
Mecatrônica)
Orientador: Pedro Américo Almeida Magalhães
Junior
Belo Horizonte
2014
Daniel de Castro Ribeiro Resende
Nicolas Ives Roque Pacheco
CONTROLE DE ESTABILIDADE DE AEROMODELO TIPO QUADCOPTER
AUTÔMATO POR LEI DE CONTROLE PID
Monografia apresentada ao curso de
Engenharia Mecânica (Linha de formação em
Mecatrônica) da Pontifícia Universidade
Católica de Minas Gerais, como requisito
parcial para obtenção do título de Bacharel em
Engenharia Mecânica (Linha de formação em
Mecatrônica)
___________________________________
Dr Pedro Américo Almeida Magalhães Junior (Orientador) - PUC Minas
___________________________________
Dr Claysson Bruno Santos Vimieiro - PUC Minas
___________________________________
Dr William de Melo Silva- PUC Minas
Belo Horizonte, de de 2014.
AGRADECIMENTOS
Agradecemos ao nosso orientador, Dr Pedro Américo Almeida Magalhães
Júnior, pela prontidão com que se disponibilizou a fazer parte deste trabalho, e, pela
relevância de seu suporte durante a jornada de sua elaboração.
Somos gratos também à Fundação de Amparo à Pesquisa do Estado de
Minas Gerais (FAPEMIG), pelo auxílio cultural e financeiro provido, à fim da
apresentação e publicação deste trabalho na forma de artigo científico no Ibero-Latin
American Congress on Computational Methods in Engineering (CILAMCE 2014).
RESUMO
Nos últimos anos, os VANTs (Veículos Aéreos Não Tripulados), do tipo quadrirotor
ou quadcopter, têm tido destaque especial nas pesquisas de sistemas robóticos,
principalmente devido a versatilidade de sua navegação poder ser tanto em
ambientes externos como internos. Para que um aeromodelo impulsionado por
quatro rotores possa se manter em equilíbrio com relativa precisão, mesmo que em
voo pairado (proposta deste trabalho), é necessário um algoritmo de controle que
estabilize o sistema dinamicamente, impedindo que ele colapse devido a uma
perturbação ou devido ao somatório de dinâmicas geradas por seu próprio peso.
Existem várias técnicas de controle para o voo dos quadcopters, para o trabalho
proposto elabora-se uma malha fechada utilizando um algoritmo equacionado pela
lei de controle PID, por tratar-se de um nível de teoria, que está ao alcance das
ementas das disciplinas do curso de graduação em engenharia mecânica linha de
formação mecatrônica. Para o feedback da planta, utiliza-se de um circuito integrado
de mensuramento inercial (IMU), composto de acelerômetro, giroscópio, barômetro e
magnetômetro.Neste monitoramento da orientação angular e translacional do
quadcopter, utiliza-se filtros digitais e fusão de sensores para otimizar essas leituras.
Para o desenvolvimento do presente trabalho realizou-se os estudos de:
equacionamento matemático da dinâmica do sistema, do circuito eletro-eletrônico,
do sensoriamento, do projeto mecânico, da simulação computacional e da
implementação do algoritmo de controle.
Palavras-chave: VANT. UAV. Quadcopter. Controle. PID. IMU. Equacionamento.
Simulação.
ABSTRACT
In recent years, UAVs (Unmanned Aerial Vehicles), type quadcopter, have had
special attention in the research of robotic systems, mainly due to the versatility of its
navigation can be either external as internal environments. For a model airplane
propelled by four rotors to can still in balance with relative accuracy, even in hovering
flight (proposal of this work), one control algorithm to stabilize the system dynamically
is necessary, preventing it from collapsing due to a disturbance or due the sum of
dynamics generated by its own weight. There are several techniques to control the
flight of quadcopters for the proposed work we undertake a closed loop using an
algorithm solved by the law of PID control, because it is a level of theory, which is
well within the menus of the disciplines contained in graduation in the degree of
mechanical engineering witch specialization in mechatronics. For feedback plant, it
uses inertial measurement integrated circuits (IMUs), composed of accelerometer,
gyroscope, magnetometer and barometer. In monitoring the angular and translational
orientation of the Quadcopter, are used digital filters, and sensor fusion to optimize
these readings. For the development of this work was carried out studies:
mathematical modeling of the system dynamics, the electro-electronic circuit, the
sensing, the mechanical design, the computer simulation and the implementation of
the control algorithm.
Keywords: VANT. UAV. Quadcopter. Control. PID. IMU. Modeling. Simulation.
LISTA DE FIGURAS
Figura 1: Teleautômaton de Tesla.............................................................................20
Figura 2: VANT URV das forças armadas dos EUA..................................................21
Figura 3: Quadcopter de DeBothezat........................................................................22
Figura 4: Drone AR Parrot.........................................................................................23
Figura 5: Gyroplane nº1 ............................................................................................27
Figura 6: Draganflyer III.............................................................................................28
Figura 7: Modelos notáveis de quadrirotores ............................................................29
Figura 8: Graus de liberdade do quadcopter.............................................................31
Figura 9: Esquema de rotação ..................................................................................32
Figura 10: Rolagem ou arfagem................................................................................33
Figura 11: Somatório de momentos (guinada) ..........................................................34
Figura 12: Esquema de uma malha fechada de controle ..........................................35
Figura 13: Diagramas PID.........................................................................................39
Figura 14: Resultados dos controladores PI, PID e FO[PI] .......................................40
Figura 15: Resultados experimentais do controle hierárquico...................................42
Figura 16: Coordenadas de múltiplos corpos............................................................43
Figura 17: Ângulos de Euler......................................................................................44
Figura 18: Digrama de blocos representando o MARG de Madgwick.......................53
Figura 19: Especificações dos motores.....................................................................55
Figura 20: Estrutura de modelamento em um grau de liberdade ..............................56
Figura 21: Curvas de entrada e saída .......................................................................57
Figura 22: Diagrama em um grau de liberdade no Simulink .....................................58
Figura 23: Leituras dos sinais do diagrama de blocos ..............................................59
Figura 24: Diagrama de tratamento de sinal .............................................................61
Figura 25: Calibração do magnetômetro ...................................................................62
Figura 26: Calibração do acelerômetro .....................................................................63
Figura 27: Circuito de desenvolvimento ....................................................................64
Figura 28: Estrutura usinada de fixação do frame.....................................................66
Figura 29: Estrutura de vôo.......................................................................................66
Figura 30: Plataforma de desenvolvimento para 5 graus de liberdade ....................67
Figura 31: Montagem executada para as coletas de dados......................................68
Figura 32: Modelo do quadcopter construído no SolidWorks....................................72
Figura 33: Blocos do atuador.................................................................................... 74
Figura 34: Blocos do atuador.................................................................................... 75
Figura 35: Respostas para Z e rotações................................................................... 76
Figura 36: Reposta dos motores............................................................................... 76
LISTA DE SIGLAS
10DOF - 10 Degrees Of Freedom
CC - Corrente Contínua
cP - Coeficiente de potência
cT - Coeficiente de Thrust
cos - Cosseno
ESC - Electronic Speed Controller
FO - Fractional Order
LQ - Least Quadratic
I2
C - Inter Integrated Circuits
IMU - Inertial Measurement Unit
MARG -Magnetic, Angular Rate and Gravity
MCS - Magnetic Compass Sensor
MIT - Massachusetts Institute of Technology
MEMS - Micro Electronical Mechanic System
MOSFET - Metal Oxide Semiconductor Field Effect Transistor
p - Taxa de variação angular em x
Φ - Rotação no eixo z
𝑃𝑝 - Potência de propulsão
PID - Proporcional Derivativo e Integrativo
Ψ- Rotação no eixo y
PWM - Pulse-Width Modulation
q - Taxa de variação angular em y
R - Matriz de rotação
r - Raio
r - Taxa de variação angular em z
𝜌 - Densidade do ar
sen - Seno
SFL - Static Feedback Linearization Controller
SMC - Sliding-mode Control
SMC - Surface Mounted Component
STFIS - Self Tunable Fuzzy Interference System
tag - Tangente
θ- Rotação no eixo x
T – Força de impulso
u - Velocidade do corpo em x
UAV - Unmanned Aerial Vehicle
VANT - Veículo Aéreo Não Tripulado
v - Velocidade do corpo em y
w - Velocidade angular
w - Velocidade do corpo em z
X - Eixo x
Y - Eixo y
Z - Eixo z
SUMÁRIO
1 INTRODUÇÃO .......................................................................................................20
1.1 Objetivo Geral....................................................................................................23
1.2 Objetivos específicos........................................................................................23
1.3 Justificativa........................................................................................................24
1.4 Escopo ...............................................................................................................25
2 REFERENCIAL TEÓRICO.....................................................................................27
2.1 Revisão Bibliográfica........................................................................................27
2.1.1 Dinâmica do quadcopter................................................................................30
2.1.2 Sensoriamento ...............................................................................................34
2.1.3 Controle por PID.............................................................................................38
2.2 Estado da Arte ...................................................................................................39
3 REVISÂO TEÓRICA ..............................................................................................43
3.1 Equacionamento matemático...........................................................................43
3.2 Cinemática do quadcopter ...............................................................................45
3.3 Dinâmica do quadcopter...................................................................................46
3.4 Dinâmica dos rotores........................................................................................48
3.5 Algoritmo de fusão de sensores......................................................................49
4 METODOLOGIA ....................................................................................................54
4.1 Diagramação mecânica.....................................................................................54
4.2 Implementação para um grau de liberdade.....................................................56
4.3 Parametrização do algoritmo de sensoriamento............................................59
4.4 Circuito de desenvolvimento ...........................................................................63
4.5 Desenvolvimento da estrutura completa ........................................................65
4.6 Equalização das curvas de ganhos dos motores...........................................67
4.7 Simulação computacional ................................................................................72
4.8 Controle..............................................................................................................76
5 RESULTADOS.......................................................................................................78
6 CONCLUSÃO ........................................................................................................80
REFERÊNCIAS.........................................................................................................82
ANEXOS ...................................................................................................................88
20
1 INTRODUÇÃO
VANTs (Veículos Aéreos Não Tripulados), ou do inglês UAVs (Unmanned
Aerial Vehicles), mais conhecidos pelo termo "drone", obtiveram destaque em
operações militares durante as recentes operações de espionagem e bombardeio
dos Estados Unidos no Iraque no ano de 2013.
No Brasil o governo brasileiro vem adquirindo VANTs através da Força
Aérea Brasileira, tendo-se uma estimativa de que durante a Copa do Mundo de
2014, e nas Olimpíadas de 2016 a segurança do espaço aéreo brasileiro contará
com 6 veículos aéreos não tripulados. Estes, terão como finalidade o monitoramento
e vigilância durante as copas das confederações no período de 15 à 30 de julho de
2014 (STOCHERO, 2013).
Os dois exemplos citados anteriormente demonstram que a importância dos
VANTs no cenário mundial tem crescido, e apresenta-se como uma tecnologia que
não só possui potencial para operações militares, como também para aplicações
civis.
Embora os veículos não tripulados, aparentemente serem uma tecnologia
relativamente nova, o conceito deste tipo especial de robô, data de 1898 durante a
guerra Hispano-Americana. Época em que Nicolai Tesla apresentou na Eletrical
Exposition no Madison Square Garden, um torpedo capaz de ser controlado
remotamente por radiofrequência. Este dispositivo foi nomeado pelo seu inventor de
Teleautômaton, ilustrado na figura 1 (NEWCOME, 2004).
Figura 1: Teleautômaton de Tesla
Fonte: NEWCOME, 2004
21
Inicialmente, as pesquisas de Tesla sobre controle remoto haviam sido
consideradas, como sem aplicação prática, ou, até mesmo como, simples truques
pelo exército americano. Em 1991 a primeira aeronave não tripulada da marinha
americana (figura 2) realizou cerca de 300 missões de reconhecimento, durante as
operações militares na guerra do Golfo, na operação Desert Storm, e novamente,
em 2006 na operação Desert Shield, abrindo o caminho para o desenvolvimento e
pesquisa dos UAVs (DEMPSEY, 2010).
Figura 2: VANT URV das forças armadas dos EUA
Fonte:MCCORMICK, 1995
Embora os VANTs tenham um histórico militar de aplicação, têm-se buscado
utilizar este tipo de robô em aplicações civis, como monitoramento de colheitas,
amostragem da atmosfera e entregas de correspondências, sendo o ultimo já
implementado pela empresa Amazon de compras on-line.
Dentre os VANTs, o modelo que tem alcançado maior interesse, é o
quadcopter, não somente pela sua simplicidade de montagem, mas pelo desafio na
implementação de seu sistema de controle.
O conceito do quadcopter tem existido desde as primeiras décadas do
século XX. Um dos primeiros modelos de um veículo, que usa quatro rotores para
decolar e manter voo que se tem notícia, foi desenvolvido por George DeBothezat
em 1922, ilustrado na figura 3 (BASTA, 2012).
22
Figura 3: Quadcopter de DeBothezat
Fonte:BASTA,2012
Embora os primeiros modelos tenham sido capazes de decolar e manter
voo, sua performance podia competir com as demais aeronaves existentes na
época,perdia em quesitos de velocidade e quantidade de carga transportável.
Devido a essas limitações o modelo quadcopter permaneceu esquecido até a
década de noventa, quando a evolução dos MEMS (Micro-Electronical Mechanic
Systems) permitiram a implementação de uma plataforma de controle à bordo, feita
por um microcontrolador (JUN, 2013).
Atualmente, o nível de estabilidade e segurança alcançado para o drone, já
permite a comercialização em larga escala, de um modelo de UAV, caracterizado
como brinquedo. O AR Parrot, por exemplo, é comercializado pela Parrot, empresa
líder mundial em equipamentos sem fios para smartphones. O drone da Parrot pode
ser controlado à distância, através de um aplicativo que é instalado em um
smartphone (figura 4).
23
Figura 4: Drone AR Parrot
Fonte: ARDrone, 2014
A variedade das aplicações dos possíveis aos quadrirotores vem
aumentando ultimamente. Dentre as possíveis formas de emprego, se destacam, o
combate a incêndios, operações de busca policial, manipulação de artefatos
explosivos, planejamento de obras, cobertura jornalística à eventos, filmagens de
filmes, imagens de animais selvagens, acompanhamento de trânsito e acidentes, et
cétera.
1.1 Objetivo Geral
Este trabalho de conclusão de curso objetiva a construção completa de um
protótipo do tipo quadcopter, a implementação de seu sensoriamento e o
equacionamento de seu algoritmo de controle pela técnica PID, tornando este capaz
de manter voo razoavelmente estável, isto é, com mínima variação de seus seis
graus de liberdade.
1.2 Objetivos específicos
Os objetivos específicos deste trabalho são:
24
a) Levantamento e equacionamento dinâmico do VANT do tipo quadcopter.
b)Construção de uma malha de controle fechada utilizando lei de controle
PID.
c) Construção da estrutura do quadcopter.
d) Aquisição de dados pelos sensores utilizados
e) Simulação utilizando os parâmetros do modelo alcançado.
f) Implementação do algoritmo de controle e aplicação no protótipo
construído.
1.3 Justificativa
O enfoque especial que os quadrirotores tem ganhado em matéria de
sistemas robóticos, estendendo suas aplicações em usos militares, civis, para
observação, e até, mapeamento de ambientes desconhecidos, é claramente
justificável por sua mobilidade aérea.
Para que um robô construído no formato de um quadrirotor possa realizar
tarefas como mapeamento ou reconhecimento de ambiente torna-se então
necessário que se saiba sua posição e orientação no espaço, juntamente com a
capacidade de movimentar-se neste.
Logo, a estabilidade do voo do quadcopter é vital para que ele possa ser
utilizado, impedindo que ele colapse devido a um forte vento, ao seu próprio peso ou
devido à resposta caótica do empuxo resultante entre hélice e fluido. Para evitar tal
acontecimento é necessário que exista um sistema de controle capaz de corrigir as
variações devido às perturbações, restaurando o quadcopter à posição de equilíbrio
com a maior velocidade possível. O controle por PID (Proporcional Derivativo e
Integrativo) apresenta-se como um solução de controle linear, utilizado em várias
aplicações na indústria de automação, sendo as vantagens deste método segundo
Leong (2012), possuir estrutura simples e boa performance.
Baseando-se no que foi exposto, tem-se como justificativa deste trabalho a
verificação da possibilidade da construção de um quadrirotor com componentes
comerciais, e a implementação de um algoritmo de controle baseado na teoria de
sistemas lineares em um sistema dinâmico de estabilidade zero, como o quadrirotor.
25
1.4 Escopo
Este trabalho de conclusão de curso em engenharia mecatrônica almeja
pesquisar e apresentar respostas relevantes sobre a possibilidade de se aplicar o
nível teórico contido na ementa do curso, para o equacionamento, implementação e
construção de um quadcopter de baixo custo.
Devido à complexidade da dinâmica envolvida no somatório de fenômenos
físicos que variam ao longo do tempo, pode-se perceber que o equacionamento de
voo deste sistema, depende de um controle de múltiplos níveis e não estacionário.
Este tipo de planta, para ter sua solução ótima, demanda da linearização do sistema
e da implementação de um controle robusto.
Alguma literatura recente, cita técnicas de inteligência artificial, como
soluções que poderiam alcançar a adaptabilidade transiente necessária ao controle
de um sistema que varia parâmetros, e equações em relação ao tempo. Técnicas
que recalculam seus parâmetros e técnicas que utilizam o novo feedback como
forma de aprendizado, têm chances consideráveis de alcançar o controle ótimo de
um sistema não estacionário. Este grupo de lógicas de programação pode ser
exemplificado por redes neurais, nebulosas, grafos, genéticos e Fuzzy, como
descrito por este artigo da Universidade do Tehran:
Embora o quadrirotor tenha vantagens em uma construção mecânica fácil
contra o helicóptero tradicional, ainda há questões que impedem que ele
seja amplamente utilizado em muitos dos campos sugeridos de aplicação.
Por exemplo, o controle e orientação do quadrirotor para estabilização, é
uma tarefa difícil, devido ao comportamento dinâmico não linear. Métodos
de controle convencionais usam teoria linear que é adequado apenas para
sistemas lineares. O controle Fuzzy é não-linear, portanto, é adequado para
o controle do sistema não-linear. (ABBASI; MAHJOOB; YAZDANPANAH,
2013).
No entanto, existem formas de se manipular a estrutura PID original, de
forma que esta também possa reagir e se adaptar à mudanças em seu ambiente. A
técnica Feedforward de PID pode ser empregada com este intuito, em um sistema
que seja possível variar o sinal de controle em um tempo menor que o tempo que
um distúrbio leva para afetar a saída, mensurar os distúrbios exógenos e os efeitos
26
desses distúrbios na resposta. Assim, este trabalho objetiva trabalhar a manipulação
da lei de controle PID de forma a viabilizar o voo.
27
2 REFERENCIAL TEÓRICO
Apesar da grande quantidade de trabalhos sobre o controle do quadcopter
terem sido desenvolvidos nos últimos 30 anos, seu modelo data de 1907, havendo
uma considerável evolução científica das tecnologias empregadas com sucesso
razoável em sua causa.
2.1 Revisão Bibliográfica
O primeiro quadrirotor conhecido, desenvolvido pelos irmãos Breguet, foi
batizando de Gyroplanenº1, ilustrado na figura 5.Utilizando apenas um motor de
combustão interna com potência de 40 cavalos, e um sistema de transmissão de
correia polia, o modelo de Breguet era capaz decolar, embora conseguisse apenas
obter uma altitude 1,5 metros por um breve período, sendo o voo instável devido ao
fato de não haver controle além de uma válvula que controlava a alimentação de
combustível do motor (LEISHMAN, 2009).
Figura 5: Gyroplane nº1
Fonte: LEISHMAN, 2004
Posteriormente vários modelos de quadcopters foram desenvolvidos no
período durante o período de 1920 a 1956, sendo os de principal destaque
desenvolvido por Etienne Oemichen 1920 e 1923, George DeBothezat em 1921 e
Marc Adam Kaplan em 1956.
Comissionado pela Aeronáutica dos Estados Unidos, George DeBothezat foi
incumbido de desenvolver o projeto de um quadcopter, sendo o resultado desse,
ilustrado na figura 3. Os resultado do modelo final foi uma aeronave capaz de
28
suportar uma carga de 3 pessoas além do piloto, porém o veículo conseguiu obter a
altitude de 5 metros, muito aquém dos 100 metros calculados.
O controle dos primeiros quadcopters necessitava de rotores adicionais,
localizados na frente ou na traseira do veículo para manter a estabilidade. Em 1956
Marc Adam Kaplan desenvolveu um modelo onde o controle era estabelecido
através da variação de rotação entre os entre os rotores, sendo o primeiro a se
mover horizontalmente depois da decolagem. O modelo de Kaplan é considerado
por Basta(2012) o primeiro helicóptero quadcopter verdadeiro a voar.
Embora se tenha obtido sucesso na implementação do quadcopter, seu
modelo era obsoleto em relação as demais tipos convencionais de aeronave de sua
época, principalmente nos quesitos de velocidade, carga suportada e alcance.
As novas tecnologias obtidas no final dos anos 90, como o desenvolvimento
de sensores inerciais MEMS (Micro Electro Mechanical Systems) ou sistemas micro
eletromecânicos e o desenvolvimento de sistemas embarcados renovaram o
interesse das pessoas para o modelo do quadrirotor. Os primeiros quadrirotores a
serem fabricados foram para entusiastas de aeromodelos, sendo o Draganflyer III,
ilustrado na figura 6, considerado um modelo clássico, que devido a sua
performance extraordinária foi definido para servir de plataforma de testes em
Stanford e no MIT (Massachusetts Institute of Technology) (JIANG, 2013).
Figura 6: Draganflyer III
Fonte: TOURIER, 2006
Posteriormente, alguns grupos de pesquisadores optaram por construir seus
próprios quadrirotores, destaca Jiang (2013), os modelos X-4 Flyer da Universidade
29
Nacional Australiana, o quadcopter da Universidade do Estado da Pensilvânia, o
Mesicopter da Universidade de Stanford e o OS4 do Instituto Federal de Tecnologia
da Suíça, modelos ilustrados na figura 7.
Figura 7: Modelos notáveis de quadrirotores
Fonte: TOURIER, 2006
Os UAVs citados anteriormente utilizavam um motor CC (corrente contínua)
para movimentar os rotores. Um dos problemas dessa configuração á a necessidade
do acoplamento de um redutor no motor, sendo as engrenagens uma fonte de
vibrações que causavam erros de medição pelo acelerômetro (HOFFMAN, 2007).
Muitos dos projetos de quadrirotores atuais utilizam o motor brushless acionado por
um ESC (Electronic Speed Controller), removendo o problema do redutor.
Apesar de considerar-se a dinâmica do quadcopter linear, esta afirmação só
é verdadeira para baixas velocidades. Para Hoffman (2007) os efeitos
30
aerodinâmicos que inserem uma dinâmica não linear no sistema quando este se
move a velocidades moderadas são três. O primeiro a ser considerado é a influência
do arraste do ar no impulso total gerado pelos rotores. Os segundo fenômeno é o
bater das lâminas do rotor, que ocorre durante o movimento translacional, quando
uma pás está sobre a influência de uma velocidade efetiva do ar maior do que a
outra. O último fator aerodinâmico que ocorre é o rompimento do fluxo de ar
provocado pelo impacto dos vórtices sobre a fuselagem, implicando em uma
dificuldade maior em realizar o controle de orientação do veículo.Este problema
pode ser significativamente reduzido afastando-se os rotores do centro do
quadrirotor (HOFFMAN, 2007).
Embora, tenha se provado que a construção e implementação do modelo de
aeronave de um quadrirotor em miniatura seja viável, seu controle continua sendo
um objetivo desafiante (BOUABDALLAH, 2004).
2.1.1 Dinâmica do quadcopter
Para que se possa projetar o controle de um sistema é necessário que se
levante um modelo adequado das equações que o governam. No caso do
quadcopter essas equações são relacionadas à sua dinâmica. O quadcopter é um
sistema que apresenta seis graus de liberdade sendo capaz de realizar translação
vertical no eixo Z, horizontal lateral no eixo Y, horizontal longitudinal no eixo X, e
rotações de rolagem ou roll (θ em torno do eixo X), arfagem ou pitch (Φ em torno do
eixo Y) e guinada ou yaw (Ψ em torno do eixo Z) como ilustra a figura 8.
31
Figura 8: Graus de liberdade do quadcopter
Fonte: Elaborado pelos autores
Nos trabalhos de Bouabdallah (2004) e Jun (2011) encontram-se, em
comum, as seguintes hipóteses para a modelagem do quadcopter:
a) A estrutura do quadcopter é rígida e simétrica.
b) O centro de massa e geométrico do quadcopter coincide com a origem do
sistema de coordenadas inerciais.
c) As forças de propulsão e arraste são proporcionais ao quadrado da
velocidade dos rotores.
Para que o quadcopter possa realizar seu movimento em seus seis graus de
liberdade, ele utiliza de quatro rotores idênticos localizados no fim de cada barra,
sendo estas de comprimentos iguais. Cada um dos rotores fornece a estrutura
impulso e torque, sendo que os localizados nas laterais giram em um sentido e os da
frente e da traseira giram no sentido contrário, assim como ilustrado na figura 9. Esta
configuração causa o cancelamento das reações de torque permitindo que o
quadcopter fique estacionário no ar.
32
Figura 9: Esquema de rotação
Fonte: Elaborado pelos autores
Segundo Bresciani (2008) a estrutura do quadcopter permite que apenas
quatro dos seis graus de liberdade do quadcopter sejam diretamente controlados
através de um set-point determinado. Para variável controlável tem-se que o
deslocamento total do sistema pode ser construído a partir de quatro movimentos
básicos, sendo eles:
a) Impulso (Z): variando-se a velocidade de rotação dos rotores
simultaneamente na mesma quantidade, o quadcopter move-se na direção Z das
coordenadas.
b) Rolagem (θ): este movimento ocorre quando se aumenta ou diminui-se a
rotação do rotor da esquerda em relação ao da direita ou vice-versa, provocando um
torque na direção do eixo X da figura 10. Como consequência do movimento de
rolagem, uma componente do impulso é projetada sobre o eixo Y provocando um
movimento nesta direção.
33
Figura 10: Rolagem ou arfagem
Fonte: Elaborado pelos autores
c) Arfagem (Φ): similarmente à rolagem, a arfagem ocorre devido à diferença
de velocidades entre os rotores da frente e da traseira, provocando um torque na
direção do eixo Y da figura 10. A arfagem dera uma componente do impulso na
direção X permitindo o quadcopter a se mover nesta direção.
d) Guinada (Ψ): neste movimento o par de rotores frente e traseira tem a
mesma velocidade de rotação, porém esta é diferente do par esquerda e direita.
Esta diferença de velocidade entre os pares provoca um torque na direção Z da
figura 11, realizando o movimento de guinada. Bresciani (2008) ressalta que as
alterações nas rotações dos rotores não devem ser muito grandes, para evitar o
problema de efeitos aerodinâmicos que inserem uma dinâmica não linear ou
saturam os atuadores do quadcopter.
34
Figura 11: Somatório de momentos (guinada)
Fonte: Elaborado pelos autores
Embora esta seção esteja apresentando um esboço da cinemática do
quadcopter as suas equações cinemática e dinâmica podem ser encontradas no
capítulo 3 da Revisão Teórica.
2.1.2 Sensoriamento
Para os seis graus de liberdade de um corpo rígido, a realização do controle
de um sistema se torna relativamente simples se o modelo da planta for conhecido e
o controlador deter a capacidade de realizar o comando relativo a este modelo. No
entanto na maioria dos casos o modelo completo não está disponível e o controle de
estruturas mecânicas nunca ocorre com a devida precisão. Para resolver este
problema utiliza-se de sensores, que permitem a obtenção de informações sobre o
estado da planta e das suas vizinhanças, permitindo construir um controle capaz de
compensar estes erros, realizado um o controle por malha fechada cujo esquema
está ilustrado na figura 12.
35
Figura 12: Esquema de uma malha fechada de controle
Fonte: Elaborado pelos autores
A mensura precisa a orientação do quadcopter é de primordial importância
para o controle deste sistema, pois a dinâmica deste é controlada em maior parte
pelos parâmetros rolagem, arfagem e guinada. Portanto é necessária a elaboração
de um sistema de sensoriamento capaz de determinar estas variáveis observáveis
da malha com a maior precisão possível.
Para determinação da orientação utiliza-se de IMU que contém um circuito
integrado contendo um giroscópio e acelerômetro MEMS, que normalmente são
suficientes para a maioria das aplicações (MADGWICK, 2010), porém a adição das
medidas de um magnetômetro permite a mensura completa de todos os parâmetros
compondo um sistema AHRS (Attitude and Heading Reference Systems).
Apesar de poder-se compensar os erros provenientes da elaboração de um
modelo incompleto através de um sensor, têm-se o problema da incerteza de
medição presente no próprio processo de medida ou na leitura desta medida
fornecida pelo sensor, o que pode gerar um sinal de controle errado, levando a
planta à saturação, ou ainda, à instabilidade.
A natureza do erro medido pode ser divido em duas parcelas, a primeira é o
erro sistemático e afeta a medida de maneira constante e previsível, a segunda é o
erro aleatório que ocorre devido à variabilidade dos processos físicos envolvidos em
um sistema de medição, cujo valor é sempre imprevisível.
Tais erros são inerentes à medição e não podem ser eliminados, porém
podem ser minimizados de modo que a medida se aproxime a uma máxima possível
equivalente à do valor real. Para tal, utiliza-se uma filtragem no sinal de medição. O
filtro permite a atenuação de ruídos ou erros, até que seu valor seja desprezível.
Existem várias técnicas de filtragem de sinais, e a pesquisa às publicações atuais
36
que antecedeu este projeto, indicou que a otimização deste tratamento de sinal
vincula-se ao uso de mais de um tipo de filtro.
Existem dois tipos principais de filtros que são os filtros digitais e analógicos.
Os filtros analógicos usam circuitos analógicos, que podem ser constituídos de
componentes passivos como resistores, indutores e capacitores ou ativos.Estes
filtros, que também possuem amplificadores operacionais para produzir amplificação
de tensão, também têm como objetivo a realização da filtragem do sinal.
Na filtragem digital os processos de formação do espectro das formas de
onda ocorrem usando componentes digitais na implementação. Em seu trabalho,
Rader (1968), notou que havia uma crescente tendência no aumento da velocidade
e diminuição de custo e tamanho nos CIs digitais, tornando-os uma vertente
crescente na técnica de filtragem de sinal. Rader (1968) explicita ainda as vantagens
da filtragem digital e seu desempenho estável para uma precisão arbitrariamente
alta.A ausência do problema do casamento de impedâncias, e a flexibilidade
presente no qual se pode alterar os parâmetros do filtro para modificar sua resposta,
o que são características intrínsecas à filtragem digital.
Segundo Hernandez (2000) existe um método de cancelamento de ruído
recursivo, adaptativo é aplicado de forma a estimar os sinais elétricos provenientes
de um acelerômetro embutido em um ônibus em um teste de desempenho, por
exemplo. O ruído e/ou as interferências podem corromper o sinal obtido, e torna-se
necessário diminuir o ruído na medição com a aceleração do ônibus. O algoritmo
utilizado tem a vantagem da simplicidade computacional e é bem adequado para
representar o tempo de diferentes características em medições em tempo real da
aceleração. Como o sinal de interesse e o ruído têm muito próxima as bandas de
freqüência, é muito difícil diminuir o ruído usando simples filtros.
Este é o caso que ocorre com o acelerômetro e magnetômetro. No primeiro,
a medição da orientação de um VANT é atrapalhada pela dificuldade de separar a
gravidade e a aceleração linear. Para o segundo, a presença de metais, circuitos
elétricos e fios conduzindo corrente causam distorção magnética na medida do
campo magnético da Terra, logo o acelerômetro e o magnetômetro sozinho não são
fontes confiáveis de dados para determinar a orientação do quadcopter. Para tal
considera-se a implementação do giroscópio no sistema, porém seu bias sofre drift
devido ao movimento contínuo do sistema e às variações de temperatura
(MADGWICK, 2010).
37
Neste caso, a fusão de sensores entre acelerômetro, magnetômetro e
giroscópio é uma boa opção para leitura angular. A principal intenção, em uma fusão
de sensores, é promover a interação entre as magnitudes medidas por cada sensor
individualmente, e correlacioná-las de forma a manter uma resposta aceitável,
mesmo que ocorram erros em alguma leitura, tornando o sistema menos sensível e
mais preciso (VIEIRA, 2011).
Uma das técnicas mais populares para a realização da filtragem e fusão de
sensores na determinação da orientação de um sistema trata-se do algoritmo do
Filtro de Kalman, e derivados deste. A implementação destes algoritmos
fundamentos na técnica de Kalman comprovam a sua eficiência e precisão.
Madgwick (2010) no entanto, aponta que embora possa ser muito difundida, o Filtro
de Kalman estendido apresenta complicações em sua implementação para a
estimativa da orientação devido as iterações de regressão linear, que exigem altas
taxas de amostragem excedendo a largura de banda do sistema, e a necessidade
de vetores grandes para representar as relações entre os estados através da
cinemática rotacional em um espaço tridimensional.
Outro problema relacionado a mensura da orientação de um sistema é a
representação através das matrizes do espaço ortogonal especial com os ângulos
de Euler. Tal método revela-se muito custoso quando se analisa o poder
computacional necessário para resolver este problema através deste método, pois é
necessário resolver um sistema para nove parâmetros diferentes.
Outro ponto importante é o surgimento de singularidades na matriz calculada,
que diminuem os graus de liberdade do sistema impossibilitando a ação apropriada
do controlador em um determinado estado.
Um dos métodos mais comuns para a resolução do problema da orientação
está na utilização de quaternions, juntamente com a utilização de variações do
algoritmos do filtro de Kalman (MAGNUSSEN, 2013). A técnica da determinação dos
ângulos de guinada, rolagem e arfagem através dos quaternions é superior a dos
ângulos de Euler pelos fatores da simplificação computacional do algoritmo, que
ocorre devido a redução dos nove parâmetros a ser determinados para quatro e a
remoção das singularidades na resolução (SABATINI, 2011).
Tendo em mente as complicações das matrizes de Euler e do Filtro de
Kalman estendido, Madgwick elaborou um algoritmo de fusão de sensores MARG
que contém que tem como base o filtro de Kalman representando os estados do
38
sistema através de quaternions. A presença de um algoritmo gradiente descendente
que permite uma performance a baixas taxas de amostragem, e compensação on-
line da distorção magnética e do drift do bias do giroscópio.
Para o sistema de orientação do quadcopter escolheu-se a implementação do
algoritmo de Madgwick as suas características adaptativas.
2.1.3 Controle por PID
O controle pela lei PID é o tipo de controlador mais difundido em sistemas
robóticos, sendo os conceitos e equacionamento deste elaborados no capítulo da
revisão teórica.
Para Bresciani (2008) e Leong (2012) a popularidade deste algoritmo para
sistemas controlados deve-se principalmente a três fatores, sendo estes:
a) A estrutura simples;
b) Boa performance em variados processos;
c) A possibilidade de ajustar os parâmetros sem o modelo específico do
sistema.
Ressalta-se o último fator, pois o modelo exato do quadcopter possui um
equacionamento muito complexo para ser levantado matematicamente (LEONG,
2012).
Embora a lei de controle PID possua fácil implementação, Bresciani (2008),
ressalva que ela possui duas desvantagens. A primeira seria a parte derivativa do
controle calculada pelo erro, para alterações muito bruscas deste o valor de resposta
tenderia ao infinito, saturando os atuadores e levando o quadcopter para fora da
zona de comportamento linear. O segundo ponto de desvantagem localiza-se na
ação integrativa do controlador, quando o sinal proveniente deste, desta vez, satura
os atuadores do sistema. Este problema ocorre quando o erro apresenta variações
muito pequenas durante o tempo, provocando um aumento significativo na parcela
integradora do controlador. Quando o sinal do erro muda, demora muito tempo para
que o sistema restaure seu comportamento linear. esta desvantagem é conhecida
como wind-up.
Para diminuir os efeitos dos inconvenientes do controlador pela lei PID,
altera-se o diagrama de bloco original para um aperfeiçoado. Na parcela derivativa
utiliza-se da leitura direta do feedback ao invés do erro como no PID clássico. Essa
39
solução deve-se ao fato de que o sistema funciona como um filtro impedindo altas
variações no sinal de saída. Para o problema de wind-up utiliza-se um bloco de
saturação após o integrador que irá limitar os valores máximos e mínimos do parcela
integrativa do controlador (BRESCIANI, 2008). A comparação entre o controlador
PID clássico e o modificado pode ser visto na figura 13.
Figura 13: Diagramas PID
Fonte: Elaborado pelos autores
2.2 Estado da Arte
O principal desafio do quadcopter trata-se de construí-lo para que ele seja
dotado de agilidade e capaz de manobras agressivas em um ambiente não
controlado. Esta tendência crescente aumenta o acoplamento dinâmica e as não-
linearidades do sistema, sendo então necessário a implementação de um
controlador mais sofisticado (Mistler, 2001).
Bouabdallah (2004) compara em seu trabalho duas técnicas de controle para
o quadrirotor, a por PID e por LQ (Least Quadratic). Utilizando o modelo derivado do
equacionamento por Euler-Lagrange, nos resultados obtidos o controlador por PID
apresentou melhor performance do que o por LQ, sendo esta diferença atribuída
principalmente à imperfeição do modelo utilizado, que não levou em consideração
atuador. Bouabdallah (2004) observa que embora o controle pela lei PID tenha dado
resultados satisfatórios, a teoria de controle LQ tem potencial em obter resultados
melhores.
Nos controladores baseados nas leis clássicas Han (2013) propõe uma
comparação entre três tipos controladores, dois deles sendo de ordem integral
sendo um baseado na lei de PI (proporcional integral) cujos parâmetros são
40
calculados baseado na lei de Ziegler-Nichols, outro baseado na lei PID e um novo
tipo de controle de ordem fracionária que utiliza o PI como referência. Para testar os
controladores foi utilizado o quadrirotor Aggie Air, cuja função de transferência da
planta de arfagem foi levantada utilizando um algoritmo de sétima ordem de entrada
exógena auto-regressiva, e depois simplificada para um modelo de primeira ordem
mais atraso. Os resultados da simulação, figura 14, para um sinal de entrada do tipo
degrau indicam que controlador de ordem fracionária FO[PI] apresenta
características superiores em relação ao PID e ao PI desenvolvidos pelo autor. O
sobre-sinal e o sinal de estabilização no tempo obtidos para o controlador de ordem
fracionária, foram menores do que os outros dois, ambos, parâmetros importantes
para o sistema de controle de um quadrirotor.
Figura 14: Resultados dos controladores PI, PID e FO[PI]
Fonte: HAN, 2013
Em uma nova abordagem para desenvolver o controle para o quadrirotor
Bouabdallah (2005) utiliza as técnicas de Backstepping e SMC (Sliding-mode
Control). A implementação do controlador utilizando o primeiro algoritmo apresentou
resultados experimentais satisfatórios, sendo capaz de estabilizar o sistema para
41
condições inicias críticas com rapidez. O controle por SMC apresentou resultados
inferiores como demora e dificuldade de estabilização, devido a inserção de
vibrações de alta frequência e baixa amplitude provocando ruídos nos sensores.
Bouabdallah (2005) conclui para trabalhos futuros que pretende desenvolver um
quadrirotor completamente autônomo utilizando um controlador melhorado utilizando
Backstepping.
A crescente popularidade da lógica Fuzzy ou Nebulosa, encontrou nos
últimos anos aplicação no desenvolvimento de controladores robustos. Utilizando do
método Takagi-Sugeno de ordem zero para a otimização de um sistema nebuloso
de interferência auto-ajustável de controle ou STFIS (Self-tunable Fuzzy Interference
System), Zemalache (2009) conseguiu simular um controlador robusto. A robustez
foi testada simulando duas ocasiões especiais, a primeira considerava a falha de um
dos rotores enquanto na segunda considera-se a força de arraste produzida pelo
movimento do quadcopter modelo XSF. Os resultados obtidos quando comparados
com um controlador linearizado realimentado estático ou SFL (Static Feedback
Linearization Controller), observa-se a superioridade do controle utilizando o
algoritmo Fuzzy quando entra na dinâmica no sistema da força de arraste. Para o
sistema utilizando o controlador STFIS, observa-se que o erro consegue zerar com a
interferência do vento enquanto que no controlador SFL este cresce
proporcionalmente ao com o quadrado da velocidade do ar.
O sistema de controle hierárquico tem sido utilizado em sistemas
aeronáuticos, onde as dinâmicas de orientação e translação possuem controladores
separados desenvolvidos que levam em consideração a diferença das taxas de
mensura da translação e da orientação. Bertrand (2011) utiliza dos conceitos de
desenvolvimento de leis de controle para sistemas aeronáuticos, onde a dinâmica da
orientação (escala de tempo rápida) deve convergir mais rapidamente do que a
translacional (escala de tempo lenta), para o desenvolvimento de um controlador
hierárquico utilizando a teoria de perturbação singular. Para o controle da dinâmica
de translação, considerou-se que apenas a mensura da posição estavam
disponíveis, utilizando a estratégia de controle com realimentação parcial para lidar
com a lentidão das medições, retirando então a necessidade de um observador.
Para o controle da atitude considerou-se um controlador que fosse um candidato da
função de controle de Lyapunov, resultando em um controlador estável.
42
Na simulação, Bertrand (2011), mostra que os algoritmos de controle
utilizados para o desenvolvimento de cada controlador, validam a separação das
escalas de tempo, condição considerada para a estratégia de controle. Utilizando um
quadrirotor X4Flyer, que tem como sensores um IMU e uma câmera cujas medidas
são transmitidas através de uma comunicação analógica wireless com a estação de
controle. Embora a Bertrand (2011) considere os resultados satisfatórios observa-se
pela figura 15 a alta oscilação do quadrirotor para as posições desejadas.
Figura 15: Resultados experimentais do controle hierárquico
* Legenda: Tracejado posição desejada; linha cheia posição real.
Fonte: BERTRAND, 2011
Observa-se que os trabalhos pesquisados não indicam nenhum tipo de
controle como o melhor para o sistema do quadrirotor, encontrando-se muitas
divergências sobre o tema. Pode-se de certa forma dizer que o problema de controle
do quadrirotor atualmente encontra somente respostas de engenharia, devido ao
fato de que o modelo do sistema não é exatamente conhecido ou muito complexo
para ser utilizado para o desenvolvimento de um controlador.
43
3 REVISÂO TEÓRICA
Neste capítulo encontra-se toda a derivação matemática para a dinâmica e
cinemática do quadcopter, assim como os algoritmos de filtragem e fusão de
sensores.
3.1 Equacionamento matemático
O equacionamento da dinâmica de um corpo rígido, mesmo que em voo
pairado, envolve múltiplos níveis de interpretação. Em seus seis graus de liberdade,
um corpo rígido, pode transladar ao longo de seus eixos referenciais e rotacionar em
torno destes mesmos eixos.
Quanto à rotação, uma das formas mais simples de se descrever a posição
de um corpo, é através de três ângulos independentes que fazem referência ao
espaço Euclidiano tridimensional, estes são os ângulos de Euler.
Definindo como origem de um sistema de coordenadas fixo, também
chamado de inercial, um ponto na superfície da Terra (desconsiderando seu
movimento orbital), e, um outro sistema de coordenadas móvel (vehicle frame), que
se desloca em translação junto ao corpo rígido, pode-se obter o vetor posição do
corpo em relação ao sistema inercial. Um terceiro frame acompanha as rotações do
corpo em relação ao sistema móvel, o body frame (figura 16).
Figura 16: Coordenadas de múltiplos corpos
Fonte: Elaborado pelos autores
44
A relação, entre as coordenadas do sistema móvel e do sistema fixo, é
definida através de transformações lineares de translação e rotação. Como
parâmetros para os eixos de rotação, os ângulos são Φ (em Z), θ (em X) e Ψ(em Y)
(figura 17).
Figura 17: Ângulos de Euler
Fonte: MCCORMICK, 1995
Sendo â um ângulo qualquer dentre os três ângulos de rotação, ρ o vetor
posição e R a matriz de rotação, a equação geral de transformação das rotações é:
ρ' = R(â)ρ (3)
Assim, a e matriz de representação da rotação para Ψ(guinada) fica:
R(Ψ)=
cosΨ senΨ 0
−senΨ cosΨ 0
0 0 1
(4)
A matriz de representação da rotação para θ (arfagem) fica:
R(θ)=
cosθ 0 −senθ
0 1 0
senθ 0 cosθ
(5)
A matriz de representação da rotação para Φ (rolagem) fica:
45
R(Φ)=
1 0 0
0 cosΦ senΦ
0 −senΦ cosΦ
(6)
Finalmente, considerando os três eixos, tem-se a relação entre o frame do
corpo e o frame do veículo:
R(Φ, θ, Ψ) = R(Φ)*R(θ)*R(Ψ) (7)
Sendo a matriz de rotação
R Φ, θ, Ψ =
=
𝑐𝑜𝑠θcosΨ 𝑐𝑜𝑠θsenΨ −𝑠𝑒𝑛θ
𝑠𝑒𝑛Φ𝑠𝑒𝑛θcosΨ − cosΦsenΨ 𝑠𝑒𝑛Φ𝑠𝑒𝑛θcosΨ + cosΦsenΨ senΦsenθ
𝑐𝑜𝑠Φ𝑠𝑒𝑛θcosΨ + senΦsenΨ 𝑐𝑜𝑠Φ𝑠𝑒𝑛θcosΨ − senΦsenΨ cosΦsenθ
(8)
3.2 Cinemática do quadcopter
A equação 9 descreve a relação cinemática entre os vetores velocidade nas
coordenadas do corpo rígido com 6 graus de liberdade, identificado pelo subscrito
“B”, com a velocidade nas coordenadas inerciais, indicado pelo sobrescrito “E”.
𝑣 𝐸 = 𝐽 𝛩 𝑣 𝐵 (9)
Onde:
𝑣 𝐸 = 𝑃 𝐸
𝛩 𝐸
= [𝑋 𝑌 𝑍 𝜙 𝜃 𝜓] 𝑇 (10)
𝑣 𝐸 = 𝑉 𝐵
𝜔 𝐵
= [𝑢 𝑣 𝑤 𝑝 𝑞 𝑟] 𝑇 (11)
𝐽 𝛩 =
𝑅 𝛩 03𝑥3
03𝑥3 𝑇𝛩
(12)
46
A matriz 𝐽 𝛩 é chamada de Jacobiano, e é composta de 4 submatrizes sendo
elas a matriz de rotação dos eixos 𝑅 𝛩 previamente discutida, a matriz de
transferência 𝑇𝛩 e duas matrizes quadradas nulas de ordem 3. Observa-se que a
submatriz (1, 2) é nula pois o centro das coordenadas do quadcopter coincide com o
das coordenadas inerciais. Caso use-se um sistema de coordenas inerciais cujo a
origem não coincidem, deve-se refazer o jacobiano para a submatriz (1, 2).
As matrizes 𝑅 𝛩, 𝑇𝛩 e 03𝑥3 são definidas de acordo com as equações 13, 14 e
15 respectivamente como:
𝑅 𝛩 =
𝑐 𝜓 𝑐 𝜃 −𝑠 𝜃 𝑐 𝜙 + 𝑐 𝜓 𝑠 𝜃 𝑠 𝜙 𝑠 𝜓 𝑠 𝜙 + 𝑐 𝜓 𝑠 𝜃 𝑐 𝜙
𝑠 𝜓 𝑐 𝜓 𝑐 𝜓 𝑐 𝜙 + 𝑠 𝜓 𝑠 𝜃 𝑠 𝜙 −𝑐 𝜓 𝑠 𝜙 + 𝑠 𝜓 𝑠 𝜃 𝑐 𝜙
−𝑠 𝜃 𝑐 𝜃 𝑠 𝜙 𝑐 𝜃 𝑐 𝜙
(13)
𝑇𝛩 =
1 𝑡 𝜃 𝑠 𝜙 𝑡 𝜃 𝑐 𝜙
0 𝑐 𝜙 −𝑠 𝜙
0
𝑠 𝜙
𝑐 𝜃
𝑐 𝜙
𝑐 𝜃
(14)
03𝑥3 =
0 0 0
0 0 0
0 0 0 (15)
Para as equações anteriores a notação cn, sn e tn representam cos n, sen n e
tag n, respectivamente.
3.3 Dinâmica do quadcopter
Utilizando a segunda lei de Newton,encontra-se na forma matricial a relação
entre os torque 𝜏 𝐵
e as forças 𝐹 𝐵
com as acelerações do sistema do quadcoptero
através da equação 16:
𝑀 𝐵 𝑣 + 𝐶 𝐵 𝑣 𝑣 = 𝛵 (16)
Onde:
a) MB é a matriz que representa a inércia do sistema explicitada na
equação 17.
47
𝑀 𝐵=
𝑚 0 0
0 𝑚 0
0 0 𝑚
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
𝐼𝑋𝑋 0 0
0 𝐼 𝑌𝑌 0
0 0 𝐼 𝑍𝑍
(17)
b) 𝐶 𝐵 𝑣 é matriz que depende velocidade do corpo e contém a força
centrípeta e o troque produzido pela forca de Coriolis, representada na equação 18:
𝐶 𝐵 𝑣 =
03𝑥3 −𝑚 𝑉 𝐵
03𝑥3 −
𝐼𝑋𝑋 0 0
0 𝐼 𝑌𝑌 0
0 0 𝐼 𝑍𝑍
𝜔 𝐵
=
0 0 0
0 0 0
0 0 0
0 𝑚 𝑤 −𝑚 𝑣
−𝑚 𝑤 0 𝑚 𝑢
𝑚 𝑣 −𝑚 𝑢 0
0 0 0
0 0 0
0 0 0
0 𝐼 𝑍𝑍 𝑟 −𝐼 𝑌𝑌 𝑞
−𝐼 𝑍𝑍 𝑝 0 𝐼𝑋𝑋 𝑝
𝐼 𝑌𝑌 𝑞 −𝐼𝑋𝑋 𝑝 0
(18)
c) 𝛵 é o vetor de força e torque resultantes representado por:
𝛵 = 𝐹 𝐵
𝜏 𝐵
(19)
Para o sistema do quadcopter encontram-se três parcelas que compõe o
vetor 𝛵. A primeira parcela é referente a força da gravidade nas coordenadas do
corpo rígido denominado por 𝐺 𝐵
.A segunda parcela, 𝑂 𝑏 𝑣 , provém dos efeitos
giroscópicos produzidos pela rotação do rotor. A terceira parcela é a contribuição
das forças e torques diretamente produzidos pelo movimento do quadcopter. As três
parcelas são equacionadas respectivamente por 20, 21 e 22.
𝐺 𝐵
=
𝐹𝐺
𝐵
03𝑥1
=
𝑅 𝛩
−1
𝐹𝐺
𝐸
03𝑥1
=
𝑚 𝑔 𝑠 𝜃
−𝑚 𝑔 𝑐 𝜃 𝑠 𝜙
−𝑚 𝑔 𝑐 𝜃 𝑠 𝜙
0
0
0
(20)
𝑂 𝑏 𝑣 =
03𝑥1
− 𝐽 𝑇𝑃 𝜔 𝐵 ×
0
0
1
−1 𝑘
𝛺 𝑘
4
𝑖=1
=
03𝑥1
𝐽 𝑇𝑃
−𝑞
𝑝
1
𝛺 (21)
48
𝑈𝑏 𝛺 = 𝐸 𝐵 𝛺2
=
0
0
𝑏 𝛺1
2
+ 𝛺2
2
+ 𝛺3
2
+ 𝛺4
2
𝑏 𝑙 𝛺4
2
− 𝛺2
2
𝑏 𝑙 𝛺3
2
− 𝛺1
2
𝑑 𝛺2
2
+ 𝛺4
2
− 𝛺1
2
− 𝛺2
2
(22)
Onde têm-se que os valores d, b, l, 𝐽 𝑇𝑃, são constantes e representam eles, o
coeficiente de arraste da hélice, o coeficiente de empuxo, o comprimento da haste
que liga o motor ao centro do quadcopter e o momento de inércia da aeronave em
torno do eixo do rotor respectivamente.
Separando as variáveis de interesse em um sistema de equações obtem-se
23:
𝑢 = 𝑣𝑟 − 𝑤𝑞 + 𝑔 sin 𝜃
𝑣 = 𝑤𝑝 − 𝑢𝑟 − 𝑔 cos 𝜃 sin 𝜙
𝑤 = 𝑢𝑞 − 𝑣𝑝 − 𝑔cos 𝜃 sin 𝜙 +
𝑏 𝛺1
2
+ 𝛺2
2
+ 𝛺3
2
+ 𝛺4
2
𝑚
𝑝 =
𝐼 𝑌𝑌 − 𝐼 𝑍𝑍
𝐼𝑋𝑋
𝑞𝑟 −
𝐽 𝑇𝑃
𝐼𝑋𝑋
𝑞 −𝛺1 + 𝛺2 − 𝛺3 + 𝛺4 +
𝑏 𝑙 𝛺4
2
− 𝛺2
2
𝐼𝑋𝑋
𝑞 =
𝐼 𝑍𝑍 − 𝐼 𝑋𝑋
𝐼 𝑌𝑌
𝑝𝑟 +
𝐽 𝑇𝑃
𝐼 𝑌𝑌
𝑝 −𝛺1 + 𝛺2 − 𝛺3 + 𝛺4 +
𝑏 𝑙 𝛺4
2
− 𝛺2
2
𝐼 𝑌𝑌
𝑟 =
𝐼𝑋𝑋 − 𝐼 𝑌𝑌
𝐼 𝑍𝑍
𝑝𝑞 +
𝑑 𝛺2
2
+ 𝛺4
2
− 𝛺1
2
− 𝛺2
2
𝐼 𝑍𝑍
(23)
3.4 Dinâmica dos rotores
Pré requisito ao equilíbrio do conjunto, há a capacidade de sustentabilidade
da altitude do voo. No caso do quadcopter, esta sustentação é alcançada através
das hélices. São equipamentos de propulsão acoplados aos motores que convertem
a energia da rotação em translação, empurrando o fluido à sua volta. As hélices são
formadas por conjuntos de asas, que ao serem rotacionadas geram uma diferença
de pressão entre suas superfícies superior e inferior, segundo explicitam a 3ª lei de
Newton e o princípio de Bernoulli.
O comportamento de uma hélice pode ser baseado em 3 parâmetros; o
coeficiente de Thrust cT, coeficiente de potência cP e raio da hélice r, 𝜌 a densidade
49
do ar e w a velocidade angular, que permitem calcular as seguintes equações 24 e
25 (RODRIGUES, 1964).
𝑇 =
𝑐𝑇4ρ𝑟4 𝜔2
𝜋2 (24)
𝑃𝑝 =
𝑐𝑃4 ρ𝑟5 𝜔3
𝜋3 (25)
Através destas equações é possível observar que 𝑇 (força de impulso) e 𝑃𝑝
(potência de propulsão) aumentam consideravelmente com o aumento do diâmetro,
e por consequência o consumo de energia também, diminuindo a autonomia do
sistema.
3.5 Algoritmo de fusão de sensores
O filtro de Magdwick (2010) usa o sistema de quaternions para representar a
orientação do sistema MARG, usando como base o algoritmo do filtro de Kalman. O
valor do quaternion é atualizado através da equação 26 que utiliza uma integração
para sistemas discretos.
𝑞𝑡,𝜔 = 𝑞 𝑒𝑠𝑡,𝑡−1 + (
1
2
𝑞 𝑒𝑠𝑡,𝑡−1𝐸
𝑆
𝐸
𝑆
𝐸
𝑆
× 𝜔𝑡)∆𝑡.
𝑆 (26)
Onde:
a) 𝑞𝑡,𝜔𝐸
𝑆
: o quaternion que determina a orientação do sistema atualizado
através das medidas do giroscópio
b) 𝑞 𝑒𝑠𝑡,𝑡−1𝐸
𝑆
: o quaternion estimado a posteriori do tempo t-1.
c) 𝜔𝑡.
𝑆
: os valores do obtidos do giróscopio. O sobrescrito S indica que os
valores obtidos são relativos ao frame do sensor.No sistema
quaterniônico o vetor para a rotação é escrito como na equação 27.
𝜔𝑡.
𝑆
= 0 𝜔 𝑥 𝜔 𝑦 𝜔𝑧 (27)
d) ∆𝑡: período de amostragem do sensor.
50
Para determinadas aplicações pode-se admitir uma solução incompleta dos
ângulos de Euler, mas uma solução por quaternion requer que todos os três ângulos
sejam computados. Isto pode ser obtido através de um problema de otimização de
função 𝑓( 𝑞𝐸
𝑆
, 𝑑.
𝐸
, 𝑠).
𝑆
por minimização. A função descrita anteriormente é computada
por 28.
𝑓( 𝑞𝐸
𝑆
, 𝑑.
𝐸
, 𝑠).
𝑆
= 𝑞∗
×𝐸
𝑆
𝑑.
𝐸
× 𝑞𝐸
𝑆
− 𝑠.
𝑆 (28)
Sendo:
a) 𝑞𝐸
𝑆
: quaternion que contém a orientação do quadcopter
𝑞∗
= 𝑞1 𝑞2 𝑞3 𝑞4𝐸
𝑆 (29)
b) 𝑞∗
𝐸
𝑆
: é o conjugado do quaternion que contém a orientação do quadcopter:
𝑞∗
= 𝑞1 −𝑞2 −𝑞3 −𝑞4𝐸
𝑆 (29)
c) 𝑑.
𝐸
: quaternion que descreve a direção do campo de referência nas
coordenadas inerciais.
𝑑.
𝐸
= 0 𝑑 𝑥 𝑑 𝑦 𝑑 𝑧 (30)
d) 𝑠.
𝑆
: quaternion que descreve a direção da orientação do sensor.
𝑠.
𝑆
= 0 𝑠𝑥
𝑠 𝑦 𝑠𝑧 (31)
O algoritmo gradiente descendente apresenta a qualidade de simplicidade de
implementação e computação, logo o quaternion estimado através das variáveis
observáveis do acelerômetro e magnetômetro será dado pela equação 32.
𝑞∇,𝑡 = 𝑞 𝑒𝑠𝑡,𝑡−1 − 𝜇𝑡
∇𝑓( 𝑞𝐸
𝑆
, 𝑑.
𝐸
, 𝑠).
𝑆
∇𝑓( 𝑞𝐸
𝑆
, 𝑑.
𝐸 , 𝑠).
𝑆𝐸
𝑆
𝐸
𝑆
(32)
O valor do divergente de 𝑓( 𝑞𝐸
𝑆
, 𝑑.
𝐸
, 𝑠).
𝑆
é determinado pelo produto de sua
função objetiva pelo seu Jacobiano. Para a gravidade temos as equações 33 e 34.
51
𝑓( 𝑞𝐸
𝑆
, 𝑎).
𝑆
=
2 𝑞2 𝑞4 − 𝑞1 𝑞3 − 𝑎 𝑥
2 𝑞1 𝑞2 + 𝑞3 𝑞4 − 𝑎 𝑥
2
1
2
− 𝑞2
2
− 𝑞3
2
− 𝑎 𝑧
(33)
𝐽 𝑞𝐸
𝑆
=
−2𝑞3 2𝑞4 −2𝑞1
2𝑞2 2𝑞1 2𝑞4
0 −4𝑞2 −4𝑞3
2𝑞2
2𝑞3
0
(34)
Onde 𝑎.
𝑆
é o quaternion com as leituras do acelerômetro e 𝑎 𝑥, 𝑎 𝑦 e 𝑎 𝑧são as
componentes de seus respectivos eixos.
Para a orientação em relação ao campo magnético da Terra o Jacobiano e a
função objetiva tomam o formato das equações 35 e 36.
𝑓( 𝑞𝐸
𝑆
, 𝑏.
𝐸
, 𝑚).
𝑆
=
2𝑏 𝑥 0.5 − 𝑞3
2
− 𝑞4
2
+ 2𝑏𝑧 𝑞2 𝑞4 − 𝑞1 𝑞3 − 𝑚 𝑥
2𝑏 𝑥 𝑞2 𝑞4 − 𝑞1 𝑞3 + 2𝑏𝑧 𝑞1 𝑞2 + 𝑞3 𝑞5 − 𝑚 𝑦
2𝑏 𝑥 𝑞2 𝑞4 + 𝑞1 𝑞3 + 2𝑏𝑧 0.5 − 𝑞2
2
− 𝑞3
2
− 𝑚 𝑧
(35)
𝐽 𝑞𝐸
𝑆
, 𝑏.
𝐸
=
=
−2𝑏𝑧 𝑞3 2𝑏𝑧 𝑞4 −4𝑏 𝑥 𝑞3 − 2𝑏𝑧 𝑞1
−2𝑏 𝑥 𝑞4 + 2𝑏𝑧 𝑞2 2𝑏 𝑥 𝑞3 + 2𝑏𝑧 𝑞1 2𝑏 𝑥 𝑞2 + 2𝑏𝑧 𝑞4
2𝑏 𝑥 𝑞3 2𝑏 𝑥 𝑞4 − 2𝑏𝑧 𝑞2 2𝑏 𝑥 𝑞1 − 4𝑏𝑧 𝑞3
−4𝑏 𝑥 𝑞4 + 2𝑏𝑧 𝑞2
−2𝑏 𝑥 𝑞1 + 2𝑏𝑧 𝑞3
2𝑏 𝑥 𝑞2
(36)
Onde 𝑏.
𝐸
é vetor que contém o campo magnético da Terra que contém
componentes 𝑏 𝑥 e 𝑏𝑧. O vetor 𝑚.
𝑆
é o quaternion com as medidas do magnetômetro
sendo 𝑚 𝑥, 𝑚 𝑦 e 𝑚 𝑧 as componentes dos respectivos eixos.
Dada as equações 26 e 32 realizamos uma fusão das leituras dos sensores
através de um filtro complementar descrito na equação 37.
𝑞 𝑒𝑠𝑡,𝑡𝐸
𝑆
= 𝛾𝑡 𝑞∇,𝑡𝐸
𝑆
+ 1 − 𝛾𝑡 𝑞𝑡,𝜔𝐸
𝑆 (37)
Onde 𝛾𝑡 é uma grandeza definida com valores entre 0 e 1. Madgwick (2010)
esclarece que esta grandeza apresenta um valor ótimo quando a taxa de
divergência de 𝑞𝑡,𝜔𝐸
𝑆
é igualada a taxa de convergência de 𝑞∇,𝑡𝐸
𝑆
, determinada por 𝛽.
Sabendo-seque a taxa de convergência 𝑞∇,𝑡𝐸
𝑆
não possui um limite superior,
ela pode ser assumida como um valor muito grande, logo portanto 𝜇𝑡também pode
52
ser considerado como tendo um valor muito grande. Levando em consideração
estas hipóteses simplificamos a equação 37 para a 38.
𝑞 𝑒𝑠𝑡,𝑡𝐸
𝑆
= 𝑞 𝑒𝑠𝑡,𝑡−1𝐸
𝑆
+ 𝑞 𝜔,𝑡 − 𝛽
∇𝑓
∇𝑓𝐸
𝑆
∆𝑡
(38)
Levando em conta a distorção magnética presente no sistema do quadcopter,
o filtro de Madgwick propõe uma correção do campo magnético da terra através de
uma variável 𝑕𝑡
𝐸
, descrito na equação 29, que representa este campo no frame da
terra medido em um tempo t.
𝑕𝑡
𝐸
= 0 𝑕 𝑥 𝑕 𝑦 𝑕 𝑧 = 𝑞 𝑒𝑠𝑡,𝑡−1𝐸
𝑆
× 𝑚𝑡
𝑆
× 𝑞 𝑒𝑠𝑡,𝑡−1
∗
𝐸
𝑆 (39)
Este novo parâmetro permite que os elementos de erro presentes na mensura
do campo magnético da Terra possam ser corrigidos se 𝑕𝑡
𝐸
e 𝑏.
𝐸
forem da mesma
inclinação. Logo tem-se que:
𝑏.
𝐸
= 0 𝑕 𝑥
2
+ 𝑕 𝑦
2 0 𝑕 𝑧
(40)
Para o drift do offset do giroscópio utiliza-se um quaternion normalizado que
contém o erro estimado na taxa de variação de orientação, determinando o erro
sistemático através de:
𝜔 𝜖,𝑡
𝑆
= 2 𝑞 𝑒𝑠𝑡,𝑡−1
∗
𝐸
𝑆
× 𝑞𝜖,𝑡𝐸
𝑆 (41)
O valor do offset no tempo t pode ser determinado através da integração
discreta de 𝜔 𝜖,𝑡
𝑆
, que pode ser escrita como:
𝜔 𝑏,𝑡
𝑆
= 𝜁 𝜔 𝜖,𝑡
𝑆
𝑡
∆𝑡 (42)
Baseando-se nas equações 42, 39 e 38 constrói-se um diagrama de blocos
que indica uma malha semelhante à aquela ilustrada na figura 18.
53
Figura 18: Digrama de blocos representando o MARG de Madgwick
Fonte: Adaptado de Magdwick (2010)
54
4 METODOLOGIA
Pelo fato deste trabalho tratar de um objetivo que solicita relativa
interdisciplinaridade de conhecimentos, partimos das conceituações teórica,
matemática e computacional, como forma de nortear a sequência de opções mais
adequadas a um bom resultado. Deste ponto em diante, os esforços estão na
transposição das soluções teóricas e virtuais para o sistema real, através das
seguintes etapas:
a) Diagramação mecânica e cinemática da estrutura física do aeromodelo,
suas características sobre capacidade de sustentação e estabilidade;
b) Implementação do algoritmo de controle e sua utilização em plataforma
de um grau de liberdade.
c) Parametrização do algoritmo de interfaceamento sensores-
microcontrolador;
d) Construção do circuito de desenvolvimento agregado ao
microcontrolador, estrutura do aeromodelo com quatro rotores e seus respectivos
ESCs (Electronic Speed Controllers) e da plataforma de teste para sustentação.
e) Complementação da estrutura física para seus quatro rotores no
modelo completo do quadcopter;
f) Simulação em ambiente computacional e otimização das equações
dinâmicas e seus referentes coeficientes de ganho;
g) Simulação em ambiente computacional, otimização do controle, seus
referentes coeficientes de ganho dos controladores;
h) Implementação do algoritmo de controle na plataforma do quadcopter.
i) Análise de resultados e conclusão.
A metodologia empregada em cada etapa será descrita a seguir.
4.1 Diagramação mecânica
Baseando-se na análise feita sobre as equações 24 e 25 da seção 3.4 nota-
se que a análise da melhor configuração para as hélices deve ser baseada em
particularidades do aeromodelo, como, potência e faixa de eficiência dos motores,
tipo de bateria, tempo de resposta e peso. Abaixo, uma estimativa do peso do
conjunto na tabela 1:
55
Tabela 1: Peso estimado do protótipo
Componentes estruturais: Peso [g]: Quantidade: Conjunto[g]:
Motores 39 4 156
ESCs 34 4 136
Hélices 10 4 40
Spinners 12 4 48
Microcontrolador 35 1 35
Sensores 5 1 5
Hastes 74.3 2 148.6
Junção estrutural (frame) 58 2 116
Junções estruturais (motores) 2.6 4 10.4
Total [g]: 695
Fonte: Elaborado pelos autores
Sendo assim toda a estrutura do protótipo poderá alcançar 695 gramas,
peso adequado à capacidade dos motores CF2822 equipados com hélices de dez
polegadas de diâmetro por Cinco polegadas de passo, segundo recomendações do
fabricante, como visto na figura 19.
Figura 19: Especificações dos motores
Fonte: Yin Yan Model, 2014
56
Uma análise mais completa das condições de funcionamento do conjunto de
propulsores, tanto para modo de vôo em sustentação quanto para regime de
empuxo máximo, foi feita pelo site eCalc, com índice de incerteza de dez por
cento.Quanto à autonomia, cerca de três a oito minutos de vôo ao aeromodelo,
dependendo do tipo de voo (eCalc, 2014). Eficiência, temperatura, corrente e demais
dados constantes no anexo A.
A estrutura de um quadcopter é baseada em dois eixos cruzados contendo
um propulsor em cada extremidade. Sendo que, seu centro de massa deve estar
coincidente ao seu centro geométrico. O par de rotores de um eixo gira em sentido
contrário ao par do eixo transverso,de forma que os momentos de reação gerados
pelo giro dos motores tendem a se anular e aumentando-se a estabilidade para a
guinada.
4.2 Implementação para um grau de liberdade
Como forma de se iniciar os estudos da cinemática do sistema, uma
estrutura que modela um grau de liberdade, foi estudada de forma a propiciar a
análise das respostas do sistema contendo apenas dois propulsores (figura 20).
Figura 20: Estrutura de modelamento em um grau de liberdade
Fonte: Elaborado pelos autores
57
Como passo inicial, foi implementado através do ambiente de programação
visual Processing (Processing, 2014), em conjunto com o compilador Arduino,
disponibilizado pela Atmel, um algoritmo de controle PID clássico, à estrutura
composta por apenas dois propulsores. De forma a se obter um sistema pouco
agressivo e capaz de se estabilizar, em seu um grau de liberdade, os coeficientes de
proporcionalidade, integrativo e derivativo, foram de 0,03 (todos os três). Na figura
21, pode-se perceber o set-point de zero grau como a reta horizontal, a resposta
como inclinação variando em torno do set-point, e,a escala de saída em um dos
motores no gráfico mais abaixo.
Figura 21: Curvas de entrada e saída
Fonte: Elaborado pelos autores
Uma resposta melhor veio através da ferramenta computacional Simulink,
contida no software MatLab, após a filtragem mais sintonizada de leitura do sensor e
da equalização dos motores, feita por uma função exponencial em um dos motores,
foi possível o alcance de um sistema rápido, que nos trouxe apenas uma oscilação
após cada entrada degrau. O diagrama no Simulink pode ser visto na figura 22.
Os parâmetros encontrados para o controlador PID foram de 0,065; 0,01 e 0,016
para os ganhos proporcional, integral e derivativo respectivamente.
58
Figura 22: Diagrama em um grau de liberdade no Simulink
Fonte: Elaborado pelos autores
O que se percebeu sob a influência do ramo integrativo, foi que, mesmo atuando
sob mínimos coeficientes, este gerava um atraso na reposta do sistema.
59
Figura 23: Leituras dos sinais do diagrama de blocos
Fonte: Elaborado pelos autores
O controle gerado pelo diagrama de blocos pode ser visto nos gráficos da
figura 23. Onde praticamente inutiliza-se o fator integrativo, o que viabilizou um
sistema rápido e robusto, apesar da incerteza gerada quando a inclinação alcançava
ângulos muito próximos de 0 graus. Seu funcionamento pode ser visto através do
link: <http://youtu.be/sysebtA2ioc>.
4.3 Parametrização do algoritmo de sensoriamento
Neste projeto, se optou pelo módulo de vôo 10DOF (Tem Degrees Of
Freedom) modelo GY88, como equipamento de sensoriamento principal. O GY88 é
uma pequena placa de circuito eletrônico SMC (Surface Mounted Components), que
conta com acelerômetro e giroscópio embutidos no circuito integrado MPU6050,
magnetômetro modelo HMC5883l e o barômetro BMP085. Devido à relevante
60
quantidade de sensores acomodados em uma mesma plataforma, a comunicação
deste equipamento com o MCU (Micro Controller Unit) é feita através do protocolo
I2
C (Inter Integrated Circuits). Basicamente, este código trabalha com dois tipos de
sinais entre os CIs, o sinal de clock (gerado pelo CI mestre) que sincroniza a troca
de informações, e o sinal de dados, este bidirecional.
Para estimativas de posicionamento, o sistema deve ser realimentado com
sinais de rotação e translação. Neste caso, a fusão de sensores entre acelerômetro
e giroscópio é uma boa opção para leitura angular. A principal intenção, em uma
fusão de sensores, é promover a iteração entre as magnitudes medidas por cada
sensor individualmente, e correlacioná-las de forma a manter uma resposta
aceitável, mesmo que ocorram erros em alguma leitura, tornando o sistema menos
sensível e mais preciso (VIEIRA, 2011).
Integrado ao módulo de voo há o acelerômetro digital de três eixos
ADXL345, com capacidade para perceber acelerações de -g à +g. Tomando como
premissa que o acelerômetro esteja exatamente ao centro da estrutura, pode-se
dizer que variações de ângulo em torno de seus próprios eixos não seriam
percebidas pelo mesmo. Mas devido ao alto índice de vibrações do sistema, gerado
pelos motores, há medições indesejadas sendo captadas. Considerando então, que
filtros digitais serão aplicados de forma à reduzir as leituras equivocadas, podemos
teorizar sobre um cálculo que descarta estas vibrações.
Sabendo-se que a aceleração da gravidade é de 9,81 m/s2
, o somatório das
componentes trigonométricas deste vetor pode estimar a inclinação.
(ax2
(t) + az2
(t))1/2
= g (43)
O giroscópio (Angular Rate Sensor), modelo L3G4200D, faz medidas da
velocidade de rotação. Devido à necessidade de contínuas integrais no tempo, para
transformar a leitura da velocidade angular em deslocamento angular, pequenos
desvios são incorporados à leitura, o que torna o giroscópio pouco preciso ao longo
do tempo.
θn+1 = θn ∫ (dθ/dt) dt (44)
61
Como forma de superação de grande parte das fontes de imprecisão
características de cada sensor, a fusão sensorial pode ser entendida com um grau
mínimo de complexidade, como na figura 24:
Figura 24: Diagrama de tratamento de sinal
Fonte: Elaborado pelos autores
Auxiliando o acelerômetro e o giroscópio, temos a bussola digital MCS
(Magnetic Compass Sensor), modelo HMC5883L, pode-se obter o ângulo de
Azimute, pela sua percepção do campo magnético da Terra (equação 16).
Heading = arctag (Yh/Xh) (45)
Como feedback da altitude, pode-se ainda, com o sensor de pressão,
modelo BMP085 (Pressure sensor), estimar a altitude com relativa precisão. Tendo
como off-set a altitude a memória da pressão do ponto de decolagem, é possível
gerar um parâmetro de altitude da aeronave a cada tempo. O algoritmo de fusão de
sensores confeccionado para este projeto pode ser visto no anexo B.
Devido a natureza da fabricação dos sensores MEMS têm-se sempre uma
componente de offset, ou bias, presente que provocam erro nas leituras
provenientes destes. Para que se obtenha os dados corretos das mensuras é
necessário realizar uma calibração do sensor para o valor real medido. Para tal
utilizou-se uma coleta de dados através de uma comunicação serial entre o software
MATLAB e a plataforma de desenvolvimento do Arduino.
A calibração é realizada através da mensura e armazenamento dos dados
dos sensores em várias posições, e então utiliza-se uma biblioteca pré definida para
62
a criar uma superfície de tendência esferoidal. Os parâmetros de interesse para a
esfera calculada são as coordenadas de seu centro, que representam o offset
inerente as medidas do sensor. Para a calibração do magnetômetro e do
acelerômetro obteve-se as figuras 25 e 26.
Figura 25: Calibração do magnetômetro
Fonte: Elaborado pelos autores
63
Figura 26: Calibração do acelerômetro
Fonte: Elaborado pelos autores
4.4 Circuito de desenvolvimento
O esquema elétrico-eletrônico de um aeromodelo do tipo quadrirotor, como
na maioria dos sistemas autômatos, é construído basicamente em prol da interface
entre controlador, atuadores, sensores e bateria. O circuito de desenvolvimento
deste protótipo se assemelha a este modelo. A bateria fornece energia ao regulador
de tensão, que alimenta o microcontrolador com 5 volts, este por sua vez, energiza
os sensores. Esta mesma bateria fornece energia aos motores através dos ESCs
(figura 27):
64
Figura 27: Circuito de desenvolvimento
Fonte: Elaborado pelos autores
Os motores brushless necessitam de uma alimentação caracterizada pela
sobreposição de três ondas senoidais defasadas de 120 graus uma da outra. De
forma que, cada uma destas ondas alimente um grupo diferente de enrolamentos.
Esses motores não possuem sensores que facilitem o monitoramento de sua
posição angular ou velocidade, de forma, que seu alimentação eficiente se torna
uma tarefa bastante complexa.
Os ESCs se encarregam de alimentar os motores, conforme recebem o sinal
de controle do microcontrolador, através do fio chamado data. Este sinal é feito
através do código PWM (Pulse-Width Modulation), que ao ter seu duty-cicle variado,
varia a resposta do ESC.
Os ESCs escolhidos são chamados de Simonk, tiveram seu software
desenvolvido por Simon Kirby. Estes controladores foram otimizados para serem
65
mais rápidos que ESCs normais e se ajustarem melhor ao funcionamento de
quadcopters.
O microcontrolador usado é um Arduino Mega da Atmel, possui um
processador com interface de 8 bits por ciclo, 16MHz de clock e 256KB de memória
flash. Possui ainda, 54 pinos de comunicação com o exterior, dos quais, 15 podem
ser saídas PWM, e 16 entradas analógicas. Sua comunicação com o módulo de voo,
ou IMU, é feita través do código serial I2
C, sendo realizada por apenas dois fios.
Onde, um destes é utilizado para determinação do clock de comunicação, feito pelo
dispositivo master, e o outro é utilizado para troca de comandos e dados. Assim, o
microcontrolador pode determinar os parâmetros de sensoriamento e receber as
magnitudes das leituras sensoriais.
4.5 Desenvolvimento da estrutura completa
Para o desenvolvimento deste trabalho considerou-se a montagem da
estrutura do quadcopter do zero, sendo utilizados os seguintes componentes para
sua construção:
a) 2 Hastes tubulares em alumínio com 980mm de comprimento, diâmetro
externo de 10mm e diâmetro interno de 7mm;
b) 1 Arduino Mega 2560.
c) 1 Módulo de sensoriamento de voo IMU GY88;
d) 4 Controladores eletrônico de velocidade (ESCs) Mistery Simonk de 30A;
e) 4 Motores brushless E-Max CF2822 de 1200Kv, Wmax de 203W, 39g;
f) 1 Estrutura usinada de fixação do frame, em nylon, de 70 x 70mm por
20mm.
g) 4 estruturas fixação dos motores em nylon com diâmetro de 28,5mm.
Como forma de fixação central da estrutura, foram utilizadas duas chapas de
nylon, usinadas de forma que o formato cilíndrico das hastes se encaixassem
transversalmente (figura 28). Assim, a montagem garantiu precisão e resistência
necessárias, sem prejudicar o peso total (figura 29).
66
Figura 28: Estrutura usinada de fixação do frame
Fonte: Elaborado pelos autores
Figura 29: Estrutura de vôo
Fonte: Elaborado pelos autores
67
Após o estabelecimento das fases iniciais do projeto, uma estrutura de
desenvolvimento para mais graus de liberdade foi montada. Estágio em que o
algoritmo de controle começa a integrar cálculos de resposta para diversos fatores
dinâmicos simultaneamente. Na figura 30, fios de nylon atravessam as hastes
tubulares, como forma de limitação do movimento em vôo. Como pode ser visto
através do link: <http://youtu.be/0dkFosPuuWw>.
Figura 30: Plataforma de desenvolvimento para 5 graus de liberdade
Fonte: Elaborado pelos autores
4.6 Equalização das curvas de ganhos dos motores
Diferenças físicas mínimas entres os componentes dos grupos atuadores são
resultantes dos processos de fabricação e dos materiais de sua composição. Devido
estas discrepâncias, desempenhos também discrepantes são obtidos destes
equipamentos.
Como forma de viabilizar o controle do aeromodelo, deve-se homogeneizar as
curvas de potência dos motores, de forma que não haja discrepância entre os sinais
de controles e as ações realizadas pelos atuadores.
68
Para tal realizou-se uma sequência medições das forças exercidas pelos
motores em uma balança digital para determinados valores de PWM, enviados para
o ESC do respectivo.
A realização da coleta dos valores implementou-se a montagem exibida na
figura 31, onde todos os motores permanecem desligados exceto aquele que está
oposto ao que encontra-se apoiado na balança digital, de forma a compor a
dinâmica do momento de inércia real da planta.
Figura 31: Montagem executada para as coletas de dados
Fonte: Elaborado pelos autores
Os valores coletados encontram-se dentro da faixa de PWM utilizada para o
controle do quadcopter. Na tabela 1 estão dispostos os resultados obtidos.
69
Tabela 1: Relação entre o PWM e a força
PWM Motor traseiro Motor direito Motor esquerdo Motor frontal
40 116 104 124 130
45 142 130 150 158
50 166 156 174 186
55 194 180 200 216
60 220 204 228 242
65 246 228 250 262
70 276 260 274 294
75 306 286 304 328
80 334 312 332 358
85 362 342 370 378
90 388 366 392 404
95 416 396 420 436
100 440 416 448 464
Fonte: Elaborado pelos autores
Implementando uma regressão linear para parametrização de uma função
que determina a relação entre a força de empuxo dos atuadores e o PWM obteve-se
os gráficos 1, 2, 3 e 4 para os motores traseiro, direito, esquerdo e frontal
respectivamente.
No canto inferior direito de cada gráfico encontra-se as equações obtidas e a
relação colinear. Observa-se que esta tem seu valor bem próximo de um, indicando
que a estimativa da relação entre a reta e os pontos obtidos possuem uma
aproximação numérica relevante.
70
Gráfico 1: Força x PWM para o motor traseiro
Fonte: Elaborado pelos autores
Gráfico 2: Força X PWM para o motor direito
Fonte: Elaborado pelos autores
y = 5,487x - 106,7
R² = 0,999
0
50
100
150
200
250
300
350
400
450
500
0 20 40 60 80 100 120
Empuxonomotor(gf)
PWM
Motor traseiro
Motor traseiro
y = 5,276x - 109,3
R² = 0,999
0
50
100
150
200
250
300
350
400
450
0 20 40 60 80 100 120
Empuxonomotor(gf)
PWM
Motor direito
Motor direito
71
Gráfico 3: Força X PWM para o motor Esquerdo
Fonte: Elaborado pelos autores
Gráfico 4: Força X PWM para o motor Esquerdo
Fonte: Elaborado pelos autores
y = 5,426x - 97,84
R² = 0,998
0
50
100
150
200
250
300
350
400
450
500
0 20 40 60 80 100 120
Empuxonomotor(gf)
PWM
Motor esquerdo
Motor esquerdo
y = 5,549x - 91,84
R² = 0,999
0
50
100
150
200
250
300
350
400
450
500
0 20 40 60 80 100 120
Empuxodomotor(gf)
PWM
Motor frontal
Motor frontal
72
Pela alta elação colinear, há uma linearização das curvas de ganho dos
motores realizada pelo software de controle dos ESCs. O que viabiliza uma
equalização menos complexa dos grupos atuadores.
4.7 Simulação computacional
Para a determinação dos coeficientes dos controladores PID do quadcopter
foi necessário levantar alguns parâmetros da estrutura do quadcopter. Devido a sua
geometria mais trabalhada construiu-se uma réplica da aeronave no software CAD
SolidWorks versão 2012 de 64 bits, podendo essa ser vista na figura 32. O algoritmo
do programa permite o cálculo do tensor de inércia, dado a inserção correta dos
materiais de cada componente.
Figura 32: Modelo do quadcopter construído no SolidWorks
Fonte: Elaborado pelos autores
Para a estrutura do quadcopter obteve-se o tensor em kg.m2
descrito na
matriz da equação 46.
73
𝐼𝑥𝑥 0 0
0 𝐼𝑦𝑦 0
0 0 𝐼𝑧𝑧
=
0,02257 0 0
0 0,02257 0
0 0 0,04457
(46)
Para o parâmetro 𝐽 𝑇𝑃 do cálculo dos efeitos giroscópicos basta usar o teorema
dos eixos paralelos, logo têm-se que:
𝐽 𝑇𝑃 = 𝐼𝑧𝑧 + 𝑚. 𝑟2
= 0,256797 𝑘𝑔. 𝑚2 (47)
Onde m é a massa do quadcopter e r é a distância do centro do eixo do motor
ao centro de gravidade do quadcopter.
Para a simulação do quadcopter utilizou-se o toolbox incluso no MATLAB, o
Simulink. Os principais setores do diagrama de blocos é discutida e explicada no
texto seguinte.
Dado o levantamento da relação entre o empuxo e a variável de PWM do
microcontrolador, torna-se desnecessário determinar o coeficiente de empuxo das
hélices, permitindo-se modelar os atuadores como descrito no diagrama de blocos
presente na figura 33.
O diagrama anterior representa uma simplificação, do atuador constituído do
ESC e do motor brushless. Dada a própria construção eletrônica do ESC, não há
como o existir valores de empuxo negativo, logo existe uma zona morta para todos
os valores da força exercida pelo motor inferior a zero. Dada as equações dos
gráficos 1, 2, 3 e 4 determinou-se quando a zona morta termina, iniciando então o
controle do quadcopter. Os ganhos presentes no diagrama de blocos são o
coeficiente linear obtidos na linha de tendência.
74
Figura 33: Blocos do atuador
Fonte: Elaborado pelos autores
Seguindo a equação 23, programou-se um bloco que representa a dinâmica
do quadcopter, que terá como entradas os parâmetros físicos discutidos no capítulo
3. Os ângulos de rolagem, arfagem, guinada, e as forças exercidas por cada motor.
As saídas são um vetor contendo as acelerações lineares e angulares nas
coordenadas do corpo e a matriz de rotação, que realiza a transformação das
coordenas do corpo para as inerciais. O código implementado para simulação pode
ser visto no Anexo D.
Para evitar que o haja translação no eixo X e Y no sistema inercial antes da
decolagem do quadrotor, aproximando-se então do sistema real,implementou-se
uma condição de que até que a aceleração de Z ultrapasse zero pela primeira vez
não haja passagem do sinal calculado das acelerações, permanecendo assim o
quadcopter, estático. Para tal, utilizou-se um detector de valor para a aceleração de
Z, um flip-flop tipo memória e um switch tal como diagramado na figura 34.
75
Figura 34: Blocos do atuador
Fonte: Elaborado pelos autores
Dado que as velocidades angulares estarão no body frame é necessário
utilizar uma transformação através da matriz T_Θ da equação 13 discutida no
capítulo 3. A integral do vetor de saída desta transformação serão os ângulos de
rolagem arfagem e guinada.
Através da ferramenta Simulink simulou-se o quadcopter calibrando
manualmente os valores dos coeficientes dos PIDs para a altitude e os ângulos de
orientação até que estes estivessem dentro de uma reposta desejada.
Finalmente, a simulação para a estrutura com quatro rotores em voo,
considerando rolagem, arfagem, guinada e altitude, demonstrou a viabilidade das
equações de modelamento e controle. Como pode ser visto nas figuras 35 e 36, o
aeromodelo apresentou guinada estável com um transitório desconsiderável (traço
praticamente reto), pequeno overshoot para altura após a decolagem (traço mais à
cima), um pequeno número de oscilações transitórias para rolagem e arfagem.
76
Figura 35: Respostas para Z e rotações
Fonte: Elaborado pelos autores
Figura 36: Reposta dos motores (em PWM)
Fonte: Elaborado pelos autores
4.8 Controle
Após estudo do equacionamento dinâmico do modelo e simulação de sua
veracidade, foram definidos os parâmetros de interesse no controle do protótipo.
Passo seguinte, visou-se alcançar razoável capacidade de leitura destas variáveis,
partindo das rotações do corpo.
Mais uma vez, iniciou-se pelo controle de um grau de liberdade, e, fazendo a
leitura da influência das forças dos empuxos sob as angulações, foi possível obter a
77
faixa ótima de atuação. Assim como do coeficiente proporcional (kp) e derivativo
(kd). Lembrando que, devido à ampla gama de velocidades de rotação dos motores,
isso só foi possível devido à linearização de suas curvas de ganho.
Implementado o código de controle em linguagem C, utilizou-se portas de
leitura e conversão analógico/digital para variar os parâmetros de controle através
de potenciômetros de alta precisão, simultaneamente ao funcionamento do
quadcopter.
Ajustados os coeficientes para equilíbrio em torno do eixo X, o mesmo foi feito
para o eixo Y. Em seguida, a aplicação do controle na rotação em Z, através da
discrepância entre a base de força dos atuadores de uma haste para os de outra.
Para o controle de altitude, foi aplicado um controle que obedeceu uma
sequência de setpoints definida. Sequência feita de forma que a posição
translacional em Z, da aeronave, fosse suficiente para manter o voo por cerca de 10
segundos e pousar de forma autômata. O código de controle pode ser visto no
anexo E deste trabalho.
78
5 RESULTADOS
À época de início deste trabalho de conclusão de curso, havia razoável
disponibilidade de trabalhos científicos publicados que abordavam o tema
pretendido. No entanto, a aplicação da Lei de Controle PID à malha de um drone
multirotor foi entendida como novidade.
A primeira considerável conquista deste trabalho foi o estabelecimento da
comunicação entre o microcontrolador e um ESC, dado que não há grande
disponibilidade de biografia sobre seus parâmetros. Construído para receber
comandos digitais do receptor de ondas de rádio, o ESC reconhece sequências
específicas de comandos, faixas de modulação de frequência e de duty-cicles.
Outro ponto relevante, foi o refino do PID em um grau de liberdade, através
do ambiente de desenvolvimento Simulink. O microcontrolador propiciou a interface
entre a gangorra e o computador. Um diagrama bem estruturado trouxe respostas
rápidas e precisas.
O firmware desenvolvido em linguagem C, de forma a manter um loop
eficiente e parâmetros de comando acertados para as faixas de atuação, trouxe o
controle PID para o microcontrolador, o que desvinculou o protótipo do ambiente
computacional.
Através da adaptação da biblioteca FreeIMU, e, da implementação do código
de fusão de sensores, foi obtida a capacidade de leitura dos sensores MEMS. O que
permitiu o sensoriamento necessário ao cálculo de posicionamento.
O êxito em calibrar os pesos de referência das leituras do magnetômetro e do
acelerômetro, foi obtido através do código elaborado em ambiente MatLab. O que
possibilitou uma leitura mais fidedigna dos fenômenos físicos.
Após a construção virtual do modelo equacionado para quatro propulsores, na
visualização do nível estabilidade do voo simulado, foi possível enxergar a atuação
dos coeficientes de controle. Além disto, cita-se a interdependência dos parâmetros
dos diferentes controles, como fator de atenção na composição integral do modelo.
O equilíbrio em voo, desconsideradas ainda as translações, veio com a
aplicação de um algoritmo de controle para três graus de liberdade. O que, devido a
interdependência de atuação existente entre os parâmetros de controle da rotação
em Z, e as rotações em X e Y, somente foi possível diante da adequada aplicação
do equacionamento.
79
Finalmente, o voo autômato foi alcançado, com uma ultima sintonia de seus
coeficientes, offsets e ganhos, e ainda, com a implementação da sequência de
variação de altitudes monitoradas pelo barômetro. Voo este, possível apenas em
ambiente livre de perturbações externas à planta, devido à sua malha de controle de
baixa robustez.
80
6 CONCLUSÃO
Este trabalho alcançou sua proposta. A aplicação da Lei de Controle Clássica
é viável para um sistema relativamente rápido e complexo.
A linearização e a variação de equações por máquina de estados, podem
permitir soluções de partes discretas para um sistema dinâmico.
Desde a pesquisa, até a aplicação, para todas as fases concretizadas neste
trabalho foram fomentadas por trabalhos acadêmicos da mais alta excelência. Seja
pelas orientações providas por nossos professores, por livros, artigos científicos,
teses de doutorado, teses de mestrado, e, até mesmo trabalhos de conclusão de
curso, o esforço da comunidade científica nos agraciou com a sustentação do bom
planejamento, no caminho escolhido para a aplicação da teoria.
Concluímos que a ao optar por um módulo de voo comercial, limitamos o
alcance do projeto às capacidades de sensoriamento deste. Por se tratar da parte
fundamental do sistema, quando tratamos de hardware. No momento, o protótipo em
fase de ajuste de coeficientes pode ser visto através do link:
<http://youtu.be/0dkFosPuuWw>. Um vídeo de seu funcionamento será publicado
em breve neste mesmo canal do site YouTube.
Pelos resultados alcançados, concluímos ainda, que a utilização da
ferramenta de controle PID é suficiente para o controle de um drone. Desde que
considerados os devidos cuidados em sua elaboração e suas limitações.
81
82
REFERÊNCIAS
ABBASI E.; MAHJOOB M. J.; YAZDANPANAH R. Controlling of Quadrirotor UAV
Using a Fuzzy System for Tuning the PID Gains in Hovering Mode. School of
Mechanical Engineering, University of Tehran, Iran, 2013.
ARDrone. Parrot AR Drone 2.0 GPS Edtion. Disponível em:
<http://ardrone2.parrot.com/>. Acesso em: 21 abr. 2014.
BADRI, Abdellatef E.; SINHA, Jyoti K.; ALBARBAR, Alhussein. A typical filter
design to improve the measured signals from MEMS accelerometer.
Measurement, United Kingdom,vol.43, p. 1425-1430, ago. 2010.
BASTA, Peter O. Quad Copter Flight. California State University, Northridge. Thesis
Eletric Engeneering, 2012, p. 60.
BEARD, R. W. Quadrirotor dynamics and control. Brigham Young University,
2008.
BRESCIANI, Tommaso. Modelling, Identification and Control of a Quadrirotor
Helicopter. Universidade de Lund, Thesis Automation Engeneering, 2008, p. 184.
BOUABDALLAH, Samir. Design and Control of Quadrirotors with Application to
Autonomous Flying. École Polytechnique Fédérale de Lausanne. Lausanne, 2007.
BOUAHBDALLAH, Samir; NOTH, André; SEIGWART, Roland. PID vs LQ Control
Techniques Applied Indoor Micro Quadrirotor. In: Proceedings of 2004 IEEE/RSJ
International Conference On Intelligent Robots and Systems. P. 2451-2456,
2004.
BOUAHBDALLAH, Samir; SIEGWART, Roland. Backstepping and Sliding-mode
Techniques Applied to an Indoor Micro Quadrirotor. In: Proceedings of the 2005
IEEE International Conference on Robotics and Automation, 2005, p. 2247-2252.
83
BROWN, Robert Grover; HWANG, Patrick Y. C. Introduction to random signals
and applied Kalman filtering. 4 ed. New York: Wiley,2012,p. 101-201.
DEMPSEY, Martin E. Eyes of the Army – U.S. Army Roadmap for Unmanned Aircraft
Systems 2010–2035, United States Army, 9 abr. 2010. Disponível em: <http://www-
rucker.army.mil/usaace/uas/US%20Army%20UAS%20
RoadMap%202010%202035.pdf>. Acesso em: 17 fev. 2014.
DORF, Richard C.; BISHOP, Robert H. Modern Control Systems. 12 ed. Upper
Saddle River, 2008, 1056 p.
eCalc. Multicopter Calculator. Disponível em:
<http://www.ecalc.ch/xcoptercalc.php?ecalc&lang=en>. Acesso em: 19 abr. 2014.
FAZARINC, Zvonko. Z-transform and its application to development of scientific
simulation algorithms. Computer applications in engineering education,
California, Wiley, v. 21, p. 75-88, mar. 2013.
Freescale Semiconductor. Data sheet MMA7360. Rev. 2, oct. 2007.Disponível em:
<http://www.freescale.com/files/sensors/doc/data_sheet/MMA7360L.pdf>. Acesso
em: 1 nov. 2013.
HERNÁNDEZ, Wilmar. Improving the response of an accelerometer by using optimal
filtering. Sensors and Actuators, Madrid, v. 88, p. 198-208, out. 2000.
HOFFMAN, Gabriel H.; et al. Quadrirotor Helicopter Flight Dynamics and Control:
Theory and Experiment. Proceedings of the AIAA Guidance, Navigation and
Control Conference. 2007. Disponível em:
<http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.77.9015&rep=rep1&type=
pdf>. Acesso em: 23 de mar. 2014.
JIANG, Jun et al. Control Platform Design and Experiment of a Quadrirotor.
Proceedings of the 32nd Chinese Control Conference. 2013. p. 2974-2979.
84
KOWNACKI, Cezary. Optimization approach to adapt Kalman filters for the real-time
application of accelerometer and gyroscope signals filtering. In: Digital Signal
Processing, Orlando, v. 21, n.1, p. 131-140, jan. 2011.
LEONG, Bernard Tat Meng; LOW, Sew Ming; OOI, Melanie Po-Leen. Low-Cost
Microcontroller-based Hover Control Design of a Quadcopter. Procedia
Engineering. V. 41, p. 458-464, 2012.
LEONG, Bernard Tar Meng; LOW, Seng Ming; OOI, Melanie Po-Leen; STOCHERO,
Tahiane. G1 Brasil. Segurança da Copa 2014 terá drones da FAB e PF. São Paulo,
2013, disponível em: <http://g1.globo.com/brasil/noticia/2013/03/seguranca-da-copa-
2014-tera-drones-da-fab-e-pf-exercito-estuda-compra.html>. Acesso em: 13 de fev.
2014.
LEISHMAN, J. Gordon. The Bréguet-Richet Quad-Rotor Helicopter of 1907. 2004.
Disponível em: <http://aero.umd.edu/~leishman/Aero/Breguet.pdf>. Acesso em: 17
de mar. 2014.
MADGWICK, Sebastian O.H. An efficient orientation filter for inertial and
inertial/magnetic sensor arrays. 2010. Disponível em: <http://www.x-
io.co.uk/res/doc/madgwick_internal_report.pdf>. Acesso em: 22 de out. 2014.
MAGNUSSEN, Øyvind; OTTESTAD, Morten; HOVLAND, Geir. Experimental
Validation of a Quaternion-based Attitude Estimation
with Direct Input to a Quadcopter Control System. In: International Conference on
Unmanned Aircraft Systems (ICUAS), Atlanta, p. 480-485, maio 2013.
MCCORMICK, W. Barnes. Aeronautics and Flight Mechanics. New York, Wiley, 2
ed., 1995.
NEWCOME, Laurence R. Unmanned Aviation: A brief history of unmanned
aerial vehicles. Virginia, America Institute of Aeronautics and Astronautics, 2004.
PRISACARIU, Victor Adrian; REID, Ian. 3D hand tracking for human computer
85
interaction. Image and Vision Computing, United Kingdom, v. 30, p. 236-250, jan.
2012.
Processing. Processing 2. Disponível em: <http://www.processing.org/>. Acesso
em: 25 abr. 2014.
QISHUANG, Liu Xinbo. Applications of chirp z transform and multiple modulation
zoom spectrum to pulse phase thermography inspection. NDT and E international,
Beijing, v. 54, p. 1-8, mar. 2013.
RADER, Charles M. On Digital Filtering. IEEE Transactions on Audio and
Electroacoustics, v.16, n. 3, p. 303-314, set. 1968.
RODRIGUES, José. Aeromodelismo teórico e prático. Serviço de Publicações da
Mocidade Portuguesa, 1964.
SABATINI, Angelo Maria. Kalman-Filter-Based Orientation Determination
UsingInertial/Magnetic Sensors: Observability Analysis and
Performance Evaluation. In: Sensors, v. 11, p. 9182-9206, 2011.
SHI, Peng; KAYA, C. Yalcin. Robust Kalman filtering for continuous-time systems
with norm-bounded nonlinear uncertainties. IMA Journal of Mathematical Control
and Information, v. 17, n. 4, p. 363-373, set. 1998.
SICILIANO, Bruno; KATHIB, Oussama. Springer Handbook of Robotics. Berlin, p.
1611, 2008.
STOCHERO, Tahiane. G1 Brasil. Segurança da Copa 2014 terá drones da FAB e
PF. São Paulo, 2013. Disponível em:
<http://g1.globo.com/brasil/noticia/2013/03/seguranca-da-copa-2014-tera-drones-da-
fab-e-pf-exercito-estuda-compra.html>. Acesso em: 13 de Fev. 2014.
86
TAVAKOLI, Mahmoud; MARQUES, Lino; ALMEIDA, Aníbal T. de. 3DCLIMBER:
Climbing and manipulation over 3D structures. Mechatronics, Coimbra, vol. 21, p.
48-62, set. 2010.
YANG, Aiying; LAI, Junsen; SUN, Yu-nan. A chirp Z transform based software
synchronization method for optical performance monitoring. IEEE Photonics
technology letters, Beijing, v. 23, n. 22, p. 1739-1741, nov. 2011.
Yin Yan Model. Manual E-Max CF2822. Disponível em:
<http://www.http://www.yinyanmodel.com/en/ProductView.asp?ID=58>. Acesso em:
20 apr. 2014.
87
88
ANEXOS
ANEXO A - CARACTERÍSTICAS DOS PROPULSORES
89
90
ANEXO B - CÓDIGO DE FUSÃO DE SENSORES
//Fusão de sensores pela teoria de MADGWICK AHRS
void MadgwickAHRS(float gx, float gy, float gz, float ax, float ay, float az, float mx,
float my, float mz) {
floatrecipNorm;
float s0, s1, s2, s3;
float qDot1, qDot2, qDot3, qDot4;
floathx, hy;
float _2q0mx, _2q0my, _2q0mz, _2q1mx, _2bx, _2bz, _4bx, _4bz, _2q0, _2q1,
_2q2, _2q3, _2q0q2, _2q2q3, q0q0, q0q1, q0q2, q0q3, q1q1, q1q2, q1q3, q2q2,
q2q3, q3q3;
qDot1 = 0.5f * (-q1 * gx - q2 * gy - q3 * gz);
qDot2 = 0.5f * (q0 * gx + q2 * gz - q3 * gy);
qDot3 = 0.5f * (q0 * gy - q1 * gz + q3 * gx);
qDot4 = 0.5f * (q0 * gz + q1 * gy - q2 * gx);
if(!((ax == 0.0f) && (ay == 0.0f) && (az == 0.0f))) {
recipNorm = invSqrt(ax * ax + ay * ay + az * az);
ax *= recipNorm;
ay *= recipNorm;
az *= recipNorm;
recipNorm = invSqrt(mx * mx + my * my + mz * mz);
mx *= recipNorm;
my *= recipNorm;
mz *= recipNorm;
_2q0mx = 2.0f * q0 * mx;
_2q0my = 2.0f * q0 * my;
_2q0mz = 2.0f * q0 * mz;
_2q1mx = 2.0f * q1 * mx;
_2q0 = 2.0f * q0;
_2q1 = 2.0f * q1;
_2q2 = 2.0f * q2;
_2q3 = 2.0f * q3;
_2q0q2 = 2.0f * q0 * q2;
Controle PID de quadricóptero usando IMU
Controle PID de quadricóptero usando IMU
Controle PID de quadricóptero usando IMU
Controle PID de quadricóptero usando IMU
Controle PID de quadricóptero usando IMU
Controle PID de quadricóptero usando IMU
Controle PID de quadricóptero usando IMU
Controle PID de quadricóptero usando IMU
Controle PID de quadricóptero usando IMU
Controle PID de quadricóptero usando IMU
Controle PID de quadricóptero usando IMU
Controle PID de quadricóptero usando IMU
Controle PID de quadricóptero usando IMU
Controle PID de quadricóptero usando IMU
Controle PID de quadricóptero usando IMU
Controle PID de quadricóptero usando IMU
Controle PID de quadricóptero usando IMU
Controle PID de quadricóptero usando IMU

Mais conteúdo relacionado

Mais procurados

Aula 1 - Introdução ao Desenho Técnico
Aula 1 - Introdução ao Desenho TécnicoAula 1 - Introdução ao Desenho Técnico
Aula 1 - Introdução ao Desenho TécnicoEllen Assad
 
Apostila de FMEA ENGETELES.pdf
Apostila de FMEA ENGETELES.pdfApostila de FMEA ENGETELES.pdf
Apostila de FMEA ENGETELES.pdfssuser806eef
 
Resistência dos materiais r. c. hibbeler
Resistência dos materiais   r. c. hibbelerResistência dos materiais   r. c. hibbeler
Resistência dos materiais r. c. hibbelerMeireles01
 
Apostila Teoria das Estruturas
Apostila Teoria das EstruturasApostila Teoria das Estruturas
Apostila Teoria das EstruturasEngenheiro Civil
 
PROCESSOS DE FABRICAÇÃO - FRESAMENTO - IFSP SP
PROCESSOS DE FABRICAÇÃO - FRESAMENTO - IFSP SPPROCESSOS DE FABRICAÇÃO - FRESAMENTO - IFSP SP
PROCESSOS DE FABRICAÇÃO - FRESAMENTO - IFSP SPRBarnabe
 
Resistência muscular localizada rml
Resistência muscular localizada   rmlResistência muscular localizada   rml
Resistência muscular localizada rmlpagodes
 
Estrutura de Dados II - Apresentação da Disciplina
Estrutura de Dados II - Apresentação da DisciplinaEstrutura de Dados II - Apresentação da Disciplina
Estrutura de Dados II - Apresentação da DisciplinaDaniel Arndt Alves
 
Imc power-point
Imc power-pointImc power-point
Imc power-pointTurma EFA
 
Projeto Recomeçar - Espaço Educacional
Projeto Recomeçar - Espaço EducacionalProjeto Recomeçar - Espaço Educacional
Projeto Recomeçar - Espaço EducacionalJamile Coelho
 
Pdf 2 apostila - equipamentos para o processamento de graos
Pdf 2   apostila - equipamentos para o processamento de graosPdf 2   apostila - equipamentos para o processamento de graos
Pdf 2 apostila - equipamentos para o processamento de graosWaters Roll
 

Mais procurados (20)

Aula 1 - Introdução ao Desenho Técnico
Aula 1 - Introdução ao Desenho TécnicoAula 1 - Introdução ao Desenho Técnico
Aula 1 - Introdução ao Desenho Técnico
 
Apostila de FMEA ENGETELES.pdf
Apostila de FMEA ENGETELES.pdfApostila de FMEA ENGETELES.pdf
Apostila de FMEA ENGETELES.pdf
 
Resistência dos materiais r. c. hibbeler
Resistência dos materiais   r. c. hibbelerResistência dos materiais   r. c. hibbeler
Resistência dos materiais r. c. hibbeler
 
FISIOLOGIA DO ESFORÇO
FISIOLOGIA DO ESFORÇOFISIOLOGIA DO ESFORÇO
FISIOLOGIA DO ESFORÇO
 
Programando microcontroladores pic março
Programando microcontroladores pic marçoProgramando microcontroladores pic março
Programando microcontroladores pic março
 
Apostila Teoria das Estruturas
Apostila Teoria das EstruturasApostila Teoria das Estruturas
Apostila Teoria das Estruturas
 
Diagrama de fluxo de dados DFD
Diagrama de fluxo de dados DFDDiagrama de fluxo de dados DFD
Diagrama de fluxo de dados DFD
 
Resistencia estabilidade
Resistencia estabilidadeResistencia estabilidade
Resistencia estabilidade
 
Flip Flops Parte 4
Flip Flops Parte 4Flip Flops Parte 4
Flip Flops Parte 4
 
PROCESSOS DE FABRICAÇÃO - FRESAMENTO - IFSP SP
PROCESSOS DE FABRICAÇÃO - FRESAMENTO - IFSP SPPROCESSOS DE FABRICAÇÃO - FRESAMENTO - IFSP SP
PROCESSOS DE FABRICAÇÃO - FRESAMENTO - IFSP SP
 
Aula 29 correntes
Aula 29   correntesAula 29   correntes
Aula 29 correntes
 
Resistência muscular localizada rml
Resistência muscular localizada   rmlResistência muscular localizada   rml
Resistência muscular localizada rml
 
Desenho tecnico
Desenho tecnicoDesenho tecnico
Desenho tecnico
 
Estrutura de Dados II - Apresentação da Disciplina
Estrutura de Dados II - Apresentação da DisciplinaEstrutura de Dados II - Apresentação da Disciplina
Estrutura de Dados II - Apresentação da Disciplina
 
Imc power-point
Imc power-pointImc power-point
Imc power-point
 
Automacao Residencial
Automacao ResidencialAutomacao Residencial
Automacao Residencial
 
Aula unid 3_4
Aula unid 3_4Aula unid 3_4
Aula unid 3_4
 
Projeto Recomeçar - Espaço Educacional
Projeto Recomeçar - Espaço EducacionalProjeto Recomeçar - Espaço Educacional
Projeto Recomeçar - Espaço Educacional
 
Pdf 2 apostila - equipamentos para o processamento de graos
Pdf 2   apostila - equipamentos para o processamento de graosPdf 2   apostila - equipamentos para o processamento de graos
Pdf 2 apostila - equipamentos para o processamento de graos
 
Avalação do idoso
Avalação do idosoAvalação do idoso
Avalação do idoso
 

Destaque

Workshop iniciação à robótica - Gyro
Workshop iniciação à robótica - GyroWorkshop iniciação à robótica - Gyro
Workshop iniciação à robótica - GyroArticacc, Lda
 
WAWRJ - Mobile Analytics - Entendendo as necessidades do novo consumidor
WAWRJ - Mobile Analytics - Entendendo as necessidades do novo consumidorWAWRJ - Mobile Analytics - Entendendo as necessidades do novo consumidor
WAWRJ - Mobile Analytics - Entendendo as necessidades do novo consumidorAvantare Inteligência Interativa
 
Manual aeronave Cessna 152 - Aeroclube de Jundiaí
Manual aeronave Cessna 152 - Aeroclube de JundiaíManual aeronave Cessna 152 - Aeroclube de Jundiaí
Manual aeronave Cessna 152 - Aeroclube de JundiaíLucas Carramenha
 
Fábio Dal Poz - Engenharia de Aplicação - Workshop Novas Tecnologias em Lubri...
Fábio Dal Poz - Engenharia de Aplicação - Workshop Novas Tecnologias em Lubri...Fábio Dal Poz - Engenharia de Aplicação - Workshop Novas Tecnologias em Lubri...
Fábio Dal Poz - Engenharia de Aplicação - Workshop Novas Tecnologias em Lubri...Fábio Dal Poz
 
Gravitação ssmed
Gravitação ssmedGravitação ssmed
Gravitação ssmedsartremoyses
 
Introdução a Sistemas Embarcados com Arduino - mini-curso
Introdução a Sistemas Embarcados com Arduino - mini-cursoIntrodução a Sistemas Embarcados com Arduino - mini-curso
Introdução a Sistemas Embarcados com Arduino - mini-cursoFelipe Martins
 

Destaque (7)

Hmd
HmdHmd
Hmd
 
Workshop iniciação à robótica - Gyro
Workshop iniciação à robótica - GyroWorkshop iniciação à robótica - Gyro
Workshop iniciação à robótica - Gyro
 
WAWRJ - Mobile Analytics - Entendendo as necessidades do novo consumidor
WAWRJ - Mobile Analytics - Entendendo as necessidades do novo consumidorWAWRJ - Mobile Analytics - Entendendo as necessidades do novo consumidor
WAWRJ - Mobile Analytics - Entendendo as necessidades do novo consumidor
 
Manual aeronave Cessna 152 - Aeroclube de Jundiaí
Manual aeronave Cessna 152 - Aeroclube de JundiaíManual aeronave Cessna 152 - Aeroclube de Jundiaí
Manual aeronave Cessna 152 - Aeroclube de Jundiaí
 
Fábio Dal Poz - Engenharia de Aplicação - Workshop Novas Tecnologias em Lubri...
Fábio Dal Poz - Engenharia de Aplicação - Workshop Novas Tecnologias em Lubri...Fábio Dal Poz - Engenharia de Aplicação - Workshop Novas Tecnologias em Lubri...
Fábio Dal Poz - Engenharia de Aplicação - Workshop Novas Tecnologias em Lubri...
 
Gravitação ssmed
Gravitação ssmedGravitação ssmed
Gravitação ssmed
 
Introdução a Sistemas Embarcados com Arduino - mini-curso
Introdução a Sistemas Embarcados com Arduino - mini-cursoIntrodução a Sistemas Embarcados com Arduino - mini-curso
Introdução a Sistemas Embarcados com Arduino - mini-curso
 

Semelhante a Controle PID de quadricóptero usando IMU

Desenvolvimento de um Sistema de Controle para Quadrirrotores
Desenvolvimento de um Sistema de Controle para Quadrirrotores Desenvolvimento de um Sistema de Controle para Quadrirrotores
Desenvolvimento de um Sistema de Controle para Quadrirrotores UmbertoXavierdaSilva
 
Tcc trabalho nõ atualizado
Tcc trabalho  nõ atualizadoTcc trabalho  nõ atualizado
Tcc trabalho nõ atualizadoKleber Martins
 
Braço mecânico controlado pela diferença de potencial ocular
Braço mecânico controlado pela diferença de potencial ocularBraço mecânico controlado pela diferença de potencial ocular
Braço mecânico controlado pela diferença de potencial ocularRafael Lial
 
Tcc carlos felipe de paiva perché
Tcc   carlos felipe de paiva perchéTcc   carlos felipe de paiva perché
Tcc carlos felipe de paiva perchéCarlos Felipe
 
Plataforma Online para Ensino de Sistemas Elétricos de Potência
Plataforma Online para Ensino de Sistemas Elétricos de PotênciaPlataforma Online para Ensino de Sistemas Elétricos de Potência
Plataforma Online para Ensino de Sistemas Elétricos de PotênciaLuiz Guilherme Riva Tonini
 
Controle de braço mecânico através da diferença de potencial ocular
Controle de braço mecânico através da diferença de potencial ocularControle de braço mecânico através da diferença de potencial ocular
Controle de braço mecânico através da diferença de potencial ocularSaulo Moura
 
Modelagem_de_Estruturas_de_Pontes_no_Pro.pdf
Modelagem_de_Estruturas_de_Pontes_no_Pro.pdfModelagem_de_Estruturas_de_Pontes_no_Pro.pdf
Modelagem_de_Estruturas_de_Pontes_no_Pro.pdf151727
 
Controladores programaveis--estudo-e-aplicacao
Controladores programaveis--estudo-e-aplicacaoControladores programaveis--estudo-e-aplicacao
Controladores programaveis--estudo-e-aplicacaoMário Bassoli
 
CONTROLE MPC MULTIVARIÁVEL COM RESTRIÇÕES USANDO FUNÇÕES DE LAGUERRE
CONTROLE MPC MULTIVARIÁVEL COM RESTRIÇÕES USANDO FUNÇÕES DE LAGUERRECONTROLE MPC MULTIVARIÁVEL COM RESTRIÇÕES USANDO FUNÇÕES DE LAGUERRE
CONTROLE MPC MULTIVARIÁVEL COM RESTRIÇÕES USANDO FUNÇÕES DE LAGUERREUFPA
 
Controle da máquina de corrente contínua utilizando processos de otimização n...
Controle da máquina de corrente contínua utilizando processos de otimização n...Controle da máquina de corrente contínua utilizando processos de otimização n...
Controle da máquina de corrente contínua utilizando processos de otimização n...José Alberto Gobbes Cararo
 
ESTUDO DA TRANSFORMAÇÃO DO SISTEMA DE INJEÇÃO DE COMBUSTÍVEL MECÂNICO PARA E...
 ESTUDO DA TRANSFORMAÇÃO DO SISTEMA DE INJEÇÃO DE COMBUSTÍVEL MECÂNICO PARA E... ESTUDO DA TRANSFORMAÇÃO DO SISTEMA DE INJEÇÃO DE COMBUSTÍVEL MECÂNICO PARA E...
ESTUDO DA TRANSFORMAÇÃO DO SISTEMA DE INJEÇÃO DE COMBUSTÍVEL MECÂNICO PARA E...Luiz Guilherme Riva Tonini
 
Modelagem de pendulo invertido, trabalho monografico.
Modelagem de pendulo invertido, trabalho monografico.Modelagem de pendulo invertido, trabalho monografico.
Modelagem de pendulo invertido, trabalho monografico.Leo Laurett
 

Semelhante a Controle PID de quadricóptero usando IMU (20)

Desenvolvimento de um Sistema de Controle para Quadrirrotores
Desenvolvimento de um Sistema de Controle para Quadrirrotores Desenvolvimento de um Sistema de Controle para Quadrirrotores
Desenvolvimento de um Sistema de Controle para Quadrirrotores
 
Tcc trabalho nõ atualizado
Tcc trabalho  nõ atualizadoTcc trabalho  nõ atualizado
Tcc trabalho nõ atualizado
 
Braço mecânico controlado pela diferença de potencial ocular
Braço mecânico controlado pela diferença de potencial ocularBraço mecânico controlado pela diferença de potencial ocular
Braço mecânico controlado pela diferença de potencial ocular
 
Dm ivo costa_2009_ant
Dm ivo costa_2009_antDm ivo costa_2009_ant
Dm ivo costa_2009_ant
 
Tcc carlos felipe de paiva perché
Tcc   carlos felipe de paiva perchéTcc   carlos felipe de paiva perché
Tcc carlos felipe de paiva perché
 
Plataforma Online para Ensino de Sistemas Elétricos de Potência
Plataforma Online para Ensino de Sistemas Elétricos de PotênciaPlataforma Online para Ensino de Sistemas Elétricos de Potência
Plataforma Online para Ensino de Sistemas Elétricos de Potência
 
Controle de braço mecânico através da diferença de potencial ocular
Controle de braço mecânico através da diferença de potencial ocularControle de braço mecânico através da diferença de potencial ocular
Controle de braço mecânico através da diferença de potencial ocular
 
Modelagem_de_Estruturas_de_Pontes_no_Pro.pdf
Modelagem_de_Estruturas_de_Pontes_no_Pro.pdfModelagem_de_Estruturas_de_Pontes_no_Pro.pdf
Modelagem_de_Estruturas_de_Pontes_no_Pro.pdf
 
02 apostila-controle digital
02 apostila-controle digital02 apostila-controle digital
02 apostila-controle digital
 
Monografia Arduino
Monografia ArduinoMonografia Arduino
Monografia Arduino
 
Graduate_Thesis_Ewerton_Marin_2012
Graduate_Thesis_Ewerton_Marin_2012Graduate_Thesis_Ewerton_Marin_2012
Graduate_Thesis_Ewerton_Marin_2012
 
Controladores programaveis--estudo-e-aplicacao
Controladores programaveis--estudo-e-aplicacaoControladores programaveis--estudo-e-aplicacao
Controladores programaveis--estudo-e-aplicacao
 
CONTROLE MPC MULTIVARIÁVEL COM RESTRIÇÕES USANDO FUNÇÕES DE LAGUERRE
CONTROLE MPC MULTIVARIÁVEL COM RESTRIÇÕES USANDO FUNÇÕES DE LAGUERRECONTROLE MPC MULTIVARIÁVEL COM RESTRIÇÕES USANDO FUNÇÕES DE LAGUERRE
CONTROLE MPC MULTIVARIÁVEL COM RESTRIÇÕES USANDO FUNÇÕES DE LAGUERRE
 
Controle da máquina de corrente contínua utilizando processos de otimização n...
Controle da máquina de corrente contínua utilizando processos de otimização n...Controle da máquina de corrente contínua utilizando processos de otimização n...
Controle da máquina de corrente contínua utilizando processos de otimização n...
 
ESTUDO DA TRANSFORMAÇÃO DO SISTEMA DE INJEÇÃO DE COMBUSTÍVEL MECÂNICO PARA E...
 ESTUDO DA TRANSFORMAÇÃO DO SISTEMA DE INJEÇÃO DE COMBUSTÍVEL MECÂNICO PARA E... ESTUDO DA TRANSFORMAÇÃO DO SISTEMA DE INJEÇÃO DE COMBUSTÍVEL MECÂNICO PARA E...
ESTUDO DA TRANSFORMAÇÃO DO SISTEMA DE INJEÇÃO DE COMBUSTÍVEL MECÂNICO PARA E...
 
Tese marinho
Tese marinhoTese marinho
Tese marinho
 
R - D - DANIEL KAMINSKI DE SOUZA
R - D - DANIEL KAMINSKI DE SOUZAR - D - DANIEL KAMINSKI DE SOUZA
R - D - DANIEL KAMINSKI DE SOUZA
 
Hugocasatiferreiraguimaraes
HugocasatiferreiraguimaraesHugocasatiferreiraguimaraes
Hugocasatiferreiraguimaraes
 
Modelagem de pendulo invertido, trabalho monografico.
Modelagem de pendulo invertido, trabalho monografico.Modelagem de pendulo invertido, trabalho monografico.
Modelagem de pendulo invertido, trabalho monografico.
 
Monografia usp fdte eng da qualidade
Monografia usp fdte eng da qualidadeMonografia usp fdte eng da qualidade
Monografia usp fdte eng da qualidade
 

Controle PID de quadricóptero usando IMU

  • 1. PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS Programa de Graduação em Engenharia Mecânica (Linha de formação em Mecatrônica) Daniel de Castro Ribeiro Resende Nicolas Ives Roque Pacheco CONTROLE DE ESTABILIDADE DE AEROMODELO TIPO QUADCOPTER AUTÔMATO POR LEI DE CONTROLE PID Belo Horizonte 2014
  • 2.
  • 3. Daniel de Castro Ribeiro Resende Nicolas Ives Roque Pacheco CONTROLE DE ESTABILIDADE DE AEROMODELO TIPO QUADCOPTER AUTÔMATO POR LEI DE CONTROLE PID Monografia apresentada ao curso de Engenharia Mecânica (Linha de formação em Mecatrônica) da Pontifícia Universidade Católica de Minas Gerais, como requisito parcial para obtenção do título de Bacharel em Engenharia Mecânica (Linha de formação em Mecatrônica) Orientador: Pedro Américo Almeida Magalhães Junior Belo Horizonte 2014
  • 4.
  • 5. Daniel de Castro Ribeiro Resende Nicolas Ives Roque Pacheco CONTROLE DE ESTABILIDADE DE AEROMODELO TIPO QUADCOPTER AUTÔMATO POR LEI DE CONTROLE PID Monografia apresentada ao curso de Engenharia Mecânica (Linha de formação em Mecatrônica) da Pontifícia Universidade Católica de Minas Gerais, como requisito parcial para obtenção do título de Bacharel em Engenharia Mecânica (Linha de formação em Mecatrônica) ___________________________________ Dr Pedro Américo Almeida Magalhães Junior (Orientador) - PUC Minas ___________________________________ Dr Claysson Bruno Santos Vimieiro - PUC Minas ___________________________________ Dr William de Melo Silva- PUC Minas Belo Horizonte, de de 2014.
  • 6.
  • 7. AGRADECIMENTOS Agradecemos ao nosso orientador, Dr Pedro Américo Almeida Magalhães Júnior, pela prontidão com que se disponibilizou a fazer parte deste trabalho, e, pela relevância de seu suporte durante a jornada de sua elaboração. Somos gratos também à Fundação de Amparo à Pesquisa do Estado de Minas Gerais (FAPEMIG), pelo auxílio cultural e financeiro provido, à fim da apresentação e publicação deste trabalho na forma de artigo científico no Ibero-Latin American Congress on Computational Methods in Engineering (CILAMCE 2014).
  • 8.
  • 9. RESUMO Nos últimos anos, os VANTs (Veículos Aéreos Não Tripulados), do tipo quadrirotor ou quadcopter, têm tido destaque especial nas pesquisas de sistemas robóticos, principalmente devido a versatilidade de sua navegação poder ser tanto em ambientes externos como internos. Para que um aeromodelo impulsionado por quatro rotores possa se manter em equilíbrio com relativa precisão, mesmo que em voo pairado (proposta deste trabalho), é necessário um algoritmo de controle que estabilize o sistema dinamicamente, impedindo que ele colapse devido a uma perturbação ou devido ao somatório de dinâmicas geradas por seu próprio peso. Existem várias técnicas de controle para o voo dos quadcopters, para o trabalho proposto elabora-se uma malha fechada utilizando um algoritmo equacionado pela lei de controle PID, por tratar-se de um nível de teoria, que está ao alcance das ementas das disciplinas do curso de graduação em engenharia mecânica linha de formação mecatrônica. Para o feedback da planta, utiliza-se de um circuito integrado de mensuramento inercial (IMU), composto de acelerômetro, giroscópio, barômetro e magnetômetro.Neste monitoramento da orientação angular e translacional do quadcopter, utiliza-se filtros digitais e fusão de sensores para otimizar essas leituras. Para o desenvolvimento do presente trabalho realizou-se os estudos de: equacionamento matemático da dinâmica do sistema, do circuito eletro-eletrônico, do sensoriamento, do projeto mecânico, da simulação computacional e da implementação do algoritmo de controle. Palavras-chave: VANT. UAV. Quadcopter. Controle. PID. IMU. Equacionamento. Simulação.
  • 10.
  • 11. ABSTRACT In recent years, UAVs (Unmanned Aerial Vehicles), type quadcopter, have had special attention in the research of robotic systems, mainly due to the versatility of its navigation can be either external as internal environments. For a model airplane propelled by four rotors to can still in balance with relative accuracy, even in hovering flight (proposal of this work), one control algorithm to stabilize the system dynamically is necessary, preventing it from collapsing due to a disturbance or due the sum of dynamics generated by its own weight. There are several techniques to control the flight of quadcopters for the proposed work we undertake a closed loop using an algorithm solved by the law of PID control, because it is a level of theory, which is well within the menus of the disciplines contained in graduation in the degree of mechanical engineering witch specialization in mechatronics. For feedback plant, it uses inertial measurement integrated circuits (IMUs), composed of accelerometer, gyroscope, magnetometer and barometer. In monitoring the angular and translational orientation of the Quadcopter, are used digital filters, and sensor fusion to optimize these readings. For the development of this work was carried out studies: mathematical modeling of the system dynamics, the electro-electronic circuit, the sensing, the mechanical design, the computer simulation and the implementation of the control algorithm. Keywords: VANT. UAV. Quadcopter. Control. PID. IMU. Modeling. Simulation.
  • 12.
  • 13. LISTA DE FIGURAS Figura 1: Teleautômaton de Tesla.............................................................................20 Figura 2: VANT URV das forças armadas dos EUA..................................................21 Figura 3: Quadcopter de DeBothezat........................................................................22 Figura 4: Drone AR Parrot.........................................................................................23 Figura 5: Gyroplane nº1 ............................................................................................27 Figura 6: Draganflyer III.............................................................................................28 Figura 7: Modelos notáveis de quadrirotores ............................................................29 Figura 8: Graus de liberdade do quadcopter.............................................................31 Figura 9: Esquema de rotação ..................................................................................32 Figura 10: Rolagem ou arfagem................................................................................33 Figura 11: Somatório de momentos (guinada) ..........................................................34 Figura 12: Esquema de uma malha fechada de controle ..........................................35 Figura 13: Diagramas PID.........................................................................................39 Figura 14: Resultados dos controladores PI, PID e FO[PI] .......................................40 Figura 15: Resultados experimentais do controle hierárquico...................................42 Figura 16: Coordenadas de múltiplos corpos............................................................43 Figura 17: Ângulos de Euler......................................................................................44 Figura 18: Digrama de blocos representando o MARG de Madgwick.......................53 Figura 19: Especificações dos motores.....................................................................55 Figura 20: Estrutura de modelamento em um grau de liberdade ..............................56 Figura 21: Curvas de entrada e saída .......................................................................57 Figura 22: Diagrama em um grau de liberdade no Simulink .....................................58 Figura 23: Leituras dos sinais do diagrama de blocos ..............................................59 Figura 24: Diagrama de tratamento de sinal .............................................................61 Figura 25: Calibração do magnetômetro ...................................................................62 Figura 26: Calibração do acelerômetro .....................................................................63 Figura 27: Circuito de desenvolvimento ....................................................................64 Figura 28: Estrutura usinada de fixação do frame.....................................................66 Figura 29: Estrutura de vôo.......................................................................................66 Figura 30: Plataforma de desenvolvimento para 5 graus de liberdade ....................67 Figura 31: Montagem executada para as coletas de dados......................................68 Figura 32: Modelo do quadcopter construído no SolidWorks....................................72
  • 14. Figura 33: Blocos do atuador.................................................................................... 74 Figura 34: Blocos do atuador.................................................................................... 75 Figura 35: Respostas para Z e rotações................................................................... 76 Figura 36: Reposta dos motores............................................................................... 76
  • 15. LISTA DE SIGLAS 10DOF - 10 Degrees Of Freedom CC - Corrente Contínua cP - Coeficiente de potência cT - Coeficiente de Thrust cos - Cosseno ESC - Electronic Speed Controller FO - Fractional Order LQ - Least Quadratic I2 C - Inter Integrated Circuits IMU - Inertial Measurement Unit MARG -Magnetic, Angular Rate and Gravity MCS - Magnetic Compass Sensor MIT - Massachusetts Institute of Technology MEMS - Micro Electronical Mechanic System MOSFET - Metal Oxide Semiconductor Field Effect Transistor p - Taxa de variação angular em x Φ - Rotação no eixo z 𝑃𝑝 - Potência de propulsão PID - Proporcional Derivativo e Integrativo Ψ- Rotação no eixo y PWM - Pulse-Width Modulation q - Taxa de variação angular em y R - Matriz de rotação r - Raio r - Taxa de variação angular em z 𝜌 - Densidade do ar sen - Seno SFL - Static Feedback Linearization Controller SMC - Sliding-mode Control SMC - Surface Mounted Component STFIS - Self Tunable Fuzzy Interference System tag - Tangente
  • 16. θ- Rotação no eixo x T – Força de impulso u - Velocidade do corpo em x UAV - Unmanned Aerial Vehicle VANT - Veículo Aéreo Não Tripulado v - Velocidade do corpo em y w - Velocidade angular w - Velocidade do corpo em z X - Eixo x Y - Eixo y Z - Eixo z
  • 17. SUMÁRIO 1 INTRODUÇÃO .......................................................................................................20 1.1 Objetivo Geral....................................................................................................23 1.2 Objetivos específicos........................................................................................23 1.3 Justificativa........................................................................................................24 1.4 Escopo ...............................................................................................................25 2 REFERENCIAL TEÓRICO.....................................................................................27 2.1 Revisão Bibliográfica........................................................................................27 2.1.1 Dinâmica do quadcopter................................................................................30 2.1.2 Sensoriamento ...............................................................................................34 2.1.3 Controle por PID.............................................................................................38 2.2 Estado da Arte ...................................................................................................39 3 REVISÂO TEÓRICA ..............................................................................................43 3.1 Equacionamento matemático...........................................................................43 3.2 Cinemática do quadcopter ...............................................................................45 3.3 Dinâmica do quadcopter...................................................................................46 3.4 Dinâmica dos rotores........................................................................................48 3.5 Algoritmo de fusão de sensores......................................................................49 4 METODOLOGIA ....................................................................................................54 4.1 Diagramação mecânica.....................................................................................54 4.2 Implementação para um grau de liberdade.....................................................56 4.3 Parametrização do algoritmo de sensoriamento............................................59 4.4 Circuito de desenvolvimento ...........................................................................63 4.5 Desenvolvimento da estrutura completa ........................................................65 4.6 Equalização das curvas de ganhos dos motores...........................................67 4.7 Simulação computacional ................................................................................72 4.8 Controle..............................................................................................................76 5 RESULTADOS.......................................................................................................78 6 CONCLUSÃO ........................................................................................................80 REFERÊNCIAS.........................................................................................................82 ANEXOS ...................................................................................................................88
  • 18.
  • 19. 20 1 INTRODUÇÃO VANTs (Veículos Aéreos Não Tripulados), ou do inglês UAVs (Unmanned Aerial Vehicles), mais conhecidos pelo termo "drone", obtiveram destaque em operações militares durante as recentes operações de espionagem e bombardeio dos Estados Unidos no Iraque no ano de 2013. No Brasil o governo brasileiro vem adquirindo VANTs através da Força Aérea Brasileira, tendo-se uma estimativa de que durante a Copa do Mundo de 2014, e nas Olimpíadas de 2016 a segurança do espaço aéreo brasileiro contará com 6 veículos aéreos não tripulados. Estes, terão como finalidade o monitoramento e vigilância durante as copas das confederações no período de 15 à 30 de julho de 2014 (STOCHERO, 2013). Os dois exemplos citados anteriormente demonstram que a importância dos VANTs no cenário mundial tem crescido, e apresenta-se como uma tecnologia que não só possui potencial para operações militares, como também para aplicações civis. Embora os veículos não tripulados, aparentemente serem uma tecnologia relativamente nova, o conceito deste tipo especial de robô, data de 1898 durante a guerra Hispano-Americana. Época em que Nicolai Tesla apresentou na Eletrical Exposition no Madison Square Garden, um torpedo capaz de ser controlado remotamente por radiofrequência. Este dispositivo foi nomeado pelo seu inventor de Teleautômaton, ilustrado na figura 1 (NEWCOME, 2004). Figura 1: Teleautômaton de Tesla Fonte: NEWCOME, 2004
  • 20. 21 Inicialmente, as pesquisas de Tesla sobre controle remoto haviam sido consideradas, como sem aplicação prática, ou, até mesmo como, simples truques pelo exército americano. Em 1991 a primeira aeronave não tripulada da marinha americana (figura 2) realizou cerca de 300 missões de reconhecimento, durante as operações militares na guerra do Golfo, na operação Desert Storm, e novamente, em 2006 na operação Desert Shield, abrindo o caminho para o desenvolvimento e pesquisa dos UAVs (DEMPSEY, 2010). Figura 2: VANT URV das forças armadas dos EUA Fonte:MCCORMICK, 1995 Embora os VANTs tenham um histórico militar de aplicação, têm-se buscado utilizar este tipo de robô em aplicações civis, como monitoramento de colheitas, amostragem da atmosfera e entregas de correspondências, sendo o ultimo já implementado pela empresa Amazon de compras on-line. Dentre os VANTs, o modelo que tem alcançado maior interesse, é o quadcopter, não somente pela sua simplicidade de montagem, mas pelo desafio na implementação de seu sistema de controle. O conceito do quadcopter tem existido desde as primeiras décadas do século XX. Um dos primeiros modelos de um veículo, que usa quatro rotores para decolar e manter voo que se tem notícia, foi desenvolvido por George DeBothezat em 1922, ilustrado na figura 3 (BASTA, 2012).
  • 21. 22 Figura 3: Quadcopter de DeBothezat Fonte:BASTA,2012 Embora os primeiros modelos tenham sido capazes de decolar e manter voo, sua performance podia competir com as demais aeronaves existentes na época,perdia em quesitos de velocidade e quantidade de carga transportável. Devido a essas limitações o modelo quadcopter permaneceu esquecido até a década de noventa, quando a evolução dos MEMS (Micro-Electronical Mechanic Systems) permitiram a implementação de uma plataforma de controle à bordo, feita por um microcontrolador (JUN, 2013). Atualmente, o nível de estabilidade e segurança alcançado para o drone, já permite a comercialização em larga escala, de um modelo de UAV, caracterizado como brinquedo. O AR Parrot, por exemplo, é comercializado pela Parrot, empresa líder mundial em equipamentos sem fios para smartphones. O drone da Parrot pode ser controlado à distância, através de um aplicativo que é instalado em um smartphone (figura 4).
  • 22. 23 Figura 4: Drone AR Parrot Fonte: ARDrone, 2014 A variedade das aplicações dos possíveis aos quadrirotores vem aumentando ultimamente. Dentre as possíveis formas de emprego, se destacam, o combate a incêndios, operações de busca policial, manipulação de artefatos explosivos, planejamento de obras, cobertura jornalística à eventos, filmagens de filmes, imagens de animais selvagens, acompanhamento de trânsito e acidentes, et cétera. 1.1 Objetivo Geral Este trabalho de conclusão de curso objetiva a construção completa de um protótipo do tipo quadcopter, a implementação de seu sensoriamento e o equacionamento de seu algoritmo de controle pela técnica PID, tornando este capaz de manter voo razoavelmente estável, isto é, com mínima variação de seus seis graus de liberdade. 1.2 Objetivos específicos Os objetivos específicos deste trabalho são:
  • 23. 24 a) Levantamento e equacionamento dinâmico do VANT do tipo quadcopter. b)Construção de uma malha de controle fechada utilizando lei de controle PID. c) Construção da estrutura do quadcopter. d) Aquisição de dados pelos sensores utilizados e) Simulação utilizando os parâmetros do modelo alcançado. f) Implementação do algoritmo de controle e aplicação no protótipo construído. 1.3 Justificativa O enfoque especial que os quadrirotores tem ganhado em matéria de sistemas robóticos, estendendo suas aplicações em usos militares, civis, para observação, e até, mapeamento de ambientes desconhecidos, é claramente justificável por sua mobilidade aérea. Para que um robô construído no formato de um quadrirotor possa realizar tarefas como mapeamento ou reconhecimento de ambiente torna-se então necessário que se saiba sua posição e orientação no espaço, juntamente com a capacidade de movimentar-se neste. Logo, a estabilidade do voo do quadcopter é vital para que ele possa ser utilizado, impedindo que ele colapse devido a um forte vento, ao seu próprio peso ou devido à resposta caótica do empuxo resultante entre hélice e fluido. Para evitar tal acontecimento é necessário que exista um sistema de controle capaz de corrigir as variações devido às perturbações, restaurando o quadcopter à posição de equilíbrio com a maior velocidade possível. O controle por PID (Proporcional Derivativo e Integrativo) apresenta-se como um solução de controle linear, utilizado em várias aplicações na indústria de automação, sendo as vantagens deste método segundo Leong (2012), possuir estrutura simples e boa performance. Baseando-se no que foi exposto, tem-se como justificativa deste trabalho a verificação da possibilidade da construção de um quadrirotor com componentes comerciais, e a implementação de um algoritmo de controle baseado na teoria de sistemas lineares em um sistema dinâmico de estabilidade zero, como o quadrirotor.
  • 24. 25 1.4 Escopo Este trabalho de conclusão de curso em engenharia mecatrônica almeja pesquisar e apresentar respostas relevantes sobre a possibilidade de se aplicar o nível teórico contido na ementa do curso, para o equacionamento, implementação e construção de um quadcopter de baixo custo. Devido à complexidade da dinâmica envolvida no somatório de fenômenos físicos que variam ao longo do tempo, pode-se perceber que o equacionamento de voo deste sistema, depende de um controle de múltiplos níveis e não estacionário. Este tipo de planta, para ter sua solução ótima, demanda da linearização do sistema e da implementação de um controle robusto. Alguma literatura recente, cita técnicas de inteligência artificial, como soluções que poderiam alcançar a adaptabilidade transiente necessária ao controle de um sistema que varia parâmetros, e equações em relação ao tempo. Técnicas que recalculam seus parâmetros e técnicas que utilizam o novo feedback como forma de aprendizado, têm chances consideráveis de alcançar o controle ótimo de um sistema não estacionário. Este grupo de lógicas de programação pode ser exemplificado por redes neurais, nebulosas, grafos, genéticos e Fuzzy, como descrito por este artigo da Universidade do Tehran: Embora o quadrirotor tenha vantagens em uma construção mecânica fácil contra o helicóptero tradicional, ainda há questões que impedem que ele seja amplamente utilizado em muitos dos campos sugeridos de aplicação. Por exemplo, o controle e orientação do quadrirotor para estabilização, é uma tarefa difícil, devido ao comportamento dinâmico não linear. Métodos de controle convencionais usam teoria linear que é adequado apenas para sistemas lineares. O controle Fuzzy é não-linear, portanto, é adequado para o controle do sistema não-linear. (ABBASI; MAHJOOB; YAZDANPANAH, 2013). No entanto, existem formas de se manipular a estrutura PID original, de forma que esta também possa reagir e se adaptar à mudanças em seu ambiente. A técnica Feedforward de PID pode ser empregada com este intuito, em um sistema que seja possível variar o sinal de controle em um tempo menor que o tempo que um distúrbio leva para afetar a saída, mensurar os distúrbios exógenos e os efeitos
  • 25. 26 desses distúrbios na resposta. Assim, este trabalho objetiva trabalhar a manipulação da lei de controle PID de forma a viabilizar o voo.
  • 26. 27 2 REFERENCIAL TEÓRICO Apesar da grande quantidade de trabalhos sobre o controle do quadcopter terem sido desenvolvidos nos últimos 30 anos, seu modelo data de 1907, havendo uma considerável evolução científica das tecnologias empregadas com sucesso razoável em sua causa. 2.1 Revisão Bibliográfica O primeiro quadrirotor conhecido, desenvolvido pelos irmãos Breguet, foi batizando de Gyroplanenº1, ilustrado na figura 5.Utilizando apenas um motor de combustão interna com potência de 40 cavalos, e um sistema de transmissão de correia polia, o modelo de Breguet era capaz decolar, embora conseguisse apenas obter uma altitude 1,5 metros por um breve período, sendo o voo instável devido ao fato de não haver controle além de uma válvula que controlava a alimentação de combustível do motor (LEISHMAN, 2009). Figura 5: Gyroplane nº1 Fonte: LEISHMAN, 2004 Posteriormente vários modelos de quadcopters foram desenvolvidos no período durante o período de 1920 a 1956, sendo os de principal destaque desenvolvido por Etienne Oemichen 1920 e 1923, George DeBothezat em 1921 e Marc Adam Kaplan em 1956. Comissionado pela Aeronáutica dos Estados Unidos, George DeBothezat foi incumbido de desenvolver o projeto de um quadcopter, sendo o resultado desse, ilustrado na figura 3. Os resultado do modelo final foi uma aeronave capaz de
  • 27. 28 suportar uma carga de 3 pessoas além do piloto, porém o veículo conseguiu obter a altitude de 5 metros, muito aquém dos 100 metros calculados. O controle dos primeiros quadcopters necessitava de rotores adicionais, localizados na frente ou na traseira do veículo para manter a estabilidade. Em 1956 Marc Adam Kaplan desenvolveu um modelo onde o controle era estabelecido através da variação de rotação entre os entre os rotores, sendo o primeiro a se mover horizontalmente depois da decolagem. O modelo de Kaplan é considerado por Basta(2012) o primeiro helicóptero quadcopter verdadeiro a voar. Embora se tenha obtido sucesso na implementação do quadcopter, seu modelo era obsoleto em relação as demais tipos convencionais de aeronave de sua época, principalmente nos quesitos de velocidade, carga suportada e alcance. As novas tecnologias obtidas no final dos anos 90, como o desenvolvimento de sensores inerciais MEMS (Micro Electro Mechanical Systems) ou sistemas micro eletromecânicos e o desenvolvimento de sistemas embarcados renovaram o interesse das pessoas para o modelo do quadrirotor. Os primeiros quadrirotores a serem fabricados foram para entusiastas de aeromodelos, sendo o Draganflyer III, ilustrado na figura 6, considerado um modelo clássico, que devido a sua performance extraordinária foi definido para servir de plataforma de testes em Stanford e no MIT (Massachusetts Institute of Technology) (JIANG, 2013). Figura 6: Draganflyer III Fonte: TOURIER, 2006 Posteriormente, alguns grupos de pesquisadores optaram por construir seus próprios quadrirotores, destaca Jiang (2013), os modelos X-4 Flyer da Universidade
  • 28. 29 Nacional Australiana, o quadcopter da Universidade do Estado da Pensilvânia, o Mesicopter da Universidade de Stanford e o OS4 do Instituto Federal de Tecnologia da Suíça, modelos ilustrados na figura 7. Figura 7: Modelos notáveis de quadrirotores Fonte: TOURIER, 2006 Os UAVs citados anteriormente utilizavam um motor CC (corrente contínua) para movimentar os rotores. Um dos problemas dessa configuração á a necessidade do acoplamento de um redutor no motor, sendo as engrenagens uma fonte de vibrações que causavam erros de medição pelo acelerômetro (HOFFMAN, 2007). Muitos dos projetos de quadrirotores atuais utilizam o motor brushless acionado por um ESC (Electronic Speed Controller), removendo o problema do redutor. Apesar de considerar-se a dinâmica do quadcopter linear, esta afirmação só é verdadeira para baixas velocidades. Para Hoffman (2007) os efeitos
  • 29. 30 aerodinâmicos que inserem uma dinâmica não linear no sistema quando este se move a velocidades moderadas são três. O primeiro a ser considerado é a influência do arraste do ar no impulso total gerado pelos rotores. Os segundo fenômeno é o bater das lâminas do rotor, que ocorre durante o movimento translacional, quando uma pás está sobre a influência de uma velocidade efetiva do ar maior do que a outra. O último fator aerodinâmico que ocorre é o rompimento do fluxo de ar provocado pelo impacto dos vórtices sobre a fuselagem, implicando em uma dificuldade maior em realizar o controle de orientação do veículo.Este problema pode ser significativamente reduzido afastando-se os rotores do centro do quadrirotor (HOFFMAN, 2007). Embora, tenha se provado que a construção e implementação do modelo de aeronave de um quadrirotor em miniatura seja viável, seu controle continua sendo um objetivo desafiante (BOUABDALLAH, 2004). 2.1.1 Dinâmica do quadcopter Para que se possa projetar o controle de um sistema é necessário que se levante um modelo adequado das equações que o governam. No caso do quadcopter essas equações são relacionadas à sua dinâmica. O quadcopter é um sistema que apresenta seis graus de liberdade sendo capaz de realizar translação vertical no eixo Z, horizontal lateral no eixo Y, horizontal longitudinal no eixo X, e rotações de rolagem ou roll (θ em torno do eixo X), arfagem ou pitch (Φ em torno do eixo Y) e guinada ou yaw (Ψ em torno do eixo Z) como ilustra a figura 8.
  • 30. 31 Figura 8: Graus de liberdade do quadcopter Fonte: Elaborado pelos autores Nos trabalhos de Bouabdallah (2004) e Jun (2011) encontram-se, em comum, as seguintes hipóteses para a modelagem do quadcopter: a) A estrutura do quadcopter é rígida e simétrica. b) O centro de massa e geométrico do quadcopter coincide com a origem do sistema de coordenadas inerciais. c) As forças de propulsão e arraste são proporcionais ao quadrado da velocidade dos rotores. Para que o quadcopter possa realizar seu movimento em seus seis graus de liberdade, ele utiliza de quatro rotores idênticos localizados no fim de cada barra, sendo estas de comprimentos iguais. Cada um dos rotores fornece a estrutura impulso e torque, sendo que os localizados nas laterais giram em um sentido e os da frente e da traseira giram no sentido contrário, assim como ilustrado na figura 9. Esta configuração causa o cancelamento das reações de torque permitindo que o quadcopter fique estacionário no ar.
  • 31. 32 Figura 9: Esquema de rotação Fonte: Elaborado pelos autores Segundo Bresciani (2008) a estrutura do quadcopter permite que apenas quatro dos seis graus de liberdade do quadcopter sejam diretamente controlados através de um set-point determinado. Para variável controlável tem-se que o deslocamento total do sistema pode ser construído a partir de quatro movimentos básicos, sendo eles: a) Impulso (Z): variando-se a velocidade de rotação dos rotores simultaneamente na mesma quantidade, o quadcopter move-se na direção Z das coordenadas. b) Rolagem (θ): este movimento ocorre quando se aumenta ou diminui-se a rotação do rotor da esquerda em relação ao da direita ou vice-versa, provocando um torque na direção do eixo X da figura 10. Como consequência do movimento de rolagem, uma componente do impulso é projetada sobre o eixo Y provocando um movimento nesta direção.
  • 32. 33 Figura 10: Rolagem ou arfagem Fonte: Elaborado pelos autores c) Arfagem (Φ): similarmente à rolagem, a arfagem ocorre devido à diferença de velocidades entre os rotores da frente e da traseira, provocando um torque na direção do eixo Y da figura 10. A arfagem dera uma componente do impulso na direção X permitindo o quadcopter a se mover nesta direção. d) Guinada (Ψ): neste movimento o par de rotores frente e traseira tem a mesma velocidade de rotação, porém esta é diferente do par esquerda e direita. Esta diferença de velocidade entre os pares provoca um torque na direção Z da figura 11, realizando o movimento de guinada. Bresciani (2008) ressalta que as alterações nas rotações dos rotores não devem ser muito grandes, para evitar o problema de efeitos aerodinâmicos que inserem uma dinâmica não linear ou saturam os atuadores do quadcopter.
  • 33. 34 Figura 11: Somatório de momentos (guinada) Fonte: Elaborado pelos autores Embora esta seção esteja apresentando um esboço da cinemática do quadcopter as suas equações cinemática e dinâmica podem ser encontradas no capítulo 3 da Revisão Teórica. 2.1.2 Sensoriamento Para os seis graus de liberdade de um corpo rígido, a realização do controle de um sistema se torna relativamente simples se o modelo da planta for conhecido e o controlador deter a capacidade de realizar o comando relativo a este modelo. No entanto na maioria dos casos o modelo completo não está disponível e o controle de estruturas mecânicas nunca ocorre com a devida precisão. Para resolver este problema utiliza-se de sensores, que permitem a obtenção de informações sobre o estado da planta e das suas vizinhanças, permitindo construir um controle capaz de compensar estes erros, realizado um o controle por malha fechada cujo esquema está ilustrado na figura 12.
  • 34. 35 Figura 12: Esquema de uma malha fechada de controle Fonte: Elaborado pelos autores A mensura precisa a orientação do quadcopter é de primordial importância para o controle deste sistema, pois a dinâmica deste é controlada em maior parte pelos parâmetros rolagem, arfagem e guinada. Portanto é necessária a elaboração de um sistema de sensoriamento capaz de determinar estas variáveis observáveis da malha com a maior precisão possível. Para determinação da orientação utiliza-se de IMU que contém um circuito integrado contendo um giroscópio e acelerômetro MEMS, que normalmente são suficientes para a maioria das aplicações (MADGWICK, 2010), porém a adição das medidas de um magnetômetro permite a mensura completa de todos os parâmetros compondo um sistema AHRS (Attitude and Heading Reference Systems). Apesar de poder-se compensar os erros provenientes da elaboração de um modelo incompleto através de um sensor, têm-se o problema da incerteza de medição presente no próprio processo de medida ou na leitura desta medida fornecida pelo sensor, o que pode gerar um sinal de controle errado, levando a planta à saturação, ou ainda, à instabilidade. A natureza do erro medido pode ser divido em duas parcelas, a primeira é o erro sistemático e afeta a medida de maneira constante e previsível, a segunda é o erro aleatório que ocorre devido à variabilidade dos processos físicos envolvidos em um sistema de medição, cujo valor é sempre imprevisível. Tais erros são inerentes à medição e não podem ser eliminados, porém podem ser minimizados de modo que a medida se aproxime a uma máxima possível equivalente à do valor real. Para tal, utiliza-se uma filtragem no sinal de medição. O filtro permite a atenuação de ruídos ou erros, até que seu valor seja desprezível. Existem várias técnicas de filtragem de sinais, e a pesquisa às publicações atuais
  • 35. 36 que antecedeu este projeto, indicou que a otimização deste tratamento de sinal vincula-se ao uso de mais de um tipo de filtro. Existem dois tipos principais de filtros que são os filtros digitais e analógicos. Os filtros analógicos usam circuitos analógicos, que podem ser constituídos de componentes passivos como resistores, indutores e capacitores ou ativos.Estes filtros, que também possuem amplificadores operacionais para produzir amplificação de tensão, também têm como objetivo a realização da filtragem do sinal. Na filtragem digital os processos de formação do espectro das formas de onda ocorrem usando componentes digitais na implementação. Em seu trabalho, Rader (1968), notou que havia uma crescente tendência no aumento da velocidade e diminuição de custo e tamanho nos CIs digitais, tornando-os uma vertente crescente na técnica de filtragem de sinal. Rader (1968) explicita ainda as vantagens da filtragem digital e seu desempenho estável para uma precisão arbitrariamente alta.A ausência do problema do casamento de impedâncias, e a flexibilidade presente no qual se pode alterar os parâmetros do filtro para modificar sua resposta, o que são características intrínsecas à filtragem digital. Segundo Hernandez (2000) existe um método de cancelamento de ruído recursivo, adaptativo é aplicado de forma a estimar os sinais elétricos provenientes de um acelerômetro embutido em um ônibus em um teste de desempenho, por exemplo. O ruído e/ou as interferências podem corromper o sinal obtido, e torna-se necessário diminuir o ruído na medição com a aceleração do ônibus. O algoritmo utilizado tem a vantagem da simplicidade computacional e é bem adequado para representar o tempo de diferentes características em medições em tempo real da aceleração. Como o sinal de interesse e o ruído têm muito próxima as bandas de freqüência, é muito difícil diminuir o ruído usando simples filtros. Este é o caso que ocorre com o acelerômetro e magnetômetro. No primeiro, a medição da orientação de um VANT é atrapalhada pela dificuldade de separar a gravidade e a aceleração linear. Para o segundo, a presença de metais, circuitos elétricos e fios conduzindo corrente causam distorção magnética na medida do campo magnético da Terra, logo o acelerômetro e o magnetômetro sozinho não são fontes confiáveis de dados para determinar a orientação do quadcopter. Para tal considera-se a implementação do giroscópio no sistema, porém seu bias sofre drift devido ao movimento contínuo do sistema e às variações de temperatura (MADGWICK, 2010).
  • 36. 37 Neste caso, a fusão de sensores entre acelerômetro, magnetômetro e giroscópio é uma boa opção para leitura angular. A principal intenção, em uma fusão de sensores, é promover a interação entre as magnitudes medidas por cada sensor individualmente, e correlacioná-las de forma a manter uma resposta aceitável, mesmo que ocorram erros em alguma leitura, tornando o sistema menos sensível e mais preciso (VIEIRA, 2011). Uma das técnicas mais populares para a realização da filtragem e fusão de sensores na determinação da orientação de um sistema trata-se do algoritmo do Filtro de Kalman, e derivados deste. A implementação destes algoritmos fundamentos na técnica de Kalman comprovam a sua eficiência e precisão. Madgwick (2010) no entanto, aponta que embora possa ser muito difundida, o Filtro de Kalman estendido apresenta complicações em sua implementação para a estimativa da orientação devido as iterações de regressão linear, que exigem altas taxas de amostragem excedendo a largura de banda do sistema, e a necessidade de vetores grandes para representar as relações entre os estados através da cinemática rotacional em um espaço tridimensional. Outro problema relacionado a mensura da orientação de um sistema é a representação através das matrizes do espaço ortogonal especial com os ângulos de Euler. Tal método revela-se muito custoso quando se analisa o poder computacional necessário para resolver este problema através deste método, pois é necessário resolver um sistema para nove parâmetros diferentes. Outro ponto importante é o surgimento de singularidades na matriz calculada, que diminuem os graus de liberdade do sistema impossibilitando a ação apropriada do controlador em um determinado estado. Um dos métodos mais comuns para a resolução do problema da orientação está na utilização de quaternions, juntamente com a utilização de variações do algoritmos do filtro de Kalman (MAGNUSSEN, 2013). A técnica da determinação dos ângulos de guinada, rolagem e arfagem através dos quaternions é superior a dos ângulos de Euler pelos fatores da simplificação computacional do algoritmo, que ocorre devido a redução dos nove parâmetros a ser determinados para quatro e a remoção das singularidades na resolução (SABATINI, 2011). Tendo em mente as complicações das matrizes de Euler e do Filtro de Kalman estendido, Madgwick elaborou um algoritmo de fusão de sensores MARG que contém que tem como base o filtro de Kalman representando os estados do
  • 37. 38 sistema através de quaternions. A presença de um algoritmo gradiente descendente que permite uma performance a baixas taxas de amostragem, e compensação on- line da distorção magnética e do drift do bias do giroscópio. Para o sistema de orientação do quadcopter escolheu-se a implementação do algoritmo de Madgwick as suas características adaptativas. 2.1.3 Controle por PID O controle pela lei PID é o tipo de controlador mais difundido em sistemas robóticos, sendo os conceitos e equacionamento deste elaborados no capítulo da revisão teórica. Para Bresciani (2008) e Leong (2012) a popularidade deste algoritmo para sistemas controlados deve-se principalmente a três fatores, sendo estes: a) A estrutura simples; b) Boa performance em variados processos; c) A possibilidade de ajustar os parâmetros sem o modelo específico do sistema. Ressalta-se o último fator, pois o modelo exato do quadcopter possui um equacionamento muito complexo para ser levantado matematicamente (LEONG, 2012). Embora a lei de controle PID possua fácil implementação, Bresciani (2008), ressalva que ela possui duas desvantagens. A primeira seria a parte derivativa do controle calculada pelo erro, para alterações muito bruscas deste o valor de resposta tenderia ao infinito, saturando os atuadores e levando o quadcopter para fora da zona de comportamento linear. O segundo ponto de desvantagem localiza-se na ação integrativa do controlador, quando o sinal proveniente deste, desta vez, satura os atuadores do sistema. Este problema ocorre quando o erro apresenta variações muito pequenas durante o tempo, provocando um aumento significativo na parcela integradora do controlador. Quando o sinal do erro muda, demora muito tempo para que o sistema restaure seu comportamento linear. esta desvantagem é conhecida como wind-up. Para diminuir os efeitos dos inconvenientes do controlador pela lei PID, altera-se o diagrama de bloco original para um aperfeiçoado. Na parcela derivativa utiliza-se da leitura direta do feedback ao invés do erro como no PID clássico. Essa
  • 38. 39 solução deve-se ao fato de que o sistema funciona como um filtro impedindo altas variações no sinal de saída. Para o problema de wind-up utiliza-se um bloco de saturação após o integrador que irá limitar os valores máximos e mínimos do parcela integrativa do controlador (BRESCIANI, 2008). A comparação entre o controlador PID clássico e o modificado pode ser visto na figura 13. Figura 13: Diagramas PID Fonte: Elaborado pelos autores 2.2 Estado da Arte O principal desafio do quadcopter trata-se de construí-lo para que ele seja dotado de agilidade e capaz de manobras agressivas em um ambiente não controlado. Esta tendência crescente aumenta o acoplamento dinâmica e as não- linearidades do sistema, sendo então necessário a implementação de um controlador mais sofisticado (Mistler, 2001). Bouabdallah (2004) compara em seu trabalho duas técnicas de controle para o quadrirotor, a por PID e por LQ (Least Quadratic). Utilizando o modelo derivado do equacionamento por Euler-Lagrange, nos resultados obtidos o controlador por PID apresentou melhor performance do que o por LQ, sendo esta diferença atribuída principalmente à imperfeição do modelo utilizado, que não levou em consideração atuador. Bouabdallah (2004) observa que embora o controle pela lei PID tenha dado resultados satisfatórios, a teoria de controle LQ tem potencial em obter resultados melhores. Nos controladores baseados nas leis clássicas Han (2013) propõe uma comparação entre três tipos controladores, dois deles sendo de ordem integral sendo um baseado na lei de PI (proporcional integral) cujos parâmetros são
  • 39. 40 calculados baseado na lei de Ziegler-Nichols, outro baseado na lei PID e um novo tipo de controle de ordem fracionária que utiliza o PI como referência. Para testar os controladores foi utilizado o quadrirotor Aggie Air, cuja função de transferência da planta de arfagem foi levantada utilizando um algoritmo de sétima ordem de entrada exógena auto-regressiva, e depois simplificada para um modelo de primeira ordem mais atraso. Os resultados da simulação, figura 14, para um sinal de entrada do tipo degrau indicam que controlador de ordem fracionária FO[PI] apresenta características superiores em relação ao PID e ao PI desenvolvidos pelo autor. O sobre-sinal e o sinal de estabilização no tempo obtidos para o controlador de ordem fracionária, foram menores do que os outros dois, ambos, parâmetros importantes para o sistema de controle de um quadrirotor. Figura 14: Resultados dos controladores PI, PID e FO[PI] Fonte: HAN, 2013 Em uma nova abordagem para desenvolver o controle para o quadrirotor Bouabdallah (2005) utiliza as técnicas de Backstepping e SMC (Sliding-mode Control). A implementação do controlador utilizando o primeiro algoritmo apresentou resultados experimentais satisfatórios, sendo capaz de estabilizar o sistema para
  • 40. 41 condições inicias críticas com rapidez. O controle por SMC apresentou resultados inferiores como demora e dificuldade de estabilização, devido a inserção de vibrações de alta frequência e baixa amplitude provocando ruídos nos sensores. Bouabdallah (2005) conclui para trabalhos futuros que pretende desenvolver um quadrirotor completamente autônomo utilizando um controlador melhorado utilizando Backstepping. A crescente popularidade da lógica Fuzzy ou Nebulosa, encontrou nos últimos anos aplicação no desenvolvimento de controladores robustos. Utilizando do método Takagi-Sugeno de ordem zero para a otimização de um sistema nebuloso de interferência auto-ajustável de controle ou STFIS (Self-tunable Fuzzy Interference System), Zemalache (2009) conseguiu simular um controlador robusto. A robustez foi testada simulando duas ocasiões especiais, a primeira considerava a falha de um dos rotores enquanto na segunda considera-se a força de arraste produzida pelo movimento do quadcopter modelo XSF. Os resultados obtidos quando comparados com um controlador linearizado realimentado estático ou SFL (Static Feedback Linearization Controller), observa-se a superioridade do controle utilizando o algoritmo Fuzzy quando entra na dinâmica no sistema da força de arraste. Para o sistema utilizando o controlador STFIS, observa-se que o erro consegue zerar com a interferência do vento enquanto que no controlador SFL este cresce proporcionalmente ao com o quadrado da velocidade do ar. O sistema de controle hierárquico tem sido utilizado em sistemas aeronáuticos, onde as dinâmicas de orientação e translação possuem controladores separados desenvolvidos que levam em consideração a diferença das taxas de mensura da translação e da orientação. Bertrand (2011) utiliza dos conceitos de desenvolvimento de leis de controle para sistemas aeronáuticos, onde a dinâmica da orientação (escala de tempo rápida) deve convergir mais rapidamente do que a translacional (escala de tempo lenta), para o desenvolvimento de um controlador hierárquico utilizando a teoria de perturbação singular. Para o controle da dinâmica de translação, considerou-se que apenas a mensura da posição estavam disponíveis, utilizando a estratégia de controle com realimentação parcial para lidar com a lentidão das medições, retirando então a necessidade de um observador. Para o controle da atitude considerou-se um controlador que fosse um candidato da função de controle de Lyapunov, resultando em um controlador estável.
  • 41. 42 Na simulação, Bertrand (2011), mostra que os algoritmos de controle utilizados para o desenvolvimento de cada controlador, validam a separação das escalas de tempo, condição considerada para a estratégia de controle. Utilizando um quadrirotor X4Flyer, que tem como sensores um IMU e uma câmera cujas medidas são transmitidas através de uma comunicação analógica wireless com a estação de controle. Embora a Bertrand (2011) considere os resultados satisfatórios observa-se pela figura 15 a alta oscilação do quadrirotor para as posições desejadas. Figura 15: Resultados experimentais do controle hierárquico * Legenda: Tracejado posição desejada; linha cheia posição real. Fonte: BERTRAND, 2011 Observa-se que os trabalhos pesquisados não indicam nenhum tipo de controle como o melhor para o sistema do quadrirotor, encontrando-se muitas divergências sobre o tema. Pode-se de certa forma dizer que o problema de controle do quadrirotor atualmente encontra somente respostas de engenharia, devido ao fato de que o modelo do sistema não é exatamente conhecido ou muito complexo para ser utilizado para o desenvolvimento de um controlador.
  • 42. 43 3 REVISÂO TEÓRICA Neste capítulo encontra-se toda a derivação matemática para a dinâmica e cinemática do quadcopter, assim como os algoritmos de filtragem e fusão de sensores. 3.1 Equacionamento matemático O equacionamento da dinâmica de um corpo rígido, mesmo que em voo pairado, envolve múltiplos níveis de interpretação. Em seus seis graus de liberdade, um corpo rígido, pode transladar ao longo de seus eixos referenciais e rotacionar em torno destes mesmos eixos. Quanto à rotação, uma das formas mais simples de se descrever a posição de um corpo, é através de três ângulos independentes que fazem referência ao espaço Euclidiano tridimensional, estes são os ângulos de Euler. Definindo como origem de um sistema de coordenadas fixo, também chamado de inercial, um ponto na superfície da Terra (desconsiderando seu movimento orbital), e, um outro sistema de coordenadas móvel (vehicle frame), que se desloca em translação junto ao corpo rígido, pode-se obter o vetor posição do corpo em relação ao sistema inercial. Um terceiro frame acompanha as rotações do corpo em relação ao sistema móvel, o body frame (figura 16). Figura 16: Coordenadas de múltiplos corpos Fonte: Elaborado pelos autores
  • 43. 44 A relação, entre as coordenadas do sistema móvel e do sistema fixo, é definida através de transformações lineares de translação e rotação. Como parâmetros para os eixos de rotação, os ângulos são Φ (em Z), θ (em X) e Ψ(em Y) (figura 17). Figura 17: Ângulos de Euler Fonte: MCCORMICK, 1995 Sendo â um ângulo qualquer dentre os três ângulos de rotação, ρ o vetor posição e R a matriz de rotação, a equação geral de transformação das rotações é: ρ' = R(â)ρ (3) Assim, a e matriz de representação da rotação para Ψ(guinada) fica: R(Ψ)= cosΨ senΨ 0 −senΨ cosΨ 0 0 0 1 (4) A matriz de representação da rotação para θ (arfagem) fica: R(θ)= cosθ 0 −senθ 0 1 0 senθ 0 cosθ (5) A matriz de representação da rotação para Φ (rolagem) fica:
  • 44. 45 R(Φ)= 1 0 0 0 cosΦ senΦ 0 −senΦ cosΦ (6) Finalmente, considerando os três eixos, tem-se a relação entre o frame do corpo e o frame do veículo: R(Φ, θ, Ψ) = R(Φ)*R(θ)*R(Ψ) (7) Sendo a matriz de rotação R Φ, θ, Ψ = = 𝑐𝑜𝑠θcosΨ 𝑐𝑜𝑠θsenΨ −𝑠𝑒𝑛θ 𝑠𝑒𝑛Φ𝑠𝑒𝑛θcosΨ − cosΦsenΨ 𝑠𝑒𝑛Φ𝑠𝑒𝑛θcosΨ + cosΦsenΨ senΦsenθ 𝑐𝑜𝑠Φ𝑠𝑒𝑛θcosΨ + senΦsenΨ 𝑐𝑜𝑠Φ𝑠𝑒𝑛θcosΨ − senΦsenΨ cosΦsenθ (8) 3.2 Cinemática do quadcopter A equação 9 descreve a relação cinemática entre os vetores velocidade nas coordenadas do corpo rígido com 6 graus de liberdade, identificado pelo subscrito “B”, com a velocidade nas coordenadas inerciais, indicado pelo sobrescrito “E”. 𝑣 𝐸 = 𝐽 𝛩 𝑣 𝐵 (9) Onde: 𝑣 𝐸 = 𝑃 𝐸 𝛩 𝐸 = [𝑋 𝑌 𝑍 𝜙 𝜃 𝜓] 𝑇 (10) 𝑣 𝐸 = 𝑉 𝐵 𝜔 𝐵 = [𝑢 𝑣 𝑤 𝑝 𝑞 𝑟] 𝑇 (11) 𝐽 𝛩 = 𝑅 𝛩 03𝑥3 03𝑥3 𝑇𝛩 (12)
  • 45. 46 A matriz 𝐽 𝛩 é chamada de Jacobiano, e é composta de 4 submatrizes sendo elas a matriz de rotação dos eixos 𝑅 𝛩 previamente discutida, a matriz de transferência 𝑇𝛩 e duas matrizes quadradas nulas de ordem 3. Observa-se que a submatriz (1, 2) é nula pois o centro das coordenadas do quadcopter coincide com o das coordenadas inerciais. Caso use-se um sistema de coordenas inerciais cujo a origem não coincidem, deve-se refazer o jacobiano para a submatriz (1, 2). As matrizes 𝑅 𝛩, 𝑇𝛩 e 03𝑥3 são definidas de acordo com as equações 13, 14 e 15 respectivamente como: 𝑅 𝛩 = 𝑐 𝜓 𝑐 𝜃 −𝑠 𝜃 𝑐 𝜙 + 𝑐 𝜓 𝑠 𝜃 𝑠 𝜙 𝑠 𝜓 𝑠 𝜙 + 𝑐 𝜓 𝑠 𝜃 𝑐 𝜙 𝑠 𝜓 𝑐 𝜓 𝑐 𝜓 𝑐 𝜙 + 𝑠 𝜓 𝑠 𝜃 𝑠 𝜙 −𝑐 𝜓 𝑠 𝜙 + 𝑠 𝜓 𝑠 𝜃 𝑐 𝜙 −𝑠 𝜃 𝑐 𝜃 𝑠 𝜙 𝑐 𝜃 𝑐 𝜙 (13) 𝑇𝛩 = 1 𝑡 𝜃 𝑠 𝜙 𝑡 𝜃 𝑐 𝜙 0 𝑐 𝜙 −𝑠 𝜙 0 𝑠 𝜙 𝑐 𝜃 𝑐 𝜙 𝑐 𝜃 (14) 03𝑥3 = 0 0 0 0 0 0 0 0 0 (15) Para as equações anteriores a notação cn, sn e tn representam cos n, sen n e tag n, respectivamente. 3.3 Dinâmica do quadcopter Utilizando a segunda lei de Newton,encontra-se na forma matricial a relação entre os torque 𝜏 𝐵 e as forças 𝐹 𝐵 com as acelerações do sistema do quadcoptero através da equação 16: 𝑀 𝐵 𝑣 + 𝐶 𝐵 𝑣 𝑣 = 𝛵 (16) Onde: a) MB é a matriz que representa a inércia do sistema explicitada na equação 17.
  • 46. 47 𝑀 𝐵= 𝑚 0 0 0 𝑚 0 0 0 𝑚 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 𝐼𝑋𝑋 0 0 0 𝐼 𝑌𝑌 0 0 0 𝐼 𝑍𝑍 (17) b) 𝐶 𝐵 𝑣 é matriz que depende velocidade do corpo e contém a força centrípeta e o troque produzido pela forca de Coriolis, representada na equação 18: 𝐶 𝐵 𝑣 = 03𝑥3 −𝑚 𝑉 𝐵 03𝑥3 − 𝐼𝑋𝑋 0 0 0 𝐼 𝑌𝑌 0 0 0 𝐼 𝑍𝑍 𝜔 𝐵 = 0 0 0 0 0 0 0 0 0 0 𝑚 𝑤 −𝑚 𝑣 −𝑚 𝑤 0 𝑚 𝑢 𝑚 𝑣 −𝑚 𝑢 0 0 0 0 0 0 0 0 0 0 0 𝐼 𝑍𝑍 𝑟 −𝐼 𝑌𝑌 𝑞 −𝐼 𝑍𝑍 𝑝 0 𝐼𝑋𝑋 𝑝 𝐼 𝑌𝑌 𝑞 −𝐼𝑋𝑋 𝑝 0 (18) c) 𝛵 é o vetor de força e torque resultantes representado por: 𝛵 = 𝐹 𝐵 𝜏 𝐵 (19) Para o sistema do quadcopter encontram-se três parcelas que compõe o vetor 𝛵. A primeira parcela é referente a força da gravidade nas coordenadas do corpo rígido denominado por 𝐺 𝐵 .A segunda parcela, 𝑂 𝑏 𝑣 , provém dos efeitos giroscópicos produzidos pela rotação do rotor. A terceira parcela é a contribuição das forças e torques diretamente produzidos pelo movimento do quadcopter. As três parcelas são equacionadas respectivamente por 20, 21 e 22. 𝐺 𝐵 = 𝐹𝐺 𝐵 03𝑥1 = 𝑅 𝛩 −1 𝐹𝐺 𝐸 03𝑥1 = 𝑚 𝑔 𝑠 𝜃 −𝑚 𝑔 𝑐 𝜃 𝑠 𝜙 −𝑚 𝑔 𝑐 𝜃 𝑠 𝜙 0 0 0 (20) 𝑂 𝑏 𝑣 = 03𝑥1 − 𝐽 𝑇𝑃 𝜔 𝐵 × 0 0 1 −1 𝑘 𝛺 𝑘 4 𝑖=1 = 03𝑥1 𝐽 𝑇𝑃 −𝑞 𝑝 1 𝛺 (21)
  • 47. 48 𝑈𝑏 𝛺 = 𝐸 𝐵 𝛺2 = 0 0 𝑏 𝛺1 2 + 𝛺2 2 + 𝛺3 2 + 𝛺4 2 𝑏 𝑙 𝛺4 2 − 𝛺2 2 𝑏 𝑙 𝛺3 2 − 𝛺1 2 𝑑 𝛺2 2 + 𝛺4 2 − 𝛺1 2 − 𝛺2 2 (22) Onde têm-se que os valores d, b, l, 𝐽 𝑇𝑃, são constantes e representam eles, o coeficiente de arraste da hélice, o coeficiente de empuxo, o comprimento da haste que liga o motor ao centro do quadcopter e o momento de inércia da aeronave em torno do eixo do rotor respectivamente. Separando as variáveis de interesse em um sistema de equações obtem-se 23: 𝑢 = 𝑣𝑟 − 𝑤𝑞 + 𝑔 sin 𝜃 𝑣 = 𝑤𝑝 − 𝑢𝑟 − 𝑔 cos 𝜃 sin 𝜙 𝑤 = 𝑢𝑞 − 𝑣𝑝 − 𝑔cos 𝜃 sin 𝜙 + 𝑏 𝛺1 2 + 𝛺2 2 + 𝛺3 2 + 𝛺4 2 𝑚 𝑝 = 𝐼 𝑌𝑌 − 𝐼 𝑍𝑍 𝐼𝑋𝑋 𝑞𝑟 − 𝐽 𝑇𝑃 𝐼𝑋𝑋 𝑞 −𝛺1 + 𝛺2 − 𝛺3 + 𝛺4 + 𝑏 𝑙 𝛺4 2 − 𝛺2 2 𝐼𝑋𝑋 𝑞 = 𝐼 𝑍𝑍 − 𝐼 𝑋𝑋 𝐼 𝑌𝑌 𝑝𝑟 + 𝐽 𝑇𝑃 𝐼 𝑌𝑌 𝑝 −𝛺1 + 𝛺2 − 𝛺3 + 𝛺4 + 𝑏 𝑙 𝛺4 2 − 𝛺2 2 𝐼 𝑌𝑌 𝑟 = 𝐼𝑋𝑋 − 𝐼 𝑌𝑌 𝐼 𝑍𝑍 𝑝𝑞 + 𝑑 𝛺2 2 + 𝛺4 2 − 𝛺1 2 − 𝛺2 2 𝐼 𝑍𝑍 (23) 3.4 Dinâmica dos rotores Pré requisito ao equilíbrio do conjunto, há a capacidade de sustentabilidade da altitude do voo. No caso do quadcopter, esta sustentação é alcançada através das hélices. São equipamentos de propulsão acoplados aos motores que convertem a energia da rotação em translação, empurrando o fluido à sua volta. As hélices são formadas por conjuntos de asas, que ao serem rotacionadas geram uma diferença de pressão entre suas superfícies superior e inferior, segundo explicitam a 3ª lei de Newton e o princípio de Bernoulli. O comportamento de uma hélice pode ser baseado em 3 parâmetros; o coeficiente de Thrust cT, coeficiente de potência cP e raio da hélice r, 𝜌 a densidade
  • 48. 49 do ar e w a velocidade angular, que permitem calcular as seguintes equações 24 e 25 (RODRIGUES, 1964). 𝑇 = 𝑐𝑇4ρ𝑟4 𝜔2 𝜋2 (24) 𝑃𝑝 = 𝑐𝑃4 ρ𝑟5 𝜔3 𝜋3 (25) Através destas equações é possível observar que 𝑇 (força de impulso) e 𝑃𝑝 (potência de propulsão) aumentam consideravelmente com o aumento do diâmetro, e por consequência o consumo de energia também, diminuindo a autonomia do sistema. 3.5 Algoritmo de fusão de sensores O filtro de Magdwick (2010) usa o sistema de quaternions para representar a orientação do sistema MARG, usando como base o algoritmo do filtro de Kalman. O valor do quaternion é atualizado através da equação 26 que utiliza uma integração para sistemas discretos. 𝑞𝑡,𝜔 = 𝑞 𝑒𝑠𝑡,𝑡−1 + ( 1 2 𝑞 𝑒𝑠𝑡,𝑡−1𝐸 𝑆 𝐸 𝑆 𝐸 𝑆 × 𝜔𝑡)∆𝑡. 𝑆 (26) Onde: a) 𝑞𝑡,𝜔𝐸 𝑆 : o quaternion que determina a orientação do sistema atualizado através das medidas do giroscópio b) 𝑞 𝑒𝑠𝑡,𝑡−1𝐸 𝑆 : o quaternion estimado a posteriori do tempo t-1. c) 𝜔𝑡. 𝑆 : os valores do obtidos do giróscopio. O sobrescrito S indica que os valores obtidos são relativos ao frame do sensor.No sistema quaterniônico o vetor para a rotação é escrito como na equação 27. 𝜔𝑡. 𝑆 = 0 𝜔 𝑥 𝜔 𝑦 𝜔𝑧 (27) d) ∆𝑡: período de amostragem do sensor.
  • 49. 50 Para determinadas aplicações pode-se admitir uma solução incompleta dos ângulos de Euler, mas uma solução por quaternion requer que todos os três ângulos sejam computados. Isto pode ser obtido através de um problema de otimização de função 𝑓( 𝑞𝐸 𝑆 , 𝑑. 𝐸 , 𝑠). 𝑆 por minimização. A função descrita anteriormente é computada por 28. 𝑓( 𝑞𝐸 𝑆 , 𝑑. 𝐸 , 𝑠). 𝑆 = 𝑞∗ ×𝐸 𝑆 𝑑. 𝐸 × 𝑞𝐸 𝑆 − 𝑠. 𝑆 (28) Sendo: a) 𝑞𝐸 𝑆 : quaternion que contém a orientação do quadcopter 𝑞∗ = 𝑞1 𝑞2 𝑞3 𝑞4𝐸 𝑆 (29) b) 𝑞∗ 𝐸 𝑆 : é o conjugado do quaternion que contém a orientação do quadcopter: 𝑞∗ = 𝑞1 −𝑞2 −𝑞3 −𝑞4𝐸 𝑆 (29) c) 𝑑. 𝐸 : quaternion que descreve a direção do campo de referência nas coordenadas inerciais. 𝑑. 𝐸 = 0 𝑑 𝑥 𝑑 𝑦 𝑑 𝑧 (30) d) 𝑠. 𝑆 : quaternion que descreve a direção da orientação do sensor. 𝑠. 𝑆 = 0 𝑠𝑥 𝑠 𝑦 𝑠𝑧 (31) O algoritmo gradiente descendente apresenta a qualidade de simplicidade de implementação e computação, logo o quaternion estimado através das variáveis observáveis do acelerômetro e magnetômetro será dado pela equação 32. 𝑞∇,𝑡 = 𝑞 𝑒𝑠𝑡,𝑡−1 − 𝜇𝑡 ∇𝑓( 𝑞𝐸 𝑆 , 𝑑. 𝐸 , 𝑠). 𝑆 ∇𝑓( 𝑞𝐸 𝑆 , 𝑑. 𝐸 , 𝑠). 𝑆𝐸 𝑆 𝐸 𝑆 (32) O valor do divergente de 𝑓( 𝑞𝐸 𝑆 , 𝑑. 𝐸 , 𝑠). 𝑆 é determinado pelo produto de sua função objetiva pelo seu Jacobiano. Para a gravidade temos as equações 33 e 34.
  • 50. 51 𝑓( 𝑞𝐸 𝑆 , 𝑎). 𝑆 = 2 𝑞2 𝑞4 − 𝑞1 𝑞3 − 𝑎 𝑥 2 𝑞1 𝑞2 + 𝑞3 𝑞4 − 𝑎 𝑥 2 1 2 − 𝑞2 2 − 𝑞3 2 − 𝑎 𝑧 (33) 𝐽 𝑞𝐸 𝑆 = −2𝑞3 2𝑞4 −2𝑞1 2𝑞2 2𝑞1 2𝑞4 0 −4𝑞2 −4𝑞3 2𝑞2 2𝑞3 0 (34) Onde 𝑎. 𝑆 é o quaternion com as leituras do acelerômetro e 𝑎 𝑥, 𝑎 𝑦 e 𝑎 𝑧são as componentes de seus respectivos eixos. Para a orientação em relação ao campo magnético da Terra o Jacobiano e a função objetiva tomam o formato das equações 35 e 36. 𝑓( 𝑞𝐸 𝑆 , 𝑏. 𝐸 , 𝑚). 𝑆 = 2𝑏 𝑥 0.5 − 𝑞3 2 − 𝑞4 2 + 2𝑏𝑧 𝑞2 𝑞4 − 𝑞1 𝑞3 − 𝑚 𝑥 2𝑏 𝑥 𝑞2 𝑞4 − 𝑞1 𝑞3 + 2𝑏𝑧 𝑞1 𝑞2 + 𝑞3 𝑞5 − 𝑚 𝑦 2𝑏 𝑥 𝑞2 𝑞4 + 𝑞1 𝑞3 + 2𝑏𝑧 0.5 − 𝑞2 2 − 𝑞3 2 − 𝑚 𝑧 (35) 𝐽 𝑞𝐸 𝑆 , 𝑏. 𝐸 = = −2𝑏𝑧 𝑞3 2𝑏𝑧 𝑞4 −4𝑏 𝑥 𝑞3 − 2𝑏𝑧 𝑞1 −2𝑏 𝑥 𝑞4 + 2𝑏𝑧 𝑞2 2𝑏 𝑥 𝑞3 + 2𝑏𝑧 𝑞1 2𝑏 𝑥 𝑞2 + 2𝑏𝑧 𝑞4 2𝑏 𝑥 𝑞3 2𝑏 𝑥 𝑞4 − 2𝑏𝑧 𝑞2 2𝑏 𝑥 𝑞1 − 4𝑏𝑧 𝑞3 −4𝑏 𝑥 𝑞4 + 2𝑏𝑧 𝑞2 −2𝑏 𝑥 𝑞1 + 2𝑏𝑧 𝑞3 2𝑏 𝑥 𝑞2 (36) Onde 𝑏. 𝐸 é vetor que contém o campo magnético da Terra que contém componentes 𝑏 𝑥 e 𝑏𝑧. O vetor 𝑚. 𝑆 é o quaternion com as medidas do magnetômetro sendo 𝑚 𝑥, 𝑚 𝑦 e 𝑚 𝑧 as componentes dos respectivos eixos. Dada as equações 26 e 32 realizamos uma fusão das leituras dos sensores através de um filtro complementar descrito na equação 37. 𝑞 𝑒𝑠𝑡,𝑡𝐸 𝑆 = 𝛾𝑡 𝑞∇,𝑡𝐸 𝑆 + 1 − 𝛾𝑡 𝑞𝑡,𝜔𝐸 𝑆 (37) Onde 𝛾𝑡 é uma grandeza definida com valores entre 0 e 1. Madgwick (2010) esclarece que esta grandeza apresenta um valor ótimo quando a taxa de divergência de 𝑞𝑡,𝜔𝐸 𝑆 é igualada a taxa de convergência de 𝑞∇,𝑡𝐸 𝑆 , determinada por 𝛽. Sabendo-seque a taxa de convergência 𝑞∇,𝑡𝐸 𝑆 não possui um limite superior, ela pode ser assumida como um valor muito grande, logo portanto 𝜇𝑡também pode
  • 51. 52 ser considerado como tendo um valor muito grande. Levando em consideração estas hipóteses simplificamos a equação 37 para a 38. 𝑞 𝑒𝑠𝑡,𝑡𝐸 𝑆 = 𝑞 𝑒𝑠𝑡,𝑡−1𝐸 𝑆 + 𝑞 𝜔,𝑡 − 𝛽 ∇𝑓 ∇𝑓𝐸 𝑆 ∆𝑡 (38) Levando em conta a distorção magnética presente no sistema do quadcopter, o filtro de Madgwick propõe uma correção do campo magnético da terra através de uma variável 𝑕𝑡 𝐸 , descrito na equação 29, que representa este campo no frame da terra medido em um tempo t. 𝑕𝑡 𝐸 = 0 𝑕 𝑥 𝑕 𝑦 𝑕 𝑧 = 𝑞 𝑒𝑠𝑡,𝑡−1𝐸 𝑆 × 𝑚𝑡 𝑆 × 𝑞 𝑒𝑠𝑡,𝑡−1 ∗ 𝐸 𝑆 (39) Este novo parâmetro permite que os elementos de erro presentes na mensura do campo magnético da Terra possam ser corrigidos se 𝑕𝑡 𝐸 e 𝑏. 𝐸 forem da mesma inclinação. Logo tem-se que: 𝑏. 𝐸 = 0 𝑕 𝑥 2 + 𝑕 𝑦 2 0 𝑕 𝑧 (40) Para o drift do offset do giroscópio utiliza-se um quaternion normalizado que contém o erro estimado na taxa de variação de orientação, determinando o erro sistemático através de: 𝜔 𝜖,𝑡 𝑆 = 2 𝑞 𝑒𝑠𝑡,𝑡−1 ∗ 𝐸 𝑆 × 𝑞𝜖,𝑡𝐸 𝑆 (41) O valor do offset no tempo t pode ser determinado através da integração discreta de 𝜔 𝜖,𝑡 𝑆 , que pode ser escrita como: 𝜔 𝑏,𝑡 𝑆 = 𝜁 𝜔 𝜖,𝑡 𝑆 𝑡 ∆𝑡 (42) Baseando-se nas equações 42, 39 e 38 constrói-se um diagrama de blocos que indica uma malha semelhante à aquela ilustrada na figura 18.
  • 52. 53 Figura 18: Digrama de blocos representando o MARG de Madgwick Fonte: Adaptado de Magdwick (2010)
  • 53. 54 4 METODOLOGIA Pelo fato deste trabalho tratar de um objetivo que solicita relativa interdisciplinaridade de conhecimentos, partimos das conceituações teórica, matemática e computacional, como forma de nortear a sequência de opções mais adequadas a um bom resultado. Deste ponto em diante, os esforços estão na transposição das soluções teóricas e virtuais para o sistema real, através das seguintes etapas: a) Diagramação mecânica e cinemática da estrutura física do aeromodelo, suas características sobre capacidade de sustentação e estabilidade; b) Implementação do algoritmo de controle e sua utilização em plataforma de um grau de liberdade. c) Parametrização do algoritmo de interfaceamento sensores- microcontrolador; d) Construção do circuito de desenvolvimento agregado ao microcontrolador, estrutura do aeromodelo com quatro rotores e seus respectivos ESCs (Electronic Speed Controllers) e da plataforma de teste para sustentação. e) Complementação da estrutura física para seus quatro rotores no modelo completo do quadcopter; f) Simulação em ambiente computacional e otimização das equações dinâmicas e seus referentes coeficientes de ganho; g) Simulação em ambiente computacional, otimização do controle, seus referentes coeficientes de ganho dos controladores; h) Implementação do algoritmo de controle na plataforma do quadcopter. i) Análise de resultados e conclusão. A metodologia empregada em cada etapa será descrita a seguir. 4.1 Diagramação mecânica Baseando-se na análise feita sobre as equações 24 e 25 da seção 3.4 nota- se que a análise da melhor configuração para as hélices deve ser baseada em particularidades do aeromodelo, como, potência e faixa de eficiência dos motores, tipo de bateria, tempo de resposta e peso. Abaixo, uma estimativa do peso do conjunto na tabela 1:
  • 54. 55 Tabela 1: Peso estimado do protótipo Componentes estruturais: Peso [g]: Quantidade: Conjunto[g]: Motores 39 4 156 ESCs 34 4 136 Hélices 10 4 40 Spinners 12 4 48 Microcontrolador 35 1 35 Sensores 5 1 5 Hastes 74.3 2 148.6 Junção estrutural (frame) 58 2 116 Junções estruturais (motores) 2.6 4 10.4 Total [g]: 695 Fonte: Elaborado pelos autores Sendo assim toda a estrutura do protótipo poderá alcançar 695 gramas, peso adequado à capacidade dos motores CF2822 equipados com hélices de dez polegadas de diâmetro por Cinco polegadas de passo, segundo recomendações do fabricante, como visto na figura 19. Figura 19: Especificações dos motores Fonte: Yin Yan Model, 2014
  • 55. 56 Uma análise mais completa das condições de funcionamento do conjunto de propulsores, tanto para modo de vôo em sustentação quanto para regime de empuxo máximo, foi feita pelo site eCalc, com índice de incerteza de dez por cento.Quanto à autonomia, cerca de três a oito minutos de vôo ao aeromodelo, dependendo do tipo de voo (eCalc, 2014). Eficiência, temperatura, corrente e demais dados constantes no anexo A. A estrutura de um quadcopter é baseada em dois eixos cruzados contendo um propulsor em cada extremidade. Sendo que, seu centro de massa deve estar coincidente ao seu centro geométrico. O par de rotores de um eixo gira em sentido contrário ao par do eixo transverso,de forma que os momentos de reação gerados pelo giro dos motores tendem a se anular e aumentando-se a estabilidade para a guinada. 4.2 Implementação para um grau de liberdade Como forma de se iniciar os estudos da cinemática do sistema, uma estrutura que modela um grau de liberdade, foi estudada de forma a propiciar a análise das respostas do sistema contendo apenas dois propulsores (figura 20). Figura 20: Estrutura de modelamento em um grau de liberdade Fonte: Elaborado pelos autores
  • 56. 57 Como passo inicial, foi implementado através do ambiente de programação visual Processing (Processing, 2014), em conjunto com o compilador Arduino, disponibilizado pela Atmel, um algoritmo de controle PID clássico, à estrutura composta por apenas dois propulsores. De forma a se obter um sistema pouco agressivo e capaz de se estabilizar, em seu um grau de liberdade, os coeficientes de proporcionalidade, integrativo e derivativo, foram de 0,03 (todos os três). Na figura 21, pode-se perceber o set-point de zero grau como a reta horizontal, a resposta como inclinação variando em torno do set-point, e,a escala de saída em um dos motores no gráfico mais abaixo. Figura 21: Curvas de entrada e saída Fonte: Elaborado pelos autores Uma resposta melhor veio através da ferramenta computacional Simulink, contida no software MatLab, após a filtragem mais sintonizada de leitura do sensor e da equalização dos motores, feita por uma função exponencial em um dos motores, foi possível o alcance de um sistema rápido, que nos trouxe apenas uma oscilação após cada entrada degrau. O diagrama no Simulink pode ser visto na figura 22. Os parâmetros encontrados para o controlador PID foram de 0,065; 0,01 e 0,016 para os ganhos proporcional, integral e derivativo respectivamente.
  • 57. 58 Figura 22: Diagrama em um grau de liberdade no Simulink Fonte: Elaborado pelos autores O que se percebeu sob a influência do ramo integrativo, foi que, mesmo atuando sob mínimos coeficientes, este gerava um atraso na reposta do sistema.
  • 58. 59 Figura 23: Leituras dos sinais do diagrama de blocos Fonte: Elaborado pelos autores O controle gerado pelo diagrama de blocos pode ser visto nos gráficos da figura 23. Onde praticamente inutiliza-se o fator integrativo, o que viabilizou um sistema rápido e robusto, apesar da incerteza gerada quando a inclinação alcançava ângulos muito próximos de 0 graus. Seu funcionamento pode ser visto através do link: <http://youtu.be/sysebtA2ioc>. 4.3 Parametrização do algoritmo de sensoriamento Neste projeto, se optou pelo módulo de vôo 10DOF (Tem Degrees Of Freedom) modelo GY88, como equipamento de sensoriamento principal. O GY88 é uma pequena placa de circuito eletrônico SMC (Surface Mounted Components), que conta com acelerômetro e giroscópio embutidos no circuito integrado MPU6050, magnetômetro modelo HMC5883l e o barômetro BMP085. Devido à relevante
  • 59. 60 quantidade de sensores acomodados em uma mesma plataforma, a comunicação deste equipamento com o MCU (Micro Controller Unit) é feita através do protocolo I2 C (Inter Integrated Circuits). Basicamente, este código trabalha com dois tipos de sinais entre os CIs, o sinal de clock (gerado pelo CI mestre) que sincroniza a troca de informações, e o sinal de dados, este bidirecional. Para estimativas de posicionamento, o sistema deve ser realimentado com sinais de rotação e translação. Neste caso, a fusão de sensores entre acelerômetro e giroscópio é uma boa opção para leitura angular. A principal intenção, em uma fusão de sensores, é promover a iteração entre as magnitudes medidas por cada sensor individualmente, e correlacioná-las de forma a manter uma resposta aceitável, mesmo que ocorram erros em alguma leitura, tornando o sistema menos sensível e mais preciso (VIEIRA, 2011). Integrado ao módulo de voo há o acelerômetro digital de três eixos ADXL345, com capacidade para perceber acelerações de -g à +g. Tomando como premissa que o acelerômetro esteja exatamente ao centro da estrutura, pode-se dizer que variações de ângulo em torno de seus próprios eixos não seriam percebidas pelo mesmo. Mas devido ao alto índice de vibrações do sistema, gerado pelos motores, há medições indesejadas sendo captadas. Considerando então, que filtros digitais serão aplicados de forma à reduzir as leituras equivocadas, podemos teorizar sobre um cálculo que descarta estas vibrações. Sabendo-se que a aceleração da gravidade é de 9,81 m/s2 , o somatório das componentes trigonométricas deste vetor pode estimar a inclinação. (ax2 (t) + az2 (t))1/2 = g (43) O giroscópio (Angular Rate Sensor), modelo L3G4200D, faz medidas da velocidade de rotação. Devido à necessidade de contínuas integrais no tempo, para transformar a leitura da velocidade angular em deslocamento angular, pequenos desvios são incorporados à leitura, o que torna o giroscópio pouco preciso ao longo do tempo. θn+1 = θn ∫ (dθ/dt) dt (44)
  • 60. 61 Como forma de superação de grande parte das fontes de imprecisão características de cada sensor, a fusão sensorial pode ser entendida com um grau mínimo de complexidade, como na figura 24: Figura 24: Diagrama de tratamento de sinal Fonte: Elaborado pelos autores Auxiliando o acelerômetro e o giroscópio, temos a bussola digital MCS (Magnetic Compass Sensor), modelo HMC5883L, pode-se obter o ângulo de Azimute, pela sua percepção do campo magnético da Terra (equação 16). Heading = arctag (Yh/Xh) (45) Como feedback da altitude, pode-se ainda, com o sensor de pressão, modelo BMP085 (Pressure sensor), estimar a altitude com relativa precisão. Tendo como off-set a altitude a memória da pressão do ponto de decolagem, é possível gerar um parâmetro de altitude da aeronave a cada tempo. O algoritmo de fusão de sensores confeccionado para este projeto pode ser visto no anexo B. Devido a natureza da fabricação dos sensores MEMS têm-se sempre uma componente de offset, ou bias, presente que provocam erro nas leituras provenientes destes. Para que se obtenha os dados corretos das mensuras é necessário realizar uma calibração do sensor para o valor real medido. Para tal utilizou-se uma coleta de dados através de uma comunicação serial entre o software MATLAB e a plataforma de desenvolvimento do Arduino. A calibração é realizada através da mensura e armazenamento dos dados dos sensores em várias posições, e então utiliza-se uma biblioteca pré definida para
  • 61. 62 a criar uma superfície de tendência esferoidal. Os parâmetros de interesse para a esfera calculada são as coordenadas de seu centro, que representam o offset inerente as medidas do sensor. Para a calibração do magnetômetro e do acelerômetro obteve-se as figuras 25 e 26. Figura 25: Calibração do magnetômetro Fonte: Elaborado pelos autores
  • 62. 63 Figura 26: Calibração do acelerômetro Fonte: Elaborado pelos autores 4.4 Circuito de desenvolvimento O esquema elétrico-eletrônico de um aeromodelo do tipo quadrirotor, como na maioria dos sistemas autômatos, é construído basicamente em prol da interface entre controlador, atuadores, sensores e bateria. O circuito de desenvolvimento deste protótipo se assemelha a este modelo. A bateria fornece energia ao regulador de tensão, que alimenta o microcontrolador com 5 volts, este por sua vez, energiza os sensores. Esta mesma bateria fornece energia aos motores através dos ESCs (figura 27):
  • 63. 64 Figura 27: Circuito de desenvolvimento Fonte: Elaborado pelos autores Os motores brushless necessitam de uma alimentação caracterizada pela sobreposição de três ondas senoidais defasadas de 120 graus uma da outra. De forma que, cada uma destas ondas alimente um grupo diferente de enrolamentos. Esses motores não possuem sensores que facilitem o monitoramento de sua posição angular ou velocidade, de forma, que seu alimentação eficiente se torna uma tarefa bastante complexa. Os ESCs se encarregam de alimentar os motores, conforme recebem o sinal de controle do microcontrolador, através do fio chamado data. Este sinal é feito através do código PWM (Pulse-Width Modulation), que ao ter seu duty-cicle variado, varia a resposta do ESC. Os ESCs escolhidos são chamados de Simonk, tiveram seu software desenvolvido por Simon Kirby. Estes controladores foram otimizados para serem
  • 64. 65 mais rápidos que ESCs normais e se ajustarem melhor ao funcionamento de quadcopters. O microcontrolador usado é um Arduino Mega da Atmel, possui um processador com interface de 8 bits por ciclo, 16MHz de clock e 256KB de memória flash. Possui ainda, 54 pinos de comunicação com o exterior, dos quais, 15 podem ser saídas PWM, e 16 entradas analógicas. Sua comunicação com o módulo de voo, ou IMU, é feita través do código serial I2 C, sendo realizada por apenas dois fios. Onde, um destes é utilizado para determinação do clock de comunicação, feito pelo dispositivo master, e o outro é utilizado para troca de comandos e dados. Assim, o microcontrolador pode determinar os parâmetros de sensoriamento e receber as magnitudes das leituras sensoriais. 4.5 Desenvolvimento da estrutura completa Para o desenvolvimento deste trabalho considerou-se a montagem da estrutura do quadcopter do zero, sendo utilizados os seguintes componentes para sua construção: a) 2 Hastes tubulares em alumínio com 980mm de comprimento, diâmetro externo de 10mm e diâmetro interno de 7mm; b) 1 Arduino Mega 2560. c) 1 Módulo de sensoriamento de voo IMU GY88; d) 4 Controladores eletrônico de velocidade (ESCs) Mistery Simonk de 30A; e) 4 Motores brushless E-Max CF2822 de 1200Kv, Wmax de 203W, 39g; f) 1 Estrutura usinada de fixação do frame, em nylon, de 70 x 70mm por 20mm. g) 4 estruturas fixação dos motores em nylon com diâmetro de 28,5mm. Como forma de fixação central da estrutura, foram utilizadas duas chapas de nylon, usinadas de forma que o formato cilíndrico das hastes se encaixassem transversalmente (figura 28). Assim, a montagem garantiu precisão e resistência necessárias, sem prejudicar o peso total (figura 29).
  • 65. 66 Figura 28: Estrutura usinada de fixação do frame Fonte: Elaborado pelos autores Figura 29: Estrutura de vôo Fonte: Elaborado pelos autores
  • 66. 67 Após o estabelecimento das fases iniciais do projeto, uma estrutura de desenvolvimento para mais graus de liberdade foi montada. Estágio em que o algoritmo de controle começa a integrar cálculos de resposta para diversos fatores dinâmicos simultaneamente. Na figura 30, fios de nylon atravessam as hastes tubulares, como forma de limitação do movimento em vôo. Como pode ser visto através do link: <http://youtu.be/0dkFosPuuWw>. Figura 30: Plataforma de desenvolvimento para 5 graus de liberdade Fonte: Elaborado pelos autores 4.6 Equalização das curvas de ganhos dos motores Diferenças físicas mínimas entres os componentes dos grupos atuadores são resultantes dos processos de fabricação e dos materiais de sua composição. Devido estas discrepâncias, desempenhos também discrepantes são obtidos destes equipamentos. Como forma de viabilizar o controle do aeromodelo, deve-se homogeneizar as curvas de potência dos motores, de forma que não haja discrepância entre os sinais de controles e as ações realizadas pelos atuadores.
  • 67. 68 Para tal realizou-se uma sequência medições das forças exercidas pelos motores em uma balança digital para determinados valores de PWM, enviados para o ESC do respectivo. A realização da coleta dos valores implementou-se a montagem exibida na figura 31, onde todos os motores permanecem desligados exceto aquele que está oposto ao que encontra-se apoiado na balança digital, de forma a compor a dinâmica do momento de inércia real da planta. Figura 31: Montagem executada para as coletas de dados Fonte: Elaborado pelos autores Os valores coletados encontram-se dentro da faixa de PWM utilizada para o controle do quadcopter. Na tabela 1 estão dispostos os resultados obtidos.
  • 68. 69 Tabela 1: Relação entre o PWM e a força PWM Motor traseiro Motor direito Motor esquerdo Motor frontal 40 116 104 124 130 45 142 130 150 158 50 166 156 174 186 55 194 180 200 216 60 220 204 228 242 65 246 228 250 262 70 276 260 274 294 75 306 286 304 328 80 334 312 332 358 85 362 342 370 378 90 388 366 392 404 95 416 396 420 436 100 440 416 448 464 Fonte: Elaborado pelos autores Implementando uma regressão linear para parametrização de uma função que determina a relação entre a força de empuxo dos atuadores e o PWM obteve-se os gráficos 1, 2, 3 e 4 para os motores traseiro, direito, esquerdo e frontal respectivamente. No canto inferior direito de cada gráfico encontra-se as equações obtidas e a relação colinear. Observa-se que esta tem seu valor bem próximo de um, indicando que a estimativa da relação entre a reta e os pontos obtidos possuem uma aproximação numérica relevante.
  • 69. 70 Gráfico 1: Força x PWM para o motor traseiro Fonte: Elaborado pelos autores Gráfico 2: Força X PWM para o motor direito Fonte: Elaborado pelos autores y = 5,487x - 106,7 R² = 0,999 0 50 100 150 200 250 300 350 400 450 500 0 20 40 60 80 100 120 Empuxonomotor(gf) PWM Motor traseiro Motor traseiro y = 5,276x - 109,3 R² = 0,999 0 50 100 150 200 250 300 350 400 450 0 20 40 60 80 100 120 Empuxonomotor(gf) PWM Motor direito Motor direito
  • 70. 71 Gráfico 3: Força X PWM para o motor Esquerdo Fonte: Elaborado pelos autores Gráfico 4: Força X PWM para o motor Esquerdo Fonte: Elaborado pelos autores y = 5,426x - 97,84 R² = 0,998 0 50 100 150 200 250 300 350 400 450 500 0 20 40 60 80 100 120 Empuxonomotor(gf) PWM Motor esquerdo Motor esquerdo y = 5,549x - 91,84 R² = 0,999 0 50 100 150 200 250 300 350 400 450 500 0 20 40 60 80 100 120 Empuxodomotor(gf) PWM Motor frontal Motor frontal
  • 71. 72 Pela alta elação colinear, há uma linearização das curvas de ganho dos motores realizada pelo software de controle dos ESCs. O que viabiliza uma equalização menos complexa dos grupos atuadores. 4.7 Simulação computacional Para a determinação dos coeficientes dos controladores PID do quadcopter foi necessário levantar alguns parâmetros da estrutura do quadcopter. Devido a sua geometria mais trabalhada construiu-se uma réplica da aeronave no software CAD SolidWorks versão 2012 de 64 bits, podendo essa ser vista na figura 32. O algoritmo do programa permite o cálculo do tensor de inércia, dado a inserção correta dos materiais de cada componente. Figura 32: Modelo do quadcopter construído no SolidWorks Fonte: Elaborado pelos autores Para a estrutura do quadcopter obteve-se o tensor em kg.m2 descrito na matriz da equação 46.
  • 72. 73 𝐼𝑥𝑥 0 0 0 𝐼𝑦𝑦 0 0 0 𝐼𝑧𝑧 = 0,02257 0 0 0 0,02257 0 0 0 0,04457 (46) Para o parâmetro 𝐽 𝑇𝑃 do cálculo dos efeitos giroscópicos basta usar o teorema dos eixos paralelos, logo têm-se que: 𝐽 𝑇𝑃 = 𝐼𝑧𝑧 + 𝑚. 𝑟2 = 0,256797 𝑘𝑔. 𝑚2 (47) Onde m é a massa do quadcopter e r é a distância do centro do eixo do motor ao centro de gravidade do quadcopter. Para a simulação do quadcopter utilizou-se o toolbox incluso no MATLAB, o Simulink. Os principais setores do diagrama de blocos é discutida e explicada no texto seguinte. Dado o levantamento da relação entre o empuxo e a variável de PWM do microcontrolador, torna-se desnecessário determinar o coeficiente de empuxo das hélices, permitindo-se modelar os atuadores como descrito no diagrama de blocos presente na figura 33. O diagrama anterior representa uma simplificação, do atuador constituído do ESC e do motor brushless. Dada a própria construção eletrônica do ESC, não há como o existir valores de empuxo negativo, logo existe uma zona morta para todos os valores da força exercida pelo motor inferior a zero. Dada as equações dos gráficos 1, 2, 3 e 4 determinou-se quando a zona morta termina, iniciando então o controle do quadcopter. Os ganhos presentes no diagrama de blocos são o coeficiente linear obtidos na linha de tendência.
  • 73. 74 Figura 33: Blocos do atuador Fonte: Elaborado pelos autores Seguindo a equação 23, programou-se um bloco que representa a dinâmica do quadcopter, que terá como entradas os parâmetros físicos discutidos no capítulo 3. Os ângulos de rolagem, arfagem, guinada, e as forças exercidas por cada motor. As saídas são um vetor contendo as acelerações lineares e angulares nas coordenadas do corpo e a matriz de rotação, que realiza a transformação das coordenas do corpo para as inerciais. O código implementado para simulação pode ser visto no Anexo D. Para evitar que o haja translação no eixo X e Y no sistema inercial antes da decolagem do quadrotor, aproximando-se então do sistema real,implementou-se uma condição de que até que a aceleração de Z ultrapasse zero pela primeira vez não haja passagem do sinal calculado das acelerações, permanecendo assim o quadcopter, estático. Para tal, utilizou-se um detector de valor para a aceleração de Z, um flip-flop tipo memória e um switch tal como diagramado na figura 34.
  • 74. 75 Figura 34: Blocos do atuador Fonte: Elaborado pelos autores Dado que as velocidades angulares estarão no body frame é necessário utilizar uma transformação através da matriz T_Θ da equação 13 discutida no capítulo 3. A integral do vetor de saída desta transformação serão os ângulos de rolagem arfagem e guinada. Através da ferramenta Simulink simulou-se o quadcopter calibrando manualmente os valores dos coeficientes dos PIDs para a altitude e os ângulos de orientação até que estes estivessem dentro de uma reposta desejada. Finalmente, a simulação para a estrutura com quatro rotores em voo, considerando rolagem, arfagem, guinada e altitude, demonstrou a viabilidade das equações de modelamento e controle. Como pode ser visto nas figuras 35 e 36, o aeromodelo apresentou guinada estável com um transitório desconsiderável (traço praticamente reto), pequeno overshoot para altura após a decolagem (traço mais à cima), um pequeno número de oscilações transitórias para rolagem e arfagem.
  • 75. 76 Figura 35: Respostas para Z e rotações Fonte: Elaborado pelos autores Figura 36: Reposta dos motores (em PWM) Fonte: Elaborado pelos autores 4.8 Controle Após estudo do equacionamento dinâmico do modelo e simulação de sua veracidade, foram definidos os parâmetros de interesse no controle do protótipo. Passo seguinte, visou-se alcançar razoável capacidade de leitura destas variáveis, partindo das rotações do corpo. Mais uma vez, iniciou-se pelo controle de um grau de liberdade, e, fazendo a leitura da influência das forças dos empuxos sob as angulações, foi possível obter a
  • 76. 77 faixa ótima de atuação. Assim como do coeficiente proporcional (kp) e derivativo (kd). Lembrando que, devido à ampla gama de velocidades de rotação dos motores, isso só foi possível devido à linearização de suas curvas de ganho. Implementado o código de controle em linguagem C, utilizou-se portas de leitura e conversão analógico/digital para variar os parâmetros de controle através de potenciômetros de alta precisão, simultaneamente ao funcionamento do quadcopter. Ajustados os coeficientes para equilíbrio em torno do eixo X, o mesmo foi feito para o eixo Y. Em seguida, a aplicação do controle na rotação em Z, através da discrepância entre a base de força dos atuadores de uma haste para os de outra. Para o controle de altitude, foi aplicado um controle que obedeceu uma sequência de setpoints definida. Sequência feita de forma que a posição translacional em Z, da aeronave, fosse suficiente para manter o voo por cerca de 10 segundos e pousar de forma autômata. O código de controle pode ser visto no anexo E deste trabalho.
  • 77. 78 5 RESULTADOS À época de início deste trabalho de conclusão de curso, havia razoável disponibilidade de trabalhos científicos publicados que abordavam o tema pretendido. No entanto, a aplicação da Lei de Controle PID à malha de um drone multirotor foi entendida como novidade. A primeira considerável conquista deste trabalho foi o estabelecimento da comunicação entre o microcontrolador e um ESC, dado que não há grande disponibilidade de biografia sobre seus parâmetros. Construído para receber comandos digitais do receptor de ondas de rádio, o ESC reconhece sequências específicas de comandos, faixas de modulação de frequência e de duty-cicles. Outro ponto relevante, foi o refino do PID em um grau de liberdade, através do ambiente de desenvolvimento Simulink. O microcontrolador propiciou a interface entre a gangorra e o computador. Um diagrama bem estruturado trouxe respostas rápidas e precisas. O firmware desenvolvido em linguagem C, de forma a manter um loop eficiente e parâmetros de comando acertados para as faixas de atuação, trouxe o controle PID para o microcontrolador, o que desvinculou o protótipo do ambiente computacional. Através da adaptação da biblioteca FreeIMU, e, da implementação do código de fusão de sensores, foi obtida a capacidade de leitura dos sensores MEMS. O que permitiu o sensoriamento necessário ao cálculo de posicionamento. O êxito em calibrar os pesos de referência das leituras do magnetômetro e do acelerômetro, foi obtido através do código elaborado em ambiente MatLab. O que possibilitou uma leitura mais fidedigna dos fenômenos físicos. Após a construção virtual do modelo equacionado para quatro propulsores, na visualização do nível estabilidade do voo simulado, foi possível enxergar a atuação dos coeficientes de controle. Além disto, cita-se a interdependência dos parâmetros dos diferentes controles, como fator de atenção na composição integral do modelo. O equilíbrio em voo, desconsideradas ainda as translações, veio com a aplicação de um algoritmo de controle para três graus de liberdade. O que, devido a interdependência de atuação existente entre os parâmetros de controle da rotação em Z, e as rotações em X e Y, somente foi possível diante da adequada aplicação do equacionamento.
  • 78. 79 Finalmente, o voo autômato foi alcançado, com uma ultima sintonia de seus coeficientes, offsets e ganhos, e ainda, com a implementação da sequência de variação de altitudes monitoradas pelo barômetro. Voo este, possível apenas em ambiente livre de perturbações externas à planta, devido à sua malha de controle de baixa robustez.
  • 79. 80 6 CONCLUSÃO Este trabalho alcançou sua proposta. A aplicação da Lei de Controle Clássica é viável para um sistema relativamente rápido e complexo. A linearização e a variação de equações por máquina de estados, podem permitir soluções de partes discretas para um sistema dinâmico. Desde a pesquisa, até a aplicação, para todas as fases concretizadas neste trabalho foram fomentadas por trabalhos acadêmicos da mais alta excelência. Seja pelas orientações providas por nossos professores, por livros, artigos científicos, teses de doutorado, teses de mestrado, e, até mesmo trabalhos de conclusão de curso, o esforço da comunidade científica nos agraciou com a sustentação do bom planejamento, no caminho escolhido para a aplicação da teoria. Concluímos que a ao optar por um módulo de voo comercial, limitamos o alcance do projeto às capacidades de sensoriamento deste. Por se tratar da parte fundamental do sistema, quando tratamos de hardware. No momento, o protótipo em fase de ajuste de coeficientes pode ser visto através do link: <http://youtu.be/0dkFosPuuWw>. Um vídeo de seu funcionamento será publicado em breve neste mesmo canal do site YouTube. Pelos resultados alcançados, concluímos ainda, que a utilização da ferramenta de controle PID é suficiente para o controle de um drone. Desde que considerados os devidos cuidados em sua elaboração e suas limitações.
  • 80. 81
  • 81. 82 REFERÊNCIAS ABBASI E.; MAHJOOB M. J.; YAZDANPANAH R. Controlling of Quadrirotor UAV Using a Fuzzy System for Tuning the PID Gains in Hovering Mode. School of Mechanical Engineering, University of Tehran, Iran, 2013. ARDrone. Parrot AR Drone 2.0 GPS Edtion. Disponível em: <http://ardrone2.parrot.com/>. Acesso em: 21 abr. 2014. BADRI, Abdellatef E.; SINHA, Jyoti K.; ALBARBAR, Alhussein. A typical filter design to improve the measured signals from MEMS accelerometer. Measurement, United Kingdom,vol.43, p. 1425-1430, ago. 2010. BASTA, Peter O. Quad Copter Flight. California State University, Northridge. Thesis Eletric Engeneering, 2012, p. 60. BEARD, R. W. Quadrirotor dynamics and control. Brigham Young University, 2008. BRESCIANI, Tommaso. Modelling, Identification and Control of a Quadrirotor Helicopter. Universidade de Lund, Thesis Automation Engeneering, 2008, p. 184. BOUABDALLAH, Samir. Design and Control of Quadrirotors with Application to Autonomous Flying. École Polytechnique Fédérale de Lausanne. Lausanne, 2007. BOUAHBDALLAH, Samir; NOTH, André; SEIGWART, Roland. PID vs LQ Control Techniques Applied Indoor Micro Quadrirotor. In: Proceedings of 2004 IEEE/RSJ International Conference On Intelligent Robots and Systems. P. 2451-2456, 2004. BOUAHBDALLAH, Samir; SIEGWART, Roland. Backstepping and Sliding-mode Techniques Applied to an Indoor Micro Quadrirotor. In: Proceedings of the 2005 IEEE International Conference on Robotics and Automation, 2005, p. 2247-2252.
  • 82. 83 BROWN, Robert Grover; HWANG, Patrick Y. C. Introduction to random signals and applied Kalman filtering. 4 ed. New York: Wiley,2012,p. 101-201. DEMPSEY, Martin E. Eyes of the Army – U.S. Army Roadmap for Unmanned Aircraft Systems 2010–2035, United States Army, 9 abr. 2010. Disponível em: <http://www- rucker.army.mil/usaace/uas/US%20Army%20UAS%20 RoadMap%202010%202035.pdf>. Acesso em: 17 fev. 2014. DORF, Richard C.; BISHOP, Robert H. Modern Control Systems. 12 ed. Upper Saddle River, 2008, 1056 p. eCalc. Multicopter Calculator. Disponível em: <http://www.ecalc.ch/xcoptercalc.php?ecalc&lang=en>. Acesso em: 19 abr. 2014. FAZARINC, Zvonko. Z-transform and its application to development of scientific simulation algorithms. Computer applications in engineering education, California, Wiley, v. 21, p. 75-88, mar. 2013. Freescale Semiconductor. Data sheet MMA7360. Rev. 2, oct. 2007.Disponível em: <http://www.freescale.com/files/sensors/doc/data_sheet/MMA7360L.pdf>. Acesso em: 1 nov. 2013. HERNÁNDEZ, Wilmar. Improving the response of an accelerometer by using optimal filtering. Sensors and Actuators, Madrid, v. 88, p. 198-208, out. 2000. HOFFMAN, Gabriel H.; et al. Quadrirotor Helicopter Flight Dynamics and Control: Theory and Experiment. Proceedings of the AIAA Guidance, Navigation and Control Conference. 2007. Disponível em: <http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.77.9015&rep=rep1&type= pdf>. Acesso em: 23 de mar. 2014. JIANG, Jun et al. Control Platform Design and Experiment of a Quadrirotor. Proceedings of the 32nd Chinese Control Conference. 2013. p. 2974-2979.
  • 83. 84 KOWNACKI, Cezary. Optimization approach to adapt Kalman filters for the real-time application of accelerometer and gyroscope signals filtering. In: Digital Signal Processing, Orlando, v. 21, n.1, p. 131-140, jan. 2011. LEONG, Bernard Tat Meng; LOW, Sew Ming; OOI, Melanie Po-Leen. Low-Cost Microcontroller-based Hover Control Design of a Quadcopter. Procedia Engineering. V. 41, p. 458-464, 2012. LEONG, Bernard Tar Meng; LOW, Seng Ming; OOI, Melanie Po-Leen; STOCHERO, Tahiane. G1 Brasil. Segurança da Copa 2014 terá drones da FAB e PF. São Paulo, 2013, disponível em: <http://g1.globo.com/brasil/noticia/2013/03/seguranca-da-copa- 2014-tera-drones-da-fab-e-pf-exercito-estuda-compra.html>. Acesso em: 13 de fev. 2014. LEISHMAN, J. Gordon. The Bréguet-Richet Quad-Rotor Helicopter of 1907. 2004. Disponível em: <http://aero.umd.edu/~leishman/Aero/Breguet.pdf>. Acesso em: 17 de mar. 2014. MADGWICK, Sebastian O.H. An efficient orientation filter for inertial and inertial/magnetic sensor arrays. 2010. Disponível em: <http://www.x- io.co.uk/res/doc/madgwick_internal_report.pdf>. Acesso em: 22 de out. 2014. MAGNUSSEN, Øyvind; OTTESTAD, Morten; HOVLAND, Geir. Experimental Validation of a Quaternion-based Attitude Estimation with Direct Input to a Quadcopter Control System. In: International Conference on Unmanned Aircraft Systems (ICUAS), Atlanta, p. 480-485, maio 2013. MCCORMICK, W. Barnes. Aeronautics and Flight Mechanics. New York, Wiley, 2 ed., 1995. NEWCOME, Laurence R. Unmanned Aviation: A brief history of unmanned aerial vehicles. Virginia, America Institute of Aeronautics and Astronautics, 2004. PRISACARIU, Victor Adrian; REID, Ian. 3D hand tracking for human computer
  • 84. 85 interaction. Image and Vision Computing, United Kingdom, v. 30, p. 236-250, jan. 2012. Processing. Processing 2. Disponível em: <http://www.processing.org/>. Acesso em: 25 abr. 2014. QISHUANG, Liu Xinbo. Applications of chirp z transform and multiple modulation zoom spectrum to pulse phase thermography inspection. NDT and E international, Beijing, v. 54, p. 1-8, mar. 2013. RADER, Charles M. On Digital Filtering. IEEE Transactions on Audio and Electroacoustics, v.16, n. 3, p. 303-314, set. 1968. RODRIGUES, José. Aeromodelismo teórico e prático. Serviço de Publicações da Mocidade Portuguesa, 1964. SABATINI, Angelo Maria. Kalman-Filter-Based Orientation Determination UsingInertial/Magnetic Sensors: Observability Analysis and Performance Evaluation. In: Sensors, v. 11, p. 9182-9206, 2011. SHI, Peng; KAYA, C. Yalcin. Robust Kalman filtering for continuous-time systems with norm-bounded nonlinear uncertainties. IMA Journal of Mathematical Control and Information, v. 17, n. 4, p. 363-373, set. 1998. SICILIANO, Bruno; KATHIB, Oussama. Springer Handbook of Robotics. Berlin, p. 1611, 2008. STOCHERO, Tahiane. G1 Brasil. Segurança da Copa 2014 terá drones da FAB e PF. São Paulo, 2013. Disponível em: <http://g1.globo.com/brasil/noticia/2013/03/seguranca-da-copa-2014-tera-drones-da- fab-e-pf-exercito-estuda-compra.html>. Acesso em: 13 de Fev. 2014.
  • 85. 86 TAVAKOLI, Mahmoud; MARQUES, Lino; ALMEIDA, Aníbal T. de. 3DCLIMBER: Climbing and manipulation over 3D structures. Mechatronics, Coimbra, vol. 21, p. 48-62, set. 2010. YANG, Aiying; LAI, Junsen; SUN, Yu-nan. A chirp Z transform based software synchronization method for optical performance monitoring. IEEE Photonics technology letters, Beijing, v. 23, n. 22, p. 1739-1741, nov. 2011. Yin Yan Model. Manual E-Max CF2822. Disponível em: <http://www.http://www.yinyanmodel.com/en/ProductView.asp?ID=58>. Acesso em: 20 apr. 2014.
  • 86. 87
  • 87. 88 ANEXOS ANEXO A - CARACTERÍSTICAS DOS PROPULSORES
  • 88. 89
  • 89. 90 ANEXO B - CÓDIGO DE FUSÃO DE SENSORES //Fusão de sensores pela teoria de MADGWICK AHRS void MadgwickAHRS(float gx, float gy, float gz, float ax, float ay, float az, float mx, float my, float mz) { floatrecipNorm; float s0, s1, s2, s3; float qDot1, qDot2, qDot3, qDot4; floathx, hy; float _2q0mx, _2q0my, _2q0mz, _2q1mx, _2bx, _2bz, _4bx, _4bz, _2q0, _2q1, _2q2, _2q3, _2q0q2, _2q2q3, q0q0, q0q1, q0q2, q0q3, q1q1, q1q2, q1q3, q2q2, q2q3, q3q3; qDot1 = 0.5f * (-q1 * gx - q2 * gy - q3 * gz); qDot2 = 0.5f * (q0 * gx + q2 * gz - q3 * gy); qDot3 = 0.5f * (q0 * gy - q1 * gz + q3 * gx); qDot4 = 0.5f * (q0 * gz + q1 * gy - q2 * gx); if(!((ax == 0.0f) && (ay == 0.0f) && (az == 0.0f))) { recipNorm = invSqrt(ax * ax + ay * ay + az * az); ax *= recipNorm; ay *= recipNorm; az *= recipNorm; recipNorm = invSqrt(mx * mx + my * my + mz * mz); mx *= recipNorm; my *= recipNorm; mz *= recipNorm; _2q0mx = 2.0f * q0 * mx; _2q0my = 2.0f * q0 * my; _2q0mz = 2.0f * q0 * mz; _2q1mx = 2.0f * q1 * mx; _2q0 = 2.0f * q0; _2q1 = 2.0f * q1; _2q2 = 2.0f * q2; _2q3 = 2.0f * q3; _2q0q2 = 2.0f * q0 * q2;