Você está na página 1de 18

Prof. Dr.

ADRIANO BREUNIG

LÓGICA FUZZY APLICADA AO CONTROLE DE PROCESSOS

CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA DE MATO


GROSSO – CEFET/MT

abreunig@uol.com.br

Agosto/2004

1
CONTEÚDO

1. Conjuntos Nebulosos 4

2. Operações Lógicas Envolvendo Conjuntos Nebulosos 6

3. Regras de Implicação 7

4. Controladores Nebulosos 18

4.1 Controle Nebuloso Direto 18

4.2 Controle Nebuloso Realimentado 20

5. Referências 22

2
CONTROLADORES NEBULOSOS
O desejo e os interesses econômicos e estratégicos de fazer com que as máquinas tomem decisões inteligentes têm
motivado o desenvolvimento de várias vertentes de inteligência artificial (IA), dentre as quais pode-se destacar:

- Inteligência artificial baseada na lógica booleana,


- Redes neurais artificiais,
- Lógica nebulosa,
- Algorítmos genéticos.

A inteligência artificial baseada na lógica booleana teve seu maior desenvolvimento nas décadas de 70 e 80,
culminando com as aplicações dos sistemas especialistas que empregavam exaustivamente variáveis lógicas no
encadeamento de decisões. São comuns, nessa modalidade, os uso das linguagens de programação Prolog e Lisp.

A criação de redes neurais artificiais foram, por muito tempo, o grande sonho dos pesquisadores interessados em
decifrar os mecanismos do cérebro humano. O desenvolvimento dessas redes data dos primórdios da computação
digital. Entretanto, somente no final da década de 80, passaram a ser reconhecidas, através da criação de sistemas
capazes de imitar de forma bastante rudimentar o funcionamento do cérebro humano. Destaca-se, nas redes neurais
artificiais, a sua capacidade de aprendizagem, como é comum nos seres humanos e animais. Trata-se de uma área em
grande crescimento e que promete soluções fantásticas, no futuro.

Os algoritmos genéticos, por outro lado, são o resultado da inspiração baseada na evolução das espécies para a solução
de problemas complexos. Aliada a outras áreas de IA, tem se mostrado como uma excelente opção.

Embora não seja a última, cronologicamente, pois nasceu em 1965 com o trabalho de Zadeh, a lógica nebulosa tem se
tornado a opção mais prática e promissora para a implementação de sistemas especialistas. Atualmente, está sendo
empregada nos mais diferentes ramos, desde eletrodomésticos, como câmeras de vídeo, lavadoras etc, até centrais
nucleares, indústrias químicas, automóveis etc.

Criada por Zadeh em 1965, através da teoria dos conjuntos nebulosos, evoluiu para a área de controles de processos
através dos trabalhos de Mandani e Sugeno, nas décadas de 70 e 80, respectivamente.

A grande motivação para a criação dos controladores nebulosos é a viabilidade de se imitar a ação dos operadores de
máquinas e de grandes plantas industriais. Tais sistemas são, muitas vezes, intratáveis pelos métodos convencionais
de controle. Incluem-se, nessas classe, sistemas com:

- Características não-lineares,
- Grandes atrasos de transporte,
- Equações variantes no tempo,
- Múltiplas entradas e múltiplas saídas,
- Equações difíceis de serem estimadas,
- Perturbações não-modeladas,
- Equações conhecidas porém muito complexas,
- Sistemas com amplas faixas de operação.

Em certos casos, todos esses itens, podem estar presentes de forma relevante, em uma só planta industrial.

Outra grande motivação para a aplicação de controladores nebulosos é a facilidade de implementação em


microprocessadores de baixíssimo custo, ou em controladores lógico programáveis, ou então, em computadores de
baixo custo.

Neste texto, procura-se somente apresentar os princípios básicos direcionados às aplicações industriais dos
controladores nebulosos, deixando-se de lado os caracteres formais da lógica nebulosa. Entretanto, torna-se necessário
o conhecimento das noções de conjuntos nebulosos.

3
1. CONJUNTOS NEBULOSOS
Na teoria clássica de conjuntos, um elemento xi pode pertencer ou não a um dado conjunto. Não há meios termos, isto
é, não é possível que um elemento pertença um pouco a um conjunto e um pouco a outro conjunto. Entretanto, isso é
perfeitamente possível na teoria dos conjuntos nebulosos.

Considere uma sala com alguns indivíduos. Deseja-se classificá-los como BAIXOS, MÉDIOS e ALTOS. Cria-se,
então, uma tabela, classificando-se as medidas com pesos que variam entre 0 e 1 e que definem a pertinência dos
elementos aos conjuntos. Por exemplo, a classificação de alturas poderia ser como na tabela I.

CONJUNTO PERTINÊNCIA
BAIXOS 1 1 0,6 0,2 0
MÉDIOS 0 0,5 1 0,5 0
ALTOS 0 0 0,6 0,8 1
ALTURAS(m) 1,2 1,4 1,6 1,8 2

Os valores das alturas, assim como as grandezas de engenharia, de um modo geral, são conhecidos como universo de
discurso. Costuma-se também representar os conjuntos nebulosos da seguinte forma:

1 1 0,6 0,2 0
BAIXOS ? { ; ; ; ; }
1,2 1,4 1,6 1,8 2,0

1 0,5 1 0,5 0
MÉDIOS ? { ; ; ; ; } (1)
1,2 1,4 1,6 1,8 2,0

0 0 0,6 0,8 1
ALTOS ? { ; ; ; ; }
1,2 1,4 1,6 1,8 2,0

Observe que se trata somente de uma representação, não tendo o traço horizontal o significado de fração ou divisão.

Os conjuntos nebulosos podem também ser representados por funções contínuas e ser mostrados de forma gráfica
como nas figuras 1a, 1b, 1c.
?B

Universo de discurso
Fig. 1 a – Conjunto dos baixos.

4
?M

Universo de discurso
Fig. 1b – Conjunto dos médios.

?A

Universo de discurso
Fig. 1c – Conjunto dos altos.

Estas funções podem também ter formas mais simples como na figuras 2. Observe que, nesse caso, as três funções de
pertinência estão representadas no mesmo gráfico.

Universo de discurso
Fig. 2 – Funções triangulares.

Essas funções são também denominadas por funções de pertinência por representarem o quanto cada elemento
pertence a um conjunto nebuloso. Pode-se, também, efetuar operações lógicas com os conjuntos nebulosos. Esse
assunto é tratado na próxima seção.

Observe que se decidiu por classificar as grandezas em pequenos, médios e grandes. Entretanto, se for conveniente,
pode-se aumentar essa classificação, como por exemplo, muito pequena, pequena, média, grande e muito grande.

5
Denomina-se grau de cardinalidade ao número de classes que se classificam as grandezas. Sendo assim, neste
exemplo, as grandezas possuem cardinalidade igual a 3.

2. OPERAÇÕES LÓGICAS ENVOLVENDO CON JUNTOS NEBULOSOS


Considere que, no exemplo anterior, se crie um outro conjunto que contenha tanto os elementos considerados altos
como aqueles considerados baixos, excluindo-se os médios. Isso equivale a operação lógica OU, que é também a
operação de união de dois conjuntos. Por definição a operação lógica OU entre dois conjuntos nebulosos é realizada
tomando-se o valor máximo de pertinência, isto é:

? A B ? max( ? A , ? B ) (2)

onde: ?A: função de pertinência correspondente ao conjunto A.


?B: função de pertinência correspondente ao conjunto B.
? A? B : função de pertinência correspondente a união dos conjuntos A e B.

No caso do exemplo citado, pode-se criar um conjunto contendo tanto os elementos altos como os elementos baixos,
obtendo-se:

1 1 0,6 0,8 1
ALTOS BAIXOS ? { ; ; ; ; } (3)
1,2 1,4 1,6 1,8 2,0

A operação lógica E é, por definição, realizada obtendo-se uma função de pertinência que é o mínimo entre os
conjuntos. Esta operação é também conhecida como a interseção entre os dois conjuntos.

? A B ? min( ? A , ? B ) (4)

No caso do exemplo citado, pode-se criar um conjunto contendo os elementos considerados altos e baixos, ao mesmo
tempo. Observe que a função de pertinência resultante é semelhante ao conjunto dos médios, porém não é idêntica.

0 0 0,6 0,2 0
ALTOS BAIXOS ? { ; ; ; ; } (5)
1,2 1,4 1,6 1,8 2,0

A operação de negação ou complemento é realizada, por definição por:

? ___ ? 1 ? ? A (6)
A

Desta forma, o conjunto dos não-baixos será:

_____________
0 0 0,4 0,8 1
BAIXOS ? { ; ; ; ; } (7)
1,2 1,4 1,6 1,8 2,0

Observe que o conjunto dos não-baixos pode não coincidir exatamente com o conjunto dos altos.

Nos controladores nebuosos, há a necessidade de se estabelecer regras de implicação para se traduzir as habilidades
dos operadores das plantas industriais. Essas regras são definidas a seguir:

6
3. REGRAS DE IMPLICAÇÃO
Considere um processo industrial com três entradas como o da figura 3.

fA

fB

Fig. 3 – Planta industrial com 3 entradas.

Na figura 3 considere:

fA : fluxo do produto A;
fB : fluxo do produto B:
V : vazão de vapor.

Considere que a vazão de vapor deva variar de forma a estabelecer as características desejadas da mistura com base
nos fluxos dos produtos f A e fB. Os operadores da planta conhecem, pela prática, regras tais como:

- Se fA for pequeno e fB for pequeno então V deverá ser pequeno,


-
- Se fA for pequeno e fB for médio então V deverá ser pequeno,
-
- Se fA for pequeno e fB for grande então V deverá ser médio,
-
- Se fA for médio e fB for pequeno então V deverá ser pequeno,
-
- Se fA for médio e fB for médio então V deverá ser médio,
-
- Se fA for médio e fB for grande então V deverá ser médio,
-
- Se fA for grande e fB for pequeno então V deverá ser médio,
-
- Se fA for grande e fB for médio então V deverá ser grande,
-
- Se fA for grande e fB for grande então V deverá ser grande.

Essas regras podem ser escritas de forma mais concisa por:

- Se fA grande e fB grande ? V grande,


-
- Se fA grande e fB médio ? V médio,
-
- ...

Pode-se, também, usar a tabela abaixo, para representar essas regras

7
TABELA I – REGRAS DE IMPLICAÇÃO
fA
P M G
P VP VP VM
fB M VP VM VM
G VM VG VG

onde: VG, VM , VP significam vazão grande, vazão média,


vazão pequena, respectivamente.

Na tabela acima, pode-se ter até nove regras, entretanto, pode-se perfeitamente, atuar com um número menor.

Por definição, a função de pertinência da resposta deverá ser feita realizando-se a composição do antecedente da
regra obtendo-se uma função de pertinência correspondente. Em seguida, faz-se uma operação de mínimo desse
resultado com a função de pertinência do conseqüente. No caso da primeira regra, ter-se-ia:

? RESPOSTA ? min( ? VG , min( ? fAG ,? fBG )) (8)

Esse equação deve ser aplicada a todas as regras definidas pelos operadores. Desta forma, são obtidas várias funções
de pertinência correspondentes à aplicação de todas as regras. Também, por definição, a função de pertinência
resultante da combinação de todas as regras deverá ser obtida executando-se a operação OU lógico entre os conjuntos
resultantes. Portanto, basta tomar como resultante uma função que seja igual ao máximo entre funções obtidas para
cada regra. Por essa razão, essa forma de composição é conhecida como método MIN-MAX. O exemplo seguinte
ilustra essa operação.

Exemplo 1 – Considere o exemplo da figura 3 onde se deseja determinar a vazão de vapor dependendo dos fluxos dos
produtos A e B. Considere que os universos correspondentes a essas grandezas estejam normalizados entre 0% e
100%. Considere ainda que as funções de pertinência estabelecidas para essas grandezas sejam as apresentadas nas
figuras 4, 5 e 6. Pede-se determinar o valor da vazão de vapor, quando os fluxos dos produtos A e B forem de 20% e
60%, respectivamente.

Fig. 4 – Funções de pertinência para a fluxo do produto A.

8
Fig. 5 – Funções de pertinência para a fluxo do produto B.

Fig. 6 – Funções de pertinência para a vazão de vapor.

Considere também que, em conversa com os operadores da planta, pôde-se estabelecer as regras resumidas na tabela I.

9
Solução - Este problema pode ser resolvido usando-se o Toolbox Fuzzy do sistema Matlab. Deve-se seguir os
seguintes passos. Entra-se no sistema Matlab e digita-se fuzzy

Nesse momento, será aberta a seguinte tela:

Fig. 7 – Tela inicial do editor fuzzy do Matlab.

10
Solução - Este problema pode ser resolvido usando-se o Toolbox Fuzzy do sistema Matlab. Deve-se seguir os
seguintes passos. Entra-se no sistema Matlab e digita-se fuzzy

Nesse momento, será aberta a seguinte tela:

Fig. 8 – Tela inicial do editor fuzzy do Matlab.

Clicando-se em Edit ? Add input, obtém-se

11
Fig. 9 – Inserindo mais uma entrada.

Em seguida, clica-se em input1? View? Edit membedrship functions. Clica-se então em Edit? Add membership
functions, obtendo-se:

Fig.10 – Escolha do tipo de função de pertinência.

Pode-se então escolher o tipo de função, por exemplo trapmf, que corresponde às funções trafpezoidais. Clicando-se
em OK obtêm-se o desenho das funções de pertinência, que podem ser então configuradas. Pode-se então clicar sobre
a curva que se torna vermelha e digita-se o seu nome e a faixa para o universo de discurso, no campo correspondente
ao RANGE.

12
Fig. 11 - Como editar as funções de pertinência.

Pode-se também modificar graficamente o formato das funções clicando-se nos pontos indicados nas linhas e
arrastando-os com o mouse. Deve-se então repetir o procedimento para a outra entrada, e para a saída que corresponde
à vazão de vapor.

O próximo passo corresponde à edição da base de regras. Deve-se então clicar em View? Edit rules e, em seguida,
editar as regras clicando-se nas opções desejadas, como mostra a figura 12.

13
Fig. 12 – Editor da base de regras.

Para aplicar as regras deve-se clicar em View ? View rules, obtendo-se a tela mostrada na figura 13. Nesta figura o
critério MIN-MAX está ilustrado graficamente. Observa que estão desenhadas todas as funções de pertinência. Para o
fluxo fA considerou-se que o seu valor (20%) seja objetivo, isto é, obtido através de uma medida confiável no campo.
Os valores correspondentes de pertinência foram então obtidos nas funções correspondentes. O mesmo foi feito com o
fluxo fB, com o valor de (60%). Os valores mínimos correspondentes, foram então comparados com a função de
saída, isto é, com as funções de pertinência correspondentes à vazão de vapor. Esses valores estão indicados
graficamente, nos gráficos à direita da figura 13. Finalmente, toma-se a função que corresponde ao máximo entre
essas três funções, obtendo-se o gráfico mostrado embaixo e à direita, na figura 13.

A obtenção do resultado final da vazão de vapor é realizada através de um processo denominado defuzificação, onde
se obtém um valor numérico da grandeza de engenharia a partir da função de pertinência resultante. Há vários
métodos de defuzificação, dentre os quais citam-se:

- Método do centro de área: obtém-se o valor resultante tomando-se o valor do universo


de discurso correspondente ao centro geométrico da área sob a curva.

- Método da média ponderada: obtém-se o valor resultante tomando-se a média


ponderada entre os valores de pertinência e os valores do universo de discurso correspondente.

- Método da média dos máximos: nesse caso, tomam-se os valores máximos da curva
resultante e obtém-se a média dos universos de discurso correspondentes.

14
Fig. 13 – Aplicação do critério MIN-MAX na aplicação das regras.

O sistema apresentado na figura 12 usou a média ponderada, obtendo o valor resultante para a vazão de vapor igual a
40.3%.

Pode-se também visualizar a aplicação das regras em um gráfico tridimensional, para esse caso específico, onde se
têm dois eixos na horizontal com as entradas e um eixo na vertical com a vazão de vapor, obtém-se o gráfico mostrado
na figura 14.

15
Fig. 14 – Superfície que ilustra a atuação das regras nebulosas.
_______________________________________________________________________________________

O processo correspondente à transformação dos valores obtidos das medições de campo em valores de pertinência é
conhecido por fuzificação ( fuzzyfication, em inglês). Há dois casos, bastante distintos que caracterizam o processo
de fuzificação, isto é:

Entradas objetivas: trata-se do caso apresentado no exemplo anterior, onde os valores de entrada são o resultado
de medições confiáveis, no campo. Nesse caso, basta obter o valor de pertinência correspondente usando as funções
preestabelecidas.

Entradas subjetivas: este é o caso em que não se têm medidas precisas, ou então, não são feitas medidas, como no
caso de perturbações. Os operadores das fábricas costumam usar critérios bastante subjetivos para tratar essas
perturbações. Dependendo da destreza dos operadores, estes costumam obter resultados muito satisfatórios para os
produtos finais. Pode-se, através da lógica nebulosa, usar os mesmos critérios dos operadores, criando-se sistemas
automáticos. Sugere-se a referência [1], para maiores detalhes sobre entradas subjetivas.

4. CONTROLADORES NEBULOSOS
Assim como no controle convencional, os controladores nebulosos podem ser classificados em dois grupos:

- Controle nebuloso direto


- Controle nebuloso realimentado

16
Essas modalidades serão detalhadas a seguir.

4.1 CONTROLE NEBULOSO DIRETO


Esse tipo de controle deve ser aplicado a sistemas com muitas entradas e perturbações não modeladas, envolvendo
grandes valores de atrasos de transporte. Esses sistemas são intratáveis pelos métodos convencionais, ficando, na
maioria das vezes, somente aos cuidados da operação manual de operadores especializados.

Evidentemente, em grande parte dos casos, os problemas de atraso de transporte poderiam ser resolvidos colocando-se
os medidores e atuadores próximos ao processo. Entretanto, em geral, os custos são proibitivos.
Considerando-se que os operadores sejam capazes de operar os sistemas nessas condições, cria-se uma base de regras
baseada em suas experiências e se obtêm resultados muito satisfatórios com a aplicação de controle nebuloso.

Conforme foi mostrado nas seções anteriores, pode-se criar um sistema capaz de determinar os valores das variáveis
de controle, através da lógica nebulosa. Esse sistema de controle pode ser implantado diretamente em um controlador
lógico programável ou sistema digital de controle distribuído, dependendo da conveniência de programação. O
exemplo seguinte ilustra a aplicação industrial de um controle de densidade.

4.2 – CONTROLADOR NEBULOSO REALIMENTADO


Esta opção de controle nebuloso é conveniente para aqueles sistemas com características não-lineares e com grandes
faixas de atuação, porém com atrasos de transporte que se enquadrem dentro da faixa estabelecida por Ziegler-Nichols
para o controlador de Smith. Atrasos maiores que este somente poderão ser resolvidos com o controle direto
apresentado anteriormente.

Há várias propostas de controle nebuloso realimentado na literatura [1, 2], sendo que este assunto continua sendo
objeto de muitas pesquisas. Soluções para sistemas considerados intratáveis têm sido propostas e implementadas com
sucesso, nos mais diversos ramos de engenharia, utilizando-se os controladores nebulosos. Nesta seção, apresenta-se
uma das possíveis soluções, mostrando-se a viabilidade e a simplicidade de sua implementação. Também, nesse caso,
torna-se necessária a utilização da experiência dos operadores. Quando isso não é possível, principalmente para
plantas novas ou processos em desenvolvimento, o recurso da simulação é bastante valioso para auxiliar o processo de
tentativa e erro, na sintonia do controlador.

A proposta apresentada utiliza os valores do erro de controle e a variação do erro de controle como entradas para o
controlador nebuloso. Este é então aplicado como se fosse um controlador PID. Nos casos em que a referência (set
point) seja ajustada pelo operador, a variação do erro pode ser substituída pela variação da grandeza de processo.
Nesses casos, a variação do erro produz sinais com variações muito bruscas dificultando a ação do controlador. A
figura 16 ilustra aplicação do controlador nebuloso utilizando o erro e a variação do erro como entrada.

R
e Y
CONTROLADOR PLANTA
FUZZY
+ de/dt
-

Fig. 16 – Controlador nebuloso aplicado a sistema com realimentação.

17
No exemplo seguinte, apresenta-se a simulação no Matlab do controle de nível de um tanque de seção regular.
Evidentemente, para esse caso não haveria a necessidade de aplicação de controle nebuloso. O exemplo aqui
apresentado tem por finalidade familiarizar o leitor com esta técnica. Nos casos de sistemas não lineares, as não-
linearidades são compensadas com a escolha adequada das funções de pertinência e com o ajuste da base de regras.

5. REFERÊNCIAS
[1] AZEVEDO, H. R. “LÓGICA FUZZY APLICADA AO CONTROLE DE PROCESSOS”, Notas de aula, 2000.

[2] PEDRYCZ, W, e GOMIDE, F., “AN INTRODUCTION TO FUZZY SETS”, The MIT Press, 1998, ISBN 0-2620-
16171-0.

[3] SHAW, I e SIMÕES, M. , “CONTROLE E MODELAGEM FUZZY”, Editora Edgard Blücher Ltda, 1999, ISBN
85-212-0248-2.

[4] ALTROCK, C., “FUZZY LOGIC & NEUROFUZZY APPLICATIONS EXPLAINED”, “Prentice Hall PTR, 1995,
0-13-368465-2.

18

Você também pode gostar