CONTROLE ADAPTATIVO GENETICO INDIRETO PARA SISTEMAS NÃO LINEARES E OTIMIZAÇÃO DE CONTROLADORES PID UTILIZANDO ALGORTIMOS GENÉTICOS
Alvaro Talavera López alvaro@ele.puc-rio.com
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
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
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.
No caso da otimização de parâmetros do controlador PID, existe uma vasta bibliografia [1-2,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:
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 Ziegler-Nichols.
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 80 Número de gerações 100 Espaço de busca [0, 200]
Método de seleção Norma geométrica Taxa de cruzamento Aritmético 0,4 Taxa de mutação 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.
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.
Tabela II
Tabela III
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.
Figura 4. Resposta no sistema utilizando algoritmo genético.
Figura 5. Evolução das constantes de controle. (2)
(4) (3)
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 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:
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 do tanque.
r(t) = nível de líquido desejado
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.
A partir deste ponto descreveremos o procedimento para desenvolvimento de um controlador genético adaptativo indireto.
Sistemas em tempo discretos não-lineares:
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 Planta Identificação sistemas Projeto de controlador Controle AG (5) (6) (7) (8) (9)
parâmetros para o estado e para a entrada do modelo.
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.
Para resolver esta equação necessita-se estimar os parâmetros dados nas equações 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.
O calculo do erro é dado pela saída estimada menos a saída de meu processo:
A saída estimada é dada por:
Portanto, o erro já pode ser calculado como:
O objetivo destas contas é ter uma função do erro em função dos parâmetros, de modo a minimizar essa função:
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:
Verifica-se que o modelo tem linearidades e não-linearidades e, portanto, devemos escolher parte da equação e a substituímos pelos parâmetros da seguinte forma:
Substituindo os parâmetros na equação 14:
O cromossomo será:
θα1θβ1 θα2θβ2 ... θαiθβi A função fitness será dada por:
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. (12) (13) (11) (14) (16) (15) (17) (10)
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.
Figura 9. Media da função fitness
4 CONCLUSÕES
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] Ian Griffin “On-line PID Controller Tuning using Genetic Algorithms” DCU. 2003. [2] 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.