Hardware Reconfigurável para Controladores Nebulosos. - Sandres, Paulo Renato de Souza e Silva (2013)
Controle de processos é uma das muitas aplicações que aproveitam as vantagens do uso da teoria de conjuntos nebulosos. Nesse tipo de aplicação, o controlador é, geralmente, embutido no dispositivo controlado. Esta dissertação propõe uma arquitetura reconfigurável eficiente para controladores nebulosos embutidos. A arquitetura é parametrizável, de tal forma, que permite a configuração do controlador para que este possa ser usado na implementação de qualquer aplicação ou modelo nebuloso. Os parâmetros de configuração são: o número de variáveis de entrada (N); o número de variáveis de saída (M); o número de termos linguísticos (Q); e o número total de regras (P). A arquitetura proposta proporciona também a configuração das características que definem as regras e as funções de pertinência de cada variável de entrada e saída, permitindo a escalabilidade do projeto. A composição das premissas e consequentes das regras são configuráveis, de acordo com o controlador nebuloso objetivado. A arquitetura suporta funções de pertinência triangulares, mas pode ser estendida para aceitar outras formas, do tipo trapezoidal, sem grandes modificações. As características das funções de pertinência de cada termo linguístico, podem ser ajustadas de acordo com a definição do controlador nebuloso, permitindo o uso de triângulos. Virtualmente, não há limites máximos do número de regras ou de termos linguísticos empregados no modelo, bem como no número de variáveis de entrada e de saída. A macro-arquitetura do controlador proposto é composta por N blocos de fuzzificação, 1 bloco de inferência, M blocos de defuzzificação e N blocos referentes às características das funções de pertinência. Este último opera apenas durante a configuração do controlador. A função dos blocos de fuzzificação das variáveis de entrada é executada em paralelo, assim como, os cálculos realizados pelos blocos de defuzzificação das variáveis de saída. A paralelização das unidades de fuzzificação e defuzzificação permite acelerar o processo de obtenção da resposta final do controlador. Foram realizadas várias simulações para verificar o correto funcionamento do controlador, especificado em VHDL. Em um segundo momento, para avaliar o desempenho da arquitetura, o controlador foi sintetizado em FPGA e testado em seis aplicações para verificar sua reconfigurabilidade e escalabilidade. Os resultados obtidos foram comparados com os do MATLAB em cada aplicação implementada, para comprovar precisão do controlador.