Projetando Controladores de Lógica Fuzzy Eficazes: Guia Passo a Passo
Controladores de lógica fuzzy estão, literalmente, ao nosso redor. De sistemas de freio anti-travamento (ABS) às máquinas de lavar que limpam nossas roupas. Mas eles realmente funcionam? E quais são os benefícios de usá-los?
Figura 1. Usinagem moderna frequentemente depende de lógica fuzzy para controlar aspectos críticos do processo. Imagem cortesia de Michael Schwarzenberger
Lógica de Escada e Lógica Fuzzy
Um bom ponto de partida para aprender sobre controles de lógica fuzzy é determinar se lógica de escada é compatível com lógica fuzzy. Lógica de escada é abordagem baseada em regras comumente usada para programar CLPs (controladores lógicos programáveis) quando lógica sequencial é necessária. Cada degrau em um programa de lógica de escada representa uma equação lógica que é binária ou discreta.
Mantendo em mente que lógica de escada é lida da esquerda para direita, de cima para baixo, então o lado direito extremo de um degrau representa a condição de saída. A condição de saída daquele degrau depende do resultado dos símbolos de lógica de escada à esquerda da saída.
Tome, como exemplo básico, o degrau único mostrado na figura 2. Observe que o A/C (ar condicionado) só está ativo quando o Switch está ativo, e seja HighTemp ou Humid está ativo.
Figura 2. Degrau de lógica de escada para controlar sistema de A/C. Informação cortesia da Wikipedia
Expresso como regra, este degrau tomaria a seguinte forma:
A/C = Switch E (HighTemp OU Humid)
Como lógica de escada pode ser expressa como regras, prontamente se empresta à adoção em controle de lógica fuzzy. Outra maneira de pensar nisso é que o resultado depende das condições SE representadas pelos símbolos de lógica de escada à esquerda enquanto a saída representa o resultado ENTÃO.
SE (Switch E [HighTemp OU Humid]) ENTÃO A/C
Figura 3. Diagrama de bloco representando sistema de lógica fuzzy.
Esta abordagem certamente pode ser implementada usando regras de lógica fuzzy. Em tal caso, entradas crisp seriam temperatura e umidade relativa. Leitura de sensor destes valores seria transformada em entradas fuzzy por um fuzzificador. O motor de inferência conteria, entre outras regras, a mostrada acima. Baseado nas regras do motor de inferência, um conjunto de saída fuzzy seria apresentado ao desfuzzificador. Dali, saídas crisp seriam fornecidas ao sistema de controle.
Em resumo, lógica de escada pode ser implementada usando lógica fuzzy.
Passos Básicos para Projetar um Controlador de Lógica Fuzzy
Sistemas de controle de lógica fuzzy (frequentemente abreviados FLC) são abordagem alternativa para desenvolver e implementar sistemas de controle.
Figura 4. Sistema simples de controle de feedback implementando controle fuzzy. Imagem cortesia de Boffy b
Reconhecer as Premissas Envolvidas
Antes de iniciar o processo de projetar um FLC, existem certas premissas-chave.
- Uma solução existe para o problema de controle.
- Uma solução "bastante boa" é aceitável no lugar de uma "solução ótima".
- Variáveis de entrada, saída e estado podem ser observadas e usadas para controle.
- Um corpo de conhecimento existe na forma de:
- Regras linguísticas, e/ou
- Um conjunto de dados entrada-saída do qual regras podem ser extraídas.
- O FLC deve ser projetado para alcançar faixa aceitável de precisão.
- Estabilidade e optimalidade não são abordadas explicitamente mas estão abertas.
Identificar e Configurar Variáveis para Fuzzificação
O primeiro passo em projetar um FLC é identificar as variáveis de entrada, saída e estado envolvidas. Em seguida, determinar os subconjuntos fuzzy para as variáveis. Por exemplo, entrada de temperatura pode ser dividida em cinco subconjuntos com rótulo linguístico descritivo para cada: {'frio', 'fresco', 'nominal', 'quente', 'quente'}.
Figura 5. Exemplo de uso de funções de pertinência para representar temperatura.
Uma vez que os subconjuntos foram escolhidos para as variáveis, funções de pertinência devem ser configuradas para representar estes subconjuntos. Opções para funções de pertinência incluem triangular, trapezoidal, sigmoidal e Gaussiana. Isto constitui o fuzzificador que converte entradas crisp em valores fuzzy. Note que subconjuntos fuzzy e funções de pertinência associadas também precisam ser configurados para a saída do motor de inferência.
Gerar Regras de Lógica Fuzzy
Converter controlador de lógica de escada tradicional em controlador de lógica fuzzy começa com geração de regras de lógica fuzzy.
Aludido nas premissas, isso pode tomar forma de regras linguísticas que já existem ou podem ser desenvolvidas com ajuda de especialista no assunto. Regras também podem ser geradas dado um conjunto de dados entrada-saída. E, no caso de lógica de escada, as regras de lógica fuzzy podem ser lidas diretamente do diagrama de escada.
O resultado é a base de regras para o sistema fuzzy.
Implementando Motor de Inferência e Desfuzzificador
Existem várias abordagens diferentes para implementar o motor de inferência. Em controles, as duas abordagens mais populares são Mamdani e Sugeno. Ambos tipos de motores de inferência combinam a saída fuzzy da base de regras usando operador OU e subsequentemente desfuzzificam aquela saída para obter valor crisp.
Aplicações de Controladores de Lógica Fuzzy
Controladores de lógica fuzzy encontraram uso extremamente disseminado. Por exemplo, elevadores frequentemente têm controladores de lógica fuzzy que diminuem tempo de espera, minimizam viagens entre andares e reduzem uso de energia. Um benefício adicional de minimizar viagens entre andares é desgaste reduzido em componentes críticos e vida útil mais longa.
Outro exemplo fascinante de sistemas de controle fuzzy envolve câmeras de vídeo digitais e filmadoras. Operadores podem mover ou tremer a câmera enquanto filmam uma tomada consistente, mas controle de lógica fuzzy pode compensar automaticamente.
Em ambiente industrial, lógica fuzzy é frequentemente usada para controlar processos e sistemas industriais. Por exemplo, lógica fuzzy funciona bem com controladores de temperatura e processo, como aqueles usados com tratamento térmico de metais. Tratamentos térmicos típicos envolvem ciclos precisos de rampa e soak para alcançar propriedades metalúrgicas corretas.
Aplicações similares que se beneficiam de FLC incluem cura de borracha ou secagem de solventes em superfícies pintadas. Além disso, todos estes são exemplos de processos de controle que tipicamente utilizam controlador PID (proporcional integral derivativo). Usinagem CNC (controle numérico computadorizado) frequentemente depende de controladores de lógica fuzzy, assim como muitas robóticas autônomas, visão de máquina e sensoriamento remoto.
Figura 6. Diagrama de bloco para controlador PID Fuzzy. Imagem cortesia da Mathworks
Vantagens e Desvantagens do Controle de Lógica Fuzzy
Controle de lógica fuzzy ainda pode funcionar quando confrontado com dados imprecisos bem como não-linearidade no sistema. Também permite experiência e conhecimento humano ser integrados em sistema de controle e é altamente personalizável. Sistemas de controle de lógica fuzzy são geralmente mais baratos para desenvolver comparados a abordagens mais tradicionais, e tendem a ser mais eficientes, robustos e confiáveis.
Especificamente em controles, FLC não requer que modelo e/ou objetivo seja formulado em termos precisos como requerido em abordagem mais tradicional a sistemas de controle. Além disso, controles fuzzy podem ser facilmente mesclados com outros sistemas de controle.
Existem, claro, desvantagens em usar sistemas de controle fuzzy. Enquanto lógica fuzzy é subconjunto de inteligência artificial (IA), não é tipo de machine learning e não pode, portanto, adaptar e aprender. Existem controladores de lógica fuzzy adaptativos, mas seu design e complexidade vão bem além do tipo de controlador fuzzy em discussão.
Além disso, atualizações eventualmente precisarão ser feitas nas regras que o controlador depende, e controladores de lógica fuzzy requerem testes extensivos e validação antes de serem considerados prontos para implementação.
Quando um controlador de lógica fuzzy deve ser usado? São excelente opção para problemas de controle extremamente complexos e difíceis de representar usando modelos e objetivos precisos. Funcionam bem quando dados imprecisos e comportamento não-linear estão envolvidos. Também são boa escolha quando experiência e expertise humana podem ser contribuídas ao sistema. Como você usa lógica fuzzy em seu sistema de controle? Ou só usa controladores PID?
Robô industrial
- Design de Componentes Plásticos Transparentes para Desempenho Ótimo
- Design para Manufaturabilidade: Guia Prático para Engenheiros e Designers
- Por que Posicionamento de Antena Importa: Redesenhando o Ciclo de Vida do PCB Wireless
- Aproveitando a Realidade Virtual para Otimizar o Design de Robôs Industriais
- Documentação Eficaz para Design de Cabos e Chicotes: Boas Práticas e Orientação de Processo
- Selecionando o Controlador de Automação Industrial Correto: Um Guia Completo
- Escolhendo o Controlador Certo: CLP, CAP, SCD ou IPC Explicados
- Dominando a Mitigação de Interferência em PCB: Guia Profissional para Garantir Conformidade EMC
- Domine o Projeto HDI: Dicas de Especialista para Eletrônica de Alta Densidade
- Projetando Living Hinges Robustos em Impressão 3D: Guia Prático