SINTONIA DE CONTROLADORES PID ATRAVÉS DE ALGORITMOS GENÉTICOS

79
Uni- ANHANGÜERA - CENTRO UNIVERSITÁRIO DE GOIÁS CURSO DE ENGENHARIA DA COMPUTAÇÃO SINTONIA DE CONTROLADORES PID ATRAVÉS DE ALGORITMOS GENÉTICOS JESSÉ LIMA SÁ JHONATHAN DE GODOI BRANDÃO Goiânia Dezembro/2011

Transcript of SINTONIA DE CONTROLADORES PID ATRAVÉS DE ALGORITMOS GENÉTICOS

Page 1: SINTONIA DE CONTROLADORES PID ATRAVÉS DE ALGORITMOS GENÉTICOS

Uni- ANHANGÜERA - CENTRO UNIVERSITÁRIO DE GOIÁS

CURSO DE ENGENHARIA DA COMPUTAÇÃO

SINTONIA DE CONTROLADORES PID

ATRAVÉS DE ALGORITMOS GENÉTICOS

JESSÉ LIMA SÁ

JHONATHAN DE GODOI BRANDÃO

Goiânia

Dezembro/2011

Page 2: SINTONIA DE CONTROLADORES PID ATRAVÉS DE ALGORITMOS GENÉTICOS

JESSÉ LIMA SÁ

JHONATAN DE GODOI BRANDÃO

SINTONIA DE CONTROLADORES PID

ATRAVÉS DE ALGORITMOS GENÉTICOS

Trabalho de conclusão de curso apresentado aoCurso de Engenharia da Computação do CentroUniversitário de Goiás, Uni-ANHANGÜERA, soborientação do Me. Murilo Parreira Leal, comorequisito parcial para obtenção do título Bacharelem Engenharia da Computação.

Goiânia

Dezembro/2011

Page 3: SINTONIA DE CONTROLADORES PID ATRAVÉS DE ALGORITMOS GENÉTICOS
Page 4: SINTONIA DE CONTROLADORES PID ATRAVÉS DE ALGORITMOS GENÉTICOS

Às nossas famílias

e aos amigos que pulsam por nós.

Page 5: SINTONIA DE CONTROLADORES PID ATRAVÉS DE ALGORITMOS GENÉTICOS

AGRADECIMENTOS

A minha esposa, Januse Sá, pelo amor despendido e por me tolerar nos momentos mais

difíceis. Aos meus filhos por não me deixarem esquecer de sorrir, com distinção à minha

princesinha, Ingrid, por me mostrar cotidianamente que o verdadeiro amor vai além das palavras

que conseguimos falar. A minha mãe, Cidalina Sá, pela dedicação e carinho. A meu pai, Wilson

Sá, pelos valores, por ter me ensinado a ler antes do início de minha vida escolar, por todos os

livros que me permitiu conhecer, pelo meu senso crítico, meu pensamento analítico e minha

perspectiva de liberdade. Aos meus irmãos consanguíneos pela confiança.

A Stéfano Forte pela amizade gratuita e pela voz divergente que já ampliou minha visão

diversas vezes, inclusive ao sugerir o tema deste trabalho. Ao parceiro Jhonathan Brandão pelos

desafios, pelo respeito e pela paciência. Sei que não sou de fácil convencimento. Ao caro amigo

Carlúcio Pereira pela companhia assídua nesta árdua jornada acadêmica.

A Vinícius Minelli pelo apoio que me oferece sem que eu precise pedir, por ser consorte

nas ideias e pelo phileo. Aos irmãos Marcelo e Leizer Fernandes, pela fé depositada em mim

como ser humano, pelo amor dado às minhas crianças e pelo apoio à minha esposa quando

precisei me ausentar física ou mentalmente.

Aos amigos que nunca sonegaram conhecimento e aos que sempre viram em mim além

do que eu podia ver. Há amigo mais chegado que um irmão (Provérvios 18:24).

Aos comandantes Venício e Walden Prata pelo incentivo há mais de uma década. A este

por discenir tão bem o ser humano em cada um de seus colaboradores. Ao Me. Murilo Leal por

ter aceitado nos orientar e por acreditar neste trabalho. Aos professores que se empenharam em

nos proporciar o melhor.

Ao Projetista Maior pela capacidade de pensar, discernir e criticar, inclusive a Ele pró-

prio.

Jessé Lima Sá

Page 6: SINTONIA DE CONTROLADORES PID ATRAVÉS DE ALGORITMOS GENÉTICOS

AGRADECIMENTOS

A Deus, por ter sido a maior fonte de energia neste período de grande tensão.

À minha família, por ser o alicerce da minha vida. Em especial ao meu pai, um grande

homem que apesar de todas as dificuldades enfrentadas na vida soube vencer com o mérito de

seu suor. Com ele aprendi que a dedicação e o trabalho são os fatores primordiais para alcançar

os nossos objetivos. À minha mãe pela devoção apresentada para educar com qualidade a mim e

a minha irmã. À minha irmã, pelas grandes parcerias que fizemos em prol dos nossos objetivos,

mesmo nos objetivos mais simples, como “virar” o jogo do Mário.

À minha namorada, Laís F. dos Santos Ferreira, pela paciência e pelo apoio dados a mim

sem que, em nenhum momento, eu precisasse solicitar. Seu amor e carinho foi fundamental

nessa reta final.

Ao meu amigo, parceiro e mentor, Jessé Lima Sá, pelas horas dedicadas em ensinar-me

coisas que nunca aprenderia em curso algum.

Ao Carlúcio Pereira da Silva, grande amigo, pelo incentivo e conhecimento comparti-

lhados.

A todos os outros meus amigos que de alguma forma contribuíram nessa empreitada da

minha vida.

À Instituição e aos professores do Uni-ANHANGÜERA pela fundamentação teórica e

prática oferecida.

E em especial ao professor e meu orientador Murilo Parreira Leal pela orientação fun-

damental na realização deste trabalho.

Jhonathan de Godoi Brandão

Page 7: SINTONIA DE CONTROLADORES PID ATRAVÉS DE ALGORITMOS GENÉTICOS

"Há sempre a sua versão,

a do outro e a de quem tem razão."

Autor desconhecido.

Page 8: SINTONIA DE CONTROLADORES PID ATRAVÉS DE ALGORITMOS GENÉTICOS

RESUMO

Este estudo aborda o ponto crítico dos controladores PID: sua sintonia. Com a evolução damicroeletrônica os controladores PID ampliaram sua abrangência e importância nos processosindustriais. No decorrer dos últimos anos, inúmeros debates e pesquisas resultaram em novastécnicas de implementação. Não obstante, apenas uma pequena parte dos controladores estásendo utilizada em sua plenitude, seja por má implementação ou por ajuste inadequado (FAC-CIN, 2004). No transcorrer deste, são fornecidos os conceitos básicos da teoria de sistemasde controle, com ênfase na descrição das ações de controle on-off, proporcional, integral e de-rivativa e nas suas vantagens e desvantagens, culminando na descrição do controlador PID ede sua sintonia pelos métodos da curva de reação do processo e da estabilidade marginal deZiegler e Nichols, também conhecidos como primeira e segunda regras. As principais técnicasde implementação dos algoritmos genéticos e os seus componentes são apresentados: os cro-mossomos, a população, o objetivo e a função de avaliação, a seleção e os operadores genéticosde cruzamento (crossover) e mutação. Subsequentemente, é dado o detalhamento da simulaçãodas plantas e do processo de sintonia, tanto por Ziegler-Nichols como pelo AG, ambos com oauxílio do MATLAB. Finalmente, os resultados obtidos são analisados.

Palavras chave: Planta, Função de Transferência, Ziegler-Nichols, AG, MATLAB.

Page 9: SINTONIA DE CONTROLADORES PID ATRAVÉS DE ALGORITMOS GENÉTICOS

LISTA DE CÓDIGOS

Código 3.1 Representação matemática da planta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

Código 3.2 Calculo do ganho crítico e do período da frequência de ressonância . . . . . . . 49

Código 3.3 Simulação do processo de sintonia pelo método da estabilidade marginal de

Ziegler e Nichols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

Código 3.4 Função de avaliação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

Código 1 Algoritmo genético para sintonia de um controlador PID . . . . . . . . . . . . . . . . . 69

Código 2 Plotagem do gráfico 3D da resposta ao sinal em degrau dos indíviduos da

população remanescente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

Page 10: SINTONIA DE CONTROLADORES PID ATRAVÉS DE ALGORITMOS GENÉTICOS

LISTA DE FIGURAS

Figura 1.1 Controlador centrífugo de velocidade. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

Figura 1.2 (a) Diagrama de blocos de um controlador liga-desliga; (b) diagrama de blocos

de controlador liga-desliga com intervalo diferencial. . . . . . . . . . . . . . . . . . . . . 25

Figura 1.3 (a) Sistema de nível de controle; (b) válvula eletromagnética. . . . . . . . . . . . . . 25

Figura 1.4 Curva do nível h(t) versus t relativa ao sistema mostrado na figura 1.3. . . . . . 26

Figura 1.5 Ação de controle em função do sinal de erro gerada pelo controlador propor-

cional. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

Figura 1.6 Diagrama de blocos de um controlador proporcional. . . . . . . . . . . . . . . . . . . . . . 27

Figura 1.7 Diagrama de blocos de um controlador PID. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

Figura 1.8 Representação esquemática da forma série do controlador PID. . . . . . . . . . . . . 29

Figura 1.9 Representação esquemática da forma paralela do controlador PID. . . . . . . . . . 29

Figura 1.10 Resposta ao degrau unitário com valor máximo de ultrapassagem de 25%. . . 31

Figura 1.11 Curva de resposta em forma de S. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

Figura 1.12 Oscilação sustentada com período Pcr (medido em segundos). . . . . . . . . . . . . . 34

Figura 2.1 Operador de crossover de 1 ponto para codificação binária. . . . . . . . . . . . . . . . 41

Figura 2.2 Operador de crossover de 2 pontos para codificação binária. . . . . . . . . . . . . . . 42

Figura 2.3 Operador de mutação para codificação binária . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

Figura 2.4 Algoritmo Genético Simplificado. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

Figura 3.1 Sistema com controle PID. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

Figura 3.2 Curva de resposta em degrau unitário mostrando tr, tp, ts, td e Mp. . . . . . . . . . 47

Figura 3.3 Resposta ao degrau unitário da planta 3.1 sintonizada por Ziegler-Nichols. . 51

Figura 3.4 Resposta ao degrau unitário da planta 3.2 sintonizada por Ziegler-Nichols. . 52

Figura 3.5 Resposta ao degrau unitário da planta 3.1 sintonizada pelo AG (com Mp como

Page 11: SINTONIA DE CONTROLADORES PID ATRAVÉS DE ALGORITMOS GENÉTICOS

custo). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

Figura 3.6 Resposta ao degrau unitário da planta 3.2 sintonizada pelo AG (com Mp como

custo). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

Figura 3.7 Resposta ao degrau unitário da planta 3.3 sintonizada pelo AG (com Mp como

custo). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

Figura 3.8 Custo do indivíduo mais aptos através das gerações na planta 3.1 (com Mp

como custo). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

Figura 3.9 Custo do indivíduo mais aptos através das gerações na planta 3.2 (com Mp

como custo). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

Figura 3.10 Custo do indivíduo mais aptos através das gerações na planta 3.3 (com Mp

como custo). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

Figura 3.11 Resposta ao sinal em degrau dos indivíduos da população remanescente na

planta 3.1 (com Mp como custo). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

Figura 3.12 Resposta ao sinal em degrau dos indivíduos da população remanescente na

planta 3.2 (com Mp como custo). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

Figura 3.13 Resposta ao sinal em degrau dos indivíduos da população remanescente na

planta 3.3 (com Mp como custo). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

Figura 1 Resposta ao degrau unitário da planta 3.1 sintonizada pelo AG (com ts como

custo). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

Figura 2 Resposta ao degrau unitário da planta 3.2 sintonizada pelo AG (com ts como

custo). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

Figura 3 Resposta ao degrau unitário da planta 3.3 sintonizada pelo AG (com ts como

custo). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

Figura 4 Custo do indivíduo mais aptos através das gerações na planta 3.1 (com ts como

custo). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

Figura 5 Custo do indivíduo mais aptos através das gerações na planta 3.2 (com ts como

custo). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

Figura 6 Custo do indivíduo mais aptos através das gerações na planta 3.3 (com ts como

custo). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

Figura 7 Resposta ao sinal em degrau dos indivíduos da população remanescente na

Page 12: SINTONIA DE CONTROLADORES PID ATRAVÉS DE ALGORITMOS GENÉTICOS

planta 3.1 (com ts como custo). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

Figura 8 Resposta ao sinal em degrau dos indivíduos da população remanescente na

planta 3.2 (com ts como custo). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

Figura 9 Resposta ao sinal em degrau dos indivíduos da população remanescente na

planta 3.3 (com ts como custo). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

Page 13: SINTONIA DE CONTROLADORES PID ATRAVÉS DE ALGORITMOS GENÉTICOS

LISTA DE SIGLAS

ERB Estação Rádio Base

PID Proporcional, Integral e Derivativa

MATLAB MATrix LABoratory

AG Algoritmo Genético

AGC Automatic Gain Control

DNA Deoxyribonucleic Acid

AGTC Adenina, Guanina, Timina e Citosina

KISS Keep It Short and Simple

NFL No-Free-Lunch Theorem

Page 14: SINTONIA DE CONTROLADORES PID ATRAVÉS DE ALGORITMOS GENÉTICOS

LISTA DE TABELAS

Tabela 1.1 Regra de sintonia de Ziegler e Nichols baseada na resposta em degrau da

planta. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

Tabela 1.2 Regra de sintonia de Ziegler e Nichols baseada no ganho crítico Kcr e no

período crítico Pcr. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

Tabela 3.1 Características da resposta transitória na sintonia realizada por Ziegler-

Nichols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

Tabela 3.2 Características da resposta transitória na sintonia realizada pelo AG (com Mp

como custo). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

Tabela 1 Características da resposta transitória na sintonia realizada pelo AG (com tscomo custo) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

Page 15: SINTONIA DE CONTROLADORES PID ATRAVÉS DE ALGORITMOS GENÉTICOS

SUMÁRIO

Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

1 Sistemas de Controle Automáticos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

1.1 Definições fundamentais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

1.1.1 Sistemas lineares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

1.1.2 Sistemas lineares invariantes no tempo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

1.1.3 Função de transferência . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

1.1.4 Variável controlada e variável manipulada . . . . . . . . . . . . . . . . . . . . . . . . . . 21

1.1.5 Distúrbios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

1.1.6 Realimentação ou retroação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

1.2 Sistemas de controle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

1.2.1 Sistemas de controle a malha aberta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

1.2.2 Sistemas de controle a malha fechada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

1.2.3 Sistemas de controle a malha fechada versus sistemas de controle a ma-

lha aberta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

1.3 Ações de controle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

1.3.1 Ação de controle de duas posições (on-off ou liga-desliga) . . . . . . . . . . . . 24

1.3.2 Ação de controle proporcional . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

1.3.3 Ação de controle integral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

1.3.4 Ação de controle derivativa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

1.4 O controlador PID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

1.4.1 Forma série ou interativa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

1.4.2 Forma paralela ou não-interativa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

Page 16: SINTONIA DE CONTROLADORES PID ATRAVÉS DE ALGORITMOS GENÉTICOS

1.4.3 Critérios de desempenho . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

1.4.4 Métodos de sintonia de Ziegler e Nichols . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

1.4.4.1 Método da curva de reação do processo . . . . . . . . . . . . . . . . . . . . 31

1.4.4.2 Método da estabilidade marginal . . . . . . . . . . . . . . . . . . . . . . . . . 33

2 Algoritmos Genéticos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

2.1 Representação cromossômica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

2.2 População . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

2.3 Objetivo e função de avaliação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

2.4 Seleção . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

2.4.1 Elitismo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

2.4.2 Steady-state . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

2.5 Operadores genéticos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

2.5.1 Crossover ou cruzamento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

2.5.2 Mutação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

2.6 Uma versão simplificada do algoritmo genético . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

3 Desenvolvimento e Análise de Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

3.1 Resposta transitória e as características de desempenho . . . . . . . . . . . . . . . . . . . . . . 46

3.2 Aplicação do método da estabilidade marginal de Ziegler e Nichols . . . . . . . . . . . 48

3.2.1 A representação matemática da planta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

3.2.2 O ganho crítico e a frequência de ressonância . . . . . . . . . . . . . . . . . . . . . . . 49

3.2.3 A sintonia do controlador PID através de Ziegler-Nichols . . . . . . . . . . . . . 49

3.3 Implementação do algoritmo genético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

3.3.1 A função de avaliação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

3.3.2 A sintonia do controlador PID através do algoritmo genético . . . . . . . . . . 55

3.3.2.1 O sobressinal Mp como parâmetro de custo . . . . . . . . . . . . . . . . 55

Page 17: SINTONIA DE CONTROLADORES PID ATRAVÉS DE ALGORITMOS GENÉTICOS

3.4 Algoritmos genéticos versus Ziegler-Nichols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

Considerações finais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

Referências Bibliográficas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

Apêndice A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

Apêndice B . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

Page 18: SINTONIA DE CONTROLADORES PID ATRAVÉS DE ALGORITMOS GENÉTICOS

17

INTRODUÇÃO

Desde os primórdios o homem percebeu a necessidade de controlar seus processos pro-

dutivos visando minimizar o tempo destinado às suas atividades, maximizando o resultado ob-

tido e aplicando de forma eficiente e cômoda a mão de obra disponível. Assim, a busca por

automatismo dos controles empregados surgiu naturalmente.

A vida contemporânea está repleta de dispositivos e mecanismos que usufruem de siste-

mas automatizados, desde um aparelho telefônico móvel que de forma ubíqua efetua sincroniza-

damente suas mudanças de célula (Estação Rádio Base – ERB) a grandes jatos comerciais com

pilotos automáticos e seus computadores de bordo, os quais são sabidamente imprescindíveis

para a engenharia aeronáutica.

A penetração e transparência de muitos desses sistemas de controles automáticos pode

nos levar a crer equivocadamente que esta é uma área da ciência e engenharia completamente

desenvolvida, em que todos os avanços possíveis já foram alcançados. Na realidade, especial-

mente no meio industrial, há muitos sistemas de controle que não estão otimizados ou carecem

de melhores técnicas de ajustes que não dependam intrinsecamente da experiência de profissio-

nais especializados.

Objetivo geral

Analisar se o uso de algoritmos genéticos em controladores PID é uma alternativa viável

de sintonia. Como parâmetro comparativo serão adotadas as regras de Ziegler e Nichols.

Objetivo específico

Apresentar um referencial teórico com as principais características da função matemá-

tica de três termos, Proporcional, Integral e Derivativa (PID), utilizada como solução em con-

troladores com realimentação em uma enorme gama de problemas de automação e controle; e

fundamentar os conceitos de algoritmos genéticos, um método de otimização global, e a apli-

cação desta técnica na sintonia do controlador PID com o auxílio das ferramentas matemáticas

do software MATrix LABoratory (MATLAB).

Page 19: SINTONIA DE CONTROLADORES PID ATRAVÉS DE ALGORITMOS GENÉTICOS

18

Justificativa e motivação

A despeito dos recorrentes estudos sobre o algoritmo dos controladores PID, de sua evo-

lução desde a sua concepção em 1935 por Ralph Clarridge e de ser o controlador dominante no

mercado, estudos mostram que apenas uma pequena parte está efetivamente em funcionamento

pleno e otimizado (FACCIN, 2004). Esta percepção se confirma no estado de Goiás, onde o

mercado de automação é crescente e carente de especialistas.

Do ponto de vista acadêmico, o estudo de controladores PID agregado ao de algorit-

mos genéticos é uma excelente forma de consolidar e empregar o conhecimento adquirido nos

anos de faculdade. O uso do MATLAB para geração e análise de resultados se deu por ser um

ambiente matemático-computacional extremamente flexível e de ampla utilização nos meios

acadêmicos, de pesquisa e projetos, pois possibilita abstrair de plataformas tecnológicas, tendo

em vista que são abundantes e diversificadas, oferecendo desprendimento suficiente para apli-

cação do método científico. Por razões similares as que levaram a adoção do MATLAB, deu-se

a escolha do editor LATEX para a produção deste trabalho.

Visão geral

A seção 1 fornece os conceitos básicos da teoria de sistemas de controle, com ênfase na

descrição das ações de controle on-off, proporcional, integral e derivativa e nas suas vantagens

e desvantagens, culminando na descrição do controlador PID e de sua sintonia pelos métodos

da curva de reação do processo e da estabilidade marginal de Ziegler e Nichols, também conhe-

cidos como primeira e segunda regras.

Na seção 2 estão as principais técnicas de implementação dos algoritmos genéticos e os

seus componentes: os cromossomos, a população, o objetivo e a função de avaliação, a seleção

e os operadores genéticos de cruzamento (crossover) e mutação.

A seção 3 traz o detalhamento da simulação das plantas e do processo de sintonia, tanto

por Ziegler-Nichols como pelo Algoritmo Genético (AG) – ambos com o auxílio do MATLAB

– e os resultados da minimização do sobressinal máximo (Mp).

No apêndice A são apresentados os resultados obtidos com o tempo de acomodação (ts)

como parâmetro de custo dos indivíduos do AG.

E, finalmente, no apêndice B está a codificação do AG em linguagem MATLAB.

Page 20: SINTONIA DE CONTROLADORES PID ATRAVÉS DE ALGORITMOS GENÉTICOS

19

1 Sistemas de Controle Automáticos

James Watt desenvolveu no séc. XVIII um controlador centrífugo de velocidade para

uma máquina a vapor que é considerado um dos trabalhos mais significativos da automação

em virtude de ter sido o primeiro a empregar um controle automático com retroalimentação

(OGATA, 2010; DORF; BISHOP, 2009; FACCIN, 2004).

Através de duas esferas de metal que giravam ao redor de um eixo, o mecanismo asse-

gurava que a variação de velocidade fosse muito pequena. Quando uma carga era aplicada ao

motor e sua velocidade diminuía, reduzindo a força centrífuga, as esferas passavam a girar mais

próximas do eixo fazendo com que a válvula principal fosse aberta. Desta forma mais vapor

era admitido e a velocidade do motor aumentada, devolvendo o sistema ao ponto de operação

desejado (figura 1.1).

Figura 1.1: Controlador centrífugo de velocidade.

Fonte: Dorf e Bishop (2009).

Minorsky, Hazen e Nyquist, dentre outros, são nomes de grande importância nos pri-

meiros estágios de desenvolvimento da teoria de controle. Através de equações diferenciais, em

1922, Minorsky mostrou como determinar a estabilidade de um sistema de controle automático

para pilotar navios. Nyquist, em 1932, apresentou um modo relativamente simples de estabili-

zar sistemas de malha fechada baseados na resposta estacionária de sistemas de malha aberta a

Page 21: SINTONIA DE CONTROLADORES PID ATRAVÉS DE ALGORITMOS GENÉTICOS

20

excitações senoidais. O termo servomecanismo foi cunhado em 1934 por Hazen para classificar

sistemas de controle de posição a relés capazes de seguir muito próximo uma excitação variável

no tempo (OGATA, 2010).

Ralph Clarridge da Taylor Instrument Companies elaborou em 1935 o controlador de

três termos PID (Proporcional, Integral e Derivativo) que antecipava a variação no sinal de erro,

o qual foi proposto como solução para um problema de oscilação de temperatura na malha de

controle de uma indústria de celulose. Inicialmente denominada de pre-act, a ação derivativa foi

usada somente em casos especiais até 1939, quando o controlador PID Fullscope foi apresen-

tado com uma abordagem totalmente reformulada, sendo adotado como padrão nos sistemas

de controles comerciais da empresa. Neste mesmo ano foi lançada pela Foxboro Instrument

Company no controlador pneumático Stabilog a tecnologia fundamentada na derivada do sinal

de erro, hyper-reset (FACCIN, 2004).

Por operar em uma vasta gama de condições com resultados largamente satisfatórios e

por sua simplicidade funcional, os controladores PID dominam o cenário industrial moderno e

continuam ampliando o seu nicho, pois os constantes avanços da microeletrônica e dos sistemas

microprocessados trazem incessantes e significativos ganhos de desempenho e de qualidade,

além de uma sensível redução de custos e de tamanho físico.

1.1 Definições fundamentais

Há conceitos que amparam qualquer discussão concernente à engenharia de controle

moderno e sobre os quais é imprescindível dar definição. Com esta perspectiva, esta seção traz

as terminologias e definições fundamentais e consagradas, necessárias à abordagem dada neste

trabalho.

1.1.1 Sistemas lineares

O princípio da superposição afirma que a resposta produzida pela aplicação simultânea

de duas funções de determinações diversas é a soma das respostas individuais destas funções. Se

este princípio for aplicável a um sistema e o fator de escala de magnitude (homogeneidade) for

preservado, este é dito linear. Portanto, a resposta às suas diversas entradas pode ser calculada

como o somatório dos resultados individuais de cada entrada (OGATA, 2010; DORF; BISHOP,

2009).

Page 22: SINTONIA DE CONTROLADORES PID ATRAVÉS DE ALGORITMOS GENÉTICOS

21

1.1.2 Sistemas lineares invariantes no tempo

São ditos sistemas lineares invariantes no tempo aqueles em que os seus coeficientes são

constantes ou somente funções da variável independente (OGATA, 2010).

1.1.3 Função de transferência

A função de transferência de uma sistema liner é definida como a relação entrea transformada de Laplace da variável de saída e a transformada de Laplaceda variável de entrada, com todas as condições iniciais supostas iguais a zero.A função de transferência de um sistema (ou elemento) representa a relaçãodescrevendo a dinâmica do sistema sob consideração. (DORF; BISHOP, 2009,p. 42)

A função de transferência é um método operacional que expressa a equação diferencial

da relação entre as variáveis de saída e de entrada de um sistema. É uma propriedade inerente

ao sistema em estudo, não dependendo da magnitude e da natureza da função de entrada ou de

excitação. No entanto, não fornece qualquer informação relativa à estrutura física do sistema.

Se a função for conhecida, a saída ou a resposta poderá ser analisada para diversas en-

tradas distintas, possibilitando conhecer a natureza do sistema. Mas, se não o for, poderá ser

encontrada experimentalmente através de entradas conhecidas e do exame das respostas corres-

pondentes. Uma vez determinada, a função de transferência fornece uma descrição completa

das características dinâmicas do sistema, qualquer que seja a sua descrição física (OGATA,

2010).

1.1.4 Variável controlada e variável manipulada

Variável controlada é a grandeza ou condição que é medida e controlada. Normalmente

é a saída do sistema. Variável manipulada ou sinal de controle é a grandeza ou condição modi-

ficada pelo controlador, de modo que afete a variável controlada (OGATA, 2010).

1.1.5 Distúrbios

Distúrbio é um sinal que, em geral, afeta de forma adversa o valor da variável de saída

de um sistema (OGATA, 2010).

Page 23: SINTONIA DE CONTROLADORES PID ATRAVÉS DE ALGORITMOS GENÉTICOS

22

1.1.6 Realimentação ou retroação

Realimentação ou retroação consiste na operação de atuar sobre a variável manipulada

a fim de minimizar a diferença entre a saída real do sistema e a resposta de saída desejada;

para tal é utilizada a comparação entre as funções da variável controlada e o sinal de referência

pré-estabelecido (OGATA, 2010; DORF; BISHOP, 2009).

1.2 Sistemas de controle

Um sistema é uma combinação de componentes que agem em conjunto paraatingir determinado objetivo. A ideia de sistema não fica restrita apenas a algofísico. O conceito de sistema pode ser aplicado a fenômenos abstratos dinâ-micos, como os encontrados na economia. Dessa maneira, a palavra “sistema”pode ser empregada para sistemas físicos, biológicos, econômicos entre outros.(OGATA, 2010, p. 3)

Nos mais diversos ramos de atividades o termo controle é rotineiramente citado. Indis-

tintamente de qual âmbito esta palavra é aplicada, há sempre a concepção de um sistema no qual

sua saída deve ser propositalmente influenciada, ou seja, há sempre uma condição idealizada

como alvo.

Do ponto de vista da engenharia existe a necessidade da construção de sistemas que

controlem processos de produção, qualidade de resultados e variáveis de processo, como pres-

são, temperatura, nível e vazão. Mais ainda, é requerida a mínima intervenção humana, ou seja,

tanto quanto possível, o máximo de automatismo.

Em um mundo no qual os recursos energéticos estão cada vez mais escassos, a busca

por projetos sustentáveis é primordial. Neste aspecto e frente ao atual estágio da tecnologia,

comumente é almejada a construção de sistemas de controle automáticos que minimizem a

demanda de energia, os custos, o tempo de desenvolvimento e a mão de obra empregada. Deste

modo, é indubitável que estes sistemas continuarão permeando de forma irreversível o cenário

industrial moderno.

Há duas categorias de sistemas de controle: sistemas a malha aberta e sistemas a malha

fechada ou com retroação.

1.2.1 Sistemas de controle a malha aberta

Sistemas de controle a malha aberta são aqueles em que o sinal de saída não tem in-

fluência sobre a ação de controle (OGATA, 2010; DORF; BISHOP, 2009). Portanto, não há

Page 24: SINTONIA DE CONTROLADORES PID ATRAVÉS DE ALGORITMOS GENÉTICOS

23

retroação. A variável manipulada não sofre influência da variável controlada, ou seja, o sinal de

saída não é medido nem tampouco comparado ao de entrada.

Como cada sinal de referência na entrada implica em uma única condição de operação,

a precisão do sistema depende de um bom ajuste inicial. Assim, um novo setup será necessário

tão logo ocorram distúrbios internos ou externos, pois nesta situação, o resultado obtido com o

ajuste efetuado inicialmente, será diferente do esperado.

O controlador semafórico tradicional é um exemplo de sistema de malha aberta. Nele a

variável manipulada é o tempo de cada fase luminosa do semáforo e a variável controlada é o

fluxo de veículos na via. Evidentemente, a maior ou menor quantidade de veículos em trânsito

não causará qualquer variação no tempo da fase semafórica.

1.2.2 Sistemas de controle a malha fechada

Sistemas de controle a malha fechada são aqueles em que, para reduzir o erro e trazer o

valor do sinal de saída ao estágio pretendido, o controlador é excitado pelo sinal atenuante de

erro, o qual é a diferença entre o sinal de retroação e o sinal de entrada. Vale ressaltar que o

sinal de retroação tanto pode ser o próprio sinal de saída como uma função do sinal de saída e

de suas derivadas ou integrais. A expressão controle a malha fechada implica sempre que há

retroação afim de reduzir o erro do sistema (OGATA, 2010; DORF; BISHOP, 2009).

O Automatic Gain Control (AGC) ou Controle Automático de Ganho de uma câmera de

vídeo cinematográfica pode ser tomado como exemplo de sistema a malha fechada. Neste, o

brilho médio da cena em exposição é usado como sinal de retroação para que a imagem captada

seja mantida dentro de um patamar de luminância aceitável ao olho humano.

1.2.3 Sistemas de controle a malha fechada versus sistemas de controle a malha aberta

Via de regra, os sistemas de controle a malha aberta oferecem maior simplicidade e fa-

cilidade de construção e manutenção (OGATA, 2010). São viáveis em situações nas quais é

demasiadamente dispendioso usar o sinal de saída como parâmetro comparativo, sendo requi-

rido o prévio conhecimento do sinal de entrada e a inexistência de distúrbios.

Em contrapartida, pelo uso de retroação, os sistemas de controle a malha fechada tem

uma resposta menos sensível a distúrbios externos e a oscilações dos parâmetros internos

(OGATA, 2010). Contudo, oferecem maior dificuldade para obtenção de uma relativa estabili-

dade, pois são propensos a excessivas correções de erro, o que pode acarretar maiores variações

Page 25: SINTONIA DE CONTROLADORES PID ATRAVÉS DE ALGORITMOS GENÉTICOS

24

de amplitude com o tempo.

Outra perspectiva dos sistemas de controle a malha fechada é a possibilidade de ser

mantida a exatidão no controle de um determinado processo com o uso de componentes de

menor precisão. Todavia, comparativamente a um sistema similar a malha aberta, os sistemas de

controle a malha fechada possuem um número sensivelmente maior de componentes aplicados,

exigindo maior potência, maiores custos, peso e dimensão.

1.3 Ações de controle

De acordo com (OGATA, 2010), a maioria dos controladores industriais pode ser clas-

sificada de acordo com suas ações de controle, em:

• controladores de duas posições ou on-off ;

• controladores proporcionais;

• controladores integrais;

• controladores proporcionais e integrais;

• controladores proporcionais e derivativos;

• e controladores proporcionais, integrais e derivativos (PID).

1.3.1 Ação de controle de duas posições (on-off ou liga-desliga)

Esta é a ação de controle mais elementar e de relativa simplicidade de implementação.

Sendo muito utilizada tanto em sistemas de controle domésticos quanto em sistemas de controle

industriais. O seu princípio de funcionamento consiste simplesmente no elemento atuante ser

mantido ligado ou desligado (OGATA, 2010).

Na figura 1.2, sendo u(t) o sinal de saída do controlador e e(t) o sinal de erro atuante,

teremos que

u(t) = U1, para e(t)> 0 (1.1)

= U2, para e(t)< 0. (1.2)

onde U1 e U2 são constantes, ou seja, u(t) sempre permanecerá em seus valores máximo ou

mínimo. Usualmente o valor mínimo U2 é zero ou −U1.

Page 26: SINTONIA DE CONTROLADORES PID ATRAVÉS DE ALGORITMOS GENÉTICOS

25

Figura 1.2: (a) Diagrama de blocos de um controlador liga-desliga; (b) diagrama de blocos de controlador liga-desliga com intervalo diferencial.

Fonte: Ogata (2010).

Para que não ocorram excessivas comutações e consequentemente desgastes desneces-

sários dos componentes do sistema de controle, o sinal de erro atuante deve se deslocar no

intervalo diferencial antes de efetuar a comutação de valores (histerese).

A figura 1.3 mostra o controlador de nível de líquido, um sistema on-off, no qual a vál-

vula eletromagnética é mantida aberta ou fechada, isto é, a vazão de entrada ou é uma constante

positiva ou é nula.

Figura 1.3: (a) Sistema de nível de controle; (b) válvula eletromagnética.

Fonte: Ogata (2010).

Assim, para causar o movimento do elemento atuante, o sinal de saída transita continua-

mente entre os dois limites requeridos, conforme ilustrado na figura 1.4. A chave para um bom

resultado neste tipo de ação é encontrar uma amplitude de oscilação de saída cômoda para os

elementos do sistema.

Page 27: SINTONIA DE CONTROLADORES PID ATRAVÉS DE ALGORITMOS GENÉTICOS

26

Figura 1.4: Curva do nível h(t) versus t relativa ao sistema mostrado na figura 1.3.

Fonte: Ogata (2010).

1.3.2 Ação de controle proporcional

A ação de controle proporcional nada mais é do que um amplificador com ganho ajus-

tável, ou seja, dependendo do sinal de erro atuante e(t) ocorrerá um ajuste que compense as

oscilações do sistema. Mas, vale dizer que, uma vez ajustado, o ganho tende a ser constante

numa faixa de erros chamada de banda proporcional, ilustrada na figura 1.5 (FACCIN, 2004;

CEIDE, 2006).

e(t)

u(%)

0

100

banda proporcional

Figura 1.5: Ação de controle em função do sinal de erro gerada pelo controlador proporcional.

Em outros termos, esta ação é uma relação direta entre o sinal de saída do controlador

u(t) e o sinal de erro atuante e(t):

u(t) = Kpe(t) (1.3)

ou, no domínio da transformada de Laplace,

U(s)E(s)

= Kp (1.4)

onde Kp, ilustrado na figura 1.6, é denominado ganho proporcional (OGATA, 2010).

Page 28: SINTONIA DE CONTROLADORES PID ATRAVÉS DE ALGORITMOS GENÉTICOS

27

Figura 1.6: Diagrama de blocos de um controlador proporcional.

Fonte: Ogata (2010).

A principal característica da ação proporcional é um tempo de resposta às oscilações

relativamente pequeno quando a constante proporcional é elevada, isto é desejável em dadas

circunstâncias, no entanto, pode causar instabilidades ao trazer reações precipitadas, afetando

significativamente a controlabilidade do sistema (BORDON, 1993).

1.3.3 Ação de controle integral

A ação de controle integral é proporcional à integral do sinal de erro no tempo. Isto é,

u(t) = Ki

∫e(t)dt (1.5)

onde Ki é uma constante ajustável. A função de transferência do controlador integral é

U(s)E(s)

=Ki

s(1.6)

Por depender do histórico do sinal de erro atuante, impulsos são amortizados, elimi-

nando a ocorrência de oscilações súbitas na saída do controlador, por isto esta ação é também

conhecida como ação de restabelecimento (reset action). Assim, sua principal característica é

a eliminação do erro em regime permanente (erro residual) (OGATA, 2010; FACCIN, 2004;

DORF; BISHOP, 2009).

Muito embora remova o erro em regime estacionário, esta ação pode reduzir a estabi-

lidade da malha de controle ao oferecer uma resposta oscilatória com amplitude lentamente

decrescente ou até mesmo crescente, o que não é desejável na maioria das situações (OGATA,

2010; DORF; BISHOP, 2009).

Page 29: SINTONIA DE CONTROLADORES PID ATRAVÉS DE ALGORITMOS GENÉTICOS

28

1.3.4 Ação de controle derivativa

No modo derivativo a ação de controle resultante é proporcional a derivada do sinal de

erro no tempo. Isto é,

u(t) = Kdde(t)

dt(1.7)

onde Kd é a constante de ganho derivativa. A função de transferência do controlador derivativo

éU(s)E(s)

= Kds (1.8)

A ação de controle derivativa tem uma resposta extremamente rápida, atuando de forma

antecipatória frente a menor taxa de variação do erro, antes mesmo que este fique demasiada-

mente grande. Todavia, se o erro for constante não haverá ação corretiva mesmo que este seja

expressivo, pois a ação derivativa é proporcional à taxa de variação do sinal de erro no tempo e

não ao erro propriamente dito.

Apesar de possuir a vantagem de estimar tendências de variações futuras do erro, cres-

centes ou decrescentes, a ação de controle derivativa tem a desvantagem de amplificar ruídos

e causar saturação no atuador. Por esta característica nunca é usada sozinha (OGATA, 2010;

DORF; BISHOP, 2009).

1.4 O controlador PID

As ações de controle proporcional, integral e derivativa quando aplicadas separadamente

apresentam desvantagens que limitam o uso ou as tornam inviáveis. No entanto, quando com-

binadas no controlador PID resultam em um modo de controle simples, estável e extremamente

poderoso, tornando-se uma solução eficiente para a maioria das necessidades dos processos

industriais automatizados.

A forma acadêmica ou didática do controlador PID é dada por

u(t) = Kpe(t)+Kp

Ti

∫e(t)dt +KpTd

de(t)dt

(1.9)

ou pela função de transferência

U(s)E(s)

= Kp +Kp

Tis+KpTds, (1.10)

onde Kp representa o ganho proporcional, Td o tempo derivativo e Ti o tempo integral, ilustrados

na figura 1.7 (OGATA, 2010).

Page 30: SINTONIA DE CONTROLADORES PID ATRAVÉS DE ALGORITMOS GENÉTICOS

29

Figura 1.7: Diagrama de blocos de um controlador PID.

Fonte: Ogata (2010).

Contudo, existem outras formas de implementação do algoritmo do controlador PID,

algumas divergindo significativamente entre si. Entre as quais, há duas que merecem destaque:

a forma série ou interativa e a forma paralela ou não-interativa (FACCIN, 2004).

1.4.1 Forma série ou interativa

Na forma série a ação integral é somada à ação derivativa. Sua representação matemática

no domínio de Laplace é dada por

G(s) = Kp

(1+

1Tis

)(1+Tds) . (1.11)

A equação 1.11 mostra que a mudança do parâmetro de uma ação afetará diretamente as

demais. Por esta característica esta forma é também denominada de interativa (vide representa-

ção na figura 1.8).

Td · s 1/(Ti · s)e Σ Σ Kp u

Figura 1.8: Representação esquemática da forma série do controlador PID.

1.4.2 Forma paralela ou não-interativa

Na forma paralela as ações integral e derivativa são calculadas distintamente e sobrepos-

tas no controlador PID, ou seja, os modos integral e derivativo são combinados paralelamente,

conforme representado na figura 1.9.

Td · se Σ Kp u

1/(Ti · s)

Figura 1.9: Representação esquemática da forma paralela do controlador PID.

Page 31: SINTONIA DE CONTROLADORES PID ATRAVÉS DE ALGORITMOS GENÉTICOS

30

No domínio de Laplace sua representação é dada por

G(s) = Kp

(1+

1Tis

+Tds). (1.12)

A partir da equação 1.12 fica evidenciado que não há interação entre as ações integral e

derivativa, ou seja, mudanças no parâmetro de um modo não implicam em alterações no outro

e assim reciprocamente.

1.4.3 Critérios de desempenho

Sistemas de controle são construídos para atender a requisitos específicos e, sendo res-

peitadas as condições de funcionamento impostas no curso do projeto, haverá a expectativa

de atendimento às especificações de desempenho, tais como precisão, estabilidade relativa e

velocidade de resposta.

As especificações de desempenho podem ser em âmbito de requisitos de resposta transi-

tória (como sobressinal e tempo de acomodação na resposta à entrada em degrau) e de requisitos

em regime estacionário (como erro estacionário para uma entrada em rampa) ou resposta em

frequência (OGATA, 2010).

1.4.4 Métodos de sintonia de Ziegler e Nichols

Sintonia é o processo de escolha dos parâmetros do controlador PID de modo a atender

determinado critério de desempenho. Existem diversas técnicas analíticas de projeto que podem

ser aplicadas na sintonia do controlador quando o modelo matemático da planta é conhecido.

Do contrário, se este modelo matemático não pode ser definido precisamente, é indispensável a

adotação de métodos empíricos de sintonia (OGATA, 2010).

Em 1942, a partir das características da resposta transitória de uma função em degrau,

Ziegler e Nichols propuseram dois métodos experimentais que são amplamente utilizados de-

vido a sua facilidade de implementação e utilidade em sistemas de controle em que as dinâmicas

da planta são desconhecidas ou imprecisas. O propósito dos dois métodos é encontrar um valor

máximo de ultrapassagem entre 10% e 60% ou uma relação de aproximadamente 1/4 entre dois

picos de amplitude subsequentes e de mesma direção, de modo que a estabilidade seja aceitável

após uma perturbação ou uma mudança do ponto de ajuste na malha de controle. Na maioria

dos processos é possível alcançar um sobressinal de 25%, conforme exemplificado na figura

1.10 (OGATA, 1998; BEZERRA, 2010; HAUGEN, 2010b; ZIEGLER; NICHOLS, 1942).

Page 32: SINTONIA DE CONTROLADORES PID ATRAVÉS DE ALGORITMOS GENÉTICOS

31

Figura 1.10: Resposta ao degrau unitário com valor máximo de ultrapassagem de 25%.

Fonte: Ogata (1998).

1.4.4.1 Método da curva de reação do processo

Nesta abordagem, a curva da resposta em degrau a ser obtida deve ter um aspecto de

S, podendo ser gerada tanto experimentalmente como a partir de uma simulação dinâmica do

sistema (OGATA, 2010; HAUGEN, 2010b; ZIEGLER; NICHOLS, 1942). A figura 1.11 mostra

as duas constantes que caracterizam esta curva, o atraso L e a constante de tempo T.

Figura 1.11: Curva de resposta em forma de S.

Fonte: Ogata (2010).

Quando este processo é aplicável, a função de transferência pode ser aproximada para

um sistema de primeira ordem com atraso de transporte, conforme a equação 1.13:

C(s)U(s)

=KeLs

T s+1. (1.13)

O ajuste do controlador neste método consiste nos seguintes passos (HAUGEN, 2010b; ZIE-

GLER; NICHOLS, 1942):

Page 33: SINTONIA DE CONTROLADORES PID ATRAVÉS DE ALGORITMOS GENÉTICOS

32

1. abrir a malha, o que pode ser feito pondo o controlador no modo manual;

2. ajustar manualmente a variável de controle de modo que o processo fique no seu ponto

de operação;

3. inserir um sinal em degrau na variável de controle com amplitude tal que o efeito possa

ser observado e medido na saída do sistema, no entanto, pequeno o bastante para que o

processo não passe muito do seu ponto de operação;

4. efetuar a leitura dos parâmetros característicos da resposta em degrau (exemplificados na

figura 1.11):

• atraso L ou tempo morto efetivo;

• constante de tempo T (com base na declividade no ponto de inflexão da curva);

5. calcular e ajustar os parâmetros do controlador (Kp, Ti e Td) de acordo com a tabela 1.1;

Tabela 1.1: Regra de sintonia de Ziegler e Nichols baseada na resposta em degrau da planta.

Tipo de controlador Kp Ti Td

P T/L ∞ 0PI 0,9 · (T/L) L/0,3 0

PID 1,2 · (T/L) 2 ·L 0,5 ·L

Fonte: Ogata (2010).

6. fechar a malha.

Com a aplicação da tabela 1.1 na equação de transferência,

Gc(s) = Kp

(1+

1Tis

+Tds)

(1.14)

= 1,2TL

(1+

12Ls

+0,5Ls)

(1.15)

= 0,6T

(s+

1L

)2

s, (1.16)

é possível concluir que o controlador PID tem um polo na origem e zeros duplos em s =−1/L.

A partir dos procedimento anteriormente descritos, é possível observar que o ajuste dos

parâmetros é imediato, o que é bastante útil em processos muito lentos. No entanto, como a

maioria dos sistemas tem maior complexidade do que sistemas de primeira ordem com atraso,

Page 34: SINTONIA DE CONTROLADORES PID ATRAVÉS DE ALGORITMOS GENÉTICOS

33

um ajuste fino deve ser feito antes que a resposta do sistema possa ser considerada totalmente

“aceitável” (BEZERRA, 2010).

1.4.4.2 Método da estabilidade marginal

Também conhecido como regra da malha fechada, este segundo método de Ziegler e

Nichols propõe o ajuste do controlador com base na estabilidade marginal do sistema. Para sua

aplicação, este deve apresentar atraso de transporte ou ter dinâmica de ordem superior a três

(OGATA, 2010; HAUGEN, 2010b; ZIEGLER; NICHOLS, 1942). Assim como no primeiro

método, o ajuste pode ser feito experimentalmente em um sistema real ou em uma simulação.

A sintonia do controlador é dada pelos seguintes procedimentos (ROSÁRIO, 2005; HAUGEN,

2010a; ZIEGLER; NICHOLS, 1942):

1. conduzir o processo ao ponto específico de operação, de maneira que o controlador

“sinta” que está submetido a um processo dinâmico e seja reduzida a possibilidade das

variáveis atingirem seu limite durante a sintonia, para isto a variável de controle pode ser

ajustada com o controlador em modo manual;

2. desativar as ações I e D do controlador, tornando os parâmetros Ti = ∞1 e Td = 0. Inici-

almente o ganho Kp deve ser igualado a zero. Em seguida a malha deve ser fechada para

que o controlador seja ajustado em modo automático;

3. elevar Kp até que os sinais de controle apresentem uma frequência de oscilações susten-

tadas (ωcr), onde o período é Pcr = 2π/ωcr, conforme exemplifica a figura 1.12. Neste

estágio o ganho é crítico (Kcr) e corresponde ao limite de estabilidade do sistema. O sinal

de excitação aplicado pode ser em degrau, mas deve ser pequeno o bastante2 para não

deixar o sistema muito longe do seu ponto de operação, onde as dinâmicas do processo

podem ser diferentes. Quando não existe um valor de Kp que resulte em uma oscilação

sustentada, este método não é aplicável;

1Em alguns controladores PID comerciais, fazer Ti = 0 é um código para desativar o termo I, sendo equivalentea tornar Ti = ∞ (HAUGEN, 2010a).

2É aconselhável que o sinal de excitação seja em torno de 5% da faixa nominal máxima (HAUGEN, 2010a).

Page 35: SINTONIA DE CONTROLADORES PID ATRAVÉS DE ALGORITMOS GENÉTICOS

34

Figura 1.12: Oscilação sustentada com período Pcr (medido em segundos).

Fonte: Ogata (2010).

4. medir o período da frequência de oscilações sustentadas, período crítico Pcr;

5. calcular os valores dos parâmetros (Kp, Ti e Td) de acordo com a tabela 1.2 e aplicá-los

no controlador. Reduzir Kp se a estabilidade da malha for baixa;

Tabela 1.2: Regra de sintonia de Ziegler e Nichols baseada no ganho crítico Kcr e no período crítico Pcr.

Tipo de controlador Kp Ti Td

P 0,5 ·Kcr ∞ 0PI 0,45 ·Kcr (1/1,2) ·Pcr 0

PID 0,6 ·Kcr 0,5 ·Pcr 0,125 ·Pcr

Fonte: Ogata (2010).

Com os valores da tabela 1.2 aplicados a equação de transferência,

Gc(s) = Kp

(1+

1Tis

+Tds)

(1.17)

= 0,6Kcr

(1+

10,5Pcrs

+0,125Pcrs)

(1.18)

= 0,075KcrPcr

(s+

4Pcr

)2

s, (1.19)

vê-se que o controlador PID tem um polo na origem e zeros duplos em s =−4/Pcr.

Page 36: SINTONIA DE CONTROLADORES PID ATRAVÉS DE ALGORITMOS GENÉTICOS

35

2 Algoritmos Genéticos

Em 1859 Charles Darwin desenvolveu a teoria da evolução, a qual propõe que determi-

nadas mutações ocorridas na reprodução de uma espécie serão preservadas em gerações futuras,

se tornarem os indivíduos mais competitivos e melhores adaptados ao meio. Charles Darwin

desconhecia os elementos que eram usados pelos organismos nos processos de mutação e he-

rança de suas características (RUSSEL; NORVIG, 2004; GONÇALVES, 2000).

Foi somente em 1866 que Gregor Mendel identificou as leis probabilísticas que regem

estes processos. Muito depois, em 1953, Watson e Crick identificaram a molécula de Deoxy-

ribonucleic Acid (DNA) e descreveram sua composição: Adenina, Guanina, Timina e Citosina

(AGTC). Atualmente sabe-se que o DNA de um descendente é gerado pela combinação de

seções de DNA dos pais (RUSSEL; NORVIG, 2004).

Nos anos 1950 e 1960, diversos cientistas da computação conduziram estudos sobre sis-

temas evolucionários no intuito de empregá-los como ferramentas de busca e otimização em

problemas de engenharia. Segundo Mitchell (1999), o princípio fundamental destes algoritmos

foi desenvolver operadores inspirados em mutação genética e seleção natural que, aplicados so-

bre uma população inicial de soluções candidatas, dariam a melhor saída para um dado sistema.

Quatro elementos fundamentais podem ser destacados em todos os algoritmos evoluci-

onários (GONÇALVES, 2000; MITCHELL, 1999):

• uma população de indivíduos, onde cada um representa uma possível solução do pro-

blema;

• um modo de gerar novos indivíduos, mutando ou combinando indivíduos existentes;

• uma maneira de avaliar a qualidade da solução que cada indivíduo representa;

• um mecanismo para selecionar os melhores indivíduos (princípio da seleção natural).

Dentre os algoritmos evolucionários, os Algoritmos Genéticos merecem destaque. Estes

conjugam propriedades de técnicas heurísticas de otimização global e de buscas probabilísticas.

AGs são extremamente aplicáveis a problemas em que os dados são discretos ou não possuem

Page 37: SINTONIA DE CONTROLADORES PID ATRAVÉS DE ALGORITMOS GENÉTICOS

36

derivadas. Por serem heurísticas de busca no espaço de soluções, trabalham com uma grande

população de pontos, no entanto, não são classificados como métodos enumerativos por não

examinarem todos os pontos possíveis, mas um subconjunto destes. Apesar de possuírem carac-

terísticas de buscas probabilísticas, inclusive apresentando soluções distintas sobre uma mesma

população inicial e um mesmo conjunto de parâmetros a cada vez que o algoritmo é executado,

também diferenciam-se de esquemas aleatórios por não usarem de caminhadas aleatórias no

espaço de soluções (random walks), pois trabalham com informações pertinentes ao problema

e exploram informações históricas, direcionando a busca por meio de seleção, similarmente ao

processo natural (LINDEN, 2008).

Para o uso adequado dos AGs, alguns conceitos devem ser definidos segundo a perspec-

tiva da ciência da computação, são eles: representação cromossômica, população, objetivo e

função de avaliação, seleção (elitismo e steady-state), crossover (cruzamento) e mutação.

2.1 Representação cromossômica

O cromossomo é o container que carrega as informações concernentes ao problema a

ser tratado. Dentre as diversas formas de representação cromossomial, a mais popular e mais

disseminada é a forma binária, na qual uma solução candidata está codificada de tal modo que

cada bit (ou um pequeno bloco de bits adjacentes) represente um gene, formando um estrutura

de dados em que o alelo assume valor 0 ou 1. O conceito implícito em cada bit (ou conjunto de

bits) é inerente ao problema (MITCHELL, 1999; LINDEN, 2008; LACERDA; CARVALHO,

1999). Segundo Linden (2008), por ser o alfabeto de menor ordem, a codificação binária é a

mais eficiente para manipulação de esquemas .

A despeito de sua eficiência e simplicidade, a representação binária pode oferecer obstá-

culos significativos quando há exigência de grande precisão numérica e múltiplas dimensões de

variáveis contínuas, pois as cadeias de bits se tornam muito longas, o que pode causar uma lenta

convergência do algoritmo. Uma solução alternativa nestas condições é a representação numé-

rica que, por ter um alfabeto com maior cardinalidade, possui um tamanho menor de cromos-

somo. Outros benefícios advêm desta representação, são eles (LINDEN, 2008; GONÇALVES,

2000):

• unificação das representações dos dados interna (genótipo) e externamente (fenótipo), o

que torna o próprio algoritmo mais simples e compreensível à análise humana;

• redução da probabilidade de ocorrência de problemas enganadores (deceptives), pois há

uma diminuição de esquemas de baixa ordem que podem direcionar o AG para uma

Page 38: SINTONIA DE CONTROLADORES PID ATRAVÉS DE ALGORITMOS GENÉTICOS

37

solução que não é ótima;

• uso da máxima precisão que o sistema computacional pode oferecer, pois o cromossomo

é representado por um vetor de números reais, no qual cada posição do vetor simboliza

um gene que contém explicitamente o valor de uma variável do problema;

• análise e processamento em grandes domínios, pois a precisão pode ser mantida sem que

haja a necessidade de acréscimo no tamanho do cromossomo.

Em contrapartida, por sua maior cardinalidade, a representação numérica pode degradar

a qualidade da solução (LINDEN, 2008). Diante disto, uma análise criteriosa dos requisitos

deve ser feita para a escolha da melhor representação dos cromossomos, binária ou numérica,

tendo em vista que o algoritmo deve se acomodar ao problema, e não o contrário. Este princí-

pio faz parte da estratégia “keep it short and simple” (KISS), a qual recomenda que qualquer

complexidade desnecessária deve ser descartada, ou seja, a representação deve ser, tanto quanto

possível, a mais simplificada. Quanto a representação dos dados, dois outros cuidados devem

ser adotados e são sensivelmente importantes para o sucesso do AG:

• soluções não factíveis para o problema não devem ser representadas;

• restrições de condições devem estar presentes na representação.

No contexto dos AGs, um indivíduo é representado por um cromossomo, portanto, os

dois termos são usados indistintamente.

2.2 População

Um AG inicia com um grupo de cromossomos conhecido como população inicial. Isto é

necessário porque a evolução das soluções acontece a partir das soluções candidatas anteriores.

Esta população de partida é construída geralmente de forma aleatória, pois os problemas tra-

tados com AGs são considerados complexos, portanto, o esforço para geração de um conjunto

de soluções iniciais de qualidade é muito grande (MACHADO, 2005; HAUPT; HAUPT, 2004).

Um modo de proporcionar uma população inicial (de tamanho n) com melhores características é

a divisão do espaço de busca em k intervalos com n/k indivíduos em cada subespaço (LINDEN,

2008). Quando há conhecimento prévio da região de busca, uma estratégia eficiente é o uso de

semeadura, que consiste em inserir na população inicial algumas soluções com alta qualidade,

encontradas através de técnicas de busca local, entre outros métodos rápidos (MACHADO,

2005).

Page 39: SINTONIA DE CONTROLADORES PID ATRAVÉS DE ALGORITMOS GENÉTICOS

38

Muitos esforços têm sido empregados para determinar o tamanho apropriado de uma po-

pulação em um algoritmo evolutivo, mas a maioria das análises teóricas não tem sido conclusi-

vas (MICHALEWICZ; FOGEL, 2000), no entanto, são conhecidos dois resultados indesejados

de uma população mal dimensionada (SANTOS et al., 2010; LINDEN, 2008):

• se a população for muito pequena o AG convergirá abruptamente para máximos ou míni-

mos locais;

• enquanto uma população muito grande deteriorará a performance do algoritmo.

O ideal é que o tamanho máximo da população seja estabelecido no limiar onde não

há mais melhora da performance com o crescimento da população. Obviamente os recursos

computacionais não são ilimitados, portanto devem ser considerados nesta avaliação. Como

alternativa às populações com tamanho estático, Arabas et al. (apud VIEIRA; LINDEN, 2003,

2008) propuseram uma estratégia adaptativa, marcando os indivíduos com dois parâmetros: um

para o tempo de vida e outro para a idade.

O tempo de vida foi definido em termos do número máximo de gerações queum indivíduo em particular poderia sobreviver, sendo este automaticamenteremovido da população logo que seu tempo de vida expirasse, independente-mente da sua qualidade. No entanto, o tempo de vida atribuído a um novoindivíduo seria determinado em função de sua qualidade, ou seja, indivíduosde maior qualidade teriam vida mais longa. O tamanho da população pode-ria, assim, aumentar ou diminuir com base no desempenho dos indivíduos emcada geração (ARABAS et al., 1994 apud MICHALEWICZ; FOGEL, 2000,p. 296). (Tradução nossa.)

A esta estratégia, Iorio e Li (2002) adicionaram uma nova característica: distribuir os in-

divíduos em subpopulações adaptativas e avaliá-los tanto individualmente como conjuntamente

com os melhores indivíduos de outras subpopulações, analogamente ao mutualismo existente

entre algumas espécies na natureza, assim, como o algoritmo avalia o quanto um indivíduo coo-

pera com indivíduos de outras sub-populações, o resultado final é a maximização da cooperação

e da aptidão da população total. Ainda neste contexto adaptativo, se está ocorrendo uma rápida

convergência e o desempenho objetivo está distante, é plausível que a população possa crescer

(LINDEN, 2008).

2.3 Objetivo e função de avaliação

O sucesso de um AG na busca da solução de um problema passa pela definição clara e

precisa do objetivo a ser atingido. Este nada mais é do que uma assertiva matemática da tarefa a

Page 40: SINTONIA DE CONTROLADORES PID ATRAVÉS DE ALGORITMOS GENÉTICOS

39

ser cumprida. O objetivo não é uma função, mas uma expressão matemática (MICHALEWICZ;

FOGEL, 2000). Em um problema de minimização de rotas, por exemplo, esta expressão seria

min∑dist(x,y). (2.1)

Por sua vez, a função de avaliação é o meio pelo qual o espaço de soluções é mapeado

matematicamente sob a representação cromossômica escolhida (MICHALEWICZ; FOGEL,

2000). Neste conjunto, cada solução encontrada recebe um valor numérico que indica a sua

aptidão, de modo que seja possível avaliar o quanto um indivíduo está ajustado ao objetivo do

problema, logo, a função de avaliação é o critério utilizado pelo AG para o direcionamento da

busca. Geralmente esta é a única ligação verdadeira do algoritmo com a realidade (LINDEN,

2008), portanto ela deve carregar o máximo de conhecimento disponível sobre o domínio do

problema, evidenciando tanto as restrições como os critérios de qualidade do objetivo a ser

atingido.

Quando funções de penalidade são incorporadas na função de avaliação, também o po-

tencial de adaptação é incluído (MICHALEWICZ; FOGEL, 2000). Para resolver problemas de

satisfação de restrições, Eiben e Ruttkay aplicaram um método que é um misto de sintonia e

controle adaptativo da função de avaliação, no qual esta sofre mudanças baseadas no desempe-

nho de um indivíduo em um ciclo, da seguinte forma: quando um indivíduo mais qualificado

viola uma restrição, ele recebe sanções (pesos) que são usadas no próximo ciclo. Desta forma,

a busca evolutiva é forçada a dar mais ênfase na satisfação de restrições que ainda não foram

atendidas (EIBEN; RUTTKAY, 1996; RUSSEL; NORVIG, 2004).

2.4 Seleção

Assim como nos sistemas biológicos, nos AGs existe um processo de seleção que ob-

jetiva privilegiar os indivíduos mais qualificados a se tornarem pais da próxima geração. Este

mecanismo faz uso da função de avaliação e tem como expectativa gerar uma prole mais apta do

que a geração ascendente (MITCHELL, 1999). Os indivíduos melhores avaliados deverão ter

seus genes em predominância na geração seguinte, no entanto, é preciso resguardar condições

para que mesmo um indivíduo com baixíssima função de avaliação procrie, pois suas caracte-

rísticas podem ser únicas e favoráveis à criação de um cromossomo que represente a melhor

solução. Desta forma, promover uma seleção equilibrada é vital para se manter adequadamente

a diversidade da população.

Uma forma simples de minimizar a convergência genética é a implementação do que

Page 41: SINTONIA DE CONTROLADORES PID ATRAVÉS DE ALGORITMOS GENÉTICOS

40

é conhecido como método da roleta viciada, no qual os indivíduos são selecionados a partir

de um fator aleatório (rodada na roleta virtual), mas somente na proporção do seu índice de

avaliação. Vale ressaltar que a soma das partes proporcionais não deve exceder 100% (LINDEN,

2008). Outras técnicas de seleção de destaque são: método do torneio, método de amostragem

estocástica uniforme, seleção local, seleção por ranking e seleção truncada. Todos os métodos

de seleção produzem uma força (pressão seletiva) que impele na prole os esquemas contidos

nos indivíduos mais aptos. A intensidade desta pressão de seleção é dada pela diferença entre

a avaliação média atual dos indivíduos da população e a anterior (MITCHELL, 1999; HAUPT;

HAUPT, 2004).

O termo seleção pode ser usado distintamente em dois contextos, podendo, portanto,

referir-se tanto ao processo de seleção de pais como ao processo de seleção de indivíduos para

substituição. Neste âmbito duas técnicas merecem destaque: elitismo e steady-state.

2.4.1 Elitismo

Em 1975 Kenneth De Jong introduziu uma mudança nos métodos de seleção que força

o AG a reter em cada geração alguns dos indivíduos mais aptos, os quais poderiam se perder

por não serem selecionados para reprodução ou por serem destruídos no cruzamento ou na mu-

tação. Estudos mostraram que esta técnica, conhecida por elitismo, melhora significativamente

o desempenho do AG (LINDEN, 2008; MITCHELL, 1999).

2.4.2 Steady-state

Distintamente do que ocorre na natureza, geralmente nos AGs os indivíduos de uma

geração nascem e morrem simultaneamente. A seleção steady-state simula o processo natu-

ral substituindo apenas alguns indivíduos menos aptos em cada geração, porém, para evitar

convergência genética esta substituição parcial pode ser feita aleatoriamente (LINDEN, 2008).

AGs steady-state são frequentemente utilizados em sistemas evolucionários baseados em re-

gras, como sistemas classificadores, onde a aprendizagem incremental é importante e nos quais

os membros da população resolvem coletivamente o problema (MITCHELL, 1999).

2.5 Operadores genéticos

À geração de uma nova prole estão associados os operadores crossover e mutação. As-

sim como nos sistemas biológicos, existe um grau de incerteza sobre estes processos, podendo

Page 42: SINTONIA DE CONTROLADORES PID ATRAVÉS DE ALGORITMOS GENÉTICOS

41

este índice ser fixo ou variável. Neste caso, a probabilidade adaptativa é o resultado da aplicação

de funções do tipo linear, quadrática ou descontínua (LINDEN, 2008).

É importante ressaltar que os operadores genéticos são intrinsecamente ligados ao tipo

de codificação cromossomial adotada no AG (LOPES, 2006 apud GONÇALVES, 2000, p. 10).

2.5.1 Crossover ou cruzamento

A atribuição do operador crossover consiste em promover o cruzamento dos pais para

a criação de novos indivíduos de uma população. Há diversas formas de se efetuar esta com-

binação, a mais elementar, é conhecida como crossover de um ponto. A figura 2.1 representa

graficamente esta operação de recombinação; nela um ponto de corte foi definido e o cruza-

mento dos genes realizado de forma que ambos os filhos terão parte dos genomas de cada pai.

Figura 2.1: Operador de crossover de 1 ponto para codificação binária.

Fonte: GONÇALVES (2000).

Um outro operador de cruzamento muito utilizado na representação binária, é o crosso-

ver de dois pontos. Neste, a geração dos filhos se dá pela recombinação dos genes extremos de

um cromossomo pai com os genes centrais do outro, e vice-versa (LINDEN, 2008), conforme

representado na figura 2.2.

Page 43: SINTONIA DE CONTROLADORES PID ATRAVÉS DE ALGORITMOS GENÉTICOS

42

Figura 2.2: Operador de crossover de 2 pontos para codificação binária.

Fonte: GONÇALVES (2000).

Na representação numérica, existem diversos tipos de operadores de cruzamento. Os se-

guintes merecem destaque (LINDEN, 2008; GONÇALVES, 2000; MICHALEWICZ; FOGEL,

2000):

• crossover simples, que é equivalente ao crossover binário de um ponto;

• crossover flat, que baseia-se em usar os genes dos cromossomos pais para criar intervalos

fechados crescentes e nestes promover sorteios de valores que serão usados no cromos-

somo filho gene a gene, respectivamente;

• crossover aritmético, que para geração de sua prole segue a combinação linear dada por

F1 = α ·P1 +(1−α) ·P2 (2.2)

F2 = α ·P2 +(1−α) ·P1 (2.3)

onde, P1 e P2 são os indivíduos pais selecionados, F1 e F2 os filhos resultantes do cruza-

mento e α um número aleatório no intervalo [0,1] .

• crossover heurístico, que a partir dos cromossomos pais (P1 e P2) geram um ou nenhum

filho, sendo o cruzamento restrito a condição de P2 ser melhor avaliado que P1 e conforme

a equação

F1 = r · (P2−P1)+P2, (2.4)

Page 44: SINTONIA DE CONTROLADORES PID ATRAVÉS DE ALGORITMOS GENÉTICOS

43

onde r é um valor aleatoriamente escolhido no intervalo [0,1].

2.5.2 Mutação

É através da mutação dos indivíduos que o AG é conduzido a uma exploração global

do espaço de busca; ao inserir uma diversidade extra na população, a convergência prematura

do algoritmo é evitada (OLIVEIRA, 1998; GONÇALVES, 2000). No entanto, para que boas

soluções encontradas previamente não sejam destruídas, a mutação é aplicada em cada alelo do

cromossomo com baixíssima probabilidade. Segundo Mitchell (1999), assim como nas opera-

ções de cruzamento, a perspectiva mais promissora do uso de mutação é quando sua taxa de

aplicação é adaptativa.

A figura 2.3 mostra o operador de mutação binária mais difundido e de maior simplici-

dade de execução. Neste processo um gene do cromossomo é escolhido aleatoriamente e o seu

alelo é invertido.

Figura 2.3: Operador de mutação para codificação binária

Fonte: GONÇALVES (2000).

Na representação numérica há vários tipos de operadores de mutação, são eles:

• mutação aleatória ou uniforme, que efetua uma simples substituição do valor de um gene

por um número aleatório no intervalo [νmin,νmax], onde νmin e νmax, que devem ser co-

nhecidos a priori, são os limites inferior e superior de valores permitidos para o gene des-

cendente (MICHALEWICZ; FOGEL, 2000; GONÇALVES, 2000). Por atuar de forma

muito similar ao crossover flat, estes dois operadores não devem ser conjugados (LIN-

DEN, 2008);

• mutação normal ou Gaussiana, que é uma variação da mutação uniforme, onde o gene

é substituído por um valor aleatório de uma distribuição de probabilidades normal de

média zero e desvio padrão σ (distribuição normal padrão), representado por N(0,σ) e

cuja fórmula é

N(0,σ,x) =e−

12 ·(

xσ)

2

σ√

2π(2.5)

Page 45: SINTONIA DE CONTROLADORES PID ATRAVÉS DE ALGORITMOS GENÉTICOS

44

Este tipo de mutação concentra suas alterações em torno do valor corrente, sendo portanto

menos agressiva do que a mutação uniforme (LINDEN, 2008; GONÇALVES, 2000);

• mutação não uniforme, que tem um comportamento exploratório no início da busca e um

comportamento de ajuste fino ao seu final (LINDEN, 2008). Nela um valor τ, que pode

ser zero ou um, é sorteado e o valor da mutação é calculo conforme

ci =

{ci +∆(t,supi− ci),τ = 0

ci−∆(t,ci− in fi),τ = 1

}, onde (2.6)

– t representa a geração atual,

– ci o valor da coordenada em mutação,

– supi e in fi, respectivamente o máximo e o mínimo aceitos para a coordenada.

– e ∆ dado por

∆(t,y) = y∗

(1− r

(1

gmax

)b), onde (2.7)

* t representa a geração atual,

* y o valor máximo de mutação,

* gmax o máximo de gerações que o algoritmo processará,

* r um parâmetro determinado no intervalo (0,1),

* e b um parâmetro que controla o grau da dependência do valor da mutação com

o número de gerações. Quanto maior for b, mais rapidamente ∆ chegará a zero

e a mutação terá um caráter de ajuste fino (LINDEN, 2008).

• mutação limite, que seleciona e substitui um gene aleatório por um dos limites do inter-

valo [νmin,νmax], com igual probabilidade de escolha (GONÇALVES, 2000). Segundo

Lacerda e Carvalho (1999) o uso deste operador de mutação evita perda de diversidade

dos filhos causado pelo crossover aritmético, que tem uma tendência em trazer os genes

para o centro dos intervalos permitidos.

Page 46: SINTONIA DE CONTROLADORES PID ATRAVÉS DE ALGORITMOS GENÉTICOS

45

2.6 Uma versão simplificada do algoritmo genético

Postos os fundamentos gerais, a seguir é dada uma versão simplificada do algoritmo

genético de Machado (2005):

início1

numPop = tamanho da populacao;2

numGera = numero de geracoes;3

numFilhos = numero de filhos;4

probMutacao = probabilidade de mutacao;5

populacao← populacaoInicial(numPop);6

para j de 1 a numPop faça7

fAvalia(populacao[j]);8

para i de 1 a numGera faça9

para j de 1 a numFilhos faça10

(x,y)← sorteiaDois(populacao);11

descendente← efetuaCruzamento(x,y);12

prole[j]← muta(descendente, probMutacao);13

fAvalia(prole[j]);14

populacao← seleciona(populacao, prole);15

Resultado: Retorna o melhor cromossomo;fim16

Figura 2.4: Algoritmo Genético Simplificado.

Page 47: SINTONIA DE CONTROLADORES PID ATRAVÉS DE ALGORITMOS GENÉTICOS

46

3 Desenvolvimento e Análise de Resultados

A forma de codificação das soluções em parâmetros do algoritmo genético trouxe a con-

vicção necessária para adotá-lo neste estudo, tendo em vista que esta característica possibilita

aplicá-lo na sintonia do controlador PID sem o conhecimento explícito da dinâmica interna da

planta.

Especificamente para o desenvolvimento da função de avaliação e o estabelecimento

das medições de custo do AG, foi tomada para investigação a planta proposta em Ogata (2010,

p. 525) (vide figura 3.1). No entanto, para ratificar a viabilidade da versão final do algoritmo,

foram utilizados o modelo simplificado de um veículo de exploração apresentado em Dorf e

Bishop (2009, p. 169) e a planta de Ogata (2010, p. 534), na qual os métodos de Ziegler e

Nichols não se aplicam diretamente.

Figura 3.1: Sistema com controle PID.

Fonte: Ogata (2010).

O software MATLAB e a extensão Control System Toolbox foram utilizados tanto na

simulação das plantas como no desenvolvimento do AG, pois trazem diversas ferramentas des-

tinadas aos projetos de sistemas de controle, possibilitando maior abstração e ênfase na lógica

de negócio a ser aplicada na solução do problema.

3.1 Resposta transitória e as características de desempenho

É frequente as características de desempenho de um sistema de controle serem espe-

cificadas com base na resposta transitória a uma entrada em degrau unitário, pois se esta for

corretamente determinada, torna-se possível prever o comportamento da planta em resposta a

Page 48: SINTONIA DE CONTROLADORES PID ATRAVÉS DE ALGORITMOS GENÉTICOS

47

qualquer outro tipo de sinal; por conveniência os sistemas são testados a partir de uma condição

de repouso (OGATA, 2010).

A resposta transitória de um sistema de controle geralmente apresenta oscilações amor-

tecidas antes que este atinja o regime permanente. Segundo Ogata (2010), apesar de nem todas

se aplicarem necessariamente a todos os casos e muitas vezes serem conflitantes entre si, comu-

mente as seguintes especificações devem ser determinadas:

• tempo de subida (rise time), tr −→ tempo requerido para que a resposta passe de 10 a

90%, ou de 5 a 95%, ou de 0 a 100% do valor final;

• tempo de pico (peak time), tp −→ tempo para que a resposta atinja o primeiro pico de

sobressinal;

• máximo sobressinal (overshoot), Mp −→ valor máximo de pico da curva de resposta, em

porcentagem, medido a partir da unidade (quando necessário o valor deve ser normali-

zado);

• tempo de acomodação (settling time), ts −→ tempo necessário para que a curva de res-

posta se estabilize, geralmente de 2% a 5% em torno do valor final;

• tempo de atraso, td −→ tempo necessário para que a resposta alcance metade de seu valor

final pela primeira vez.

A figura 3.2 exemplifica estes parâmetros:

Figura 3.2: Curva de resposta em degrau unitário mostrando tr, tp, ts, td e Mp.

Fonte: Ogata (2010).

Page 49: SINTONIA DE CONTROLADORES PID ATRAVÉS DE ALGORITMOS GENÉTICOS

48

3.2 Aplicação do método da estabilidade marginal de Ziegler e Nichols

A implementação do método da estabilidade marginal, também conhecido como se-

gunda regra de Ziegler e Nichols (seção 1.4.4), e os resultados obtidos neste processo são

apresentados nesta seção. Os cálculos para sintonia da planta usada como parâmetro no de-

senvolvimento do AG estão em Ogata (2010, p. 526-527).

3.2.1 A representação matemática da planta

A função do código 3.1 foi elaborada para representar matematicamente as plantas aqui

em estudo, dadas pelas equações 3.1, 3.2 e 3.3; a alternância entre estas é dada pela mudança

dos vetores de coeficientes nas linhas 7, 10 e 14. A função tf recebe estes e retorna a função

de transferência desejada.

G1(s) =1

s3 +6s2 +5s, (3.1)

de Ogata (2010, p. 525);

G2(s) =1

s3 +4s2 +3s, (3.2)

de Dorf e Bishop (2009, p. 169);

G3(s) =5s2 +21s+4

s3 +5s2 +22s+4, (3.3)

de Ogata (2010, p. 534).

Código 3.1: Representação matemática da planta

1 %____________________________________________________________________

2 % FUNCAO PARA REPRESENTAR MATEMATICAMENTE UMA PLANTA DE CONTROLE

3 %____________________________________________________________________

4 function [sys] = fSimulaPlanta()

5

6 % Planta de OGATA,2010, p. 525

7 % num = 1; den = [1 6 5 0];

8

9 % Planta de (DORF;BISHOP, 2009, p. 169)

10 % num = [1]; den = [1 4 3 0];

11

12 % Esta planta nao pode ser sintonizado por Ziegle-Nichols

13 % (OGATA, 2010, p. 534)

Page 50: SINTONIA DE CONTROLADORES PID ATRAVÉS DE ALGORITMOS GENÉTICOS

49

14 num = [5 21 4]; den = [1 5 22 4];

15

16 % Funcao de transferencia da planta

17 sys = tf(num,den);

18 end

3.2.2 O ganho crítico e a frequência de ressonância

A determinação do ganho crítico e da frequência de ressonância é condição sine qua non

para aplicação do método da estabilidade marginal de Ziegler e Nichols; o código 3.2 mostra

na linha 5 que ambos podem ser obtidos pela função margin aplicada exclusivamente sobre

a função de transferência da planta, estando implícito que o ganho derivativo é zero e o ganho

integral infinito.

Código 3.2: Calculo do ganho crítico e do período da frequência de ressonância

1 % FUNCAO PARA CALCULAR O GANHO E O PERIODO CRITICOS

2 function [Kcr,Pcr]=fKcrPcr(sys)

3 % Calcula o ganho critico Kcr e a frequencia de ressonancia

4 [Kcr,pm,freqSus,wcg]=margin(sys)

5

6 % Calcula o periodo critico

7 Pcr=(2*pi)/freqSus

8 end

3.2.3 A sintonia do controlador PID através de Ziegler-Nichols

O cálculo dos parâmetros do controlador PID foi implementado no código 3.3 conforme

a tabela 1.2 e cada etapa da simulação da sintonia pelo método da estabilidade marginal foi

devidamente comentada.

Código 3.3: Simulação do processo de sintonia pelo método da estabilidade marginal de Ziegler e Nichols

1 %____________________________________________________________________

2 % SIMULACAO DO METODO DA ESTABILIDADE MARGINAL DE ZIEGLER E NICHOLS

3 %____________________________________________________________________

4 close all; clear all; clc;

5

Page 51: SINTONIA DE CONTROLADORES PID ATRAVÉS DE ALGORITMOS GENÉTICOS

50

6 %____________________________________________________________________

7 % Simulacao da planta com ganho critico (estabilidade marginal)

8 %____________________________________________________________________

9

10 % Funcao de tranferencia da planta

11 [sysPlanta] = fSimulaPlanta();

12

13 % Obtencao do ganho critico (ponto em que a frequencia e sustentada)

14 [Kcr,Pcr] = fKcrPcr(sysPlanta)

15

16 %____________________________________________________________________

17 % Calcula os parametros do controlador PID por Ziegler-Nichols

18 %____________________________________________________________________

19 Kp = 0.6*Kcr; Ti = 0.5*Pcr; Td = 0.125*Pcr;

20

21 %____________________________________________________________________

22 % Controlador PID sintonizado por Ziegler-Nichols

23 %____________________________________________________________________

24 Kd = Kp*Td; Ki = Kp/Ti;

25 numPID = [Kd Kp Ki]; denPID = [1 0]; sysPID = tf(numPID,denPID);

26

27 % Serializa o controlador PID com a planta

28 sysSerial = series(sysPID,sysPlanta);

29

30 % Realiamenta o sistema

31 sysSintonizado = feedback(sysSerial,[1])

32

33 %____________________________________________________________________

34 % Plota o sinal de saida do sistema

35 %____________________________________________________________________

36 tempo = [0:0.001:20];

37 [y tempo] = step(sysSintonizado,tempo);

38 plot(tempo,y,'k');

39 grid on;

40

41 %____________________________________________________________________

42 % Retorna os parametros do sinal de saida do sistema

43 %____________________________________________________________________

44 S = stepinfo(sysSintonizado)

A tabela 3.1 traz os resultados obtidos com a aplicação deste método nos três sistemas

estudados; as figuras 3.3 e 3.4 mostram a plotagem do sinal de saída das plantas 3.1 e 3.2,

Page 52: SINTONIA DE CONTROLADORES PID ATRAVÉS DE ALGORITMOS GENÉTICOS

51

respectivamente. Os resultados NaN1 e Inf 2 do código 3.3 retornados pelo MATLAB mostram

que a planta 3.3 não pode ser sintonizada diretamente pelo método da estabilidade marginal de

Ziegler e Nichols.

Tabela 3.1: Características da resposta transitória na sintonia realizada por Ziegler-Nichols

Planta Kcr Pcr tr tp ts Mp

3.1 30 2,8099 0,57813 1,6796 10,034 61,812

3.2 12 3,6276 0,76106 2,1991 12,465 60,377

3.3 NaN NaN NaN In f NaN In f

Figura 3.3: Resposta ao degrau unitário da planta 3.1 sintonizada por Ziegler-Nichols.

1NaN (Not-a-Number) é a representação aritmética IEEE para operações que têm resultados numéricos indefi-nidos.

2Inf (Infinity) é a representação aritmética IEEE para o infinito positivo, resultado de operações como divisãopor zero e estouro de pilha, as quais levam a resultados muito elevados e que não podem ser representados porvalores de ponto flutuante convencional.

Page 53: SINTONIA DE CONTROLADORES PID ATRAVÉS DE ALGORITMOS GENÉTICOS

52

Figura 3.4: Resposta ao degrau unitário da planta 3.2 sintonizada por Ziegler-Nichols.

3.3 Implementação do algoritmo genético

Segundo o teorema NFL (No-Free-Lunch Theorem ou Teorema da Inexistência do Al-

moço Grátis), proposto por Wolpert e Macready (apud LINDEN, 2008), se um algoritmo A é

melhor de que um algoritmo B para solucionar um determinado grupo de problemas, a reciproca

será verdadeira de B para A, implicando consequentemente que nenhum algoritmo genérico

pode ser melhor do que aquele desenhado precisa e especificamente para o problema. A priori,

isto pode ser um argumento contrário ao uso de algoritmos genéricos de busca (como os AGs),

no entanto, existem domínios de problemas em que o conhecimento intrínseco é inviável de

ser estabelecido e calculado computacionalmente, é neste universo que estas técnicas são muito

úteis e justificáveis. Outro contra-argumento ao NFL é dado por Linden (2008) quando sugere

que na representação, nos operadores genéticos e na função de avaliação do AG seja embutido

o máximo de conhecimento disponível.

Com esta perspectiva e no intuito de usufruir das melhores características desta técnica

computacional, a função de avaliação foi construída exclusiva e totalmente fundamentada no

conhecido levantado sobre os sistemas de controle com realimentação. Apesar de ser baseado

no Continuous Genetic Algorithm de Haupt e Haupt (2004), a seção genérica do algoritmo, dis-

ponível no Apêndice B (código 1), foi corrigida e otimizada para as especificações da sintonia

de um controlador PID.

Page 54: SINTONIA DE CONTROLADORES PID ATRAVÉS DE ALGORITMOS GENÉTICOS

53

3.3.1 A função de avaliação

O cálculo da aptidão dos cromossomos é um ponto sensível do AG, portanto, a função

de avaliação foi construída para dar flexibilidade na escolha de qualquer das características

da resposta transitória do sinal em degrau como referência de custo. O código 3.4 tem como

cerne a função nativa do MATLAB stepinfo (linha 37). Esta retorna uma struct com

os campos RiseTime, SettlingTime, SettlingMin, SettlingMax, Overshoot,

Undershoot, Peak e PeakTime, os quais são necessários e suficientes para implementação

do cálculo de custo dos indivíduos (vide seção 3.2).

Código 3.4: Função de avaliação

1 %____________________________________________________________________

2 % FUNCAO DE AVALIACAO PARA SINTONIA DE UM CONTROLADOR PID

3 %____________________________________________________________________

4 function [ffx_pop]=fAvaliaPID(x_pop)

5

6 % Funcao de transferencia da planta

7 sysPlanta = fSimulaPlanta();

8

9 % Matriz que recebe a populacao com custo agregado

10 ffx_pop = [];

11

12 % Obtem tamanho da populacao

13 tamPopulacao = length(x_pop);

14

15 % Define o denominador da funcao de transferencia do controlador PID

16 denPID = [1 0];

17

18 ic = 1;

19 while ic ≤ tamPopulacao

20 % Define Numerador da funcao de transferencia do PID

21 % ([Kd Ki Kp]) tomado a partir da populacao recebida do AG

22 numPID = [x_pop(ic,1) x_pop(ic,2) x_pop(ic,3)];

23

24 % Funcao de transferencia do controlador PID

25 ctrlPID = tf(numPID,denPID);

26

27 % Serializa o controlador PID com a planta (sysReal)

28 sysSerial = series(ctrlPID,sysPlanta);

29

Page 55: SINTONIA DE CONTROLADORES PID ATRAVÉS DE ALGORITMOS GENÉTICOS

54

30 % Realiamenta o sistema

31 sysSintonizado = feedback(sysSerial,1);

32

33 %_________________________________________________________________

34 % Retorna os parametros do sinal de saida do sistema

35 %_________________________________________________________________

36 S = stepinfo(sysSintonizado);

37

38 % Tempo necessario para a resposta subir de 0 a 90% do valor final

39 tempoSubida = S.RiseTime;

40

41 % Tempo necessario para a resposta se estabilizar na faixa

42 % de tolerancia especificada, de 2% a 5% do seu valor final

43 tempoAcomodacao = S.SettlingTime;

44

45 % Valor minimo da saida aceitavel em regime permanente

46 vMinRegPermanente = S.SettlingMin;

47

48 % Valor maximo da saida aceitavel em regime permanente

49 vMaxRegPermanente = S.SettlingMax;

50

51 % Diferenca normalizada entre o valor de pico de resposta e o

52 % valor final de saida do sistema em regime permanente

53 sobreSinalNormalizado = S.Overshoot;

54

55 % Valor de pico absoluto do sinal de saida

56 picoSinal = S.Peak;

57

58 % Tempo da ocorrencia do valor de pico

59 tempoPicoSinal = S.PeakTime;

60

61 % Calcula o custo e o agrega a populacao

62 % custo = tempoSubida;

63 % custo = tempoAcomodacao;

64 % custo = vMinRegPermanente;

65 % custo = vMaxRegPermanente;

66 custo = sobreSinalNormalizado;

67 % custo = picoSinal;

68 % custo = tempoPicoSinal;

69

70 % Agrega o custo encontrado ao cromossomo (ymax)

71 ffxTemp = [custo [x_pop(ic,1) x_pop(ic,2) x_pop(ic,3)]];

72

Page 56: SINTONIA DE CONTROLADORES PID ATRAVÉS DE ALGORITMOS GENÉTICOS

55

73 % Concatena nova linha na matriz de cromossomos

74 ffx_pop = [ffx_pop;ffxTemp];

75

76 % Incrementa contador do laco

77 ic=ic+1;

78 end

3.3.2 A sintonia do controlador PID através do algoritmo genético

Apesar de todas as características da resposta do sinal em degrau terem sido implemen-

tadas no código 3.4, por serem geralmente conflitantes entre si, em última instância somente

o máximo sobressinal Mp (overshoot) e o tempo de acomodacao ts (settling time) foram efeti-

vamente adotados para avaliação dos indivíduos neste estudo. Os resultados da sintonia para

atender as especificações deste último parâmetro podem ser vistos no apêndice A.

Por sua natureza estocástica, é válido ressaltar que o AG pode fornecer resultados dis-

tintos, inclusive quando a população inicial é a mesma em todas as execuções; deste modo,

não há garantia da solução ótima, porém uma solução próxima a esta é tida não apenas como

admissível, mas a que de fato é esperada em grande parte dos processos reais de sistemas de

controle.

3.3.2.1 O sobressinal Mp como parâmetro de custo

A tabela 3.2 e as figuras 3.5, 3.8, 3.11, 3.6, 3.9, 3.12, 3.7, 3.10 e 3.13 apresentam

alguns resultados obtidos com o AG, os quais estão em consonância com a maioria dos dados

analisados. O custo mínimo definido foi de 2% de sobressinal máximo (overshoot), Mp.

Tabela 3.2: Características da resposta transitória na sintonia realizada pelo AG (com Mp como custo).

Planta Kp Ki Kd tr tp ts Mp

3.1 6,6493 0,065069 5,8956 1,2622 3,0407 1,9382 1,9609

3.2 4,7442 0,1506 8,5589 0,67607 1,2799 3,2991 1,8557

3.3 5,3285 7,5339 0,10509 0,15084 3,7559 2,1706 0

Page 57: SINTONIA DE CONTROLADORES PID ATRAVÉS DE ALGORITMOS GENÉTICOS

56

Figura 3.5: Resposta ao degrau unitário da planta 3.1 sintonizada pelo AG (com Mp como custo).

Figura 3.6: Resposta ao degrau unitário da planta 3.2 sintonizada pelo AG (com Mp como custo).

Page 58: SINTONIA DE CONTROLADORES PID ATRAVÉS DE ALGORITMOS GENÉTICOS

57

Figura 3.7: Resposta ao degrau unitário da planta 3.3 sintonizada pelo AG (com Mp como custo).

Figura 3.8: Custo do indivíduo mais aptos através das gerações na planta 3.1 (com Mp como custo).

Page 59: SINTONIA DE CONTROLADORES PID ATRAVÉS DE ALGORITMOS GENÉTICOS

58

Figura 3.9: Custo do indivíduo mais aptos através das gerações na planta 3.2 (com Mp como custo).

Figura 3.10: Custo do indivíduo mais aptos através das gerações na planta 3.3 (com Mp como custo).

Page 60: SINTONIA DE CONTROLADORES PID ATRAVÉS DE ALGORITMOS GENÉTICOS

59

Figura 3.11: Resposta ao sinal em degrau dos indivíduos da população remanescente na planta 3.1 (com Mp comocusto).

Figura 3.12: Resposta ao sinal em degrau dos indivíduos da população remanescente na planta 3.2 (com Mp comocusto).

Page 61: SINTONIA DE CONTROLADORES PID ATRAVÉS DE ALGORITMOS GENÉTICOS

60

Figura 3.13: Resposta ao sinal em degrau dos indivíduos da população remanescente na planta 3.3 (com Mp comocusto).

3.4 Algoritmos genéticos versus Ziegler-Nichols

Das tabelas 3.1 e 3.2 e das figuras 3.5, 3.8, 3.11, 3.6, 3.9, 3.12 é possível inferir que a

sintonia efetuada pelo AG minimizou o sobressinal máximo nas plantas 3.1 e 3.2, do patamar

dos 60% resultantes pelo método da estabilidade marginal de Ziegler-Nichols para menos de

2%.

Concernente a planta 3.3, diferentemente do que ocorreu por Ziegler-Nichols, no qual

foi inviável sintonizá-la, o AG apresentou resultados otimizados, onde o sobressinal foi nulo.

Das figuras 3.11, 3.12 e 3.13, vale salientar a similaridade do sinal de saída em grande

parte dos cromossomos da população remanescente, demonstrando que os indivíduos com alta

qualidade são predominantes na execução final do algoritmo.

Page 62: SINTONIA DE CONTROLADORES PID ATRAVÉS DE ALGORITMOS GENÉTICOS

61

CONSIDERAÇÕES FINAIS

A sintonia robusta dos controladores PID é incessantemente estudada e debatida por

acadêmicos e engenheiros de sistemas de controle, denotando que este processo não é trivial;

sua complexidade é sensivelmente aumentada quando o conhecimento da planta é mínimo ou

inexistente.

Neste contexto, os resultados obtidos permitem afirmar que o AG oferece uma aborda-

gem metodológica viável, seja como ferramenta de auxílio ou de substituição ao especialista;

sob esta condição, é indicado que a implementação do algoritmo permita que o seu funciona-

mento na planta seja dinâmico, ou seja, que os parâmetros do controlador sejam recalculados

em tempo real (real time), especialmente quando o sistema permanecer por um longo período

sem intervenções.

Vale ressaltar que em sistemas de múltiplas exigências de desempenho, como minimi-

zação concomitante do sobressinal máximo e do tempo de subida, é indispensável a agregação

de técnicas de otimização multi-objetivos, tais como conjuntos ótimos de Pareto, entre outros

refinamentos.

Evidentemente este estudo não tem a presunção de apontar uma solução definitiva, sendo

recomendado avaliar se o custo para o desenvolvimento do método de calibração será inferior

ao custo associado à análise do sistema e do projeto de um controlador específico.

Finalmente, fica a expectativa de que o referencial teórico aqui levantado e os códigos

propostos contribuam, mesmo que de forma embrionária, para outros estudos e aperfeiçoamen-

tos, tanto entre os discentes como entre os docentes dos cursos de engenharia e controle.

Page 63: SINTONIA DE CONTROLADORES PID ATRAVÉS DE ALGORITMOS GENÉTICOS

62

REFERÊNCIAS BIBLIOGRÁFICAS

ARABAS, J.; MICHALEWICS, Z.; MULAWKA, J. GAVaPS - A Genetic Algorithm withVarying Population Size. Proceedings of the International Conference on Evolutionary Com-putation, 1994.

BEZERRA, M. S. Projeto, Implementação e Ensaios de um Controlador PID Utilizando FPGA.Monografia de Graduação em Engenharia Elétrica – Centro de Tecnologia, Universidade Fede-ral do Ceará, Fortaleza, 2010.

BORDON, M. E. Controlador PID Microprocessado. Dissertação (Mestrado) — Faculdade deEngenharia Elétrica, Universidade Estadual de Campinas, Campinas, São Paulo, 1993.

CEIDE, R. P. Controlador PID Digital para Posicionamento de Servomotor CC. Monografia deEspecialização – Faculdade de Engenharia, Universidade Estadual Paulista, Bauru, São Paulo,2006.

DORF, R. C.; BISHOP, R. H. Sistemas de Controle Modernos. Rio de Janeiro: LTC, 2009.

EIBEN, A.; RUTTKAY, Z. Self-Adaptivity for Constraint Satisfaction: Learn ing Penalty Func-tions. Leiden University and Free University Amsterdam, 1996.

FACCIN, F. Abordagem Inovadora no Projeto de Controladores PID. Dissertação (Mestrado)— Departamento de Engenharia Química, Universidade Federal do Rio Grande do Sul, PortoAlegre, 2004.

GONÇALVES, A. R. Algoritmos Genéticos. 2000. Disponível em: http://www.dca.fee.unicamp.br/~andreric/arquivos/pdfs/geneticos.pdf. Acessado em24/09/2011.

HAUGEN, F. Ziegler-Nichols Closed-Loop Method. 2010. Disponível em: http://tinyurl.com/6jnuxw9. Acessado em: 01/10/2011.

HAUGEN, F. Ziegler-Nichols Open-Loop Method. 2010. Disponível em: http://tinyurl.com/3gzdx9s. Acessado em: 01/10/2011.

HAUPT, R. L.; HAUPT, S. E. Pratical Genetic Algorithms. Hoboken, New Jersey: John Wileyand Sons, Inc., 2004.

IORIO, A.; LI, X. Parameter Control within a Co-operative Co-evolutionary Genetic Algo-rithm. School of Computer Science and Information Technology, RMIT University, MelbourneVIC 3001, Australia, 2002.

LACERDA, E. G. M.; CARVALHO, A. C. Sistemas Inteligentes: Aplicações a Recursos Hídri-cos e Ciências Ambientais. [S.l.]: UFRGS, 1999. Disponível em: http://www.dca.ufrn.br-/~estefane/metaheuristicas/ag.pdf. Acessado em 24/09/2011.

LINDEN, R. Algoritmos Genéticos. Rio de Janeiro: Brasport, 2008.

Page 64: SINTONIA DE CONTROLADORES PID ATRAVÉS DE ALGORITMOS GENÉTICOS

63

LOPES, H. S. Fundamentos da Computação Evolucionária e Aplicações. Bandeirantes, Paraná:Escola Regional de Informática da SBC, 2006.

MACHADO, P. F. G. O. Otimização de Controladores PID via Algoritmos Genéticos. Trabalhode Conclusão de Curso – Divisão de Ciência da Computação, Centro Técnico Aeroespacial,Instituto Tecnológico da Aeronáutica, São José dos Campos, 2005.

MICHALEWICZ, Z.; FOGEL, D. B. How to Solve it: Modern Heuristics. Berlin, Germany:Springer-Verlag Berlin Heidelberg, 2000.

MITCHELL, M. An Introduction to Genectic Algorithms. Cambridge, Massachusetts: The MITPress, 1999.

OGATA, K. Engenharia de Controle Moderno. São Paulo: LTC, 1998.

OGATA, K. Engenharia de Controle Moderno. São Paulo: Pearson Prentice Hall, 2010.

OLIVEIRA, J. R. d. F. O Uso de Algoritmos Genéticos na Decomposição Morfológica de Ope-radores Invariantes em Translação Aplicados a Imagens Digitais. Tese (Doutorado) — INPE,São José dos Campos, 1998.

ROSÁRIO, J. M. Princípios de Mecatrônica. São Paulo: Prentice Hall, 2005.

RUSSEL, S.; NORVIG, P. Inteligência Artificial. Rio de Janeiro: Campus, 2004.

SANTOS, G. J. et al. Uso de Algoritmos Genéticos no Projeto de Controlador PID para Plantade uma Termelétrica a Ciclo Combinado. Simpósio Brasileiro de Sistemas Elétricos, 2010.

VIEIRA, R. V. Um Algoritmo Genético Baseado em Tipos Abstratos de Dados e sua Especifi-cação Z. Tese (Doutorado) — Centro de Informática da Universidade Federal de Pernambuco,Recife, 2003.

WOLPERT, D. H.; MACREADY, W. G. No Free Lunch Theorems for Search. Relatório TécnicoSFI-TR-95-02-010, Santa Fé Institute, Santa Fé, U.S.A, 1995.

ZIEGLER, J.; NICHOLS, N. B. Optimum Settings for Automatic Controllers. American Societyof Mechanical Engineers, 1942.

Page 65: SINTONIA DE CONTROLADORES PID ATRAVÉS DE ALGORITMOS GENÉTICOS

64

APÊNDICE A

Os resultados da sintonia do controlador PID com o custo mínimo definido pelo tempo

de acomodação (settling time) ts = 2s, encontram-se na tabela 1 e as figuras 1, 4, 7, 2, 5, 8, 3, 6

e 9.

Tabela 1: Características da resposta transitória na sintonia realizada pelo AG (com ts como custo)

Planta Kp Ki Kd tr tp ts Mp

3.1 8,2645 0,033941 7,7352 0,97836 2,2306 1,5029 1,6072

3.2 5,158 0,02714 6,4357 0,79294 1,5724 1,9441 3,9263

3.3 2,9862 7,9094 0,19681 0,92028 4,0506 1,7162 0,057992

Figura 1: Resposta ao degrau unitário da planta 3.1 sintonizada pelo AG (com ts como custo).

Page 66: SINTONIA DE CONTROLADORES PID ATRAVÉS DE ALGORITMOS GENÉTICOS

65

Figura 2: Resposta ao degrau unitário da planta 3.2 sintonizada pelo AG (com ts como custo).

Figura 3: Resposta ao degrau unitário da planta 3.3 sintonizada pelo AG (com ts como custo).

Page 67: SINTONIA DE CONTROLADORES PID ATRAVÉS DE ALGORITMOS GENÉTICOS

66

Figura 4: Custo do indivíduo mais aptos através das gerações na planta 3.1 (com ts como custo).

Figura 5: Custo do indivíduo mais aptos através das gerações na planta 3.2 (com ts como custo).

Page 68: SINTONIA DE CONTROLADORES PID ATRAVÉS DE ALGORITMOS GENÉTICOS

67

Figura 6: Custo do indivíduo mais aptos através das gerações na planta 3.3 (com ts como custo).

Figura 7: Resposta ao sinal em degrau dos indivíduos da população remanescente na planta 3.1 (com ts comocusto).

Page 69: SINTONIA DE CONTROLADORES PID ATRAVÉS DE ALGORITMOS GENÉTICOS

68

Figura 8: Resposta ao sinal em degrau dos indivíduos da população remanescente na planta 3.2 (com ts comocusto).

Figura 9: Resposta ao sinal em degrau dos indivíduos da população remanescente na planta 3.3 (com ts comocusto).

Page 70: SINTONIA DE CONTROLADORES PID ATRAVÉS DE ALGORITMOS GENÉTICOS

69

APÊNDICE B

Código 1: Algoritmo genético para sintonia de um controlador PID

1 % ALGORITMO GENETICO PARA SINTONIA DE UM CONTROLADOR PID

2 % Baseado no "Continuous Genetic Algorithm" de Haupt & Haupt (2003)

3 % ___________________________________________________________________

4 close all; clear all; clc;

5

6 % Variavel para chamada da funcao de avaliacao

7 fAvaliacao = 'fAvaliaPID';

8

9 % Quantidade de variaveis a serem otimizadas = quantidade de genes

10 numGene = 3;

11

12 % Limites inferior e superior das variaveis

13 varLimAlto = 10; varLimBaixo = 0; % limites das variaveis

14

15 % Parametros para o criterio de parada

16 maxIteracao = 100;

17 minCusto = 2;

18

19 % ___________________________________________________________________

20 % Parametros do AG

21 % ___________________________________________________________________

22 tamPopulacao = 60; % Onde (tamPopulacao/2) seja par

23 txMutacao = .15;

24 selecao = 0.65; % fracao da populucao a ser mantida

25

26 % Calcula quantos individuos serao mantidos

27 qtMantidos = floor(selecao*tamPopulacao);

28

29 % Calcula quantas mutacoes devem ocorrer

30 qtMutacao = ceil((tamPopulacao-1)*numGene*txMutacao);

31

32 % Calcula quantos acasalamentos devem ocorrer

33 % qtAcasalamento = ceil((tamPopulacao-qtMantidos)/2);

34

Page 71: SINTONIA DE CONTROLADORES PID ATRAVÉS DE ALGORITMOS GENÉTICOS

70

35 % ___________________________________________________________________

36 % Populacao inicial

37 % ___________________________________________________________________

38 iGA = 0; % Contador de geracao inicializado

39

40 % Cria a populacao inicial

41 populacao = (varLimAlto-varLimBaixo)*rand(tamPopulacao,numGene)+...

42 varLimBaixo;

43

44 % Calcula o custo para cada individuo da populacao inicial

45 custo = feval(fAvaliacao,populacao);

46

47 % Classifica a populacao retornada pela funcao de avaliacao com base ...

no

48 % custo agregado a cada individuo

49 [custo,ind] = sortrows(custo);

50 populacao = populacao(ind,:);

51

52 % Salva o menor custo da populacao

53 menorCusto = custo(1);

54

55 % Calcula a media de custo da populacao

56 mediaCusto = mean(custo(:,1));

57

58 % ___________________________________________________________________

59 % Itera atraves das geracoes

60 % ___________________________________________________________________

61 while iGA<maxIteracao

62 iGA = iGA+1; % incrementa contador de geracoes

63

64 % Calcula quantos acasalamentos devem ser efetuados

65 qtAcasalamento = ceil((tamPopulacao-qtMantidos)/2);

66

67 % _______________________________________________________________

68 % Selecao

69 % _______________________________________________________________

70 % Calcula os pesos dos cromossomos para uso na funcao de

71 % distribuicao de probabilidade

72 pesos = flipud((1:tamPopulacao)'/sum((1:tamPopulacao)));

73

74 % Calcula a distribuicao de probabilidade

75 disProbabilidade = [0 cumsum(pesos(1:tamPopulacao))'];

76

Page 72: SINTONIA DE CONTROLADORES PID ATRAVÉS DE ALGORITMOS GENÉTICOS

71

77 pesosMae = flipud((1:qtMantidos)'/sum((1:qtMantidos)));

78 selecionaMaes = [0 cumsum(pesosMae(1:qtMantidos))'];

79

80 %Sorteia valores aleatorios para selecao dos individuos

81 pesosPai = flipud((1:tamPopulacao)'/sum((1:tamPopulacao)));

82 selecionaPais = [0 cumsum(pesosPai(1:tamPopulacao))'];

83

84 % Iteracao para busca de individuos que devem acasalar

85 ic = 1;

86 while ic ≤ qtAcasalamento

87 for id = 2:tamPopulacao+1

88 if selecionaMaes(ic+1) ≤ disProbabilidade(id) && ...

89 selecionaMaes(ic+1) > disProbabilidade(id-1)

90 indMae(ic) = id-1; % indice do individuo-mae

91 end

92 if selecionaPais(ic+1) ≤ disProbabilidade(id) && ...

93 selecionaPais(ic+1) > disProbabilidade(id-1)

94 indPai(ic) = id-1; % indice do individuo-pai

95 end

96 end

97 ic = ic+1;

98 end

99

100 % _______________________________________________________________

101 % Realiza o acasalamento com crossover heuristico de um ponto

102 % (usa o metodo da extrapolacao)

103 % _______________________________________________________________

104 % Gera vetor com indices pares para acasalamento

105 ix = 2:2:qtMantidos;

106

107 % Define o vetor usado para selecionar o ponto de corte

108 xPonto = ceil(rand(1,qtAcasalamento)*numGene);

109

110 % Gera valores aleatorios para uso no crossover heuristico

111 r = rand(1,qtAcasalamento);

112

113 % Inicia iteracao de cruzamento

114 for ic = 1:qtAcasalamento

115

116 % Inicia a combinacao dos genes dos pais

117 xy = populacao(indMae(ic),xPonto(ic))-populacao(indPai(ic),...

118 xPonto(ic));

119

Page 73: SINTONIA DE CONTROLADORES PID ATRAVÉS DE ALGORITMOS GENÉTICOS

72

120 % Insere os genes dos pais nos individuos da nova geracao

121 % 1a prole

122 populacao(qtMantidos+ix(ic)-1,:) = populacao(indMae(ic),:);

123

124 % 2a prole

125 populacao(qtMantidos+ix(ic),:) = populacao(indPai(ic),:);

126

127 % Completa a combinacao dos genes dos pais e salva na prole

128 populacao(qtMantidos+ix(ic)-1,xPonto(ic)) = ...

129 populacao(indMae(ic),xPonto(ic))-r(ic).*xy; % 1a prole

130 populacao(qtMantidos+ix(ic),xPonto(ic)) = ...

131 populacao(indPai(ic),xPonto(ic))+r(ic).*xy; % 2a prole

132

133 % Substitui os genes a direita pelos do individuo de indice

134 % subsequente quando o gene de maior indice nao for

135 % selecionado para ponto de corte

136 if xPonto(ic)<numGene

137 populacao(qtMantidos+ix(ic)-1,:) = ...

138 [populacao(qtMantidos+ix(ic)-1,1:xPonto(ic)) ...

139 populacao(qtMantidos+ix(ic),xPonto(ic)+1:numGene)];

140 populacao(qtMantidos+ix(ic),:) = ...

141 [populacao(qtMantidos+ix(ic),1:xPonto(ic)) ...

142 populacao(qtMantidos+ix(ic)-1,xPonto(ic)+1:numGene)];

143 end

144 end

145

146 %________________________________________________________________

147 % Mutacao da populacao

148 %________________________________________________________________

149

150 % Sorteia linha para mutacao

151 mutaLinha=sort(ceil(rand(1,qtMutacao)*(tamPopulacao-1))+1);

152

153 % Sorteia coluna mutacao

154 mutaColuna=ceil(rand(1,qtMutacao)*numGene);

155

156 % Efetua mutacao

157 for ii=1:qtMutacao

158 populacao(mutaLinha(ii),mutaColuna(ii)) = ...

159 (varLimAlto-varLimBaixo)*rand+varLimBaixo;

160 end

161

162 %________________________________________________________________

Page 74: SINTONIA DE CONTROLADORES PID ATRAVÉS DE ALGORITMOS GENÉTICOS

73

163 % Avalia o custo da nova geracao

164 %________________________________________________________________

165 custo=feval(fAvaliacao,populacao);

166

167 % Classifica a populacao retornada pela funcao de avaliacao com ...

base no

168 % custo agregado a cada individuo

169 [custo,ind] = sortrows(custo);

170 populacao = populacao(ind,:);

171

172 %________________________________________________________________

173 % Gera estatistica para uma simples analise

174 %________________________________________________________________

175 menorCusto(iGA+1) = custo(1);

176 mediaCusto(iGA+1) = mean(custo(:,1));

177

178 %________________________________________________________________

179 % Criterio de parada

180 %________________________________________________________________

181 if (iGA > maxIteracao) || ((custo(1) ≤ minCusto))

182 break

183 end

184

185 % Imprime na tela a geracao e o custo

186 [iGA custo(1)]

187

188 end % Fim das iteracoes atraves das geracoes (iGA)

189

190 %____________________________________________________________________

191 % Imprime melhores parametros

192 %____________________________________________________________________

193 day = clock;

194 disp(datestr(datenum(day(1),day(2),day(3),day(4),day(5),day(6)),0))

195 disp('- Algoritmo genetico com representacao numerica -')

196 disp(['- A funcao otimizada e ' fAvaliacao])

197 format short g

198 disp(['- Tamanho da populacao = ' num2str(tamPopulacao)])

199 disp(['- Taxa de mutacao = ' num2str(txMutacao)])

200 disp(['- Variaveis = ' num2str(numGene)])

201 disp(['- Quantida de geracoes = ' num2str(iGA)])

202 disp(['- Melhor custo = ' num2str(custo(1))])

203 disp(['- Melhor solucao: ' num2str(populacao(1,:))])

204

Page 75: SINTONIA DE CONTROLADORES PID ATRAVÉS DE ALGORITMOS GENÉTICOS

74

205 %____________________________________________________________________

206 % Plota graficos do historico do custo medio e melhores individuos

207 % atraves das geracoes

208 %____________________________________________________________________

209 figure(1)

210 iters=0:length(menorCusto)-1;

211 plot(iters,menorCusto,'b');

212 xlabel('Geracao');ylabel('Custo');

213 text(0,menorCusto(1),'Melhor');

214 grid on

215

216 %____________________________________________________________________

217 % Simulacao da planta com controlador PID sintonizado pelo AG

218 %____________________________________________________________________

219 % Funcao de tranferencia da planta

220 sysPlanta=fSimulaPlanta();

221

222 % Parametros do controlador PID encontrados pelo AG

223 Kd = populacao(1,1);

224 Kp = populacao(1,2);

225 Ki = populacao(1,3);

226 denPID = [1 0];

227 numPID = [Kd Kp Ki]

228

229 % Funcao de transferencia do controlador PID

230 ctrlPID=tf(numPID,denPID)

231

232 % Serializa o controlador PID com a planta

233 sysSerial=series(ctrlPID,sysPlanta)

234

235 % Realiamenta o sistema

236 sysSintonizado=feedback(sysSerial,1)

237

238 %____________________________________________________________________

239 % Plota o sinal de saida do sistema

240 %____________________________________________________________________

241 figure(2)

242 tempo = [0:0.01:20];

243 [y tempo] = step(sysSintonizado,tempo);

244 plot(tempo,y,'k');

245 grid on;

246

247

Page 76: SINTONIA DE CONTROLADORES PID ATRAVÉS DE ALGORITMOS GENÉTICOS

75

248 %____________________________________________________________________

249 % Retorna os parametros do sinal de saida do sistema

250 %____________________________________________________________________

251 S = stepinfo(sysSintonizado)

252

253 %____________________________________________________________________

254 % Plota grafico 3D com o sinal de saida para cada individuo

255 % da populacao

256 %____________________________________________________________________

257 fPlota3D(populacao);

Código 2: Plotagem do gráfico 3D da resposta ao sinal em degrau dos indíviduos da população remanescente

1 % GERA GRAFICO 3D DO SINAL DE SAIDA PARA CADA INDIVIDUO DA POPULACAO

2 % Esta funcao percorre a populacao para gerar grafico 3D

3 %____________________________________________________________________

4 function [] = fPlota3D(x_pop)

5

6 % Funcao de tranferencia da planta

7 [sysPlanta] = fSimulaPlanta();

8

9 % Define o denominador da funcao de transferencia do controlador PID

10 denPID = [1 0];

11

12 % Vetor que recebe os dados para plotagem

13 y = [];

14

15 tamPopulacao = length(x_pop);

16 tempo = [0:0.01:20];

17 tamPlote = 0:1:tamPopulacao-1;

18

19 % Incrementa o ganho em passos de 1 (um) ate o limite estabelecido (...

limKp)

20 for ic = 1:1:tamPopulacao

21

22 % Define Numerador da funcao de transferencia do PID ([Kd Ki Kp])

23 % tomado a partir da populacao recebida do AG

24 numPID = [x_pop(ic,1) x_pop(ic,2) x_pop(ic,3)];

25

26 % numPID = [tamPopulacao(ic)];

27 ctrlPID = tf(numPID,denPID);

28

Page 77: SINTONIA DE CONTROLADORES PID ATRAVÉS DE ALGORITMOS GENÉTICOS

76

29 % Funcao de transferencia do controlador PID

30 % ctrlPID = tf(numPID,denPID);

31

32 % Serializa o controlador PID com a planta (sysReal)

33 sysSerial = series(ctrlPID,sysPlanta);

34

35 % Realiamenta o sistema

36 sysSintonizado = feedback(sysSerial,1);

37

38 %_________________________________________________________________

39 % Retorna os parametros do sinal de saida do sistema para plotagem

40 % do grafico 3D

41 %_________________________________________________________________

42

43 yTemp = step(sysSintonizado,tempo);

44 y = [y;yTemp'];

45

46 end

47

48 %_________________________________________________________________

49 % Plota grafico 3D

50 %_________________________________________________________________

51 figure(3)

52 meshgrid(tempo,tamPlote);

53 mesh(tempo,tamPlote,y);

54

55 end

Page 78: SINTONIA DE CONTROLADORES PID ATRAVÉS DE ALGORITMOS GENÉTICOS

77

Page 79: SINTONIA DE CONTROLADORES PID ATRAVÉS DE ALGORITMOS GENÉTICOS