Você está na página 1de 7

XI SIMPEP - Bauru, SP, Brasil, 08 a 10 de novembro de 2004

Implementação de um sistema de controle inteligente utilizando a


lógica fuzzy

Marcelo Bilobrovec (UEPG - CEFET - PR) mbilo@uepg.br


Rui Francisco Martins Marçal (CEFET - PR) marcal@pg.cefetpr.br
João Luis Kovaleski (CEFET - PR) kovaleski@pg.cefetpr.br

Resumo
Considerando a aplicação da lógica fuzzy como elemento importante na automação de
processos, permitindo assim a criação de sistemas especialistas em controles inteligentes, o
presente artigo tem por objetivo a apresentação de um sistema especialista desenvolvido para
modelagem computacional da previsão do comportamento de um motor elétrico em função da
tensão a ele aplicada. As técnicas de Inteligência Artificial, Lógica Fuzzy juntamente com o
ambiente de programação de computadores Borland Delphi Enterprise 7.0 foram utilizadas
como métodos para a implementação do sistema em questão. Os dados da pesquisa foram
obtidos junto ao Laboratório de Informática Aplicada à Agricultura - INFOAGRO, da
Universidade Estadual de Ponta Grossa (UEPG) e foram utilizados dados de teste de
bancada de um motor elétrico, obtidos junto ao laboratório de Engenharia Elétrica - UNESP,
Bauru. A partir dos resultados obtidos, pode-se dizer com segurança que o Controlador
Fuzzy é aplicável a sistemas que ainda não dispõem de uma metodologia adequada ao seu
controle.
Palavras chave: Lógica fuzzy, Aquisição de conhecimento, Controle inteligente.

1. Introdução
Nos últimos anos a utilização de sistemas inteligentes em controle tem despertado
grande interesse. Dentre as várias técnicas as mais utilizadas são as redes neurais e a lógica
fuzzy. As redes neurais apresentam a capacidade de aprendizado e podem aprender através de
dados previamente coletados. Já os sistemas fuzzy utilizam-se de termos lingüísticos e podem
obter o conhecimento a partir de especialistas. Unindo as vantagens de cada uma destas
técnicas pode-se gerar os chamados sistemas inteligentes híbridos. (MEDEIROS et al., 2001).
Com aplicação da lógica fuzzy é possível criar condições de tratar as informações
lógicas seguindo regras naturais de raciocínio, por exemplo: SE Tensão muito Baixa ENTÃO
desligue motor. Isto representa a análise de uma determinada condição que terá uma
determinada conseqüência (Shaw e Simões, 1999). Os fundamentos desta teoria tem origem
nos conjuntos nebulosos (fuzzy sets), que permitem a manipulação de valores não precisos,
expressões verbais abstratas (muito baixo, baixo, longe, muito rápido, etc).
Dado o alto grau de complexida da modelagem baseda na lógica fuzzy é necessário um
grande esforço computacional para que as expressões verbais sejam convertidas em números.
Esta fase é conhecida como fuzzyficação e será a partir dela que uma estratégia de controle
será implementada. As informações oriundas da situação real, captadas por sensores e
dispositivos computadorizados, sofrem essa transformação por meio da definição de um
conjunto de variáveis fuzzy, o qual atribui às informação um domínio de abrangência. Nesta
etapa são utilizados mnemônicos para descrever essas variáveis, por exemplo: variação da
tensão, velocidade, temperatura, etc.
Trata-se, portanto, de um conjunto de informações (conhecimento do especialista),
convertido em regras de produção do tipo se ... então ... que descrevem a dependência entre as
XI SIMPEP - Bauru, SP, Brasil, 08 a 10 de novembro de 2004

variáveis que compõem as expressões de entrada e saída.


Uma vez obtidas as regras de produção e consequentes valores associados a elas o
passo seguinte é a inferência que conforme Shaw e Simões (1999), consiste de dois passos:
- Agregação, responsável pela avaliação da porção se ... de cada regra, através do
operador “AND”, o qual fornece o menor dos dois valores de pertinência (µ) que
indica o grau de adequação de cada regra ao estado atual do sistema;
- Composição, responsável pela ponderação das diferentes conclusões das regras
analisadas, através do operador “OR”, o qual fornece o maior dos resultados.
Após a inferência da ação a ser tomada, será necessário traduzir o valor lingüístico da
expressão verbal para a variável numérica de saída, que pode representar funções como mudar
a velocidade ou acionar uma válvula. Esta etapa é conhecida como “desfuzzyficação”. Um
método que pode ser utilizado para defuzzyficar é o do “centro da área”, que exige um esforço
computacional considerável (NATIONAL INSTRUMENTS, 1997).
Outro método de desfuzzyficação, conhecido como “centro dos mínimos” consiste em
calcular a média ponderada entre os valores mínimos de cada termo da variável lingüística de
saida.
O presente trabalho tem por objetivo a apresentação de um sistema computacional
para modelagem do controle de velocidade de um motor elétrico através da variação da tensão
elétrica a ele aplicada, serão utilizadas técnicas de Inteligência Artificial e Lógica Fuzzy, e
como ferramenta computacional, o ambiente de programação de computadores Borland
Delphi Enterprise 7.0 (BORLAND, 2004). Como ferramenta para a obtenção do resultado foi
utilizado para a etapa de defuzzyficação o método dos centros de mínimos.

2. Lógica Fuzzy
Segundo Feitosa (1992), em 1965, o professor L. A. Zadeh, da Universidade de
Berkeley, USA, sugeriu uma teoria alternativa de conjuntos, teoria essa, muito mais flexível,
para atender suas necessidades. Uma teoria onde, a passagem da pertinência para a não
pertinência fosse feita de uma forma lenta e gradual e não abrupta como na teoria usual de
conjuntos. Dessa maneira, surgiram os Conjuntos Fuzzy, cuja palavra “fuzzy” pode ser
traduzida por nebulosa.
Sistemas que utilizam lógica fuzzy são grandes aliados no desenvolvimento de
sistemas de controle. O uso desta lógica possibilita a incorporação de uma certa imprecisão
em um problema. A lógica fuzzy considera o uso de variáveis reais, do tipo: velocidade,
temperatura, pressão, etc. A estas variáveis reais são associados termos lingüísticos do tipo
alto, baixo, pouco baixo, etc, que são denominados memberships.
Formalmente, um conjunto fuzzy A é definido por uma função de pertinência µA:[0 -
1]. Essa função associa a cada elemento x do conjunto fuzzy A um grau µA(x) de pertinência,
isto representa o grau de compatibilidade entre x e o conceito expresso por A: (SANDRI e
CORREA, 1999)
- µA(x) = 1 indica que x é completamente compatível com A;
- µA(x) = 0 indica que x é completamente incompatível com A;
- µA(x) > 0 e µA(x) < 1 indica que x é parcialmente compatível com A, com grau µA(x).

Desta forma a determinação das regras de controle é feita através de um conjunto de


regras formado pela união de todas as variáveis reais, de forma a representarem todos os
XI SIMPEP - Bauru, SP, Brasil, 08 a 10 de novembro de 2004

estados das grandezas utilizadas no sistema fuzzy.


A Figura 1 exibe os campos de pertinência (memberships: muito baixa, baixa, média,
alta, muito baixa) de uma dada grandeza, no caso temperatura.

Figura 1 – Divisão da Grandeza em função da pertinência


Fonte: programa desenvolvido

Segundo Bittencourt e Osório (2002), a teoria fuzzy tem sido aplicada com sucesso em
diversas áreas, destacando-se o uso em controladores fuzzy de usinas nucleares, refinarias,
processos biológicos e químicos, em produtos como máquina de lavar, câmeras fotográficas,
sistemas de ventilação, na área médica, econômica, ou seja, em qualquer área aonde é
necessário trabalhar com incertezas.
Os autores ainda destacam que o uso crescente de aplicações baseados em fuzzy e as
diversas possibilidades práticas têm despertado grande interesse por parte de pesquisadores e
empresas. Estes sistemas utilizam um conjunto de regras do tipo SE .. ENTÃO, formado pela
união de todos os estados das grandezas utilizadas no sistema. Sua criação segue o seguinte
esquema:
1. As variáveis de entrada sofrem um processo de fuzzificação, aonde as informações
são convertidas em números fuzzy para então ocorrer a formulação e execução de uma
estratégia de controle.
2. Efetua-se então, a inferência sobre o conjunto de regras obtendo os valores dos
termos das variáveis de saída.
3. Uma vez obtidas as variáveis linguísticas de saída pode-se aplicar a defuzzificação,
que consiste em converter os dados nebulosos para valores numéricos precisos.
Existem diversas formas de defuzzificação, como centro de massa, valor máximo,
média dos máximos.
Nesta ferramenta de desenvolvimento de lógica fuzzy, o processo de defuzzificação é
calculado pelo centro dos mínimos.

3. Controlador fuzzy para velocidade de um motor


O sistema utilizado para simular a implementação de um controlador fuzzy
corresponde à análise do comportamento de um motor elétrico, proposto por Cruz (2001).
Este controlador é responsável pela determinação da velocidade do motor em função da
tensão aplicada a ele. Supõe-se que a velocidade do processo seja Ve(p) = 69,56 rad/s, logo a
tensão do processo é de Va(p) = 55,2 V, (dados tabelados, conforme teste realizado em um
motor elétrico na Faculdade de Engenharia da UNESP - Bauru). O objetivo do estudo é
determinar qual o acréscimo de tensão que deverá ser aplicado ao motor para que a velocidade
se eleve até Ve(d) = 105,5330 rad/s.
XI SIMPEP - Bauru, SP, Brasil, 08 a 10 de novembro de 2004

Para auxiliar a compreensão do desenvolvimento da solução do problema, no Erro! A


origem da referência não foi encontrada. são apresentados os significados lingüísticos das
variáveis utilizadas durante a fase de fuzzyficação. Os Erro! A origem da referência não foi
encontrada. e o Erro! A origem da referência não foi encontrada. representam o resultado
da fuzzyficação da Velocidade e Tensão respectivamente. O Erro! A origem da referência
não foi encontrada. apresenta o mapa de regras utilizadas para a determinação dos valores
lingüísticos da solução da fuzzyficação. O Erro! A origem da referência não foi
encontrada. apresenta os significados lingüísticos das variáveis utilizadas para a
defuzzyficação e finalmente o Erro! A origem da referência não foi encontrada. que
apresenta o resultado obtido no experimento através da aplicação do método do centro dos
mínimos.
1. Cálculo dos intervalos numéricos fuzzy (Fuzzyficação).
⎛ 105,53 + 13 ⎞ ⎛ 55,2 + 2 ⎞
I = int⎜ ⎟=9 J = int ⎜ ⎟=2
⎝ 13 ⎠ ⎝ 22 ⎠
2. Cálculo dos graus de pertinência.
13x9 − 105,53 22 x 2 + 20 − 55,2
µ MG (Ve ) = = 0,882 µ MME (Va ) = = 0,4
13 22
3. Cálculo dos graus de pertinência para os outros conjuntos pela complementação.
µ MMA (Ve ) = 1 − 0,882 = 0,118 e µ MP (Va ) = 1 − 0,4 = 0,6
Variável lingüística Significado
MI Mínima
MME Muito menor
MP Muito pequena
+/- P Mais ou menos pequena
PP Pouco pequena
ME Médio
PG Pouco grande
+/- G Mais ou menos grande
MG Muito grande
MMG Muito maior
MX Máxima
Quadro 1 - Legenda da Fuzzyficação

Gráfico 1 - Conjunto Fuzzy (Velocidade)


Fonte: programa desenvolvido
XI SIMPEP - Bauru, SP, Brasil, 08 a 10 de novembro de 2004

Gráfico 2 - Conjunto Fuzzy (Tensão)


Fonte: programa desenvolvido

4. Cálculo do grau de pertinência para as quatro regras.


µR1 = min[µ MG (Ve ), µ MME (Va ] = 0,4
µR2 = min[µ MG (Ve ), µ MP (Va ] = 0,6
µR3 = min[µ MMA (Ve ), µ MME (Va ] = 0,118
µR4 = min[µ MMA (Ve ), µ MP (Va ] = 0,118
Ve(d)
MI MME MP +/-P PP ME PG +/-G MG MMA MX
Va(p)
MI MI MI MME MME MME MME MP MP +/-P PP +/-G
MME MME MME MI MI MI MME MME MME MME MP ME
MP MP MP MME MME MME MME MI MI MME MME ME
+/-P +/-P +/-P +/-P MP MP MP MME MME MI MME PP
PP PP +/-P +/-P +/-P +/-P +/-P MP MP MME MI +/-P
ME ME PP PP PP PP +/-P +/-P +/-P MP MP MP
PG PG PG ME ME ME PP PP PP +/-P +/-P MME
+/-G PG PG PG PG ME ME ME PP PP +/-P MI
MG +/-G +/-G +/-G PG PG PG PG ME ME PP MME
MMA MG MG MG MG +/-G +/-G +/-G PG PG ME MP
MX MMA MMA MMA MG MG MG MG +/-G +/-G PG +/-P
Quadro 2 - Mapa de Regras Fuzzy

5. Recuperação da correção de importância para as quatro regras.


∆1Va = [Ve ( MG ),Va ( MME )] = MME = 24

∆ 2Va = [Ve ( MG ),Va ( MP)] = MME = 24


∆ 3Va = [Ve ( MMA),Va ( MME )] = MP = 48

∆ 4Va = [Ve ( MMA),Va ( MP)] = MME = 24


∆Va Conjuntos Fuzzy
0 MI (MÍNIMA)
24 MME (MUITO MENOR)
48 MP (MUITO PEQUENO)
72 +/-P (+/- PEQUENO)
96 PP (POUCO PEQUENO)
120 ME (MÉDIO)
144 PG (POUCO GRANDE)
168 +/-G (+/- GRANDE)
192 MG (MUITO GRANDE)
XI SIMPEP - Bauru, SP, Brasil, 08 a 10 de novembro de 2004

216 MMA (MUITO MAIOR)


240 MX (MÁXIMA)
Quadro 3 - Legenda da Defuzzyficação

6. Defuzzyficação: Cálculo do valor discreto ∆Va pelo método do centro dos mínimos.
24 x0,4 + 24 x0,6 + 48 x0,118 + 24 x0,118
∆Va = = 26,29
0,4 + 0,6 + 0,118 + 0,118

Gráfico 3 - Defuzzyficação: Acréscimo de Tensão = 26,29 V


Fonte: programa desenvolvido

7. Cálculo do valor desejado do Va.


Como Ve(p) < Ve(d) então Va(d) = Va(p) + ∆Va. Portanto:
Va(d) = 55,2 + 26,29

Va(d) = 81,49 V

TENSÃO (Va) VELOCIDADE (Ve)


42,00 40,7401
46,40 51,0532
50,80 60,7126
55,20 69,5656
59,60 77,5537
64,00 84,6781
68,40 90,9763
72,80 96,5058
77,20 101,3350
81,60 105,5330
86,00 109,1710
90,40 112,3150
Quadro 4 - Teste realizado com motor elétrico em laboratório

4. Considerações finais
Os resultados obtidos para o caso do motor elétrico mostram a viabilidade da
aplicação da lógica fuzzy no controle da velocidade de motores. Isto permite vislumbrar a
possibilidade da criação de controladores de baixo custo, graças à simplicidade de sua
implantação, permitindo, desta forma, uma fácil integração a sistemas já existentes, pois
através da simulação chegou-se ao valor de 81,49 V para uma velocidade de 105,5330 rad/s,
valor este muito próximo ao tabelado (quadro 4) de 81,60 V para a mesma velocidade.
XI SIMPEP - Bauru, SP, Brasil, 08 a 10 de novembro de 2004

O controlador fuzzy é aplicável a sistemas em que ainda não disponham de uma


metodologia adequada ao seu controle, devido, por exemplo, a dificuldade ou inviabilidade de
se obter um modelo matemático que o descreva satisfatoriamente.
Também é possível vislumbrar a aplicação deste trabalho em outros sistemas sobre os
quais o conhecimento ainda não foi totalmente explorado, permitindo a obtenção de leque
extenso de possibilidades de aplicação.

Referências
BITTENCOURT, J. R.; OSÓRIO (2002) - F. FuzzyF – Fuzzy Logic Framework : Uma Solução Software Livre
para o Desenvolvimento, Ensino e Pesquisa de Aplicações de Inteligência Artificial Multiplataforma. Disponível
em <http://www.inf.unisinos.br/~jrbitt/fuzzyf/doc/fuzzyf_wsl_2002.pdf>
CRUZ, L.F. (2001) - Modelo fuzzy para obtenção do tempo de aeração em silos verticais visando reduzir o
consumo de energia elétrica. Botucatu. 102p. Tese (Doutorado em Agronomia/Energia na Agricultura) –
Faculdade de Ciências Agronômicas. Universidade Estadual Paulista.
FEITOSA, H . A. (1992) - Princípios fundamentais da teoria fuzzy. Rio Claro. 89p. Dissertação (Mestrado em
Matemática/Fundamentos da Matemática) – Instituto de Geociências e Ciências Exatas, Universidade Estadual
Paulista.
Fuzzy Logic for G Toolkit, Reference Manual. (1997) - National Instruments.
MEDEIROS, A. V.; A. L. MAITELLI; GABRIEL FILHO, O (2001) - Otimização das Funções de Pertinência
de um Controlador Nebulosos utilizando Algoritmos Genéticos. In: V Simpósio Brasileiro de Automação
Inteligente, Canela, RS.
SANDRI, S.; CORREA, C. (1999) - Lógica Nebulosa. V Escola de Redes Neurais, Conselho Nacional de Redes
Neurais. pp. c073-c090, 19 de julho. ITA, São José dos Campos – SP
SHAW, I. S.; SIMÕES M.G. (1999) - Controle e Modelagem Fuzzy. FAPESP, Editora Edgard Blücher LTDA,
São Paulo.
ZADEH, L. A. (1965) - “Fuzzy Sets”, Information and Control, 8: 338-353.