Você está na página 1de 31

Introduo a Sistemas Fuzzy no Matlab e uso do Simulink

Alexandre Arduini da Silva e Oliveira Jorge Chaves Barbosa

O que Lgica Fuzzy?


Conceito A lgica fuzzy um conceito matemtico surgido em 1965 a partir do conceito de Conjuntos Fuzzy, que so conjuntos nebulosos, ou vagos. Diferentemente dos conjuntos clssicos, os conjuntos fuzzy no so rgidos.

O que Lgica Fuzzy?


Conceito A importncia desse conceito matemtico a relevncia relativa da impreciso, e a eficincia das respostas imprecisas em alguns casos. A lgica fuzzy j est presente em muitos setores produtivos, como indstrias de aviao, eletrodomsticos, agricultura entre outros.

O que Lgica Fuzzy?


Vantagens: Conceitualmente fcil de ser entendida Flexibilidade Tolerncia a impreciso de dados Modelagem no linear de complexidade arbitrria Construda baseado na experincia dos especialistas Misturada a outras tcnicas de controle Baseada em linguagem natural

O que Lgica Fuzzy?


Conjuntos Fuzzy No conceito de conjuntos fuzzy, algum elemento pode pertencer parcialmente ao conjunto. Assim, introduziu-se termos relativos e abstratos nos conceitos de conjuntos.

O que Lgica Fuzzy?


Conjuntos Fuzzy A funo que define o quanto um elemento pertence a um conjunto a funo de pertinncia

O que Lgica Fuzzy?


Funo de pertinncia Curva que define como cada ponto de entrada mapeado em um valor de grau de pertinncia entre 0 e 1.

O que Lgica Fuzzy?


Exemplo: Quando uma pessoa considerada gorda?

O que Lgica Fuzzy?


Inferncia Fuzzy A inferncia fuzzy o modo como essa lgica raciocina. O sistema de inferncia realiza o processo de formular o mapeamento de uma entrada em uma sada usando a lgica fuzzy. O raciocnio deles baseado em regras do tipo SEENTO.

O que Lgica Fuzzy?


Inferncia Fuzzy O processo de inferncia composto dos seguintes passos: 1. Fuzzyficao das entradas: Determinao do grau de pertinncia de cada entrada em relao a cada conjunto fuzzy

O que Lgica Fuzzy?


Inferncia Fuzzy
2. Aplicar as regras e operadores: Determinao de um nmero que represente o resultado do antecedente daquela regra Operadores AND e OR
AND min() ou prod() OR max() ou probor() (probor(a,b) = a + b ab)

O que Lgica Fuzzy?


Inferncia Fuzzy 3. Aplicar operador de implicao:
Aplicao de pesos no resultado do antecedente Remodelamento do conseqente em funo do valor do antecedente Mtodos usados

- Truncamento, atravs da funo min()


- Dimensionamento, atravs da funo prod()

O que Lgica Fuzzy?


Inferncia Fuzzy
4. Agregar todas as sadas Combinao das sadas (fuzzy) em um nico conjunto fuzzy - Entradas so as funes retornadas pela implicao - Sada um conjunto fuzzy para cada varivel de sada Mtodos - Mximo, atravs da funo max() - OR probabilstico, atravs da funo probor() - Soma, atravs da funo sum()

O que Lgica Fuzzy?

O que Lgica Fuzzy?


Inferncia Fuzzy
5. Defuzzyficao Obtm valor numrico que representa a sada do sistema Mtodos:
Centride, Bisetor, Mdia dos mximos, Maior dos mximos, Menor dos mximos

O que Lgica Fuzzy?


Inferncia Fuzzy - Esquema Geral

Lgica Fuzzy no MATLAB


Fuzzy Logic Toolbox: Conjunto de funes construdas no ambiente computacional numrico MATLAB. Fornece ferramentas pra criar e editar sistemas de inferncia fuzzy

Lgica Fuzzy no MATLAB


Editor SIF: Edita a funo de inferncia

Lgica Fuzzy no MATLAB


Membership Function Editor: Editor de funo de pertinncia

Lgica Fuzzy no MATLAB


Rule Editor: Editor de Regras

Lgica Fuzzy no MATLAB


Rule Viewer: Visualizador de Regras

Lgica Fuzzy no MATLAB


Surface Viewer: Visualizador de Superfcie

Simulink
Ferramenta auxiliar do Matlab especialmente desenvolvida para simulao de processos.

Utiliza de modelos grficos e biblioteca de conjuntos de blocos otimizados que podem ser estendidos para aplicaes especficas.

Simulink
Pode desenhar, simular, implementar, testar controles, entre outras aplicaes. Apresenta ferramentas especficas de modelagem, desenho das tarefas e gerao de cdigo, implementao de algoritmos, teste e verficao.

Simulink
Criando e Trabalhando - Com o Simulink voc pode rapidamente criar,
modelar, montar e detalhar seu sistemas usando um conjunto compreensivo e predefinidos de blocos. - Fornece ferramentas para modelos hierrquicos, gerenciamento de dados, e customizao de subsistemas.

Simulink
Janela das bibliotecas e sub-bibliotecas

Simulink (Exemplo)
Controle de Nvel de gua
Imagine um tanque com um cano de entrada de gua e um cano de sada de gua. Voc pode usar a vlvula para controlar a entrada de gua, mas a sada de gua depende do dimetro do cano e da presso do tanque.

Simulink (Exemplo)
Controle de Nvel de gua
Um controlador para o nivel de agua no tanque precisa saber o nivel atual pra ajustar a valvula. Nosso entrada do controlador ser o erro do nivel de agua (nivel desejado menos o atual) e a sada ser a taxa com que a vlvula ser aberta ou fechada. O primeiro passo pra construo do controlador fuzzy ser definir o seguinte:
1. If (nvel is bom) then (vlvula is sem_mudanas) (1) 2. If (nvel is baixo) then (vlvula is abre_rpido) (1) 3. If (nvel is alto) then (vlvula is fecha_rpido) (1) 4. If (nvel is bom) and (razo is negativa), then (vlvula is fecha_devagar) (1) 5. If (nvel is bom) and (razo is positiva), then (vlvula is abre_devagar) (1)

Simulink (Exemplo)

Simulink (Exemplo)
Controle de Nvel de gua
sltank tank.fis

Simulink (Exemplo)
Controle de Nvel de gua
sltanktankrule

Você também pode gostar