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
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
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.
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).
9 13 13 53 , 105 int ⎟= ⎠ ⎞ ⎜ ⎝ ⎛ + = I 2 22 2 2 , 55 int ⎟= ⎠ ⎞ ⎜ ⎝ ⎛ + = J
2. Cálculo dos graus de pertinência.
882 , 0 13 53 , 105 9 13 ) (Ve = x − = MG µ 0,4 22 2 , 55 20 2 22 ) (Va = x + − = MME µ
3. Cálculo dos graus de pertinência para os outros conjuntos pela complementação. 118 , 0 882 , 0 1 ) ( e = − = MMA V µ 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
Gráfico 2 - Conjunto Fuzzy (Tensão) Fonte: programa desenvolvido
4. Cálculo do grau de pertinência para as quatro regras.
[
( ), (]
0,4 min 1 = MG Ve MME Va = R µ µ µ[
( ), (]
0,6 min 2 = MG Ve MP Va = R µ µ µ[
( ), (]
0,118 min 3 = MMA Ve MME Va = R µ µ µ[
( ), (]
0,118 min 4 = MMA Ve MP Va = R µ µ µ Ve(d) Va(p) MI MME MP +/-P PP ME PG +/-G MG MMA MXMI 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.
[
( ), ( )]
24 1 = = = ∆Va Ve MG Va MME MME[
( ), ( )]
24 2 = = = ∆ Va Ve MG Va MP MME[
( ), ( )]
48 3 = = = ∆ Va Ve MMA Va MME MP[
( ), ( )]
24 4 = = = ∆ Va Ve MMA Va MP MME ∆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)
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.
29 , 26 118 , 0 118 , 0 6 , 0 4 , 0 118 , 0 24 118 , 0 48 6 , 0 24 4 , 0 24 = + + + + + + = ∆Va x x x x
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.
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.