• Nenhum resultado encontrado

Sintonia de controlador pid por meio de algoritmo genético

N/A
N/A
Protected

Academic year: 2021

Share "Sintonia de controlador pid por meio de algoritmo genético"

Copied!
88
0
0

Texto

(1)

DEPARTAMENTO DE CIÊNCIAS EXATAS E ENGENHARIAS CURSO DE ENGENHARIA ELÉTRICA

CHRISTOPHER SAUER

SINTONIA DE CONTROLADOR PID POR MEIO DE ALGORITMO GENÉTICO

Ijuí 2019

(2)

CHRISTOPHER SAUER

SINTONIA DE CONTROLADOR PID POR MEIO DE ALGORITMO GENÉTICO

Trabalho de conclusão de curso apresentado ao Curso de Engenharia Elétrica da Universidade Regional do Noroeste do Estado do Rio Grande do Sul, como requisito final para obtenção do grau de Engenheiro Eletricista.

Orientador: Prof. Dr. Manuel M. P. Reimbold

Ijuí 2019

(3)

SINTONIA DE CONTROLADOR PID POR MEIO DE ALGORITMO GENÉTICO

Este trabalho de conclusão de curso foi julgado adequado para a obtenção do grau de Engenheiro Eletricista e aprovado em sua forma final pela Comissão Examinadora e pelo Colegiado do Curso de Graduação em Engenharia Elétrica da Universidade Regional do Noroeste do Estado do Rio Grande do Sul.

Comissão Examinadora

___________________________________________________ Prof. Dr. Manuel M. P. Reimbold – DCEEng / UNIJUÍ

___________________________________________________ Prof. Me. Eliseu Kotlinski – DCEEng / UNIJUÍ

Ijuí 2019

(4)

Agradeço aos meus professors, que estabeleceram a base de minha formação acadêmica, e aos colegas de curso e de pesquisa, por servirem de apoio e motivação. Agradeço em especial ao prof. Manuel Reimbold, pela amizade e pelo empenho em expandir o horizonte de seus alunos, para que a Engenharia e as ciências sejam vistas por uma perspectiva mais ampla, além de todo suporte para a conclusão deste trabalho.

Agradeço a minha família, por toda ajuda, paciência e apoio incondicional. Em especial a meus pais, que tornaram essa empreitada possível e foram imprescindíveis para que eu a pudesse finalizar.

E agradeço ao meu Deus, o Senhor Jesus, verbo eterno, aquele em quem nos movemos e existimos, e por quem todo o universo subsiste. Porque dele e por ele, e para ele, são todas as coisas. Glória, pois, a ele eternamente.

(5)

"Natural selection can only select what is present. It can never create what is absent." Dr. Edgar Andrews

(6)

RESUMO

O presente trabalho de conclusão de curso trata do desenvolvimento de um controlador PID aplicado a aeronaves multirrotor, e sua sintonia por meio de algoritmo genético. A fundamentação teórica estabelece a base bibliográfica de Controle de Sistemas e de métodos heurísticos de busca e otimização, especificamente de algoritmos inspirados nos processos de seleção natural. É descrita a implementação de um controlador digital em uma plataforma experimental que modela um dos movimentos de um quadricóptero. São efetuados testes para diferentes conjuntos de ganhos PID obtidos a partir de execuções do algoritmo genético. O trabalho apresenta resultados gráficos e comparações com outros métodos de sintonia de controladores. Os resultados obtidos são válidos e de utilidade para a área de estudos de veículos multirrotor.

(7)

ABSTRACT

The present undergraduate thesis deals with the development of a PID controller applied to multirotor aircraft and its tuning by the means of genetic algorithm. The theoretical grounding establishes the bibliographical basis of Systems Control and heuristic methods of search and optimization, specifically of algorithms inspired by the processes of natural selection. The implementation of a digital controller on an experimental platform which models one of the movements of a quadcopter is described. Tests are performed on different sets of PID gains obtained by several executions of the genetic algorithm. The work presents graphic results and comparisons with different controller tuning methods. The results obtained are valid and valuable for the multirotor vehicles field of study.

(8)

LISTA DE FIGURAS

Figura 1 - Sistema de controle em malha fechada ... 21

Figura 2 – Resposta temporal do controlador desenvolvido por Minorsky ... 22

Figura 3 – Curva de reação do processo e tabela de fórmulas proposta por Ziegler e Nichols ... 24

Figura 4 – Método do relé ... 24

Figura 5 – Strings binárias e valores de função fitness ... 29

Figura 6 – Operador de cruzamento ... 31

Figura 7 – Roleta de seleção... 35

Figura 8 – Diagrama de blocos de um controlador PID sintonizado através de algoritmo genético ... 37

Figura 9 – Resposta do sistema sintonizado pelo algoritmo genético – variável da velocidade da aeronave em relação à atmosfera ... 38

Figura 10 – (a) Resposta do sistema sintonizado por Ziegler e Nichols, algoritmo genético comum (SGA) e algoritmo genético aperfeiçoado (IGA) e (b) curvas de convergência para os dois métodos ... 39

Figura 11 – Fluxograma do processo de sintonia por algoritmo genético utilizado pelos autores ... 40

Figura 12 – Resposta do sistema para diferentes métodos de sintonia, com destaque para o algoritmo genético iniciado com parâmetros de Ziegler e Nichols (SGA improved bound) ... 41

Figura 13 – Melhores parâmetros PID obtidos através da seleção por roleta e por torneio ... 42

Figura 14 – Plataforma experimental ... 43

Figura 15 – Motor brushless e ESC ... 44

Figura 16 – Placa de desenvolvimento com o sensor MPU6050 ... 45

Figura 17 – Eixos de movimento do sensor e da aeronave ... 45

Figura 18 – Placa de desenvolvimento contendo o microcontrolador ... 46

Figura 19 – Janela do toolbox de otimização do Matlab ... 49

Figura 20 – Três tipos de filhos criados pelo algoritmo genético ... 52

Figura 21 – Método de cruzamento scattered ... 52

(9)

Figura 23 – Método de cruzamento two point ... 53

Figura 24 – Digrama esquemático do sistema de comunicação ... 55

Figura 25 – Digrama de blocos para recepção do valor de ângulo ... 56

Figura 26 – Diagrama de blocos para cálculo do ITAE ... 56

Figura 27 – Diagrama de blocos para envio dos parâmetros PID ao microcontrolador ... 57

Figura 28 – Resposta ao degrau para parâmetros iniciais do PID ... 59

Figura 29 – Resposta ao degrau para Execução 1 do AG ... 64

Figura 30 – Resposta ao degrau para Execução 2 do AG ... 66

Figura 31 – Resposta ao degrau para Execução 3 do AG ... 67

Figura 32 – Resposta ao degrau para Execução 4 do AG ... 68

Figura 33 – Resposta ao degrau para Execução 5 do AG ... 70

Figura 34 – Resposta ao degrau para Execução 6 do AG ... 71

(10)

LISTA DE TABELAS

Tabela 1 – Ganhos do controlador PID obtidos manualmente ... 58

Tabela 2 – Resumo do Teste 1 ... 60

Tabela 3 – Resumo do Teste 2 ... 61

Tabela 4 – Resumo do Teste 3 ... 61

Tabela 5 – Resumo do Teste 4 ... 62

Tabela 6 – Resumo do Teste 5 ... 62

Tabela 7 – Resumo das definições do algoritmo genético ... 63

Tabela 8 – Limites das variáveis a serem otimizadas ... 63

Tabela 9 – Ganhos do controlador PID obtidos pela Execução 1 do AG ... 64

Tabela 10 – Limites das variáveis PID ... 65

Tabela 11 – Ganhos do controlador PID obtidos pela Execução 2 do AG ... 65

Tabela 12 – Novos limites das variáveis PID ... 66

Tabela 13 – Ganhos do controlador PID obtidos pela Execução 3 do AG ... 67

Tabela 14 – Ganhos do controlador PID obtidos pela Execução 4 do AG ... 68

Tabela 15 – Ganhos do controlador PID obtidos pela Execução 5 do AG ... 69

Tabela 16 – Ganhos do controlador PID obtidos pela Execução 6 do AG ... 70

Tabela 17 – Ganhos do controlador PID para método de Ziegler e Nichols ... 72

Tabela 18 – Resumo das características das respostas para os testes executados 73 Tabela 19 – Resumo dos parâmetros PID para o teste inicial e o melhor resultado do AG ... 73

(11)

LISTA DE SIGLAS

VANT Veículo Aéreo Não-Tripulado PID Proporcional, Integral e Derivativo ITAE Integral of Time multiply Absolute Error IAE Integral of Absolute Error

ISE Integral of Squared Error

ITSE Integral of Time multiply Squared Error AG Algoritmo Genético

MATLAB Matrix Laboratory PVC PolyVinyl Chloride

ESC Electronic Speed Controller MPU Motion Processing Unit DMP Digital Motion Processing PWM Pulse Width Modulation USB Universal Serial Bus ZN Ziegler e Nichols

Mp Maximum peak

tr Rise time

tp Peak time

ts Settling time

RAM Random Access Memory

GB Giga Byte

(12)

SUMÁRIO 1 INTRODUÇÃO ... 13 1.1 JUSTIFICATIVA ... 13 1.2 OBJETIVO GERAL ... 17 1.3 OBJETIVOS ESPECÍFICOS ... 18 1.4 CONTRIBUIÇÕES ... 18 1.5 ESTRUTURA DO TRABALHO ... 18 2 FUNDAMENTAÇÃO TEÓRICA ... 19 2.1 DEFINIÇÃO DE TERMOS ... 19 2.2 TEORIA DE BASE ... 20 2.3 REVISÃO BIBLIOGRÁFICA ... 31 3 METODOLOGIA ... 43 3.1 SISTEMA DE CONTROLE ... 43 3.2 ALGORITMO GENÉTICO ... 48 3.3 SETUP DE TESTES ... 54 4 RESULTADOS E DISCUSSÃO ... 58

4.1 CONFIGURAÇÃO DO ALGORITMO GENÉTICO ... 58

4.2 SINTONIA DO CONTROLADOR PID ... 63

5 CONCLUSÃO ... 74

5.1 CONSIDERAÇÕES FINAIS ... 74

5.2 TRABALHOS FUTUROS ... 75

6 REFERÊNCIAS BIBLIOGRÁFICAS ... 76

(13)

1 INTRODUÇÃO

O desempenho de aeronaves tipo multirrotor está diretamente relacionado à sintonia do controlador PID (Proporcional, Integral e Derivativo) que faz o controle de vôo dessas aeronaves. O processo de sintonia se dá através do ajuste dos parâmetros do controlador. O ajuste é tradicionalmente efetuado pelo uso de técnicas empíricas, aliadas a experiência técnica. Essa prática consolidada na indústria não fornece resultados aprimorados para veículos aéreos, uma vez que seu comportamento dinâmico exige a precisão no ajuste para que se obtenha uma performance de vôo confiável. Por outro lado, a sintonia do controlador pode ser feita através de modelagem matemática. Esse método, no entanto, é complexo e dispendioso, o que o torna inviável para aplicações fora do contexto acadêmico. Como obter os parâmetros ideais para o controlador, que venham a garantir o desempenho de vôo de multirrotores, de forma precisa e eficiente?

1.1 JUSTIFICATIVA

Aeronaves multirrotor são veículos aéreos com características de vôo muito versáteis que permitem um alto grau de liberdade e praticidade para as mais diversas atividades que envolvam o vôo. Assim, esses veículos têm tido uma aplicabilidade crescente em diversos campos de atuação, como monitoramento, pesquisa, sensoriamento remoto e inspeções aéreas. A consultoria profissional PwC destaca em seu relatório “Clarity from Above” que o avanço na área de aeronaves não-tripuladas se deve à crescente capacidade tecnológica e ao suporte de investimentos e regulações, levando a um valor total de aplicabilidade em todas indústrias de 127 bilhões de dólares, com destaque para o setor de infraestrutura (PRICEWATERHOUSE COOPERS, 2016).

Seu uso difundido também encontra espaço no ambiente acadêmico, como tópico de interesse para pesquisa e aprimoramento do conhecimento teórico. Liew et al. (2017) identificam sistematicamente 1318 artigos científicos produzidos na área de robótica aérea, desde 2001. Em sua pesquisa, categorizam aeronaves não-tripuladas, identificam modelos e destacam o crescimento da pesquisa nos principais periódicos internacionais dessa área.

(14)

Essas aeronaves não possuem aerodinâmica de vôo natural, em virtude de sua construção peculiar, sem asas, e, portanto, sem sustentação própria. Dessa forma, necessitam de um controlador de vôo que seja capaz de atuar sobre os propulsores eletromecânicos, produzindo as variações necessárias para que o veículo possa se sustentar e movimentar no espaço tridimensional. O controlador deve ser capaz de criar a característica de vôo de uma aeronave comum, de forma que o multirrotor possa se mover de maneira similar. Para isso, é necessário que ele utilize a resposta dos propulsores eletromecânicos como informação para comparação com o comportamento desejado. A diferença entre essas duas variáveis é chamada erro, e a tarefa do controlador é minimizá-lo.

Dentre os controladores utilizados, o PID (Proporcional, Integral e Derivativo) é o mais usual, por sua simplicidade e efetividade. O controlador PID é formado por três componentes aos quais o sinal de erro é aplicado, e as somas das atuações dos três componentes garante a resposta adequada do propulsor, eliminando o erro e garantindo o movimento adequado do veículo. Os três componentes do controlador são acompanhados, cada um, de um valor constante que multiplica a atuação individual. Esses são chamados parâmetros do PID, e é seu ajuste que permite obter uma resposta ideal.

O processo de selecionar parâmetros ideais consiste em descobrir valores numéricos que, multiplicados por cada um dos termos do PID, garantam que o controlador irá eliminar o erro, atingindo o valor de referência do sistema. Esse valor de referência pode ser entendido como a velocidade necessária para cada propulsor eletromecânico, de forma que venham a contribuir corretamente para o movimento da aeronave. A variação dos parâmetros se reflete no desempenho da aeronave no que se refere ao tempo de resposta do propulsor e à precisão dessa resposta em relação ao referencial.

A sintonia do controlador é tradicionalmente feita de forma manual, utilizando experiência técnica e empirismo, o que depende da capacidade de observar as qualidades desejadas na resposta do sistema e fazer o ajuste dos três parâmetros até se obter a resposta considerada suficientemente ideal. Assim, é um processo relativista e pouco automático. Alguns métodos clássicos utilizam leis empíricas obtidas há décadas, e não são adequados para aplicações modernas e altamente dinâmicas, fornecendo resultados pouco confiáveis. Conforme destacado por

(15)

Thums, Torres e Palhares (2012), os métodos de sintonia dos controladores PID baseiam-se na utilização de valores iniciais dos ganhos PID para que o usuário, com a aeronave em vôo, modifique estes ganhos até que se obtenha uma resposta em malha fechada satisfatória, de forma iterativa. Tais estratégias geralmente implicam em um grande gasto de tempo para a sintonia das malhas PID, com risco de se obter valores que não garantem estabilidade e desempenho para o sistema real.

Por outro lado, a sintonia pode ser feita por meio de técnicas de controle linear. Esse método exige o conhecimento do modelo matemático da aeronave, definido através de uma função de transferência. A obtenção do modelo demanda conhecimento científico de leis físicas e equações matemáticas, o que exige conhecimento de nível acadêmico. Os resultados obtidos por esse processo podem ser muito precisos, garantindo a definição dos parâmetros ideias para um determinado veículo. No entanto, trata-se de um processo complexo, pouco adequado para leigos, limitando muito seu uso. Além disso, demanda recursos consideráveis de tempo, tornando-o pouco atrativo para aplicações de interesse comercial e industrial. Por fim, a sintonia obtida é específica para a aeronave modelada, e caso o sistema mude, o modelo obtido não será mais representativo, e consequentemente, o projeto do controlador não será mais adequado.

As técnicas mencionadas carecem, ou de precisão, no caso do método empírico, ou de praticidade, no caso do método matemático. A falta de precisão na sintonia do controlador PID significa que a resposta do sistema não será a melhor possível em um determinado espaço de soluções. Assim, o desempenho de vôo é afetado, diminuindo a performance e a versatilidade da aeronave. A falta de precisão no controle torna-se especialmente relevante no contexto de aeronaves multirrotor utilizadas em aplicações que exigem vôo de proximidade, como nos casos de inspeções aéreas. A precisão na resposta é crucial para inspecionar linhas de transmissão e usinas fotovoltaicas, pois é necessário que a aeronave permaneça próxima à estrutura observada, voando de maneira uniforme. A falta de confiabilidade do controlador pode vir a provocar incêndios e destruição de patrimônio.

A falta de praticidade, ou rapidez, na sintonia do controlador PID significa que mais recursos terão que ser disponibilizados para a obtenção de modelos matemáticos. Recursos de tempo e dinheiro são limitados, e se ultrapassam um

(16)

valor limite podem tornar o processo economicamente inviável para empresas do ramo. Ainda, a dificuldade na modelagem matemática faz com que métodos empíricos sejam mais atrativos, e o comprometimento da precisão pela rapidez na sintonia se torna menos relevante.

Dessa forma, verifica-se a necessidade de desenvolver um método de sintonia do controlador que seja preciso, e ao mesmo tempo, mais simples que o método matemático. Heurísticas são processos cognitivos empregados em decisões não racionais, e são utilizadas como técnica para resolver problemas da maneira mais rápida quando métodos clássicos são muito lentos, ou para encontrar soluções aproximadas quando os métodos clássicos falham em encontrar uma solução exata. Uma metaheurística é uma heurística de alto nível utilizada para encontrar ou gerar um algoritmo de busca que forneça uma solução suficientemente boa para um problema de otimização. As metaheurísticas têm como objetivo explorar o espaço de busca eficientemente para encontrar uma solução quase ótima, usualmente não determinística. Dentre as técnicas metaheurísticas inpiradas por sistemas naturais, destaca-se a área de algoritmos genéticos. Esse processo de busca e otimização se baseia no processo biológico da seleção natural, e através do uso de técnicas populacionais, de cruzamento e mutação, busca gerar soluções otimizadas para um determinado problema, sem que seja necessário conhecer as especificidades do problema.

A idéia básica que fundamenta um algoritmo genético foi inicialmente proposta por Alan Turing, em seu artigo de 1950, “Computing Machinery and Intelligence”, em que ele propõe uma máquina que aprendesse ao imitar os processos evolutivos. Ao longo da década de 50, uma série de artigos sobre a seleção artificial de organismos foi publicada, e na década de 60 a evolução artificial se tornou um método de otimização reconhecido. Muito do desenvolvimento atual nessa área se deve ao trabalho de John Holland, especialmente por seu livro publicado em 1975, “Adaptation in Natural and Artificial Systems”. Apesar de ser uma técnica consolidada, seu uso aliado ao Controle de Sistemas ainda é pouco estudado.

O algoritmo genético é uma sequência de etapas a serem seguidas, imitando o processo da seleção natural em populações biológicas. Assim, se inicia com uma população de indivíduos, ou possíveis candidatos. Cada indivíduo possui um conjunto de características, seus cromossomos. A aptidão de cada indivíduo está

(17)

codificada em seus cromossomos, e é avaliada em relação a uma função objetiva, ou função fitness. Quanto mais próximo for o indivíduo da função definida, tanto mais apto ele será. Os indivíduos mais aptos são selecionados e cruzados para gerar uma nova população de candidatos, com características aprimoradas. O algoritmo segue o processo de gerar e avaliar, até que o objetivo definido seja atingido. Assim, o processo iterativo termina quando um nível satisfatório de aptidão for obtido, ou quando um determinado número de populações for atingido.

Aplicado à sintonia do controlador PID, o algoritmo genético trata os parâmetros do controlador como indivíduos de uma população. A função fitness pode ser qualquer que garanta a diminuição ou eliminação do erro do sistema. A cada geração de parâmetros, os mesmos são aplicados ao controlador de vôo da aeronave e avalia-se o erro na resposta do propulsor eletromecânico. Quando esse erro atingir um limite máximo especificado, ou quando um determinado número de gerações for atingido, o processo finaliza, tendo obtido parâmetros ideais para o controlador.

Dessa forma, um algoritmo genético apresenta-se como técnica em potencial para a sintonia de controladores PID. O uso desse tipo de algoritmo pode simplificar o processo de sintonia, já que não é necessário conhecer o processo de controle, e dessa forma, o modelo matemático do sistema. Pode também atingir soluções otimizadas no espaço de busca que não poderiam ser obtidas no processo manual de tentativa e erro.

O processo de sintonia através de algoritmos genéticos pode ser verificado em ambiente de simulação computacional, por ser composto de funções programáveis. Pode também ser verificado na prática, através do uso de uma plataforma experimental, que modele o movimento de uma aeronave multirrotor. A validação da hipótese poderá justificar o uso de algoritmos genéticos para a sintonia de controladores PID.

1.2 OBJETIVO GERAL

O objetivo geral deste trabalho é analisar o processo de sintonia de um controlador PID através da aplicação de um algoritmo genético.

(18)

1.3 OBJETIVOS ESPECÍFICOS

Como objetivos específicos desde trabalho, destaca-se: • Desenvolver um controlador PID digital;

• Implementar o controlador PID em um sistema físico; • Estudar e configurar um algoritmo genético;

• Efetuar a conexão do controlador com o algoritmo genético;

• Aplicar o método de sintonia em uma plataforma que modele um dos movimentos de uma aeronave multirrotor;

• Aprimorar o processo de sintonia de controladores PID para aeronaves multirrotor;

• Comparar o processo de sintonia proposto com o método de tentativa e erro e com o método oscilatório de Ziegler e Nichols.

1.4 CONTRIBUIÇÕES

O presente trabalho busca melhorar o processo de sintonia de controladores de vôo de aeronaves multirrotor, particularmente o controlador PID. Espera-se que os resultados sejam de utilidade para o aprimoramento do conhecimento nas áreas de Controle de Sistemas e otimização, bem como para o desenvolvimento e consolidação dos veículos multirrotor nas diversas áreas de aplicação.

1.5 ESTRUTURA DO TRABALHO

O trabalho está organizado da seguinte maneira: o capítulo 1 introduz o tópico do estudo, além da justificativa, objetivos e contribuições; o capítulo 2 traz uma fundamentação teórica, contendo definição de termos, teoria de base e uma revisão bibliográfica; o capítulo 3 apresenta a metodologia utilizada para o desenvolvimento do controlador PID, configuração do algoritmo genético e implementação dos testes na plataforma experimental; o capítulo 4 traz os resultados e sua discussão; o capítulo 5 apresenta as considerações finais; o capítulo 6 traz as referências bibliográficas utilizadas na pesquisa e o capítulo 7, por fim, o apêndice.

(19)

2 FUNDAMENTAÇÃO TEÓRICA

2.1 DEFINIÇÃO DE TERMOS

VANT (Veículo Aéreo Não-Tripulado) é qualquer aeronave que possa ser controlada nos três eixos sem a necessidade de um piloto embarcado. São veículos controlados à distância, por meios eletrônicos e computacionais. Podem ser pilotados remotamente ou de forma autônoma.

Aeronave multirrotor é um veículo aéreo mais pesado que o ar, sustentado pelo movimento de rotação de hélices. É composto por múltiplos rotores.

Quadricóptero é uma aeronave multirrotor composta por quatro rotores orientados verticalmente, gerando sustentação pelo movimento de rotação complementar dos propulsores eletromecânicos.

Controle de Sistemas é a área de estudo que trata da conformação de variáveis a uma determinada norma prescrita, levando sistemas físicos a se comportarem de uma maneira específica. O controle permite que processos atinjam as características desejadas e mantenham a estabilidade. Geralmente, o controle baseia-se no princípio da realimentação, em que informações acerca do estado de um processo são reinseridas na entrada do sistema, de forma a se obter a diferença entre a resposta desejada e a atual. O controlador é o elemento que atua sobre a diferença, ou erro, procurando minimizá-lo ou eliminá-lo.

Controlador PID (Proporcional, Integral e Derivativo) é um controlador composto por três termos independentes aos quais o sinal de erro é aplicado. Cada um dos termos atua de maneira específica, e a soma de suas atuações garante a minimização da diferença. O termo proporcional age sobre o valor presente do erro, o termo integral sobre o valor passado do erro, e o termo derivativo sobre o valor futuro do erro.

Sintonia é o processo pelo qual os parâmetros de um controlador são ajustados. Os parâmetros podem ser ganhos adimensionais. No caso do controlador PID, cada um dos três termos possui um ganho associado. O ajuste dos ganhos tem efeito direto sobre a atuação de cada termo, e a variação desses valores, por consequência, influi na forma como o controlador opera sobre o sistema. Assim, a sintonia do controlador PID é o que garante seu correto funcionamento.

(20)

Heurística é um processo cognitivo de tomada de decisão que alcança resultados não-ótimos de maneira rápida e simplificada. É adequado a situações de incerteza, onde opções, consequências e probabilidades não são completamente conhecidos. Heurísticas resolvem problemas que não poderiam ser resolvidos de maneira otimizada em um tempo satisfatório.

Metaheurística é uma heurística de alto nível que independe das características específicas do problema a ser resolvido. Dessa forma, trata o problema como uma caixa preta, explorando o espaço de possíveis soluções de maneira mais eficiente que uma heurística comum, sendo capaz de encontrar uma solução ótima global. Metaheurísitcas são mais flexíveis que métodos exatos, atingindo um melhor equilíbrio entre qualidade da solução e tempo de computação.

Algoritmo genético é uma metaheurística inspirada no processo da seleção natural de espécies biológicas, observado na natureza. É utilizado para encontrar soluções de alta qualidade para problemas de otimização. O algoritmo é baseado em uma população inicial de indivíduos, que são candidatos à melhor solução, e em uma função de avaliação, ou função fitness. A função de avaliação é uma função objetiva, adequada às especificidades do problema. Os indivíduos são avaliados em relação à função fitness, e aqueles com melhor aptidão são selecionados, cruzados e mutados, para gerar uma nova população. O algoritmo é um processo iterativo, e finaliza quando um determinado critério pré-estabelecido é atingido. Esse critério pode ser um nível satisfatório de qualidade para os indivíduos obtidos, ou um número específico de gerações.

2.2 TEORIA DE BASE

De acordo com Nise (2013), um sistema de controle consiste em subsistemas e processos (ou plantas) construídos com o objetivo de se obter uma saída desejada com um desempenho desejado, dada uma entrada especificada. Como destaca Ogata (2003, p. 1), “o controle automático tem se tornado de grande importância e parte integrante dos modernos processos industriais e de produção”. O autor enfatiza que os avanços no controle automático, tanto na teoria como na prática, vêm produzindo meios para otimizar o desempenho dos sistemas dinâmicos, melhorar a produtividade e diminuir o trabalho de rotinas manuais e repetitivas.

(21)

Sistemas de controle são construídos por quatro razões principais: amplificação de potência, controle remoto, conveniência da forma da entrada e compensação de perturbações. O ganho de potência pode propiciar que dispositivos de baixa potência controlem equipamentos de grande potência; o controle remoto permite operar sistemas à distância, com segurança e precisão; a alteração da forma da entrada permite que se obtenha uma saída específica; e a compensação de perturbações permite que o próprio sistema avalie o erro e faça o ajuste para manter a saída adequada (NISE, 2013).

Um conceito essencial para o estudo dos sistemas de controle é o de realimentação. Ogata (2003, p. 5) define que “um sistema que estabeleça uma relação de comparação entre a saída e a entrada de referência, utilizando a diferença como meio de controle, é denominado sistema de controle com realimentação”. De acordo com o autor, os termos controle com realimentação e controle de malha fechada são usados indistintamente. Em um sistema de controle de malha fechada, conforme o da Figura 1, o sinal de erro atuante (E(s)), que é a diferença entre o sinal de entrada (R(s)) e o sinal de realimentação (B(s)), realimenta o controlador, minimizando o erro e fazendo com que a saída (C(s)) atinja o valor desejado.

Figura 1 - Sistema de controle em malha fechada

Fonte: (OGATA, 2003)

A ação de controle mais básica é a proporcional. Um controlador proporcional é essencialmente um amplificador com ganho ajustável (OGATA, 2003). No início do século XX, inventores como Morris E. Leeds e Elmer Sperry já possuíam um entendimento intuitivo de que o controle puramente proporcional não poderia fornecer resultados adequados. Sperry construiu pilotos automáticos para navios e

(22)

aeronaves que imitavam o comportamento de um operador humano, porém os dispositivos mecânicos eram complexos e difíceis de analisar (BENNETT, 1993).

Minorsky (1922), tratando do problema da condução de navios e estabilidade da direção, propôs um aparato que conectasse o leme de um navio ao instrumento de indicação de direção, com o fim de obter o ajuste automática da rota da embarcação. Ele observou que o timoneiro fazia a correção da rota baseado não apenas no erro angular, observado em uma bússola, mas também levando em consideração a variação da velocidade angular do navio, pela observação e experiência. Ao propor a substituição da intuição humana por um dispositivo mecânico, Minorsky investigou analiticamente as equações físicas e de movimento de um navio, fazendo a modelagem matemática do sistema. Definiu, assim, três tipos de controle: o controle da posição do ângulo do leme, o controle da velocidade angular do ângulo do leme e o controle da aceleração angular do ângulo do leme.

Figura 2 – Resposta temporal do controlador desenvolvido por Minorsky

Fonte: (BENNETT, 1984)

A Figura 2 apresenta o gráfico da resposta ao degrau do controlador de Minorsky, onde é possível ver que, com o passar do tempo, a posição do navio (curva B) se aproxima da referência (2° de desvio). A curva A mostra a ação do leme do navio, que, variando seu ângulo, contribui com o esforço de controle necessário para corrigir o desvio do navio. Como destaca Bennett (1984), o trabalho pioneiro de

(23)

Minorsky é considerado uma das primeiras discussões formais da teoria de Controle, estabelecendo o controlador de três termos, e assim, fundamentando a idéia básica do controlador Proporcional, Integral e Derivativo (PID).

Em 1939, a Taylor Instrument Companies introduziu uma nova versão de seu controlador pneumático, contendo, em adição às ações proporcional e integral, um termo denominado pre-act, que operava na derivada do sinal de erro (BENNETT, 1993). Esse foi um dos primeiros controladores PID industriais a surgirem.

Ogata (2003) define o controlador PID através da equação (1):

(1)

Onde u(t) é o sinal de saída do controlador, e(t) é o sinal de erro, Kp é o ganho proporcional, Ti é o tempo integral e Td é o tempo derivativo. Essa representação é para o controlador PID na forma ideal.

Como não havia método estabelecido para escolher as configurações adequadas para cada um dos termos do controlador, o ajuste em campo era um problema. Como informa Bennett (1993), isso levou a Taylor Instrument Companies a executar investigações extensivas, o que levou ao surgimento do método de sintonia baseado na resposta em malha aberta, desenvolvido por J.G. Ziegler e N.B. Nichols, e publicado inicialmente em 1942. O objetivo deste trabalho era

[...] examinar a ação dos três principais efeitos de controle encontrados em instrumentos de hoje em dia, atribuir valores práticos para cada efeito, ver o que o ajuste de cada termo faz no controle final, e fornecer um método para se chegar rapidamente às configurações ótimas de cada efeito de controle. (ZIEGLER; NICHOLS, 1942, p. 1)

Após analisar como a variação dos ganhos dos termos proporcional, integral e derivativo alteravam a resposta do sistema, eles propuseram um conjunto de fórmulas que permitem obter o valor dos parâmetros do controlador PID, conforme mostrado na Figura 3. Essas fórmulas são empíricas, e obtidas a partir da

(24)

observação da curva de reação do sistema, de onde valores limite são extraídos, sendo eles a sensibilidade crítica e o período para essa sensibilidade.

Figura 3 – Curva de reação do processo e tabela de fórmulas proposta por Ziegler e Nichols

Fonte: (ASTROM; HAGGLUND, 1993)

Conforme observado por Astrom e Hagglund (1984), o método de Ziegler e Nichols para determinar o ganho e o período críticos é um processo difícil de ser automatizado, e torna-se difícil manter a amplitude das oscilações sob controle. Assim, os autores propõem um novo método para determinação automática de pontos específicos na curva de reação do sistema, mostrado na Figura 4. O método emprega um relé na malha de realimentação, gerando oscilações limitadas que permitem obter o período crítico. A partir disso, é possível utilizar as fórmulas de Ziegler e Nichols para obter os parâmetros do controlador. Possui a vantagem de que é possível controlar a amplitude das oscilações pela escolha da amplitude do sinal do relé.

Figura 4 – Método do relé

(25)

Como destaca Ogata (2003), a utilidade dos controladores PID está na sua aplicabilidade geral à maioria dos sistemas de controle. Quando o modelo matemático da planta não é conhecido e, portanto, métodos de projeto analítico não podem ser utilizados, controles PID se mostram os mais úteis. No entanto, os métodos de sintonia baseados na resposta do sistema exigem o conhecimento da curva gráfica e extração de informações da mesma. Isso demanda tempo de análise e torna o processo mais difícil de ser automatizado. Como observam Astrom et al. (1991), há muitos controladores sintonizados automaticamente baseados nas regras de Ziegler e Nichols, mas sua desvantagem é que são incapazes de raciocinar acerca da performance alcançável. Ou seja, dependem do conhecimento especializado de um engenheiro de controle, que possa fazer a interpretação do resultado.

Astrom et al. (1993) afirmam que a vasta maioria dos controladores PID industriais são sintonizados manualmente por engenheiros e operadores. A sintonia é baseada em experiência e heurística. Observando o padrão da resposta ao degrau em malha fechada, o operador utiliza heurística para ajustar diretamente os parâmetros do controlador. Os autores complementam dizendo que as regras heurísticas foram catalogadas em bases de conhecimento, e são utilizadas em diversos controladores comerciais.

Heurística é um termo derivado do grego heuriskein, significando descobrir, encontrar. O conceito aplicado ao estudo das decisões humanas foi introduzido originalmente por Herbert A. Simon em seu trabalho de 1955, “A Behavioral Model of Rational Choice”. Sua pesquisa sobre resolução de problemas o levou a definir o conceito de racionalidade limitada, pelo qual se diz que as decisões racionais são limitadas pela tratabilidade do problema, pelas capacidades cognitivas e pelo tempo disponível para a tomada de decisão. Como destacam Neth e Gigerenzer (2015), Simon propôs que os humanos utilizam heurística para satisfazer. Ou seja,

[...] ao invés de tentar encontrar uma solução ótima, ao procurar em todas alternativas e incorporar toda informação disponível, os indivíduos definem um nível de aspiração para si mesmos, inspecionam opções sequencialmente e escolhem a primeira que encontra ou excede esse nível. (NETH; GIGERENZER, 2015, p. 4)

(26)

Os autores continuam informando que, apesar disso, a satisfação não fornece nenhuma garantia de que a melhor solução será encontrada, e a justaposição de qualidade da decisão com o esforço necessário acabaram contribuindo para a visão de que heurísticas envolvem inevitavelmente um comprometimento, como por exemplo, entre acurácia e rapidez.

Neth e Gigerenzer (2015) explicam que há uma mistura de conotações negativas e positivas acerca do uso de heurísticas. Por um lado, elas são interpretadas como atalhos sub-ótimos que levam inevitavelmente a erros sistemáticos e ilusões cognitivas. Por outro, elas são vistas como ferramentas adaptativas que permitem às pessoas tomar decisões precisas, eficientes e robustas, para situações de incerteza. Ao propor uma agenda de pesquisa baseada em modelos formais, ao invés de noções vagas, os autores fazem a seguinte definição: “Heurísticas são ferramentas adaptativas que ignoram informação para tomar decisões rápidas e frugais que são precisas e robustas sob condições de incerteza”. Eles ainda afirmam que uma das descobertas surpreendentes é a de que as heurísticas podem evitar o comprometimento entre velocidade e acurácia, e por vezes produzir resultados mais precisos e robustos do que métodos que exigem mais esforço.

Sorensen, Sevaux e Glover (2016) informam que o cérebro humano é equipado com um motor de heurísticas formidável, possibilitando resolver uma enorme quantidade de problemas de otimização desafiadores. Segundo os autores, dada a diversidade de problemas que a mente humana precisa resolver sem experiência prévia, resta pouca dúvida de que ela tem a capacidade de usar estratégias meta-heurísticas, ou seja, estratégias utilizadas para encontrar heurísticas. Sorensen e Glover (2013) estabelecem a seguinte definição:

Uma metaheurística é uma estrutura algorítmica de alto nível, independente do problema, que fornece um conjunto de diretrizes ou estratégias para desenvolver algoritmos de otimização heurísticos. O termo também é utilizado para se referir a uma implementação de um algoritmo de otimização heurístico específico ao problema, de acordo com as diretrizes expressas em uma dada estrutura (SORENSEN; GLOVER, 2013, p. 1)

(27)

Os autores continuam dizendo que, como todos métodos de otimização, as metaheurísticas tentam encontrar a melhor solução praticável dentre todas as possíveis soluções de um problema de otimização. Para fazer isso, elas examinam várias soluções e realizam uma série de operações com estas para encontrar soluções diferentes e melhores. Assim, elas operam em uma representação ou codificação de uma solução, um objeto que pode ser armazenado em memória de computador e pode ser convenientemente manipulado por diferentes operadores empregados pela metaheurística. Várias metaheurísticas diferentes foram propostas e seus mecanismos para encontrar boas soluções operam de três formas: fazendo pequenas mudanças em uma solução atual, de forma iterativa (metaheurísticas de pesquisa local); construindo soluções a partir de suas partes constituintes (metaheurísticas construtivas); e combinando soluções em novas soluções, de maneira iterativa (metaheurísticas baseadas em população).

De acordo com os autores, o mecanismo principal que permite às metaheurísticas baseadas em população encontrar boas soluções é a combinação de soluções existentes de um conjunto, usualmente chamado de população. O raciocínio fundamental por trás dessa classe de metaheurísticas é que boas soluções podem ser encontradas ao trocar-se atributos de soluções entre duas ou mais soluções (de alta qualidade). Eles destacam que os membros mais importantes dessa classe são chamados algoritmos evolucionários, porque imitam os princípios da evolução natural.

Ainda de acordo com Sorensen e Glover (2013), a força motriz por trás da maioria dos algoritmos evolucionários é a seleção e recombinação. A seleção garante que as soluções predominantes de alta qualidade da população sejam selecionadas para recombinação, normalmente ao influenciar a probabilidade de cada solução na população de ser selecionada em direção ao valor de sua função objetiva. A recombinação utiliza operadores especiais para combinar os atributos de duas ou mais soluções em novas. Essas novas soluções são então adicionadas à população por um processo chamado reinserção, sujeitas à viabilidade ou requisitos mínimos de qualidade, substituindo soluções de baixa qualidade. Na grande maioria dos casos, todos operadores (seleção, recombinação e reinserção) utilizam fortemente a aleatoriedade. Um grande número de algoritmos evolucionários ainda inclui um operador de mutação que, aleatoriamente, modifica uma solução após ela

(28)

ter sido recombinada. A maior parte desses algoritmos realizam a sequência de fases de seleção, recombinação, mutação e reinserção de forma iterativa, um certo número de vezes, reportando a melhor solução na população.

Como informam Michalewicz e Fogel (2004), o termo algoritmo evolucionário é um conceito que engloba uma variedade de nomes dados a diferentes metaheurísticas baseadas na evolução. Dentre estas, destacam-se os algoritmos genéticos, inicialmente propostos por John Holland em seu livro de 1975, “Adaptation in Natural and Artificial Systems”. Os objetivos da pesquisa de Holland e seus colegas eram dois: abstrair e explicar rigorosamente os processos adaptativos de sistemas naturais, e projetar sistemas artificiais computadorizados que retivessem os mecanismos importantes de sistemas naturais. David Goldberg, em seu livro de 1989, “Genetic Algorithms in Search, Optimization and Machine Learning”, constrói a partir do estudo de Holland, e define algoritmos genéticos da seguinte forma:

Algoritmos genéticos são algoritmos de busca baseados na mecânica da seleção natural e genética natural. Eles combinam a sobrevivência do mais apto em estruturas de cordas com troca de informação estruturada, mas aleatória, para formar um algoritmo de busca, com um pouco do dom inovativo da busca humana (GOLDBERG, 1989, p. 1)

O autor explica que as cordas, ou strings, são os conjuntos de criaturas artificiais criadas usando bits e pedaços dos indivíduos antigos mais aptos, conforme mostrado na Figura 5. Esses algoritmos exploram eficientemente informação histórica para especular em novos pontos de busca, com uma esperada melhora no desempenho. Ele ainda adiciona que o tema central da pesquisa em algoritmos genéticos tem sido a robustez, ou seja, o balanço entre eficiência e eficácia para a sobrevivência em diferentes ambientes. As implicações da robustez para sistemas artificiais são muitas; se esses sistemas puderem ser feitos mais robustos, custos de re-projeto podem ser diminuídos ou até eliminados, e se níveis mais altos de adaptação puderem ser atingidos, sistemas existentes podem realizar suas funções por mais tempo e de uma forma melhor.

(29)

Figura 5 – Strings binárias e valores de função fitness

Fonte: (GOLDBERG, 1989)

Goldberg (1989) ainda destaca que características de reparação, auto-orientação e reprodução são a regra para sistemas biológicos, enquanto que elas praticamente não existem nos sistemas artificiais mais sofisticados. Ou seja, onde um desempenho robusto é desejado, a natureza faz melhor. Foi provado teórica e empiricamente que os algoritmos genéticos fornecem busca robusta em espaços complexos. Muitos artigos e dissertações estabelecem a validade desta técnica na otimização de funções e aplicações de controle. E tendo sido estabelecidos como abordagem válida para problemas que requerem busca eficiente e efetiva, os algoritmos encontram aplicação mais ampla em áreas de negócios, ciência e engenharia. A razão, segundo o autor, é simples: esses algoritmos são computacionalmente simples, mas poderosos na sua busca por melhora. E ainda, não são fundamentalmente limitados por premissas restritivas acerca do espaço de busca, como premissas relacionadas à continuidade, existência de derivadas e unimodalidade.

Holland (1992) afirma que a seleção natural elimina um dos grandes obstáculos no projeto de software: a necessidade de se especificar com antecedência todas as características do problema e as ações que o programa deve tomar para lidar com ele. Ele faz uma analogia ao informar que, na linguagem de algoritmos genéticos, a busca por uma boa solução para um problema é uma busca por strings binárias específicas; o universo de todas as possíveis strings pode ser considerado como uma paisagem imaginária, onde vales marcam o local de strings que codificam soluções pobres, e montanhas correspondem às melhores strings possíveis. Os algoritmos genéticos lançam uma rede sobre essa paisagem, de forma que o número crescente de strings em uma população que está evoluindo amostra a própria população em muitas regiões simultaneamente. A taxa pela qual o algoritmo amostra diferentes regiões corresponde diretamente à elevação média da região, ou

(30)

seja, a probabilidade de encontrar uma boa solução nessa vizinhança. Como destaca Holland, essa habilidade notável dos algoritmos genéticos de focar sua atenção nas partes mais promissoras de um espaço de soluções é resultado direto de sua habilidade de combinar strings contendo soluções parciais. O resultado dessa combinação não substitui as strings pai, antes substitui strings de menor aptidão, que são descartadas a cada geração, de maneira que a população total se mantenha do mesmo tamanho.

Um algoritmo genético simples, de acordo com Goldberg (1994), é composto de três operadores: seleção, cruzamento e mutação. A seleção é a sobrevivência do mais apto, ou seja, no contexto do algoritmo, é dar preferência a indivíduos melhores. Assim, é necessário que haja uma forma de determinar o que é bom. Essa avaliação pode vir de uma função objetiva ou do julgamento humano subjetivo. A seleção por si só, no entanto, apenas é capaz de preencher uma população com a melhor estrutura da população inicial. Para ser mais útil, o algoritmo precisa explorar estruturas diferentes. Para isso existe o cruzamento, que ocorre em três etapas: primeiramente, dois indivíduos são escolhidos da população usando o operador de seleção. Um ponto de divisão na string é escolhido aleatoriamente, e então as posições são trocadas entre as duas strings. Esse processo acontece par a par, até que uma nova população é preenchida, formada por pedaços das strings selecionadas anteriormente. Esses dois operadores são responsáveis pela força de busca do algoritmo genético. Como analogia, o autor diz que, quando os humanos são inovadores e criativos, estão frequentemente combinando noções que funcionaram bem em um contexto com noções que funcionaram bem em outro contexto, formando idéias novas e melhores de como resolver um problema. De forma similar, o algoritmo genético justapõe strings diferentes e aptas pela ação conjunta da seleção e cruzamento, formando novas strings, conforme processo mostrado na Figura 6. Ele segue explicando que o operador de mutação é a alteração ocasional e de baixa probabilidade de uma posição de um bit na string. A mutação induz uma simples “caminhada aleatória” pelo espaço da string, garantindo que não haverá perda de diversidade na população.

(31)

Figura 6 – Operador de cruzamento

Fonte: (HOLLAND, 1992)

Os algoritmos genéticos mais simples são discretos, não-lineares, estocásticos e de alta dimensão. Como utilizam pouca informação específica ao problema, são facilmente integráveis à códigos existentes, requerendo nada além da habilidade de propor uma solução e receber sua avaliação (GOLDBERG, 1994).

2.3 REVISÃO BIBLIOGRÁFICA

Nascimento (2013) informa que a sintonia de um controlador é de suma importância para sua operação, e que um controlador eficiente é aquele que é capaz de atenuar rapidamente distúrbios e fazer com que a variável de processo atinja um novo setpoint rapidamente. No entanto, sintonizar adequadamente um controlador pode ser um processo difícil. Como destaca a autora:

É necessário um conhecimento prévio do processo industrial em questão como um todo para entender o papel da malha de controle que se deseja sintonizar, bem como da dinâmica da variável de processo. A experiência do profissional responsável pela sintonia faz muita diferença no resultado obtido. Adquirir tal experiência, em geral, demanda um tempo considerável (NASCIMENTO, 2013, p. 1)

(32)

A autora segue dizendo que utilizar ajuste automático e posterior refino da sintonia obtida pode ocupar menos tempo do profissional encarregado do que a realização de todo procedimento de sintonia, o que inclui a perturbação do processo, identificação do modelo matemático e cálculo dos parâmetros do controlador. Por esse motivo, muitos trabalhos têm sido publicados na área de ajuste automático de controladores. Alguns métodos propostos utilizam diretamente os dados coletados na etapa de perturbação do processo, outros obtêm primeiramente o modelo matemático do processo, porém, qualquer que seja o método escolhido, ele precisa atender alguns requisitos. A autora cita os seguintes: bom desempenho, ou seja, a sintonia utilizada produz um resultado próximo àquele obtido pelo uso do modelo real do processo; robustez, significando que a sintonia calculada não produz instabilidade no processo em malha fechada; uso adequado das ações de controle, ou seja, o mínimo possível de reversões na ação de controle, preservando a vida útil do atuador; e facilidade de implementação, ou seja, um código que possa ser executado com baixo custo computacional.

Huang e Chung (2016) afirmam que o ajuste de controladores PID é um tópico altamente relevante nas áreas de pesquisa de controle industrial. O projeto de controladores PID geralmente requer emprego substancial de tempo para ajustar características não-lineares. É necessário realizar a identificação do sistema para reduzir custos e tempo, porém, alguns termos não-lineares não podem ser identificados após esse processo, e assim o modelo obtido precisa ser adaptado posteriormente para compensar possíveis distúrbios ou ruídos. Os autores definem, então, três categorias de métodos de sintonia de controladores PID: métodos baseados em fórmula, que consistem em realizar a identificação, e após, ajustar os termos do controlador de acordo com os requisitos do usuário, incluindo o método de Ziegler e Nichols e os métodos de resposta à frequência; métodos baseados em regra, utilizados principalmente para controle adaptativo, sendo baseados em bancos de dados de regras, incluindo o controle IMC (Internal Model Control) e o controlador fuzzy, integrado ao PID; métodos baseados em otimização, que são independentes do problema, realizam busca universal, possuem alta robustez e orientação multiobjetiva, mas requerem emprego de tempo e normalmente são aplicados no modo offline. Como esclarecem os autores, o método por fórmula exige a obtenção da função de transferência do sistema, o que pode ser difícil, ou mesmo

(33)

inviável. O método por regra exige o conhecimento especializado para projetar a regra e necessita um banco de dados grande. O método de otimização possui a desvantagem de que ajustes instantâneos são impossíveis.

Thums, Torres e Palhares (2012) informam que é comum encontrar-se controladores PID em sistemas de controle comerciais de VANT´s. Como destacam:

[...] os métodos de sintonia dos controladores PID, em alguns casos, baseiam-se na utilização de valores iniciais dos ganhos PID para que o usuário, com a aeronave em vôo, modifique estes ganhos até que se obtenha uma resposta em malha fechada satisfatória, de forma iterativa. Em outros casos o usuário pode inserir o modelo de sua aeronave em um simulador e tentar ajustar os ganhos, também de forma iterativa. Tais estratégias geralmente implicam em um grande gasto de tempo para a sintonia das malhas PID, com risco de se obter valores que não garantem estabilidade e desempenho para o sistema real” (THUMS; TORRES; PALHARES, 2012, p. 1)

Os autores afirmam que a busca por parâmetros ótimos do controlador, obedecendo a condições pré-especificadas de estabilidade e desempenho robustos, é um problema não-convexo, e por isso, métodos evolucionários têm sido utilizados em vários trabalhos para se tentar resolver os problemas de otimização correspondentes à análise e síntese de controladores.

Teng, Shieh e Chen (2003) destacam que os métodos de sintonia da curva de reação do processo, ITAE (Integral of the Time Absolute Error), Cohen-Coon, Ziegler e Nichols, entre outros, requerem procedimentos tediosos e não podem ser realizados de maneira online. Além disso, o desempenho dos processos de identificação é baixo devido a efeitos de ruído e distúrbios nas medições. Por isso, muitos métodos de sintonia automáticos têm sido propostos para superar essas desvantagens, porém, envolvem matemática complexa, tornando-os inviáveis para aplicação em processos industriais. Com o intuito de melhorar as técnicas de sintonia de controladores PID tradicionais, realizando identificação online do processo sem matemática complexa, métodos baseados em inteligência artificial têm sido propostos, incluindo algoritmos genéticos, lógica fuzzy e métodos híbridos. Os autores afirmam que as habilidades de otimização global e boa robustez permitem

(34)

aos algoritmos genéticos superar as fraquezas das técnicas de sintonia tradicionais, sendo mais aceitáveis na prática industrial.

Os autores seguem informando que a codificação binária é a mais comum no âmbito dos algoritmos genéticos. Isso se deve ao trabalho pioneiro de John Holland e seus estudantes. No entanto, a codificação binária é não-natural e de difícil manejo para muitos problemas, sendo propensa a uma ordenação arbitrária. Para muitas aplicações, é mais natural utilizar caracteres do alfabeto ou números reais, a fim de formar os cromossomos. Apesar de alguns trabalhos empíricos compararem as diferentes codificações, o desempenho é muito dependente do problema em si, e por isso, até o momento, não há diretrizes rigorosas definindo qual codificação funcionará melhor para uma determinada aplicação. Acerca da população inicial, os autores afirmam que uma boa escolha inicial pode facilitar a convergência do algoritmo, enquanto que uma escolha ruim pode prevenir a convergência. Assim, há várias formas de se gerar uma população inicial, sendo que a escolha dos indivíduos iniciais através de outro método permite obter soluções mais precisas para o algoritmo do que uma escolha aleatória. Além disso, não há uma definição clara do tamanho ideal de uma população. Alguns autores obtiveram valores na faixa entre 50 a 100 indivíduos, mas, como destacado por Goldberg (1989), populações iniciais pequenas podem levar à convergência prematura, enquanto que populações muito grandes demandam mais tempo de computação, aumentando o custo computacional por geração. Também é possível utilizar variação dinâmica do tamanho da população.

Teng, Shieh e Chen (2003) seguem informando que a função fitness é a que define a qualidade de um cromossomo, e deve ser estabelecida para cada problema específico. A função fitness é a única conexão do algoritmo genético com o problema do mundo real, sendo que ela deve recompensar o comportamento desejado. Os indivíduos mais aptos são selecionados, porém, essa seleção deve ser balanceada com a variação advinda do cruzamento e da mutação. Se a seleção for muito forte, indivíduos altamente aptos, mas sub-ótimos, acabam por dominar a população, reduzindo a diversidade necessária para haver progresso; por outro lado, se a seleção for muito fraca, o progresso será muito lento. Os autores informam que os métodos mais comuns para seleção são o proporcional, ou da roleta, em que o número de vezes que o indivíduo pode ser reproduzido é proporcional à sua aptidão,

(35)

mostrado na Figura 7, e o baseado em ranking, em que cada indivíduo é reproduzido apenas uma vez, tendo a tendência de convergir mais lentamente e manter a diversidade da população. Ambos os métodos consomem muito tempo por ser necessário, no caso do método proporcional, computar a aptidão média dos indivíduos, e no caso do método de ranking, classificar a população inteira em ordem. Um outro método é conhecido como seleção por torneio, no qual dois indivíduos são escolhidos aleatoriamente da população, e na sequência, o mais apto é escolhido de acordo com um valor numérico selecionado entre 0 e 1, onde sua aptidão é avaliada em relação a esse número. Esse método é computacionalmente mais eficiente que os anteriores.

Figura 7 – Roleta de seleção

Fonte: (MICHALEWICZ; FOGEL, 2004)

A cada geração, os operadores genéticos são aplicados de acordo com diferentes probabilidades, permitindo assim controlar a velocidade de convergência do algoritmo. O cruzamento permite a criação de novos indivíduos, como descendência de dois pais. Para isso, um ponto de divisão no cromossomo de cada pai, ou string, é escolhido aleatoriamente, e as partes são trocadas entre os indivíduos pais. Existem métodos de cruzamento simples, múltiplos e aritméticos, assim como a possibilidade de utilizar uma taxa adaptável de cruzamento. A mutação permite obter um novo indivíduo a partir de modificações na representação

(36)

de um cromossomo. Esse operador é fonte de variabilidade, sendo que se for muito forte, diminui a eficiência da progressão do algoritmo.

Mitchell (1995) descreve algumas das principais aplicações dos algoritmos genéticos. Entre elas: otimização, tanto numérica como combinatória; programação automática, em que algoritmos genéticos são usados para gerar programas de computador para tarefas específicas e projetar outras estruturas computacionais; machine learning (aprendizado de máquinas), incluindo tarefas de classificação e predição, assim como na pesquisa de pesos para redes neurais, regras para sistemas classificatórios e sistemas de produção simbólicos; modelos econômicos, em que são usados para modelar processos de inovação, estratégias de oferta e emergência de mercados; modelos de sistema imunológico, em que são utilizados para modelar aspectos de sistemas imunológicos naturais, incluindo mutação somática e descoberta de famílias multigênicas; modelos ecológicos, em que modelam fenômenos biológicos, co-evolução, simbiose e fluxo de recursos; modelagem de genética de populações e interações entre aprendizado individual entre espécies.

Feng et al. (2017) afirmam que, devido a sua fácil implementação, busca global, estrutura simples, robustez e ausência da necessidade de informações diferenciais durante o processo de otimização, os algoritmos genéticos têm sido utilizados amplamente em otimização de parâmetros, diagnóstico de falhas, identificação de parâmetros, otimização de redes neurais e planejamento de rotas. No contexto de otimização de parâmetros, os autores esclarecem que os algoritmos genéticos são uma técnica poderosa de sintonia dos parâmetros de controladores PID, tendo sido aplicados em muitas áreas de controle automático e robótica. A figura 8 mostra um controlador sintonizado por algoritmo genético. Alguns exemplos são o uso de algoritmos genéticos na busca de parâmetros ótimos do controlador PID de um sistema de servo controle eletro-hidráulico; otimização de ganhos PID para melhorar a rapidez de resposta de sistemas eletro-hidráulicos não-lineares; no controle de movimento de próteses; na forma multi-objetiva para controle de um robô bípede.

(37)

Figura 8 – Diagrama de blocos de um controlador PID sintonizado através de algoritmo genético

Fonte: (TENG, 2003)

Thums, Torres e Palhares (2012) propõem uma metodologia de sintonia de controlador PID multi-malha baseada na utilização de um algoritmo genético. Uma população é inicializada e cada indivíduo, que é um conjunto de ganhos PID, é avaliado em relação à estabilidade robusta linear local da malha fechada do sistema. Se confirmada a estabilidade local, as funções de custo são avaliadas em conjunto com os critérios de desempenho para o sistema não-linear em malha fechada. O indivíduo é armazenado como solução válida somente se os critérios mínimos de desempenho forem alcançados. A cada nova geração formada, os operadores de cruzamento, seleção e mutação são aplicados aos indivíduos. O critério de parada do algoritmo é alcançar a última geração de evolução da população definida. Como os autores não possuíam restrição de tempo de execução do código, escolheram o procedimento offline, através do algoritmo NSGA-II (Non-dominated Sorting Genetic Algorithm II). Este algoritmo possui as características de codificação real, elitismo e espalhamento uniforme das soluções. Eles ainda definem a probabilidade de mutação em 10% e a probabilidade de cruzamento em 90%.

Como critério de desempenho, os autores definem o tempo de acomodação para a resposta ao degrau, a sobre-elevação para a resposta ao degrau e o tempo de acomodação para perturbação. Esses critérios permitem obter a maior velocidade de resposta em decorrência de mudanças nos valores das referências, mantendo o erro estacionário nulo e uma sobre-elevação moderada. O tempo de execução do algoritmo genético para obtenção dos ganhos PID multi-malha foi de 230min. O resultado obtido, mostrado na Figura 9, evidencia a validade do método,

(38)

possibilitando a otimização do desempenho de forma automática, reduzindo o número de ensaios em vôo.

Figura 9 – Resposta do sistema sintonizado pelo algoritmo genético – variável da velocidade da aeronave em relação à atmosfera

Fonte: (THUMS, 2012)

Feng et al. (2017) propõem um algoritmo genético aperfeiçoado para a busca de parâmetros ótimos de um controlador PID aplicado no controle de trajetória de um robô escavador. Eles propõem que a população inicial, ou seja, os parâmetros iniciais do PID, sejam obtidos pelo método de Ziegler e Nichols, evitando iniciar o processo iterativo com parâmetros aleatórios. Também estabelecem uma função fitness dinâmica, evitando a convergência prematura do algoritmo (para indivíduos muito aptos) e a diminuição da competitividade dos indivíduos (quando a diferença de aptidão entre os indivíduos é pequena). Ainda definem probabilidades de cruzamento e mutação variáveis ao longo do processo. Ao fazer o teste com uma entrada degrau, comparam o método de Ziegler e Nichols, o algoritmo genético comum e sua versão aperfeiçoada, de acordo com a Figura 10. A comparação baseada nos parâmetros de tempo de subida, tempo de acomodação e número de iterações do algoritmo mostraram que o método por algoritmo genético obteve melhores resultados, em relação ao método de Ziegler e Nichols. O tempo de subida do controlador sintonizado por Ziegler e Nichols foi de 1,75s, enquanto que o controlador sintonizado pelo algoritmo genético obteve 1,41s. O tempo de

(39)

acomodação deste método também foi melhor, 2,43s, contra 2,83s do método clássico. O método aperfeiçoado, proposto pelos autores, atingiu a convergência (eliminação do erro em regime permanente) após 48 iterações, enquanto que o algoritmo genético comum, após 69 iterações.

Figura 10 – (a) Resposta do sistema sintonizado por Ziegler e Nichols, algoritmo genético comum (SGA) e algoritmo genético aperfeiçoado (IGA) e (b) curvas de convergência para os dois métodos

Fonte: (FENG, 2017)

Fister et al. (2016) afirmam que algoritmos estocásticos, inspirados pela natureza e baseados em população empregam muito tempo para encontrar soluções quase ótimas. O principal fator responsável por isso é o número de avaliações da função fitness, que é definido como o produto do tamanho da população pelo máximo número de gerações. Assim, os autores propõem o que chamam de algoritmo reativo, ou seja, um algoritmo que usa o mínimo tempo possível para convergir, com o objetivo de aplica-lo à sintonia online de controladores. Eles utilizam uma população de 10 indivíduos, e executam 10 iterações do algoritmo.

Em seu trabalho, os autores buscam comparar diferentes algoritmos reativos baseados em população, com o objetivo de sintonizar o controlador PID de um braço robótico SCARA. Como o sistema é não-linear, e possui alto nível de acoplamento mecânico, os métodos comuns de controle linear não produzem um controle satisfatório. Dessa forma, é necessário utilizar o método manual de sintonia, que demanda muito gasto de tempo, ou um método automático de otimização. Em seu estudo, os autores encontram um valor máximo da função fitness para o algoritmo

(40)

genético de 0,9786, para um intervalo indo de 0,9747 até 0,9788. O gráfico de convergência mostra a maneira como os parâmetros do algoritmo (tamanho da população, número máximo de gerações, etc.) influenciam seu poder de exploração. Para o algoritmo genético, verificou-se que seu resultado melhora nas últimas gerações, o que indica que o tamanho da população e número de gerações deve ser aumentado em relação aos valores iniciais. Os testes também demonstraram que o algoritmo genético obteve um tempo de reação, ou seja, o tempo para convergir, de 21,128ms.

Rajarathinam et al. (2016) descrevem a aplicação de um algoritmo genético comum a um processo industrial multivariável de uma fornalha de vidro. O algoritmo representa os parâmetros PID de duas variáveis do processo, e os codifica em cromossomos binários, que são posteriormente convertidos em um número real associado a cada ganho PID, de acordo com o fluxograma da Figura 11.

Figura 11 – Fluxograma do processo de sintonia por algoritmo genético utilizado pelos autores

Referências

Documentos relacionados

O material a ser usinado e seu estado de dureza; a velocidade de corte, o avanço e a profundidade de corte; o material da ferramenta; o material de recobrimento;

Central nervous system involvement in systemic lupus erythematosus patients without overt neuropsychiatric manifestations.. Neuropsychiatric Systemic lupus

Os professores que ministram disciplinas diretamente relacionadas à Gestão de Operações nos cursos de Administração selecionados para participar do estudo, com base nos

Dia 16 de julho de 2016 às 14h00min (horário local), ressalvo que o Vestibular Geral III (VGIII) será aplicado para preenchimento de vagas remanescentes do Vestibular Geral I (VGI)

nica , on d e as populações neandertalenses não terão so br evivido até ao t arde , também não parece ter ocorrido um povoamento s i gnificativo por parte do Homem

A partir da análise das Figuras 5.20, 5.21, 5.22 e 5.23 pode-se afirmar que a variação do início da altura de queda do bloco não alterou os resultados da energia cinética e alturas

A tabela 7 mostra a taxa de crescimento e o tempo de duplicação da COVID-19 observados na população indígena assistida pelo SASISUS, para todos os DSEI e agrupados por região

LOCAL PRIORITY: PRIORITY RELATIVE TO PARENT GLOBAL PRIORITY: PRIORITY RELATIVE TO GOAL...