• Nenhum resultado encontrado

Análise comparativa do desempenho de um Controlador Fuzzy acoplado a um PID Neural sintonizado por um Algoritmo Genético com Controladores Inteligentes Convencionais

N/A
N/A
Protected

Academic year: 2017

Share "Análise comparativa do desempenho de um Controlador Fuzzy acoplado a um PID Neural sintonizado por um Algoritmo Genético com Controladores Inteligentes Convencionais"

Copied!
73
0
0

Texto

(1)

UNIVERSIDADEFEDERALDO RIO GRANDE DO NORTE

E DECOMPUTAÇÃO

Análise comparativa do desempenho de um

Controlador Fuzzy acoplado a um PID Neural

sintonizado por um Algoritmo Genético com

Controladores Inteligentes Convencionais

Marcelo Roberto Bastos Guerra Vale

Orientador: Prof. Dr. André Laurindo Maitelli

Dissertação de Mestrado apresentada ao

Programa de Pós-Graduação em Engenharia Elétrica e de Computação da UFRN (área de concentração: Automação e Sistemas) como parte dos requisitos para obtenção do título de Mestre em Ciências.

(2)

Vale, Marcelo Roberto Bastos Guerra.

Análise comparativa do desempenho de um Controlador Fuzzy acoplado a um PID Neural sintonizado por um Algoritmo Genético com Controladores In-teligentes Convencionais. / Marcelo Roberto Bastos Guerra Vale - Natal, RN, 2007.

55 f.

Orientador: André Laurindo Maitelli

Dissertação (Mestrado) - Universidade Federal do Rio Grande do Norte. Cen-tro de Tecnologia. Programa de Pós-Graduação em Engenharia Elétrica e de Computação.

1. Lógica de Fuzzy - Dissertação. 2. redes neurais - Dissertação. 3. Al-goritmo genético - Dissertação. 4. Sistema de nível de tanque - Dissertação. I. Maitelli, André Laurindo II. Universidade Federal do Rio Grande do Norte. III. Título.

(3)

Controlador Fuzzy acoplado a um PID Neural

sintonizado por um Algoritmo Genético com

Controladores Inteligentes Convencionais

Marcelo Roberto Bastos Guerra Vale

Dissertação de Mestrado aprovada em 05 de Dezembro de 2007 pela banca examinadora composta pelos seguintes membros:

Prof. Dr. André Laurindo Maitelli (orientador) . . . DCA/UFRN

Prof. Dr. Fabio Meneghetti Ugulino de Araujo . . . DCA/UFRN

(4)
(5)

À Deus por ter sempre me dado saúde e força para que eu pudesse realizar este trabalho.

Aos meus pais, avós, avôs, tios, tias, irmã, primos, primas e namorada que não mediram esforços no apoio e colaboração.

Ao meu orientador André Laurindo Maitelli pela orientação e incentivo.

Ao professor Fabio Meneghetti pela disposição e atenção nas horas de dúvidas.

Aos professores Allan Medeiros e Oscar Gabriel Filho pelo grande incentivo durante toda a minha graduação.

Aos demais colegas de pós-graduação, pelas críticas e sugestões.

À todos da sala 16 do LECA-UFRN.

À minha tia Nancy e meu primo Mathaeus pelo auxílio no abstract.

Aos amigos da vida, ou seja, aqueles que não estudam comigo, mas de alguma forma também contribuiram.

À todas as pessoas que trabalham no PPgEEC e DCA.

(6)

Neste trabalho é realizado uma análise comparativa entre um controlador fuzzy aco-plado a um PID neural ajustado por um AG com diversas técnicas de controle tradicionais, todas elas aplicadas em um sistema de tanques (modelo de 2a ordem não linear). Com o objetivo de viabilizar as técnicas envolvidas nas análises comparativas e validar o con-trole a ser comparado, foram realizadas simulações de algumas técnicas de concon-trole (PID convencional ajustado por AG, PID Neural (PIDN) ajustado por AG, Fuzzy PI, Fuzzy cascata acoplado a um PIDN ajustado por AG e Fuzzy MISO (3 entradas) acoplado a um PIDN ajustado por AG) para efeitos comparativos com o controlador proposto. Depois de realizar todos os testes simulados, foram eleitas, dentre as técnicas testadas na fase de simulação, algumas estruturas de controle (PID convencional ajustado por AG, Fuzzy PI, Fuzzy cascata acoplado a um PIDN ajustado por AG e Fuzzy MISO (3 entradas) acoplado a um PIDN ajustado por AG) para serem implementadas no sistema real de tanques. Es-ses dois modos de operação, tanto o simulado como o real, se fizeram importantes para um embasamento sólido para fazer as comparações e validações possíveis mostradas nos resultados.

Palavras-chave: Lógica Fuzzy, Redes Neurais, Algoritmo Genético, sistema de nível

(7)

On this paper, it is made a comparative analysis among a controller fuzzy coupled to a PID neural adjusted by an AG with several traditional control techniques, all of them applied in a system of tanks (I model of 2nd order non lineal). With the objective of making possible the techniques involved in the comparative analysis and to validate the control to be compared, simulations were accomplished of some control techniques (con-ventional PID adjusted by GA, Neural PID (PIDN) adjusted by GA, Fuzzy PI, two Fuzzy attached to a PID Neural adjusted by GA and Fuzzy MISO (3 inputs) attached to a PIDN adjusted by GA) to have some comparative effects with the considered controller. After doing, all the tests, some control structures were elected from all the tested techniques on the simulating stage (conventional PID adjusted by GA, Fuzzy PI, two Fuzzy attached to a PIDN adjusted by GA and Fuzzy MISO (3 inputs) attached to a PIDN adjusted by GA), to be implemented at the real system of tanks. These two kinds of operation, both the simulated and the real, were very important to achieve a solid basement in order to establish the comparisons and the possible validations show by the results.

Keywords: Fuzzy logic, Artificial Neural Networks, Genetic Algorithm, system of

(8)

Sumário i

Lista de Figuras iii

Lista de Tabelas v

Lista de Símbolos e Abreviaturas vi

1 Introdução 1

2 Lógica Fuzzy 3

2.1 Introdução . . . 3

2.2 Etapas Fuzzy . . . 4

2.2.1 Codificação . . . 5

2.2.2 Inferência . . . 6

2.2.3 Defuzificação . . . 10

2.3 Lógica Fuzzy com mais de três entradas . . . 11

3 Controladores PID 13 3.1 Controlador Proporcional-Integrativo-Derivativo (PID) . . . 13

3.2 Controlador PID Neural (PIDN) . . . 14

4 Algoritmos Genéticos 19 4.1 Etapas do AG . . . 19

4.1.1 Aptidão . . . 20

4.1.2 Seleção . . . 21

4.1.3 Crossover . . . 22

4.1.4 Mutação . . . 22

4.2 RNA sintonizada por um AG . . . 23

(9)

5.1.1 Fuzzy PI . . . 27

5.1.2 PID sintonizado por um AG . . . 28

5.1.3 PID neural sintonizado por um AG . . . 29

5.1.4 Dois Fuzzy em cascata acoplados com um PID neural ajustado por um AG . . . 29

5.1.5 Um Fuzzy MISO (3 entradas) acoplado com um PID neural ajus-tado por um AG . . . 29

5.2 Modo de Operação . . . 30

5.3 Ambientes de Simulações . . . 31

6 Resultados 33 6.1 Modo Simulado . . . 33

6.1.1 Dois Fuzzy em cascata acoplado com um PID neural ajustado por um AG . . . 34

6.1.2 Um Fuzzy MISO (3 entradas) acoplado com um PID neural ajus-tado por um AG . . . 36

6.1.3 Fuzzy PI . . . 37

6.1.4 PID ajustado por um AG . . . 38

6.1.5 PID neural sintonizado por um AG . . . 40

6.2 Modo Experimental . . . 41

6.2.1 Dois Fuzzy em cascata acoplados com um PID neural ajustado por um AG . . . 42

6.2.2 Um Fuzzy MISO (3 entradas) acoplado com um PID neural ajus-tado por um AG . . . 43

6.2.3 Fuzzy PI . . . 44

6.2.4 PID ajustado por um AG . . . 45

7 Conclusões 49

Referências bibliográficas 51

A Informações adicionais dos Resultados Simulados 53

(10)

2.1 Etapas da Lógica Fuzzy . . . 5

2.2 Regra de Inferência . . . 6

2.3 Inferência . . . 8

2.4 Agregação . . . 9

2.5 Composição . . . 9

2.6 Decodificação . . . 11

2.7 FAM 3 dimensões . . . 11

2.8 Fuzzy em cascata . . . 12

2.9 Um fuzzy com multiplas entradas e uma saída . . . 12

3.1 Esquema do Controlador Proporcional Derivativo Integrativo . . . 14

3.2 PID neural . . . 15

4.1 Fluxograma de um AG . . . 20

4.2 Método da roleta aplicado a população de 4 indivíduos . . . 22

4.3 Esquema do Crossover implementado . . . 24

5.1 Diagrama de blocos da estrutura de controle 1 . . . 27

5.2 Diagrama de blocos da estrutura de controle 2 . . . 28

5.3 Diagrama de blocos da estrutura de controle 3 . . . 29

5.4 Diagrama de blocos da estrutura de controle 4 . . . 29

5.5 Diagrama de blocos da estrutura de controle 5 . . . 30

5.6 Sistema de Tanques . . . 31

5.7 Ambiente de simulação do controlador Fuzzy com o PID Neural . . . 32

6.1 Evolução do AG: Aptidão x número de indivíduos . . . 34

6.2 Gráfico do nível (cm) do tanque 2 x tempo (s) . . . 35

6.3 Gráfico da tensão (V) na bomba x tempo (s) . . . 35

6.4 Gráfico do nível (cm) do tanque 2 x tempo (s) . . . 36

6.5 Gráfico da tensão (V) na bomba x tempo (s) . . . 37

6.6 Gráfico do nível (cm) do tanque 2 x tempo (s) . . . 37

(11)

6.9 Gráfico do nível (cm) do tanque 2 x tempo (s) . . . 39

6.10 Gráfico da tensão (V) na bomba x tempo (s) . . . 39

6.11 Evolução do AG: Aptidão x número de indivíduos . . . 40

6.12 Gráfico do nível (cm) do tanque 2 x tempo (s) . . . 40

6.13 Gráfico da tensão (V) na bomba x tempo (s) . . . 41

6.14 Gráfico do nível (cm) do tanque 2 x tempo (s) . . . 42

6.15 Gráfico da tensão (V) na bomba x tempo (s) . . . 43

6.16 Gráfico do nível (cm) do tanque 2 x tempo (s) . . . 43

6.17 Gráfico da tensão (V) na bomba x tempo (s) . . . 44

6.18 Gráfico do nível (cm) do tanque 2 x tempo (s) . . . 45

6.19 Gráfico da tensão (V) na bomba x tempo (s) . . . 45

6.20 Evolução do AG: Aptidão x número de indivíduos . . . 46

6.21 Gráfico do nível (cm) do tanque 2 x tempo (s) . . . 46

6.22 Gráfico da tensão (V) na bomba x tempo (s) . . . 47

A.1 Gráfico do nível (cm) do tanque 2 x tempo (s) . . . 56

(12)

2.1 Vantagens x Desvantagens . . . 4

2.2 Tabela FAM . . . 7

2.3 Principais t-normas e t-conormas duais . . . 8

4.1 Testes de diferentes configurações de AG . . . 25

A.1 Resultado usando Dois Fuzzy em cascata acoplado com um PID neural ajustado por um AG . . . 53

A.2 Resultado usando Um Fuzzy MISO (3 entradas) acoplado com um PID neural ajustado por um AG . . . 54

A.3 Resultado usando um controlador fuzzy PI . . . 54

A.4 Resultado usando PID ajustado por um AG . . . 54

A.5 Resultado usando PID neural sintonizado por um AG . . . 55

A.6 Esforço de controle e Erro quadrático médio . . . 55

B.1 Resultado usando dois Fuzzy em cascata acoplado com um PID neural ajustado por um AG . . . 57

B.2 Resultado usando um Fuzzy MISO (3 entradas) acoplado com um PID neural ajustado por um AG . . . 58

B.3 Resultado usando Fuzzy PI . . . 58

B.4 Resultado usando PID ajustado por um AG . . . 58

B.5 Esforço de controle e erro quadrático médio . . . 59

(13)

FAM Matriz de Associação Fuzzy

μ Grau de pertinência

MISO Multiple Input Single Output

P Controlador Proporcional

PI Controlador Proporcional Integrativo

PD Controlador Proporcional Derivativo

PID Controlador Proporcional Integrativo Derivativo

PIDN Controlador Proporcional Integrativo Derivativo Neural

RNA Rede Neural Artificial

kp Parâmetro do controlador proporcional

kd Parâmetro do controlador Derivativo

ki Parâmetro do controlador Integrativo

AG Algoritmo Genético

L.F. Lógica Fuzzy

e Erro

∆e Variação do erro

V Volt

cm centímetro

s segundo

(14)

Introdução

O controle automático representa um papel importante no avanço da engenharia e da ciência. Além de uma grande atuação em sistemas de pilotagem de avião, mísseis guia-dos, veículos espaciais etc, o controle automático tornou-se indispensável em operações industriais para controle de pressão, umidade, temperatura, nível etc [Ogata 2003]. Nas últimas décadas, com o surgimento de técnicas inteligentes, o homem vem procurando controlar de forma inteligente suas tarefas, para facilitar seu dia-a-dia, buscando melhorar a sua segurança e garantir um melhor rendimento produtivo em algumas áreas.

Uma dessas ferramentas foi apresentada como Lógica Fuzzy, que procura traduzir va-lores lingüísticos, imprecisos, comuns na comunicação humana, em vava-lores numéricos precisos, comuns para os computadores. A Lógica Fuzzy baseia-se em regras de inferên-cia do tipo “SE (condição) ENTÃO (ação)”, assim uma máquina pode tomar decisões em determinados sistemas [Simões & Shaw 2001].

Outra ferramenta importante são as Redes Neurais Artificiais, que tem uma grande utilidade para a Identificação e o Controle, pois não necessitam de conhecimento apro-fundado acerca do sistema, a fim de extrair as informações necessárias para identificar e gerar o sinal de controle [Haykin 1994]. Neste trabalho, a RNA utilizada irá aproximar o funcionamento de um cotrolador Proporcional Integrativo Derivativo.

A terceira ferramenta são os Algoritmos Genéticos (AG’s), que normalmente são vis-tos como otimizadores de funções, embora a quantidade de problemas para o qual os AG’s se aplicam seja bastante abrangente [Lacerda & Carvalho 1999]. No decorrer do trabalho, o AG irá sintonizar parâmetros de diversas estruturas de controle, determinando os parâmetros ótimos para os controladores propostos.

Em conseqüência desses estudos e pesquisas, hoje em dia, já é possível a junção dessas ferramentas de controle objetivando um resultado cada vez melhor, seja qual for a área em que a ferramenta esteja sendo usada.

(15)

nas indústrias conhecido como controlador PID, que juntamente com as outras técnicas deu impulsos em diversos trabalhos na área de controle inteligente como pode ser desta-cado em [Trisanto et al. 2006] e [Yin-Song et al. 2000]. A grande maioria desses trabalhos envolve plantas reais e de grande aplicabilidade na indústria.

Como motivação principal deste trabalho pode-se destacar a investigação de diversas técnicas inteligentes para o controle de uma planta real em prol de resultados cada vez mais satisfatórios. A utilização de diversas técnicas de controle incentiva um estudo sobre possíveis soluções nos ajustes de cada estrutura de controle, permitindo tornar alguns desses ajustes menos cansativo para o projetista.

O objetivo deste trabalho é apresentar um controlador fuzzy acoplado a um PID neural sintonizado por um Algoritmo Genético. Simulações foram realizadas com esse contro-lador em uma planta de controle de nível e seus resultados foram comparados com estru-turas de controle convencionais (PID convencional ajustado por AG, PID Neural ajustado por AG, Fuzzy PI, Fuzzy cascata acoplado a um PIDN ajustado por AG e Fuzzy MISO (3 entradas) acoplado a um PIDN ajustado por AG), todos aplicados na mesma planta de controle de nível. Depois das simulações, algumas estruturas de controle foram aplica-das na planta real. A planta a ser controlada é um processo de tanques acoplados que é bastante adequado para ser utilizado neste tipo de estudo, pelo fato de ser muito comum encontrá-lo nos ramos industriais, principalmente nos químico, petroquímico e de alimen-tos. Em todas as estruturas de controle do trabalho que utiliza um PIDN seus pesos são ajustados por um AG, este tipo de treinamento já foi bastante pesquisado, como pode ser visto em [Kent & Williams 1995] e [Curran & O’Riordan 2002].

(16)

Lógica Fuzzy

2.1

Introdução

O método de tentar traduzir um valor impreciso, qualitativo e verbal, comum na comu-nicação humana, em valores numéricos deu-se o nome, em inglês, de “fuzzy”, que quer dizer: incerto, impreciso, difuso ou nebuloso. A Lógica Fuzzy foi desenvolvida por Lofti A. Zadeh, Engenheiro e cientista de sistemas, durante a década de 1960. O artigo publi-cado pelo autor em 1965 pela Universidade da Califórnia, em Berkeley, revolucionou o assunto com a criação de sistemas Fuzzy. O período em que a Lógica Fuzzy despertou maior atenção está localizado entre os anos de 1986 e 1987, quando ocorreu a inaugura-ção do sistema de Metrô Sendai, em Tókio, cujo controle automático de partida e chegada dos trens era baseado na Lógica Fuzzy, que nada mais é do que uma técnica utilizada para incorporar aos sistemas de controle experiências heurísticas de um operador humano, ou seja, a forma humana de pensar [Santos 2003].

Além do sucesso na implementação da Lógica Fuzzy em sistemas de metrôs, como foi citado acima, existem outras aplicações industriais que o controlador Fuzzy vem obtendo sucesso, tais como:

• Simuladores de vôo; • Máquinas de lavar roupa; • Geladeiras;

• Ar condicionados; • Injeção eletrônica; • Elevadores.

(17)

esta lógica objetiva fazer com que as decisões tomadas pela máquina se aproximem cada vez mais das decisões humanas, principalmente ao trabalhar com uma grande variedade de informações, vagas e incertas. Os conjuntos Fuzzy são o caminho para aproximar o raciocínio humano à forma de interpretação da máquina [Camargos 2002].

Como todo método, a Lógica Fuzzy também possui suas vantagens e desvantagens. Para resumir melhor e dar ênfase em algumas que já foram citadas no decorrer do texto pode-se observar a Tabela 2.1.

Tabela 2.1: Vantagens x Desvantagens

Vantagens Desvantagens

O uso de variáveis lingüísticas Necessita de mais experiências (heurísticas) e regras precisas

Necessita do conhecimento Menor esforço computacional

de um especialista humano Simplifica a solução de problemas usando Dificuldades de estabelecer

a experiência do especialista humano regras precisas Não requer cálculos e Não há uma definição equações complicadas matemática precisa

2.2

Etapas Fuzzy

Para modelar um controlador Fuzzy para um determinado problema, é preciso cumprir basicamente três etapas: Codificação, Inferência e Decodificação [Simões & Shaw 2001]. Essas etapas serão detalhadas no decorrer deste capítulo de acordo com a seqüência que deve ser obedecida, levando-se em conta que será utilizado o modelo de Mamdani. Além do modelo clássico de Mamdani, existem outros modelos de controle fuzzy, dentre eles pode-se destacar: o modelo de Larsen, modelo de Tsukamoto e o modelo de Takagi-Sugeno.

(18)

Figura 2.1: Etapas da Lógica Fuzzy

2.2.1

Codificação

Essa primeira etapa é responsável pela tradução dos valores de entradas (não-Fuzzy), que normalmente são provenientes de sensores ou dispositivos de entrada computadori-zados, em valores nebulosos (imprecisos, verbais). Os valores de entradas devem estar contidos nos universos de discursos, ou seja, devem se comportar dentro de intervalos es-tabelecidos pelo projetista, além de obedecer as funções de pertinência que normalmente são definidas nos formatos triangulares ou trapezoidais, podendo também ser encontradas no formato gaussiana, sigmoidal etc. O grau de pertinência, que é representado pela letra

μ, normalmente varia entre zero e um.

Na etapa de Codificação também devem ser definidas pelo projetista as variáveis lingüísticas e a quantidade necessária para atender ao sistema. De uma forma sucinta, para se concluir a Codificação deve-se obedecer aos seguintes passos:

• Analisar quais são as variáveis usadas no projeto para tornar possível seu controle

automático. Neste projeto utilizou-se o erro e a variação do erro dentre as variáveis a serem controladas;

• Após escolher as variáveis controladas e manipuladas, deve-se estabelecer o

uni-verso de discurso de cada uma destas variáveis;

• Escolher a forma das funções de pertinências (triangular, trapezoidal, etc). No

pro-jeto trabalhou-se com formas triangulares;

• E, finalmente, nomear cada variável lingüística e obter as funções (pertinência x

(19)

2.2.2

Inferência

A etapa de inferência, como mostra a figura 2.1 é composta de dois blocos funcionais. O primeiro bloco (Base de conhecimento), faz o papel de um especialista da planta que vai ser controlada, ou seja, na elaboração desta etapa deve-se contar com a contribuição de um especialista do processo a ser controlado, pois a partir dos conhecimentos do especialista é que se obtém as regras de inferência. É nesta etapa também que vai ser feita a lógica de tomada de decisão, que irá analisar todas as situações possíveis do processo, de acordo com todos os possíveis estados em que as variáveis a serem controladas possam encontrar. Essa análise será realizada de acordo com a figura 2.2.

Figura 2.2: Regra de Inferência

em que:

vc1:variável controlada 1; vc2:variável controlada 2; vm:variável manipulada;

grande,pequenaemédia:variáveis lingüísticas.

É importante observar que toda a análise é feita em relação às variáveis controladas (entradas do controlador fuzzy) e que essas variáveis são quantificadas com valores fuzzy, o que caracteriza a Lógica Fuzzy. A saída será a ação a ser tomada pelo controlador fuzzy todas as vezes em que se observar uma determinada combinação dos valores de entrada. Essa saída fuzzy, que ainda não é a saída para a planta e sim uma saída para fins de cálculos na Lógica Fuzzy, é dada de acordo com a base de conhecimento do especialista. Após realizar as análises pertinentes, já se tem todas as possíveis saídas do sistema de acordo com cada situação. A partir desses resultados torna-se possível a montagem da Matriz de Associação Fuzzy (FAM).

(20)

Tabela 2.2: Tabela FAM

Saída vc1

NM NP ZE PP PM NM PM PM PM PP ZE NP PM PP PP ZE NP vc2 ZE PM PP ZE NP NP PP PP ZE NP NP NM PM ZE NP NP NM NM

em que:

NM:Negativo Médio; NP:Negativo Pequeno; ZE:Zero;

PP:Positivo Pequeno; PM:Positivo Médio.

Finalmente, depois de já ter em mãos a Matriz de Associação Fuzzy (FAM), deve-se usar um mecanismo de inferência para realizar associações que possam resultar em in-terpretações para expressões do tipo “SE (condição) ENTÃO (ação)”. O modelo clássico mais usado é conhecido por “minimo de Mamdani”, que se baseia na regra:

μA,A→B=min[μA(x),μB(x)]

Além do “minimo de Mamdani”, exitem vários outros operadores de implicação. Dentre eles podemos destacar os operadores de Larsen, Brower-G ¨oedel, Lukasiewicz e

(21)

Figura 2.3: Inferência

em que têm-se as regas:

REGRA1: SE vc1 = PP E vc2 = ZE ENTÃOvm= NP

REGRA2: SE vc1 = ZE E vc2 = ZE ENTÃOvm= ZE

Observe que dado um valor para a variável controlada 1 (vc1), ela irá interceptar as funções de pertinências ZE e PP em pontos diferentes em relação ao eixo vertical (μ).

O ponto onde cada função de pertinência for cortada representa um grau de pertinência. Este grau de pertinência será dado de acordo com o valor correspondente ao eixo vertical (μ). O mesmo acontece com a variável controlada 2 (vc2). Estes graus de pertinência são

importantes para poder achar a saída que irá ser decodificada.

Após determinar o grau de pertinência das variáveis controladas 1 e 2 nas respectivas funções de pertinência, deve-se aplicar as t-normas e t-conormas que se baseiam nos operadores clássicos de união e intersecção quando os conjuntos são “crisp”. As t-normas e t-conormas mais utilizadas podem ser vistas na Tabela 2.3 [Sandri & Correa 1999].

Tabela 2.3: Principais t-normas e t-conormas duais

t-normas t-conormas nome

min(a,b) max(a,b) Zadeh a.b a+b-ab Probabilística max(a+b-1,0) min(a+b,1) Lukasiewicz

⎧ ⎪ ⎪ ⎪ ⎨ ⎪ ⎪ ⎪ ⎩

a,se b=1

b,se a=1

0,seno

⎧ ⎪ ⎪ ⎪ ⎨ ⎪ ⎪ ⎪ ⎩

a,se b=0

b,se a=0

0,seno

Weber

(22)

ao conectivo ‘E’ Fuzzy de acordo com as regras de intersecção Fuzzy. Esta operação é chamada de agregação. Para melhor exemplificar essa operação, observe a figura 2.4.

Figura 2.4: Agregação

Neste exemplo, para a ‘Regra 1’, será considerado o menor valor encontrado entre vc1 e vc2, ou seja, o ‘peso’ atribuído à variável lingüística NP será 0,2. Para a ‘Regra 2’,

aplica-se o mesmo raciocínio, obtendo-se ao final o valor 0,5 para ZE.

Portanto, pode-se dizer que a operação de agregação é o menor valor (grau de per-tinência) entre as duas variáveis controladas inferidas na função de pertinência de saída correspondente à tabela FAM (ou a regra de inferência).

Finalmente, depois da agregação, já é possível identificar o máximo das áreas, ou seja, utilizar a operação composição. Essa operação consiste em combinar as saídas usando o operador “máx”, que corresponde ao conectivo ‘OU’ Fuzzy, de acordo com as regras da união Fuzzy, que são as áreas obtidas mostradas na figura 2.4. Após fazer essa operação, deve-se obter um resultado próximo da figura 2.5.

Figura 2.5: Composição

(23)

2.2.3

Defuzificação

A última etapa consiste na aplicação dos valores obtidos na etapa de inferência em um dos métodos abaixos representados pelas equações: 2.1 baseado no modelo discreto apresentado em [Simões & Shaw 2001], 2.2 conforme [Simões & Shaw 2001] e 2.3 de acordo com [Pedrycz & Gomide 1998].

• Centro de massa (também conhecido como centro de gravidade ou centróide):

Pouco usado em computação pelo fato que a sua fórmula apresenta integrais, o que aumenta o grau de complexidade do programa computacional, como mostra a equa-ção 2.1. No modelo discreto, encontrado em [Simões & Shaw 2001], apresenta pequenos problemas quando não ocorre a sobreposição das funções de pertinên-cias ou quando mais de uma regra tiver a mesma saída fuzzy, resultando em uma sobreposição que não será devidamente contabilizada [Simões & Shaw 2001];

XG=

+∞

−∞

x μ(x)dx

+∞

−∞

μ(x)dx

(2.1)

• Média dos máximos: Apesar de apresentar um baixo custo computacional, o que

pode ser observado na equação 2.2, não é muito implementado em computação para fins de controle pelo fato de resultar valores discretos, descontínuos [Simões & Shaw 2001];

XMM= M

i=1xmax(i)

M (2.2)

• Centro dos máximos: Em controle é o método mais usado pela sua simplicidade;

XCM= M

i=1Xmax(i)μ[Xmax(i)] M

i=1μ[Xmax(i)]

(2.3)

Para melhor exemplificar a etapa de Decodificação observe os cálculos abaixo de acordo com a figura 2.6.

XCM=

−6·0,2+0·0,5

(24)

Figura 2.6: Decodificação

Após aplicar a fórmula do método escolhido, será obtida a saída real, ou seja, o valor que deverá ser aplicado na planta para conseguir o resultado esperado no controle do sistema.

2.3

Lógica Fuzzy com mais de três entradas

Na grande maioria dos controladores fuzzy se utiliza duas entradas e uma saída, o que normalmente já é suficiente para se obter um controlador de boa qualidade. Em alguns casos é necessário a utilização de mais de duas entradas em controladores fuzzy, seja com o objetivo de melhor utilização das variáveis envolvidas no processo para uma melhor qualidade no controle, ou com o intuito de colocar restrições no processo a ser controlado. No caso deste trabalho a terceira entrada da lógica fuzzy será usada com o objetivo de respeitar uma dada restrição da planta a ser controlada. Para controladores fuzzy com até 3 (três) entradas é aconselhável a utilização de apenas um bloco fuzzy com uma FAM (Matriz de Associação Fuzzy) em 3D, pois neste caso cada variável de entrada corresponderá a uma dimensão da matriz, como é mostrado na figura 2.7.

Figura 2.7: FAM 3 dimensões

em que:

V1F1: variável 1 fuzzy 1;

(25)

Para casos em que a lógica fuzzy apresenta um número de entradas maior que 3 (três) é aconselhável a utilização da lógica fuzzy em cascata, haja visto que a tabela FAM ultra-passaria as 3D o que dificultaria ainda mais o ajuste. Com a lógica fuzzy em cascata, ao invés de ter uma FAM superior a 3D, tem-se “n” FAM’s em 2D. Para melhor

exemplifi-car observe a figura 2.8 que representa uma estrutura fuzzy em cascata e a figura 2.9 que representa apenas um fuzzy com múltiplas entradas e uma saída.

Figura 2.8: Fuzzy em cascata

Figura 2.9: Um fuzzy com multiplas entradas e uma saída

em que:

V1F1: variável 1 fuzzy 1;

SF1: Saída fuzzy 1;

SFn: Saída fuzzyn;

O comportamento do grau de dificuldade de ajuste dos parâmetros fuzzy em relação ao número de entradas do bloco fuzzy é melhor representado pela equação 2.4 [Simões & Shaw 2001]. Diante da mesma equação fica óbvio que quando aumentar o número de entradas do bloco fuzzy o número de escolha aumentará significativamente.

n=k·k1·r·r1·r2·m·p·d (2.4)

Onde n é o número de escolhas (quantidade de graus de liberdade); m é o número de

variáveis de entrada; p é o número de variáveis de saída; k o número de funções de

pertinência para cada variável;k1é a forma das funções de pertinência para cada variável;

rnúmero de regras fuzzy;r1 opções de inferência usadas na estrutura de regras fuzzy;r2

o grau de suporte associado a cada regra;dopções de métodos de Decodificação [Simões

(26)

Controladores PID

Os controladores PID (Proporcional-Derivativo-Integrativo) são bastante utilizados nas indústrias para controle de nível de líquidos, controle de temperatura, de velocidade de rotação de motores etc. A aceitação desses controladores nas indústrias se dá devido seu baixo custo e sua relativa facilidade de implementação.

Com o surgimento das técnicas inteligentes, tornou-se possível a implementação des-ses controladores juntamente com essas técnicas, como por exemplo a Lógica Fuzzy e Redes Neurais Artificiais, as quais ficaram conhecidas como PID’s fuzzy e PID’s Neu-rais. No decorrer deste capítulo serão apresentados mais detalhes sobre o PID Neural que será usado neste projeto.

3.1

Controlador Proporcional-Integrativo-Derivativo (PID)

O controlador PID consegue, quando bem ajustado, zerar ooffsete melhorar a

estabi-lidade relativa do sistema. Este controlador é utilizado quando temos respostas transitória e um regime insatisfatórias [Araújo 2007]. Quanto aos parâmetros a serem ajustados neste controlador, tem-se oKp,Kie oKd, correspondentes às ações proporcional, integrativa e

derivativa, respectivamente.

O esquema do PID está representado pela figura 3.1 e seu modelo matemático pela equação 3.1.

u(t) =Kpe(t) +Kd

de(t)

dt +Ki

e(t)dt (3.1)

Na forma discreta a equação 3.1 pode ser expressa como:

u(k) =Kpe(k) +Kd

Ts

∆e(k) +KiTs t

i=0

(27)

Figura 3.1: Esquema do Controlador Proporcional Derivativo Integrativo

em que:

u(k) = Saída do controlador PID no instante k ;

Ts= Período de amostragem ;

e(k) = erro no instante k;

∆e(k)= variação do erro no instante k;

KP, KI, KD = parâmetros da parte proporcional, integrativa e derivativa,

respectiva-mente.

Embora os controladores PID apresentem várias vantagens, eles não são satisfatórios para o controle de sistemas com longo tempo de atraso nos quais os parâmetros P, I, e D são difíceis escolher [Fardadi et al. 2005]. Redes neurais artificiais podem apresentar ha-bilidades adaptável para aprender processos. Combinando este modelo de controle (PID) com uma rede neural, surgiu o PID neural (PIDN), o qual foi utilizado no desenvolvi-mento deste projeto.

3.2

Controlador PID Neural (PIDN)

Uma Rede Neural Artificial (RNA) é um sistema de processamento distribuído de informações, que possui algumas características em comum com as redes neurais bio-lógicas. Uma RNA pode ser caracterizada por três aspectos principais: primeiro pelo padrão de conexões entre as unidades (arquitetura), segundo pela função de ativação das unidades e, terceiro, pelo método de determinação dos pesos das conexões (algoritmo de treinamento ou aprendizado). No modelo do neurônio artificial, de McCulloch e Pitts (1943), cada entrada recebe um estímulo, que é ponderado pelos pesos sinápticos e todas as suas entradas são somadas, gerando uma resposta, na qual é posteriormente modulada por uma função matemática (função de ativação) [Haykin 1994].

(28)

pro-cesso. Porém, os controladores de PID convencionais geralmente não trabalham bem em sistemas lineares com tempo de atrasados, sistemas de não lineares, sistemas complexos etc [Yongquan et al. 2003].

O PID neural é formado por uma RNA onde os pesos da camada escondida irão repre-sentar os parâmetros Proporcional, Integrativo e Derivativo de um controlador PID con-vencional [Yongqnan et al. 2004a], combinando assim o algoritmo do PID convencional

com as funções de aprendizagens das RNA, gerando um PID com funções de aprendiza-gens [Yongquan et al. 2003]. Na figura 3.2 pode ser visto um típico PID neural, contendo dois neurônios (X11 e X12) na camada de entrada, três neurônios (XH P, XH I e XH D) na

camada escondida, e um neurônio (X0) na camada de saída. A camada de entrada contém

apenas dois nós de entrada que tem como objetivos simplesmente enviar os sinais de en-trada para os neurônios da camada escondida. Dentre os neurônios da camada escondida,

XH P é o neurônio Proporcional,XH I é o Integrativo e oXH Do Derivativo. O neurônio da

camada de saída (X0) tem como função convergir os três resultados dos neurônios XH P,

XH I eXH D[Yongquan et al. 2003].

Figura 3.2: PID neural

em que:

r1 e r2 = entradas da RNA; u = saída da RNA;

XH P,XH I,XH D= parâmetros da parte proporcional, integrativa e derivativa,

respecti-vamente.

(29)

1. Neurônio Proporcional:

XHP(k) =

⎧ ⎪ ⎪ ⎪ ⎪ ⎪ ⎨ ⎪ ⎪ ⎪ ⎪ ⎪ ⎩

1, uHP(k)>1

uHP(k), −1≤uHP(k)≤1

−1, uHP(k)<−1

2. Neurônio Integrativo:

XHI(k) =

⎧ ⎪ ⎪ ⎪ ⎪ ⎪ ⎨ ⎪ ⎪ ⎪ ⎪ ⎪ ⎩

1, uHI(k)>1

uHI(k) +uHI(k−1), −1≤uHI(k)≤1

−1, uHI(k)<−1

3. Neurônio Derivativo:

XHD(k) =

⎧ ⎪ ⎪ ⎪ ⎪ ⎪ ⎨ ⎪ ⎪ ⎪ ⎪ ⎪ ⎩

1, uHD(k)>1

uHD(k)−uHD(k−1),−1≤uHD(k)≤1

−1, uHD(k)<−1

As demais camadas da RNA também possuem funções de ativação hard limits que

atendam umRangedesejado para o problema.

Para PID‘s neurais que tem como entrada uma ação proporcional não linear, sua saída será representada pela equação 3.3, enquanto que os PID’s que possui como en-tradas ações proporcionais derivativas a equação 3.4 equivale a sua saída [Yongqnan et al. 2004b].

uPID(t) =w1·w11·up+w2·w21 t

i=0

(30)

uPID(t) =w1·w11·upd+w2·w21 t

i=0

upd(i) (3.4)

Neste trabalho a rede neural é usada no acoplamento do controlador fuzzy por causa de sua potencialidade de aprendizagem [Yongqnan et al. 2004b]. Os pesos podem ser

inicializados aleatoriamente, e em seguida seus o valores irão sintonizar o PID de acordo com a evolução de aprendizagem da rede neural. O objetivo principal do acoplamento do PIDN ao controlador fuzzy é amenizar os cansativos ajustes dos parâmetros fuzzy. Ao invés de realizar ajustes finos nas funções de pertinências da lógica fuzzy e na base de regra para melhorar o estado transitório, o ajuste será feito nos pesos do PIDN.

(31)
(32)

Algoritmos Genéticos

Os AG’s constituem uma técnica de busca inspirada no processo de evolução dos seres vivos, baseada na seleção natural de Darwin, em que dada uma população, os indivíduos com características genéticas melhores têm maiores chances de sobrevivência e de produ-zirem filhos cada vez mais aptos, enquanto indivíduos menos aptos tendem a desaparecer [Lacerda & Carvalho 1999]. Os AG usam o conceito de probabilidade, mas não são sim-ples buscas aleatórias. Pelo contrário, os AG’s tentam direcionar a busca para regiões onde é provável que os pontos ótimos estejam [Lacerda & Carvalho 1999]. Além dos AG’s existem outros métodos de buscas que também são considerados métodos de otimi-zação, dentre eles pode-se citar: colônia de formigas, nuvem de partículas, busca tabu e

simulated annealing.

4.1

Etapas do AG

Nos Algoritmos Genéticos (AG’s), cada cromossomo (indivíduo da população) está associado a uma solução do problema e cada gene está associado a uma componente da solução. Um mecanismo de reprodução (crossover), baseado em processos evolutivos, é aplicado sobre a população, com o objetivo de explorar o espaço de busca e encon-trar melhores soluções para o problema. Além do crossover também podem ser usado mecanismos de mutação para melhorar ainda mais a exploração no espaço de busca do problema [Lacerda & Carvalho 1999].

(33)

indicar qual a probabilidade que cada indivíduo terá de ser escolhido na fase da seleção dos indivíduos. Na fase de seleção será feito um sorteio para determinar quem serão os pais da próxima geração, e nessa fase cada individuo apresentará uma probabilidade di-ferente, ou seja, cada indivíduo de acordo com sua aptidão terá chances diferentes de ser escolhido como pai da nova geração. Na fase da reprodução, irá ser feito o cruzamento genético dos indivíduos selecionados. Existem vários tipos de reprodução, onde cada tipo utiliza propriedades probabilísticas diferentes. Finalmente, na fase de mutação, irá ser realizado uma alteração no cromossomo com o objetivo de melhorar a diversidade dos cromossomos da população, no entanto, por outro lado, destrói a informação contida no cromossomo. Dessa forma, a taxa de mutação deve ser pequena (normalmente entre 0.1% e 5%), mas suficiente para asseguar a diversidade do AG [Lacerda & Carvalho 1999].

Figura 4.1: Fluxograma de um AG

A seguir tem-se um detalhamento sobre todas as etapas envolvidas no fluxograma da figura 4.1.

4.1.1

Aptidão

(34)

escalo-namento da função objetivo ou baseado norankingdo indivíduo na população. No caso

deste trabalho a aptidão foi representada pela equação 4.1.

Merro(ind) = kf inal

k=0[erro(k)] 2

kf inal

(4.1)

em queMerro(ind)é a média do erro quadrático para um determinado indivíduo, erro(k)

é o erro para um determinado instante da simulação dado por: (y(k)−yre f(k))ekf inalé

o tempo discreto de simulação do indivíduo.

4.1.2

Seleção

A seleção é um dos mais importantes elementos de todos os AG‘s. A seleção de-termina quais indivíduos da população irão ter todo ou parte de seu material genético transferido para a próxima geração de indivíduos. O objetivo do método de seleção apli-cado ao AG é fazer com que o material genético de boa qualidade aumente exponencial-mente de geração a geração, enquanto que o material genético ruim venha a desaparecer [Mangano 1995].

Inspirado no processo de seleção natural dos seres vivos, o AG seleciona os melhores indivíduos (maior aptidão) para gerar cromossomos filhos por meio de crossover e muta-ção [Lacerda & Carvalho 1999], sempre com o objetivo de levar o AG para as melhores regiões do espaço de busca. Os mecanismos mais comuns utilizados para a seleção são: seleção proporcional à aptidão (roleta) e a seleção por torneio.

(35)

Figura 4.2: Método da roleta aplicado a população de 4 indivíduos

4.1.3

Crossover

Depois do procedimento de seleção, os indivíduos selecionados compõem uma popu-lação intermediária denominadamating pool. Esses indivíduos irão reproduzir-se e seus

filhos formarão a nova população do AG. Durante esta etapa de reprodução é que os ope-radores de crossover são utilizados. O mecanismo de crossover, conjuntamente com o de mutação, permite que os AG’s explorem regiões desconhecidas do espaço de busca.

Existem três tipos de representação possíveis para os cromossomos: binária, inteira ou real. De acordo com a classe de problema que se deseja resolver pode-se usar qualquer um dos três tipos, no caso deste trabalho utilizou-se o cromossomo binário. Devido a essas características específicas de cada implementação e/ou problema também são diversos os tipos de operadores de crossovers existentes, no caso dos cromossomos binários os crossover mais convencionais são: crossover de 1-ponto, crossover de 2-pontos, crossover de n-pontos e crossover uniforme.

4.1.4

Mutação

Após a reprodução dos cromossomos, por meio da aplicação de crossover, o operador de mutação é aplicado aos filhos gerados pela etapa anterior. A mutação altera rando-micamente cada gene com uma pequena probabilidade denominada taxa de mutação. A aplicação do operador de mutação proporciona uma pequena porção de busca aleatória no AG, ajudando a garantir que nenhum ponto do espaço de busca possuirá probabilidade zero de ser visitado [Beasley et al. 1993].

(36)

A mutação melhora a diversidade dos cromossomos da população, no entanto, por outro lado, destrói a informação contida no cromossomo. Dessa forma, a taxa de mu-tação deve ser pequena (normalmente entre 0.1% e 5%), mas suficiente para asseguar a diversidade do AG [Lacerda & Carvalho 1999].

4.2

RNA sintonizada por um AG

A utilização de AG’s com uma RNA pode ocorrer de 3 (três) formas:

• treinamento de RNA (ajuste dos pesos);

• otimização da topologia de RN (número de neurônios da camada intermediária); • geração tanto da topologia como dos pesos das conexões.

A maioria dos trabalhos em que AG são utilizados tratam do problema de treinamento, ou seja, da geração dos pesos das conexões da rede [Jason & Frenzel 1993]. Neste tipo de aplicação, dada uma estrutura para uma rede, um AG é utilizado para achar os pesos que resultam nos menores valores de erro para um determinado problema.

Em situações em que pode-se alimentar a RNA com pontos de treinamentos (entrada e saídas desejadas - treinamento supervisionado) o método mais comum de ajustar os pesos da RNA é utilizando métodos de treinamentos como o Backpropagation ou até mesmo métodos de segunda ordem como por exemplo Levenberg-Marquardt. Quando não se tem pontos de treinamentos, ou seja, quando se trata de um treinamento não supervisionado, para poder sintonizar os pesos da RNA se faz nescessário outros métodos de sintonia, no caso do trabalho será utilizado AG para o ajuste dos pesos da RNA.

A avaliação de cada indivíduo é feita com base num conjunto de padrões para teste, de modo que a aptidão seja uma função decrescente do erro quadrático [Azevedo 1999]. Para este projeto a RNA foi treinada utilizando um algoritmo genético, no qual irá ajustar os pesos da RNA baseado na média do erro quadrático que pode ser escrita de acordo com a equação 4.1.

Cada indivíduo da população gerada representará uma solução do problema, ou seja, cada cromossomo será dividido em 4 (quatro) partes, onde cada parte será o valor de um dos peso da RNA. Os cromossomos são binários, ou seja, representados por bits 1 (um) ou 0 (zero), o cruzamento também ocorre de forma binária e cada parte é convertida para decimal para poder representar os pesos da RNA.

(37)

• 1opasso: Escolhe dois cromossomos da população aleatoriamente (método da

Ro-leta);

• 2o passo: Escolhe diferentes localizações de genes nos dois cromossomos

separa-damente e aleatoriamente;

• 3opasso: Troca os dois genes selecionados entre os dois cromossomos.

• 4opasso: Evolui a geração com os dois novos indivíduos gerados.

O esquema docrossover(1 gene de troca) é mostrado na figura 4.3.

Figura 4.3: Esquema do Crossover implementado

Este tipo de crossover foi implementado por ter apresentado um rendimento melhor do que os crossover convencionais (1 ponto de troca), de acordo com [Yongqnan et al. 2004a]

e com a avaliação realizada ao longo deste trabalho mostrada na Tabela 4.1. Dentre as demais configurações possíveis em um AG foram testadas:

1. Sem mutação, sem elitísmo e crossover de 1 bit de troca; 2. Sem mutação, sem elitísmo e crossover de 1 ponto de troca; 3. Com mutação (5%), sem elitísmo e crossover de 1 bit de troca; 4. Com mutação (5%), sem elitísmo e crossover de 1 ponto de troca; 5. Sem mutação, com elitísmo e crossover de 1 bit de troca;

(38)

Tabela 4.1: Testes de diferentes configurações de AG

Mutação Sem Com (5%) Sem Com (5%)

Elitísmo Sem Com

Crossover 1 b. 1 p. 1 b. 1 p. 1 b. 1 p. 1 b. 1 p. Teste 1 4,52 6,20 8,42 5,80 4,81 4,95 5,11 4,53 Teste 2 5,58 6,97 4,02 4,82 3,87 5,59 8,05 5,98 Teste 3 13,57 6,56 5,09 6,30 4,49 6,06 4,03 5,19 Teste 4 9,72 6,06 14,16 6,06 5,06 7,00 5,61 5,33 Teste 5 10,18 20,16 16,57 5,15 6,27 12,05 4,74 5,11 Teste 6 4,00 19,00 18,62 19,77 5,03 5,16 4,67 6,33 Teste 7 18,7 19,63 4,72 3,91 4,07 4,71 4,44 4,62 Teste 8 19,21 6,08 3,99 16,7 6,79 4,00 4,18 5,91 Teste 9 3,95 18,91 4,20 22,24 5,30 5,86 4,14 4,43 Teste 10 4,19 6,06 18,83 13,31 4,02 5,84 5,97 11,65 Soma Apt. 93,62 115,63 98,62 104,06 49,71 61,22 50,94 59,08 Média Apt. 9,36 11,56 9,86 10,40 4,97 6,12 5,09 5,90

Os resultados mostrados na Tabela 4.1 representam a aptidão do melhor indivíduo para cada teste realizado de acordo com a configuração do AG. Os resultados foram ob-tidos na otimização dos parâmetros (Kp, Kie Kd) de um PID convencional aplicado na

simulação de um sistema de tanques (configuração 2 de acordo com [Quanser 2000]). Nos testes foram usados 20 indivíduos e 20 gerações (400 indivíduos), onde cada indi-víduo era testado durante 25 períodos de tempo. Em todas as configurações testadas o método de seleção implementado foi o método da roleta e a aptidão de cada indivíduo foi calculado de acordo com a equação 4.1.

(39)
(40)

Estruturas de Controle e Ambientes de

Simulações

5.1

Estruturas de controle

Para efeitos comparativos, além da estrutura de controle proposta (controlador fuzzy acoplado a um PID neural sintonizado por um algoritmo genético) no decorrer do trabalho também foram implementadas outras estratégias de controle, dentre elas:

1. Fuzzy PI;

2. PID ajustado por um AG;

3. PID neural sintonizado por um AG;

4. Dois Fuzzy em cascata acoplado com um PID neural ajustado por um AG; 5. Um Fuzzy MISO (3 entradas) acoplado com um PID neural ajustado por um AG.

5.1.1

Fuzzy PI

A lógica fuzzy implementada, já citada no capítulo 2, recebe como entrada o erro e a variação do erro e gera como saída uma variação de tensão, caracterizando assim o fuzzy PI.

Figura 5.1: Diagrama de blocos da estrutura de controle 1

(41)

5.1.2

PID sintonizado por um AG

O PID é um sistema de controle de simples implementação muito utilizado na área de controle, principalmente em indústrias. Para facilitar o ajuste dos parâmetros do PID, ao invés de utilizar métodos convencionais como LGR (Localização Geométrica das Raí-zes) e Ziegler-Nichols, se fez uso de um AG para realizar a sintonia. Esta escolha além de apresentar uma boa sintonia evita os ajustes finos, muitas vezes necessários nos dois métodos de sintonização citados.

Neste ambiente, além das equações 5.2 e 5.3 usadas para simular os tanques, tam-bém foram usadas equações discretizadas pelo método de Euler para tornar possível a implementação do PID.

A equação 5.1 representa o PID simulado.

P(k) = Kp·e(k)

I(k) = I(k−1) + (Ki·h·e(k))

D(k) = Kd

e(k)−e(k−1)

h

PID(k) = P(k) +I(k) +D(k) (5.1)

em que:

e(k)= erro no instante k;

P(k),D(k)eI(k)= ações do Proporcional, Derivativo e Integrativo;

Kp,Kd,Ki= parâmetro do controlador PID;

h= período de amostragem.

A figura 5.2 representa a estrutura implementada.

(42)

5.1.3

PID neural sintonizado por um AG

Esta estrutura apresenta uma combinação do algoritmo do PID convencional com as funções de aprendizagens das RNA’s, gerando um PID com funções de aprendizagens.

Figura 5.3: Diagrama de blocos da estrutura de controle 3

5.1.4

Dois Fuzzy em cascata acoplados com um PID neural ajustado

por um AG

Esta configuração permite uma estratégia de controle mais completa, tornando os ajus-tes dos parâmetros fuzzy menos cansativo por causa do acoplamento do PIDN ajustado pelo AG.

Figura 5.4: Diagrama de blocos da estrutura de controle 4

5.1.5

Um Fuzzy MISO (3 entradas) acoplado com um PID neural

ajustado por um AG

(43)

Figura 5.5: Diagrama de blocos da estrutura de controle 5

5.2

Modo de Operação

Todas as cinco estruturas foram implementadas no modo simulação e no modo expe-rimental:

1. MODO SIMULAÇÃO:

Nos ambientes de simulação o sistema de tanques acoplados (mostrado na figura 5.6) foi representado pelo modelo discreto da planta (equação 5.2 e 5.3 ), obtido através do método de zoh (Segurador de ordem zero) e um período de amostragem para discretizacao de 0.1s.

y1(k) =0.9935·y1(k−1) +0.02955·vp(k−1) (5.2)

y2(k) =0.9935·y2(k−1) +0.006542·y1(k−1) (5.3)

em que y1(k)é o nível do tanque 1 no instante k, y2(k)é o nível do tanque 2 no

instante k,y1(k−1)é o nível do tanque 1 no instantek-1, y2(k)é o nível do

tan-que 2 no instante k-1e vp(k−1)é a tensão na bomba no instantek-1. Todos os

parâmetros relacionados no modelo discreto da planta foram obtidos do manual [Quanser 2000].

2. MODO EXPERIMENTAL:

(44)

Figura 5.6: Sistema de Tanques

Neste modo tanto o controle quanto o ajuste dos parâmetros das estruturas de con-trole se tornou mais complicadas, haja visto que novas variáveis se fizeram pre-sentes como por exemplo ruídos e atrasos que não foram representado no modo de simulação. Por este motivo se fez necessário o uso de um filtro linear na obten-ção dos dados dos sensores, este filtro está representado pela equaobten-ção 5.4, onde a constantek1é usada para o ajuste do filtro:

yf(k) = (1−k1)·y(k−1) +k1·y(k) (5.4)

5.3

Ambientes de Simulações

Para cada estrutura de controle apresentada na seção 5.1 se fez necessário o de-senvolvimento de um programa.Os programas utilizados para as realizações dos tes-tes,comparações e validações, foram desenvolvidos na plataforma Borland C++ BuilderR.

Um exemplo de interface é mostrada através da figura 5.7.

(45)

Figura 5.7: Ambiente de simulação do controlador Fuzzy com o PID Neural

pertinências o usuário também deve entrar com:

• Número de indivíduos do AG; • Número de gerações;

• SetPointdesejado;

• “Range” dos cromossomos.

(46)

Resultados

Para a apresentação dos testes, validações e comparações realizadas se faz necessário a divisão em dois modos de operação que foram implementados: modo de simulação e modo experimental. Tanto no modo de simulação quanto no modo experimental, para todas as estruturas de controle que possui um AG como ferramenta de sintonia, utilizou-se umsetpointde 5 cm e um tempo de 30 segundos para calcular a aptidão de cada individuo

do AG. Para um melhor entendimento dos resultados das estruturas de controle, observe o diagrama de bloco das devidas estruturas no Capítulo 5. Neste mesmo capítulo pode ser encontrado um melhor detalhamento sobre os dois modos de operação.

6.1

Modo Simulado

No modo de simulação foram implementados cinco estruturas de controle:

1. Dois Fuzzy em cascata acoplados com um PID neural ajustado por um AG; 2. Um Fuzzy MISO (3 entradas) acoplado com um PID neural ajustado por um AG; 3. Fuzzy PI;

4. PID ajustado por um AG;

5. PID neural sintonizado por um AG.

Para todos os testes foram fornecidos quatro níveis desetpoint diferentes ao sistema

de tanques, são eles: 5 cm, 15 cm, 20 cm e 10 cm, nesta ordem. Além de obedecer os quatro níveis desetpoint, foram respeitados também o tempo para cada troca desetpoint,

que foi: 40 segundos, 80 segundos, 120 segundos e 160 segundos, respectivamente. To-dos os resultaTo-dos, em termos de tempo de acomodação eovershoot, podem ser visto no

(47)

equação 6.2). Na figura A.1 pode-se observar o comportamento de cada estrutura de con-trole, comparada na fase de simulações, mostrados em um mesmo gráfico respeitando os mesmossetpointse os mesmos intervalos de tempo.

Jy=

1

N

N

i=1

(y(i)−yre f)2 (6.1)

Ju=

1

N

N

i=1

(u(i))2 (6.2)

em que:

Jy= erro médio quadrático;

Ju= esforço de controle médio;

(y(i)−yre f)= erro;

u(i)= tensão aplicada na bomba no instantei.

6.1.1

Dois Fuzzy em cascata acoplado com um PID neural ajustado

por um AG

Para o treinamento do PIDN foi utilizado um AG para o ajuste dos pesos da rede. Como paramêtro do AG foram usados 5 indivíduos, 10 gerações e umrangepara cada

peso entre -2,54 e +2,54. Ao término do treinamento foi eleito o melhor indivíduo para re-presentar os pesos da RNA. A evolução do AG e os valores das aptidões de cada indivíduo estão representado na figura 6.1.

Figura 6.1: Evolução do AG: Aptidão x número de indivíduos

(48)

a ser controlado em cm) em relação ao tempo (segundos), onde a linha vermelha é o nível do tanque 2, a linha azul delimita a faixa de acomodação de ±5% e a linha verde

é o setpoint. Nota-se na figura 6.2 que para um setpoint de 5cm o controlador fuzzy

acoplado a um PIDN consegue estabilizar (entrar na faixa de acomodação) em menos de 20 segundos e não apresenta overshoot, já para a faixa de 15cm o tempo gasto para

entrar na faixa de acomodação é de 20 segundos e também não apresentaovershoot. Nos setpointsde 20 cm e 10 cm é gasto 21 segundos, apresentandoovershootapenas para o setpointde 10 cm.

Figura 6.2: Gráfico do nível (cm) do tanque 2 x tempo (s)

A figura 6.3 mostra a tensão na bomba (Volts) em relação ao tempo (s). A bomba recebe tensão de −22V a +22V, sendo que o controlador, por questão de segurança,

trabalha entre±3V, devido o sinal ser amplificado ao entrar na bomba com um ganho de

5. Neste caso a bomba trabalhará entre−15V e+15V [Vale & Maitelli 2007].

Figura 6.3: Gráfico da tensão (V) na bomba x tempo (s)

(49)

em azul é a tensão determinada pelo primeiro fuzzy (L.F.) e a linha em roxo é a tensão calculada pelo PID neural, ou seja, a tensão aplicada de fato na bomba para o controle de nível do tanque 2. Fica claro na figura 6.3 a ação da chave de segurança (L.F2), no

inter-valo entre 45 e 50 segundos, onde o primeiro fuzzy tende a calcular um determinado inter-valor para a tensão e o segundo fuzzy, para não deixar transbordar o tanque 1, age aplicando uma tensão menor fazendo com que a tensão aplicada na bomba siga seu comportamento. Neste período a tensão na bomba diminui bruscamente, ao invés de diminuir lentamente como manda o primeiro fuzzy (L.F.), evitando assim o transbordamento.

6.1.2

Um Fuzzy MISO (3 entradas) acoplado com um PID neural

ajustado por um AG

Com o intuito de transformar o fuzzy em cascata em um fuzzy MISO (3 entradas), ou seja, com três entradas (erro, variação do erro e nível do tanque 1) e uma saída (tensão da bomba sujeita a chave de segurança para evitar transbordamento no tanque 1, tornando o bloco fuzzy mais clássico e compacto), foi testado esta nova estrutura de controle.

Na figura 6.4, pode-se observar que esta estrutura de controle tem um comportamento bastante parecido com o da figura 6.2. Esta semelhança pode ser melhor notada ao ob-servar a figura A.1. As poucas diferenças consistem em alguns ajustes finos que foram dados de forma distinta por causa da alteração no modo em que a chave de segurança se comporta nas duas estruturas fuzzy.

Figura 6.4: Gráfico do nível (cm) do tanque 2 x tempo (s)

(50)

com-portamento da tensão gerada pelo bloco fuzzy (linha azul) e a tensão aplicada na bomba (tensão do PIDN, linha roxa). Ainda na figura 6.5 merece destacar a atuação da chave de segurança (nos intervalos: 44-52 segundos e 84-92 segundos) e a estabilização da ten-são da bomba para os quatrossetpointsnos intervalos: 22-40 segundos, 78-80 segundos,

102-120 segundos e 155-160 segundos.

Figura 6.5: Gráfico da tensão (V) na bomba x tempo (s)

6.1.3

Fuzzy PI

Dentre as estruturas que utilizam Lógica Fuzzy foi implementado o Fuzzy PI e seus resultados pode ser visto na figura 6.6. A legenda do gráfico é igual ao da figura 6.2

Figura 6.6: Gráfico do nível (cm) do tanque 2 x tempo (s)

(51)

o sistema fica oscilando dentro da faixa de acomodação para todos os setpointse que a

tensão na bomba em nenhum momento se estabiliza, ficando sempre oscilatória. Isso não quer dizer que seja impossível chegar a estabilidade, mas sim que esta tarefa e árdua e cansativa. Apesar dessa desvantagem, se for comparar o tempo de acomodação para os

setpointsestabelecidos com os resultados dos outros controladores, o Fuzzy PI apresenta

tempos de acomodação melhores.

Figura 6.7: Gráfico da tensão (V) na bomba x tempo (s)

Na tabela A.6 fica evidente a desvantagem do excesso de oscilação da tensão da bomba, onde o Fuzzy PI apresenta uma quantidade de energia gasta maior do que as outras estruturas de controle.

6.1.4

PID ajustado por um AG

Na figura 6.8 tem-se o treinamento do controlador PID convencional com os parâme-tros ajustados por um AG. Nesta aprendizagem foi utilizado um número de gerações e de indivíduos igual a 10, haja visto que este treinamento apresentou-se mais difícil. Esta dificuldade pode ser explicada pelo fato de não se ter o conhecimento da base de regras fuzzy nesta estrutura, enquanto que nas outras estruturas usadas neste trabalho existe um controlador fuzzy com uma base de regras ajustada.

(52)

Com os parâmetros do PID ajustados pode-se ver na figura 6.9 o resultado do PID convencional nos quatros níveis desetpoint. A legenda do gráfico é igual ao da figura 6.2

e os parâmetros encontrados para o PID, através do AG, foram: Kp=1,1, Kd =1,24

e Ki=0,0099. Este resultado foi o melhor, dentre os testes realizados com o PID, se

considerar uma relação de velocidade eovershoot. Observa-se que para umsetpoint de

5 cm a estabilização do PID convencional se dá acima de 20 segundos, apresentando um

overshootsuperior a 20 %. Porém para os outrossetpointele chega a apresentar valores

menores deovershoote tempo de estabilização próximos a 20 segundos.

Figura 6.9: Gráfico do nível (cm) do tanque 2 x tempo (s)

Como implementado no ambiente de simulação do controlador fuzzy acoplado ao PIDN, também foi utilizado, no PID convencional, uma chave de segurança para evitar o transbordamento do tanque 1. O comportamento da tensão de entrada na bomba no decorrer do tempo é mostrado na figura 6.10.

Figura 6.10: Gráfico da tensão (V) na bomba x tempo (s)

(53)

é uma chave que utiliza regras fuzzy e sim uma chave implementada com funções de programação convencionais. A atuação da chave de segurança fica clara nos intervalos de 47 a 52 segundos e de 83 a 88 segundos. A chave de segurança leva a tensão da bomba para uma região que mantém o nível do tanque 1, não deixando o tanque transbordar nem esvaziar.

6.1.5

PID neural sintonizado por um AG

Assim como mostrado e comentado na seção do PID convencional, o PIDN apresentou um treinamento mais complicado em relação ao Fuzzy em cascata acoplado com um PID neural, haja visto que além das justificativas dadas para o PID convencional o PIDN apresenta um número de parâmetros maior para ser ajustado. A figura 6.11 mostra a evolução do AG.

Figura 6.11: Evolução do AG: Aptidão x número de indivíduos

A figura 6.12 mostra o comportamento do PIDN, após ser ajustado, para os quatros níveis desetpoint. É notório que o PIDN apresentou-se mais oscilatório do que o PID

convencional, gastando mais energia, o que pode ser melhor visualizado na tabela A.6.

(54)

Observa-se que para osetpointde 5cm o tempo de acomodação é de aproximadamente

20 segundos e oovershootsuperior à 30%. Para os outrossetpointsosovershoots

apre-sentados foram menores, se comparado ao do PID convencional. Nosetpoint de 20 cm

a estrutura de controle não consegue se estabilizar dentro da faixa de acomodação para o intervalo de tempo pré definido.

Já o comportamento da tensão, no decorrer do tempo para esta estrutura de controle, apresentou-se mais brusca e oscilatória. Isto pode ser visto na figura 6.13.

Figura 6.13: Gráfico da tensão (V) na bomba x tempo (s)

Além do comportamento da tensão, também pode ser visto na figura 6.13, o compor-tamento da chave de segurança que foi implementada da mesma forma à do PID conven-cional.

6.2

Modo Experimental

Com o embasamento e os resultados dos testes no modo simulado, foram eleitos, para fins de comparação e validação, quatro estruturas de controle para ser implementado na planta real. As estruturas escolhidas foram:

1. Fuzzy PI;

2. PID ajustado por um AG;

3. Dois Fuzzy em cascata acoplado com um PID neural ajustado por um AG; 4. Um Fuzzy MISO (3 entradas) acoplado com um PID neural ajustado por um AG.

Dentre as estruturas escolhidas para implementação experimental o PID convencional levou vantagem em relação ao PIDN por apresentar, na simulação, um resultado melhor do que o PIDN e um treinamento menos custoso, haja visto que possui menos parâmetros para ser ajustados. Assim como ocorrido no modo simulado os quatro níveis desetpoints

(55)

segundos. Devido a problemas encontrados na planta real como por exemplo; ruídos e retardos, tornou-se necessário pequenos ajustes e novos treinamentos das estruturas de controle.

6.2.1

Dois Fuzzy em cascata acoplados com um PID neural ajustado

por um AG

Ao implementar esta estrutura de controle na planta real, foram feitas apenas algumas pequenas alterações em algumas funções de pertinências. Essas alterações aconteceram nas funções de pertinência do erro e da variação do erro, devido ruídos encontrados na prática nos sensores da planta. Por causa desses ruídos e dessas alterações tornou-se necessário um novo treinamento do PIDN. Após treinado os resultados podem ser obser-vados na figura 6.14.

Figura 6.14: Gráfico do nível (cm) do tanque 2 x tempo (s)

Observou-se um comportamento um pouco diferente se comparar este resultado com o simulado. É notório também que em ambos os resultados o controle é satisfatório, apresentandoovershootse tempo de acomodação dentro do esperado. Nota-se que para

umsetpointde 5 cm o controle entra na faixa de acomodação em menos de 15 segundos e

para os demaissetpointsgasta respectivamente: 26 s, 28 s e 20 s. Enquanto aosovershoots

(56)

A figura 6.15 mostra o comportamento da tensão no decorrer do tempo. A legenda é igual à da figura 6.3. Por causa dos ruído encontrados na planta o gráfico da tensão fica um pouco ruídoso, o que não impede o sucesso do controle.

Figura 6.15: Gráfico da tensão (V) na bomba x tempo (s)

Ainda é possível observar a atuação da chave de segurança que foi implementada da mesma forma que mostrada na figura 6.3. Os intervalos de 45 a 53 segundos e de 105 a 112 segundos caracterizam a ação da chave de segurança.

6.2.2

Um Fuzzy MISO (3 entradas) acoplado com um PID neural

ajustado por um AG

Com o intuito de condesar o fuzzy em cascata em apenas um fuzzy com uma FAM 3D e validar essa estrutura, tornou-se indispensável sua implementação e validações. Essa es-trutura apesar de tornar o ajuste da FAM bem mais árduo, mostrou-se tão eficiente quanto o fuzzy em cascata. A figura 6.16 representa o resultado desta estrutura de controle.

(57)

O sinal de entrada na bomba apresenta um comportamento próximo ao do apresentado pelo Fuzzy em cascata acoplado com um PID neural. A única diferença é na atuação da chave de segurança. A figura 6.17 mostra a atuação da chave e a dificuldade de ajuste da mesma. Nota-se que nessa estrutura de controle a chave de segurança apresentou-se mais brusca, ou seja, a tensão na bomba ao invés de diminuir suavemente fica oscilando entre duas faixas de tensão. Essa oscilação brusca pode ser suavizada com um melhor ajuste nas funções de pertinência e na FAM 3D. A linha em azul representa a saída da L.F. e a linha em roxo representa a tensão de entrada na bomba.

Figura 6.17: Gráfico da tensão (V) na bomba x tempo (s)

Pelos mesmos motivos relatados no caso do Fuzzy em cascata acoplado com um PID neural, a tensão de entrada na bomba neste controlador também se apresenta um pouco ruidoso.

6.2.3

Fuzzy PI

Neste teste observou-se uma maior dificuldade no ajuste das funções de pertinência da lógica fuzzy, haja visto que todo o comportamento do PID está incorporado na própria L.F. e não possui nenhum tipo de treinamento como é o caso das outras estruturas de controle. A figura 6.18 mostra o resultado adquirido depois de alguns ajustes realizados.

Fica claro que mesmo depois de alguns ajustes ainda se encontra dificuldade de oti-mizar as funções de pertinências para todas as faixas desetpoints possíveis. Quando se

ajusta para um dadosetpoint, perde-se um pouco de qualidade em outra faixa de

acomo-dação possível. Na figura 6.18 observa-se um bom ajuste para ossetpoints15cm e 20cm,

porém para osetpointde 5cm o controle não é satisfatório, devido o nível controlado ficar

oscilando fora da faixa de acomodação. Apesar deste problema para alguns setpoints,

(58)

Figura 6.18: Gráfico do nível (cm) do tanque 2 x tempo (s)

O comportamento da tensão da bomba no decorrer do tempo é apresentado na fi-gura 6.19. A linha azul representa a tensão aplicada na bomba.

Figura 6.19: Gráfico da tensão (V) na bomba x tempo (s)

Em alguns intervalos do gráfico da tensão da bomba é notório a ação da chave de se-gurança, que neste controlador é implementado usando técnicas de programação normal (a tensão da bomba é levada para uma região que mantém o nível do tanque 1, não dei-xando o tanque transbordar nem esvaziar), ou seja, não está implícito na lógica fuzzy. Os intervalos em vermelho são a atuação da chave de segurança.

6.2.4

PID ajustado por um AG

(59)

pro-vocado no sensor do tanque 2. Toda vez em que o tanque 2 é zerado ocorre um acúmulo de erro provocado pelo falta de precisão do sensor, ou seja, quando se calcula a aptidão do primeiro indivíduo do AG o sensor do tanque 2 apresenta 0 cm. Depois de calculado a aptidão do primeiro indivíduo o tanque era esvaziado e após esvaziado o nível do tanque dois não era mais 0 cm e sim 0.5 cm. O zero do tanque 2 variava a cada indivíduo testado, fazendo com que as aptidões dos indivíduos fossem “camufladas”. Este acúmulo de erro é evidente na figura 6.20.

Figura 6.20: Evolução do AG: Aptidão x número de indivíduos

Observe que na segunda geração (indivíduos 11 até 20), já se percebe um acúmulo de erro, se comparada a primeira geração (indivíduos 1 até 10). Na última geração o acúmulo do erro já chega a praticamente 2 (erro médio quadrático), haja visto que nas primeiras gerações a aptidão dos indivíduos fica em torno de 3 (erro médio quadrático) e na última a aptidão já é próximo de 5 (erro médio quadrático).

Após alguns treinamentos o melhor resultado adquirido é mostrado na figura 6.21.

Figura 6.21: Gráfico do nível (cm) do tanque 2 x tempo (s)

Os resultados apresentaram um índice de overshoots considerado alto para alguns setpoints. Este resultado foi o melhor, dentre os testes realizados com o PID convencional,

(60)

A dinâmica da tensão aplicada na bomba ao longo do tempo (segundos) é mostrado na figura 6.22.

Figura 6.22: Gráfico da tensão (V) na bomba x tempo (s)

(61)
(62)

Conclusões

Os resultados mostrados nas simulações comprovaram que o controlador proposto no trabalho (Controlador Fuzzy acoplado a um PID Neural sintonizado por um AG) apre-sentou um desempenho melhor do que um PID convencional e o PIDN, ambos ajustados por um AG, se comparados tempo de acomodação e overshoot máximos apresentados.

Porém se compará-lo com o Fuzzy PI o controlador proposto obteve um resultado um pouco inferior para algunssetpoints, também levando em conta o tempo de acomodação

eovershootmáximos apresentados. No entanto, o Fuzzy PI apresentou uma grande

des-vantagem em relação ao controlador proposto se levarmos em conta o gráfico da tensão de entrada na bomba, já que no Fuzzy PI a tensão não se estabiliza para nenhumsetpoint

dado, apresentando um número grande de oscilações que podem diminuir a vida útil da bomba. Esse número excessivo de oscilações pode ser melhorado fazendo um ajuste fino nas funções de pertinência da lógica fuzzy, tornando o sistema mais amortecido. Compa-rando o controlador Fuzzy em cascata com o Fuzzy MISO (3 entradas) pode-se notar que seus resultados são muito parecidos e que a grande diferença se encontra na dificuldade de se ajustar a FAM 3D, no caso do Fuzzy MISO (3 entradas). Em outras palavras, os resul-tados alcançados pelo fuzzy em cascata também podem ser alcançados pelo Fuzzy MISO (3 entradas), apenas será exigido um pouco mais de tempo no ajuste do Fuzzy MISO (3 entradas). Ainda nos resultados do modo simulado deve-se destacar o sucesso da chave de segurança (chave que evita o transbordamento no tanque 1) implementada nas regras Fuzzy dos controladores Fuzzy em cascata e Fuzzy MISO (3 entradas).

Imagem

Tabela 2.1: Vantagens x Desvantagens
Figura 2.1: Etapas da Lógica Fuzzy
Tabela 2.3: Principais t-normas e t-conormas duais
Figura 2.4: Agregação
+7

Referências

Documentos relacionados

Enfim, está claro que a discussão entre Ghiselin e De Queiroz diz res- peito ao critério de identidade para táxons. Para Ghiselin, um indivíduo é algo que não apresenta

Ao rever todas as análises e discussões que realizamos neste trabalho, embasadas nos preceitos funcionalistas aplicados à tradução e nos paradigmas bakhtinianos,

Foram ainda denunciados nessa fase: Alberto Youssef, doleiro; Paulo Roberto Costa, ex-diretor de Abastecimento da Petrobras; Waldomiro de Oliveira, dono da MO

Contudo, não é possível imaginar que essas formas de pensar e agir, tanto a orientada à Sustentabilidade quanto a tradicional cartesiana, se fomentariam nos indivíduos

O próximo passo é definir as interfaces existentes entre os componentes do sistema (onde acontece troca de calor) e os pontos onde devido às simplificações não há troca

É primeiramente no plano clínico que a noção de inconscien- te começa a se impor, antes que as dificuldades conceituais envolvi- das na sua formulação comecem a ser

Pode acontecer que outros já fizeram a mesma operação, com a mesma maneira de fazer, ou já viram em outro lugar, mas verão que estou fazendo e fotografando da minha maneira, e

O objetivo deste trabalho foi realizar o inventário florestal em floresta em restauração no município de São Sebastião da Vargem Alegre, para posterior