Universidade Federal do Rio Grande do Norte Centro de Tecnologia Programa de Po´s-Graduac¸a˜o em Engenharia Ele´trica Te´cnicas Inteligentes Hı´bridas para o Controle de Sistemas Na˜o Lineares Marconi Caˆmara Rodrigues Orientador: Prof. Dr. Fa´bio Meneghetti U. Arau´jo Natal, RN, fevereiro de 2006 Universidade Federal do Rio Grande do Norte Centro de Tecnologia Programa de Po´s-Graduac¸a˜o em Engenharia Ele´trica Te´cnicas Inteligentes Hı´bridas para o Controle de Sistemas Na˜o Lineares Marconi Caˆmara Rodrigues1 Orientador: Prof. Dr. Fa´bio Meneghetti U. Arau´jo Dissertac¸a˜o de Mestrado apresentada ao Programa de Po´s-Graduac¸a˜o em Engenharia Ele´trica da UFRN (a´rea de concentrac¸a˜o: Automac¸a˜o e Sistemas) como parte dos re- quisitos para obtenc¸a˜o do t´ıtulo de Mestre em Cieˆncias de Engenharia Ele´trica. Natal, RN, fevereiro de 2006 1Beneficia´rio de aux´ılio financeiro da CAPES-Brasil. Divisa˜o de Servic¸os Te´cnicos Catalogac¸a˜o da publicac¸a˜o na fonte. UFRN / Biblioteca Central Zila Mamede Rodrigues, Marconi Caˆmara. Te´cnicas inteligentes h´ıbridas para o controle de sistemas na˜o-lineares / Marconi Caˆmara Rodrigues - Natal, RN, 2006. 62 f. Orientador: Fa´bio Meneghetti U. Arau´jo. Dissertac¸a˜o (Mestrado) - Universidade Federal do Rio Grande do Norte. Centro de Tecnologia. Programa de Po´s-Graduac¸a˜o em Engenharia Ele´trica. 1. Rede neural - Dissertac¸a˜o. 2. Te´cnicas h´ıbridas - Dissertac¸a˜o. 3. Controladores inteligentes – Dissertac¸a˜o. 4. NEFCON – Dissertac¸a˜o 5. ANFIS – Dissertac¸a˜o. I. Arau´jo, Fa´bio Meneghetti U. II. T´ıtulo. RN/UF/BCZM CDU 004.032.26(043.3) Te´cnicas Inteligentes Hı´bridas para o Controle de Sistemas Na˜o Lineares Marconi Caˆmara Rodrigues Dissertac¸a˜o de Mestrado aprovada em 17 de fevereiro de 2006 pela banca exami- nadora composta pelos seguintes membros: Prof. Dr. Fa´bio Meneghetti Ugulino de Arau´jo (orientador) DCA/UFRN Dr. Eng. Hilton Cleber Pietrobom . . . . . . . . . . . . . . . . . . . . . . . . . . . . IAE/CTA Prof. Dr. Andre´ Laurindo Maitelli . . . . . . . . . . . . . . . . . . . . . . . . . DCA/UFRN Prof. Dr. Luiz Affonso H. Guedes de Oliveira . . . . . . . . . . . . . . DCA/UFRN Agradecimentos Aos meus pais, pela confianc¸a e aux´ılio nas horas mais dif´ıceis, ajudando com apoio incondicional, muitas vezes sem conhecer o que estava sendo desenvolvido. Ao meu irma˜o Marcelo Caˆmara Rodrigues, por ser aquele em quem pude contar para um desenvolvimento acadeˆmico e, principalmente, pessoal. Pessoa esta, que poderei contar hoje e sempre. Aos amigos mais pro´ximos com caracter´ısticas variadas, bom humor e dedicac¸a˜o, que todos os dias me mostravam o verdadeiro significado da palavra amizade. A` Miriam Valenc¸a Massud, que ale´m de me aturar como amigo, na˜o negava aux´ılio nos momentos de dificuldade, ale´m de participar e proporcionar muitos momentos de felicidade. Ao grande amigo Marcelo Borges Nogueira, por sua capacidade de sintetizar as situac¸o˜es mais dif´ıceis em ac¸o˜es simplificadas, criando assim, uma nota´vel facilidade de conviveˆncia. Ao meu orientador Fa´bio Meneghetti e ao professor Andre´ Laurindo Maitelli, que me guiaram com sucesso na produc¸a˜o e elaborac¸a˜o deste trabalho. A` CAPES, pelo apoio financeiro. Finalmente, a todos que de forma direta ou indireta me auxiliaram na confecc¸a˜o deste trabalho. Obrigado!!! Resumo Neste trabalho e´ mostrado tanto o desenvolvimento quanto as caracter´ısticas de algumas das principais te´cnicas utilizadas para o controle inteligente de sistemas. Partindo de um controlador fuzzy foi poss´ıvel aplicar te´cnicas de aprendizagem, similares a`s utilizadas pelas Redes Neurais Artificiais (RNA’s), e evoluir para os modelos neuro-fuzzy ANFIS e NEFCON. Estes modelos neuro-fuzzy foram aplica- dos a uma planta real do tipo ball and beam e tiveram tanto suas adaptac¸o˜es quanto seus resultados comentados. Para cada controlador desenvolvido sa˜o especificadas as varia´veis de entrada, os paraˆmetros utilizados para a adaptac¸a˜o das varia´veis e os algoritmos aplicados em cada um deles. Ja´ os resultados esta˜o voltados para a obtenc¸a˜o de um comparativo entre a fase inicial e a final da evoluc¸a˜o dos contro- ladores neuro-fuzzy, assim como, a aplicabilidade de cada um deles de acordo com suas caracter´ısticas intr´ınsecas. Palavras-chave: Controle, Te´cnicas Hı´bridas, Sistemas Fuzzy, Redes Neurais Artificiais, NEFCON, ANFIS. Abstract A neuro-fuzzy system consists of two or more control techniques in only one structure. The main characteristic of this structure is joining one or more good aspects from each technique to make a hybrid controller. This controller can be based in Fuzzy systems, artificial Neural Networks, Genetics Algorithms or rein- forced learning techniques. Neuro-fuzzy systems have been shown as a promising technique in industrial applications. Two models of neuro-fuzzy systems were de- veloped, an ANFIS model and a NEFCON model. Both models were applied to control a ball and beam system and they had their results and needed changes com- mented. Choose of inputs to controllers and the algorithms used to learning, among other information about the hybrid systems, were commented. The results show the changes in structure after learning and the conditions to use each one controller based on theirs characteristics. Keywords: Control, Hybrid Systems, Fuzzy Systems, Artificial Neural Net- works, NEFCON, ANFIS. Suma´rio Suma´rio i Lista de Figuras iii Lista de Tabelas vi Lista de Simbolos vii Lista de Abreviaturas viii 1 Introduc¸a˜o 1 2 Controladores Inteligentes 4 2.1 Controladores fuzzy . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2.1.1 Modelos Cla´ssicos . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.1.2 Modelos por Interpolac¸a˜o . . . . . . . . . . . . . . . . . . . . 8 2.2 Redes Neurais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.2.1 Back-propagation . . . . . . . . . . . . . . . . . . . . . . . . . 13 3 Controladores Inteligentes Hı´bridos 16 3.1 ANFIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 3.1.1 Back-propagation no Modelo ANFIS . . . . . . . . . . . . . . 18 3.1.2 η-Adaptativo . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 3.2 NEFCON . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 3.2.1 Gerac¸a˜o e Otimizac¸a˜o de Regras . . . . . . . . . . . . . . . . . 24 i 3.2.2 Otimizac¸a˜o de Func¸o˜es de Pertineˆncia . . . . . . . . . . . . . 26 4 Resultados Experimentais 29 4.1 O Sistema Ball and Beam . . . . . . . . . . . . . . . . . . . . . . . . 29 4.2 Resultados com o ANFIS . . . . . . . . . . . . . . . . . . . . . . . . . 31 4.3 Resultados com o NEFCON . . . . . . . . . . . . . . . . . . . . . . . 39 5 Concluso˜es 58 ii Lista de Figuras 2.1 Representac¸a˜o de um conjunto nebuloso A. . . . . . . . . . . . . . . . 5 2.2 Formatos mais comuns para as func¸o˜es de pertineˆncia. . . . . . . . . 5 2.3 Estrutura de um controlador nebuloso. . . . . . . . . . . . . . . . . . 6 2.4 Modelo Mamdani com duas entradas x e y. . . . . . . . . . . . . . . . 8 2.5 Alguns me´todos de defuzzyficac¸a˜o. . . . . . . . . . . . . . . . . . . . . 8 2.6 Modelo Sugeno de infereˆncia. . . . . . . . . . . . . . . . . . . . . . . 10 2.7 Func¸o˜es de pertineˆncia monotoˆnicas. . . . . . . . . . . . . . . . . . . 10 2.8 Modelo Tsukamoto de infereˆncia. . . . . . . . . . . . . . . . . . . . . 11 2.9 Neuroˆnio real e a representac¸a˜o do neuroˆnio artificial. . . . . . . . . . 12 2.10 Distibruic¸a˜o das camadas de uma RNA. . . . . . . . . . . . . . . . . 12 2.11 Representac¸a˜o simplificada de mı´nimo local. . . . . . . . . . . . . . . 13 2.12 I´ndices associados a um neuroˆnio da k-e´sima camada. . . . . . . . . . 14 3.1 Representac¸a˜o do ANFIS com duas entradas x e y, e uma sa´ıda z. . . 17 3.2 Representac¸a˜o do NEFCON com duas entradas x e y, e uma sa´ıda z. 22 3.3 Modelo de otimizac¸a˜o e criac¸a˜o de regras pelo modelo NEFCON adap- tado. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 3.4 Otimizac¸a˜o das func¸o˜es de pertineˆncia pelo modelo NEFCON adaptado. 27 4.1 Localizac¸a˜o dos sensores no sistema ball and beam. . . . . . . . . . . . 30 4.2 Fluxograma ilustrando as malhas de controle do ball and beam. . . . . 30 4.3 Estado inicial das func¸o˜es de pertineˆncia. . . . . . . . . . . . . . . . . 32 4.4 Fluxograma ilustrando as malhas no aprendizado do modelo ANFIS. 33 4.5 Pontos de treinamento obtidos para o ANFIS. . . . . . . . . . . . . . 33 iii 4.6 Evoluc¸a˜o do coeficiente de aprendizagem η e do erro quadra´tico du- rante a aprendizagem. . . . . . . . . . . . . . . . . . . . . . . . . . . 34 4.7 Valores obtidos pelo controlador em relac¸a˜o aos valores de aprendizado. 35 4.8 Func¸o˜es de pertineˆncia apo´s a etapa de aprendizado. . . . . . . . . . 36 4.9 Controlador neuro-fuzzy de modelo ANFIS treinado e aplicado ao ball and beam. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 4.10 Aˆngulos de referencia fornecidos pelos controladores PID e neuro-fuzzy. 38 4.11 Variac¸a˜o da posic¸a˜o da bola de refereˆncia em degraus simulados. . . . 39 4.12 Aˆngulos de referencia fornecidos pelos controladores PID e neuro- fuzzy quando degraus sa˜o aplicados. . . . . . . . . . . . . . . . . . . . 40 4.13 Estado inicial das func¸o˜es de pertineˆncia de entrada e de sa´ıda. . . . . 42 4.14 Etapa de criac¸a˜o de regras do algoritmo NEFCON em tempo real. . . 43 4.15 Aˆngulo de refereˆncia fornecido pelo controlador durante a etapa de criac¸a˜o de regras. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 4.16 Etapas de criac¸a˜o de regras ate´ 35 segundos quando a otimizac¸a˜o de func¸o˜es de pertineˆncia do controlador comec¸a a atuar. . . . . . . . . . 46 4.17 Modificac¸a˜o das func¸o˜es de pertineˆncia com a finalidade do ajuste fino do controlador. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 4.18 Sa´ıda obtida apo´s o treinamento do controlador. . . . . . . . . . . . . 48 4.19 Modificac¸a˜o das func¸o˜es de pertineˆncia com a finalidade de ajuste fino do controlador. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 4.20 Comportamento da planta para nova sequ¨eˆncia de refereˆncias. . . . . 51 4.21 Aˆngulos de refereˆncia fornecidos pelo controlador para nova sequ¨eˆncia de refereˆncias. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 4.22 Func¸o˜es de pertineˆncia obtidas apo´s o treinamento utilizando a trave de refereˆncia. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 4.23 Comportamento da planta para nova sequ¨eˆncia de refereˆncias. . . . . 54 4.24 Aˆngulos de refereˆncia fornecidos pelo controlador utilizando a trave de refereˆncia. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 iv 4.25 Comportamento da planta para os controladores projetados e refe- reˆncia em forma de seno´ide. . . . . . . . . . . . . . . . . . . . . . . . 56 4.26 Comportamento da planta para os controladores projetados e refe- reˆncia em forma de degrau-seno´ide. . . . . . . . . . . . . . . . . . . . 57 v Lista de Tabelas 2.1 As t-normas e t-conormas mais utilizadas. . . . . . . . . . . . . . . . 6 3.1 Co´digo do algoritmo η-adaptativo. . . . . . . . . . . . . . . . . . . . . 21 4.1 Regras inicias para o controlador neuro-fuzzy . . . . . . . . . . . . . . 41 4.2 Regras otimizadas encontradas na fase de criac¸a˜o de regras para o controlador neuro-fuzzy . . . . . . . . . . . . . . . . . . . . . . . . . . 45 4.3 Regras encontradas apo´s 35 segundos de criac¸a˜o de regras . . . . . . . 45 4.4 Regras encontradas apo´s 35 segundos de criac¸a˜o de regras . . . . . . . 49 4.5 Regras obtidas apo´s o treinamento utilizando a trave de refereˆncia . . 49 vi Lista de S´ımbolos µA(x) = Func¸a˜o que indica a pertineˆncia de x no conjunto fuzzy A.  = Operador t-norma ⊥ = Operador t-conorma δk,i = Sinal de erro do neuroˆnio i da camada k K = U´ltima camada da rede neural Xk,i = Sa´ıda do neuroˆnio i da camada k η = Coeficiente de aprendizagem L = Pontos de treinamento ∆α = Variac¸a˜o para cada paraˆmetro ajusta´vel wi = Normalizac¸a˜o da varia´vel wi bell(x, a, b, c) = 1 1+|x−c a |2b = Func¸a˜o em formato de sino ηotm = Sa´ıda o´tima do controlador [Lminx , L max x ] = Intervalo de atuac¸a˜o para a entrada x sgn(tr) = Sinal de tr a, b, c = Ve´rtices das func¸o˜es de pertineˆncia triangulares p, q, r, s = Pesos do polinoˆmio Sugeno de primeira ordem dls = Valor desejado para a sa´ıda Elp = Erro pontual vii Lista de Abreviaturas RNA − Redes Neurais Artificiais ANFIS − Adaptive-Network-Based Fuzzy Inference System NEFCON − Neuro-Fuzzy Controller PID − Proporcional-Integrativo-Derivativo viii Cap´ıtulo 1 Introduc¸a˜o Controladores cujas te´cnicas ja´ sa˜o bem estabelecidas, como e´ o caso dos PID’s e dos controladores baseados em realimentac¸a˜o de estados, possuem uma simples im- plementac¸a˜o e um baixo custo computacional. Pore´m, o ajuste dos seus paraˆmetros pode tomar um tempo considera´vel e seu desempenho costuma ser limitado. Algu- mas te´cnicas de ajuste automa´tico para os paraˆmetros dos controladores PID foram desenvolvidas (J. Oliveira, 1994; M. Berto et alii, 2004; L. Coelho & A. Coelho, 1999). Essas te´cnicas, ale´m de elevar o custo computacional, na˜o tornam os contro- ladores PID bem capacitados a resolver problemas como, por exemplo, o controle de sistemas na˜o-lineares ou a manutenc¸a˜o do desempenho mesmo na presenc¸a de incertezas ou variac¸o˜es parame´tricas. No aˆmbito da necessidade de te´cnicas com maior abrangeˆncia na a´rea de controle, surgiram as te´cnicas inteligentes, como: Redes Neurais Artificiais, Sistemas fuzzy ou Nebulosos, Algoritmos Gene´ticos e algumas outras te´cnicas baseadas em aprendiza- gem por reforc¸o. Estas te´cnicas sa˜o fundamentadas em teorias evolucionistas, em teorias de como as estruturas neurais assimilam o conhecimento ou em uma lo´gica simples, formada por pertineˆncias e regras. Algumas destas te´cnicas sa˜o utilizadas apenas para otimizac¸a˜o, ja´ outras podem ser utilizadas para o controle de sistemas. Os sistemas fuzzy e as Redes Neurais Artificiais (RNA’s) se mostram como fer- ramentas de grande utilidade no controle de sistemas na˜o-lineares, com ou sem 1 modelos matema´ticos. Estas duas te´cnicas sera˜o o foco principal deste trabalho ja´ que foi a partir de suas estruturas que se desenvolveram os controladores h´ıbridos aqui apresentados. As RNA’s teˆm como objetivo tentar reproduzir a capacidade de aprender e ge- neralizar o conhecimento da estrutura cerebral dos seres vivos. Baseando-se em estruturas simples conhecidas como neuroˆnios artificiais, os dados se propagam de neuroˆnio em neuroˆnio atrave´s de sinapses, cujos pesos podem ser ajustados no decor- rer do seu aprendizado (S. Haykin, 2001). A teoria dos conjuntos fuzzy, que utiliza incertezas na˜o probabil´ısticas, foi in- troduzida por Lotfi Zadeh (L. A. Zadeh, 1965) e marcou o in´ıcio de uma se´rie de modelos onde se destacam: Mamdani (E. Mamdani & S. Assilan, 1975), Sugeno (M. Sugeno & G. Kang, 1988; T. Takagi & M. Sugeno, 1985) e Tsukamoto (Y. Tsukamoto, 1979). Cerca de trinta anos apo´s a introduc¸a˜o da teoria dos conjuntos fuzzy, o pesquisador Jyn-Shing Roger Jang publicou um artigo no qual os paraˆmetros fuzzy sa˜o calculados atrave´s da te´cnica de retro-propagac¸a˜o do erro (Back-propagation), vastamente uti- lizada para o ajuste dos pesos sina´pticos nas RNA’s (J. Jang & Chuen-Tsai S., 1995). Esta te´cnica de associar sistema fuzzy com redes neurais artificiais ficou conhecida como neuro-fuzzy e o modelo implementado por Jang foi chamado de Adaptive- Network-Based Fuzzy Inference System, ou apenas, ANFIS. Outros modelos neuro- fuzzy tambe´m se desenvolveram, e, dentre eles, o modelo NEFCON (Neuro-Fuzzy Controller) se destacou por ter caracter´ısticas de fa´cil implementac¸a˜o em tempo real. Apesar do elevado custo computacional, o desenvolvimento destas te´cnicas foi poss´ıvel grac¸as ao crescimento tecnolo´gico dos u´ltimos anos e a` necessidade da indu´stria em produzir cada vez mais equipamentos automa´ticos e que minimizem a interfereˆncia humana. Atualmente, podem ser encontrados no mercado desde eletrodome´sticos ate´ sis- temas de suspensa˜o de carros de u´ltima gerac¸a˜o que utilizam tecnologias muito avanc¸adas para seu controle (A. El Hajjaji & S. Bentalba, 2003; E. Purwanto et alii, 2001; H. Hong & L. Jian-Hua, 2003; T. Amaral & M. Criso´stomo, 2001). RNA’s 2 podem ser usadas em servidores de e-mail para identificar mensagens eletroˆnicas indeseja´veis ou otimizar o envio de e-mails evitando congestionamento nas redes (J. Goodman et alii, 2005). Para evitar poss´ıveis erros, pode-se utilizar diferentes con- troladores operando ao mesmo tempo, coordenados ou na˜o por um sistema fuzzy. Quando e´ identificada a falha em um sistema, outro assume seu posto imediatamente evitando que o problema se agrave. Uma alternativa para evitar o chaveamento en- tre controladores e´ o uso de te´cnicas h´ıbridas que possuam caracter´ısticas de va´rios tipos de controladores distintos de forma que, as caracter´ısticas de um controlador supram as necessidades dos outros. A proposta dos controladores neuro-fuzzy baseia-se no que foi dito ate´ o mo- mento. Esses controladores utilizam como estrutura ba´sica um sistema fuzzy, com fa´cil identificac¸a˜o de ac¸o˜es e que tem careˆncia na fase de ajuste de seus paraˆmetros, e RNA’s que apresentam uma fase de aprendizado e em contrapartida, na˜o permitem o fa´cil acesso aos dados codificados em sua estrutura. E´ baseado na potencial aplicabilidade dos controladores inteligentes h´ıbridos AN- FIS e NEFCON que este trabalho foi desenvolvido, mostrando caracter´ısticas de implementac¸a˜o e de uso, caracter´ısticas intr´ınsecas de cada modelo, assim como vantagens e desvantagens. O pro´ximo cap´ıtulo deste trabalho e´ referente aos controladores inteligentes fun- damentados nos sistemas fuzzy e nas RNA’s, como ocorre o fluxo de dados, principais caracter´ısticas e principais modelos. Em seguida, no cap´ıtulo 3, verificam-se as abor- dagens de implementac¸a˜o neuro-fuzzy propostas pelos modelos ANFIS e NEFCON. No cap´ıtulo 4 e´ apresentada a estrutura de controle empregada para a obtenc¸a˜o dos resultados da aplicac¸a˜o, em tempo real, das te´cnicas h´ıbridas sob a planta f´ısica ball and beam, assim como as comparac¸o˜es dos resultados obtidos. No u´ltimo cap´ı- tulo, cap´ıtulo 5, encontram-se as concluso˜es referentes a`s te´cnicas apresentadas e os poss´ıveis trabalhos futuros. 3 Cap´ıtulo 2 Controladores Inteligentes 2.1 Controladores fuzzy Em conjuntos convencionais um elemento x ou pertence a um conjunto A ou na˜o pertence a este conjunto, na˜o existindo um estado intermedia´rio em que o valor de x esta´ parcialmente presente no conjunto A. Nos controladores fuzzy, as func¸o˜es de pertineˆncia sa˜o responsa´veis por informar com que intensidade o elemento x e´ compat´ıvel com um determinado conjunto A. A partir desta caracter´ıstica, um elemento pode pertencer parcialmente a determinado conjunto com uma intensidade descrita pela func¸a˜o de pertineˆncia. Os controladores fuzzy utilizam um conjunto de regras do tipo SE ENTA˜O que definem ac¸o˜es em func¸a˜o de diversas faixas de valores que as varia´veis de estado do problema podem assumir. Tais controladores baseiam-se na teoria dos conjuntos nebulosos, desenvolvida por Zadeh (L. A. Zadeh, 1965). Tal teoria estabelece que, um conjunto nebuloso A, do universo de discurso Ω, e´ definido por uma func¸a˜o de pertineˆncia µA : Ω → [0, 1]. Essa func¸a˜o associa a cada elemento de x de Ω, o grau de pertineˆncia µA(x). Desta forma, a func¸a˜o de pertineˆncia µA(x) indica o grau de compatibilidade entre x e o conceito expresso por A: • Se µA(x) = 1, enta˜o x e´ completamente compat´ıvel com A; • Se µA(x) = 0, enta˜o x e´ completamente incompat´ıvel com A; 4 • Se 0 < µA(x) < 1, enta˜o x e´ parcialmente compat´ıvel com A, com grau µA(x). Para ilustrar tal conceito observe a figura 2.1, na qual a pertineˆncia de x no conjunto nebuloso A pode ser descrita pela func¸a˜o expressa em (2.1). µA(x) = ⎧⎪⎪⎪⎪⎪⎪⎪⎪⎨ ⎪⎪⎪⎪⎪⎪⎪⎪⎩ x− 4, se 4 <= x <= 5; 1, se 5 < x <= 7; 8− x, se 7 < x <= 8; 0, caso contra´rio. (2.1) Figura 2.1: Representac¸a˜o de um conjunto nebuloso A. Vale salientar que as func¸o˜es de pertineˆncia podem assumir va´rias formas, ficando a cargo do projetista a escolha da forma mais conveniente para sua aplicac¸a˜o (figura 2.2). Figura 2.2: Formatos mais comuns para as func¸o˜es de pertineˆncia. Assim como ocorre com os conjuntos cla´ssicos, algumas operac¸o˜es podem ser realizadas sobre os conjuntos nebulosos. A intersecc¸a˜o e´ implementada por um 5 Tabela 2.1: As t-normas e t-conormas mais utilizadas. t-norma t-conorma nome min(a, b) max(a, b) Zadeh a · b a + b− ab Probabil´ıstica max(a + b− 1, 0) min(a + b, 1) Lukasiewicz conjunto de operadores denominados de t-normas (), e a unia˜o e´ implementado por outro conjunto denominados de t-conormas (⊥) ou s-normas. A tabela 2.1 indica as t-normas e t-conormas mais utilizadas. Segundo S. Sandri & C. Correa (1999), apesar das muitas variac¸o˜es propostas na literatura, a representac¸a˜o da estrutura ba´sica de um controlador fuzzy proposta por C. C. Lee (1990) (figura 2.3) e´ um modelo geral e suficiente para identificac¸a˜o dos mo´dulos que compo˜em tal controlador, fornecendo, assim, uma ide´ia do fluxo das informac¸o˜es dentro do mesmo. Figura 2.3: Estrutura de um controlador nebuloso. Acompanhando o fluxo da informac¸a˜o em um controlador fuzzy, desde a entrada ate´ a sa´ıda, podem-se constatar treˆs etapas ba´sicas: a fuzzyficac¸a˜o, a infereˆncia e a defuzzyficac¸a˜o. Na etapa de fuzzyficac¸a˜o, empregando-se conjuntos de func¸o˜es de pertineˆncia, convertem-se as varia´veis de entrada, oriundas do meio externo, em varia´veis fuzzy, expressas pela pertineˆncia em cada conjunto fuzzy. As varia´veis fuzzy sa˜o submetidas a um processo de infereˆncia com base em regras do tipo SE − 6 ENTA˜O, gerando as sa´ıdas fuzzy. Na etapa de defuzzyficac¸a˜o as sa´ıdas fuzzy, que na˜o teˆm qualquer significado f´ısico no meio externo, sa˜o convertidas em varia´veis de sa´ıda com algum significado f´ısico. Os modelos de infereˆncia fuzzy sa˜o identificados pela forma com que e´ implemen- tada a etapa de infereˆncia. Estes modelos podem ser classificados como: cla´ssicos ou por interpolac¸a˜o. 2.1.1 Modelos Cla´ssicos Nos modelos cla´ssicos, a conclusa˜o de cada regra especifica um termo nebuloso dentre um conjunto fixo de termos. Estes termos sera˜o chamados de func¸o˜es de per- tineˆncia de sa´ıda e estara˜o distribu´ıdos dentro do intervalo de sa´ıda do controlador. A combinac¸a˜o das func¸o˜es de pertineˆncia de sa´ıda especificadas pelas regras ativas formara´ a sa´ıda fuzzy do controlador que, por sua vez, pode ser convertida em sinal de controle ao aplicar-se uma das te´cnicas de defuzzyficac¸a˜o. O modelo cla´ssico mais comum e´ o proposto por Mamdani. Modelo de Mamdani O modelo de Mamdani utiliza o modelo cla´ssico do processo de infereˆncia fuzzy. Considere um sistema com duas entradas fuzzy x e y, e com uma sa´ıda fuzzy z. As duas entradas x e y ira˜o passar por um conjunto de regras do tipo: SE x e´ A1 com µx,A1 E y e´ B1 com µy,B1 ENTA˜O z e´ C1 com µz,C1 = (µx,A1 , µy,B1) SE x e´ A2 com µx,A2 E y e´ B2 com µy,B2 ENTA˜O z e´ C2 com µz,C2 = (µx,A2 , µy,B2); Em que A1, A2, B1, B2, C1 e C2 sa˜o conjuntos nebulosos. Pode-se obter uma sa´ıda fuzzy aplicando o operador t-conorma, z = ⊥(µz,C1 , µz,C2); A figura 2.4 ilustra este exemplo. 7 Figura 2.4: Modelo Mamdani com duas entradas x e y. Para o modelo de Mamdani, faz-se necessa´rio o uso de um me´todo de defuzzy- ficac¸a˜o. Alguns dos principais me´todos de defuzzyficac¸a˜o esta˜o indicadas na figura 2.5. Figura 2.5: Alguns me´todos de defuzzyficac¸a˜o. 2.1.2 Modelos por Interpolac¸a˜o Nos modelos por interpolac¸a˜o a conclusa˜o de cada regra e´ dada atrave´s de um polinoˆmio ou de uma func¸a˜o monotoˆnica. Uma func¸a˜o e´ dita monotoˆnica se puder 8 ser classificada como crescente, estritamente crescente, decrescente ou estritamente decrescente. No modelo de Sugeno, a func¸a˜o e´ uma combinac¸a˜o linear das entradas, tendo como paraˆmetros um conjunto de constantes. Ja´ no esquema de Tsukamoto, a func¸a˜o e´ geralmente na˜o linear, tendo como domı´nio os poss´ıveis graus de com- patibilidade entre cada premissa e as entradas. Em ambos os modelos, obte´m-se, para cada regra, um u´nico valor de controle. A ac¸a˜o de controle global e´ obtida fazendo-se uma me´dia ponderada dos valores individuais obtidos, em que cada peso e´ o resultado obtido apo´s a aplicac¸a˜o da t- norma (). A sa´ıda para os modelos por interpolac¸a˜o consiste em um valor que pode ser aplicado diretamente no sistema controlado, o que dispensa o tempo de processamento da fase de defuzzyficac¸a˜o. Modelo de Sugeno O modelo de Sugeno, tambe´m conhecido como modelo TSK, foi proposto por Takagi, Sugeno e Kang (ver figura 2.6) com o objetivo de desenvolver uma sis- tema´tica para gerac¸a˜o de regras fuzzy a partir de um conjunto de dados de entrada e sa´ıda. A forma de uma t´ıpica regra fuzzy neste modelo e´ a seguinte: SE x e´ A1 com µx,A1 E y e´ B1 com µy,B1 ENTA˜O C1 = f1(x, y) SE x e´ A2 com µx,A2 E y e´ B2 com µy,B2 ENTA˜O C2 = f2(x, y); Em que fn(x, y) e´ um polinoˆmio em func¸a˜o das varia´veis x e y. z = (µx,A1 , µy,B1) · C1 +(µx,A2 , µy,B2) · C2 (µx,A1 , µy,B1) +(µx,A2 , µy,B2) ; (2.2) Modelo de Tsukamoto Neste modelo, os consequ¨entes de cada regra fuzzy devem ser func¸o˜es monotoˆni- cas (figura 2.7), pois elas operara˜o na forma inversa para a obtenc¸a˜o da sa´ıda do sistema. 9 Figura 2.6: Modelo Sugeno de infereˆncia. Figura 2.7: Func¸o˜es de pertineˆncia monotoˆnicas. SE x e´ A1 com µx,A1 E y e´ B1 com µy,B1 ENTA˜O z e´ C1 com µz,C1 = (µx,A1 , µy,B1) SE x e´ A2 com µx,A2 E y e´ B2 com µy,B2 ENTA˜O z e´ C2 com µz,C2 = (µx,A2 , µy,B2); Pode-se obter uma sa´ıda fuzzy pela fo´rmula, z = µz,C1 · f−1(µz,C1) + µz,C2 · f−1(µz,C2) µz,C1 + µz,C2 ; (2.3) O esquema deste modelo pode ser visualizado na figura 2.8. Pode-se, enta˜o, afirmar que a variac¸a˜o dos paraˆmetros das func¸o˜es de pertineˆncia 10 Figura 2.8: Modelo Tsukamoto de infereˆncia. de entrada e de sa´ıda, bem como a variac¸a˜o da base de regras, sa˜o os principais componentes a serem alterados nos controladores fuzzy para variar a relac¸a˜o entre as entradas e sa´ıdas destes sistemas. 2.2 Redes Neurais As Redes Neurais Artificiais (RNA’s) baseiam-se na forma de codificar o co- nhecimento do ce´rebro humano e sa˜o formadas por pequenas estruturas chamadas de neuroˆnios. Estes neuroˆnios, no ce´rebro humano, sa˜o conectados uns aos outros atrave´s de ligac¸o˜es axoˆnios− dendritos com o fluxo de dados em sentido u´nico (figura 2.9) formando uma grande rede conhecida como rede neural. No ce´rebro humano, a lembranc¸a de algum fato e´ associada a um caminho que um impulso ele´trico faz ao atravessar um certo nu´mero de neuroˆnios. As mudanc¸as do pulso que entrou e vai gerar uma sa´ıda, ocorre neste caminho que se define pela forc¸a das ligac¸o˜es entre os neuroˆnios, tambe´m conhecida como sinapse, e por func¸o˜es que podem ser associadas ao corpo celular de cada neuroˆnio (A. Guyton & J. Hall, 1997). Nas RNA’s, as unidades de neuroˆnios artificiais sa˜o geralmente agrupadas em ca- 11 Figura 2.9: Neuroˆnio real e a representac¸a˜o do neuroˆnio artificial. madas, rotuladas como: camada de entrada, camada(s) intermediaria(s) e camada de sa´ıda, dependendo de sua funcionalidade (figura 2.10). RNA’s podem ser classi- ficadas, com relac¸a˜o aos tipos de conexo˜es entre seus neuroˆnios, por: feedforward ou recorrentes. Nas RNA’s feedforward, os dados seguem um sentido u´nico e na˜o sa˜o transmitidos de uma camada posterior para uma anterior. Pore´m, nas recorrentes, essa forma de transmissa˜o e´ permitida, o que forma ciclos em sua representac¸a˜o gra´fica. Figura 2.10: Distibruic¸a˜o das camadas de uma RNA. Uma das mais importantes caracter´ısticas das Redes Neurais Artificiais e´ sua ca- pacidade de aprendizado. Os algoritmos responsa´veis por modificar os pesos sinapti- 12 cos e os paraˆmetros adaptativos das func¸o˜es representativas do corpo dos neuroˆnios, nos quais va˜o se abstrair o aprendizado, sa˜o conhecidos como algoritmos de apren- dizagem. Entre os algoritmos existentes o mais comum e´ o de Retropropagac¸a˜o do Erro (Back-propagation). Nesse algoritmo, existe a figura do ”professor” (ou super- visor) que informa qual deve ser a sa´ıda para uma determinada entrada. Assim, encontra-se o erro entre a sa´ıda desejada e a sa´ıda da rede, e ajustam-se os pesos sina´pticos e os paraˆmetros das func¸o˜es para que esse erro seja o menor poss´ıvel. A meta de um algoritmo de aprendizagem e´ diminuir o erro da sa´ıda da RNA o ma´ximo poss´ıvel. Pore´m, com relac¸a˜o aos padro˜es fornecidos, o sucesso da apren- dizagem na˜o e´ garantido. Existe, por exemplo, a possibilidade de haver mı´nimos locais (figura 2.11). Um mı´nimo local pode ser interpretado como uma regia˜o onde, com o passo de aprendizagem existente, se caminharmos para a esquerda ou para direita, o erro encontrado e´ maior do que o erro existente. Dessa forma, o algoritmo fica ”preso” nesta regia˜o e na˜o evolui para o mı´nimo global. Figura 2.11: Representac¸a˜o simplificada de mı´nimo local. 2.2.1 Back-propagation Considere um neuroˆnio da k-e´sima camada, com os ı´ndices como ilustra a figura 2.12. A sa´ıda Xk,i do neuroˆnio i desta camada e´ dada pela seguinte equac¸a˜o: Xk,i = fk,i(Xk−1,1 . . . Xk−1,n, α, β, γ, . . .) (2.4) em que α, β, γ, etc. Sa˜o os paraˆmetros adaptativos do neuroˆnio. 13 Figura 2.12: I´ndices associados a um neuroˆnio da k-e´sima camada. O algoritmo Back-propagation se baseia na minimizac¸a˜o, para cada ponto de treinamento l, do seguinte erro pontual: Elp = Nout∑ i=1 (dls −XK,i)2 (2.5) Suponha uma rede neural com K camadas e onde uma camada k tem N(k) neuroˆnios. Para facilitar a explicac¸a˜o, definiu-se o sinal de erro, δk,i, como a derivada do erro medido, Ep, em relac¸a˜o a sa´ıda do neuroˆnio i na camada k. δk,i = ∂+Ep ∂Xk,i (2.6) Para os neuroˆnios da camada de sa´ıda (camada K) pode-se encontrar o valor do sinal de erro diretamente por: δK,i = ∂+Ep ∂XK,i = ∂Ep ∂XK,i = −2(di −XK,i) (2.7) Ja´ para os neuroˆnios das outras camadas e´ necessa´rio utilizar a fo´rmula iterativa a seguir: δk,i = ∂+Ep ∂Xk,i = N(k+1)∑ m=1 ∂+Ep ∂Xk+1,m · ∂fk+1,m ∂Xk,i = N(k+1)∑ m=1 δk+1,m · ∂fk+1,m ∂Xk,i (2.8) em que 0 ≤ k ≤ K − 1 e N(k + 1) e´ o nu´mero de neuroˆnios da camada k + 1. Observe que o ca´lculo do sinal do erro da camada k depende do resultado do sinal de erro da camada k + 1. Com isso, pode-se concluir que e´ necessa´rio calcular 14 primeiro o sinal de erro da u´ltima camada e retro-propagar este sinal camada por camada, ate´ a entrada da rede. A variac¸a˜o para cada paraˆmetro α pode ser definida como a derivada do erro medido em relac¸a˜o a cada paraˆmetro, multiplicados pelo coeficiente de aprendizagem η. ∆αp = −η · ∂ +Ep ∂Xk,i · ∂fk,i ∂α = −η · δk,i · ∂fk,i ∂α (2.9) A atualizac¸a˜o dos paraˆmetros pode ocorrer ao final do processamento de todos os pontos de treinamento. Para isto, e´ necessa´rio que todas as atualizac¸o˜es pontuais sejam somadas. Pode-se reescrever a atualizac¸a˜o como: ∆αt = L∑ l=1 ∆αlp = −η · L∑ l=1 δlk,i · ∂f lk,i ∂α (2.10) em que L representa os pontos de treinamento. Dessa forma, pode-se ajustar α utilizando: α(t + 1) = α(t) + ∆αt(t) (2.11) O modelo ANFIS, apresentado no pro´ximo cap´ıtulo, considera todos os pesos sinapticos iguais a 1 (um), de forma que as ligac¸o˜es entre os neuroˆrios informam, apenas, a existeˆncia de uma conexa˜o e o sentido do fluxo. As adaptac¸o˜es, promovidas pelo algoritmo Back-propagation, visam ajustar os paraˆmetros varia´veis das func¸o˜es associadas ao corpo celular dos neuroˆnios nas camadas 1 e 4 deste modelo. 15 Cap´ıtulo 3 Controladores Inteligentes Hı´bridos 3.1 ANFIS O modelo ANFIS utiliza como estrutura ba´sica um controlador fuzzy, o qual pode ser interpretado como uma rede neural de cinco camadas, em que e´ poss´ıvel aplicar te´cnicas de aprendizado como o Back-propagation, por exemplo (J. R. Jang et alii, 1997). Para simplificar, considere um sistema fuzzy com duas entradas x e y, uma sa´ıda z e duas func¸o˜es de pertineˆncia para cada varia´vel de entrada, resultando em quatro regras. Visualizando a figura 3.1 pode-se seguir o fluxo de dados e associar func¸o˜es, que sa˜o inerentes aos neuroˆnios, a`s operac¸o˜es referentes ao modelo fuzzy proposto por Sugeno. Observe que os pesos das sinapses foram definidos como 1 (um) e as varia´veis ajusta´veis esta˜o distribu´ıdas nas func¸o˜es dos neuroˆnios. Os neuroˆnios representados por quadrados apresentam as varia´veis ajusta´veis para o sistema. Definindo Xk,i como sendo a sa´ıda do neuroˆnio i da camada k. O fluxo dos dados pode ser analisado camada a camada, como mostrado a seguir: • Camada 1: Os neuroˆnios desta camada representam as func¸o˜es de pertineˆncia de entrada, ou seja, a fase de fuzzyficac¸a˜o. Dessa forma, os dados de sa´ıda da 16 Figura 3.1: Representac¸a˜o do ANFIS com duas entradas x e y, e uma sa´ıda z. camada sera˜o as chamadas ”entradas fuzzy”. X1,i = µAi(x) para i = 1, 2; ou X1,i = µBi−2(y) para i = 3, 4. (3.1) • Camada 2: A func¸a˜o para esta camada e´ uma t-norma (tabela 2.1). Con- siderando a forma probabil´ıstica, a sa´ıda X2,i pode ser calculada multiplicando o valor das suas entradas. X2,1 = w1 = µA1(x) · µB1(y) X2,2 = w2 = µA1(x) · µB2(y) X2,3 = w3 = µA2(x) · µB1(y) X2,4 = w4 = µA2(x) · µB2(y) (3.2) Note que nesta camada esta˜o abstra´ıdas as regras. Assim, a omissa˜o de um dos neuroˆnios indica a omissa˜o de uma das regras. • Camada 3: A sa´ıda desta camada sera´ a sa´ıda dos neuroˆnios da camada anterior, normalizadas, ou seja, a sa´ıda de cada neuroˆnio da camada anterior dividida pela soma da sa´ıda de todos os neuroˆnios dessa mesma camada. X3,i = wi = wi w1 + w2 + w3 + w4 , i = 1, 2, 3, 4 (3.3) 17 • Camada 4: A func¸a˜o associada aos neuroˆnios desta camada sera´ o polinoˆmio f(x, y), utilizado pelo modelo Sugeno, em que x e y sa˜o as entradas do sistema e p, q e r sa˜o os paraˆmetros ajusta´veis do polinoˆmio. X4,i = wi · fi = wi(pix + qiy + ri) (3.4) • Camada 5: Nesta camada ocorre o somato´rio das sa´ıdas dos neuroˆnios das camadas anteriores e, desta forma, obteˆm-se o sinal de controle para o sistema. X5 = ∑ i wi · fi = ∑ i wi · fi∑ i wi (3.5) Como ja´ mencionado, a sa´ıda do modelo Sugeno na˜o necessita de uma interface de defuzzyficac¸a˜o. A partir da rede neural apresentada, pode-se identificar claramente que os neuroˆnios que necessitam de aprendizado esta˜o presentes nas camadas 1 (um) e 4 (quatro), pois na camada 1 esta˜o localizadas as func¸o˜es de pertineˆncia de entrada e na camada 4, os polinoˆmios Sugeno, que definem as implicac¸o˜es das regras. O ajuste dos paraˆmetros de um controlador no modelo ANFIS pode ser obtido atrave´s de te´cnicas adaptativas como o algoritmo Back-propagation. Fundamentado pelas equac¸o˜es apresentadas no cap´ıtulo 2, e´ poss´ıvel encontrar equac¸o˜es ja´ derivadas para este modelo em especial. 3.1.1 Back-propagation no Modelo ANFIS Partindo de pares de treinamento entrada-sa´ıda desejados, o erro nesta rede neural pode ser propagado para as camadas anteriores a partir da u´ltima camada ate´ a primeira. Para cada neuroˆnio, de cada camada, sera´ calculado o δk,i desta camada. Para a u´ltima camada (k = 5), utiliza-se a fo´rmula 2.7 e obte´m-se: δ5,1 = −2(Dl −X5,1) (3.6) 18 Para as camadas anteriores utiliza-se a formula 2.8, o que resulta em: • Camada 4: δ4,1 = δ4,2 = δ4,3 = δ4,4 = δ5,1 (3.7) • Camada 3: δ3,1 = δ4,1 · (p1x + q1y + r1) δ3,2 = δ4,2 · (p2x + q2y + r2) δ3,3 = δ4,3 · (p3x + q3y + r3) δ3,4 = δ4,4 · (p4x + q4y + r4) (3.8) • Camada 2: δ2,1 = δ3,1 · w2+w3+w4 ( ∑4 i=1 wi)2 + δ3,2 · −w2 ( ∑4 i=1 wi)2 + δ3,3 · −w3 ( ∑4 i=1 wi)2 + δ3,4 · −w4 ( ∑4 i=1 wi)2 δ2,2 = δ3,2 · w1+w3+w4 ( ∑4 i=1 wi)2 + δ3,1 · −w1 ( ∑4 i=1 wi)2 + δ3,3 · −w3 ( ∑4 i=1 wi)2 + δ3,4 · −w4 ( ∑4 i=1 wi)2 δ2,3 = δ3,3 · w1+w2+w4 ( ∑4 i=1 wi)2 + δ3,1 · −w1 ( ∑4 i=1 wi)2 + δ3,2 · −w2 ( ∑4 i=1 wi)2 + δ3,4 · −w4 ( ∑4 i=1 wi)2 δ2,4 = δ3,4 · w1+w2+w3 ( ∑4 i=1 wi)2 + δ3,1 · −w1 ( ∑4 i=1 wi)2 + δ3,2 · −w2 ( ∑4 i=1 wi)2 + δ3,3 · −w3 ( ∑4 i=1 wi)2 (3.9) • Camada 1: δ1,1 = δ2,1 · µy,B1 + δ2,2 · µy,B2 δ1,2 = δ2,3 · µy,B1 + δ2,4 · µy,B2 δ1,3 = δ2,1 · µx,A1 + δ2,3 · µx,A2 δ1,4 = δ2,2 · µx,A1 + δ2,4 · µx,A2 (3.10) Para o ajuste dos paraˆmetros da camada 4, e´ necessa´rio derivar parcialmente o polinoˆmio em relac¸a˜o a`s varia´veis p, q e r (A. Valishvsky, 2002). ∂w(px + qy + r) ∂p = wx (3.11) ∂w(px + qy + r) ∂q = wy (3.12) 19 ∂w(px + qy + r) ∂r = w (3.13) Da mesma forma, para o ajuste dos paraˆmetros da camada 1, e´ necessa´rio derivar parcialmente a func¸a˜o de pertineˆncia em relac¸a˜o as varia´veis a, b e c. Considerando uma func¸a˜o de pertineˆncia com a forma de sino que pode ser expressa por: y = bell(x, a, b, c) = 1 1 + |x−c a |2b (3.14) As derivadas parciais desta func¸a˜o resultam em (J. R. Jang et alii, 1997): ∂y ∂a = 2b a · y · (1− y) (3.15) ∂y ∂b = ⎧⎪⎨ ⎪⎩ −2 · ln |x−c a | · y · (1− y) se x = c 0 se x = c (3.16) ∂y ∂c = ⎧⎪⎨ ⎪⎩ 2b x−c · y · (1− y) se x = c 0 se x = c (3.17) A variac¸a˜o dos paraˆmetros sera´ de: ∆αk,j = −η · L∑ l=1 δlk,j · ∂f lk,l ∂α (3.18) em que α representa as varia´veis p, q, r, a, b e c. Optou-se por utilizar uma te´cnica para aumentar a velocidade de convergeˆncia das redes neurais chamada de η-adaptativo (ou η-varia´vel) pelo fato dessa te´cnica ter sido utilizada com sucesso em alguns trabalhos com implementac¸o˜es pra´ticas (O. Filho, 2004). 3.1.2 η-Adaptativo Esta te´cnica consiste em variar a constante de aprendizado η (eta) durante a etapa de treinamento da rede, buscando otimizar o processo de adaptac¸a˜o dos 20 Tabela 3.1: Co´digo do algoritmo η-adaptativo. 01- Iniciar eta com valor pequeno (entre 0,000001 e 0,01, por exemplo); 02- Iniciar erro_aux1 = 0; 03- erro_aux2 = E (E = Erro quadra´tico); 04- Se erro_aux2 > 1.04*erro_aux1 Ent~ao 05- eta = 0.7*eta; 06- Sen~ao 07- Se erro_aux2 <= erro_aux1 Ent~ao 08- eta = 1.05*eta; 09- Fim Se; 10- Fim Sen~ao; 11- erro_aux1 = erro_aux2; 12- Voltar para linha 3. paraˆmetros, como tambe´m evitar a parada em um mı´nimo local. A rotina da tabela 3.1 mostra como essa te´cnica funciona. Os fatores 1, 04, 1, 05 e 0, 7 usados no algoritmo do η-adaptativo sa˜o sugeridos por (J. Rezende & A. Maitelli, 1999a; J. Rezende & A. Maitelli, 1999b). 3.2 NEFCON O NEFCON e´ um modelo de controlador neuro-fuzzy baseado na arquitetura gene´rica de uma RNA, mais especificamente de uma rede perceptron de treˆs camadas (figura 3.2). Fazendo-se um paralelo entre as redes perceptron de treˆs camadas, e os sistemas fuzzy, teˆm-se que (A. Nu¨rnberger et alii, 1999): • Camada 0: a camada de entrada recebe os valores de entrada e esta´ conectada a` segunda camada atrave´s de sinapses que conte´m pesos. Estes pesos esta˜o relacionados com os paraˆmetros das func¸o˜es de pertineˆncia das entradas (fuzzy- ficac¸a˜o), gerando assim uma entrada para a pro´xima camada, correspondente a`s varia´veis fuzzyficadas. • Camada 1: Nesta camada (camada intermedia´ria) ocorre o procedimento de infereˆncia em que, cada neuroˆnio representa uma regra fuzzy e a func¸a˜o de 21 ativac¸a˜o e´ uma t-norma. • Camada 2: A camada 2 e´ responsa´vel pela t-conorma e encerra o processo aplicando uma te´cnica de defuzzyficac¸a˜o. O algoritmo proposto por A. Nu¨rn- berger et alii (1999), sugere o uso do me´todo me´dia dos ma´ximos para a etapa de defuzzyficac¸a˜o, o que reduz as func¸o˜es de pertineˆncia de sa´ıda a simples impulsos localizados nos ma´ximos das mesmas. Figura 3.2: Representac¸a˜o do NEFCON com duas entradas x e y, e uma sa´ıda z. O algoritmo de aprendizagem do NEFCON e´ baseado na ide´ia de Aprendizagem por Reforc¸o (R. Sutton & A. Barto, 1998). Tanto o erro fuzzy, que e´ dado pela distaˆncia entre o valor de uma entrada do controlador fuzzy e o seu valor desejado, quanto o sinal da sa´ıda o´tima para o controlador (ηotm) podem fazer o papel de cr´ıtico e, nesse caso, devem ser conhecidos. Para alguns sistemas, o sinal o´timo de controle pode ser calculado simplesmente usando a diferenc¸a entre a refereˆncia do sistema e o estado atual da planta a ser controlada. Em casos mais complicados e´ poss´ıvel utilizar regras simples para atingir resultados satisfato´rios. Considerando um sistema Ball and Beam composto por uma trave de refereˆn- cia com uma bola de refereˆncia e uma trave controlada por um servo-motor que movimenta outra bola. O objetivo e´ fazer com que a bola sobre a trave controlada 22 fique na mesma posic¸a˜o da bola da trave de refereˆncia (o sistema Ball and Beam sera´ mostrado com detalhes no cap´ıtulo 4), pode-se expressar as regras da seguinte maneira: • ηotm e´ zero quando a velocidade da bola controlada e´ zero e o erro (valordesejado− valorobtido) tambe´m e´ zero ou o erro e´ diferente de zero mas o valor da ve- locidade da bola indica um movimento em direc¸a˜o a` refereˆncia. • ηotm e´ positivo quando o erro e´ positivo e a bola se afasta da refereˆncia. • ηotm e´ negativo quando o erro e´ negativo e a bola se afasta da refereˆncia. O algoritmo que corresponde a` te´cnica NEFCON foi dividido em duas partes principais, uma para a criac¸a˜o e otimizac¸a˜o das regras e outra para otimizac¸a˜o das func¸o˜es de pertineˆncia para as regras existentes (M. Rodrigues et alii, 2004). Na primeira parte, o algoritmo recebe uma base de regras vazia e a partir das entradas, verifica qual a melhor sa´ıda criando uma regra equivalente. Se uma regra ja´ existir, o algoritmo verifica se essa e´ a melhor opc¸a˜o, podendo modifica´-la se achar necessa´rio. Na segunda parte, atua-se nas func¸o˜es de pertineˆncia, de modo que o aprendizado ocorra de forma similar a alguns algoritmos de aprendizagem por reforc¸o. Para cada estado (cada func¸a˜o de pertineˆncia ativa no momento), se ha´ contribuic¸a˜o para a reduc¸a˜o do erro, enta˜o este estado tera´ sua probabilidade de ocorreˆncia aumentada, ou seja, a func¸a˜o de pertineˆncia passara´ a englobar uma a´rea maior e, dessa forma, a chance de ser ativada novamente e´ maior que no instante anterior. Caso a func¸a˜o de pertineˆncia contribua para o aumento do erro, esta func¸a˜o tera´ sua probabilidade reduzida, ou seja, a func¸a˜o de pertineˆncia engloba um espac¸o menor, sendo mais dif´ı- cil desta func¸a˜o de pertineˆncia se tornar ativa na iterac¸a˜o posterior (A. Nu¨rnberger et alii, 1999). Observe que na segunda parte do algoritmo o ajuste deve ocorrer sempre que existir erro, ja´ que este foi considerado como paraˆmetro para a sa´ıda o´tima. Tambe´m e´ poss´ıvel utilizar as regras da sa´ıda o´tima para que o ajuste ocorra somente quando a 23 sa´ıda o´tima for positiva ou negativa. Pore´m, esta alterac¸a˜o na˜o se tornou necessa´ria para o sistema ball and beam. Uma base de regras na˜o vazia pode ser introduzida no sistema para que seja otimizada pelo algoritmo. Da mesma forma, o algoritmo pode ser usado para me- lhorar func¸o˜es de pertineˆncia previamente estabelecidas que representem os conhe- cimentos ja´ assimilados sobre o controle. Algumas mudanc¸as com relac¸a˜o a` proposta original do modelo NEFCON (A. Nu¨rnberger et alii, 1999) foram introduzidas com o objetivo de satisfazer necessi- dades espec´ıficas deste trabalho. A seguir, na medida em que detalhes da implemen- tac¸a˜o sa˜o apresentados, sa˜o destacadas as principais alterac¸o˜es. 3.2.1 Gerac¸a˜o e Otimizac¸a˜o de Regras Como condic¸a˜o inicial para esta fase e´ fornecido ao controlador tanto um intervalo de atuac¸a˜o para cada uma das varia´veis de entrada quanto um intervalo para a sa´ıda. Estes intervalos de atuac¸a˜o funcionam como refereˆncia para possibilitar a comparac¸a˜o entre varia´veis de grandezas diferentes. O algoritmo original sugere apenas o fornecimento do intervalo de atuac¸a˜o de sa´ıda e, desta forma, cria uma regra que atua no sentido oposto ao crescimento do erro fuzzy. A te´cnica empregada, pore´m, visa na˜o apenas reduzir o erro do sistema controlado, mas optar entre as entradas do sistema e reduzir o erro fuzzy daquela que estiver com maior discrepaˆncia em relac¸a˜o ao valor desejado. As varia´veis de entrada do controlador sa˜o encontradas e a regra ativada com maior intensidade (maior µ) e´ criada, ou seja, recebe um valor correspondente a uma das func¸o˜es de pertineˆncia de sa´ıda. Uma regra para o modelo NEFCON e´ dita ativa quando recebe um valor de pertineˆncia diferente de zero (0 < µ <= 1) apo´s a aplicac¸a˜o do operador t-norma. O valor assumido para a regra criada tendera´ a diminuir o valor da entrada que estiver com o maior erro. O erro entre as varia´veis de entrada podera´ ser encontrado e comparado se os intervalos de atuac¸a˜o de cada varia´vel de entrada 24 forem normalizados (figura 3.3). Figura 3.3: Modelo de otimizac¸a˜o e criac¸a˜o de regras pelo modelo NEFCON adap- tado. A intensidade da nova regra e´ calculada atrave´s da conversa˜o do valor de erro do intervalo de entrada com maior erro para o intervalo de sa´ıda. Dessa forma, a func¸a˜o de pertineˆncia de sa´ıda que possuir valor mais adequado sera´ utilizada. Assim, pode-se escrever: 1. Considerando um sistema com as entradas (x1, . . . , xn) e ([L min 1 , L max 1 ], . . ., [Lminn , L max n ]) definido pelo usua´rio como sendo o valor mı´nimo e o ma´ximo para cada xi, ou seja, o intervalo de atuac¸a˜o de cada entrada xi. 2. Encontre o vetor (µmax1 , . . . , µ max n ) em que cada µ max i e´ o maior valor de µ no conjunto fuzzy xi. Esse vetor corresponde a` regra que atuara´ com maior intensidade no sistema. 3. Para cada entrada xi subtraia o valor desejado para esta entrada e divida o mo´dulo do resultado pelo respectivo ”intervalo de atuac¸a˜o” (Lmaxi − Lmini ) da entrada referente, gerando um vetor (xnorm1 , . . . , x norm n ). xnormi = |xi − xdesejadoi | Lmaxi − Lmini (3.19) O maior valor deste vetor corresponde ao maior erro em relac¸a˜o ao valor de- sejado. Esta entrada sera´ chamada de xr e o seu intervalo [L min r , L max r ] 4. A regra a ser criada sera´ dada por: 25 regra(µmax1 , . . . , µ max n ) = xr − Lminr Lmaxr − Lminr · k (3.20) Em que, k e´ o nu´mero de func¸o˜es de pertineˆncia de sa´ıda. Assim, ⎧⎪⎪⎪⎪⎪⎪⎪⎪⎨ ⎪⎪⎪⎪⎪⎪⎪⎪⎩ regra = 0 → primeira func¸a˜o de pertineˆncia regra = 1 → segunda func¸a˜o de pertineˆncia ... ... regra = n− 1 → ultima func¸a˜o de pertineˆncia (3.21) E´ importante observar que o valor de regra tem que ser um nu´mero inteiro e, para isso, e´ necessa´rio desconsiderar as casas decimais. Outro ponto importante e´ que as func¸o˜es de pertineˆncia de sa´ıda, no in´ıcio da execuc¸a˜o, estejam espalhadas de forma sime´trica dentro de seu intervalo. Diferente do sugerido pelo algoritmo base (A. Nu¨rnberger et alii, 1999), uma regra criada anteriormente pode ser modificada a qualquer instante se uma regra diferente for encontrada para a ocasia˜o. Tambe´m, na˜o ha´ necessidade de modificac¸a˜o na estrutura das func¸o˜es de pertineˆncia, ja´ que estas ira˜o ser tratadas em uma fase posterior. 3.2.2 Otimizac¸a˜o de Func¸o˜es de Pertineˆncia Apo´s as principais regras serem criadas, determina-se o sinal de controle, aplicando- o na planta para obter um novo estado. O erro da planta E e´ encontrado de acordo com esse novo estado. Enta˜o, estima-se a contribuic¸a˜o, tr, de cada regra para a sa´ıda e calcula-se o erro Er para cada unidade de regra, de acordo com a seguinte equac¸a˜o: Er = µ · E · sgn(tr) (3.22) em que: sgn(tr) = Sinal de tr 26 De posse desses dados, e baseado na figura 3.4, pode-se representar as modifi- cac¸o˜es nos consequ¨entes por: ∆bi = η · µ · E (3.23) e as modificac¸o˜es para os antecedentes por: ∆a (i) j = −η · Er · (b(i)j − a(i)j ) (3.24) ∆c (i) j = η · Er · (c(i)j − b(i)j ) (3.25) em que: η = Coeficiente de aprendizagem a, b, c = Ve´rtices das func¸o˜es de pertineˆncia Figura 3.4: Otimizac¸a˜o das func¸o˜es de pertineˆncia pelo modelo NEFCON adaptado. E´ fa´cil observar que o algoritmo na˜o altera a posic¸a˜o da func¸a˜o de pertineˆncia dos antecedentes. O que e´ feito e´ apenas aumentar ou diminuir sua base de forma proporcional para ambos os lados, ou seja, caso a func¸a˜o de pertineˆncia tenha uma contribuic¸a˜o positiva, esta tera´ maior probabilidade de ocorrer novamente. Algumas restric¸o˜es foram inseridas para evitar sobreposic¸a˜o de mais de duas func¸o˜es de pertineˆncia e para evitar o surgimento de lacunas entre estas. Para isso, deve-se garantir uma sobreposic¸a˜o de zero a 50%, ou seja, os ve´rtices de um triaˆn- 27 gulo devem estar contidos no intervalo correspondente a meia base dos triaˆngulos vizinhos. 28 Cap´ıtulo 4 Resultados Experimentais Os algoritmos de controle foram implementados em linguagem C/C++ e execu- tados a partir de um microcomputador do tipo PC dotado de uma placa MultiQ-3 da Quanser Consulting para aquisic¸a˜o de dados e controle, sendo responsa´vel pela comunicac¸a˜o entre o PC e a planta experimental ball and beam, tambe´m da Quanser Consulting. 4.1 O Sistema Ball and Beam O sistema ball and beam, no qual os controladores foram testados, e´ composto basicamente por um sistema trave-bola, um servo-motor com uma caixa redutora e uma re´gua com bola de refereˆncia. Existem treˆs sensores, um para medir a posic¸a˜o da bola de refereˆncia, outro para a posic¸a˜o da bola a ser controlada e um para medir a posic¸a˜o angular do servo-motor (figura 4.1). Filtros de primeira ordem foram introduzidos, digitalmente, ao procedimento de leitura dos sensores para que o ru´ıdo, inerente a esse tipo de sensor, seja minimizado, como sugere o manual do projetista (J. Apkarian, 1995). O objetivo do controlador e´ fazer com que a bola colocada sobre a trave siga a trajeto´ria especificada pela bola de refereˆncia. Para tanto, e´ projetado um sistema de controle que envia um sinal em forma de tensa˜o para o servo-motor que ao mover- se levanta ou abaixa uma das extremidades da trave, fazendo assim com que a bola 29 Figura 4.1: Localizac¸a˜o dos sensores no sistema ball and beam. Figura 4.2: Fluxograma ilustrando as malhas de controle do ball and beam. se mova. O sistema de controle projetado para o ball and beam encontra-se dividido em duas malhas (figura 4.2): uma externa, onde um controlador inteligente fica respon- sa´vel por receber a posic¸a˜o da bola a ser controlada e a posic¸a˜o da bola de refereˆncia e, a partir da´ı, fornecer o aˆngulo de refereˆncia para a segunda malha, onde um contro- lador PID gera um sinal de controle necessa´rio para que o servo-motor posicione-se de acordo com o aˆngulo de refereˆncia fornecido pelo primeiro controlador. A utilizac¸a˜o do controlador inteligente para a substituic¸a˜o das duas malhas de controle da planta ainda consiste em um desafio considera´vel. Desta forma, optou- se pela utilizac¸a˜o das te´cnicas h´ıbridas para substituir apenas a malha externa, ja´ que a malha interna funciona suficientemente bem com o PID projetado e a malha externa constitui um desafio suficiente para o proposto. 30 4.2 Resultados com o ANFIS Como ja´ mencionado, o modelo ANFIS sera´ otimizado atrave´s do Back-propagation. Dessa forma, e´ necessa´ria a obtenc¸a˜o de pares (pontos) de treinamento. Para a obtenc¸a˜o dos pontos de treinamento, utilizou-se um controlador PID (Proporcional Integrativo Derivativo) substituindo o controlador inteligente da figura 4.2. A es- colha de treˆs entradas para o modelo ANFIS se baseou na caracter´ıstica do contro- lador a ser copiado, no caso o PID. As treˆs entradas consideradas foram os erros: atual e anterior da bola a ser controlada em relac¸a˜o a` bola de refereˆncia, e o aˆngulo de refereˆncia anterior. Apo´s a etapa de captac¸a˜o dos pontos de treinamento, passou-se para a etapa do treinamento do modelo ANFIS. O algoritmo de treinamento utilizou os pares entrada-sa´ıda obtidos com o controlador PID para adaptar os paraˆmetros ajusta´veis do sistema. Visto como um sistema fuzzy, o sistema possui 5 func¸o˜es de pertineˆncia em forma de sino para cada varia´vel de entrada. Desta forma, o cruzamento entre as func¸o˜es de pertineˆncia formam 125 poss´ıveis regras que referenciam polinoˆmios de primeira ordem do tipo px + qy + rz + s, em func¸a˜o das varia´veis de entrada x = erro atual, y = erro anterior e z = aˆngulo de refereˆncia anterior. As varia´veis p, q, r e s sa˜o os paraˆmetros ajusta´veis dos polinoˆmios e todos foram iniciados com valor igual a 0 (zero). O coeficiente de aprendizagem para este sistema foi iniciado com η = 10−6, os valores iniciais para as func¸o˜es de pertineˆncias foram uniformemente distribu´ıdos dentro de intervalos e o per´ıodo de amostragem considerado foi igual a 0,05 segundos. A figura 4.3 ilustra as func¸o˜es de pertineˆncia em seu estado inicial em que o primeiro gra´fico representa o erro fuzzy anterior e atual, e o segundo o aˆngulo de refereˆncia anterior. O valor inicial para a varia´vel η assim como os intervalos nos quais as func¸o˜es de pertineˆncia foram distribu´ıdas, constitu´ıram uma das maiores dificuldades na implementac¸a˜o do modelo. Quando o valor do η era elevado (cerca de 10−4 para 31 Figura 4.3: Estado inicial das func¸o˜es de pertineˆncia. este modelo) ou quando os intervalos eram muito distantes da realidade do sistema a ser controlado, o programa tornava-se insta´vel. Fazendo uma associac¸a˜o com o sistema fuzzy, pode-se deduzir que a rede neural equivalente tera´ o seguinte nu´mero de neuroˆnios em cada camada: 3 - camada 0; 15 - camada 1; 125 - camadas 2, 3 e 4; 1 - camada 5. A figura 4.4 mostra como foi feita a inserc¸a˜o do ANFIS nas malhas de controle para a etapa de aprendizagem do modelo. Nessa figura tambe´m e´ poss´ıvel identificar de onde foram obtidos os pontos entrada-sa´ıda usados no treinamento. Para o treinamento foram coletados 800 pontos a partir do PID da malha externa do sistema de controle que atuava sobre o ball and beam. A sa´ıda desejada da rede, em func¸a˜o de cada ponto de treinamento, pode ser vista na figura 4.5. O gra´fico na figura 4.6 ilustra tanto a evoluc¸a˜o do η quanto o erro quadra´tico do sistema para 3000 e´pocas de um conjunto de treinamento bem sucedido. Uma 32 Figura 4.4: Fluxograma ilustrando as malhas no aprendizado do modelo ANFIS. Figura 4.5: Pontos de treinamento obtidos para o ANFIS. 33 Figura 4.6: Evoluc¸a˜o do coeficiente de aprendizagem η e do erro quadra´tico durante a aprendizagem. e´poca foi definida como sendo a passagem do algoritmo de aprendizagem por todos os 800 pontos de treinamento. Apo´s a etapa de treinamento que durou cerca de 22 horas, encontrou-se um erro quadra´tico de aproximadamente 0.035 em 160.000 e´pocas, o que, considerando que os valores usados no treinamento na˜o foram normalizados, aproximou bastante os valores obtidos pelo controlador aos valores de aprendizado (figura 4.7). Como pode ser observado na figura 4.8 as func¸o˜es de pertineˆncia para as treˆs entradas sofreram algumas modificac¸o˜es. Para uma efetiva validac¸a˜o do aprendizado, utilizou-se o controlador treinado na planta ball and beam para uma sequ¨eˆncia de pontos de refereˆncia pre´-estabelecidos, o que dispensou o uso da trave de refereˆncia. O efeito do controlador na planta pode ser observado na figura 4.9. Observe que o controlador neuro-fuzzy segue a refereˆncia 34 Figura 4.7: Valores obtidos pelo controlador em relac¸a˜o aos valores de aprendizado. 35 Figura 4.8: Func¸o˜es de pertineˆncia apo´s a etapa de aprendizado. 36 Figura 4.9: Controlador neuro-fuzzy de modelo ANFIS treinado e aplicado ao ball and beam. assim como o controlador PID e a`s vezes, de forma mais precisa. Pore´m, em baixas velocidades (extremos superior e inferior dos gra´ficos) a precisa˜o e´ reduzida por interfereˆncia do atrito seco. Analisando o sinal de sa´ıda destes controladores, ou seja, analisando o aˆngulo de refereˆncia fornecido pelo PID e pelo neuro-fuzzy (figura 4.10), observa-se que os valores obtidos pelo controlador neuro-fuzzy oscilam menos, o que nos leva a crer que o processo de aprendizagem tambe´m atuou como um filtro sobre o sinal de sa´ıda. Para as figuras 4.11 e 4.12 a refereˆncia recebeu alguns degraus de amplitude variada. Note que nos degraus a refereˆncia na˜o e´ seguida com muita perfeic¸a˜o pelo controlador neuro-fuzzy, pore´m a trave recebe o aˆngulo que, em teoria, levaria a bola a para a refereˆncia. Este fato se deve a` interfereˆncia do atrito seco presente em toda superf´ıcie f´ısica da planta. O PID por oscilar mais, consegue evitar a interfereˆncia 37 Figura 4.10: Aˆngulos de referencia fornecidos pelos controladores PID e neuro-fuzzy. 38 Figura 4.11: Variac¸a˜o da posic¸a˜o da bola de refereˆncia em degraus simulados. do atrito seco. Em contrapartida, desgasta mais as engrenagens assim como outras partes f´ısicas da planta. Outro fator que deve ser considerado e´ que os pontos de treino foram obtidos a partir da planta utilizando a trave de refereˆncia. Desta forma, os pontos de treinamento obtidos na˜o possu´ıam a caracter´ıstica de um degrau como o simulado pela refereˆncia da figura 4.11, pois o filtro presente no sensor de leitura da trave de refereˆncia impossibilita esse tipo de oscilac¸a˜o brusca. 4.3 Resultados com o NEFCON O controlador neuro-fuzzy com caracter´ısticas baseadas no modelo NEFCON foi implementado e apresenta as seguintes particularidades: • Existem duas entradas, com seus intervalos divididos entre 5 func¸o˜es de per- tineˆncia triangulares para cada uma. 39 Figura 4.12: Aˆngulos de referencia fornecidos pelos controladores PID e neuro-fuzzy quando degraus sa˜o aplicados. 40 Tabela 4.1: Regras inicias para o controlador neuro-fuzzy Variac¸a˜o do Erro - NG NP ZE PP PG E NG - - - - - R NP - - - - - R ZE - - ZE - - O PP - - - - - PG - - - - - • Para uma u´nica sa´ıda (o aˆngulo de refereˆncia), o intervalo foi dividido por 7 func¸o˜es de pertineˆncia. • As func¸o˜es de pertineˆncia de entrada sa˜o iniciadas com 50% de sobreposic¸a˜o e simetricamente divididas dentro do seu intervalo de atuac¸a˜o o qual e´ fornecido pelo projetista. • Como consequ¨eˆncia do numero de func¸o˜es de pertineˆncia para cada entrada, a base de regras pode ter um ma´ximo de 25 regras ativas, ou seja, regras com implicac¸o˜es correspondentes a func¸o˜es de pertineˆncia de sa´ıda. • A constante de aprendizagem para o controlador foi considerada igual a 10−3. • Per´ıodo de amostragem para este modelo foi de 0,02 segundos. Este valor deve-se ao fato do modelo NEFCON possuir um custo computacional inferior ao do modelo ANFIS. Definiram-se como entradas para o sistema o erro de posic¸a˜o da bola e sua variac¸a˜o. O valor desejado para ambas entradas foi definido como zero e a faixa de execuc¸a˜o utilizada para estas varia´veis foi de -20 a 20 cm para o erro e de -0,6 a 0,6 cm/s para a variac¸a˜o do erro. Com relac¸a˜o a varia´vel de sa´ıda, o aˆngulo de refereˆncia poˆde variar de -45 a 45 graus. A figura 4.13 ilustra tanto o estado inicial das func¸o˜es de pertineˆncia de entrada quanto das de sa´ıda. A base de regras inicial foi considerada vazia, exceto pela regra central que recebeu o valor de sa´ıda equivalente ao aˆngulo de refereˆncia zero (tabela 4.1). 41 Figura 4.13: Estado inicial das func¸o˜es de pertineˆncia de entrada e de sa´ıda. 42 Figura 4.14: Etapa de criac¸a˜o de regras do algoritmo NEFCON em tempo real. Como ja´ mencionado, o NEFCON tem sua fase de aprendizagem em tempo real. Para mostrar o desenvolvimento desta aprendizagem enquanto o algoritmo tenta controlar a planta, utilizou-se uma sequ¨eˆncia de aprendizagem sem a barra de refereˆncia. A etapa de criac¸a˜o de regras foi a primeira a entrar em operac¸a˜o e seu resultado pode ser analisado na figura 4.14. Observe que apo´s 25 segundos, o aˆngulo de refereˆncia obtido tende a parar a bola que se encontra em uma velocidade elevada (figura 4.15). Observe ainda que a bola na˜o alcanc¸a a posic¸a˜o 40 na trave e em compensac¸a˜o, atinge a posic¸a˜o zero com extrema facilidade. Isto se deve ao fato de o aˆngulo zero fornecido pelo controlador na˜o corresponder ao aˆngulo em que a bola tende a ficar parada, ou seja, uma situac¸a˜o em que e´ necessa´rio calibrar o aˆngulo de sa´ıda. A calibrac¸a˜o do controlador ocorre na outra etapa do algoritmo, na fase de otimizac¸a˜o de func¸o˜es de pertineˆncia. 43 Figura 4.15: Aˆngulo de refereˆncia fornecido pelo controlador durante a etapa de criac¸a˜o de regras. 44 Tabela 4.2: Regras otimizadas encontradas na fase de criac¸a˜o de regras para o controlador neuro-fuzzy Variac¸a˜o do Erro NG NP ZE PP PG E NG - - - - - R NP - - NP PP - R ZE NG NP ZE PP - O PP NG PP PP PM - PG - - - - - Tabela 4.3: Regras encontradas apo´s 35 segundos de criac¸a˜o de regras Variac¸a˜o do Erro NG NP ZE PP PG E NG - - - - - R NP - - NP - - R ZE NG NP ZE PG - O PP NG NP PP PG - PG - - - - - A base de regras otimizada apo´s o a aplicac¸a˜o da fase da aprendizagem e´ apre- sentada na tabela 4.2. A segunda parte do algoritmo funciona como um ajuste fino dos paraˆmetros fuzzy por so´ mover as func¸o˜es de pertineˆncia em busca de um ajuste o´timo. Considerando o sistema novamente a partir do estado inicial, aplicaram-se as duas partes do algo- ritmo para a mesma sequ¨eˆncia de refereˆncias, considerando agora a fase de criac¸a˜o de regras ate´ os 35 segundos e, em seguida, a fase de otimizac¸a˜o de func¸o˜es de perti- neˆncia. A figura 4.16 mostra o desenvolvimento do sistema durante a aprendizagem. As regras criadas ate´ os 35 segundos esta˜o apresentadas na tabela 4.3. Observe que existem regras diferentes criadas nesta nova aplicac¸a˜o. Esta situac¸a˜o e´ poss´ıvel grac¸as a` pol´ıtica empregada pelo algoritmo de se adaptar as condic¸o˜es atuais da planta e desta forma, criar uma base de regras atual baseada na dinaˆmica da planta no momento em que entra em operac¸a˜o. 45 Figura 4.16: Etapas de criac¸a˜o de regras ate´ 35 segundos quando a otimizac¸a˜o de func¸o˜es de pertineˆncia do controlador comec¸a a atuar. 46 Figura 4.17: Modificac¸a˜o das func¸o˜es de pertineˆncia com a finalidade do ajuste fino do controlador. Analisando as func¸o˜es de pertineˆncias (figura 4.17) e´ poss´ıvel observar a com- pensac¸a˜o fornecida pelo algoritmo para a func¸a˜o de pertineˆncia de sa´ıda com a finalidade de calibrar o aˆngulo zero da planta, assim como, causar um ajuste fino do controlador. Depois de treinado, o controlador foi aplicado novamente a` mesma sequ¨eˆncia de refereˆncias. O resultado pode ser analisado na figura 4.18. Observe que a refereˆncia passou a ser perseguida com maior fidelidade o que reduziu o erro de forma geral. Atribuindo uma nova sequ¨eˆncia de refereˆncias, aplicando o algoritmo de criac¸a˜o de regras nos primeiros 35 segundo e, em seguida, aplicando a otimizac¸a˜o das func¸o˜es de pertineˆncia, obtivemos um novo conjunto de regras e func¸o˜es de pertineˆncia ilustradas na tabela 4.4 e na figura 4.19, respectivamente. 47 Figura 4.18: Sa´ıda obtida apo´s o treinamento do controlador. 48 Tabela 4.4: Regras encontradas apo´s 35 segundos de criac¸a˜o de regras Variac¸a˜o do Erro NG NP ZE PP PG E NG - - - - - R NP NG - NM PM PG R ZE NG NP ZE PP - O PP NG NP PP PG PG PG - - - - - Tabela 4.5: Regras obtidas apo´s o treinamento utilizando a trave de refereˆncia Variac¸a˜o do Erro NG NP ZE PP PG E NG - - - - - R NP NG NP NP PP PG R ZE NG NP ZE PP PG O PP NG NM PP PM PG PG NG PG PG PG - Uma situac¸a˜o de assimetria ocorreu na func¸a˜o de pertineˆncia central (corres- pondente a` pertineˆncia ZE) da segunda entrada (Variac¸a˜o do erro) do controlador neuro-fuzzy. Mesmo sabendo que o algoritmo tende a ajustar os dois lados simetrica- mente, as restric¸o˜es a formac¸a˜o de lacunas entre as func¸o˜es de pertineˆncia possibilita essa condic¸a˜o de assimetria. O resultado obtido e os aˆngulos de refereˆncia fornecidos pelo controlador podem ser vistos nas figuras 4.20 e 4.21, respectivamente. O ultimo teste foi feito com a refereˆncia obtida a partir da trave de refereˆncia. Apo´s cerca de 70 segundos de treinamento, considerando criac¸a˜o de regras e otimiza- c¸a˜o de func¸o˜es de pertineˆncia, chegou-se a` base de regras da tabela 4.5 e a`s func¸o˜es de pertineˆncia da figura 4.22. A dinaˆmica da planta e os aˆngulos de refereˆncia fornecidos pelo controlador esta˜o ilustrados nas figuras 4.23 e 4.24. Os gra´ficos das figuras 4.25 e 4.26 mostram o comportamento da planta para os treˆs controladores apresentados. Estes gra´ficos na˜o podem ser utilizados para 49 Figura 4.19: Modificac¸a˜o das func¸o˜es de pertineˆncia com a finalidade de ajuste fino do controlador. 50 Figura 4.20: Comportamento da planta para nova sequ¨eˆncia de refereˆncias. 51 Figura 4.21: Aˆngulos de refereˆncia fornecidos pelo controlador para nova sequ¨eˆncia de refereˆncias. 52 Figura 4.22: Func¸o˜es de pertineˆncia obtidas apo´s o treinamento utilizando a trave de refereˆncia. 53 Figura 4.23: Comportamento da planta para nova sequ¨eˆncia de refereˆncias. 54 Figura 4.24: Aˆngulos de refereˆncia fornecidos pelo controlador utilizando a trave de refereˆncia. 55 Figura 4.25: Comportamento da planta para os controladores projetados e refereˆncia em forma de seno´ide. comparar as te´cnicas desenvolvidas ja´ que o controlador ANFIS copiou o controlador PID e este na˜o e´ o´timo, ja´ o controlador NEFCON e´ o´timo pela sua pro´pria estrutura. 56 Figura 4.26: Comportamento da planta para os controladores projetados e refereˆncia em forma de degrau-seno´ide. 57 Cap´ıtulo 5 Concluso˜es A unia˜o de diferentes ferramentas de inteligeˆncia artificial tem possibilitado a proposta de te´cnicas h´ıbridas para o controle de plantas e processos complexos, mesmo em casos na˜o lineares. Estes controladores h´ıbridos teˆm se consolidado como uma importante a´rea de pesquisa e desenvolvimento, pois em um u´nico controlador podem ser encontradas caracter´ısticas favora´veis de duas ou mais te´cnicas. Neste trabalho foram desenvolvidos dois controladores neuro-fuzzy, baseados em modelos distintos, para o controle do sistema ball and beam. O controlador baseado no modelo ANFIS foi desenvolvido com uma aprendiza- gem baseada no algoritmo Back-propagation, usando pares de treinamento extra´ıdos de um controlador PID, e, ale´m de controlar o sistema ball and beam, eliminou as altas variac¸o˜es do sinal de controle na etapa de aprendizagem. Ja´ o controlador baseado no modelo NEFCON utilizou para seu aprendizado uma te´cnica fundamen- tada em aprendizagem por reforc¸o, com algumas alterac¸o˜es, e tambe´m conseguiu resultados satisfato´rios, pois implementou com sucesso a tarefa de controlar o sis- tema ball and beam. Por oferecer uma interface mais simples, o modelo NEFCON apresentou uma melhor interac¸a˜o entre o usua´rio e o algoritmo para a modificac¸a˜o da estrutura por parte do usua´rio, pois neste modelo o usua´rio necessitava informar apenas os intervalos para as entradas e sa´ıda do controlador. Esta caracter´ıstica possibilitou uma aprendizagem voltada a`s necessidades do usua´rio. 58 A utilizac¸a˜o de intervalos para as entradas no modelo NEFCON reforc¸ou ainda mais a interac¸a˜o do usua´rio com o algoritmo e esta abordagem consagrou-se como a principal contribuic¸a˜o deste trabalho para a implementac¸a˜o deste modelo. As duas te´cnicas inteligentes h´ıbridas foram empregadas com sucesso sobre a planta. Contudo, o valor inicial para algumas varia´veis ajusta´veis de ambos contro- ladores necessitou de uma escolha em raza˜o da sua atuac¸a˜o e na˜o foram arbitra´rias, pois levavam a` na˜o convergeˆncia dos algoritmos utilizados. A possibilidade de inserc¸a˜o de uma tabela de regras, ou mesmo, func¸o˜es de pertineˆncias pre´-determinadas para os controladores h´ıbridos desenvolvidos, e´ uma caracter´ıstica que compatibiliza estes controladores com os controladores que ja´ veˆm sendo usados no mercado, permitindo a migrac¸a˜o suave das te´cnicas convencionais para estas novas te´cnicas. Te´cnicas de otimizac¸a˜o como algoritmos gene´ticos, coloˆnias de formigas, entre outros, sa˜o mais algumas te´cnicas que podem promover o aperfeic¸oamento ainda maior dos modelos h´ıbridos, e podera˜o inserir, no futuro, caracter´ısticas como mu- tac¸a˜o ou a evoluc¸a˜o das va´rias formas associadas a`s estruturas. Outro fator que podera´ ser analisado e´ a compatibilidade dos modelos desenvolvidos, a fim de aplicar ambos a uma mesma planta, de forma que, estes modelos colaborem ou concorram entre si. Alterac¸o˜es nas estruturas dos modelos desenvolvidos, como os formatos das func¸o˜es de pertineˆncias, t-normas e t-conormas, poderiam ser analisadas e, desta forma, fornecer um estudo mais preciso a respeito de ambas as te´cnicas. 59 Refereˆncias Bibliogra´ficas A. C. Guyton & J. E. Hall, Tratamento de Fisiologia Me´dica, 90 edic¸a˜o, Ed.Guanabara Koogan, 1997. A. El Hajjaji & S. Bentalba, Fuzzy Path Tracking Control for Automatic steering of vehicles, Robotics and Autonomous Systems, Elsevier Science, pp.203-213, 2003. A. Nu¨rnberger, D. Nauck & R. Kruse, Neuro-Fuzzy Control Based on the NEFCON Model: Recent Developments, Soft Computing 2, pp.168-182, 1999. A. Valishevsky, Adaptive Learning Algorithm for Hybrid Fuzzy System, [online] , University of Latvia, Department of Computer Science, 2002. C. C. Lee, Fuzzy logic in control systems: Fuzzy logic controller (part i), IEEE Transactions on Systems, Man, and Cybernetics, vol.20, no.2, pp.404-418, 1990. E. H. Mamdani & S. Assilian, An experiment in linguistic synthesis with a fuzzy logic controller, Int. J. Man-Machine Studies, vol.7, pp.1-13, 1975. E. Purwanto, S. Arifin & B-S. So, Application of Adaptive Neuro Fuzzy Inference System on the Development of the Observer for Speed Sensor Less Introduction Mo- tor, IEEE Catalogue, no.01ch37239, pp.409-414, 2001. H. Hong & L. Jian-Hua, Fingerprint Matching Using ANFIS, Shangai Jiaotong University, IEEE, pp.217-222, 2003. J. A. D. Rezende & A. L. Maitelli, Um Estudo Comparativo Entre Diferentes Te´cni- 60 cas de Otimizac¸a˜o do Treinamento de Neurocontroladores, Congresso Brasileiro de Redes Neurais, Sa˜o Jose´ dos Campos-SP, 1999a. J. A. D. Rezende & A. L. Maitelli, Um Esquema de Neurocontrole com Treinamento em Tempo Real Aplicado ao Posicionamento de Um Servomotor, Simpo´sio Brasileiro de Automac¸a˜o Inteligente, Sa˜o Paulo-SP, 1999b. J. Apkarian, A Comprehensive and Modular Laboratory for Control System Design and Implementation, Ed.Quanser Consulting, 1995. J. Goodman, D. Heckerman & R. Rounthwaite, GUERRA ANTI-SPAM, Scientific American Brasil, no.36, pp.84-91, 2005. J. P. B. M. Oliveira. Review of Auto-tuning Techniques for Industrial PI Controllers, Dissertac¸a˜o de Mestrado, University of Salford, 1994. J. R. Jang & Chuen-Tsai S., Neuro-Fuzzy Modeling and Control, Proceedings of the IEEE, vol.83, no.3, pp.378-406, 1995. J. R. Jang, Chuen-Tsai S. & E. Mizutani, Neuro-Fuzzy and Soft Computing, A Computational Approach to Learn and Machine Intelligence, Prentice-Hall, 1997. L. A. Zadeh, Fuzzy sets, Information and Control, vol.8, pp.338-353, 1965. L. S. Coelho & A. A. R. Coelho. Algoritmos Evolutivos em Identificac¸a˜o e Controle de Processos: uma Visa˜o Integrada e Perspectivas, SBA Controle & Automac¸a˜o, Vol.10, no.01, 1999. M. C. Rodrigues, A. L. Maitelli & F. M. Arau´jo, Controle Neuro-Fuzzy com Treina- mento em Tempo Real Aplicado a um Sistema Ball and Beam, Congresso Brasileiro de Automa´tica, Gramado-RS, 2004. M. I. Berto, F. R. Sa´ & V. Silveira. Avaliac¸a˜o de Controle PID Adaptativo para um Sistema de Aquecimento Resistivo de A´gua, Cieˆnc. Tecnol. Aliment., Campinas, 2004. 61 M. Sugeno & G. T. Kang, Structure Identification of Fuzzy Model, Fuzzy Sets and Systems, vol.28, pp.15-33, 1988. O. G. Filho, Contribuic¸o˜es a` Ana´lise de Robustez de Sistemas de Controle Usando Redes Neurais, Tese de Doutorado, PPgEE-UFRN, 2004. R. S. Sutton & A. G. Barto, Reinforcement Learning, An Introduction, Bradford Book, 1998. S. Haykin, Redes Neurais Artificiais: Princ´ıpios e pra´tica, 20 edic¸a˜o, Ed.Bookman, 2001. S. Sandri & C. Correa, Lo´gica Nebulosa, V Escola de Redes Neurais, ITA-SP, pp:c073-c090, 1999. T. G. B. Amaral & M. M. Criso´stomo, Neuro-Fuzzy Controller for Helicopter Motion Control, International Fuzzy Sistems Conference, IEEE, pp.594-597, 2001. T. Takagi & M. Sugeno, Fuzzy identification of systems and its applications to mo- deling and control, vol.15, pp.116-132, 1985. Y. Tsukamoto, An Approach to fuzzy reasoning method, Advances in Fuzzy Set Theory and applications, Madan M. Gupta, Rammohan K. Ragade and Ronald R. Yager, Ed. Amsterdam: North-Holland, pp.137-149, 1979. 62