Você está na página 1de 79

Uni- ANHANGERA - CENTRO UNIVERSITRIO DE GOIS CURSO DE ENGENHARIA DA COMPUTAO

SINTONIA DE CONTROLADORES PID ATRAVS DE ALGORITMOS GENTICOS

JESS LIMA S JHONATHAN DE GODOI BRANDO

Goinia Dezembro/2011

JESS LIMA S JHONATAN DE GODOI BRANDO

SINTONIA DE CONTROLADORES PID ATRAVS DE ALGORITMOS GENTICOS

Trabalho de concluso de curso apresentado ao Curso de Engenharia da Computao do Centro Universitrio de Gois, Uni-ANHANGERA, sob orientao do Me. Murilo Parreira Leal, como requisito parcial para obteno do ttulo Bacharel em Engenharia da Computao.

Goinia Dezembro/2011

s nossas famlias e aos amigos que pulsam por ns.

AGRADECIMENTOS A minha esposa, Januse S, pelo amor despendido e por me tolerar nos momentos mais difceis. Aos meus lhos por no me deixarem esquecer de sorrir, com distino minha princesinha, Ingrid, por me mostrar cotidianamente que o verdadeiro amor vai alm das palavras que conseguimos falar. A minha me, Cidalina S, pela dedicao e carinho. A meu pai, Wilson S, pelos valores, por ter me ensinado a ler antes do incio de minha vida escolar, por todos os livros que me permitiu conhecer, pelo meu senso crtico, meu pensamento analtico e minha perspectiva de liberdade. Aos meus irmos consanguneos pela conana. A Stfano Forte pela amizade gratuita e pela voz divergente que j ampliou minha viso diversas vezes, inclusive ao sugerir o tema deste trabalho. Ao parceiro Jhonathan Brando pelos desaos, pelo respeito e pela pacincia. Sei que no sou de fcil convencimento. Ao caro amigo Carlcio Pereira pela companhia assdua nesta rdua jornada acadmica. A Vincius Minelli pelo apoio que me oferece sem que eu precise pedir, por ser consorte nas ideias e pelo phileo. Aos irmos Marcelo e Leizer Fernandes, pela f depositada em mim como ser humano, pelo amor dado s minhas crianas e pelo apoio minha esposa quando precisei me ausentar fsica ou mentalmente. Aos amigos que nunca sonegaram conhecimento e aos que sempre viram em mim alm do que eu podia ver. H amigo mais chegado que um irmo (Provrvios 18:24). Aos comandantes Vencio e Walden Prata pelo incentivo h mais de uma dcada. A este por discenir to 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 prprio. Jess Lima S

AGRADECIMENTOS A Deus, por ter sido a maior fonte de energia neste perodo de grande tenso. minha famlia, por ser o alicerce da minha vida. Em especial ao meu pai, um grande homem que apesar de todas as diculdades enfrentadas na vida soube vencer com o mrito de seu suor. Com ele aprendi que a dedicao e o trabalho so os fatores primordiais para alcanar os nossos objetivos. minha me pela devoo apresentada para educar com qualidade a mim e a minha irm. minha irm, pelas grandes parcerias que zemos em prol dos nossos objetivos, mesmo nos objetivos mais simples, como virar o jogo do Mrio. minha namorada, Las F. dos Santos Ferreira, pela pacincia e pelo apoio dados a mim sem que, em nenhum momento, eu precisasse solicitar. Seu amor e carinho foi fundamental nessa reta nal. Ao meu amigo, parceiro e mentor, Jess Lima S, pelas horas dedicadas em ensinar-me coisas que nunca aprenderia em curso algum. Ao Carlcio Pereira da Silva, grande amigo, pelo incentivo e conhecimento compartilhados. A todos os outros meus amigos que de alguma forma contriburam nessa empreitada da minha vida. Instituio e aos professores do Uni-ANHANGERA pela fundamentao terica e prtica oferecida. E em especial ao professor e meu orientador Murilo Parreira Leal pela orientao fundamental na realizao deste trabalho. Jhonathan de Godoi Brando

"H sempre a sua verso, a do outro e a de quem tem razo." Autor desconhecido.

RESUMO

Este estudo aborda o ponto crtico dos controladores PID: sua sintonia. Com a evoluo da microeletrnica os controladores PID ampliaram sua abrangncia e importncia nos processos industriais. No decorrer dos ltimos anos, inmeros debates e pesquisas resultaram em novas tcnicas de implementao. No obstante, apenas uma pequena parte dos controladores est sendo utilizada em sua plenitude, seja por m implementao ou por ajuste inadequado (FACCIN, 2004). No transcorrer deste, so fornecidos os conceitos bsicos da teoria de sistemas de controle, com nfase na descrio das aes de controle on-off, proporcional, integral e derivativa e nas suas vantagens e desvantagens, culminando na descrio do controlador PID e de sua sintonia pelos mtodos da curva de reao do processo e da estabilidade marginal de Ziegler e Nichols, tambm conhecidos como primeira e segunda regras. As principais tcnicas de implementao dos algoritmos genticos e os seus componentes so apresentados: os cromossomos, a populao, o objetivo e a funo de avaliao, a seleo e os operadores genticos de cruzamento (crossover) e mutao. Subsequentemente, dado o detalhamento da simulao das plantas e do processo de sintonia, tanto por Ziegler-Nichols como pelo AG, ambos com o auxlio do MATLAB. Finalmente, os resultados obtidos so analisados. Palavras chave: Planta, Funo de Transferncia, Ziegler-Nichols, AG, MATLAB.

LISTA DE CDIGOS

Cdigo 3.1 Representao matemtica da planta

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 . . . . . . . 49

Cdigo 3.2 Calculo do ganho crtico e do perodo da frequncia de ressonncia Ziegler e Nichols Cdigo 3.4 Funo de avaliao Cdigo 1 Cdigo 2

Cdigo 3.3 Simulao do processo de sintonia pelo mtodo da estabilidade marginal de . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 . . . . . . . . . . . . . . . . . 69

Algoritmo gentico para sintonia de um controlador PID populao remanescente

Plotagem do grco 3D da resposta ao sinal em degrau dos indviduos da . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

LISTA DE FIGURAS

Figura 1.1 Controlador centrfugo 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 . . . . . . . . . . . . . 25 . . . . . 26

Figura 1.3 (a) Sistema de nvel de controle; (b) vlvula eletromagntica.

Figura 1.4 Curva do nvel h(t) versus t relativa ao sistema mostrado na gura 1.3.

Figura 1.5 Ao de controle em funo do sinal de erro gerada pelo controlador proporcional. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 . . . . . . . . . . . . . . . . . . . . . 27

Figura 1.6 Diagrama de blocos de um controlador proporcional. Figura 1.7 Diagrama de blocos de um controlador PID.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 . . . . . . . . . . . . 29 . . . . . . . . . 29 . . 31

Figura 1.8 Representao esquemtica da forma srie do controlador PID.

Figura 1.9 Representao esquemtica da forma paralela do controlador PID.

Figura 1.10 Resposta ao degrau unitrio com valor mximo de ultrapassagem de 25%. Figura 1.11 Curva de resposta em forma de S.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 . . . . . . . . . . . . . 34 . . . . . . . . . . . . . . . 41 . . . . . . . . . . . . . . 42

Figura 1.12 Oscilao sustentada com perodo Pcr (medido em segundos). Figura 2.1 Operador de crossover de 1 ponto para codicao binria. Figura 2.2 Operador de crossover de 2 pontos para codicao binria. Figura 2.3 Operador de mutao para codicao binria Figura 2.4 Algoritmo Gentico Simplicado. Figura 3.1 Sistema com controle PID.

. . . . . . . . . . . . . . . . . . . . . . . . . . . 43

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 . . . . . . . . . 47 . 51 . 52

Figura 3.2 Curva de resposta em degrau unitrio mostrando tr , t p , ts , td e M p .

Figura 3.3 Resposta ao degrau unitrio da planta 3.1 sintonizada por Ziegler-Nichols. Figura 3.4 Resposta ao degrau unitrio da planta 3.2 sintonizada por Ziegler-Nichols.

Figura 3.5 Resposta ao degrau unitrio da planta 3.1 sintonizada pelo AG (com M p como

custo).

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

Figura 3.6 Resposta ao degrau unitrio da planta 3.2 sintonizada pelo AG (com M p como custo). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

Figura 3.7 Resposta ao degrau unitrio da planta 3.3 sintonizada pelo AG (com M p como custo). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

Figura 3.8 Custo do indivduo mais aptos atravs das geraes na planta 3.1 (com M p como custo). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

Figura 3.9 Custo do indivduo mais aptos atravs das geraes na planta 3.2 (com M p como custo). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

Figura 3.10 Custo do indivduo mais aptos atravs das geraes na planta 3.3 (com M p como custo). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

Figura 3.11 Resposta ao sinal em degrau dos indivduos da populao remanescente na planta 3.1 (com M p como custo). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

Figura 3.12 Resposta ao sinal em degrau dos indivduos da populao remanescente na planta 3.2 (com M p como custo). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

Figura 3.13 Resposta ao sinal em degrau dos indivduos da populao remanescente na planta 3.3 (com M p como custo). Figura 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

Resposta ao degrau unitrio da planta 3.1 sintonizada pelo AG (com ts como custo). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

Figura 2

Resposta ao degrau unitrio da planta 3.2 sintonizada pelo AG (com ts como custo). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

Figura 3

Resposta ao degrau unitrio da planta 3.3 sintonizada pelo AG (com ts como custo). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

Figura 4

Custo do indivduo mais aptos atravs das geraes na planta 3.1 (com ts como custo). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

Figura 5

Custo do indivduo mais aptos atravs das geraes na planta 3.2 (com ts como custo). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

Figura 6

Custo do indivduo mais aptos atravs das geraes na planta 3.3 (com ts como custo). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

Figura 7

Resposta ao sinal em degrau dos indivduos da populao remanescente na

planta 3.1 (com ts como custo). Figura 8

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

Resposta ao sinal em degrau dos indivduos da populao remanescente na planta 3.2 (com ts como custo). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

Figura 9

Resposta ao sinal em degrau dos indivduos da populao remanescente na planta 3.3 (com ts como custo). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

LISTA DE SIGLAS

ERB PID

Estao Rdio Base Proporcional, Integral e Derivativa

MATLAB MATrix LABoratory AG AGC DNA AGTC KISS NFL Algoritmo Gentico Automatic Gain Control Deoxyribonucleic Acid Adenina, Guanina, Timina e Citosina Keep It Short and Simple No-Free-Lunch Theorem

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 crtico Kcr e no perodo crtico Pcr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

Tabela 3.1 Caractersticas da resposta transitria na sintonia realizada por ZieglerNichols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

Tabela 3.2 Caractersticas da resposta transitria na sintonia realizada pelo AG (com M p como custo). Tabela 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

Caractersticas da resposta transitria na sintonia realizada pelo AG (com ts como custo) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

SUMRIO

Introduo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 1 Sistemas de Controle Automticos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 1.1 Denies fundamentais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 1.1.1 1.1.2 1.1.3 1.1.4 1.1.5 1.1.6 1.2 Sistemas lineares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 Sistemas lineares invariantes no tempo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 Funo de transferncia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 Varivel controlada e varivel manipulada . . . . . . . . . . . . . . . . . . . . . . . . . . 21 Distrbios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 Realimentao ou retroao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

Sistemas de controle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 1.2.1 1.2.2 1.2.3 Sistemas de controle a malha aberta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 Sistemas de controle a malha fechada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 Sistemas de controle a malha fechada versus sistemas de controle a malha aberta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

1.3

Aes de controle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 1.3.1 1.3.2 1.3.3 1.3.4 Ao de controle de duas posies (on-off ou liga-desliga) . . . . . . . . . . . . 24 Ao de controle proporcional . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 Ao de controle integral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 Ao de controle derivativa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

1.4

O controlador PID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 1.4.1 1.4.2 Forma srie ou interativa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 Forma paralela ou no-interativa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

1.4.3 1.4.4

Critrios de desempenho . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 Mtodos de sintonia de Ziegler e Nichols . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 1.4.4.1 1.4.4.2 Mtodo da curva de reao do processo . . . . . . . . . . . . . . . . . . . . 31 Mtodo da estabilidade marginal . . . . . . . . . . . . . . . . . . . . . . . . . 33

Algoritmos Genticos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 2.1 2.2 2.3 2.4 Representao cromossmica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 Populao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 Objetivo e funo de avaliao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 Seleo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 2.4.1 2.4.2 2.5 Elitismo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 Steady-state . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

Operadores genticos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 2.5.1 2.5.2 Crossover ou cruzamento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 Mutao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

2.6 3

Uma verso simplicada do algoritmo gentico . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

Desenvolvimento e Anlise de Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 3.1 3.2 Resposta transitria e as caractersticas de desempenho . . . . . . . . . . . . . . . . . . . . . . 46 Aplicao do mtodo da estabilidade marginal de Ziegler e Nichols . . . . . . . . . . . 48 3.2.1 3.2.2 3.2.3 3.3 A representao matemtica da planta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 O ganho crtico e a frequncia de ressonncia . . . . . . . . . . . . . . . . . . . . . . . 49 A sintonia do controlador PID atravs de Ziegler-Nichols . . . . . . . . . . . . . 49

Implementao do algoritmo gentico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 3.3.1 3.3.2 A funo de avaliao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 A sintonia do controlador PID atravs do algoritmo gentico . . . . . . . . . . 55 3.3.2.1 O sobressinal M p como parmetro de custo . . . . . . . . . . . . . . . . 55

3.4

Algoritmos genticos versus Ziegler-Nichols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

Consideraes nais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 Referncias Bibliogrcas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 Apndice A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 Apndice B . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

17

INTRODUO

Desde os primrdios o homem percebeu a necessidade de controlar seus processos produtivos visando minimizar o tempo destinado s suas atividades, maximizando o resultado obtido e aplicando de forma eciente e cmoda a mo de obra disponvel. Assim, a busca por automatismo dos controles empregados surgiu naturalmente. A vida contempornea est repleta de dispositivos e mecanismos que usufruem de sistemas automatizados, desde um aparelho telefnico mvel que de forma ubqua efetua sincronizadamente suas mudanas de clula (Estao Rdio Base ERB) a grandes jatos comerciais com pilotos automticos e seus computadores de bordo, os quais so sabidamente imprescindveis para a engenharia aeronutica. A penetrao e transparncia de muitos desses sistemas de controles automticos pode nos levar a crer equivocadamente que esta uma rea da cincia e engenharia completamente desenvolvida, em que todos os avanos possveis j foram alcanados. Na realidade, especialmente no meio industrial, h muitos sistemas de controle que no esto otimizados ou carecem de melhores tcnicas de ajustes que no dependam intrinsecamente da experincia de prossionais especializados.

Objetivo geral Analisar se o uso de algoritmos genticos em controladores PID uma alternativa vivel de sintonia. Como parmetro comparativo sero adotadas as regras de Ziegler e Nichols.

Objetivo especco Apresentar um referencial terico com as principais caractersticas da funo matemtica de trs termos, Proporcional, Integral e Derivativa (PID), utilizada como soluo em controladores com realimentao em uma enorme gama de problemas de automao e controle; e fundamentar os conceitos de algoritmos genticos, um mtodo de otimizao global, e a aplicao desta tcnica na sintonia do controlador PID com o auxlio das ferramentas matemticas do software MATrix LABoratory (MATLAB).

18

Justicativa e motivao A despeito dos recorrentes estudos sobre o algoritmo dos controladores PID, de sua evoluo desde a sua concepo 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 percepo se conrma no estado de Gois, onde o mercado de automao crescente e carente de especialistas. Do ponto de vista acadmico, o estudo de controladores PID agregado ao de algoritmos genticos uma excelente forma de consolidar e empregar o conhecimento adquirido nos anos de faculdade. O uso do MATLAB para gerao e anlise de resultados se deu por ser um ambiente matemtico-computacional extremamente exvel e de ampla utilizao nos meios acadmicos, de pesquisa e projetos, pois possibilita abstrair de plataformas tecnolgicas, tendo em vista que so abundantes e diversicadas, oferecendo desprendimento suciente para aplicao do mtodo cientco. Por razes similares as que levaram a adoo do MATLAB, deu-se
A a escolha do editor L TEX para a produo deste trabalho.

Viso geral A seo 1 fornece os conceitos bsicos da teoria de sistemas de controle, com nfase na descrio das aes de controle on-off, proporcional, integral e derivativa e nas suas vantagens e desvantagens, culminando na descrio do controlador PID e de sua sintonia pelos mtodos da curva de reao do processo e da estabilidade marginal de Ziegler e Nichols, tambm conhecidos como primeira e segunda regras. Na seo 2 esto as principais tcnicas de implementao dos algoritmos genticos e os seus componentes: os cromossomos, a populao, o objetivo e a funo de avaliao, a seleo e os operadores genticos de cruzamento (crossover) e mutao. A seo 3 traz o detalhamento da simulao das plantas e do processo de sintonia, tanto por Ziegler-Nichols como pelo Algoritmo Gentico (AG) ambos com o auxlio do MATLAB e os resultados da minimizao do sobressinal mximo (M p ). No apndice A so apresentados os resultados obtidos com o tempo de acomodao (ts ) como parmetro de custo dos indivduos do AG. E, nalmente, no apndice B est a codicao do AG em linguagem MATLAB.

19

1 Sistemas de Controle Automticos


James Watt desenvolveu no sc. XVIII um controlador centrfugo de velocidade para uma mquina a vapor que considerado um dos trabalhos mais signicativos da automao em virtude de ter sido o primeiro a empregar um controle automtico com retroalimentao (OGATA, 2010; DORF; BISHOP, 2009; FACCIN, 2004). Atravs de duas esferas de metal que giravam ao redor de um eixo, o mecanismo assegurava que a variao de velocidade fosse muito pequena. Quando uma carga era aplicada ao motor e sua velocidade diminua, reduzindo a fora centrfuga, as esferas passavam a girar mais prximas do eixo fazendo com que a vlvula principal fosse aberta. Desta forma mais vapor era admitido e a velocidade do motor aumentada, devolvendo o sistema ao ponto de operao desejado (gura 1.1).

Figura 1.1: Controlador centrfugo de velocidade. Fonte: Dorf e Bishop (2009).

Minorsky, Hazen e Nyquist, dentre outros, so nomes de grande importncia nos primeiros estgios de desenvolvimento da teoria de controle. Atravs de equaes diferenciais, em 1922, Minorsky mostrou como determinar a estabilidade de um sistema de controle automtico para pilotar navios. Nyquist, em 1932, apresentou um modo relativamente simples de estabilizar sistemas de malha fechada baseados na resposta estacionria de sistemas de malha aberta a

20

excitaes senoidais. O termo servomecanismo foi cunhado em 1934 por Hazen para classicar sistemas de controle de posio a rels capazes de seguir muito prximo uma excitao varivel no tempo (OGATA, 2010). Ralph Clarridge da Taylor Instrument Companies elaborou em 1935 o controlador de trs termos PID (Proporcional, Integral e Derivativo) que antecipava a variao no sinal de erro, o qual foi proposto como soluo para um problema de oscilao de temperatura na malha de controle de uma indstria de celulose. Inicialmente denominada de pre-act, a ao derivativa foi usada somente em casos especiais at 1939, quando o controlador PID Fullscope foi apresentado com uma abordagem totalmente reformulada, sendo adotado como padro nos sistemas de controles comerciais da empresa. Neste mesmo ano foi lanada pela Foxboro Instrument Company no controlador pneumtico Stabilog a tecnologia fundamentada na derivada do sinal de erro, hyper-reset (FACCIN, 2004). Por operar em uma vasta gama de condies com resultados largamente satisfatrios e por sua simplicidade funcional, os controladores PID dominam o cenrio industrial moderno e continuam ampliando o seu nicho, pois os constantes avanos da microeletrnica e dos sistemas microprocessados trazem incessantes e signicativos ganhos de desempenho e de qualidade, alm de uma sensvel reduo de custos e de tamanho fsico.

1.1

Denies fundamentais H conceitos que amparam qualquer discusso concernente engenharia de controle

moderno e sobre os quais imprescindvel dar denio. Com esta perspectiva, esta seo traz as terminologias e denies fundamentais e consagradas, necessrias abordagem dada neste trabalho.

1.1.1

Sistemas lineares O princpio da superposio arma que a resposta produzida pela aplicao simultnea

de duas funes de determinaes diversas a soma das respostas individuais destas funes. Se este princpio for aplicvel 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 somatrio dos resultados individuais de cada entrada (OGATA, 2010; DORF; BISHOP, 2009).

21

1.1.2

Sistemas lineares invariantes no tempo So ditos sistemas lineares invariantes no tempo aqueles em que os seus coecientes so

constantes ou somente funes da varivel independente (OGATA, 2010).

1.1.3

Funo de transferncia
A funo de transferncia de uma sistema liner denida como a relao entre a transformada de Laplace da varivel de sada e a transformada de Laplace da varivel de entrada, com todas as condies iniciais supostas iguais a zero. A funo de transferncia de um sistema (ou elemento) representa a relao descrevendo a dinmica do sistema sob considerao. (DORF; BISHOP, 2009, p. 42)

A funo de transferncia um mtodo operacional que expressa a equao diferencial da relao entre as variveis de sada e de entrada de um sistema. uma propriedade inerente ao sistema em estudo, no dependendo da magnitude e da natureza da funo de entrada ou de excitao. No entanto, no fornece qualquer informao relativa estrutura fsica do sistema. Se a funo for conhecida, a sada ou a resposta poder ser analisada para diversas entradas distintas, possibilitando conhecer a natureza do sistema. Mas, se no o for, poder ser encontrada experimentalmente atravs de entradas conhecidas e do exame das respostas correspondentes. Uma vez determinada, a funo de transferncia fornece uma descrio completa das caractersticas dinmicas do sistema, qualquer que seja a sua descrio fsica (OGATA, 2010).

1.1.4

Varivel controlada e varivel manipulada Varivel controlada a grandeza ou condio que medida e controlada. Normalmente

a sada do sistema. Varivel manipulada ou sinal de controle a grandeza ou condio modicada pelo controlador, de modo que afete a varivel controlada (OGATA, 2010).

1.1.5

Distrbios Distrbio um sinal que, em geral, afeta de forma adversa o valor da varivel de sada

de um sistema (OGATA, 2010).

22

1.1.6

Realimentao ou retroao Realimentao ou retroao consiste na operao de atuar sobre a varivel manipulada

a m de minimizar a diferena entre a sada real do sistema e a resposta de sada desejada; para tal utilizada a comparao entre as funes da varivel controlada e o sinal de referncia pr-estabelecido (OGATA, 2010; DORF; BISHOP, 2009).

1.2

Sistemas de controle
Um sistema uma combinao de componentes que agem em conjunto para atingir determinado objetivo. A ideia de sistema no ca restrita apenas a algo fsico. O conceito de sistema pode ser aplicado a fenmenos abstratos dinmicos, como os encontrados na economia. Dessa maneira, a palavra sistema pode ser empregada para sistemas fsicos, biolgicos, econmicos entre outros. (OGATA, 2010, p. 3)

Nos mais diversos ramos de atividades o termo controle rotineiramente citado. Indistintamente de qual mbito esta palavra aplicada, h sempre a concepo de um sistema no qual sua sada deve ser propositalmente inuenciada, ou seja, h sempre uma condio idealizada como alvo. Do ponto de vista da engenharia existe a necessidade da construo de sistemas que controlem processos de produo, qualidade de resultados e variveis de processo, como presso, temperatura, nvel e vazo. Mais ainda, requerida a mnima interveno humana, ou seja, tanto quanto possvel, o mximo de automatismo. Em um mundo no qual os recursos energticos esto cada vez mais escassos, a busca por projetos sustentveis primordial. Neste aspecto e frente ao atual estgio da tecnologia, comumente almejada a construo de sistemas de controle automticos que minimizem a demanda de energia, os custos, o tempo de desenvolvimento e a mo de obra empregada. Deste modo, indubitvel que estes sistemas continuaro permeando de forma irreversvel o cenrio industrial moderno. H duas categorias de sistemas de controle: sistemas a malha aberta e sistemas a malha fechada ou com retroao.

1.2.1

Sistemas de controle a malha aberta Sistemas de controle a malha aberta so aqueles em que o sinal de sada no tem in-

uncia sobre a ao de controle (OGATA, 2010; DORF; BISHOP, 2009). Portanto, no h

23

retroao. A varivel manipulada no sofre inuncia da varivel controlada, ou seja, o sinal de sada no medido nem tampouco comparado ao de entrada. Como cada sinal de referncia na entrada implica em uma nica condio de operao, a preciso do sistema depende de um bom ajuste inicial. Assim, um novo setup ser necessrio to logo ocorram distrbios internos ou externos, pois nesta situao, o resultado obtido com o ajuste efetuado inicialmente, ser diferente do esperado. O controlador semafrico tradicional um exemplo de sistema de malha aberta. Nele a varivel manipulada o tempo de cada fase luminosa do semforo e a varivel controlada o uxo de veculos na via. Evidentemente, a maior ou menor quantidade de veculos em trnsito no causar qualquer variao no tempo da fase semafrica.

1.2.2

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

valor do sinal de sada ao estgio pretendido, o controlador excitado pelo sinal atenuante de erro, o qual a diferena entre o sinal de retroao e o sinal de entrada. Vale ressaltar que o sinal de retroao tanto pode ser o prprio sinal de sada como uma funo do sinal de sada e de suas derivadas ou integrais. A expresso controle a malha fechada implica sempre que h retroao am de reduzir o erro do sistema (OGATA, 2010; DORF; BISHOP, 2009). O Automatic Gain Control (AGC) ou Controle Automtico de Ganho de uma cmera de vdeo cinematogrca pode ser tomado como exemplo de sistema a malha fechada. Neste, o brilho mdio da cena em exposio usado como sinal de retroao para que a imagem captada seja mantida dentro de um patamar de luminncia aceitvel 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 construo e manuteno (OGATA, 2010). So viveis em situaes nas quais demasiadamente dispendioso usar o sinal de sada como parmetro comparativo, sendo requirido o prvio conhecimento do sinal de entrada e a inexistncia de distrbios. Em contrapartida, pelo uso de retroao, os sistemas de controle a malha fechada tem uma resposta menos sensvel a distrbios externos e a oscilaes dos parmetros internos (OGATA, 2010). Contudo, oferecem maior diculdade para obteno de uma relativa estabilidade, pois so propensos a excessivas correes de erro, o que pode acarretar maiores variaes

24

de amplitude com o tempo. Outra perspectiva dos sistemas de controle a malha fechada a possibilidade de ser mantida a exatido no controle de um determinado processo com o uso de componentes de menor preciso. Todavia, comparativamente a um sistema similar a malha aberta, os sistemas de controle a malha fechada possuem um nmero sensivelmente maior de componentes aplicados, exigindo maior potncia, maiores custos, peso e dimenso.

1.3

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

sicada de acordo com suas aes de controle, em: controladores de duas posies 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

Ao de controle de duas posies (on-off ou liga-desliga) Esta a ao de controle mais elementar e de relativa simplicidade de implementao.

Sendo muito utilizada tanto em sistemas de controle domsticos quanto em sistemas de controle industriais. O seu princpio de funcionamento consiste simplesmente no elemento atuante ser mantido ligado ou desligado (OGATA, 2010). Na gura 1.2, sendo u(t) o sinal de sada do controlador e e(t) o sinal de erro atuante, teremos que u(t) = U1 , para e(t) > 0 = U2 , para e(t) < 0. (1.1) (1.2)

onde U1 e U2 so constantes, ou seja, u(t) sempre permanecer em seus valores mximo ou mnimo. Usualmente o valor mnimo U2 zero ou U1 .

25

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

Para que no ocorram excessivas comutaes e consequentemente desgastes desnecessrios dos componentes do sistema de controle, o sinal de erro atuante deve se deslocar no intervalo diferencial antes de efetuar a comutao de valores (histerese). A gura 1.3 mostra o controlador de nvel de lquido, um sistema on-off, no qual a vlvula eletromagntica mantida aberta ou fechada, isto , a vazo de entrada ou uma constante positiva ou nula.

Figura 1.3: (a) Sistema de nvel de controle; (b) vlvula eletromagntica. Fonte: Ogata (2010).

Assim, para causar o movimento do elemento atuante, o sinal de sada transita continuamente entre os dois limites requeridos, conforme ilustrado na gura 1.4. A chave para um bom resultado neste tipo de ao encontrar uma amplitude de oscilao de sada cmoda para os elementos do sistema.

26

Figura 1.4: Curva do nvel h(t) versus t relativa ao sistema mostrado na gura 1.3. Fonte: Ogata (2010).

1.3.2

Ao de controle proporcional A ao de controle proporcional nada mais do que um amplicador com ganho ajus-

tvel, ou seja, dependendo do sinal de erro atuante e(t) ocorrer um ajuste que compense as oscilaes 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 gura 1.5 (FACCIN, 2004; CEIDE, 2006).
u(%)
100

e(t)
banda proporcional Figura 1.5: Ao de controle em funo do sinal de erro gerada pelo controlador proporcional.

Em outros termos, esta ao uma relao direta entre o sinal de sada do controlador u(t) e o sinal de erro atuante e(t): u(t) = K p e(t) ou, no domnio da transformada de Laplace, U(s) = Kp E(s) onde K p , ilustrado na gura 1.6, denominado ganho proporcional (OGATA, 2010). (1.4) (1.3)

27

Figura 1.6: Diagrama de blocos de um controlador proporcional. Fonte: Ogata (2010).

A principal caracterstica da ao proporcional um tempo de resposta s oscilaes relativamente pequeno quando a constante proporcional elevada, isto desejvel em dadas circunstncias, no entanto, pode causar instabilidades ao trazer reaes precipitadas, afetando signicativamente a controlabilidade do sistema (BORDON, 1993).

1.3.3

Ao de controle integral A ao de controle integral proporcional integral do sinal de erro no tempo. Isto , u(t) = Ki e(t)dt (1.5)

onde Ki uma constante ajustvel. A funo de transferncia do controlador integral U(s) Ki = E(s) s (1.6)

Por depender do histrico do sinal de erro atuante, impulsos so amortizados, eliminando a ocorrncia de oscilaes sbitas na sada do controlador, por isto esta ao tambm conhecida como ao de restabelecimento (reset action). Assim, sua principal caracterstica a eliminao do erro em regime permanente (erro residual) (OGATA, 2010; FACCIN, 2004; DORF; BISHOP, 2009). Muito embora remova o erro em regime estacionrio, esta ao pode reduzir a estabilidade da malha de controle ao oferecer uma resposta oscilatria com amplitude lentamente decrescente ou at mesmo crescente, o que no desejvel na maioria das situaes (OGATA, 2010; DORF; BISHOP, 2009).

28

1.3.4

Ao de controle derivativa No modo derivativo a ao de controle resultante proporcional a derivada do sinal de

erro no tempo. Isto , de(t) (1.7) dt onde Kd a constante de ganho derivativa. A funo de transferncia do controlador derivativo u(t) = Kd U(s) = Kd s E(s) (1.8)

A ao de controle derivativa tem uma resposta extremamente rpida, atuando de forma antecipatria frente a menor taxa de variao do erro, antes mesmo que este que demasiadamente grande. Todavia, se o erro for constante no haver ao corretiva mesmo que este seja expressivo, pois a ao derivativa proporcional taxa de variao do sinal de erro no tempo e no ao erro propriamente dito. Apesar de possuir a vantagem de estimar tendncias de variaes futuras do erro, crescentes ou decrescentes, a ao de controle derivativa tem a desvantagem de amplicar rudos e causar saturao no atuador. Por esta caracterstica nunca usada sozinha (OGATA, 2010; DORF; BISHOP, 2009).

1.4

O controlador PID As aes de controle proporcional, integral e derivativa quando aplicadas separadamente

apresentam desvantagens que limitam o uso ou as tornam inviveis. No entanto, quando combinadas no controlador PID resultam em um modo de controle simples, estvel e extremamente poderoso, tornando-se uma soluo eciente para a maioria das necessidades dos processos industriais automatizados. A forma acadmica ou didtica do controlador PID dada por u(t) = K p e(t) + ou pela funo de transferncia Kp U(s) = Kp + + K p Td s, E(s) Ti s (1.10) Kp Ti e(t)dt + K p Td de(t) dt (1.9)

onde K p representa o ganho proporcional, Td o tempo derivativo e Ti o tempo integral, ilustrados na gura 1.7 (OGATA, 2010).

29

Figura 1.7: Diagrama de blocos de um controlador PID. Fonte: Ogata (2010).

Contudo, existem outras formas de implementao do algoritmo do controlador PID, algumas divergindo signicativamente entre si. Entre as quais, h duas que merecem destaque: a forma srie ou interativa e a forma paralela ou no-interativa (FACCIN, 2004).

1.4.1

Forma srie ou interativa Na forma srie a ao integral somada ao derivativa. Sua representao matemtica

no domnio de Laplace dada por G(s) = K p 1 + 1 (1 + Td s) . Ti s (1.11)

A equao 1.11 mostra que a mudana do parmetro de uma ao afetar diretamente as demais. Por esta caracterstica esta forma tambm denominada de interativa (vide representao na gura 1.8). Td s e 1/(Ti s) Kp u

Figura 1.8: Representao esquemtica da forma srie do controlador PID.

1.4.2

Forma paralela ou no-interativa Na forma paralela as aes integral e derivativa so calculadas distintamente e sobrepos-

tas no controlador PID, ou seja, os modos integral e derivativo so combinados paralelamente, conforme representado na gura 1.9. Td s e 1/(Ti s)
Figura 1.9: Representao esquemtica da forma paralela do controlador PID.

Kp

30

No domnio de Laplace sua representao dada por G(s) = K p 1 + 1 + Td s . Ti s (1.12)

A partir da equao 1.12 ca evidenciado que no h interao entre as aes integral e derivativa, ou seja, mudanas no parmetro de um modo no implicam em alteraes no outro e assim reciprocamente.

1.4.3

Critrios de desempenho Sistemas de controle so construdos para atender a requisitos especcos e, sendo res-

peitadas as condies de funcionamento impostas no curso do projeto, haver a expectativa de atendimento s especicaes de desempenho, tais como preciso, estabilidade relativa e velocidade de resposta. As especicaes de desempenho podem ser em mbito de requisitos de resposta transitria (como sobressinal e tempo de acomodao na resposta entrada em degrau) e de requisitos em regime estacionrio (como erro estacionrio para uma entrada em rampa) ou resposta em frequncia (OGATA, 2010).

1.4.4

Mtodos de sintonia de Ziegler e Nichols Sintonia o processo de escolha dos parmetros do controlador PID de modo a atender

determinado critrio de desempenho. Existem diversas tcnicas analticas de projeto que podem ser aplicadas na sintonia do controlador quando o modelo matemtico da planta conhecido. Do contrrio, se este modelo matemtico no pode ser denido precisamente, indispensvel a adotao de mtodos empricos de sintonia (OGATA, 2010). Em 1942, a partir das caractersticas da resposta transitria de uma funo em degrau, Ziegler e Nichols propuseram dois mtodos experimentais que so amplamente utilizados devido a sua facilidade de implementao e utilidade em sistemas de controle em que as dinmicas da planta so desconhecidas ou imprecisas. O propsito dos dois mtodos encontrar um valor mximo de ultrapassagem entre 10% e 60% ou uma relao de aproximadamente 1/4 entre dois picos de amplitude subsequentes e de mesma direo, de modo que a estabilidade seja aceitvel aps uma perturbao ou uma mudana do ponto de ajuste na malha de controle. Na maioria dos processos possvel alcanar um sobressinal de 25%, conforme exemplicado na gura 1.10 (OGATA, 1998; BEZERRA, 2010; HAUGEN, 2010b; ZIEGLER; NICHOLS, 1942).

31

Figura 1.10: Resposta ao degrau unitrio com valor mximo de ultrapassagem de 25%. Fonte: Ogata (1998).

1.4.4.1

Mtodo da curva de reao 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 simulao dinmica do sistema (OGATA, 2010; HAUGEN, 2010b; ZIEGLER; NICHOLS, 1942). A gura 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 aplicvel, a funo de transferncia pode ser aproximada para um sistema de primeira ordem com atraso de transporte, conforme a equao 1.13: KeLs C(s) = . U(s) T s + 1 (1.13)

O ajuste do controlador neste mtodo consiste nos seguintes passos (HAUGEN, 2010b; ZIEGLER; NICHOLS, 1942):

32

1. abrir a malha, o que pode ser feito pondo o controlador no modo manual; 2. ajustar manualmente a varivel de controle de modo que o processo que no seu ponto de operao; 3. inserir um sinal em degrau na varivel de controle com amplitude tal que o efeito possa ser observado e medido na sada do sistema, no entanto, pequeno o bastante para que o processo no passe muito do seu ponto de operao; 4. efetuar a leitura dos parmetros caractersticos da resposta em degrau (exemplicados na gura 1.11): atraso L ou tempo morto efetivo; constante de tempo T (com base na declividade no ponto de inexo da curva); 5. calcular e ajustar os parmetros do controlador (K p , 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 P PI PID

Kp T /L 0, 9 (T /L) 1, 2 (T /L)

Ti L/0, 3 2L

Td 0 0 0, 5 L

Fonte: Ogata (2010).

6. fechar a malha. Com a aplicao da tabela 1.1 na equao de transferncia, Gc (s) = Kp 1 + T L 1 + Td s Ti s 1 + 0, 5Ls 2Ls
2

(1.14)

= 1, 2

1+

(1.15)

s+ = 0, 6T s

1 L

(1.16)

possvel concluir que o controlador PID tem um polo na origem e zeros duplos em s = 1/L. A partir dos procedimento anteriormente descritos, possvel observar que o ajuste dos parmetros 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,

33

um ajuste no deve ser feito antes que a resposta do sistema possa ser considerada totalmente aceitvel (BEZERRA, 2010).

1.4.4.2

Mtodo da estabilidade marginal Tambm conhecido como regra da malha fechada, este segundo mtodo de Ziegler e

Nichols prope o ajuste do controlador com base na estabilidade marginal do sistema. Para sua aplicao, este deve apresentar atraso de transporte ou ter dinmica de ordem superior a trs (OGATA, 2010; HAUGEN, 2010b; ZIEGLER; NICHOLS, 1942). Assim como no primeiro mtodo, o ajuste pode ser feito experimentalmente em um sistema real ou em uma simulao. A sintonia do controlador dada pelos seguintes procedimentos (ROSRIO, 2005; HAUGEN, 2010a; ZIEGLER; NICHOLS, 1942): 1. conduzir o processo ao ponto especco de operao, de maneira que o controlador sinta que est submetido a um processo dinmico e seja reduzida a possibilidade das variveis atingirem seu limite durante a sintonia, para isto a varivel de controle pode ser ajustada com o controlador em modo manual; 2. desativar as aes I e D do controlador, tornando os parmetros Ti = 1 e Td = 0. Inicialmente o ganho K p deve ser igualado a zero. Em seguida a malha deve ser fechada para que o controlador seja ajustado em modo automtico; 3. elevar K p at que os sinais de controle apresentem uma frequncia de oscilaes sustentadas (cr ), onde o perodo Pcr = 2/cr , conforme exemplica a gura 1.12. Neste estgio o ganho crtico (Kcr ) e corresponde ao limite de estabilidade do sistema. O sinal de excitao aplicado pode ser em degrau, mas deve ser pequeno o bastante2 para no deixar o sistema muito longe do seu ponto de operao, onde as dinmicas do processo podem ser diferentes. Quando no existe um valor de K p que resulte em uma oscilao sustentada, este mtodo no aplicvel;
1 Em alguns controladores PID comerciais, fazer T = 0 um cdigo para desativar o termo I, sendo equivalente i a tornar Ti = (HAUGEN, 2010a). 2 aconselhvel que o sinal de excitao seja em torno de 5% da faixa nominal mxima (HAUGEN, 2010a).

34

Figura 1.12: Oscilao sustentada com perodo Pcr (medido em segundos). Fonte: Ogata (2010).

4. medir o perodo da frequncia de oscilaes sustentadas, perodo crtico Pcr ; 5. calcular os valores dos parmetros (K p , Ti e Td ) de acordo com a tabela 1.2 e aplic-los no controlador. Reduzir K p se a estabilidade da malha for baixa;
Tabela 1.2: Regra de sintonia de Ziegler e Nichols baseada no ganho crtico Kcr e no perodo crtico Pcr .

Tipo de controlador P PI PID

Kp 0, 5 Kcr 0, 45 Kcr 0, 6 Kcr

Ti (1/1, 2) Pcr 0, 5 Pcr

Td 0 0 0, 125 Pcr

Fonte: Ogata (2010).

Com os valores da tabela 1.2 aplicados a equao de transferncia, Gc (s) = Kp 1 + 1 + Td s Ti s 1 + 0, 125Pcr s 0, 5Pcr s s+ = 0, 075Kcr Pcr 4 Pcr s
2

(1.17)

= 0, 6Kcr 1 +

(1.18)

(1.19)

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

35

2 Algoritmos Genticos
Em 1859 Charles Darwin desenvolveu a teoria da evoluo, a qual prope que determinadas mutaes ocorridas na reproduo de uma espcie sero preservadas em geraes futuras, se tornarem os indivduos mais competitivos e melhores adaptados ao meio. Charles Darwin desconhecia os elementos que eram usados pelos organismos nos processos de mutao e herana de suas caractersticas (RUSSEL; NORVIG, 2004; GONALVES, 2000). Foi somente em 1866 que Gregor Mendel identicou as leis probabilsticas que regem estes processos. Muito depois, em 1953, Watson e Crick identicaram a molcula de Deoxyribonucleic Acid (DNA) e descreveram sua composio: Adenina, Guanina, Timina e Citosina (AGTC). Atualmente sabe-se que o DNA de um descendente gerado pela combinao de sees de DNA dos pais (RUSSEL; NORVIG, 2004). Nos anos 1950 e 1960, diversos cientistas da computao conduziram estudos sobre sistemas evolucionrios no intuito de empreg-los como ferramentas de busca e otimizao em problemas de engenharia. Segundo Mitchell (1999), o princpio fundamental destes algoritmos foi desenvolver operadores inspirados em mutao gentica e seleo natural que, aplicados sobre uma populao inicial de solues candidatas, dariam a melhor sada para um dado sistema. Quatro elementos fundamentais podem ser destacados em todos os algoritmos evolucionrios (GONALVES, 2000; MITCHELL, 1999): uma populao de indivduos, onde cada um representa uma possvel soluo do problema; um modo de gerar novos indivduos, mutando ou combinando indivduos existentes; uma maneira de avaliar a qualidade da soluo que cada indivduo representa; um mecanismo para selecionar os melhores indivduos (princpio da seleo natural). Dentre os algoritmos evolucionrios, os Algoritmos Genticos merecem destaque. Estes conjugam propriedades de tcnicas heursticas de otimizao global e de buscas probabilsticas. AGs so extremamente aplicveis a problemas em que os dados so discretos ou no possuem

36

derivadas. Por serem heursticas de busca no espao de solues, trabalham com uma grande populao de pontos, no entanto, no so classicados como mtodos enumerativos por no examinarem todos os pontos possveis, mas um subconjunto destes. Apesar de possurem caractersticas de buscas probabilsticas, inclusive apresentando solues distintas sobre uma mesma populao inicial e um mesmo conjunto de parmetros a cada vez que o algoritmo executado, tambm diferenciam-se de esquemas aleatrios por no usarem de caminhadas aleatrias no espao de solues (random walks), pois trabalham com informaes pertinentes ao problema e exploram informaes histricas, direcionando a busca por meio de seleo, similarmente ao processo natural (LINDEN, 2008). Para o uso adequado dos AGs, alguns conceitos devem ser denidos segundo a perspectiva da cincia da computao, so eles: representao cromossmica, populao, objetivo e funo de avaliao, seleo (elitismo e steady-state), crossover (cruzamento) e mutao.

2.1

Representao cromossmica O cromossomo o container que carrega as informaes concernentes ao problema a

ser tratado. Dentre as diversas formas de representao cromossomial, a mais popular e mais disseminada a forma binria, na qual uma soluo candidata est codicada 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 implcito 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 codicao binria a mais eciente para manipulao de esquemas . A despeito de sua ecincia e simplicidade, a representao binria pode oferecer obstculos signicativos quando h exigncia de grande preciso numrica e mltiplas dimenses de variveis contnuas, pois as cadeias de bits se tornam muito longas, o que pode causar uma lenta convergncia do algoritmo. Uma soluo alternativa nestas condies a representao numrica que, por ter um alfabeto com maior cardinalidade, possui um tamanho menor de cromossomo. Outros benefcios advm desta representao, so eles (LINDEN, 2008; GONALVES, 2000): unicao das representaes dos dados interna (gentipo) e externamente (fentipo), o que torna o prprio algoritmo mais simples e compreensvel anlise humana; reduo da probabilidade de ocorrncia de problemas enganadores (deceptives), pois h uma diminuio de esquemas de baixa ordem que podem direcionar o AG para uma

37

soluo que no tima; uso da mxima preciso que o sistema computacional pode oferecer, pois o cromossomo representado por um vetor de nmeros reais, no qual cada posio do vetor simboliza um gene que contm explicitamente o valor de uma varivel do problema; anlise e processamento em grandes domnios, pois a preciso pode ser mantida sem que haja a necessidade de acrscimo no tamanho do cromossomo. Em contrapartida, por sua maior cardinalidade, a representao numrica pode degradar a qualidade da soluo (LINDEN, 2008). Diante disto, uma anlise criteriosa dos requisitos deve ser feita para a escolha da melhor representao dos cromossomos, binria ou numrica, tendo em vista que o algoritmo deve se acomodar ao problema, e no o contrrio. Este princpio faz parte da estratgia keep it short and simple (KISS), a qual recomenda que qualquer complexidade desnecessria deve ser descartada, ou seja, a representao deve ser, tanto quanto possvel, a mais simplicada. Quanto a representao dos dados, dois outros cuidados devem ser adotados e so sensivelmente importantes para o sucesso do AG: solues no factveis para o problema no devem ser representadas; restries de condies devem estar presentes na representao. No contexto dos AGs, um indivduo representado por um cromossomo, portanto, os dois termos so usados indistintamente.

2.2

Populao Um AG inicia com um grupo de cromossomos conhecido como populao inicial. Isto

necessrio porque a evoluo das solues acontece a partir das solues candidatas anteriores. Esta populao de partida construda geralmente de forma aleatria, pois os problemas tratados com AGs so considerados complexos, portanto, o esforo para gerao de um conjunto de solues iniciais de qualidade muito grande (MACHADO, 2005; HAUPT; HAUPT, 2004). Um modo de proporcionar uma populao inicial (de tamanho n) com melhores caractersticas a diviso do espao de busca em k intervalos com n/k indivduos em cada subespao (LINDEN, 2008). Quando h conhecimento prvio da regio de busca, uma estratgia eciente o uso de semeadura, que consiste em inserir na populao inicial algumas solues com alta qualidade, encontradas atravs de tcnicas de busca local, entre outros mtodos rpidos (MACHADO, 2005).

38

Muitos esforos tm sido empregados para determinar o tamanho apropriado de uma populao em um algoritmo evolutivo, mas a maioria das anlises tericas no tem sido conclusivas (MICHALEWICZ; FOGEL, 2000), no entanto, so conhecidos dois resultados indesejados de uma populao mal dimensionada (SANTOS et al., 2010; LINDEN, 2008): se a populao for muito pequena o AG convergir abruptamente para mximos ou mnimos locais; enquanto uma populao muito grande deteriorar a performance do algoritmo. O ideal que o tamanho mximo da populao seja estabelecido no limiar onde no h mais melhora da performance com o crescimento da populao. Obviamente os recursos computacionais no so ilimitados, portanto devem ser considerados nesta avaliao. Como alternativa s populaes com tamanho esttico, Arabas et al. (apud VIEIRA; LINDEN, 2003, 2008) propuseram uma estratgia adaptativa, marcando os indivduos com dois parmetros: um para o tempo de vida e outro para a idade.
O tempo de vida foi denido em termos do nmero mximo de geraes que um indivduo em particular poderia sobreviver, sendo este automaticamente removido da populao logo que seu tempo de vida expirasse, independentemente da sua qualidade. No entanto, o tempo de vida atribudo a um novo indivduo seria determinado em funo de sua qualidade, ou seja, indivduos de maior qualidade teriam vida mais longa. O tamanho da populao poderia, assim, aumentar ou diminuir com base no desempenho dos indivduos em cada gerao (ARABAS et al., 1994 apud MICHALEWICZ; FOGEL, 2000, p. 296). (Traduo nossa.)

A esta estratgia, Iorio e Li (2002) adicionaram uma nova caracterstica: distribuir os indivduos em subpopulaes adaptativas e avali-los tanto individualmente como conjuntamente com os melhores indivduos de outras subpopulaes, analogamente ao mutualismo existente entre algumas espcies na natureza, assim, como o algoritmo avalia o quanto um indivduo coopera com indivduos de outras sub-populaes, o resultado nal a maximizao da cooperao e da aptido da populao total. Ainda neste contexto adaptativo, se est ocorrendo uma rpida convergncia e o desempenho objetivo est distante, plausvel que a populao possa crescer (LINDEN, 2008).

2.3

Objetivo e funo de avaliao O sucesso de um AG na busca da soluo de um problema passa pela denio clara e

precisa do objetivo a ser atingido. Este nada mais do que uma assertiva matemtica da tarefa a

39

ser cumprida. O objetivo no uma funo, mas uma expresso matemtica (MICHALEWICZ; FOGEL, 2000). Em um problema de minimizao de rotas, por exemplo, esta expresso seria min dist(x, y). (2.1)

Por sua vez, a funo de avaliao o meio pelo qual o espao de solues mapeado matematicamente sob a representao cromossmica escolhida (MICHALEWICZ; FOGEL, 2000). Neste conjunto, cada soluo encontrada recebe um valor numrico que indica a sua aptido, de modo que seja possvel avaliar o quanto um indivduo est ajustado ao objetivo do problema, logo, a funo de avaliao o critrio utilizado pelo AG para o direcionamento da busca. Geralmente esta a nica ligao verdadeira do algoritmo com a realidade (LINDEN, 2008), portanto ela deve carregar o mximo de conhecimento disponvel sobre o domnio do problema, evidenciando tanto as restries como os critrios de qualidade do objetivo a ser atingido. Quando funes de penalidade so incorporadas na funo de avaliao, tambm o potencial de adaptao includo (MICHALEWICZ; FOGEL, 2000). Para resolver problemas de satisfao de restries, Eiben e Ruttkay aplicaram um mtodo que um misto de sintonia e controle adaptativo da funo de avaliao, no qual esta sofre mudanas baseadas no desempenho de um indivduo em um ciclo, da seguinte forma: quando um indivduo mais qualicado viola uma restrio, ele recebe sanes (pesos) que so usadas no prximo ciclo. Desta forma, a busca evolutiva forada a dar mais nfase na satisfao de restries que ainda no foram atendidas (EIBEN; RUTTKAY, 1996; RUSSEL; NORVIG, 2004).

2.4

Seleo Assim como nos sistemas biolgicos, nos AGs existe um processo de seleo que ob-

jetiva privilegiar os indivduos mais qualicados a se tornarem pais da prxima gerao. Este mecanismo faz uso da funo de avaliao e tem como expectativa gerar uma prole mais apta do que a gerao ascendente (MITCHELL, 1999). Os indivduos melhores avaliados devero ter seus genes em predominncia na gerao seguinte, no entanto, preciso resguardar condies para que mesmo um indivduo com baixssima funo de avaliao procrie, pois suas caractersticas podem ser nicas e favorveis criao de um cromossomo que represente a melhor soluo. Desta forma, promover uma seleo equilibrada vital para se manter adequadamente a diversidade da populao. Uma forma simples de minimizar a convergncia gentica a implementao do que

40

conhecido como mtodo da roleta viciada, no qual os indivduos so selecionados a partir de um fator aleatrio (rodada na roleta virtual), mas somente na proporo do seu ndice de avaliao. Vale ressaltar que a soma das partes proporcionais no deve exceder 100% (LINDEN, 2008). Outras tcnicas de seleo de destaque so: mtodo do torneio, mtodo de amostragem estocstica uniforme, seleo local, seleo por ranking e seleo truncada. Todos os mtodos de seleo produzem uma fora (presso seletiva) que impele na prole os esquemas contidos nos indivduos mais aptos. A intensidade desta presso de seleo dada pela diferena entre a avaliao mdia atual dos indivduos da populao e a anterior (MITCHELL, 1999; HAUPT; HAUPT, 2004). O termo seleo pode ser usado distintamente em dois contextos, podendo, portanto, referir-se tanto ao processo de seleo de pais como ao processo de seleo de indivduos para substituio. Neste mbito duas tcnicas merecem destaque: elitismo e steady-state.

2.4.1

Elitismo Em 1975 Kenneth De Jong introduziu uma mudana nos mtodos de seleo que fora

o AG a reter em cada gerao alguns dos indivduos mais aptos, os quais poderiam se perder por no serem selecionados para reproduo ou por serem destrudos no cruzamento ou na mutao. Estudos mostraram que esta tcnica, conhecida por elitismo, melhora signicativamente o desempenho do AG (LINDEN, 2008; MITCHELL, 1999).

2.4.2 Steady-state Distintamente do que ocorre na natureza, geralmente nos AGs os indivduos de uma gerao nascem e morrem simultaneamente. A seleo steady-state simula o processo natural substituindo apenas alguns indivduos menos aptos em cada gerao, porm, para evitar convergncia gentica esta substituio parcial pode ser feita aleatoriamente (LINDEN, 2008). AGs steady-state so frequentemente utilizados em sistemas evolucionrios baseados em regras, como sistemas classicadores, onde a aprendizagem incremental importante e nos quais os membros da populao resolvem coletivamente o problema (MITCHELL, 1999).

2.5

Operadores genticos gerao de uma nova prole esto associados os operadores crossover e mutao. As-

sim como nos sistemas biolgicos, existe um grau de incerteza sobre estes processos, podendo

41

este ndice ser xo ou varivel. Neste caso, a probabilidade adaptativa o resultado da aplicao de funes do tipo linear, quadrtica ou descontnua (LINDEN, 2008). importante ressaltar que os operadores genticos so intrinsecamente ligados ao tipo de codicao cromossomial adotada no AG (LOPES, 2006 apud GONALVES, 2000, p. 10).

2.5.1 Crossover ou cruzamento A atribuio do operador crossover consiste em promover o cruzamento dos pais para a criao de novos indivduos de uma populao. H diversas formas de se efetuar esta combinao, a mais elementar, conhecida como crossover de um ponto. A gura 2.1 representa gracamente esta operao de recombinao; nela um ponto de corte foi denido e o cruzamento dos genes realizado de forma que ambos os lhos tero parte dos genomas de cada pai.

Figura 2.1: Operador de crossover de 1 ponto para codicao binria. Fonte: GONALVES (2000).

Um outro operador de cruzamento muito utilizado na representao binria, o crossover de dois pontos. Neste, a gerao dos lhos se d pela recombinao dos genes extremos de um cromossomo pai com os genes centrais do outro, e vice-versa (LINDEN, 2008), conforme representado na gura 2.2.

42

Figura 2.2: Operador de crossover de 2 pontos para codicao binria. Fonte: GONALVES (2000).

Na representao numrica, existem diversos tipos de operadores de cruzamento. Os seguintes merecem destaque (LINDEN, 2008; GONALVES, 2000; MICHALEWICZ; FOGEL, 2000): crossover simples, que equivalente ao crossover binrio de um ponto; crossover at, que baseia-se em usar os genes dos cromossomos pais para criar intervalos fechados crescentes e nestes promover sorteios de valores que sero usados no cromossomo lho gene a gene, respectivamente; crossover aritmtico, que para gerao de sua prole segue a combinao linear dada por F1 = P1 + (1 ) P2 (2.2)

F2 = P2 + (1 ) P1

(2.3)

onde, P1 e P2 so os indivduos pais selecionados, F1 e F2 os lhos resultantes do cruzamento e um nmero aleatrio no intervalo [0, 1] . crossover heurstico, que a partir dos cromossomos pais (P1 e P2 ) geram um ou nenhum lho, sendo o cruzamento restrito a condio de P2 ser melhor avaliado que P1 e conforme a equao F1 = r (P2 P1 ) + P2 , (2.4)

43

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

2.5.2

Mutao atravs da mutao dos indivduos que o AG conduzido a uma explorao global

do espao de busca; ao inserir uma diversidade extra na populao, a convergncia prematura do algoritmo evitada (OLIVEIRA, 1998; GONALVES, 2000). No entanto, para que boas solues encontradas previamente no sejam destrudas, a mutao aplicada em cada alelo do cromossomo com baixssima probabilidade. Segundo Mitchell (1999), assim como nas operaes de cruzamento, a perspectiva mais promissora do uso de mutao quando sua taxa de aplicao adaptativa. A gura 2.3 mostra o operador de mutao binria mais difundido e de maior simplicidade de execuo. Neste processo um gene do cromossomo escolhido aleatoriamente e o seu alelo invertido.

Figura 2.3: Operador de mutao para codicao binria Fonte: GONALVES (2000).

Na representao numrica h vrios tipos de operadores de mutao, so eles: mutao aleatria ou uniforme, que efetua uma simples substituio do valor de um gene por um nmero aleatrio no intervalo [min , max ], onde min e max , que devem ser conhecidos a priori, so os limites inferior e superior de valores permitidos para o gene descendente (MICHALEWICZ; FOGEL, 2000; GONALVES, 2000). Por atuar de forma muito similar ao crossover at, estes dois operadores no devem ser conjugados (LINDEN, 2008); mutao normal ou Gaussiana, que uma variao da mutao uniforme, onde o gene substitudo por um valor aleatrio de uma distribuio de probabilidades normal de mdia zero e desvio padro (distribuio normal padro), representado por N(0, ) e cuja frmula
1 x e 2 ( ) N(0, , x) = 2 2

(2.5)

44

Este tipo de mutao concentra suas alteraes em torno do valor corrente, sendo portanto menos agressiva do que a mutao uniforme (LINDEN, 2008; GONALVES, 2000); mutao no uniforme, que tem um comportamento exploratrio no incio da busca e um comportamento de ajuste no ao seu nal (LINDEN, 2008). Nela um valor , que pode ser zero ou um, sorteado e o valor da mutao calculo conforme ci = ci + (t, supi ci ), = 0 ci (t, ci in fi ), = 1 , onde (2.6)

t representa a gerao atual, ci o valor da coordenada em mutao, supi e in fi , respectivamente o mximo e o mnimo aceitos para a coordenada. e dado por (t, y) = y 1 r * t representa a gerao atual, * y o valor mximo de mutao, * gmax o mximo de geraes que o algoritmo processar, * r um parmetro determinado no intervalo (0,1), * e b um parmetro que controla o grau da dependncia do valor da mutao com o nmero de geraes. Quanto maior for b, mais rapidamente chegar a zero e a mutao ter um carter de ajuste no (LINDEN, 2008). mutao limite, que seleciona e substitui um gene aleatrio por um dos limites do intervalo [min , max ], com igual probabilidade de escolha (GONALVES, 2000). Segundo Lacerda e Carvalho (1999) o uso deste operador de mutao evita perda de diversidade dos lhos causado pelo crossover aritmtico, que tem uma tendncia em trazer os genes para o centro dos intervalos permitidos.
1 gmax b

, onde

(2.7)

45

2.6

Uma verso simplicada do algoritmo gentico Postos os fundamentos gerais, a seguir dada uma verso simplicada do algoritmo

gentico de Machado (2005):


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

incio numPop = tamanho da populacao; numGera = numero de geracoes; numFilhos = numero de lhos; probMutacao = probabilidade de mutacao; populacao populacaoInicial(numPop); para j de 1 a numPop faa fAvalia(populacao[j]); para i de 1 a numGera faa para j de 1 a numFilhos faa (x,y) sorteiaDois(populacao); descendente efetuaCruzamento(x,y); prole[j] muta(descendente, probMutacao); fAvalia(prole[j]); populacao seleciona(populacao, prole); Resultado: Retorna o melhor cromossomo; m
Figura 2.4: Algoritmo Gentico Simplicado.

16

46

3 Desenvolvimento e Anlise de Resultados


A forma de codicao das solues em parmetros do algoritmo gentico trouxe a convico necessria para adot-lo neste estudo, tendo em vista que esta caracterstica possibilita aplic-lo na sintonia do controlador PID sem o conhecimento explcito da dinmica interna da planta. Especicamente para o desenvolvimento da funo de avaliao e o estabelecimento das medies de custo do AG, foi tomada para investigao a planta proposta em Ogata (2010, p. 525) (vide gura 3.1). No entanto, para raticar a viabilidade da verso nal do algoritmo, foram utilizados o modelo simplicado de um veculo de explorao apresentado em Dorf e Bishop (2009, p. 169) e a planta de Ogata (2010, p. 534), na qual os mtodos de Ziegler e Nichols no se aplicam diretamente.

Figura 3.1: Sistema com controle PID. Fonte: Ogata (2010).

O software MATLAB e a extenso Control System Toolbox foram utilizados tanto na simulao das plantas como no desenvolvimento do AG, pois trazem diversas ferramentas destinadas aos projetos de sistemas de controle, possibilitando maior abstrao e nfase na lgica de negcio a ser aplicada na soluo do problema.

3.1

Resposta transitria e as caractersticas de desempenho frequente as caractersticas de desempenho de um sistema de controle serem espe-

cicadas com base na resposta transitria a uma entrada em degrau unitrio, pois se esta for corretamente determinada, torna-se possvel prever o comportamento da planta em resposta a

47

qualquer outro tipo de sinal; por convenincia os sistemas so testados a partir de uma condio de repouso (OGATA, 2010). A resposta transitria de um sistema de controle geralmente apresenta oscilaes amortecidas 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 conitantes entre si, comumente as seguintes especicaes 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 nal; tempo de pico (peak time), t p tempo para que a resposta atinja o primeiro pico de sobressinal; mximo sobressinal (overshoot), M p valor mximo de pico da curva de resposta, em porcentagem, medido a partir da unidade (quando necessrio o valor deve ser normalizado); tempo de acomodao (settling time), ts tempo necessrio para que a curva de resposta se estabilize, geralmente de 2% a 5% em torno do valor nal; tempo de atraso, td tempo necessrio para que a resposta alcance metade de seu valor nal pela primeira vez. A gura 3.2 exemplica estes parmetros:

Figura 3.2: Curva de resposta em degrau unitrio mostrando tr , t p , ts , td e M p . Fonte: Ogata (2010).

48

3.2

Aplicao do mtodo da estabilidade marginal de Ziegler e Nichols A implementao do mtodo da estabilidade marginal, tambm conhecido como se-

gunda regra de Ziegler e Nichols (seo 1.4.4), e os resultados obtidos neste processo so apresentados nesta seo. Os clculos para sintonia da planta usada como parmetro no desenvolvimento do AG esto em Ogata (2010, p. 526-527).

3.2.1

A representao matemtica da planta A funo do cdigo 3.1 foi elaborada para representar matematicamente as plantas aqui

em estudo, dadas pelas equaes 3.1, 3.2 e 3.3; a alternncia entre estas dada pela mudana dos vetores de coecientes nas linhas 7, 10 e 14. A funo tf recebe estes e retorna a funo de transferncia desejada. G1 (s) = de Ogata (2010, p. 525); 1 s3 + 4s2 + 3s 1 s3 + 6s2 + 5s , (3.1)

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

(3.2)

G3 (s) = de Ogata (2010, p. 534).

5s2 + 21s + 4 , s3 + 5s2 + 22s + 4

(3.3)

Cdigo 3.1: Representao matemtica 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)

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 crtico e a frequncia de ressonncia A determinao do ganho crtico e da frequncia de ressonncia condio sine qua non

para aplicao do mtodo da estabilidade marginal de Ziegler e Nichols; o cdigo 3.2 mostra na linha 5 que ambos podem ser obtidos pela funo margin aplicada exclusivamente sobre a funo de transferncia da planta, estando implcito que o ganho derivativo zero e o ganho integral innito.

Cdigo 3.2: Calculo do ganho crtico e do perodo da frequncia de ressonncia 1 % FUNCAO PARA CALCULAR O GANHO E O PERIODO CRITICOS 2 function [Kcr,Pcr]=fKcrPcr(sys) 3 4 5 6 7 8 end % Calcula o periodo critico Pcr=(2*pi)/freqSus % Calcula o ganho critico Kcr e a frequencia de ressonancia [Kcr,pm,freqSus,wcg]=margin(sys)

3.2.3

A sintonia do controlador PID atravs de Ziegler-Nichols O clculo dos parmetros do controlador PID foi implementado no cdigo 3.3 conforme

a tabela 1.2 e cada etapa da simulao da sintonia pelo mtodo da estabilidade marginal foi devidamente comentada.

Cdigo 3.3: Simulao do processo de sintonia pelo mtodo 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

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 aplicao deste mtodo nos trs sistemas estudados; as guras 3.3 e 3.4 mostram a plotagem do sinal de sada das plantas 3.1 e 3.2,

51

respectivamente. Os resultados NaN 1 e Inf 2 do cdigo 3.3 retornados pelo MATLAB mostram que a planta 3.3 no pode ser sintonizada diretamente pelo mtodo da estabilidade marginal de Ziegler e Nichols.
Tabela 3.1: Caractersticas da resposta transitria na sintonia realizada por Ziegler-Nichols

Planta 3.1 3.2 3.3

Kcr 30 12 NaN

Pcr 2, 8099 3, 6276 NaN

tr 0, 57813 0, 76106 NaN

tp 1, 6796 2, 1991 In f

ts 10, 034 12, 465 NaN

Mp 61, 812 60, 377 In f

Figura 3.3: Resposta ao degrau unitrio da planta 3.1 sintonizada por Ziegler-Nichols. (Not-a-Number) a representao aritmtica IEEE para operaes que tm resultados numricos indenidos. 2 Inf (Innity) a representao aritmtica IEEE para o innito positivo, resultado de operaes como diviso por zero e estouro de pilha, as quais levam a resultados muito elevados e que no podem ser representados por valores de ponto utuante convencional.
1 NaN

52

Figura 3.4: Resposta ao degrau unitrio da planta 3.2 sintonizada por Ziegler-Nichols.

3.3

Implementao do algoritmo gentico Segundo o teorema NFL (No-Free-Lunch Theorem ou Teorema da Inexistncia do Al-

moo Grtis), 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 genrico pode ser melhor do que aquele desenhado precisa e especicamente para o problema. A priori, isto pode ser um argumento contrrio ao uso de algoritmos genricos de busca (como os AGs), no entanto, existem domnios de problemas em que o conhecimento intrnseco invivel de ser estabelecido e calculado computacionalmente, neste universo que estas tcnicas so muito teis e justicveis. Outro contra-argumento ao NFL dado por Linden (2008) quando sugere que na representao, nos operadores genticos e na funo de avaliao do AG seja embutido o mximo de conhecimento disponvel. Com esta perspectiva e no intuito de usufruir das melhores caractersticas desta tcnica computacional, a funo de avaliao foi construda exclusiva e totalmente fundamentada no conhecido levantado sobre os sistemas de controle com realimentao. Apesar de ser baseado no Continuous Genetic Algorithm de Haupt e Haupt (2004), a seo genrica do algoritmo, disponvel no Apndice B (cdigo 1), foi corrigida e otimizada para as especicaes da sintonia de um controlador PID.

53

3.3.1

A funo de avaliao O clculo da aptido dos cromossomos um ponto sensvel do AG, portanto, a funo

de avaliao foi construda para dar exibilidade na escolha de qualquer das caractersticas da resposta transitria do sinal em degrau como referncia de custo. O cdigo 3.4 tem como cerne a funo nativa do MATLAB stepinfo (linha 37). Esta retorna uma struct com os campos RiseTime, SettlingTime, SettlingMin, SettlingMax, Overshoot, Undershoot, Peak e PeakTime, os quais so necessrios e sucientes para implementao do clculo de custo dos indivduos (vide seo 3.2).

Cdigo 3.4: Funo de avaliao 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 20 21 22 23 24 25 26 27 28 29 % Serializa o controlador PID com a planta (sysReal) sysSerial = series(ctrlPID,sysPlanta); % Funcao de transferencia do controlador PID ctrlPID = tf(numPID,denPID);

tamPopulacao

% Define Numerador da funcao de transferencia do PID % ([Kd Ki Kp]) tomado a partir da populacao recebida do AG numPID = [x_pop(ic,1) x_pop(ic,2) x_pop(ic,3)];

54
30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 % 63 % 64 % 65 % 66 67 % 68 % 69 70 71 72 % Agrega o custo encontrado ao cromossomo (ymax) ffxTemp = [custo [x_pop(ic,1) x_pop(ic,2) x_pop(ic,3)]]; % Calcula o custo e o agrega a populacao custo = tempoSubida; custo = tempoAcomodacao; custo = vMinRegPermanente; custo = vMaxRegPermanente; custo = sobreSinalNormalizado; custo = picoSinal; custo = tempoPicoSinal; % Tempo da ocorrencia do valor de pico tempoPicoSinal = S.PeakTime; % Valor de pico absoluto do sinal de saida picoSinal = S.Peak; % Diferenca normalizada entre o valor de pico de resposta e o % valor final de saida do sistema em regime permanente sobreSinalNormalizado = S.Overshoot; % Valor maximo da saida aceitavel em regime permanente vMaxRegPermanente = S.SettlingMax; % Valor minimo da saida aceitavel em regime permanente vMinRegPermanente = S.SettlingMin; % Tempo necessario para a resposta se estabilizar na faixa % de tolerancia especificada, de 2% a 5% do seu valor final tempoAcomodacao = S.SettlingTime; % Tempo necessario para a resposta subir de 0 a 90% do valor final tempoSubida = S.RiseTime; %_________________________________________________________________ % Retorna os parametros do sinal de saida do sistema %_________________________________________________________________ S = stepinfo(sysSintonizado); % Realiamenta o sistema sysSintonizado = feedback(sysSerial,1);

55
73 74 75 76 77 78 end % Incrementa contador do laco ic=ic+1; % Concatena nova linha na matriz de cromossomos ffx_pop = [ffx_pop;ffxTemp];

3.3.2

A sintonia do controlador PID atravs do algoritmo gentico Apesar de todas as caractersticas da resposta do sinal em degrau terem sido implemen-

tadas no cdigo 3.4, por serem geralmente conitantes entre si, em ltima instncia somente o mximo sobressinal M p (overshoot) e o tempo de acomodacao ts (settling time) foram efetivamente adotados para avaliao dos indivduos neste estudo. Os resultados da sintonia para atender as especicaes deste ltimo parmetro podem ser vistos no apndice A. Por sua natureza estocstica, vlido ressaltar que o AG pode fornecer resultados distintos, inclusive quando a populao inicial a mesma em todas as execues; deste modo, no h garantia da soluo tima, porm uma soluo prxima a esta tida no apenas como admissvel, mas a que de fato esperada em grande parte dos processos reais de sistemas de controle.

3.3.2.1

O sobressinal M p como parmetro de custo A tabela 3.2 e as guras 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 esto em consonncia com a maioria dos dados analisados. O custo mnimo denido foi de 2% de sobressinal mximo (overshoot), M p .
Tabela 3.2: Caractersticas da resposta transitria na sintonia realizada pelo AG (com M p como custo).

Planta 3.1 3.2 3.3

Kp 6, 6493 4, 7442 5, 3285

Ki 0, 065069 0, 1506 7, 5339

Kd 5, 8956 8, 5589 0, 10509

tr 1, 2622 0, 67607 0, 15084

tp 3, 0407 1, 2799 3, 7559

ts 1, 9382 3, 2991 2, 1706

Mp 1, 9609 1, 8557 0

56

Figura 3.5: Resposta ao degrau unitrio da planta 3.1 sintonizada pelo AG (com M p como custo).

Figura 3.6: Resposta ao degrau unitrio da planta 3.2 sintonizada pelo AG (com M p como custo).

57

Figura 3.7: Resposta ao degrau unitrio da planta 3.3 sintonizada pelo AG (com M p como custo).

Figura 3.8: Custo do indivduo mais aptos atravs das geraes na planta 3.1 (com M p como custo).

58

Figura 3.9: Custo do indivduo mais aptos atravs das geraes na planta 3.2 (com M p como custo).

Figura 3.10: Custo do indivduo mais aptos atravs das geraes na planta 3.3 (com M p como custo).

59

Figura 3.11: Resposta ao sinal em degrau dos indivduos da populao remanescente na planta 3.1 (com M p como custo).

Figura 3.12: Resposta ao sinal em degrau dos indivduos da populao remanescente na planta 3.2 (com M p como custo).

60

Figura 3.13: Resposta ao sinal em degrau dos indivduos da populao remanescente na planta 3.3 (com M p como custo).

3.4

Algoritmos genticos versus Ziegler-Nichols Das tabelas 3.1 e 3.2 e das guras 3.5, 3.8, 3.11, 3.6, 3.9, 3.12 possvel inferir que a

sintonia efetuada pelo AG minimizou o sobressinal mximo nas plantas 3.1 e 3.2, do patamar dos 60% resultantes pelo mtodo 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 invivel sintoniz-la, o AG apresentou resultados otimizados, onde o sobressinal foi nulo. Das guras 3.11, 3.12 e 3.13, vale salientar a similaridade do sinal de sada em grande parte dos cromossomos da populao remanescente, demonstrando que os indivduos com alta qualidade so predominantes na execuo nal do algoritmo.

61

CONSIDERAES FINAIS

A sintonia robusta dos controladores PID incessantemente estudada e debatida por acadmicos e engenheiros de sistemas de controle, denotando que este processo no trivial; sua complexidade sensivelmente aumentada quando o conhecimento da planta mnimo ou inexistente. Neste contexto, os resultados obtidos permitem armar que o AG oferece uma abordagem metodolgica vivel, seja como ferramenta de auxlio ou de substituio ao especialista; sob esta condio, indicado que a implementao do algoritmo permita que o seu funcionamento na planta seja dinmico, ou seja, que os parmetros do controlador sejam recalculados em tempo real (real time), especialmente quando o sistema permanecer por um longo perodo sem intervenes. Vale ressaltar que em sistemas de mltiplas exigncias de desempenho, como minimizao concomitante do sobressinal mximo e do tempo de subida, indispensvel a agregao de tcnicas de otimizao multi-objetivos, tais como conjuntos timos de Pareto, entre outros renamentos. Evidentemente este estudo no tem a presuno de apontar uma soluo denitiva, sendo recomendado avaliar se o custo para o desenvolvimento do mtodo de calibrao ser inferior ao custo associado anlise do sistema e do projeto de um controlador especco. Finalmente, ca a expectativa de que o referencial terico aqui levantado e os cdigos propostos contribuam, mesmo que de forma embrionria, para outros estudos e aperfeioamentos, tanto entre os discentes como entre os docentes dos cursos de engenharia e controle.

62

REFERNCIAS BIBLIOGRFICAS

ARABAS, J.; MICHALEWICS, Z.; MULAWKA, J. GAVaPS - A Genetic Algorithm with Varying Population Size. Proceedings of the International Conference on Evolutionary Computation, 1994. BEZERRA, M. S. Projeto, Implementao e Ensaios de um Controlador PID Utilizando FPGA. Monograa de Graduao em Engenharia Eltrica Centro de Tecnologia, Universidade Federal do Cear, Fortaleza, 2010. BORDON, M. E. Controlador PID Microprocessado. Dissertao (Mestrado) Faculdade de Engenharia Eltrica, Universidade Estadual de Campinas, Campinas, So Paulo, 1993. CEIDE, R. P. Controlador PID Digital para Posicionamento de Servomotor CC. Monograa de Especializao Faculdade de Engenharia, Universidade Estadual Paulista, Bauru, So 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 Functions. Leiden University and Free University Amsterdam, 1996. FACCIN, F. Abordagem Inovadora no Projeto de Controladores PID. Dissertao (Mestrado) Departamento de Engenharia Qumica, Universidade Federal do Rio Grande do Sul, Porto Alegre, 2004. GONALVES, A. R. Algoritmos Genticos. 2000. Disponvel em: http://www.dca. fee.unicamp.br/~andreric/arquivos/pdfs/geneticos.pdf. Acessado em 24/09/2011. HAUGEN, F. Ziegler-Nichols Closed-Loop Method. 2010. Disponvel em: tinyurl.com/6jnuxw9. Acessado em: 01/10/2011. HAUGEN, F. Ziegler-Nichols Open-Loop Method. 2010. Disponvel em: tinyurl.com/3gzdx9s. Acessado em: 01/10/2011. http:// http://

HAUPT, R. L.; HAUPT, S. E. Pratical Genetic Algorithms. Hoboken, New Jersey: John Wiley and Sons, Inc., 2004. IORIO, A.; LI, X. Parameter Control within a Co-operative Co-evolutionary Genetic Algorithm. School of Computer Science and Information Technology, RMIT University, Melbourne VIC 3001, Australia, 2002. LACERDA, E. G. M.; CARVALHO, A. C. Sistemas Inteligentes: Aplicaes a Recursos Hdricos e Cincias Ambientais. [S.l.]: UFRGS, 1999. Disponvel em: http://www.dca.ufrn. br-/~estefane/metaheuristicas/ag.pdf. Acessado em 24/09/2011. LINDEN, R. Algoritmos Genticos. Rio de Janeiro: Brasport, 2008.

63

LOPES, H. S. Fundamentos da Computao Evolucionria e Aplicaes. Bandeirantes, Paran: Escola Regional de Informtica da SBC, 2006. MACHADO, P. F. G. O. Otimizao de Controladores PID via Algoritmos Genticos. Trabalho de Concluso de Curso Diviso de Cincia da Computao, Centro Tcnico Aeroespacial, Instituto Tecnolgico da Aeronutica, So 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 MIT Press, 1999. OGATA, K. Engenharia de Controle Moderno. So Paulo: LTC, 1998. OGATA, K. Engenharia de Controle Moderno. So Paulo: Pearson Prentice Hall, 2010. OLIVEIRA, J. R. d. F. O Uso de Algoritmos Genticos na Decomposio Morfolgica de Operadores Invariantes em Translao Aplicados a Imagens Digitais. Tese (Doutorado) INPE, So Jos dos Campos, 1998. ROSRIO, J. M. Princpios de Mecatrnica. So Paulo: Prentice Hall, 2005. RUSSEL, S.; NORVIG, P. Inteligncia Articial. Rio de Janeiro: Campus, 2004. SANTOS, G. J. et al. Uso de Algoritmos Genticos no Projeto de Controlador PID para Planta de uma Termeltrica a Ciclo Combinado. Simpsio Brasileiro de Sistemas Eltricos, 2010. VIEIRA, R. V. Um Algoritmo Gentico Baseado em Tipos Abstratos de Dados e sua Especicao Z. Tese (Doutorado) Centro de Informtica da Universidade Federal de Pernambuco, Recife, 2003. WOLPERT, D. H.; MACREADY, W. G. No Free Lunch Theorems for Search. Relatrio Tcnico SFI-TR-95-02-010, Santa F Institute, Santa F, U.S.A, 1995. ZIEGLER, J.; NICHOLS, N. B. Optimum Settings for Automatic Controllers. American Society of Mechanical Engineers, 1942.

64

APNDICE A

Os resultados da sintonia do controlador PID com o custo mnimo denido pelo tempo de acomodao (settling time) ts = 2s, encontram-se na tabela 1 e as guras 1, 4, 7, 2, 5, 8, 3, 6 e 9.
Tabela 1: Caractersticas da resposta transitria na sintonia realizada pelo AG (com ts como custo)

Planta 3.1 3.2 3.3

Kp 8, 2645 5, 158 2, 9862

Ki 0, 033941 0, 02714 7, 9094

Kd 7, 7352 6, 4357 0, 19681

tr 0, 97836 0, 79294 0, 92028

tp 2, 2306 1, 5724 4, 0506

ts 1, 5029 1, 9441 1, 7162

Mp 1, 6072 3, 9263 0, 057992

Figura 1: Resposta ao degrau unitrio da planta 3.1 sintonizada pelo AG (com ts como custo).

65

Figura 2: Resposta ao degrau unitrio da planta 3.2 sintonizada pelo AG (com ts como custo).

Figura 3: Resposta ao degrau unitrio da planta 3.3 sintonizada pelo AG (com ts como custo).

66

Figura 4: Custo do indivduo mais aptos atravs das geraes na planta 3.1 (com ts como custo).

Figura 5: Custo do indivduo mais aptos atravs das geraes na planta 3.2 (com ts como custo).

67

Figura 6: Custo do indivduo mais aptos atravs das geraes na planta 3.3 (com ts como custo).

Figura 7: Resposta ao sinal em degrau dos indivduos da populao remanescente na planta 3.1 (com ts como custo).

68

Figura 8: Resposta ao sinal em degrau dos indivduos da populao remanescente na planta 3.2 (com ts como custo).

Figura 9: Resposta ao sinal em degrau dos indivduos da populao remanescente na planta 3.3 (com ts como custo).

69

APNDICE B

Cdigo 1: Algoritmo gentico 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

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 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 63 64 65 66 67 68 69 70 71 72 73 74 75 76 % Calcula a distribuicao de probabilidade disProbabilidade = [0 cumsum(pesos(1:tamPopulacao))']; % _______________________________________________________________ % Selecao % _______________________________________________________________ % Calcula os pesos dos cromossomos para uso na funcao de % distribuicao de probabilidade pesos = flipud((1:tamPopulacao)'/sum((1:tamPopulacao))); % Calcula quantos acasalamentos devem ser efetuados qtAcasalamento = ceil((tamPopulacao-qtMantidos)/2); iGA = iGA+1; % incrementa contador de geracoes varLimBaixo;

71
77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 % Inicia a combinacao dos genes dos pais xy = populacao(indMae(ic),xPonto(ic))-populacao(indPai(ic),... xPonto(ic)); % Inicia iteracao de cruzamento for ic = 1:qtAcasalamento % Gera valores aleatorios para uso no crossover heuristico r = rand(1,qtAcasalamento); % Define o vetor usado para selecionar o ponto de corte xPonto = ceil(rand(1,qtAcasalamento)*numGene); % _______________________________________________________________ % Realiza o acasalamento com crossover heuristico de um ponto % (usa o metodo da extrapolacao) % _______________________________________________________________ % Gera vetor com indices pares para acasalamento ix = 2:2:qtMantidos; end end ic = ic+1; end end if selecionaPais(ic+1)

pesosMae = flipud((1:qtMantidos)'/sum((1:qtMantidos))); selecionaMaes = [0 cumsum(pesosMae(1:qtMantidos))']; %Sorteia valores aleatorios para selecao dos individuos pesosPai = flipud((1:tamPopulacao)'/sum((1:tamPopulacao))); selecionaPais = [0 cumsum(pesosPai(1:tamPopulacao))']; % Iteracao para busca de individuos que devem acasalar ic = 1; while ic

qtAcasalamento disProbabilidade(id) && ...

for id = 2:tamPopulacao+1 if selecionaMaes(ic+1)

selecionaMaes(ic+1) > disProbabilidade(id-1) indMae(ic) = id-1; % indice do individuo-mae disProbabilidade(id) && ...

selecionaPais(ic+1) > disProbabilidade(id-1) indPai(ic) = id-1; % indice do individuo-pai

72
120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 %________________________________________________________________ end % Efetua mutacao for ii=1:qtMutacao populacao(mutaLinha(ii),mutaColuna(ii)) = ... (varLimAlto-varLimBaixo)*rand+varLimBaixo; % Sorteia coluna mutacao mutaColuna=ceil(rand(1,qtMutacao)*numGene); % Sorteia linha para mutacao mutaLinha=sort(ceil(rand(1,qtMutacao)*(tamPopulacao-1))+1); %________________________________________________________________ % Mutacao da populacao %________________________________________________________________ end end % Substitui os genes a direita pelos do individuo de indice % subsequente quando o gene de maior indice nao for % selecionado para ponto de corte if xPonto(ic)<numGene populacao(qtMantidos+ix(ic)-1,:) = ... [populacao(qtMantidos+ix(ic)-1,1:xPonto(ic)) ... populacao(qtMantidos+ix(ic),xPonto(ic)+1:numGene)]; populacao(qtMantidos+ix(ic),:) = ... [populacao(qtMantidos+ix(ic),1:xPonto(ic)) ... populacao(qtMantidos+ix(ic)-1,xPonto(ic)+1:numGene)]; % Completa a combinacao dos genes dos pais e salva na prole populacao(qtMantidos+ix(ic)-1,xPonto(ic)) = ... populacao(indMae(ic),xPonto(ic))-r(ic).*xy; % 1a prole populacao(qtMantidos+ix(ic),xPonto(ic)) = ... populacao(indPai(ic),xPonto(ic))+r(ic).*xy; % 2a prole % 2a prole populacao(qtMantidos+ix(ic),:) = populacao(indPai(ic),:); % Insere os genes dos pais nos individuos da nova geracao % 1a prole populacao(qtMantidos+ix(ic)-1,:) = populacao(indMae(ic),:);

73
163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 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 % Imprime na tela a geracao e o custo [iGA custo(1)] end %________________________________________________________________ % Criterio de parada %________________________________________________________________ if (iGA > maxIteracao) || ((custo(1) break

% Avalia o custo da nova geracao %________________________________________________________________ custo=feval(fAvaliacao,populacao); % Classifica a populacao retornada pela funcao de avaliacao com ... base no % custo agregado a cada individuo [custo,ind] = sortrows(custo); populacao = populacao(ind,:); %________________________________________________________________ % Gera estatistica para uma simples analise %________________________________________________________________ menorCusto(iGA+1) = custo(1); mediaCusto(iGA+1) = mean(custo(:,1));

minCusto))

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

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);

Cdigo 2: Plotagem do grco 3D da resposta ao sinal em degrau dos indviduos da populao 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 23 24 25 26 % 27 28 numPID = [tamPopulacao(ic)]; ctrlPID = tf(numPID,denPID); % Define Numerador da funcao de transferencia do PID ([Kd Ki Kp]) % tomado a partir da populacao recebida do AG numPID = [x_pop(ic,1) x_pop(ic,2) x_pop(ic,3)];

76
29 30 % 31 32 33 34 35 36 37 38 39 40 41 42 43 44 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 yTemp = step(sysSintonizado,tempo); y = [y;yTemp']; %_________________________________________________________________ % Retorna os parametros do sinal de saida do sistema para plotagem % do grafico 3D %_________________________________________________________________ % Realiamenta o sistema sysSintonizado = feedback(sysSerial,1); % Serializa o controlador PID com a planta (sysReal) sysSerial = series(ctrlPID,sysPlanta); % Funcao de transferencia do controlador PID ctrlPID = tf(numPID,denPID);

77

Você também pode gostar