O Controle PID
Por: Tiago Rodrigo • 22/1/2019 • Trabalho acadêmico • 1.802 Palavras (8 Páginas) • 258 Visualizações
INSTITUTO NACIONAL DE TELECOMUNICAÇÕES
LÓGICA FUZZY E A BIBLIOTECA eFLL
PRINCÍPIOS E APLICAÇÕES
[pic 1]
Tiago Magalhães dos Reis
Santa Rita do Sapucaí
2014
SUMÁRIO
1. INTRODUÇÃO 3
2. O QUE É A LÓGICA FUZZY 4
3. COMO UTILIZAR A BIBLIOTECA EFLL 5
3.1 INSTALANDO A BIBLIOTECA NO ARDUINO 5
3.2 IMPORTANDO A BIBLIOTECA 5
3.3 CARACTERÍSTICAS 5
CRIANDO AS FUNÇÕES DE PERTINÊNCIA 6
CRIANDO A BASE DE REGRAS 8
- INTRODUÇÃO
a
µ
Na eletrônica digital, esta lógica permite que os controladores se aproximem do modo como os humanos tratam de determinado problema
- A LÓGICA FUZZY
A lógica Fuzzy, também chamada de lógica difusa ou nebulosa, é uma extensão da lógica binária, pois permite criar uma infinidade de valores entre os convencionais 0 e 1. Com este novo conceito é possível gerar graus de incerteza para determinada situação ou variável de um sistema. Um exemplo simples seria classificar uma pessoa como alta ou baixa utilizando lógica binária, porém se houvesse uma pessoa de média estatura, como ela seria classificada? Esta lógica não conseguiria associá-la a um destes dois grupos de maneira correta. A lógica Fuzzy preenche esta lacuna, pois associa um número fracionário, ou grau de veracidade, indicando o quanto esta pessoa é baixa ou alta se aproximando assim da maneira humana de se pensar. A tabela abaixo permite visualizar o exemplo dado acima.
BAIXO Booleano | ALTO Booleano | BAIXO Fuzzy | ALTO Fuzzy | |
1,50m | 1 | 0 | 1 | 0 |
1,60m | 1 | 0 | 1 | 0 |
1,70m | ? | ? | 0,3 | 0,6 |
1,75m | ? | ? | 0,1 | 0,7 |
1,80m | ? | ? | 0 | 0,9 |
1,90m | 1 | 1 | 0 | 1 |
2,00m | 1 | 1 | 0 | 1 |
Tabela 1: Comparação entre a lógica booleana e a Fuzzy
Pode-se observar que uma pessoa de 1,70m a 1,80m não pertenceria ao grupo das pessoas baixas ou altas. Como primeira solução, é tendenciosa a solução de diminuir este limiar de decisão para 1,75m, ou seja, abaixo deste valor todas as pessoas seriam consideradas baixas e acima todas seriam altas. Porém se uma pessoa tivesse exatamente 1,75m? Novamente não seria classificada. Entretanto, utilizando a lógica difusa esta pessoa pertenceria ao grupo das pessoas baixas com grau de pertinência de 0,1 e ao grupo das pessoas altas com grau de pertinência de 0,7. Portanto define-se grau de pertinência como sendo o quanto cada uma das entradas pertence ou não a determinado grupo. Estes grupos, por definição, são chamados de funções de pertinência.
A figura a seguir ilustra como seriam representadas as funções de pertinência da tabela acima, porém de forma gráfica. Observe também que não existe uma transição abrupta entre os dois grupos, mas sim que uma altura pode ter um grau de pertinência maior em determinada função do que em outra.
[pic 2]
Figura 1: Exemplo de funções de pertinência
3. COMO UTILIZAR A BIBLIOTECA eFLL
3.1 INSTALANDO A BIBLIOTECA NO ARDUINO
Vá a página oficial do projeto no GitHub[1] e procure por eFLL na área de pesquisa. Clique em zerokol/efll. Na próxima página aparecerá uma lista contendo vários arquivos .cpp e .h. Ao lado desta página há um botão para realizar o download de toda a biblioteca em formato .zip.
Feito o download descompacte os arquivos para a pasta de bibliotecas (libraries) do Arduino. Renomeie a pasta de “eFLL-master” para “eFLL”.
3.2 IMPORTANDO A BIBLIOTECA
Caso a instalação da biblioteca tenha sido realizada com sucesso, para importar os arquivos no projeto basta ir no menu superior SKETCKS → BIBLIOTECA → Importar → eFLL. Todos os arquivos necessários serão incluídos no projeto.
3.3 CARACTERÍSTICAS
Escrita em C/C++, usa apenas a biblioteca padrão da linguagem C "stdlib.h", por isso a eFLL é uma biblioteca destinada não somente ao Arduino, mas qualquer a sistema embarcado que tenham seus comandos escritos em C.
Não possui limitações explicitas de quantidade de Conjuntos Fuzzy, Regras Fuzzy, entradas ou saídas, estas se limitam a capacidade de processamento e armazenamento de cada microcontrolador.
A biblioteca utiliza o processo: (MAX-MIN) e (Mínimo de Mamdani) para a inferência e composição e (Centro de Área) para a defuzzyficação, no universo contínuo.
CRIANDO AS FUNÇÕES DE PERTINÊNCIA
Objeto Fuzzy - Este objeto engloba todo o Sistema Fuzzy, através dele, é possível manipular os Conjuntos Fuzzy, as Regras Linguísticas, entradas e saídas.
...