Controle adaptativo genético indireto para sistemas não lineares e
Transcrição
Controle adaptativo genético indireto para sistemas não lineares e
CONTROLE ADAPTATIVO GENETICO INDIRETO PARA SISTEMAS NÃO LINEARES E OTIMIZAÇÃO DE CONTROLADORES PID UTILIZANDO ALGORTIMOS GENÉTICOS Alvaro Talavera López [email protected] Departamento de Engenharia Elétrica, Pontifícia Universidade Católica do Rio de Janeiro Rua Marquês de São Vicente, 225, Gávea, Rio de Janeiro, RJ - Brasil, 22453-900 RESUMO Este trabalho apresenta duas aplicações de algoritmos genéticos para aplicações de controle de processos. A primeira é sintonizar um controlador PID mediante algoritmos genéticos, a segunda aplicação é um controlador adaptativo genético indireto, para aplicações em sistemas não-lineares e variantes no tempo. Palavras-chave: Algoritmos genéticos, controle PID, estimação, sistemas não-lineares. Abstract Os algoritmos genéticos (AG) têm aplicações em muitas áreas no campo de otimização de sistemas. Estas aplicações estão dentro na área de controle de processos onde a otimização envolve muitos tipos de controladores e estimadores. Neste caso utilizaremos algoritmos genéticos para otimizar as constantes proporcional, derivativa e integral num controlador PID com o objetivo de minimizar o erro de saída com respeito à trajetória desejada. A segunda aplicação consiste no projeto de um controlador mais experto que aproveita todas as vantagens de um algoritmo genético para o controle e estimação de um sistema não-linear e variante no tempo. Este tipo de abordagem se assemelha ao controle adaptativo indireto. This paper presents two applications of genetic algorithms for control applications processes. The first is to tune a PID controller using genetic algorithms; the second application is an indirect genetic adaptive controller for applications in non-linear and time varying systems. Keywords: genetic algorithms, PID control, estimation, nonlinear systems. 1 INTRODUÇÃO No caso da otimização de parâmetros do controlador PID, existe uma vasta bibliografia [12,4] onde se abordam estes problemas. Além disso, novas pesquisas têm sido realizadas no sentido de melhorar a convergência do algoritmo genético e garantir um bom desempenho [3]. No caso do controlador adaptativo genético, Passino e Lennon [5], fizeram uma proposta deste projeto de controladores. A base desta pesquisa se encontra em [5][6][7], em [8] se tem uma teoria de aplicações em estimação de sistemas utilizando algoritmos genéticos e em [9] se encontra uma aplicação em um tanque de repouso que é nosso exemplo. Este artigo é organizado da seguinte forma: a seção 2 aborda os algoritmos genéticos como otimizadores de controladores PD, com aplicação em uma planta linear de quarta ordem. A seção 3 aborda um controlador genético mais sofisticado, que utiliza o algoritmo genético para otimizar e controlar uma planta não-linear. A seção 4 mostra as conclusões e algumas recomendações para este projeto. 2 OTIMIZADOR DE CONTROLADORES PID UTILIZANDO ALGORTIMOS GENÉTICOS O algoritmo genético é utilizado para otimizar uma função objetivo baseado em um controlador PID. A equação de um controlador PID é a seguinte: (1) Onde kd, kp e ki são constantes derivativas, proporcional e integral ao erro entre a saída desejada e a saída real de meu processo. A figura 1 mostra o diagrama de um processo controlado por um PID, com um sistema de segunda ordem qualquer, onde a trajetória desejada é r(t), o erro entre a saída desejada e saída do processo é e(t), u(t) é a lei de controle gerada pelo PID e y(t) é a saída do processo. A avaliação do desempenho de um controlador PID é dada pelo overshoot ou assentamento, definido pela porcentagem em que a resposta excede a saída desejada, tempo de subida ou o tempo da resposta do sistema e o tempo de estabelecimento que é o tempo no qual o sistema permanece em regime permanente, como detalhado na figura 2. Figura 1. Sistema de controle PID. Figura 2. Resposta no degrau unitário. O sistema a ser controlado é de ordem 4, linear e invariante no tempo, como mostra o seguinte modelo: Neste modelo, foi projetado um controlador PID seguindo o método Ziegler Nichols [10], um método clássico para determinar os parâmetros de um PID. O tipo de resposta obtida é apresentada na figura 3. Figura 3. Resposta no sistema utilizando ZieglerNichols. Para as simulações foi utilizada uma biblioteca de rotinas (toolbox) do AG, criadas especialmente para trabalhar no ambiente Matlab®. Vários parâmetros controlam o processo de evolução em um AG, tais como: tamanho da população, taxa de cruzamento (crossover), taxa de mutação e número de gerações, que é o número total de ciclos de evolução de um AG. A Tabela I apresenta os parâmetros adotados para o AG neste trabalho: Tabela I Tamanho da população Número de gerações Espaço de busca Método de seleção Taxa de cruzamento Taxa de mutação 80 100 [0, 200] Norma geométrica Aritmético 0,4 0,1% A função de avaliação (Fitness) é o conceito mais importante no desenvolvimento de um algoritmo genético. Essa função é específica para cada aplicação, e deve representar o comportamento dos cromossomos que, nesse caso, representam os parâmetros do controlador. A função Fitness deve fornecer a informação de quão adequado é o controlador, quando sintonizado com os parâmetros escolhidos pelo AG. Foram utilizadas 3 funções de avaliação: ITAE (integral do tempo vezes o erro absoluto), IAE (integral da magnitude absoluta do erro) e ISE (integral do quadrado do erro), as funções de avaliação se mostram nas equações seguintes. Segundo as tabelas II e III, o melhor resultado foi o algoritmo genético que utilizou como função objetivo ITAE, o qual podemos com0parar com o método formal de Ziegler-Nichols [10] que utiliza o lugar de raízes ou (Root locus) como um método convencional para avaliar os ganhos kp, kd e ki, do controlador. A figura 4 mostra a resposta do sistema a degrau unitário e a figura 5 apresenta a evolução e convergência dos ganhos do controlador. (2) (3) (4) Os resultados da otimização do algoritmo genético em função do overshoot, rise time e settling time são mostrados na tabela II. Na tabela III são apresentadas as constantes (kp, kd e ki) encontradas pelo algoritmo genético. Figura 4. Resposta no sistema utilizando algoritmo genético. Tabela II Tabela III Figura 5. Evolução das constantes de controle. 3 CONTROLE ADAPTATIVO GENÉTICO INDIRETO Nesta seção é apresentada uma nova abordagem de controladores genéticos mais avançados. Um híbrido com controle adaptativo indireto convencional, com aplicações especiais em plantas não-lineares e variantes no tempo, onde o controlador deve identificar ou estimar os parâmetros da planta a cada instante fazendo um seguimento sem a planta. Estes parâmetros variados irão cumprir uma função objetivo e a minimização desta função irá resolver a melhor lei de controle u(t) para que a planta tenha o comportamento da trajetória desejada. Portanto, em nossa aplicação é proposto um controlador genético online para o controle de processo de sistemas não-lineares e variantes no tempo. Este sistema permite a identificação online do processo e obtenção de uma lei de controle ótima para controlar o sistema. Figura 6. Tanque de repouso. onde: u(t) = entrada de fluxo h(t) = nível de líquido A(h(t)) = área de seção transversal tanque. r(t) = nível de líquido desejado do A equação diferencial do modelo (equação 5) é discretizada pelo método de Euler (equação 6), na equação 7 ocorre a saturação na válvula do fluxo e, finalmente, na equação 8 asseguramos que h(t) não seja negativo fazendo com que o mínimo seja 0,001. (5) AG (6) Projeto de controlador Identificação sistemas (7) Controle Planta (8) Figura 5. Controlado adaptativo genético indireto. A figura 5 mostra a configuração deste controlador através do diagrama de blocos. Pode-se verificar que o algoritmo genético controla todo o sistema e não depende de um modelo linear, como no caso de um controlador PID, abordado na seção anterior. No caso de uma planta não-linear, seu esquema e equações detalhadas são dadas abaixo: A partir deste ponto descreveremos o procedimento para desenvolvimento de um controlador genético adaptativo indireto. Sistemas em tempo discretos não-lineares: (9) A equação 9 mostra a saída de um sistema discreto não–linear, que consiste em uma função não-linear em função de seu estado e sua saída. Esta equação também pode ser expressa em função de parâmetros para o estado e para a entrada do modelo. (10) Portanto podemos determinar o sinal de entrada em função dos parâmetros não-lineares, estados e saídas, como mostrado a equação 11. (11) Para resolver esta equação necessita-se estimar os parâmetros dados nas equações 12-13: Neste ponto o algoritmo genético encontrado θα(k) e θβ(k) (equação 16) trata de minimizar uma função custo (equação 17). Dessa forma, o cromossomo será dado pela equação 16 e a função objetivo descrito pela equação 17. Em nosso caso a equação 6 será reescrita da mesma forma que a equação 10: (12) (13) Portanto a equação 11 pode ser escrita de maneira similar a equação 14. Com respeito a seus valores estimados, observa-se que r(k) = y(k) uma vez que a saída desejada é um valor determinado. Verifica-se que o modelo tem linearidades e nãolinearidades e, portanto, devemos escolher parte da equação e a substituímos pelos parâmetros da seguinte forma: (14) O calculo do erro é dado pela saída estimada menos a saída de meu processo: Substituindo os parâmetros na equação 14: A saída estimada é dada por: O cromossomo será: Portanto, o erro já pode ser calculado como: θα1θβ1 θα2θβ2 ... θαiθβi (15) A função fitness será dada por: O objetivo destas contas é ter uma função do erro em função dos parâmetros, de modo a minimizar essa função: (16) (17) Onde: a probabilidade de mutação é 0.05, de crossover 0.9, com uma população de 10 e . Desta forma o AG deve maximizar a função fitness. Figura 9. Media da função fitness 4 CONCLUSÕES Figura 7. Resposta de controle adaptativo genético indireto para o tanque de repouso. A figura 7 mostra a resposta do controlador genético com o respectivo sinal de controle. Observa-se que no início, o sistema vai se adaptando até que após um pequeno tempo o controlador genético estima e controla o tanque de repouso, com um bom desempenho. Figura 8. Identificação e estimação dos parâmetros da planta. A figura 8a mostra a identificação na saída da planta no qual é observado um bom desempenho. As Figuras 8b e 8c estimam os parâmetros α e θβ. A figura 9 mostra a média do fitness da população e se verifica que o gráfico começa a maximizar logo nos primeiros instantes, porém aumenta e constantemente devido às mudanças na referencia. Neste artigo foram apresentadas técnicas de controle convencional e sofisticadas para aplicações de controle de processos. Na primeira seção se mostra o algoritmo genético para otimizar o controlador PID para uma plana de quarto ordem, obtendo um melhor desempenho que o método tradicional de Ziegler Nichols. Uma conclusão importante e que o desempenho do controlador PID utilizando algoritmos genéticos muito vá a depender da função objetivo (fitness) como se mostra na tabela II. Embora o algoritmo genético tenha um bom desempenho esta limitado por o modelo linear do controlador PID. Nesta seção se suguiere a utilização de mais variáveis observadas da função fitness como a utilização da sinai de controle u(t). Na seção 3 se apresento um controlador mais avançado, para resolver problemas de sistemas não lineares. Este controlador utiliza a teoria de controle adaptativo indireto utilizando um forte método de otimização como é o algoritmo genético, dando como resultado o bom desempenho do controlador. neste tipo de controlador se propõe o uso para plantas multivariáveis e variantes no tempo, onde não se tenho um modelado exato da planta. REFERÊNCIAS [1] [2] Ian Griffin “On-line PID Controller Tuning using Genetic Algorithms” DCU. 2003. Luiz Eduardo N. do P. Nunes, Vitor G. Rosado, Francisco Grandinetti. “Ajuste dos parâmetros de um controlador proporcional, integral e derivativo através de algoritmos genéticos”. Rev. ciênc. exatas, Taubaté, v. 9/10, n.1-2, p. 47-52, 2003/2004. [3] Xiangzhong Meng and Xiangzhong Meng Baoye Song “Fast Genetic Algorithms Used for PID Parameter Optimization” Proceedings of the IEEE International Conference on Automation and Logistics August 18 - 21, 2007, Jinan, China. [4] Saifudin Bin Mohamed. A dissertation “The PID Controller Desing Using Genetic Algorithm”.. University of Southern Queensland. Faculty of Engineering and Surveying. 2005. [5] Lennon W.K., Passino, K.M., “Genetic Adaptive Identification and Control,” Engineering Applications of Artificial Intelligence, Vol. 12, No. 2, pp. 185–200, April 1999. [6] La Moyne L. Porter II and Kevin M. Passino. “Genetic Model Reference Adaptive Control”. 1994 IEEE International Symposium on Intelligent control. 16-10 August, 1994. Columbus, Ohio. USA. [7] Moore M.L., Musachio J., Passino K.M. “Genetic Adaptive Control for an Inverted Wedge,” Engineering Applications of Artificial Intelligence, Vol. 14, No. 1, pp. 1-14, Feb. 2001. [8] W.K. Lennon, K.M. Passino. “Genetic Adaptive Identification and Control”. Pergamon. Engineering Applications of Artificial Intelligence 12. 185 – 200. 1999. [9] Kevin M. Passino. “Biomimicry for Optimization, Control, and Automation”. Springer. 2005. [10] K. Ogata. “Ingeniería de Control Moderna” 4 Edición. Prentice Hall. 2003.