• Nenhum resultado encontrado

Controle de Inclinação Utilizando Lógica Fuzzy

N/A
N/A
Protected

Academic year: 2021

Share "Controle de Inclinação Utilizando Lógica Fuzzy"

Copied!
55
0
0

Texto

(1)

UNIVERSIDADE FEDERAL DO PARANÁ DEPARTAMENTO DE ENGENHARIA ELÉTRICA

João Luiz Ferreira Enomoto

Controle de Inclinação Utilizando Lógica Fuzzy

CURITIBA 2010

(2)

João Luiz Ferreira Enomoto

Controle de Inclinação Utilizando Lógica Fuzzy

Trabalho apresentado como

avaliação na disciplina de Projeto Final de graduação, no Curso de Graduação em Engenharia Elétrica da Universidade Federal do Paraná. Orientador: Prof. Dr. Gideon Villar Leandro.

CURITIBA 2010

(3)

AGRADECIMENTOS

Agradeço primeiramente à minha família, que sempre me apoio em todos os sentidos e em todos os momentos de minha vida, sejam eles bons ou ruins.

Agradeço também ao professor Gideon pelos conselhos, suporte e disponibilidade para me ajudar durante o desenvolvimento deste trabalho.

Por fim, gostaria também de agradecer a todos os colegas de trabalho e estudo que me incentivaram durante todo o processo.

(4)

RESUMO

O presente trabalho trata do desenvolvimento de um controlador a ser utilizado em veículos aéreos não tripulados do tipo quadrirotor, dando ênfase à criação de um sistema de baixo custo. Primeiramente, são detalhados os conceitos gerais relacionados a este tipo de aeronave, que em seguida são utilizados para desenvolver um modelo matemático do comportamento dinâmico de um quadrirotor. Em seguida são explicados os conceitos da teoria de controle fuzzy envolvidos no desenvolvimento do método apresentado, seguidos pelo método em si. Baseado no modelo matemático foi desenvolvido simulador utilizando a ferramenta Simulink do Matlab, utilizado para validar o método de controle desenvolvido. Por fim, as ferramentas necessárias para a construção de um protótipo baseado no modelo são apresentadas.

(5)

ABSTRACT

The present work concerns the development of a new control method to be used in Quadrotor Unmanned Aerial Vehicles, focusing on the design of a low-cost system. First, the general concepts related to the aircraft are detailed, which will be used to develop a mathematical model of the dynamic behavior of the quadrotor. Next the fuzzy control theory concepts involved in the development of the presented method are explained, followed by the method itself. Based on the mathematical model a simulator was developed using the Matlab Simulink tool, used to validate the developed control method. Lastly, the necessary tools for the construction of a prototype based on the model are presented.

(6)

SUMÁRIO 1. INTRODUÇÃO ... 10 2. QUADRIROTOR ... 13 2.1. CONCEITOS GERAIS ... 13 2.2. MODELO MATEMÁTICO ... 16 2.2.1. Sistema de coordenadas ... 16 2.2.2. Dinâmica do Sistema ... 18

2.2.3. Cálculo da inclinação do sistema... 22

2.3. MOTOR CC ... 23

3. CONTROLE DE VANT... 26

3.1. DIAGRAMA DE BLOCOS DE UM QUADRIROTOR ... 26

3.2. CONTROLE FUZZY ... 27

3.2.1. Lógica Fuzzy ... 27

3.2.2. Conjuntos Nebulosos e Funções de Pertinência ... 28

3.2.3. Operações Básicas entre Conjuntos Nebulosos ... 29

3.2.4. Variáveis Linguísticas ... 29 3.2.5. Controlador Fuzzy ... 29 4. RESULTADOS OBTIDOS ... 31 4.1. SISTEMA SIMULADO ... 34 4.2. SISTEMA PRÁTICO ... 40 4.2.1. Chassi do sistema ... 41 4.2.2. Acelerômetro ... 42 4.2.3. Motores e Acionamento ... 42 4.2.4. Sistema de controle ... 43 4.2.5. Arquitetura do software ... 44 5. CONCLUSÕES ... 46 6. BIBLIOGRAFIA ... 48

(7)

LISTA DE ILUSTRAÇÕES

FIGURA 1.1-DRAGONFLYER X-4 ... 10

FIGURA 1.2-ARDRONE PARROT ... 11

FIGURA 1.3-X-4FLYER MARK II ... 11

FIGURA 2.1-MODELO SIMPLIFICADO DE QUADRIROTOR ... 13

FIGURA 2.2-MOVIMENTO DE ACELERAÇÃO ... 14

FIGURA 2.3-MOVIMENTO DE ARFAGEM ... 14

FIGURA 2.4-MOVIMENTO DE ROLAGEM ... 15

FIGURA 2.5-MOVIMENTO DE GUINADA ... 15

FIGURA 2.6-MOVIMENTOS ANGULARES ... 16

FIGURA 2.7-SISTEMA DE COORDENADAS DO QUADRIROTOR ... 17

FIGURA 2.8-SISTEMA DE COORDENADAS FIXO LOCAL ... 18

FIGURA 2.9-MODELO DE MOTOR CC ... 23

FIGURA 2.10-DIAGRAMA DE BLOCOS DE UM MOTOR CC ... 25

FIGURA 3.1-DIAGRAMA DE BLOCOS DO QUADRIROTOR ... 26

FIGURA 3.2-COMPARAÇÃO ENTRE CONJUNTOS FUZZY E CONJUNTOS CLÁSSICOS. ... 28

FIGURA 3.3-FUNÇÕES DE PERTINÊNCIA USUAIS ... 28

FIGURA 4.1-FUNÇÕES DE PERTINÊNCIA PARA O ÂNGULO DE INCLINAÇÃO ... 31

FIGURA 4.2-FUNÇÕES DE PERTINÊNCIA PARA A DERIVADA DO ÂNGULO DE INCLINAÇÃO ... 32

FIGURA 4.3-FUNÇÕES DE PERTINÊNCIA PARA A SEGUNDA DERIVADA DO ÂNGULO DE INCLINAÇÃO ... 32

FIGURA 4.4-ESTRUTURA DO SIMULADOR ... 34

FIGURA 4.5-ÂNGULOS SIMULADOS E AMOSTRADOS ... 37

FIGURA 4.6-DIFERENÇA ENTRE ÂNGULOS SIMULADOS E AMOSTRADOS ... 37

FIGURA 4.7 -VALORES PERCENTUAIS PWM EM CADA MOTOR ... 38

FIGURA 4.8-ÂNGULOS SIMULADOS E AMOSTRADOS PARA OS ÂNGULOS INICIAIS Θ= Π/5 E Φ=Π/4. ... 39

FIGURA 4.9-VALORES PERCENTUAIS PWM EM CADA MOTOR PARA OS ÂNGULOS INICIAIS Θ= Π/5 E Φ=Π/4. ... 39

FIGURA 4.10–DIAGRAMA DE BLOCOS DO SISTEMA ... 40

FIGURA 4.11-FORMATO DO CHASSI ... 41

FIGURA 4.12-CONEXÃO COM A HASTE ... 42

FIGURA 4.13–SISTEMA DE ACIONAMENTO ... 43

(8)

LISTA DE TABELAS

TABELA 4.1-VALORES DE SAÍDA ... 32

TABELA 4.2-REGRAS DE INFERÊNCIA –NESTA TABELA,Θ, DΘ E D2Θ REPRESENTAM O VALOR DE PERTINENCIA ... 33

TABELA 4.3- RELAÇÃO ENTRE OS MOTORES E OS ÂNGULOS DE ENTRADA PARA OS RESPECTIVOS CONTROLADORES ... 34

(9)

LISTA DE SIGLAS

CC Corrente Contínua

IMU Inertial Measurement Unit

PWM Pulse Width Modulation

UAV Unmanned Aerial Vehicles

(10)

1.

Introdução

Quadrirotores é uma classe de helicópteros que utiliza quatro rotores para propulsão, geralmente dispostos em formato de cruz. O controle de movimento é feito através da mudança da velocidade relativa entre os quatro rotores.

Este tipo de estrutura possui a vantagem em relação à helicópteros comuns de não necessitar de soluções mecânicas para variar o ângulo dos rotores enquanto eles giram. Além disso, o tamanho individual de cada rotor é reduzido em relação a um helicóptero comum de tamanho equivalente. A maior desvantagem deste modelo é o alto consumo de energia necessário para alimentar os quatro rotores.

Embora este conceito de aeronave não seja novo, a dificuldade de estabilização e o desempenho ruim dos primeiros protótipos limitaram seu desenvolvimento. Atualmente, este tipo de estrutura tem sido muito utilizado em robótica, na criação de veículos aéreos não tripulados1. Este tipo de veículo pode ser usado em aplicações voltadas às áreas de vigilância, inspeção, filmagem, fotografia e diversão, entre outras.

As figuras 1.1 a 1.3 mostram exemplos de quadrirotores comerciais e acadêmicos. A figura 1.1 mostra o Dragonflyer X-4, fabricado pela Draganfly Innovation Inc., um modelo comercial industrial de quadrirrotor muito utilizado para tomadas aéreas de câmera. A figura 1.2 também mostra um modelo comercial, o AR Drone Parrot. Já o modelo X-4 Flyer Mark II da figura 1.3 foi desenvolvido na Australian National University[3].

Figura 1.1 - Dragonflyer X-4 (fonte: http://www.draganfly.com)

1

(11)

Figura 1.2 - AR Drone Parrot (fonte: http://www.parrot.com)

Figura 1.3 - X-4 Flyer Mark II

Em geral, estes modelos apresentam vários sensores para determinar sua posição e atitude, por exemplo, acelerômetros, girômetros, magnetrômetros, etc. Isso torna o controle mais robusto, mas também encarece o projeto.

Como será visto a seguir, o controle da atitude em um sistema do tipo quadrirotor é vital na navegação do quadrirotor como um todo, pois a partir dela pode-se obter a direção em que o sistema está se movendo.

Bresciani[1], em tese apresentada na Lund University, desenvolveu um protótipo de quadrirotor, em que utilizou um controle do tipo PID embarcado em um processador do tipo ARM7. Os sensores utilizados para o controle do protótipo foram um sonar e um módulo

(12)

infravermelho para estimar a altura do protótipo do chão e um módulo IMU, que possui vários sensores internos para medir a orientação (atitude) do quadrirotor.

Em tese apresentada à Universidade Técnica de Lisboa, Domingues[2] desenvolveu um protótipo de quadrirotor utilizando um controle ótimo através de um Controlador Linear Quadrático embarcado em um processador do tipo Arduíno. Seu protótipo pode ser controlador tanto através de comandos por parte de um usuário quanto autonomamente. Como sensores, utiliza um acelerômetro de 3 eixos, um magnetrômetro de 3 eixos e uma câmera utilizada para realizar o controle de posição.

Em trabalho semelhante, foi desenvolvido no Laboratório de Robótica e Automação da Universidade de Brasília, um quadrirotor utilizando um controle PID embarcado em um processador do tipo ARM. O sensoriamento é feito através de módulo IMU, constituído de um acelerômetro de três eixos, três girômetros e um sensor de temperatura. Além disso, utiliza também um magnetrômetro, um sonar e sensores de rotação dos motores.

O objetivo deste trabalho é desenvolver um controle da atitude de um sistema do tipo quadrirotor. Para simplificar o problema, o sistema ficará fixo, de modo que o objeto de controle seja apenas a inclinação do sistema, ignorando a sua posição linear.

Como requisito adicional, o sistema deve ter baixo custo. Para isso, apenas um acelerômetro é utilizado, e a partir de suas informações infere-se a posição angular do sistema. Isso aumenta a complexidade do controlador, mas reduz bastante o custo final do projeto.

A estratégia de controle a ser utilizada é baseada em lógica fuzzy de modo a tornar o sistema mais robusto e, de certo modo, compensar a falta de informações gerada pelo uso de apenas um tipo de sensor.

No capítulo 2 são apresentados os conceitos gerais relacionados a um quadrirotor, que serão utilizados em seguida no desenvolvimento de um modelo matemático do comportamento dinâmico da aeronave. No Capítulo 3 são apresentados os conceitos de controle utilizados neste trabalho. Inicialmente o controle da aeronave é tratado, em seguida os conceitos teóricos relativos á lógica e controle fuzzy são apresentados. O capítulo 4 trata do desenvolvimento tanto do sistema simulado criado utilizando a ferramenta Simulink do Matlab quanto do sistema prático usado para a validação do método de controle desenvolvido.

(13)

2.

Quadrirotor

2.1.

Conceitos Gerais

Antes de desenvolver um modelo que explique o quadrirotor, é necessário entender o seu funcionamento. Para isso, será considerado um quadrirotor simplificado, em que se desconsideram os efeitos particulares dos motores, hélices e do circuito eletrônico necessário para controlá-lo.

Neste modelo simplificado, considera-se apenas quatro rotores montados em uma configuração em forma de cruz, conforme ilustrado na figura 2.1. Nela pode-se observar que os dois rotores dispostos ao longo do eixo X giram no sentido anti-horário, enquanto os rotores do eixo Y giram no sentido horário. Isto é necessário para eliminar o efeito torque gerado pelos rotores.

Na figura 2.1, os círculos representam quatro rotores. As flechas dentro de cada círculo representam o sentido de rotação de cada rotor, e as flechas perpendiculares aos rotores indicam as forças por eles produzidas. No centro de massa do quadrirotor está representado um sistema de coordenadas tridimensional utilizado neste caso apenas para referência.

Figura 2.1 - Modelo simplificado de quadrirotor

Ao observar a figura 2.1, é fácil perceber que, se todos os rotores giram à mesma velocidade, a força gerada por cada um será a mesma. Isso fará com que o quadrirotor se mantenha suspenso no ar, e sua posição angular não irá variar.

(14)

Quando se considera os efeitos gravitacionais, vê-se que ao aumentar ou diminuir a velocidade dos motores pode-se fazer com que o quadrirotor se mova verticalmente ao longo do eixo Z. Este movimento, chamado de aceleração, está representado na figura 2.2.

Figura 2.2 - Movimento de aceleração

Ao variar a velocidade de um dos rotores situados no eixo X, mantendo a velocidade do outro constante, produz-se um desequilíbrio de forças gerado pelos dois rotores. Este desequilíbrio criará um torque em torno do eixo Y, gerando uma aceleração angular. Chama-se este movimento, representado pela figura 2.3, de arfagem (pitch).

Figura 2.3 - Movimento de arfagem

Da mesma forma, ao variar a velocidade de um dos motores situados no eixo Y, mantendo a velocidade do outro constante, gera-se um torque em torno do eixo X. Chama-se este movimento, representado na figura 2.4, de rolagem (roll).

(15)

Figura 2.4 - Movimento de rolagem

Ao se variar da mesma forma as velocidades dos dois rotores dispostos sobre o mesmo eixo, mantendo os outros dois rotores constantes, produz-se um torque em torno do eixo Z. Este movimento é chamado de guinada (yaw) e está representado na figura 2.5.

Figura 2.5 - Movimento de guinada

É fácil verificar que, a partir dos quatro movimentos descritos acima, pode-se derivar os outros dois movimentos possíveis a um corpo qualquer com seis graus de liberdade. Ao se realizar o movimento de arfagem associado ao movimento de aceleração, por exemplo, para mudar o ângulo do sistema em torno do eixo Y, verifica-se que as forças produzidas pelos rotores podem ser decompostas em componentes sobre o eixo X e sobre o eixo Z. Desde que a componente sobre o eixo Z seja igual à força gravitacional à qual o quadrirotor está sujeito, tem-se que o único movimento será ao longo do eixo X. Da mesma forma, ao se realizar o movimento de rolagem para mudar o ângulo em torno ao eixo X, e utilizando o movimento de

(16)

aceleração para manter a componente da força sobre o eixo Z igual à força gravitacional, um movimento ao longo do eixo Y será produzido.

Figura 2.6 - Movimentos angulares

Ao utilizar as associações de movimentos descritos acima, que são mostrados na figura 2.6 na estrutura do quadrirotor, aliados ao movimento de guinada, pode-se movimentar o quadrirotor em qualquer direção do espaço tridimensional. Com isso, concluí-se que o controle da inclinação, ou atitude, do sistema é vital para o controle de movimento do sistema como um todo.

2.2.

Modelo Matemático

2.2.1.

Sistema de coordenadas

O cálculo da inclinação, velocidade e aceleração angulares só fazem sentido se fizerem parte de um sistema de coordenadas. Um sistema de coordenadas pode ter origem em qualquer ponto do espaço, sendo que este ponto pode ser móvel ou fixo. Para auxiliar os

(17)

cálculos, é conveniente que estes sistemas estejam definidos de forma a concordar com os dados fornecidos pelos sensores.

São utilizados dois sistemas de coordenadas no modelamento do sistema:

• Um tem origem no centro de massa do quadrirotor e move-se junto com ele. Este sistema será chamado de

B.

• O outro é um sistema fixo local. Este sistema, devido às suposições feitas pelo modelo, deve ser definido de forma que seu eixo z aponte na direção oposta ao centro da Terra, de forma que a força gravitacional esteja sobre ele. Este sistema será chamado de

E.

A figura 2.7 representa o primeiro sistema mencionado, enquanto a figura 2.8 representa o segundo, sendo o modo como as rotações são medidas.

As medidas lineares e angulares (posição, velocidade e aceleração) são feitas com base na translação e rotação que devem ser feitas no primeiro sistema para que ele coincida com o segundo. Deste modo, os ângulos Φ, Θ e Ψ representam a inclinação do sistema em relação à terra.

(18)

Figura 2.8 - Sistema de coordenadas fixo local

2.2.2.

Dinâmica do Sistema

A revisão bibliográfica realizada mostrou vários modos de realizar o modelamento matemático do quadrirotor. Neste trabalho, foi utilizado o modelo descrito em [1], baseado no modelo de Newton-Euler para um corpo genérico de 6 graus de liberdade.

As equações de movimento são definidas no sistema

B

, pelas seguintes razões:

• A matriz de inércia é invariante no tempo;

• A simetria do corpo pode ser utilizada para simplificar as equações; • As forças de controle exercidas pelos motores são dadas neste sistema; • A aceleração medida pelo acelerômetro também é dada neste sistema.

Neste caso, a equação 2.1 descreve o movimento do sistema:

ݒ = ሾܸ

߱

ሿ = ሾݑ ݒ ݓ ݌ ݍ ݎሿ

(2.1)

Nesta equação, V descreve a velocidade linear (em suas componentes u, v e w) e ω descreve a velocidade angular do corpo (em suas componentes p, q e r), dadas no sistema de coordenadas

B.

A dinâmica de um corpo de seis graus de liberdade leva em conta a massa do corpo e a sua matriz de inércia. Esta dinâmica está descrita na equação 2.2.

(19)

൤݉ ܫ

0

ଷ௫ଷ

0

ଷ௫ଷ ଷ௫ଷ

ܫ ൨ ൤

ܸሶ

߱

ሶ ൨ + ൤

߱

× ሺ݉ ܸ

߱

× ሺܫ ߱

ሻ ൨ = ቂ

ܨ

߬

(2.2)

Na equação 2.2, m é a massa do corpo, I3x3 é a matriz identidade de dimensão 3, 03x3 é uma matriz quadrada de dimensão 3 com zeros em todas as posições, I é a matriz de inércia, FB é o vetor de forças atuantes sobre o sistema e τB é o vetor de torques atuantes sobre o sistema, ambos dados em

B.

Escrevendo a equação 2.2 em forma de matriz, obtemos a equação 2.3

ܯ

ݒሶ + ܥ

ሺݒሻ ݒ = Λ

(2.3)

Onde MB é a matriz generalizada de inércia do corpo, CB a matriz que leva em consideração a aceleração centrípeta de Coriolis e Λ é o vetor generalizado de forças do corpo. Estes estão definidos, respectivamente, nas equações 2.4, 2.5 e 2.6.

ܯ

= ൤݉ ܫ

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 0 0 ܫ

௓௓

ے

ۑ

ۑ

ۑ

ۑ

ۑ

ې

(2.4) ܥ஻ሺݒሻ = ൤0ଷ௫ଷ − ݉ ܵሺܸ ஻ 0ଷ௫ଷ − ܵሺܫ ߱஻ሻ ൨ = ۏ ێ ێ ێ ێ ۍ0 0 00 0 0 0 0 0 0 ݉ ݓ −݉ ݒ −݉ ݓ 0 ݉ ݑ ݉ ݒ −݉ ݑ 0 0 0 0 0 0 0 0 0 0 0 ܫ௭௭ ݎ −ܫ௒௒ ݍ −ܫ௭௭ ݎ 0 ܫ௫௫ ݌ ܫ௒௒ ݍ −ܫ௒௒ ݌ 0 ے ۑ ۑ ۑ ۑ ې

(2.5)

Λ = ሾF

B

τ

B

T

= ሾF

X

F

Y

F

Z

τ

τ

τ

T

(2.6) A equação 2.3 é completamente genérica e válida para qualquer corpo que obedeça as condições estabelecidas previamente. Entretanto, para o sistema em questão, podemos dividir o vetor Λ em três componentes de acordo com a natureza das forças atuantes sobre o quadrirotor.

A primeira contribuição se dá devido ao vetor gravitacional GB, dado a partir da aceleração devida à gravidade g [m/s2] e estabelecido na equação 2.7. Obviamente, este vetor afeta apenas as componentes lineares, já que é uma força e não um torque.

(20)

ܩ

= ൤ ܨ

ீ ஻

0

ଷ௫ଵ

൨ = ൤ܴ

ఏିଵ

ܨ

ீா

0

ଷ௫ଵ

൨ = ൦ܴ

ఏ்

0

0

−݉ ݃

0

ଷ௫ଵ

൪ =

ۏ

ێ

ێ

ێ

ێ

ۍ

−݉ ݃ ܿ

݉ ݃ ݏ

ݏ

−݉ ݃ ܿ

ݏ

0

0

0

ے

ۑ

ۑ

ۑ

ۑ

ې

(2.7)

A segunda contribuição vem dos efeitos giroscópicos produzidos pela rotação das hélices. Como duas estão rodando no sentido horário e as outras duas no sentido anti-horário, existe um desequilíbrio quando a soma algébrica das velocidades dos rotores não é igual a zero. Além disso, se os ângulos de rolagem e arfagem são diferentes de zero, o quadrirotor sofre torques giroscópicos de acordo com a equação 2.8. Nesta equação, Ω é a soma algébrica das velocidades dos rotores, dado pela equação 2.9, onde Ωx é a velocidade de cada motor.

ܱ

ሺݒሻ Ω =

ۏ

ێ

ێ

ۍ

0

ଷ ୶ଵ

− ෍ J

TP

ቌω

B

x ൭

0

0

1

൱ቍ ሺ−1ሻ

୩ ସ ୩ୀଵ

ے

ۑ

ۑ

ې

=

ۏ

ێ

ێ

ێ

ۍ

0

ଷ୶ଵ JTPቈ ି୯ ୮ ଴ ቉Ω

ے

ۑ

ۑ

ۑ

ې

= J

TP

ۏ

ێ

ێ

ێ

ێ

ۍ

0 0

0 0

0 0

0 0

0 0

0 0

q −q

−p p

0

0

q −q

−p p

0

0 ے

ۑ

ۑ

ۑ

ۑ

ې

(2.8)

Ω = - Ω

1

+ Ω

2

- Ω

3

+ Ω

4

(2.9) A última contribuição se deve ás forças e torques produzidos diretamente pelos rotores. Obtêm-se através de considerações aerodinâmicas que estas são diretamente proporcionais ao quadrado da velocidade de rotação dos rotores. A equação 2.10 descreve essas contribuições.

ܷ

ሺΩሻ = ܧ

=

ۏ

ێ

ێ

ێ

ێ

ۍ

0

0

ܷ

ܷ

ܷ

ܷ

ے

ۑ

ۑ

ۑ

ۑ

ې

=

ۏ

ێ

ێ

ێ

ێ

ێ

ۍ

0

0

ܾ൫Ω

ଵଶ

+ Ω

ଶଶ

+ Ω

ଷଶ

+ Ω

ସଶ

ܾ ݈ ൫Ω

ସଶ

− Ω

ଶଶ

ܾ ݈ ൫Ω

ଷଶ

− Ω

ଵଶ

݀ ሺΩ

ଶଶ

+ Ω

ସଶ

− Ω

ଵଶ

− Ω

ଷଶ

ሻے

ۑ

ۑ

ۑ

ۑ

ۑ

ې

(2.10)

(21)

Na equação 2.10, b é o coeficiente de empuxo, d é o coeficiente de arrasto e l é a distância entre os rotores e o centro de massa do sistema.

Desta forma, é possível descrever a dinâmica do sistema a partir da seguinte equação matricial (equação 2.11):

ܯ

ݒሶ + ܥ

ሺݒሻݒ = ܩ

ሺߦሻ + ܱ

ሺݒሻ Ω + E

B

ଶ (2.11) Isolando a derivada do vetor velocidade obtemos a equação 2.12.

ݒሶ = ܯ

஻ିଵ

ሺ−ܥ

ሺݒሻݒ + ܩ

ሺߦሻ + ܱ

ሺݒሻΩ + E

B

(2.12) A equação 2.13 é a representação da equação 2.12 como um sistema de equações.

ە

ۖۖ

ۖ

۔

ۖ

ۖۖ

ۓ

ݒሶ = ሺݓ ݌ − ݑ ݎሻ − ݃ ܿ

ݑሶ = ሺݒ ݎ − ݓ ݍሻ + ݃ ݏ

ఏ ఏ

ݏ

ݓሶ = ሺݑ ݍ − ݒ ݌ሻ − ݃ ܿ

ݏ

+

݌ሶ =

ூೊೊି ூೋೋ ூ೉೉

ݍ ݎ +

௃೅ು ூ೉೉

݌ +

௎మ ூ೉೉

ݍሶ =

ூೋೋି ூ೉೉ ூೊೊ

݌ ݎ +

௃೅ು ூೊೊ

݌ +

௎య ூೊೊ

ݎሶ =

ூ೉೉ି ூೊೊ ூೋೋ

݌ ݍ +

௎ర ூೋೋ



(2.13)

A velocidade das hélices é dado a partir da equação 2.14:

ە

ۖ

۔

ۖ

ۓ ܷ

= ܾ൫Ω

ଵଶ

+ Ω

ଶଶ

+ Ω

ଷଶ

+ Ω

ସଶ

ܷ

= ܾ ݈ ൫Ω

ସଶ

− Ω

ଶଶ

ܷ

= ܾ ݈ ൫Ω

ଷଶ

− Ω

ଵଶ

ܷ

= ݀ ൫Ω

ଶଶ

+ Ω

ସଶ

− Ω

ଵଶ

− Ω

ଷଶ

= −Ω

+ Ω

− Ω

+ Ω



(2.14)

Como mencionado anteriormente, todas as equações são dadas no sistema de coordenadas

B.

Desta forma, é fácil verificar que as três primeiras equações presentes no sistema de equações 2.13 representam as acelerações medidas pelo acelerômetro.

(22)

2.2.3.

Cálculo da inclinação do sistema

Sejam Φ, Θ e Ψ, respectivamente, as rotações em x, y e z necessárias para deslocar o sistema de coordenadas

B

de modo que coincida em orientação com o sistema

E.

Desta forma, a matriz de rotação completa seria dada pela equação 2.15.

ܴ

= ൥

ܿ

ܿ

−ݏ

ܿ

+ ܿ

ݏ

ݏ

ݏ

ݏ

+ ܿ

ݏ

ܿ

ݏ

ܿ

ܿ

ܿ

+ ݏ

ݏ

ݏ

−ܿ

ݏ

+ ݏ

ݏ

ܿ

−ݏ

ܿ

ݏ

ܿ

ݏ

(2.15) Desta forma, pode-se obter o vetor velocidade angular em relação ao sistema de coordenadas

E,

chamada de Θ.B, multiplicando a matriz de rotação pela matriz de velocidade angular ωB descrita na equação 2.1, conforme explicitado pela equação 2.16.

Θ

.B

= R

Θ

ω

B (2.16)

A equação 2.16 será útil para a simulação do sistema que será realizada posteriormente. Entretanto, como o escopo deste trabalho é realizar o controle de inclinação baseado somente nas leituras realizadas pelo acelerômetro, e como uma medida da inclinação no sistema

B

não faz sentido, já que o sistema gira com o corpo, deve ser encontrada uma maneira de relacionar as três primeiras equações do sistema de equações 2.13 com os ângulos em relação ao sistema de coordenadas

E.

À partir do sistema de equações 2.13, isolando-se os ângulos Φ e Θ, obtêm-se as equações 2.17 e 2.18. Para tal, de modo simplificar os cálculos, ignoram-se as contribuições dos componentes Coriolis centrípetas e de inércia, por ser muito menores que a contribuição do vetor gravidade, principalmente quando os ângulos de inclinação ou as velocidades angulares são próximos a zero.

Φ =

ୱ୧୬୥ ୡ୭ୱ ஘షభ Yሷ (2.17)

ߠ =

௦௜௡షభ௑ሷ (2.18)

À partir das equações 2.17 e 2.18, pode-se estimar a inclinação do sistema a partir somente dos valores lidos pelo acelerômetro.

(23)

2.3.

Motor CC

No modelamento de um motor CC, um circuito elétrico simples como o mostrado na figura 2.9 é utilizado. Uma máquina de corrente continua é constituída por dois circuitos magnéticos principais, sendo um denominado circuito de campo (estator) responsável pela magnetização da máquina e outro denominado circuito de armadura (rotor), responsável pelo torque da máquina.

A bobina de campo, percorrida por uma corrente ie, cria um fluxo λe = Leie, no sentido indicado na figura 2.1. A bobina da armadura também cria um fluxo unidirecional λa = Laia, independente da rotação do motor. Isto é decorrente da ação do comutador mecânico que comuta a corrente entre as espiras da bobina da armadura, mantendo o fluxo sempre na mesma direção.

Figura 2.9 - Modelo de Motor CC

Seguindo o modelo elétrico para o circuito de armadura apresentado em [8] e [9], temos as seguintes equações:

a a a a a a e dt di L i R v = + + (2.19)

dt

d

K

e

a

=

b

θ

(2.20)

(24)

T

dt

d

D

dt

d

J

θ

+

θ

=

2 2 0 (2.21) ) (t I K T = t a (2.22)

Aplicando a transformada de Laplace nas equações acima, tem-se:

) ( ) ( ). ( ) (s sL R I s K s Va = a+ a a + b

ω

(2.23)

)

(

).

(

1

)

(

sJ

0

D

s

K

s

I

t a

=

+

ω

(2.24)

Combinando as equações ( 2.23 ) e ( 2.24 ), tem-se:

[

(

)(

)

(

)

]

(

)

1

)

(

sL

R

sJ

0

D

s

K

s

K

s

V

a a b t a

=

+

+

ω

+

ω

(2.25)

Admitindo-se Va(s) como entrada e w(s) com saída tem-se a seguinte função de transferência: t b a a t a m K K D sJ R sL K s V s G + + + = = ) )( ( ) ( ) ( 0

ω

(2.26)

A função de transferência de um motor CC de imã permanente possui 2 pólos reais negativos, que podem ser determinados resolvendo as raízes da equação característica:

0

)

(

0 0 2

=

+

+

+

+

a a a b t a

J

s

L

D

R

J

R

D

K

K

L

s

(2.27)

A função de transferência do motor também pode ser escrita em função das constantes de tempo τe e τm:

)

1

)(

1

(

1

)

(

+

+

=

m e b m

s

s

K

s

G

τ

τ

(2.28)

Onde as constantes de tempo estão relacionadas com os pólos da equação (2.27) por:

2

1

;

1

1

p

p

m e

=

τ

τ

(2.29)

(25)

Da equação 2.26 se deriva o diagrama de blocos representado na figura 2.10. Este diagrama foi implementado na ferramenta Simulink do Matlab para simular os motores CC utilizados.

Figura 2.10 - Diagrama de blocos de um motor CC

O controle de velocidade dos motores CC utilizados neste trabalho foi feito através da técnica de modulação de largura de pulso. Nesta técnica, um trem de pulsos é utilizado como entrada para o motor, e a largura dos pulsos determina a tensão média que será aplicada ao motor.

O termo ciclo de trabalho é definido como a porcentagem do período do trem de pulsos que o sinal está no nível “alto”. Desse modo, um ciclo de trabalho de 100% produziria uma tensão média igual à amplitude do pulso aplicado, e um ciclo de trabalho de 50% produziria uma tensão média igual à metade da amplitude do pulso e assim por diante.

Neste trabalho, referências à tensão PWM aplicada ao motor devem ser entendidas como o ciclo de trabalho aplicado ao motor.

(26)

3.

Controle de VANT

O objetivo do controle de um Veículo Aéreo Não

de tensão aplicados aos motores de modo a se manter uma posição desejada. O controle pode ser dividido em duas partes.

posição linear da aeronave em um sistema fixo de coordenadas. A segunda se refere à atitude (ou inclinação) da aeronave.

No caso do sistema estudado, conforme explicitado na seção 2.1, devido à forma como o quadrirotor é construído, o controle da posição linear está intimamente li

da atitude.

3.1.

Diagrama de blocos de um quadrirotor

O quadrirotor pode ser representado pelo diagrama de blocos da figura 3.1. ser realizada (ou a posição a ser atingida) é a entrada do sistema. A partir dela, e do cá posição atual obtida através da leitura dos sensores utilizados, um sistema de controle “alto nível” de navegação determina qual deve ser a próxima posição do quadrirotor. A partir disso, um sistema de controle “baixo

tensão aplicados a cada motor de modo a atingir a posição desejada. Como o quadrirotor é um sistema dinâmico, ao se variar

sensores terão novas leituras e o sistema de controle deverá at

de tensão aplicados aos motores, caracterizando assim a realimentação do sistema.

de VANT

O objetivo do controle de um Veículo Aéreo Não-Tripulado genérico é obter aos motores de modo a se manter uma posição desejada.

O controle pode ser dividido em duas partes. A primeira refere-se ao controle em um sistema fixo de coordenadas. A segunda se refere à atitude

No caso do sistema estudado, conforme explicitado na seção 2.1, devido à forma como o quadrirotor é construído, o controle da posição linear está intimamente ligado ao controle

de blocos de um quadrirotor

O quadrirotor pode ser representado pelo diagrama de blocos da figura 3.1. ser realizada (ou a posição a ser atingida) é a entrada do sistema. A partir dela, e do cá

ão atual obtida através da leitura dos sensores utilizados, um sistema de controle “alto determina qual deve ser a próxima posição do quadrirotor. A partir disso, um sistema de controle “baixo-nível” de posição determina qual devem ser os valores de tensão aplicados a cada motor de modo a atingir a posição desejada. Como o quadrirotor é um sistema dinâmico, ao se variar a velocidade dos motores a posição também variará, e os sensores terão novas leituras e o sistema de controle deverá atualizar mais uma vez os valores de tensão aplicados aos motores, caracterizando assim a realimentação do sistema.

Figura 3.1 - Diagrama de blocos do quadrirotor

é obter os valores

se ao controle da em um sistema fixo de coordenadas. A segunda se refere à atitude

No caso do sistema estudado, conforme explicitado na seção 2.1, devido à forma como gado ao controle

O quadrirotor pode ser representado pelo diagrama de blocos da figura 3.1. A tarefa a ser realizada (ou a posição a ser atingida) é a entrada do sistema. A partir dela, e do cálculo da ão atual obtida através da leitura dos sensores utilizados, um sistema de controle

“alto-determina qual deve ser a próxima posição do quadrirotor. A partir disso, os valores de tensão aplicados a cada motor de modo a atingir a posição desejada. Como o quadrirotor é um também variará, e os ualizar mais uma vez os valores de tensão aplicados aos motores, caracterizando assim a realimentação do sistema.

(27)

Este trabalho se concentra no sistema de controle de posição, ou seja, o problema apresentado consiste apenas em variar a tensão aplicada aos motores de modo a atingir uma posição desejada.

3.2.

Controle fuzzy

3.2.1.

Lógica Fuzzy

A lógica fuzzy (ou lógica nebulosa) permite o tratamento de expressões que não envolvam grandezas de forma não exata. Esta forma de mensurar grandezas é muito parecida com a percepção dos seres humanos, sendo assim um bom modelo para emular o nosso comportamento.

Na lógica clássica, um elemento pode assumir dois valores (0 ou 1) em relação a um conjunto. Dessa forma, dado um conjunto A contido no universo X, um elemento x pode assumir apenas dois estados em relação ao conjunto A, que é representado pela função indicadora IA(x):

IA(x) = {1 se x Є A, 0 se x ∉ A } Podemos definir um conjunto fuzzy como:

A(x) = {x Є X | IA(x) = 1}

Dessa forma, na lógica clássica, um elemento pode apenas pertencer integralmente a um conjunto ou não pertencer a ele.

No caso da lógica fuzzy, além dos casos mencionados acima, um elemento pode pertencer apenas parcialmente a um conjunto. Isso faz com que a função indicadora IA(x) utilizada na lógica clássica seja substituída na lógica fuzzy por uma função de pertinência μ(x)=[0,1], ou seja, o grau de pertinência de um elemento a um conjunto é um número real no intervalo [0,1].

Deste modo, um conjunto fuzzy é definido como:

A={x ∈ X | μA(x) = ξ , 0 ≤ ξ ≤ 1},

sendo ξ o valor de pertinência de x ao conjunto A, contido no intervalo [0,1]. Assim sendo, as características da lógica fuzzy são:

(28)

- Uso intenso de palavras ao invés de números: Os conjuntos fuzzy em geral são definidos a partir de termos lingüísticos, como: frio, morno, quente, alto, baixo, devagar, rápido, etc. - Uso de modificadores de predicado: Modificadores como muito, pouco, negativo, positivo,etc. Também são utilizados.

- Entendimento Intuitivo: Como a lógica fuzzy se assemelha à percepção humana, com regras baseadas em variáveis lingüísticas, seu entendimento é bastante intuitivo.

(a) (b)

Figura 3.2 - Comparação entre conjuntos fuzzy e conjuntos clássicos. (a) conjunto crisp (b) conjunto fuzzy

A figura 3.2 compara a pertinência em um conjunto na lógica clássica (conjunto crisp), e em um conjunto fuzzy. A figura 3.2(a) mostra a pertinência a um conjunto crisp, e a figura 3.2(b) mostra a pertinência a um conjunto fuzzy.

3.2.2.

Conjuntos Nebulosos e Funções de Pertinência

Funções de pertinência definem, para cada elemento x de um Universo X, o valor de pertinência de x a um conjunto A. As funções de pertinência podem possuir vários formatos, sendo os mais comuns, por serem mais fáceis de serem gerados, o triangular e o trapezoidal. Outros formatos utilizados são o sigmoidal, a curva gaussiana, etc. A figura 3.3 mostra alguns tipos de funções de pertinência.

(29)

3.2.3.

Operações Básicas entre Conjuntos Nebulosos

Assim como se faz com os conjuntos da lógica clássica, pode-se definir algumas operações básicas entre conjuntos fuzzy. Elas são:

• Igualdade: A = B se fA(x) = fB(x) para todo x = X • Complemento: A tem fA* = 1 - fA(x)

• Interseção: fA∩B(x) = min [fA(x); fB(x)] para todo x = X = fA∩ fB • União: fAUB(x) = max [fA(x); fB(x)] para todo x = X = fA U fB

3.2.4.

Variáveis Linguísticas

Lógica Fuzzy utiliza variáveis lingüísticas no lugar de variáveis numéricas. Variáveis lingüísticas admitem como valores apenas expressões lingüísticas (ou termos primários), como "muito grande", "pouco frio", "mais ou menos jovem", que são representadas por conjuntos Fuzzy. A estratégia de controle de um operador humano pode ser representada como um conjunto de relações condicionais Fuzzy que formam um conjunto de regras de decisão.

Por exemplo, uma regra típica para controle de temperatura poderia ser: "Se a temperatura está alta e aumentando lentamente, então, aumente o resfriamento um pouco". Esta regra pode ser escrita através de variáveis lingüísticas da seguinte forma: "Se temp = GP e variação_temp = PP então variação_resfr = PP", onde os termos primários GP e PP significam "grande positivo" e "pequeno positivo".

Variáveis lingüísticas é o centro da técnica de modelagem de sistemas fuzzy, pois permitem que a linguagem da modelagem fuzzy expresse a semântica usada por especialistas. Encapsula as propriedades dos conceitos imprecisos numa forma usada computacionalmente e isso reduz a complexidade do problema.

3.2.5.

Controlador Fuzzy

Um controlador nebuloso é basicamente um processo de inferência em conjuntos nebulosos. Podemos dividi-lo em três partes principais: a fuzzificação, a máquina de inferência nebulosa, e a defuzzificação.

O processo de fuzzificação consiste em determinar a partir dos valores numéricos de entrada crisp (natural) o grau de pertinência da variável a cada um dos conjuntos Ai contidos no universo X.

(30)

O processo de inferência fuzzy realiza operações nos conjuntos fuzzy. Cada regra possui um antecedente com uma relação fuzzy associada. O grau de pertinência da relação é calculado a partir dos valores de pertinência calculados no processo anterior. O modelo das regras é o seguinte:

Se (ANTECEDENTE) Então (CONSEQUÊNCIA)

As operação lógica E (única operação utilizada neste trabalho) foi definida como sendo a multiplicação dos valores das funções de pertinência envolvidas.

O processo de defuzificação consiste em obter a partir do valor de pertinência resultante das regras de inferência um valor numérico de saída. Neste ponto pode-se identificar dois modelos de controladores: os controladores do tipo Mandami e do tipo Sugeno.

Nos controladores do tipo Mamdani ao transferirmos o valor da função de pertinência para o conjunto de saída obtêm como resultado uma área para os valores inferiores ao da função pertinência. A união dessas áreas para todas as regras nos dá o conjunto fuzzy de saída, que para passar para o valor numérico usa-se, por exemplo, a abscissa do centro de gravidade da área obtida.

Para o controlador do tipo Takagi-Sugeno tem-se como saída uma função polinômio de grau “n” em função das variáveis de entrada. Usualmente adota-se n = 0 ou n = 1, visto que a melhora dos resultados não justifica o aumento da complexidade obtida.

Um controlador fuzzy típico normalmente é projetado para se comportar de forma dedutiva, ou seja, inferir conclusões baseado no conhecimento que ele contenha. Outra forma de aplicação destes controladores seria projetá-lo para possuir comportamento indutivo, onde é possível a aprendizagem e generalização através de exemplos particulares provenientes da observação do seu comportamento numa situação dinâmica.

(31)

4.

Resultados obtidos

O objetivo do controle do movimento do quadrirotor é encontrar os valores de tensão a ser aplicada aos motores de modo a manter o sistema em uma determinada posição.

Para simplificar a solução, o controle do sistema foi reduzido apenas ao controle de inclinação (rolagem -roll e arfagem - pitch).

O controle de inclinação foi realizado utilizando-se um controlador fuzzy do tipo Takagi-Sugeno, tendo como entradas a inclinação calculada a partir dos valores medidos pelo acelerômetro e como saídas os valores de tensão a ser aplicados aos quatro motores de modo a se obter a inclinação desejada.

O controle de cada eixo foi realizado independentemente, embora as entradas e saídas de cada controlador fuzzy sejam as mesmas. Desta forma, tem-se dois controladores: um para o ângulo de rolagem (que controla os motores 1 e 3), e outro para o ângulo de arfagem (que controla os motores 2 e 4).

Como entradas para os controladores fuzzy foram utilizadas o ângulo do eixo em que o motor está localizado, a derivada e a segunda derivada deste ângulo. As funções de

pertinência utilizadas estão representadas nas figuras 3.1, 3.2 e 3.3.

Figura 4.1 - Funções de pertinência para o ângulo de inclinação

0 0,2 0,4 0,6 0,8 1 -90 -40 10 60 v a lo r d e p e rt in ê n ci a

Valor do ângulo de inclinação

Ângulo de inclinação

Alto Negativo Médio Negativo Baixo Médio Alto

(32)

Figura 4.2 - Funções de pertinência para a derivada do ângulo de inclinação

Figura 4.3 - Funções de pertinência para a segunda derivada do ângulo de inclinação

Por praticidade, como saída dos controladores não foram escolhidos os valores de tensão PWM a serem aplicados a cada motor em si, mas sim a diferença entre os valores de tensão aplicados a cada motor. As funções de saída estão definidas na tabela 1.

Nome da função Valor de saída

Alto 10

Alto Negativo -10

Baixo 4

Baixo Negativo -4

Tabela 4.1 - Valores de Saída

0 0,2 0,4 0,6 0,8 1 -90 -40 10 60 V a lo r d e p e rt in ê n ci a

Valor da derivada do ângulo

Derivada do ângulo

Negativo Positivo Baixo 0 0,2 0,4 0,6 0,8 1 -90 -40 10 60 V a lo r d e p e rt in ê n ci a

Valor da segunda derivada do ângulo

Segunda Derivada do ângulo

Negativo Positivo Baixo

(33)

Ao todo, foram criadas 17 regras de inferência. O valor da segunda derivada do ângulo é utilizado apenas nas duas últimas regras, de forma a limitar a velocidade angular. Todas as regras estão representadas na tabela 2.

Numero da regra

Se... Então saída é...

Θ dΘ Pwm

1 Alto Negativo Negativo Alto

2 Médio Negativo Negativo Baixo

3 Baixo Negativo Zero

4 Médio Negativo Zero

5 Alto Negativo Zero

6 Alto Negativo Positivo Zero

7 Médio Negativo Positivo Zero

8 Baixo Positivo Zero

9 Médio Positivo Baixo Negativo

10 Alto Positivo Alto Negativo

11 Alto Negativo Baixo Alto

12 Médio Negativo Baixo Baixo

13 Baixo Baixo Zero

14 Médio Baixo Baixo Negativo

15 Alto Baixo Alto Negativo

dΘ d2Θ Pwm

16 Positivo Positivo Baixo Negativo

17 Negativo Negativo Baixo

Tabela 4.2 - Regras de inferência – Nesta tabela, Θ, dΘ e d2Θ representam o valor de pertinência do ângulo de inclinação, da sua derivada e da sua segunda derivada, respectivamente.

(34)

Embora, em primeira aproximação, os controladores sejam os mesmos para os quatro motores, os ângulos que devem ser passados como entradas para os controladores variam. Na tabela 3 estão representados quais ângulos são utilizados para cada motor.

Motor Ângulo de entrada

Motor 1 Θ

Motor 2 Φ

Motor 3 -Θ

Motor 4 -Φ

Tabela 4.3 - Relação entre os motores e os ângulos de entrada para os respectivos controladores

4.1.

Sistema Simulado

Baseado no modelamento matemático descrito anteriormente foi desenvolvido um simulador do comportamento físico do quadrirotor, que foi utilizado para validar as estratégias de controle desenvolvidas.

O simulador desenvolvido é composto de vários blocos conectados em uma estrutura realimentada, representada na figura 4.4.

Figura 4.4 - Estrutura do simulador

(35)

• Controle Fuzzy: Neste bloco é implementado o controle do sistema. Ele recebe como entradas os valores atuais (medidos) da inclinação quadrirotor e tem como saída a tensão PWM a ser aplicada aos motores. Este bloco também deve ser implementado no código a ser embarcado no quadrirotor.

• Motor: Este bloco representa o comportamento do motor. Tem como entrada a tensão PWM aplicada aos motores e como saída a velocidade de cada motor.

• Vel para U: Este bloco implementa a contribuição de cada motor para a dinâmica do sistema. Ele implementa a equação 2.14.

• Dinâmica rotacional referência corpo: Este bloco representa o comportamento dinâmico do quadrirotor como sistema(equação 2.13). Ele recebe como entrada as contribuições dos motores e gera a posição, velocidade e aceleração do sistema a partir delas, no sistema de coordenadas

B

.

• Dinâmica rotacional referência terra: Este bloco representa a matriz de rotação do referencial corpo

B

para o referencial terra

E

(equação 2.15). • Acelerômetro: Este bloco representa as limitações do acelerômetro. Recebe

como entrada a aceleração calculada no bloco Dinâmica e tem como saída o valor de aceleração “medido”. Tem sua saída ligada ao processamento de entrada, realizando assim a realimentação.

• Processamento entrada: Interpreta os valores medidos pelo acelerômetro e um valor definido pelo usuário para o ângulo de inclinação que o quadrirotor deve manter. Com esses valores, define quais os ângulos a serem passados ao sistema de controle. Este bloco deve ser implementado no código a ser embarcado no quadrirotor.

O modo como cada bloco foi implementado na ferramenta Simulink está detalhado no Apêndice.

A configuração do modelo é feita através de um script do Matlab, que define os parâmetros físicos do modelo. O script roda automaticamente no início da simulação, e inicializa os seguintes parâmetros:

• b: coeficiente de empuxo dos rotores; • d: coeficiente de arrasto dos rotores; • m: massa do sistema;

(36)

• g: gravidade local;

• medio_pwm: valor de pwm em torno do qual a tensão será variada; • Ixx, Iyy e Izz: Momento de inércia em torno de cada eixo;

• JTP: Momento de inércia rotacional total;

• l: Distância dos rotores ao centro de massa do sistema; • theta, phi e psi: Ângulos iniciais de inclinação;

• ref_theta, ref_phi e ref_psi: Ângulos de inclinação de referência; • K, L, R, J e bm: parâmetros do motor;

• fuzzy1 e fuzzy2: Controladores Fuzzy.

Para estas constantes, foram utilizados valores encontrados na revisão bibliográfica. Os resultados obtidos através do simulador estão representados nas figuras4.5 a 4.9. Na primeira simulação, foram utilizados os ângulos iniciais de entrada Θ = π/6 e Φ=π/3 . É importante notar que, para simplificar o modelo feito no Simulink, todos os ângulos são dados em radianos.

A figura 4.5 mostra os ângulos amostrados e simulados. Os valores utilizados para os ângulos simulados são aqueles calculados pelo bloco dinâmica rotacional referência terra e utilizados na entrada do bloco acelerômetro. Os ângulos amostrados são aqueles calculados pelo bloco processamento entrada utilizando as equações 2.17 e 2.18. Como pode-se ver, o método de controle utilizado funciona para este sistema.

(37)

Figura 4.5 - Ângulos simulados e amostrados

Para testar a validade das aproximações feitas, é útil comparar os valores amostrados com os valores simulados. O resultado está na figura 4.6. Nele pode-se ver a diferença entre os gráficos da figura 4.5. Pode-se observar na figura 4.6 que, como esperado, a diferença é grande nos momentos em que os ângulos estão variando. Entretanto, vê-se também que no momento inicial e conforme os ângulos convergem para zero, as aproximações se tornam cada vez mais válidas.

Figura 4.6- Diferença entre ângulos simulados e amostrados

A figura 4.7 mostra os valores de percentagem PWM aplicado a cada motor. No caso da simulação, foi usado um valor médio de 90% de tensão PWM, com os valores variando

(38)

entre 85% e 95% da tensão total. Nesta figura pode-se perceber que os valores aplicados aos motores 1 e 3 e aos motores 2 e 4 são simétricos entre si, conforme definidos pela estratégia de controle.

Figura 4.7 - Valores percentuais PWM em cada motor

Podemos verificar a partir dos gráficos acima que o controle desenvolvido se aproxima da solução ideal, ou seja, possui valores baixos de overshoot e do tempo de estabilização. Na prática, isso significa que o sistema levaria pouco tempo para alcançar a estabilidade, o que nesse caso significa que o sistema está na horizontal, e que ele oscilaria pouco em torno desse ponto até alcançar a estabilidade total.

Para validar o método de controle implementado foram simulados outros valores iniciais. As figuras 4.8 e 4.9 mostram os resultados quando os valores iniciais são alterados para Θ = π/5 e Φ=π/4.

(39)

Figura 4.8 - Ângulos simulados e amostrados para os ângulos iniciais Θ = π/5 e Φ=π/4.

Figura 4.9 - Valores percentuais PWM em cada motor para os ângulos iniciais Θ = π/5 e Φ=π/4.

É possível perceber que a simulação com estes valores obteve um resultado muito similar aos apresentados anteriormente, com os mesmos valores baixos de overshoot e do tempo de estabilização. Com isso podemos verificar que método desenvolvido é válido para diferentes valores iniciais de inclinação.

(40)

4.2.

Sistema Prático

Para verificar que os resultados simulados estejam de acordo com o que acontece na prática, o seguinte sistema pode ser montado. A construção do sistema possui as seguintes etapas:

• Construção do chassi do protótipo;

• Desenvolvimento da eletrônica associada ao protótipo (sensores, sistema de atuação, microcontrolador,

• Desenvolvimento do software embarcado de controle, que implementa o método de controle desenvolvido;

O diagrama de blocos do sistema prático está representado na figura composto de três partes principais:

acelerômetro MMA7660 e os motores e respectivos acionamentos. O sistema é alimentado por uma bateria

Este tipo de bateria e capaz de concentrar grande quantidade de carga em peso, sendo muito utilizado em aeromodelismo.

para evitar que o desligamento da bateria tivesse que ser conector.

Figura

Sistema Prático

Para verificar que os resultados simulados estejam de acordo com o que acontece na prática, o seguinte sistema pode ser montado. A construção do sistema possui as seguintes

trução do chassi do protótipo;

Desenvolvimento da eletrônica associada ao protótipo (sensores, sistema de microcontrolador, etc.);

Desenvolvimento do software embarcado de controle, que implementa o método de controle desenvolvido;

O diagrama de blocos do sistema prático está representado na figura 4.10. O sistema é composto de três partes principais: o sistema de controle e comunicação com o computador

otores e respectivos acionamentos.

entado por uma bateria LiPo (Litio-Polimero) de 4000mAh bateria e capaz de concentrar grande quantidade de carga em células peso, sendo muito utilizado em aeromodelismo. Ao circuito foi adicionado um i

que o desligamento da bateria tivesse que ser feito pelo desencaixe de seu

Figura 4.10 – D iagrama de blo cos do sistema

Para verificar que os resultados simulados estejam de acordo com o que acontece na prática, o seguinte sistema pode ser montado. A construção do sistema possui as seguintes

Desenvolvimento da eletrônica associada ao protótipo (sensores, sistema de

Desenvolvimento do software embarcado de controle, que implementa o

. O sistema é istema de controle e comunicação com o computador, o

00mAh e 11,1V. élulas de pouco

interruptor, feito pelo desencaixe de seu

(41)

4.2.1.

Chassi do sistema

Como o escopo deste projeto inclui apenas o controle de inclinação, a construção do chassi deve ser feita de modo a limitar os movimentos que não sejam aqueles angulares em torno dos eixos x e y. Para atingir este objetivo, um modelo fixo de quadrirotor foi desenvolvido.

O chassi do sistema foi montado em madeira balsa, material muito leve e largamente difundido na construção de aeromodelos comerciais, cuja obtenção não e difícil. O formato utilizado foi está representado na figura 4.11.

Figu ra 4.11 - F ormat o do c h a ss i

Para ligar a haste ao chassi do sistema, foi utilizada uma conexão móvel através de uma esfera. Desta forma, o sistema possui mobilidade de inclinação, e ao mesmo tempo não permite movimentos lineares, cujo controle está além do escopo deste projeto. Esta conexão está representada na figura 4.12.

(42)

F igu ra 4.12 - Con ex ão c om a hast e

4.2.2.

Acelerômetro

O acelerômetro utilizado no sistema foi o modelo MMA7660, da Freescale. Suas características são:

• Aceleração nos 3 eixos (xyz)

• Saída digital através do protocolo I2C • Tensão de alimentação de -0,3V a +3,6V • Sensibilidade de ± 1,5g

• Frequência de amostragem entre 1 amostra/s e 120 amostras/s

Para facilidade de montagem, foi utilizado o kit de avaliação KIT3803MMA7660FC, que possui pinagem DIP.

A conexão com o microcontrolador é feita através da interface I2C. Além disso, a alimentação do sensor é feita através da conexão direta com a saída VCC do microcontrolador.

4.2.3.

Motores e Acionamento

Os motores utilizados são do modelo AK360/PL12-12500S, da Akiyama Soluções tecnológicas. Este motor possui tensão nominal de 12V, rotação sem carga de 12500rpm com uma corrente de 0.19A, e potência de máximo rendimento de 4.85W.

O sistema de acionamento de cada motor é composto de dois componentes: um transistor MOSFET e um driver.

(43)

A saída pwm do microcontrolador está ligada ao CI TC1410N da Microchip. Este CI é um driver de MOSFET de alta velocidade. Ele possui tensão de operação de 4.5V a 16V e corrente máxima de 0,5 A.

O driver está ligado ao MOSFET STP27N3LH5, da ST. Este MOSFET possui valor máximo de tensão de 30V e corrente máxima contínua de 27 A.

O sistema de acionamento utilizado para os motores está representado na figura 4.13.

Figu ra 4.13 – Sis t em a d e acionam ent o

4.2.4.

Sistema de controle

O sistema de controle foi baseado no kit de desenvolvimento do processador MCF52259. Este processador da família ColdFire, desenvolvido pela Freescale, possui 512 KB de flash onboard e 64 KB de RAM. Os periféricos já incluídos no kit incluem conectores para comunicação USB e serial, JTAG e conector para os pinos de I/O.

A programação do processador é feita através da interface JTAG presente no kit. A arquitetura do software embarcado no microcontrolador está detalhada na seção Arquitetura do Software.

As interfaces utilizadas pelo sistema estão detalhadas na tabela 4.4.

(44)

Computador Serial através do conector RS232

Acelerômetro I2C

Acionamentos dos motores PWM através dos pinos de I/O

Tabela 4.4 - Interfaces utilizadas pelo sistema

4.2.5.

Arquitetura do software

O diagrama de blocos do software está representado na figura 4.15. Nela estão representadas as principais funções do sistema, assim como as conexões externas ao microcontrolador.

Figu ra 4.14 – D iag rama de b locos d o Sof t war e

O bloco processamento entrada, da mesma forma que o bloco do simulador, recebe e ajusta os valores amostrados pelo acelerômetro e os processa de modo a obter os valores de inclinação (Θ e Φ no sistema simulado) e enviar ao bloco de controle. Este bloco também é responsável por fazer toda a comunicação através do protocolo I2C com o acelerômetro, incluindo a inicialização do sensor.

(45)

O bloco Controle Fuzzy é similar ao bloco de mesmo nome no simulador e implementa todo o controle explicado no capítulo 3.

O bloco Gerador PWM representa as interrupções necessárias para a geração do sinal pwm, assim como a atualização nos pinos de saída. Na verdade este bloco foi implementado a partir do código gerado automaticamente pela ferramenta de edição do kit microcontrolador.

O bloco Comunicação Serial seria implementado no futuro para que o sistema receba e envie comandos a um computador.

(46)

5.

Conclusões

O objetivo principal deste trabalho era desenvolver um método de controle que permitisse a construção de uma aeronave do tipo quadrirotor de baixo custo.

A partir da análise bibliográfica, ficaram evidentes que os trabalhos existentes voltados à construção de quadrirotores utilizavam vários tipos de sensores para avaliar a posição e atitude da aeronave em relação tanto a um sistema de coordenadas fixo quanto a um sistema móvel situado no quadrirotor.

Um dos requisitos definidos no início deste trabalho era que apenas um único acelerômetro seria utilizado pelo sistema. A falta de informações que surgiria deste requisito seria compensada pela estratégia de controle. Neste contexto, o controlador fuzzy foi o escolhido, por apresentar bons resultados mesmo quando nem todas as informações estão disponíveis.

A base teórica forneceu suporte para o desenvolvimento do simulador utilizado para validar a técnica de controle escolhida, baseada em lógica fuzzy. Este simulador permitiu avaliar a validade das funções de pertinência e das regras de inferência definidas, garantindo assim que o controle desenvolvido era válido em diferentes situações. Este simulador também é útil para avaliar como variações no método de controle afetam o sistema como um todo, o que é um passo importante para o desenvolvimento de um sistema prático.

A partir das idéias desenvolvidas com o simulador, um sistema prático para a avaliação do método de controle foi proposto. Como um dos pressupostos iniciais do projeto era de que apenas o controle de inclinação fosse realizado, uma estrutura mecânica especial, diferente daquelas vistas durante a revisão bibliográfica, teve que ser projetada.

Conclui-se a partir dos resultados apresentados que este trabalho teve sucesso em cumprir os requisitos definidos no início do projeto. Um método de controle baseado em um conjunto reduzido de informações foi desenvolvido, e sua validade foi confirmada através de um simulador. A redução de custo decorrente da diminuição do número de sensores cumpre o requisito principal definido, que era auxiliar no desenvolvimento de um sistema quadrirotor de baixo custo.

A principal sugestão para a continuação deste trabalho é o desenvolvimento de um sistema de controle de guinada e de altitude que possam ser integrados ao controle de inclinação desenvolvido, de modo a criar um sistema quadrirotor completo. É importante na

(47)

criação destes sistemas seguir o requisito de baixo custo definido para este projeto. A seguir poder-se-ia implementar um controle de navegação de modo a tornar o quadrirotor um sistema autônomo.

Outra sugestão para um trabalho futuro é desenvolver ainda mais o método de controle utilizado, talvez complementado-o com uma rede neural de modo a adicionar uma inteligência adicional ao sistema.

(48)

6.

Bibliografia

[1] BRESCIANI, T. Modelling, Identification and Control of a Quadrotor Helicopter. Tese (Mestrado) - Lund University, 2008. (Disponível em: http://www.roboticsclub.org/redmine /attachments/467/Quadrotor_Bible.pdf)

[2] DOMINGUES, J. Quadrotor prototype. Tese (Mestrado) – Universidade Técnica de Lisboa, 2009 (Disponível em: https://dspace.ist.utl.pt/bitstream/2295/574042/1/Tese_de_ Mestrado.pdf)

[3] SANTANA, P.; BRAGA, M. Concepção de um Veículo Aéreo Não-Tripulado do Tipo Quadrirotor. Trabalho de graduação – Universidade de Brasília. (Disponível em: http://lara.unb.br/~gaborges/arquivos/pf.pedro.santana.marcelo.braga.2008.1.pdf) [4] http://en.wikipedia.org/wiki/Quadrotor, October 2009.

[5] POUNDS, P.; MAHONY, R.; CORKE, P.. Modelling and Control of a Quad-Rotor Robot. 2006. (Disponível em: http://eprints.qut.edu.au/33767/1/33767.pdf)

[6] PIRES, J. ;NASCIMENTO, C..Controle Fuzzy para braço robótico utilizando a abordagem adaptativa neuro-fuzzy (ANFIS) do Matlab.

[7] MARTINS, E. Controle Fuzzy através de sistema de supeervisão.

[8] AUNG, W. Analysis on Modeling and Simulink of DC Motor and its Driving System Used for Wheeled Mobile Robot.

[9] NEUTZLING, R. Identificação de Sistemas. Trabalho de graduação - Universidade Regional do Noroeste do Estado do Rio Grande do Sul, 2005.

(49)

A

p

ê

n

d

ic

e

S

im

u

la

d

o

r

E

x

p

a

n

d

id

o

O S im u la d o r d e se n vo lv id o é a p re se n ta d o e m li n h a s g e ra is n o c a p ít u lo 4 .1 . A s e g u ir e st ã o d e ta lh a d o s ca d a b lo co d o s is te m a . P a ra m e lh o r v is u a li za çã o , a lg u n s b lo co s e st ã o d is p o st o s n a h o ri zo n ta l.

1

.

B

lo

c

o

C

o

n

tr

o

le

F

u

z

z

y

ang_1 delta_ang_1 ang_2 delta_ang_2 4 pwm4 3 pwm3 2 pwm2 1 pwm1 theta_amos To Workspace9 saida4 To Workspace8 d2phi_amos To Workspace7 saida2 To Workspace6 saida3 To Workspace5 saida1 To Workspace4 pwm4 To Workspace3 pwm2 To Workspace2 d2theta_amos To Workspace13 dphi_amos To Workspace12 dtheta_amos To Workspace11 phi_amos To Workspace10 pwm3 To Workspace1 pwm1 To Workspace STOP Stop Simulation3 STOP Stop Simulation2 STOP Stop Simulation1 STOP Stop Simulation Saturation3 Saturation2 Saturation1 Saturation NOT Logical Operator3 NOT Logical Operator2 NOT Logical Operator1 NOT Logical Operator Interval Test3 Interval Test2 Interval Test1 Interval Test -1 Gain6 0.5 Gain4 0.5 Gain2 -1 Gain In Out Derivada3 In Out Derivada2 In Out Derivada1 In Out Derivada Controle Motor 2

Controle Motor 1 medio_pwm

Constant6 medio_pwm Constant5 medio_pwm Constant4 medio_pwm Constant3 ref_phi Constant1 ref_theta Constant Add5 Add4 Add3 Add2 Add1 Add 2 theta 1 phi

(50)

2.

Bloco Motor

V1 V3 V4 V2 4 vel_motor_4 3 vel_motor_3 2 vel_motor_2 1 vel_motor_1 K J.s+bm Malha mecânica Motor 4

K J.s+bm Malha mecânica Motor 3

K J.s+bm Malha mecânica Motor 2

K J.s+bm Malha mecânica Motor 1

1 L.s+R Malha elétrica Motor 4

1 L.s+R Malha elétrica Motor 3

1 L.s+R Malha elétrica Motor 2

1 L.s+R Malha elétrica Motor 1

K Gain7 K Gain5 K Gain3 K Gain1 Divide3 Divide2 Divide1 Divide 100 Constant7 100 Constant5 100 Constant3 100 Constant1 4 pwm4 3 pwm3 2 pwm2 1 pwm1

(51)

3.

Bloco Vel para U

5 Omega 4 U4 3 U3 2 U2 1 U1 b empuxo d arrasto Omega T o Workspace4 U1 To Workspace3 U4 T o Workspace2 U3 T o Workspace1 U2 T o Workspace Product4 Product3 Product2 Product1 Product u2 Math Function3 u2 Math Function2 u2 Math Function1 u2 Math Function l Di stancia ao CDM Add4 Add3 Add2 Add1 Add 4 vel_motor_4 3 vel_motor_3 2 vel_motor_2 1 vel_motor_1

(52)

5 2

4

.

B

lo

c

o

D

in

â

m

ic

a

r

o

ta

c

io

n

a

l

r

e

fe

n

c

ia

c

o

r

p

o

r 3 r 2 q 1 p r r3 r r2 r r1 q q3 q q2 q q1 p p3 p p1 Product4 Product3 Product2 Product1 Product 1 s Integrator8 1 s Integrator7 1 s Integrator6 Izz Inercia z4 Ixx Inercia z2 Izz Inercia z1 Iyy Inercia y3 Izz Inercia y2 Iyy Inercia y1 Ixx Inercia x3 Iyy Inercia x2 Ixx Inercia x1 Divide5 Divide3 Divide2 r Data Store Write2 q Data Store Write1 p Data Store Write r Data Store Memory2 q Data Store Memory1 p Data Store Memory Jtp Constant1 Jtp Constant Add5 Add4 Add3 Add2 Add1 Add 4 Omega 3 U4 2 U3 1 U2

Referências

Documentos relacionados

A característica da conduta imprópria do médico citada pelo autor esta em conformidade com inciso II do art.18, o define como crime culposo, segundo Damásio de

Conseqüentemente, tendo como objetivo contribuir para o desenvolvimento de metodologias mais eficientes e menos agressivas ao homem e meio ambiente para o controle de

internacionalmente estabelecidos pelos respectivos foros técnicos para os critérios e procedimentos de acreditação/autorização e operação. Uma vez que serviços tecnológicos

Ruy Braga, professor do Departamento de Sociologia da USP e diretor do Centro de Estudos dos Direitos da Cidadania (Cenedic) da USP, é autor, entre outros livros, de Por

SÃO FRANCISCO DA SERRA... Class Num Nome Sx

PAGAMENTO DA COMISSÃO DO LEILOEIRO: A comissão devida ao Leiloeiro será de 5% (cinco por cento) sobre o valor da arrematação, não se incluindo no valor do lanço (art.

Segundo Zwass (1992), os SIC têm impacto direto na tomada de decisão, sendo necessário, portanto, que esses estejam totalmente integrados aos demais sistemas e

Painel de comandos Touch Control com display digital branco | 4 lâmpadas LED | Três velocidades + uma intensiva | Indicador digital de velocidade selecionada | Programação do tempo