Algoritmos Genéticos Aplicados a Projeto de Controle com Realimentação de Estados Phelipe S. Oliveira 1, Luciano S. Barros1, Luiz G. de Q. Silveira Júnior2 1 Mestrado em Ciência da Computação– Universidade Federal Rural do Semi-Árido (UFERSA) - Mossoró, RN – Brasil 2 Departamento de Comunicações Óticas - Universidade Federal do Rio Grande do Norte (UFRN) - Natal, RN - Brasil {phsena2000,lsalesbarros}@gmail.com, [email protected] Abstract. For control design in the state space, the control strategy is the states feedback and the most used techniques are the LQR and the LQG. In despite of the good results obtained from these methods, the control design is not a trivial task due to the trial and error method involved in the definition of weight matrices. In this work, it proposes a states feedback technique in which there are no trial and error processes involved and the control design is carried out to fulfill specifications, for maximum overshoot and accommodation time. The proposed technique is based on the modification of the states transition matrix and uses genetic algorithms. The obtained results show that is possible to design controllers which fulfill design specifications. Resumo. Em projeto de controle no espaço de estados, a estratégia é a realimentação de estado e as técnicas mais utilizadas são LQR e LQG. Apesar de bons resultados obtidos por esses métodos, o projeto de controle não é uma tarefa simples devido ao processo de tentativa e erro envolvido na definição de matrizes peso. Propõe-se uma técnica de realimentação de estados em que não há o processo de tentativa e erro envolvido e o projeto de controle é feito para cumprir especificações, de máximo sobre-sinal e tempo de acomodação. A técnica proposta é baseada na modificação da matriz de transição de estado e usa algoritmos genéticos. Os resultados obtidos mostram que é possível projetar controladores que satisfaçam especificações. 1. Introdução Atualmente, as exigências para os sistemas de controle são mais rigorosas devido à necessidade de realizar tarefas mais complexas e de alta precisão. A fim de satisfazer as crescentes demandas para o projeto de controle, é necessário usar a teoria de controle moderno, que se aplica a sistemas complexos de múltiplas entradas e múltiplas saídas (MIMO), linear ou não linear [Ogata 2003]. O projeto de controle para sistemas MIMO requer uma representação no espaço de estados e usa realimentação de estados como estratégia de controle. O desempenho do sistema de controle depende dos parâmetros calculados através da utilização de técnicas de otimização. As técnicas mais usadas para projeto de controle com realimentação de estados são Linear Quadratic Regulator (LQR) e Linear Quadratic Gaussian Regulator (LQG) [Dorf and Bishop 2009]. A despeito dos bons resultados obtidos a partir desses métodos, o projeto de controle não é uma tarefa simples devido ao método de tentativa e erro envolvido na definição de matrizes peso. Nesse trabalho, é proposto um algoritmo genético (AG) cuja evolução ocorre de forma a atender as especificações de projeto. Assim, não há matrizes peso a serem escolhidas evitando o método de tentativa e erro na busca de parâmetros de controle. As especificações de projeto são máximo sobre-sinal e o tempo de acomodação. O AG proposto apresenta resultados tão bons quanto os resultados apresentados pelo método LQR, e a busca de parâmetros de controle é simplificada pela técnica proposta. 2. Projeto de Controle por Realimentação de Estado A teoria de controle moderno é aplicada a sistemas de entradas e saídas múltiplas, lineares ou não-lineares, e trabalha no domínio do tempo. A teoria de controle moderno é baseada no conceito de estado. Equações no espaço de estados envolvem três tipos de variáveis presentes na modelagem de sistemas dinâmicos: variáveis de entrada, variáveis de saída e variáveis de estado. As equações de estado são representadas como mostrado a seguir [Dorf and Bishop 2009]: Em que , , e é o vetor de estado, ̇= + (1) = + (2) é o vetor de entrada e é o vetor de saída. são as matrizes do modelo no espaço de estado. 2.1. Solução da Equação de Estado Considerando a equação de estado para casos homogêneos ̇( ) = ( ) (3) A solução da equação (3), via Transformada de Laplace, é: ( )− (0) = ( ) (4) Portanto, ( − ) ( )= ( 0) (5) Onde I é a matriz identidade. Pré-multiplicando ambos os lados da Equação (5) por ( ( )= ( − ) − ) , obtemos ( 0) (6) A Transformada Inversa de Laplace de ( ) fornece a solução ( ). Então, ( )= ( 0) (7) Podemos escrever a solução da equação de estado homogênea como: ( ) = Φ( ) (0) (8) Onde Φ( ) é uma matriz × , denominada matriz de transição de estados. Esta matriz descreve o comportamento temporal das variáveis de estado do sistema. 3. Algoritmo Genético Aplicado em Projeto de Controle 3.1 Estratégia de Controle Na estratégia de controle no espaço de estados a alocação de pólos pode ser executada a fim de obter uma resposta dinâmica satisfatória. Em sistemas mais sofisticados esta tarefa pode exigir cálculos computacionais, mas estamos especialmente interessados em obter um procedimento de ajuste de parâmetros do controlador que dá respostas dinâmicas com o mínimo sobre-sinal e o menor tempo de acomodação, ambos previamente definidos pelo projetista. Vamos considerar o modelo de espaço de estado geral linear descrito pelas equações (1) e (2), e fazer com que a regra de realimentação de estado seja =− (9) Assim, a Equação (1) torna-se ̇ =( − ) (10) Como mostrado em (7), a solução geral da equação de estado é dada como uma função da matriz de transição de estado, Φ( ), que para o sistema realimentado em (10) é ( Φ( ) = ) (11) Agora, o comportamento temporal das variáveis de estado depende da matriz de ganho de realimentação . Para um sistema de ordem , temos ( ) ( ) Φ( ) = ( ) ( ) ⋮ ( ) ⋮ ( ) com … … ⋱ … ( ) ( ) ⋮ ( ) Onde todos os elementos de Φ são funções de elementos de entradas: = ⋮ ⋮ … … ⋱ … . Para um sistema ⋮ O AG proposto é usado para obter os elementos de que atendam a critérios de máximo sobre-sinal e tempo de acomodação do sistema realimentado. Para atingir este objetivo, os elementos de Φ são tomados como funções de custo simultaneamente. É observado a utilização de AG em sistemas de controle como em [Vieira, et al 2008] e [Zhu et al 2009]. 3.2. Algoritmo Genético Proposto Algoritmos genéticos, quando aplicados para resolver problemas de otimização podem fornecer as melhores soluções em menor tempo que o necessário para avaliar todas as soluções possíveis [Sivanandam and Deepa 2008]. O primeiro passo para qualquer aplicação onde AG é usado consiste em definir uma representação dos cromossomos a fim de descrever cada indivíduo da população de interesse [Holland 1975]. Especificamente, cada indivíduo da população (ou cromossomo) é formado por uma seqüência de genes definidos em um determinado alfabeto (valores reais ou binários, além de outros) [Wang, et al. 2006]. Neste trabalho a representação por valores reais foi escolhida para os genes, onde cada cromossomo é representado da seguinte maneira: Figura 1. Representação de um cromossomo em um sistema de ordem 2. Antes de iniciar o AG, o usuário especifica valores para o tempo de acomodação, e overshoot máximo, , que são os scores utilizados para avaliar uma solução. Depois, o AG começa com uma população inicial de tamanho pré-definido (30 para esse caso), geralmente um conjunto de soluções possíveis geradas aleatoriamente, e através da aplicação de operadores como cruzamento (crossover) e mutação uma nova geração é obtida continuando o ciclo até que o critério de parada seja satisfeito (onde a melhor solução terá o maior valor de fitness) [Haupt and Haupt 2004]. A Figura 2 mostra o fluxo de processamento completo do método proposto. Figura 2. Fluxograma do Algoritmo Genético. A seleção dos indivíduos é feito por roleta viciada, melhores indivíduos com maiores chances de reproduzirem, juntamente com a seleção por ranking que ordena os indivíduos e atribui ao melhor indivíduo uma fatia na roleta, ao segundo melhor uma fatia um pouco menor do que o primeiro, e assim sucessivamente. O uso da seleção por ranking evita problemas com super indivíduos que dominam a roleta e com avaliações negativas, pois, a roleta viciada atribui suas partes diretamente proporcionais com a avaliação de cada indivíduo. As taxas de Cruzamento e Mutação que melhor contribuíram para uma convergência mais rápida em busca da solução foram 45% e 1.6%. Uma técnica que também aumenta a convergência do algoritmo é o elitismo. Evita que o AG não elimine boas soluções no decorrer das gerações, isso é feito com a preservação do melhor indivíduo para uma geração posterior. 4. Resultados Numéricos Simulações digitais foram realizadas utilizando o MATLAB [MATLAB 2008], a fim de investigar e comparar as melhorias de desempenho produzidas pelo AG proposto e o método LQR. Esta seção apresenta os resultados de desempenho obtidos para o sistema abaixo 0 0.9 0 ; = ; = [ 0 1 ]; = [ 0 ] −1 −0.03 1 obtidos pelo AG proposto e pelo método LQR são mostrados na = os elementos de Tabela 1. Tabela 1. Dados do projeto de controle do Sistema Parâmetros do controlador AG = [8.623016 10.824402] LQR = [9.0499 10.7538] = 10% e Para o AG, as especificações utilizadas são encontrada na geração 34. = 5 . A solução foi Como o método LQR consiste em um processo de tentativa e erro, a busca pelo ganho foi feita até os autovalores da matriz − ser igual aos autovalores obtidos pelo AG. Os autovalores são apresentados na Tabela 2. Tabela 2. Autovalores do Sistema Autovalores AG = −0.8672 e = −9.9872 LQR = −0.9167 e = −9.8671 A figura 3 apresenta os resultados obtidos pelos dois métodos, e do sistema sem controle, para o comportamento temporal das variáveis de estado do sistema. Estes resultados mostram que o desempenho do AG proposto é tão bom quanto o LQR e ambos apresentam amortecimento satisfatório das oscilações. No entanto, o método de controle do AG é feito a partir de especificações do projeto e torna mais simples o projeto do controlador. 4 Variável de estado - x1 2 1 0 -1 -2 -3 -4 4 Sem Controle LQR AG 3 Variável de estado - x2 Sem Controle LQR AG 3 2 1 0 -1 -2 -3 0 5 10 Tempo(seg) 15 20 -4 0 5 10 Tempo(seg) 20 (b) (a) Figura 3. a. Resposta livre para b. Resposta livre para 15 das condições iniciais das condições iniciais ( )= ( )= e e ( )= ; ( )= . 5. Conclusões Nesse trabalho é apresentado um método que utiliza a técnica de algoritmo genético aplicado ao projeto de controle por realimentação de estados. A estratégia de controle consiste na modificação da matriz de transição de estado para o sistema realimentado. Este método foi proposto para descrever a dificuldade no processo de projeto de controle quando o método LQR é usado. Esta dificuldade consiste na definição de matrizes de peso, uma vez que essas matrizes não apresentam uma relação bem definida com o tempo de resposta do sistema controlado. Ambas as técnicas foram aplicadas no sistema e seus desempenhos comparados juntamente com o sistema sem controle. De acordo com os resultados obtidos, observa-se que o método proposto apresentou desempenho equivalente ao LQR, entretanto, apresentou a garantia da resposta para satisfazer suas especificações de máximo sobre-sinal e tempo de acomodação, uma vez que o método proposto tem o projeto baseado nestas especificações do sistema em reposta do tempo. O projetista pode também modificar estas especificações a fim de alterar os requisitos para ajustar o tempo que o sistema retorna ao seu estado inicial e o máximo sobre-sinal tolerado em casos de distúrbios. É importante ressaltar que para um tempo de amortecimento mais rápido, a energia requerida pelo controlador é maior. Referências Ogata, K. (2003) “Engenharia de Controle Moderno – 4ª EDIÇÃO”, Editora: PrenticeHall, ISBN-9788587918239. Dorf, R. C. e Bishop, R. H. (2009) “Sistemas de Controle Modernos – 11ª Edição”, Editora: LTC, ISBN-9788521617143. Vieira, J., Nunes M., Bezerra, U.H. (2008) "Design of optimal PI controllers for doubly fed induction generators in wind turbines using genetic algorithm," Power and Energy Society General Meeting - Conversion and Delivery of Electrical Energy in the 21st Century, 2008 IEEE , vol., no., pp.1-7, 20-24 July Zhu, S., Fu W., Yang J. and Luo J. (2009) "Applying Genetic Algorithm to Optimization Parameters of Missile Control System," Hybrid Intelligent Systems, 2009. HIS '09. Ninth International Conference on , vol.3, no., pp.416-419, 12-14 Aug. Sivanandam, S. N., Deepa, S. N. (2008) Introduction to Genetic Algorithms. Springer. Holland, J. H. (1975) “Adaptation in Natural and Artificial Systems”, MI: Univ. of Michigan Press. Wang, G., Zhang, M., Xu, X. and Jiang, C. (2006) “Optimization of Controller Parameters Based oh The Improved Genetic Algorithms,” Proceedings of the 6th World Congress on Intelligence Control and Automation, Junho 21-23, Dalian, China. Haupt, R. I., Haupt, S. E. (2004) Practical Genetic Algorithms. John Wiley and Sons, segunda edição. MATLAB – Versão 7.6 (2008) The Language of Technical Computing. The Mathworks.